Jump to content

User:Frost

From UFOpaedia

my base layout

I prefer to extenderify the starting base into this format:
Chicago:
hangar1 hangar2 hangar1 hangar2 hangar1 hangar2
hangar3 hangar4 hangar3 hangar4 hangar3 hangar4
dirt dirt lift dirt dirt dirt
dirt small_radar quarters dirt dirt dirt


Cairo (or Hong Kong):
dirt dirt dirt dirt dirt dirt
dirt dirt dirt dirt dirt dirt
dirt dirt dirt dirt dirt dirt
dirt dirt dirt dirt dirt dirt


My first moves are radar and starting an intercept
base, then prepping to fill a lab on feb1:
hangar1 hangar2 hangar1 hangar2 hangar1 hangar2
hangar3 hangar4 hangar3 hangar4 hangar3 hangar4
dirt dirt lift dirt dirt dirt
large_radar small_radar quarters dirt dirt dirt


dirt dirt hangar1 hangar2 dirt dirt
dirt dirt hangar3 hangar4 dirt dirt
dirt dirt lift dirt dirt dirt
dirt dirt quarters dirt dirt dirt


hangar1 hangar2 hangar1 hangar2 hangar1 hangar2
hangar3 hangar4 hangar3 hangar4 hangar3 hangar4
dirt dirt lift dirt dirt dirt
large_radar small_radar quarters dirt dirt dirt


dirt dirt hangar1 hangar2 dirt dirt
dirt dirt hangar3 hangar4 dirt dirt
dirt dirt lift dirt dirt dirt
dirt small_radar quarters dirt dirt dirt


And end up with this for low tech era:
Chicago:
hangar1 hangar2 hangar1 hangar2 hangar1 hangar2
hangar3 hangar4 hangar3 hangar4 hangar3 hangar4
dirt dirt lift dirt hangar1 hangar2
large_radar small_radar quarters dirt hangar3 hangar4


Intercept Bases:
hangar1 hangar2 hangar1 hangar2 hangar1 hangar2
hangar3 hangar4 hangar3 hangar4 hangar3 hangar4
dirt dirt lift dirt hangar1 hangar2
large_radar small_radar quarters dirt hangar3 hangar4


converting UFO_Base_Kit layouts to extender.ini format


gawk '
	BEGIN {
		FS="|";
		row=0;
		longest = length("PsionicLaboratory");
	}
	function Convert(kitname) {
		switch (kitname) {
			case "lift":        return "AccessLift";
			case "lab":         return "Laboratory";
			case "workshop":    return "Workshop";
			case "psi":         return "PsionicLaboratory";
			case "containment": return "AlienContainment";
			case "stores":      return "GeneralStores";
			case "quarters":    return "LivingQuarters";
			case "hangar1":     return "HangarTL";
			case "hangar2":     return "HangarTR";
			case "hangar3":     return "HangarBL";
			case "hangar4":     return "HangarBR";
			case "small_radar": return "SmallRadar";
			case "large_radar": return "LargeRadar";
			case "hyperwave":   return "HyperWaveDecoder";
			case "grav":        return "GravShield";
			case "mind":        return "MindShield";
			case "missile":     return "MissileDefense";
			case "laser":       return "LaserDefense";
			case "plasma":      return "PlasmaDefense";
			case "fusion":      return "FusionBallDefense";
		}
		return "Empty";
	}
	function Pad(ininame) {
		while (length(ininame) <= longest) ininame = ininame " ";
		return ininame;
	}
	/^\|/ {
		printf("row" ++row "=");
		for (i = 2; i <= NF; ++i) {
			if (substr($i,0,1) != "=") printf(Pad(Convert($i)));
		}
		printf("\n");
	}
'