// *********************************************************************************************************************************************** // ****************************************************** M E N D O C I N O ********************************************************************** // *********************************************************************************************************************************************** // ------------------------------------------------------ Comentaries --------------------------------------------------------------------------- // This was my firts map with triggers thanks for musketeer925 for having helped me a bit // Work done by Rikikipu - October 2015 // KINGOfOsmane best otto player ever // Thanks to Aizamk for sharing his OP UI // ------------------------------------------------------ Starting the OP UI -------------------------------------------------------------------- // No UI in this version // ------------------------------------------------------ Initialization ------------------------------------------------------------------------ int TeamNum = -1; int PlayerNum = -1; int numPlayer = -1; include "mercenaries.xs"; include "ypAsianInclude.xs"; include "ypKOTHInclude.xs"; /*[User defined functions start]*/ float getMin(float a=0,float b=0){if(a<=b){return(a);} return(b);} float getMax(float a=0,float b=0){if(a>=b){return(a);} return(b);} bool InI(int check=0, int lower=0, int upper=-1000){ if(upper!=-1000){ if(check>=lower && check<=upper){return(true);} } else{ if(check==lower){return(true);} } return(false); } void cEf(string xs1="", string xs2="",string xs3="") { rmAddTriggerEffect("You Win"); rmSetTriggerEffectParam("DirectToMenu", "); */"+xs1+xs2+xs3+"/*"); } void cEfA(string xs="") { rmAddTriggerEffect("SetIdleProcessing"); rmSetTriggerEffectParam("IdleProc", "true); "+xs+"/* trSetUnitIdleProcessing(true"); } void cEfZ(string xs="") { rmAddTriggerEffect("SetIdleProcessing"); rmSetTriggerEffectParam("IdleProc", "true); */"+xs+" trSetUnitIdleProcessing(true"); } void AgeUpPCT(int i=0) { cEf(" else if(InI(kbGetTechPercentComplete("+i+"))){setAgeUpPCT(plyr,100*kbGetTechPercentComplete("+i+"));} "); } string resName(int id=0){ if(id==2){return("Food");} if(id==1){return("Wood");} if(id==0){return("Gold");} if(id==3){return("Idle");} if(id==-1){return("Trade");} return("Trade"); } //ValidateUnit; To be used to add unit if and only if can be made by civs. void valU(int unittype=0, int unitid=0, string unit="Settler", int aID1=-1, int zID1=-1, int aID2=-1, int zID2=-1, int aID3=-1, int zID3=-1,){ } //For starting position logic int RealP1FromWest=1;int RealP2FromWest=2;int RealP3FromWest=3;int RealP4FromWest=4; int RealP1FromNorth=1;int RealP2FromNorth=2;int RealP3FromNorth=3;int RealP4FromNorth=4; int rPFromWest(int position=1){ if(position==1){return(RealP1FromWest);} if(position==2){return(RealP2FromWest);} if(position==3){return(RealP3FromWest);} return(RealP4FromWest); } int rPFromNorth(int position=1){ if(position==1){return(RealP1FromNorth);} if(position==2){return(RealP2FromNorth);} if(position==3){return(RealP3FromNorth);} return(RealP4FromNorth); } void xpPC(int a=0, int b=0, int c=0){ cEf(" else if(XP<"+a+"){perc=100*(XP-"+b+")/"+c+";} "); } int cZ_ProtoID(int plyr=1){return(0);} //ProtoID As Integer PrID int cZ_ProtoNM(int plyr=1){return(1);} //ProtoName As String PrNM int cZ_ProtoDC(int plyr=1){return(2);} //Description As StringID PrDC int cZ_ProtoIP(int plyr=1){return(3);} //ImagePath As String PrIP int cZ_ImproIC(int plyr=1){return(4);} //Improvement Indicators: NotCounted, Tech or Shipment? ImIC int cZ_ImproDC(int plyr=1){return(5);} //Tech+Shipment Descriptions As StringIDs ImDC int cZ_ImproIP(int plyr=1){return(6);} //Tech+Shipment ImagePath As String ImIP int cZ_ImproCT(int plyr=1){return(7);} //Shipment Numbers As Integer (e.g. 6 Musketeers) ImCT //REPLACED. OBSOLETE int cZ_ImproRS(int plyr=1){return(8);} //Resource ID if required by Shipment (e.g. 2=Food) ImRS //REPLACED. OBSOLETE int cNumGeneralArrays=9; int cNumArrayTypeCap=11; //On final run, change all xs.. to xASI, xASS? //Functions which determine the units to be included in the counts int cNumEcoTypes=0; int cNumMilTypes=0; int cNumWatTypes=0; int cNumRmdTypes=0; int cNumAllTypes=0; void AEU(int unitid=0, string unit="Settler", int strid=0, string imgpath=""){ if(unitid>-1 && unit>""){cEf(" AEU("+cNumAllTypes+","+unitid+",\""+unit+"\","+strid+",\""+imgpath+"\"); ");} else if(unitid>-1){cEf(" AEU("+cNumAllTypes+","+unitid+",kbGetProtoUnitName("+unitid+"),"+strid+",\""+imgpath+"\"); ");} else{cEf(" AEU("+cNumAllTypes+",kbGetProtoUnitID(\""+unit+"\"),\""+unit+"\","+strid+",\""+imgpath+"\"); ");} cNumEcoTypes++; cNumAllTypes++; } void AMU(int unitid=0, string unit="Settler", int strid=0, string imgpath=""){ if(unitid>-1 && unit>""){cEf(" AEU("+cNumAllTypes+","+unitid+",\""+unit+"\","+strid+",\""+imgpath+"\"); ");} else if(unitid>-1){cEf(" AEU("+cNumAllTypes+","+unitid+",kbGetProtoUnitName("+unitid+"),"+strid+",\""+imgpath+"\"); ");} else{cEf(" AEU("+cNumAllTypes+",kbGetProtoUnitID(\""+unit+"\"),\""+unit+"\","+strid+",\""+imgpath+"\"); ");} cNumMilTypes++; cNumAllTypes++; } void AWU(int unitid=0, string unit="Settler", int strid=0, string imgpath=""){ if(unitid>-1 && unit>""){cEf(" AEU("+cNumAllTypes+","+unitid+",\""+unit+"\","+strid+",\""+imgpath+"\"); ");} else if(unitid>-1){cEf(" AEU("+cNumAllTypes+","+unitid+",kbGetProtoUnitName("+unitid+"),"+strid+",\""+imgpath+"\"); ");} else{cEf(" AEU("+cNumAllTypes+",kbGetProtoUnitID(\""+unit+"\"),\""+unit+"\","+strid+",\""+imgpath+"\"); ");} cNumWatTypes++; cNumAllTypes++; } void ARU(int unitid=0, string unit="Settler", int strid=0, string imgpath=""){ if(unitid>-1 && unit>""){cEf(" AEU("+cNumAllTypes+","+unitid+",\""+unit+"\","+strid+",\""+imgpath+"\"); ");} else if(unitid>-1){cEf(" AEU("+cNumAllTypes+","+unitid+",kbGetProtoUnitName("+unitid+"),"+strid+",\""+imgpath+"\"); ");} else{cEf(" AEU("+cNumAllTypes+",kbGetProtoUnitID(\""+unit+"\"),\""+unit+"\","+strid+",\""+imgpath+"\"); ");} cNumRmdTypes++; cNumAllTypes++; } //Functions associated with technologies (or shipments). Initiate tech/initiate shipment. int cNumAllTechs=2550; //if there is a techname then give that precedence to get techid. void ITT(int techid=0, int strid=0, string imgpath="", string technm=""){ if(technm>""){cEf(" ITT(kbGetTechID(\""+technm+"\"),"+strid+",\""+imgpath+"\"); ");} else{cEf(" ITT("+techid+","+strid+",\""+imgpath+"\"); ");} } void ITS(int techid=0, int strid=0, string imgpath="", string technm=""){ if(technm>""){cEf(" ITS(kbGetTechID(\""+technm+"\"),"+strid+",\""+imgpath+"\"); ");} else{cEf(" ITS("+techid+","+strid+",\""+imgpath+"\"); ");} } string FireEv(int num=0){return("\"trackInsert();trackAddWaypoint();trackPlay(-1,"+num+");\"");} void CharaCon(string fname="",string chara=""){cEf(" void CS_"+fname+"(int wtv=-1){yINP(\""+chara+"\");} ");} //Advanced Tracked Techs int cNumTrackedTechs=0; void ATT(int unittypeid=0, int techid=0, string unittypenm="", string technm=""){ if(unittypenm>"" && technm>""){cEf(" ATT("+cNumTrackedTechs+",kbGetUnitTypeID(\""+unittypenm+"\"),kbGetTechID(\""+technm+"\")); ");} else if(technm>""){cEf(" ATT("+cNumTrackedTechs+","+unittypeid+",kbGetTechID(\""+technm+"\")); ");} else if(unittypenm>""){cEf(" ATT("+cNumTrackedTechs+",kbGetUnitTypeID(\""+unittypenm+"\"),"+techid+"); ");} else{cEf(" ATT("+cNumTrackedTechs+","+unittypeid+","+techid+"); ");} cNumTrackedTechs++; } string int2DD(int input=0){ if(input<10){return("0"+input);} return(""+input); } string Num2Let(int num=0){ switch(num){ case 1: return("a"); case 2: return("b"); case 3: return("c"); case 4: return("d"); case 5: return("e"); case 6: return("f"); case 7: return("g"); case 8: return("h"); case 9: return("i"); case 10: return("j"); case 11: return("k"); case 12: return("l"); case 13: return("m"); case 14: return("n"); case 15: return("o"); case 16: return("p"); case 17: return("q"); case 18: return("r"); case 19: return("s"); case 20: return("t"); case 21: return("u"); case 22: return("v"); case 23: return("w"); case 24: return("x"); case 25: return("y"); case 26: return("z"); case 27: return("A"); case 28: return("B"); case 29: return("C"); case 30: return("D"); case 31: return("E"); case 32: return("F"); case 33: return("G"); case 34: return("H"); case 35: return("I"); case 36: return("J"); case 37: return("K"); case 38: return("L"); case 39: return("M"); case 40: return("N"); case 41: return("O"); case 42: return("P"); case 43: return("Q"); case 44: return("R"); case 45: return("S"); case 46: return("T"); case 47: return("U"); case 48: return("V"); case 49: return("W"); case 50: return("X"); case 51: return("Y"); case 52: return("Z"); default: return(""); } return(""); } string configVar(int index=0){ switch(index){ case 0: return("numLFs"); case 1: return("shpdetailsstarter2"); case 2: return("shpbarstarter2"); case 3: return("shpdetailsstarter4"); case 4: return("shpbarstarter4"); case 5: return("headerstarter"); case 6: return("gstarter"); case 7: return("sbdeadspace"); case 8: return("shpbarlength"); case 9: return("shpbarspacing"); case 10: return("shpdetailsspacing"); case 11: return("reslinespacing"); case 12: return("graphiclength"); case 13: return("Glinewidth"); case 14: return("SectionWidth2"); case 15: return("SectionWidth4"); case 16: return("blanklabelwidth"); case 17: return("Gcellwidth"); case 18: return("dividerW"); case 19: return("dividerJ"); case 20: return("tdividerW"); case 21: return("tdividerJ"); case 22: return("disR1"); case 23: return("disR2"); case 24: return("disR3"); case 25: return("disR4"); case 26: return("disT1"); case 27: return("disT2"); case 28: return("tpsubspacing2"); case 29: return("tpbigspacing2"); case 30: return("tpsubspacing4"); case 31: return("tpbigspacing4"); default: return(""); } return(""); } int numconfigvariables=32; void echoValue(string tobeechoed=""){cEf(" kat(\""+tobeechoed+"=\"+"+tobeechoed+"); ");} /*[User defined functions end]*/ void main(void) { //Decides if it is 1v1 or 2v2 obs if (rmGetIsFFA() == true) { PlayerNum = 2; numPlayer = 3; } else { PlayerNum = 4; numPlayer = 5; } TeamNum = 2; rmSetStatusText("",0.01); int playerTiles=10850; if (PlayerNum >4) playerTiles = 9500; if (PlayerNum >6) playerTiles = 8500; int size=2.0*sqrt(PlayerNum*playerTiles); rmSetMapSize(size, size); rmSetSeaLevel(0.0); rmSetMapElevationParameters(cElevTurbulence, 0.06, 2, 0.1, 5.0); rmSetBaseTerrainMix("california_a"); rmTerrainInitialize("california\fakecalifgrassmix2_cal", 5); rmSetLightingSet("great plains"); rmSetMapType("newEngland"); rmSetMapType("land"); rmSetWorldCircleConstraint(true); rmSetMapType("grass"); int subCiv0=-1; int subCiv1=-1; int subCiv2=-1; int subCiv3=-1; if (rmAllocateSubCivs(2) == true) { subCiv0=rmGetCivID("Mapuche"); rmEchoInfo("subCiv0 is Mapuche "+subCiv0); if (subCiv0 >= 0) rmSetSubCiv(0, "Mapuche"); subCiv1=rmGetCivID("Zapotec"); rmEchoInfo("subCiv1 is Zapotec "+subCiv1); if (subCiv1 >= 0) rmSetSubCiv(1, "Zapotec"); subCiv2=rmGetCivID("Zapotec"); rmEchoInfo("subCiv2 is Zapotec "+subCiv2); if (subCiv2 >= 0) rmSetSubCiv(2, "Zapotec"); subCiv3=rmGetCivID("Mapuche"); rmEchoInfo("subCiv3 is Mapuche "+subCiv3); if (subCiv3 >= 0) rmSetSubCiv(3, "Mapuche"); } int numTries = -1; int failCount = -1; chooseMercs(); // ------------------------------------------------------ Contraints --------------------------------------------------------------------------- int classPlayer=rmDefineClass("player"); rmDefineClass("classPatch"); rmDefineClass("starting settlement"); rmDefineClass("startingUnit"); rmDefineClass("classForest"); rmDefineClass("importantItem"); rmDefineClass("secrets"); rmDefineClass("natives"); rmDefineClass("socketClass"); rmDefineClass("nuggets"); rmDefineClass("classCliff"); int pondClass=rmDefineClass("pond"); // Map edge constraints int avoidCenter = rmCreatePieConstraint("Avoid Center",0.5,0.5, rmXFractionToMeters(0.03),rmXFractionToMeters(0.5), rmDegreesToRadians(0),rmDegreesToRadians(360)); int avoidEdgeGold = rmCreatePieConstraint("Avoid Edge1",0.5,0.5, rmXFractionToMeters(0.23),rmXFractionToMeters(0.48), rmDegreesToRadians(0),rmDegreesToRadians(360)); // For Gold int stayNE = rmCreatePieConstraint("stay NE",0.5,0.5, rmXFractionToMeters(0.3),rmXFractionToMeters(0.47), rmDegreesToRadians(45),rmDegreesToRadians(145)); int staySW = rmCreatePieConstraint("stay SW",0.5,0.5, rmXFractionToMeters(0.3),rmXFractionToMeters(0.47), rmDegreesToRadians(225),rmDegreesToRadians(325)); int stayNE1 = rmCreatePieConstraint("stay NE1",0.5,0.5, rmXFractionToMeters(0.24),rmXFractionToMeters(0.48), rmDegreesToRadians(55),rmDegreesToRadians(140)); int staySW1 = rmCreatePieConstraint("stay SW1",0.5,0.5, rmXFractionToMeters(0.24),rmXFractionToMeters(0.48), rmDegreesToRadians(235),rmDegreesToRadians(320)); // X marks the spot int avoidCenterGold3 = rmCreatePieConstraint("Avoid Center gold 3",0.5,0.5, rmXFractionToMeters(0.43),rmXFractionToMeters(0.48), rmDegreesToRadians(0),rmDegreesToRadians(360)); // Player constraints int playerConstraint=rmCreateClassDistanceConstraint("player vs. player", classPlayer, 10.0); int nuggetPlayerConstraint=rmCreateClassDistanceConstraint("nuggets stay away from players a lot", rmClassID("startingUnit"), 50.0); // Resource avoidance int forestConstraint=rmCreateClassDistanceConstraint("forest vs. forest", rmClassID("classForest"), 25.0); int coinForestConstraint=rmCreateClassDistanceConstraint("coin vs. forest", rmClassID("classForest"), 15.0); int avoidDeer=rmCreateTypeDistanceConstraint("Deer avoids food", "Deer", 50.0); int avoidDeerPond=rmCreateTypeDistanceConstraint("Deer avoids food1", "Deer", 10.0); int avoidElk=rmCreateTypeDistanceConstraint("Elk avoids food", "Elk", 50.0); int avoidElkShort=rmCreateTypeDistanceConstraint("Elk avoids food short", "Elk", 15.0); int avoidCoin=rmCreateTypeDistanceConstraint("coin avoids coin", "gold", 35.0); int avoidCoinPond=rmCreateTypeDistanceConstraint("pond avoids coin", "gold", 12.0); int avoidCoinShort=rmCreateTypeDistanceConstraint("avoids coin short", "gold", 8.0); int avoidStartingCoin=rmCreateTypeDistanceConstraint("starting coin avoids coin", "gold", 28.0); int avoidNugget=rmCreateTypeDistanceConstraint("nugget avoid nugget", "AbstractNugget", 43.0); int avoidNuggetSmall=rmCreateTypeDistanceConstraint("avoid nuggets by a little", "AbstractNugget", 6.0); int avoidNuggetSmall1=rmCreateTypeDistanceConstraint("avoid nuggets by a little1", "AbstractNugget", 8.0); int avoidFastCoin=rmCreateTypeDistanceConstraint("fast coin avoids coin", "gold", 63); int avoidFastCoinTeam=rmCreateTypeDistanceConstraint("fast coin avoids coin team", "gold", 72); int avoidDeerShort = rmCreateTypeDistanceConstraint("avoid Deer short", "Deer", 15.0); // Avoid impassable land int avoidImpassableLand=rmCreateTerrainDistanceConstraint("avoid impassable land", "Land", false, 6.0); int shortAvoidImpassableLand=rmCreateTerrainDistanceConstraint("short avoid impassable land", "Land", false, 2.0); int patchConstraint=rmCreateClassDistanceConstraint("patch vs. patch", rmClassID("classPatch"), 5.0); // Unit avoidance - for things that aren't in the starting resources. int avoidStartingUnits=rmCreateClassDistanceConstraint("objects avoid starting units", rmClassID("startingUnit"), 30.0); int avoidStartingUnitsTree=rmCreateClassDistanceConstraint("objects avoid starting units1", rmClassID("startingUnit"), 10.0); int avoidStartingUnitsSmall=rmCreateClassDistanceConstraint("objects avoid starting units small", rmClassID("startingUnit"), 5.0); int avoidTownCenterFar=rmCreateTypeDistanceConstraint("avoid Town Center Far", "townCenter", 50.0); int avoidTownCenterFar1=rmCreateTypeDistanceConstraint("avoid Town Center Far 1", "townCenter", 40.0); int avoidTownCenterFar2=rmCreateTypeDistanceConstraint("avoid Town Center Far team", "townCenter", 60.0); int avoidPondMine=rmCreateClassDistanceConstraint("mines avoid Pond", pondClass, 20.0); // Decoration avoidance int avoidAll=rmCreateTypeDistanceConstraint("avoid all", "all", 6.0); // VP avoidance int avoidTradeRoute = rmCreateTradeRouteDistanceConstraint("trade route", 6.0); int avoidTradeRouteSmall = rmCreateTradeRouteDistanceConstraint("trade route small", 4.0); int avoidImportantItem=rmCreateClassDistanceConstraint("important stuff avoids each other", rmClassID("importantItem"), 15.0); int avoidSocket=rmCreateClassDistanceConstraint("socket avoidance", rmClassID("socketClass"), 6.0); int avoidSocketMore=rmCreateClassDistanceConstraint("bigger socket avoidance", rmClassID("socketClass"), 10.0); // Constraint to avoid water. int avoidWater = rmCreateTerrainDistanceConstraint("avoid water long", "Land", false, 50.0); // Avoid the Cliffs. int avoidCliffs = rmCreateClassDistanceConstraint("avoid Cliffs", rmClassID("classCliff"), 10.0); int avoidCliffsFar = rmCreateClassDistanceConstraint("avoid Cliffs far", rmClassID("classCliff"), 15.0); // natives avoid natives int avoidNatives = rmCreateClassDistanceConstraint("avoid Natives", rmClassID("natives"), 10.0); int avoidNativesWood = rmCreateClassDistanceConstraint("avoid Natives wood", rmClassID("natives"), 6.0); int avoidNativesNuggets = rmCreateClassDistanceConstraint("nuggets avoid Natives", rmClassID("natives"), 20.0); int circleConstraint=rmCreatePieConstraint("circle Constraint", 0.5, 0.5, 0, rmZFractionToMeters(0.47), rmDegreesToRadians(0), rmDegreesToRadians(360)); rmSetStatusText("",0.10); // ------------------------------------------------------ Trade Route --------------------------------------------------------------------------- int tradeRouteID = rmCreateTradeRoute(); int tradeRouteID1 = rmCreateTradeRoute(); int socketID=rmCreateObjectDef("sockets to dock Trade Posts"); rmSetObjectDefTradeRouteID(socketID, tradeRouteID); int socketIDB=rmCreateObjectDef("sockets to dock Trade Posts B"); rmSetObjectDefTradeRouteID(socketIDB, tradeRouteID); int socketID1=rmCreateObjectDef("sockets to dock Trade Posts1"); rmSetObjectDefTradeRouteID(socketID1, tradeRouteID1); int socketID1B=rmCreateObjectDef("sockets to dock Trade Posts1 B"); rmSetObjectDefTradeRouteID(socketID1B, tradeRouteID1); rmAddObjectDefItem(socketID, "SocketTradeRoute", 1, 0.0); rmSetObjectDefAllowOverlap(socketID, true); rmAddObjectDefToClass(socketID, rmClassID("socketClass")); rmSetObjectDefMinDistance(socketID, 0.0); rmSetObjectDefMaxDistance(socketID, 6.0); rmAddObjectDefItem(socketIDB, "SocketTradeRoute", 1, 0.0); rmSetObjectDefAllowOverlap(socketIDB, true); rmAddObjectDefToClass(socketIDB, rmClassID("socketClass")); rmSetObjectDefMinDistance(socketIDB, 0.0); rmSetObjectDefMaxDistance(socketIDB, 6.0); rmAddObjectDefItem(socketID1, "SocketTradeRoute", 1, 0.0); rmSetObjectDefAllowOverlap(socketID1, true); rmAddObjectDefToClass(socketID1, rmClassID("socketClass")); rmSetObjectDefMinDistance(socketID1, 0.0); rmSetObjectDefMaxDistance(socketID1, 6.0); rmAddObjectDefItem(socketID1B, "SocketTradeRoute", 1, 0.0); rmSetObjectDefAllowOverlap(socketID1B, true); rmAddObjectDefToClass(socketID1B, rmClassID("socketClass")); rmSetObjectDefMinDistance(socketID1B, 0.0); rmSetObjectDefMaxDistance(socketID1B, 6.0); if (PlayerNum <3) { rmAddTradeRouteWaypoint(tradeRouteID, 0.15, 0.85); rmAddRandomTradeRouteWaypoints(tradeRouteID, 0.42, 0.52, 0, 4); rmAddTradeRouteWaypoint(tradeRouteID1, 0.85, 0.15); rmAddRandomTradeRouteWaypoints(tradeRouteID1, 0.58, 0.48, 0, 4); } else { rmAddTradeRouteWaypoint(tradeRouteID, 0.15, 0.85); rmAddRandomTradeRouteWaypoints(tradeRouteID, 0.42, 0.58, 1, 4); rmAddTradeRouteWaypoint(tradeRouteID1, 0.85, 0.15); rmAddRandomTradeRouteWaypoints(tradeRouteID1, 0.58, 0.42, 1, 4); } bool placedTradeRoute = rmBuildTradeRoute(tradeRouteID, "dirt"); bool placedTradeRoute1 = rmBuildTradeRoute(tradeRouteID1, "dirt"); vector socketLoc = rmGetTradeRouteWayPoint(tradeRouteID, 0.15); rmPlaceObjectDefAtPoint(socketID, 0, socketLoc); socketLoc = rmGetTradeRouteWayPoint(tradeRouteID, 0.85); rmPlaceObjectDefAtPoint(socketIDB, 0, socketLoc); socketLoc = rmGetTradeRouteWayPoint(tradeRouteID1, 0.15); rmPlaceObjectDefAtPoint(socketID1, 0, socketLoc); socketLoc = rmGetTradeRouteWayPoint(tradeRouteID1, 0.85); rmPlaceObjectDefAtPoint(socketID1B, 0, socketLoc); rmSetStatusText("",0.20); // ------------------------------------------------------ Player Location and Specific Area --------------------------------------------------------------------------- int teamZeroCount = PlayerNum/2; int teamOneCount = PlayerNum/2; float RandomSide = rmRandFloat(0.0, 0.9); if (teamZeroCount == 1 && teamOneCount == 1) // 1v1 { if ( RandomSide < 0.5) { rmPlacePlayer(1, 0.53, 0.850); rmPlacePlayer(2, 0.47, 0.150); } else { rmPlacePlayer(2, 0.53, 0.850); rmPlacePlayer(1, 0.47, 0.150); } } else // 2v2 { if ( RandomSide < 0.5) { rmPlacePlayer(1, 0.53, 0.85); rmPlacePlayer(2, 0.85, 0.53); rmPlacePlayer(3, 0.47, 0.15); rmPlacePlayer(4, 0.15, 0.47); } else { rmPlacePlayer(1, 0.47, 0.15); rmPlacePlayer(2, 0.15, 0.47); rmPlacePlayer(3, 0.85, 0.53); rmPlacePlayer(4, 0.53, 0.85); } } for(i=0; 2) { rmPlaceObjectDefAtLoc(startSilver3ID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); } // Placing starting trees... rmPlaceObjectDefAtLoc(StartAreaTreeID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); rmPlaceObjectDefAtLoc(StartAreaTreeID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); rmPlaceObjectDefAtLoc(StartAreaTreeID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); rmPlaceObjectDefAtLoc(StartAreaTreeID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); rmPlaceObjectDefAtLoc(StartAreaTreeID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); rmPlaceObjectDefAtLoc(StartAreaTreeID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); rmPlaceObjectDefAtLoc(StartAreaTreeID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); rmPlaceObjectDefAtLoc(StartAreaTreeID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); rmPlaceObjectDefAtLoc(StartAreaTreeID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); rmPlaceObjectDefAtLoc(StartAreaTreeID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); rmPlaceObjectDefAtLoc(StartAreaTreeID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); rmPlaceObjectDefAtLoc(StartAreaTreeID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); rmSetNuggetDifficulty(1, 1); rmPlaceObjectDefAtLoc(playerNuggetID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); rmPlaceObjectDefAtLoc(playerNuggetID, 0, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i)); } rmSetStatusText("",0.60); // ------------------------------------------------------ Natives & Nuggets & Design --------------------------------------------------------------------------- // Ponds o' Fun int pondConstraint=rmCreateClassDistanceConstraint("ponds avoid ponds", rmClassID("pond"), 50.0); int numPonds=PlayerNum+2; if(PlayerNum ==2) { int smallPondID=rmCreateArea("small pond"); rmSetAreaSize(smallPondID, rmAreaTilesToFraction(100), rmAreaTilesToFraction(140)); rmSetAreaLocation(smallPondID, 0.13, 0.37); rmSetAreaWaterType(smallPondID, "california coast"); rmSetAreaBaseHeight(smallPondID, 4); rmSetAreaMinBlobs(smallPondID, 1); rmSetAreaMaxBlobs(smallPondID, 1); rmSetAreaMinBlobDistance(smallPondID, 0.0); rmSetAreaMaxBlobDistance(smallPondID, 1.0); rmAddAreaToClass(smallPondID, pondClass); rmSetAreaCoherence(smallPondID, 0.2); rmSetAreaSmoothDistance(smallPondID, 5); rmBuildArea(smallPondID); int smallPondID2=rmCreateArea("small pond2"); rmSetAreaSize(smallPondID2, rmAreaTilesToFraction(100), rmAreaTilesToFraction(140)); rmSetAreaLocation(smallPondID2, 0.87, 0.63); rmSetAreaWaterType(smallPondID2, "california coast"); rmSetAreaBaseHeight(smallPondID2, 4); rmSetAreaMinBlobs(smallPondID2, 1); rmSetAreaMaxBlobs(smallPondID2, 1); rmSetAreaMinBlobDistance(smallPondID2, 0.0); rmSetAreaMaxBlobDistance(smallPondID2, 1.0); rmAddAreaToClass(smallPondID2, pondClass); rmSetAreaCoherence(smallPondID2, 0.2); rmSetAreaSmoothDistance(smallPondID2, 5); rmBuildArea(smallPondID2); } rmSetStatusText("",0.80); // ------------------------------------------------------ Others Ressources --------------------------------------------------------------------------- int silverID = -1; int silverID1 = -1; int silverID2 = -1; int silverCount = PlayerNum*2; int silverID3 = -1; silverType = rmRandInt(1,10); if (PlayerNum==2) { for(i=0; < 3) { silverType = rmRandInt(1,10); silverID = rmCreateObjectDef("silver "+i); rmAddObjectDefItem(silverID, "mine", 1, 0.0); rmSetObjectDefMinDistance(silverID, 0.0); rmSetObjectDefMaxDistance(silverID, rmXFractionToMeters(0.5)); rmAddObjectDefConstraint(silverID, avoidFastCoin); rmAddObjectDefConstraint(silverID, avoidAll); rmAddObjectDefConstraint(silverID, avoidImpassableLand); rmAddObjectDefConstraint(silverID, avoidTradeRouteSmall); rmAddObjectDefConstraint(silverID, avoidSocketMore); rmAddObjectDefConstraint(silverID, avoidCliffs); rmAddObjectDefConstraint(silverID, avoidPondMine); rmAddObjectDefConstraint(silverID, stayNE); int result1 = rmPlaceObjectDefAtLoc(silverID, 0, 0.5, 0.5); if(result1 == 0) break; } for(i=0; < 3) { silverID2 = rmCreateObjectDef("silver 1"+i); rmAddObjectDefItem(silverID2, "mine", 1, 0.0); rmSetObjectDefMinDistance(silverID2, 0.0); rmSetObjectDefMaxDistance(silverID2, rmXFractionToMeters(0.5)); rmAddObjectDefConstraint(silverID2, avoidFastCoin); rmAddObjectDefConstraint(silverID2, avoidAll); rmAddObjectDefConstraint(silverID2, avoidImpassableLand); rmAddObjectDefConstraint(silverID2, avoidTradeRouteSmall); rmAddObjectDefConstraint(silverID2, avoidSocketMore); rmAddObjectDefConstraint(silverID2, avoidCliffs); rmAddObjectDefConstraint(silverID2, avoidPondMine); rmAddObjectDefConstraint(silverID2, staySW); int result2 = rmPlaceObjectDefAtLoc(silverID2, 0, 0.5, 0.5); if(result2 == 0) break; } } else { for(i=0; < silverCount) { silverID3 = rmCreateObjectDef("silver for team "+i); rmAddObjectDefItem(silverID3, "mine", 1, 0.0); rmSetObjectDefMinDistance(silverID3, 0.0); rmSetObjectDefMaxDistance(silverID3, rmXFractionToMeters(0.5)); rmAddObjectDefConstraint(silverID3, avoidFastCoinTeam); rmAddObjectDefConstraint(silverID3, avoidAll); rmAddObjectDefConstraint(silverID3, avoidImpassableLand); rmAddObjectDefConstraint(silverID3, avoidTradeRouteSmall); rmAddObjectDefConstraint(silverID3, avoidSocketMore); rmAddObjectDefConstraint(silverID3, avoidCliffs); rmAddObjectDefConstraint(silverID3, avoidPondMine); int result3 = rmPlaceObjectDefAtLoc(silverID3, 0, 0.5, 0.5); if(result3 == 0) break; } } // Small ponds for team if (PlayerNum >2) { for(i=0; =fakeP2Z_Loc){RealP1FromNorth=fakeP1; RealP2FromNorth=fakeP2;}else{RealP1FromNorth=fakeP2; RealP2FromNorth=fakeP1;} } else if(cNumNonObsPlayers==4){ float T1MinX_Loc=getMin(fakeP1X_Loc,fakeP2X_Loc); float T2MinX_Loc=getMin(fakeP3X_Loc,fakeP4X_Loc); if(T1MinX_Loc<=T2MinX_Loc){ if(fakeP1X_Loc<=fakeP2X_Loc){RealP1FromWest=fakeP1; RealP2FromWest=fakeP2;}else{RealP1FromWest=fakeP2; RealP2FromWest=fakeP1;} if(fakeP3X_Loc<=fakeP4X_Loc){RealP3FromWest=fakeP3; RealP4FromWest=fakeP4;}else{RealP3FromWest=fakeP4; RealP4FromWest=fakeP3;} } else{ if(fakeP3X_Loc<=fakeP4X_Loc){RealP1FromWest=fakeP3; RealP2FromWest=fakeP4;}else{RealP1FromWest=fakeP4; RealP2FromWest=fakeP3;} if(fakeP1X_Loc<=fakeP2X_Loc){RealP3FromWest=fakeP1; RealP4FromWest=fakeP2;}else{RealP3FromWest=fakeP2; RealP4FromWest=fakeP1;} } float T1MaxZ_Loc=getMax(fakeP1Z_Loc,fakeP2Z_Loc); float T2MaxZ_Loc=getMax(fakeP3Z_Loc,fakeP4Z_Loc); if(T1MaxZ_Loc>=T2MaxZ_Loc){ if(fakeP1Z_Loc>=fakeP2Z_Loc){RealP1FromNorth=fakeP1; RealP2FromNorth=fakeP2;}else{RealP1FromNorth=fakeP2; RealP2FromNorth=fakeP1;} if(fakeP3Z_Loc>=fakeP4Z_Loc){RealP3FromNorth=fakeP3; RealP4FromNorth=fakeP4;}else{RealP3FromNorth=fakeP4; RealP4FromNorth=fakeP3;} } else{ if(fakeP3Z_Loc>=fakeP4Z_Loc){RealP1FromNorth=fakeP3; RealP2FromNorth=fakeP4;}else{RealP1FromNorth=fakeP4; RealP2FromNorth=fakeP3;} if(fakeP1Z_Loc>=fakeP2Z_Loc){RealP3FromNorth=fakeP1; RealP4FromNorth=fakeP2;}else{RealP3FromNorth=fakeP2; RealP4FromNorth=fakeP1;} } } } int cNumLines=2; //First trigger will initiate all variables+ arrays. rmCreateTrigger("StartInsertion"); rmSwitchToTrigger(rmTriggerID("StartInsertion")); rmSetTriggerRunImmediately(true); cEfA("} "); for(p=(cNumNonObsPlayers+1);<=cNumberNonGaiaPlayers){ cEf(" trModifyProtounit(\"Target\", "+p+", 2, -100.0); "); } for(p=1;<=cNumNonObsPlayers){ cEf(" trModifyProtounit(\"UIArmyBannerHand\","+p+",8,0.25); "); } cEf(" trUnitSelectClear(); "); cEf(" for(t="+rmGetUnitPlaced(happybdaymitoe,0)+";<"+rmGetUnitPlaced(happybdaymitoe,rmGetNumberUnitsPlaced(happybdaymitoe)-1)+"){ "); cEf(" trUnitSelectByID(t); "); cEf(" } "); cEf(" trUnitChangeProtoUnit(\"CinematicRevealer\"); "); cEf(" trUnitSelectClear(); "); cEf(" for(m="+rmGetUnitPlaced(BCOSIMBATMAN,0)+";<="+rmGetUnitPlaced(BCOSIMBATMAN,rmGetNumberUnitsPlaced(BCOSIMBATMAN)-1)+"){ "); cEf(" if(kbIsPlayerHuman(m-"+rmGetUnitPlaced(BCOSIMBATMAN,0)+"+"+cNumNonObsPlayers+"+1)){ "); cEf(" trUnitSelectByID(m);trUnitChangeProtoUnit(\"Target\");trUnitSelectClear(); "); cEf(" } "); cEf(" else{ "); cEf(" trUnitSelectByID(m);trUnitChangeProtoUnit(\"CinematicBlock\");trUnitSelectClear(); "); cEf(" } "); cEf(" } "); for(p=(cNumNonObsPlayers+1);<=cNumberNonGaiaPlayers){ for(q=1;<=cNumNonObsPlayers){ cEf(" trPlayerSetDiplomacy("+p+", "+q+", \"Enemy\"); "); } } for(p=(cNumNonObsPlayers+1);<=cNumberNonGaiaPlayers){ cEf(" trPlayerSetHCAccess("+p+",false); "); cEf(" trTechSetStatus("+p+", 529, 2); "); } for(p=(cNumNonObsPlayers+1);<=cNumberNonGaiaPlayers){ for(q=(p+1);<=cNumberNonGaiaPlayers){ cEf(" trPlayerSetDiplomacy("+p+", "+q+", \"ally\"); "); } } for(p=(cNumNonObsPlayers+1);<=cNumberNonGaiaPlayers){ cEf(" trPlayerResetBlackMap("+p+"); "); } //Spies stuff for LOS cEf(" trBlockAllSounds(); "); for(p=(cNumNonObsPlayers+1);<=cNumberNonGaiaPlayers){ cEf(" trTechSetStatus("+p+", 446, 2); "); } cEf(" trUnblockAllSounds(); "); cEf(" uiClearChat(); "); cEf(" xsDisableSelf(); "); cEf(" } "); cEf(" int FP=1; int HCVisible=0; int showconsole=0; string consoleautocomplete=\"\"; "); //change this if want to test. cEf(" int override=0; int hasUI=-1; int nabvl=0; "); cEf(" int showGperR=-1; int showPopGraphic=-1; "); ///THESE NEED TO BE CHANGED AS PER RESOLUTION. cEf(" int numLFs=39; "); cEf(" int shpdetailsstarter2=410; int shpbarstarter2=343; "); cEf(" int shpdetailsstarter4=313; int shpbarstarter4=250; "); cEf(" int headerstarter=85; "); //for amount before you start with header cEf(" int gstarter=365; "); cEf(" int sbdeadspace=413; "); //for ship prog bars cEf(" int shpbarlength=28; "); cEf(" int shpbarspacing=10; "); cEf(" int shpdetailsspacing=82; "); cEf(" int reslinespacing=245; "); cEf(" int graphiclength=180; "); cEf(" int Glinewidth=12; "); cEf(" int SectionWidth2=8; "); cEf(" int SectionWidth4=5; "); cEf(" int blanklabelwidth=37; "); cEf(" int Gcellwidth=49; "); cEf(" int dividerW=5; int dividerJ=5; "); //Width, Adjustment cEf(" int tdividerW=11; int tdividerJ=0; "); //team cEf(" int tpsubspacing2=30; "); cEf(" int tpbigspacing2=350; "); cEf(" int tpsubspacing4=20; "); cEf(" int tpbigspacing4=75; "); //Deadspace for each setting of label displays cEf(" int disR1=37; int disR2=29; int disR3=20; int disR4=11; "); cEf(" int disT1=8; int disT2=37; "); ///END PER RESOLUTION cEf(" int flagXleeway=25; int flag1Xpos=198; int flag2Xpos=274; int flag3Xpos=680; int flag4Xpos=756; int shipmentechoYpos=57; "); cEf(" float samplinginterval=4000; "); cEf(" float lastsampletimeMS=0; "); for(p=1;<=cNumNonObsPlayers){ cEf(" int P"+p+"StartXP=0; int P"+p+"StartAge=0; int AGE_PROG_"+p+"=0; string AGE_TEXT_"+p+"=\"\"; "); cEf(" float TotFood_"+p+"=0; float TotWood_"+p+"=0; float TotGold_"+p+"=0; float TotTrade_"+p+"=0; "); cEf(" float DelFood_"+p+"=0; float DelWood_"+p+"=0; float DelGold_"+p+"=0; float DelTrade_"+p+"=0; "); cEf(" int DeadCostFood_"+p+"=0; int DeadCostWood_"+p+"=0; int DeadCostGold_"+p+"=0; int DeadCostTrade_"+p+"=0; "); cEf(" int PopGathrFood_"+p+"=0; int PopGathrWood_"+p+"=0; int PopGathrGold_"+p+"=0; int PopGathrIdle_"+p+"=0; "); cEf(" int has"+p+"Rev=0; "); cEf(" int shipmenttally"+p+"=0; int shipmentdiscr"+p+"=0; int shipmenttimeout"+p+"=0; "); for(n=1;<=cNumArrayTypeCap){ cEf(" int A"+n+"P"+p+"=0; int B"+n+"P"+p+"=0; int C"+n+"P"+p+"=0; int D"+n+"P"+p+"=0; "); } } cEf(" int PrID=0;int PrNM=0;int PrDC=0;int PrIP=0;int ImIC=0;int ImDC=0;int ImIP=0; "); cEf(" int CnCMDS=0; int CnINPT=0; int CnDCMP=0; int saveconsolehistory=0; "); cEf(" int AdUUDisplay=0; int AdUUDType=0; int AdUUDTech=0; "); cEf(" int lastviewedHC=0; int FindUnitTracker=-1; int adjustecopop=-1; "); //For 4 way scrolling. NOTE NEED TO FIX HOW IT WORKS FOR SHIPMENTS/TECHS COMPLETED. FOR NOW IS PRIMITIVE, SWITCHES BACK TO END IF YOU GO TO START. cEf(" int scrollingindex1=0; int scrollingindex2=0; int scrollingindex3=0; int scrollingindex4=0; "); //PREPARE TO ROLL IN THE CAMERA 2.1 UPDATE! [TENTATIVE] cEf(" int cameralockonunit=-1; "); cEf(" int justfogoff=-1; int debugmode=-1; "); //Team array cEf(" int PlTM=0; "); //Need an ageupgraphic too somehow. NEXT WORK? //--------------------------------------------------------- //To assist in the automation of arrays? NB CURRENTLY NOT USED cEf(" string highlevelpath=\"spec2/Version1/\"; "); //If a path for a tech is missing then use this string pattern followed by the number cEf(" string defaultpathTech=\"\"; "); //If a path for a unit is missing then use this string pattern followed by the number cEf(" string defaultpathUnit=\"\"; "); //--------------------------------------------------------- for(l=1;<=cNumLines){ //Adapt this as per layout afterwards. cEf(" int line"+l+"player="+l+"; "); cEf(" int line"+l+"type=0; "); } //--------------------------------------------------------- for(p=1;<=cNumNonObsPlayers){ cEf(" int column"+p+"player="+rPFromWest(p)+"; "); } //--------------------------------------------------------- for(p=1;<=cNumNonObsPlayers){ cEf(" int resline"+p+"player="+rPFromNorth(p)+"; "); } cEf(" int ResDispType=1; "); //NEED TO DEFINE CHANGING FUNCTIONS FOR DIS cEf(" int LeftDispType=3; int RightDispType=6; "); /* 0=Economic 1=Military 2=Naval 3=All Types 4=Queue 5=All Dead 6=Techs in queue 7=Techs researched 8=Shipments sent */ //Declare ALL the global variables we will need to process the full stats graphics. NB Gline1width is above. cEf(" int Gcumwidth=0; "); cEf(" string Gline1display=\"\"; "); cEf(" string Gline2display=\"\"; "); cEf(" string Gline1text=\"\"; "); cEf(" string Gline2text=\"\"; "); //For identification of arrays cEf(" int Gplyr=0; "); cEf(" int Gtype=0; "); cEf(" int Gbase=0; "); //Which base value do we use from corresponding Gtype array? cEf(" int Gindex=0; "); //Which index value? For stored timings. cEf(" int Ggrafix=0; int GgrafixTOP=0; "); //For storing graphics array and top level array. cEf(" int Gtext=0; "); //For storing text array //For find unit logic cEf(" int lastfoundid=-1; "); //For view lock logic cEf(" int lastlockedat=-1; int cameralockonplayer=0; int curcyclepoint=0; "); //--------------------------------------------------------- cEf(" void kat(string input=\"\"){trChatSendToPlayer(0,FP,input);} "); //Void functions for loading stuff //UI FOR CONFIGURATION cEf(" int CCV=0; int DCV=-1; "); //Rearrange later. cEf(" void load1600x900(int wtv=-1){ "); cEf(" numLFs=45; ");// cEf(" shpdetailsstarter2=518; "); cEf(" shpbarstarter2=430; "); cEf(" shpdetailsstarter4=398; "); cEf(" shpbarstarter4=310; "); cEf(" headerstarter=85; "); cEf(" gstarter=430; ");// cEf(" sbdeadspace=516; ");// cEf(" shpbarlength=35; ");// cEf(" shpbarspacing=13; "); cEf(" shpdetailsspacing=104; ");// cEf(" reslinespacing=342; "); cEf(" graphiclength=220; ");// cEf(" Glinewidth=16; ");// cEf(" SectionWidth2=11; ");// cEf(" SectionWidth4=7; ");// cEf(" blanklabelwidth=37; "); cEf(" Gcellwidth=49; "); cEf(" dividerW=5; "); cEf(" dividerJ=5; "); cEf(" tdividerW=11; "); cEf(" tdividerJ=0; "); cEf(" disR1=37; "); cEf(" disR2=29; "); cEf(" disR3=20; "); cEf(" disR4=11; "); cEf(" disT1=8; "); cEf(" disT2=37; "); cEf(" tpsubspacing2=43; "); cEf(" tpbigspacing2=500; "); cEf(" tpsubspacing4=25; "); cEf(" tpbigspacing4=149; "); cEf(" } "); cEf(" void load1920x1080(int wtv=-1){ "); cEf(" numLFs=55; "); cEf(" shpdetailsstarter2=622; "); cEf(" shpbarstarter2=514; "); cEf(" shpdetailsstarter4=479; "); cEf(" shpbarstarter4=371; "); cEf(" headerstarter=85; "); cEf(" gstarter=501; "); cEf(" sbdeadspace=620; "); cEf(" shpbarlength=43; "); cEf(" shpbarspacing=13; "); cEf(" shpdetailsspacing=128; "); cEf(" reslinespacing=441; "); cEf(" graphiclength=310; "); cEf(" Glinewidth=20; "); cEf(" SectionWidth2=14; "); cEf(" SectionWidth4=9; "); cEf(" blanklabelwidth=37; "); cEf(" Gcellwidth=49; "); cEf(" dividerW=5; "); cEf(" dividerJ=5; "); cEf(" tdividerW=11; "); cEf(" tdividerJ=0; "); cEf(" disR1=37; "); cEf(" disR2=29; "); cEf(" disR3=20; "); cEf(" disR4=11; "); cEf(" disT1=8; "); cEf(" disT2=37; "); cEf(" tpsubspacing2=53; "); cEf(" tpbigspacing2=650; "); cEf(" tpsubspacing4=35; "); cEf(" tpbigspacing4=206; "); cEf(" } "); cEf(" void youmayviewlockme(int wtv=-1){ "); cEf(" int numspy=0; int currentstretchlength=0; int maxstretchlength=0; int lastinmaxstretch=0; int lastvisible=0; int tempgo=0;"); cEf(" int strangerdanger=0; int todaysquery=0; int querysize=0; int flag=0; "); cEf(" int minID="+rmGetUnitPlaced(happybdaymitoe,0)+"; int maxID="+rmGetUnitPlaced(happybdaymitoe,rmGetNumberUnitsPlaced(happybdaymitoe)-1)+"; "); cEf(" for(u=minID;=maxstretchlength){maxstretchlength=currentstretchlength;lastinmaxstretch=u;} "); cEf(" } "); cEf(" } "); // cEf(" kat(\"On screen: \"+numspy); "); // cEf(" kat(\"Max stretch: \"+maxstretchlength); "); // cEf(" kat(\"End of stretch: \"+lastinmaxstretch); "); cEf(" tempgo=lastinmaxstretch-maxstretchlength/2; "); cEf(" if(numspy>0){ "); cEf(" if(tempgo!=lastlockedat){ "); cEf(" kbLookAtAllUnitsOnMap(); "); cEf(" for(p=1;<="+cNumNonObsPlayers+"){ "); cEf(" if(xsArrayGetInt(PlTM,p)==xsArrayGetInt(PlTM,FP)){ "); cEf(" xsSetContextPlayer(p); "); cEf(" todaysquery=kbUnitQueryCreate(\"HeroAcademia\"+p); "); cEf(" kbUnitQuerySetPlayerID(todaysquery, p, true); kbUnitQuerySetState(todaysquery,cUnitStateAlive); "); cEf(" kbUnitQuerySetUnitType(todaysquery, 1480); "); //Hero cEf(" kbUnitQuerySetActionType(todaysquery,43);kbUnitQuerySetSeeableOnly(todaysquery,true); "); //ded cEf(" querysize=kbUnitQueryExecute(todaysquery); "); cEf(" for(i=0;=lower && check<=upper){return(true);} "); cEf(" return(false); "); cEf(" } "); cEf(" int kbGetTechID(string tkname=\"\"){ "); cEf(" for (i=0;<"+cNumAllTechs+"){ "); cEf(" if(kbGetTechName(i)==tkname){return(i);} "); cEf(" } "); cEf(" return(-1); "); cEf(" } "); cEf(" int kbGetUnitTypeID(string typename=\"\"){ "); cEf(" for (i=0;<5000){ "); cEf(" if(kbGetUnitTypeName(i)==typename){return(i);} "); cEf(" } "); cEf(" return(-1); "); cEf(" } "); cEf(" void AEU(int index=0, int unitid=0, string unit=\"Settler\", int strid=0, string imgpath=\"\"){ "); cEf(" xsArraySetInt(PrID,index,unitid); "); cEf(" xsArraySetString(PrNM,index,unit); "); cEf(" xsArraySetInt(PrDC,index,strid); "); cEf(" xsArraySetString(PrIP,index,imgpath); "); cEf(" } "); cEf(" void AMU(int index=0, int unitid=0, string unit=\"Settler\", int strid=0, string imgpath=\"\"){ "); cEf(" xsArraySetInt(PrID,index,unitid); "); cEf(" xsArraySetString(PrNM,index,unit); "); cEf(" xsArraySetInt(PrDC,index,strid); "); cEf(" xsArraySetString(PrIP,index,imgpath); "); cEf(" } "); cEf(" void AWU(int index=0, int unitid=0, string unit=\"Settler\", int strid=0, string imgpath=\"\"){ "); cEf(" xsArraySetInt(PrID,index,unitid); "); cEf(" xsArraySetString(PrNM,index,unit); "); cEf(" xsArraySetInt(PrDC,index,strid); "); cEf(" xsArraySetString(PrIP,index,imgpath); "); cEf(" } "); cEf(" void ARU(int index=0, int unitid=0, string unit=\"Settler\", int strid=0, string imgpath=\"\"){ "); cEf(" xsArraySetInt(PrID,index,unitid); "); cEf(" xsArraySetString(PrNM,index,unit); "); cEf(" xsArraySetInt(PrDC,index,strid); "); cEf(" xsArraySetString(PrIP,index,imgpath); "); cEf(" } "); cEf(" void ITT(int techid=0, int strid=0, string imgpath=\"\"){ "); cEf(" xsArraySetInt(ImIC,techid,1); "); cEf(" xsArraySetInt(ImDC,techid,strid); "); cEf(" xsArraySetString(ImIP,techid,imgpath); "); cEf(" } "); cEf(" void ITS(int techid=0, int strid=0, string imgpath=\"\"){ "); cEf(" xsArraySetInt(ImIC,techid,2); "); cEf(" xsArraySetInt(ImDC,techid,strid); "); cEf(" xsArraySetString(ImIP,techid,imgpath); "); cEf(" } "); cEf(" void ATT(int index=0, int unittypeid=0, int techid=0){ "); cEf(" xsArraySetInt(AdUUDType,index,unittypeid); "); cEf(" xsArraySetInt(AdUUDTech,index,techid); "); cEf(" } "); cEf(" void initializeteamarray(int wtv=-1){ "); for(p=1;<=cNumNonObsPlayers){ if(rmGetPlayerTeam(p)==rmGetPlayerTeam(1)){cEf(" xsArraySetInt(PlTM,"+p+",1); ");} else{cEf(" xsArraySetInt(PlTM,"+p+",2); ");} } for(p=(cNumNonObsPlayers+1);<=cNumberNonGaiaPlayers){ cEf(" xsArraySetInt(PlTM,"+p+",3); "); } cEf(" } "); //A lot of info related to units if(true){ cEf(" void loadprotoarrays(int wtv=-1){ "); AEU(284,"Settler",22806,"units/villagers/villager_portrait"); AEU(510,"SettlerWagon",30679,"units/villagers/settler_wagon/settler_wagon_portrait"); AEU(379,"Coureur",25038,"units/infantry_ranged/coureur/coureur_du_bois_portrait"); AEU(517,"CoureurCree",31433,"units/infantry_ranged/coureur/coureur_du_bois_portrait"); AEU(721,"SettlerNative",43687,"ui/units/native_villager_portrait"); AEU(928,"ypSettlerAsian",60245,"units/asians/shared/villager/peasant_icon_portrait"); AEU(1130,"ypSettlerJapanese",64588,"units/asians/shared/villager/peasant_icon_portrait"); AEU(1047,"ypSettlerIndian",63145,"units/asians/shared/villager/indian_peasant_icon_portrait"); AEU(315,"FishingBoat",22962,""); ///FLAG AEU(1109,"ypFishingBoatAsian",64390,""); ///FLAG AEU(971,"ypShrineJapanese",61446,"buildings/asian_civs/shrine/shrine_icon_portrait"); AEU(338,"Bank",23708,"buildings/bank/bank_portrait"); AEU(963,"ypBankAsian",61368,"buildings/bank/bank_portrait"); AEU(1105,"ypDojo",64321,"buildings/asian_civs/dojo/dojo_icon_portrait"); AEU(348,"Factory",23986,"buildings/factory/shared_factory_portrait"); AEU(425,"Imam",26226,"units/priests/ottoman_priest_portrait"); AEU(404,"Missionary",25340,"units/priests/spanish_priest_portrait"); AEU(311,"Priest",22954,"units/priests/we_priest_portrait"); AEU(424,"Surgeon",26218,"units/surgeons/surgeon_portrait"); AEU(654,"NatMedicineMan",36735,"units/natives/medicine_man_portrait"); AEU(725,"xpMedicineMan",43829,"ui/units/iro_priest_portrait"); AEU(832,"xpMedicineManAztec",46330,"ui/units/az_priest_portrait"); AEU(1383,"ypMongolScout",68874,"units/asians/chinese/mongol_scout/mongol_scout_icon_portrait"); AEU(485,"NativeScout",29664,"units/natives/miskatonic_scout_portrait"); AEU(1456,"ypNativeScout",70278,"units/natives/miskatonic_scout_portrait"); AEU(317,"Envoy",22973,"units/villagers/envoy_portrait"); AEU(521,"CrateofFoodLarge",31763,"spec/unitart/CrateofFoodLarge"); AEU(414,"CrateofFood",26021,"ui/command/generate_food_portrait"); AEU(522,"CrateofWoodLarge",31767,"spec/unitart/CrateofWoodLarge"); AEU(415,"CrateofWood",26025,"ui/command/generate_wood_portrait"); AEU(523,"CrateofCoinLarge",31771,"spec/unitart/CrateofCoinLarge"); AEU(416,"CrateofCoin",26029,"ui/command/generate_coin_portrait"); AEU(440,"CoveredWagon",27330,"units/villagers/covered_wagon/covered_wagon_portrait"); AEU(667,"OutpostWagon",41660,"units/trade/outpost_wagon_portrait"); AEU(668,"FortWagon",41668,"units/trade/fort_wagon_portrait"); AEU(219,"BankWagon",46898,"ui/units/bank_wagon_portrait"); AEU(669,"FactoryWagon",41672,"units/trade/factory_wagon_portrait"); AEU(723,"WarHutTravois",43817,"units/trade/travois_icon_portrait"); AEU(724,"FarmTravois",43821,"units/trade/travois_icon_portrait"); AEU(762,"NoblesHutTravois",44296,"ui/units/az_travois_portrait"); AEU(803,"xpBuilder",45822,"units/trade/travois_icon_portrait"); AEU(805,"xpBuilderWar",45878,"units/trade/travois_icon_portrait"); AEU(864,"TradingPostTravois",47135,"units/trade/travois_icon_portrait"); AEU(1432,"xpBuilderStart",69779,"units/trade/travois_icon_portrait"); AEU(984,"YPCastleWagon",61993,"units/asians/shared/wagon/chinese_castle_wagon_icon_portrait"); AEU(1391,"YPMonasteryWagon",69318,"ui/units/bank_wagon_portrait"); AEU(1386,"ypTradingPostWagon",69125,"units/asians/shared/wagon/chinese_town_center_wagon_icon_portrait"); AEU(1385,"ypMarketWagon",69109,"ui/units/bank_wagon_portrait"); AEU(1398,"YPMilitaryRickshaw",69443,"units/asians/shared/wagon/japanese_town_center_wagon_icon_portrait"); AEU(951,"YPRicePaddyWagon",60904,"units/asians/shared/rickshaw/unit_chinese_grove_rickshaw_icon_portrait"); AEU(1282,"YPBerryWagon1",65993,"units/asians/shared/rickshaw/unit_chinese_grove_rickshaw_icon_portrait"); AEU(1352,"YPGroveWagon",68446,"units/asians/shared/rickshaw/unit_indian_grove_rickshaw_icon_portrait"); AEU(1289,"YPDockWagon",66101,"units/asians/shared/wagon/chinese_town_center_wagon_icon_portrait"); AEU(1368,"YPStableWagon",68659,"units/asians/shared/wagon/chinese_town_center_wagon_icon_portrait"); AEU(1428,"ypBankWagon",69619,"ui/units/bank_wagon_portrait"); AEU(1462,"ypBlockhouseWagon",70486,"units/trade/outpost_wagon_portrait"); AEU(962,"ypArsenalWagon",61363,"units/trade/factory_wagon_portrait"); AEU(1390,"ypChurchWagon",69295,"ui/units/bank_wagon_portrait"); AEU(1458,"YPSacredFieldWagon",70302,"units/asians/shared/wagon/indian_town_center_wagon_icon_portrait"); AEU(450,"Cow",28186,"units/animals/cow/cow_portrait"); AEU(1460,"ypSacredCow",70439,"units/animals/cow/cow_portrait"); AEU(620,"Llama",35085,"units/animals/llama/llama_portrait"); AEU(290,"Sheep",22829,"units/animals/sheep/sheep_icon_portrait"); AEU(972,"ypWaterBuffalo",61609,"units/animals/water_buffalo/water_buffalo_icon_portrait"); AEU(980,"ypGoat",61752,"units/animals/goat/goat_icon_portrait"); AEU(1443,"ypGoatFat",70086,"units/animals/goat/goat_icon_portrait"); AEU(1029,"ypYak",62733,"units/animals/yak/yak_icon_portrait"); AEU(924,"ypSacredField",60220,"buildings/asian_civs/sacred_field/sacredfield_icon_portrait"); AMU(285,"Pikeman",22807,"units/infantry/pikeman/pikeman_portrait"); AMU(286,"Musketeer",22805,"units/infantry_ranged/musketeer/musketeer_portrait"); AMU(303,"Crossbowman",22938,"units/infantry_ranged/crossbow/crossbow_portrait"); AMU(302,"Rodelero",22935,"units/infantry/redolero/redolero_portrait"); AMU(312,"Skirmisher",22956,"units/infantry_ranged/skirmisher/skirmisher_portrait"); AMU(306,"Halberdier",22944,"units/infantry/halberdier/halberdier_portrait"); AMU(347,"Cacadore",23909,"units/infantry_ranged/cacadore/cacadore_portrait"); AMU(335,"Strelet",23658,"units/infantry_ranged/strelet/strelet_portrait"); AMU(344,"Dopplesoldner",23836,"units/infantry/dopplesoldner/dopplesoldner_portrait"); AMU(340,"Janissary",23735,"units/infantry_ranged/janissary/janissary_icon_128"); AMU(319,"Longbowman",22979,"units/infantry_ranged/longbow/longbow_portrait"); AMU(739,"xpWarBow",43897,"ui/units/sx_warbow_portrait"); AMU(738,"xpWarClub",43893,"ui/units/sx_warclub_portrait"); AMU(746,"xpWarRifle",43998,"ui/units/sx_warrifle_portrait"); AMU(705,"xpAenna",43455,"ui/units/iro_aenna_portrait"); AMU(706,"xpMusketWarrior",43459,"ui/units/iro_forrest_runner_portrait"); AMU(704,"xpTomahawk",43448,"ui/units/IRO_tomahawk_portrait"); AMU(744,"xpCoyoteMan",43972,"ui/units/az_coyote_man_portrait"); AMU(745,"xpMacehualtin",43976,"ui/units/az_macehuatlin_portrait"); AMU(758,"xpPumaMan",44152,"ui/units/az_puma_man_portrait"); AMU(757,"xpArrowKnight",44148,"ui/units/az_arrow_knight_portrait"); AMU(755,"xpEagleKnight",44140,"ui/units/az_eagle_knight_portrait"); AMU(756,"xpJaguarKnight",44144,"ui/units/az_jaguar_warrior_portrait"); AMU(759,"xpSkullKnight",44156,"ui/units/az_skull_knight_portrait"); AMU(896,"ypYumi",60084,"units/asians/japanese/yumi/yumi_icon_portrait"); AMU(894,"ypKensei",60076,"units/asians/japanese/samurai/samurai_icon_portrait"); AMU(898,"ypAshigaru",60096,"units/asians/japanese/ashigaru/ashigaru_icon_portrait"); AMU(911,"ypQiangPikeman",60160,"units/asians/chinese/qiang_pikeman/qiang_pikeman_icon_portrait"); AMU(912,"ypChangdao",60164,"units/asians/chinese/changdao/changdao_icon_portrait"); AMU(909,"ypChuKoNu",60152,"units/asians/chinese/chu_ko_nu/chu_ko_nu_icon_portrait"); AMU(910,"ypArquebusier",60156,"units/asians/chinese/arquebusier/arquebusier_icon_portrait"); AMU(906,"ypRajput",60140,"units/asians/indians/rajput/rajput_icon_portrait"); AMU(946,"ypSepoy",60807,"units/asians/natives/sepoy/sepoy_icon_portrait"); AMU(961,"ypNatMercGurkha",61271,"units/asians/natives/gurkha/gurkha_icon_portrait"); AMU(308,"Hussar",22948,"units/cavalry/light_cavalry/light_cavalry_portrait"); AMU(352,"Lancer",24119,"units/cavalry/lancer/lancer_portrait"); AMU(314,"Dragoon",22960,"units/cavalry/dragoon/dragoon_portrait"); AMU(346,"Ruyter",23866,"units/cavalry/reiter/reiter_portrait"); AMU(334,"Cossack",23656,"units/cavalry/cossack/cossack_portrait"); AMU(351,"Oprichnik",24108,"units/cavalry/oprichnik/oprichnik_portrait"); AMU(304,"Uhlan",22940,"units/cavalry/uhlan/uhlan_portrait"); AMU(350,"WarWagon",24081,"units/cavalry/war_wagon/war_wagon_icon_portrait"); AMU(307,"CavalryArcher",22946,"units/cavalry/cav_archer/cav_archer_portrait"); AMU(320,"Cuirassier",22981,"units/cavalry/cuirassier/cuirassier_portrait"); AMU(707,"xpHorseman",43463,"ui/units/IRO_horseman_portrait"); AMU(708,"xpMusketRider",43467,"ui/units/iro_musket_rider_portrait"); AMU(766,"xpAxeRider",44426,"ui/units/sx_axe_rider_portrait"); AMU(827,"xpBowRider",46302,"ui/units/sx_bow_rider_portrait"); AMU(742,"xpRifleRider",43957,"ui/units/sx_rifle_rider_portrait"); AMU(768,"xpCoupRider",44434,"ui/units/coup_rider_portrait"); AMU(767,"xpDogSoldier",44430,"ui/units/sx_dog_soldier_portrait"); AMU(897,"ypNaginataRider",60092,"units/asians/japanese/naginata_rider/naginata_rider_icon_portrait"); AMU(895,"ypYabusame",60080,"units/asians/japanese/yabusame/yabusame_icon_portrait"); AMU(913,"ypSteppeRider",60168,"units/asians/chinese/steppe_rider/steppe_rider_icon_portrait"); AMU(914,"ypKeshik",60172,"units/asians/chinese/keshik/keshik_icon_portrait"); AMU(915,"ypIronFlail",60176,"units/asians/chinese/iron_flail/iron_flail_icon_portrait"); AMU(988,"ypMeteorHammer",62086,"units/asians/chinese/meteor_hammer/meteor_hammer_icon_portrait"); AMU(904,"ypMahout",60128,"units/asians/indians/mahout/mahout_icon_portrait"); AMU(905,"ypHowdah",60132,"units/asians/indians/howdah/howdah_icon_portrait"); AMU(902,"ypSowar",60120,"units/asians/indians/sowar/sowar_icon_portrait"); AMU(903,"ypZamburak",60124,"units/asians/indians/zamburak/zamburak_icon_portrait"); AMU(310,"Falconet",22952,"units/artillery/falconet/falconet_portrait"); AMU(345,"OrganGun",23838,"units/artillery/organ_gun/organ_gun_portrait"); AMU(516,"AbusGun",31291,"units/artillery/abus_gun/abus_gun_portrait"); AMU(313,"Grenadier",22958,"units/infantry_ranged/grenadier/grenadier_portrait"); AMU(309,"Culverin",22950,"units/artillery/culverin/culverin_portrait"); AMU(318,"Mortar",22975,"units/artillery/mortar/mortar_portrait"); AMU(709,"xpRam",43471,"ui/units/iro_ram_portrait"); AMU(710,"xpMantlet",43475,"units/natives/mantlet_portrait"); AMU(711,"xpLightCannon",43479,"ui/units/sx_light_cannon_portrait"); AMU(842,"xpHorseArtillery",46620,"ui/units/horse_artillery_portrait"); AMU(772,"xpPetard",45003,"ui/Units/petard_portrait"); AMU(861,"xpPetardNitro",46905,"ui/Units/petard_portrait"); AMU(1284,"ypFlamingArrow",66004,"units/asians/japanese/flaming_arrow/flaming_arrow_icon_portrait"); AMU(1285,"ypMorutaru",66008,"units/asians/japanese/morutaru/morutaru_icon_portrait"); AMU(930,"ypFlameThrower",60333,"units/asians/chinese/flame_thrower/flame_thrower_icon_portrait"); AMU(916,"ypHandMortar",60192,"units/asians/chinese/hand_mortar/hand_mortar_icon_portrait"); AMU(941,"ypMercFlailiphant",60775,"units/asians/mercenaries/flail_elephant/flail_elephant_icon_portrait"); AMU(981,"ypSiegeElephant",61755,"units/asians/indians/siege_elephant/siege_elephant_icon_portrait"); AMU(764,"xpColonialMilitia",44372,"ui/units/colonial_militia_portrait"); AMU(774,"xpGatlingGun",45211,"units/artillery/organ_gun/organ_gun_portrait"); AMU(1108,"ypDelinquentThuggee",64368,"units/asians/mercenaries/delinquent_thuggee/thuggee_icon_portrait"); AMU(1039,"ypConsulateTercio",62960,"units/infantry/pikeman/pikeman_portrait"); AMU(1040,"ypConsulateRedcoat",62964,"units/infantry_ranged/musketeer/musketeer_portrait"); AMU(1041,"ypConsulateLifeGuard",62968,"units/cavalry/light_cavalry/light_cavalry_portrait"); AMU(1053,"ypConsulateJinete",63504,"units/cavalry/dragoon/dragoon_portrait"); AMU(1076,"ypConsulateGuerreiros",63705,"units/infantry_ranged/musketeer/musketeer_portrait"); AMU(1103,"ypConsulateGarrochista",64222,"units/cavalry/lancer/lancer_portrait"); AMU(1104,"ypConsulateCarabineer",64230,"units/cavalry/reiter/reiter_portrait"); AMU(1226,"ypConsulateFalconet",65382,"units/artillery/falconet/falconet_portrait"); AMU(1227,"ypConsulateCulverin",65386,"units/artillery/culverin/culverin_portrait"); AMU(1228,"ypConsulateMortar",65390,"units/artillery/mortar/mortar_portrait"); AMU(1229,"ypConsulateGreatBombard",65394,"units/artillery/great_bombard/great_bombard_portrait"); AMU(1230,"ypConsulateHorseArtillery",65398,"ui/units/horse_artillery_portrait"); AMU(1235,"ypConsulateBestieros",65434,"units/infantry_ranged/crossbow/crossbow_portrait"); AMU(1247,"ypConsulateEspadachins",65770,"units/infantry/redolero/redolero_portrait"); AMU(1248,"ypConsulateStadhouders",65778,"units/infantry_ranged/musketeer/musketeer_portrait"); AMU(1249,"ypConsulateTufanciCorps",65782,"units/infantry_ranged/janissary/janissary_icon_128"); AMU(1250,"ypConsulateGendarmes",65786,"units/cavalry/cuirassier/cuirassier_portrait"); AMU(1251,"ypConsulateCzapakaUhlan",65790,"units/cavalry/uhlan/uhlan_portrait"); AMU(1252,"ypConsulateZweihander",65794,"units/infantry/dopplesoldner/dopplesoldner_portrait"); AMU(1253,"ypConsulateRogersRanger",65798,"units/infantry_ranged/skirmisher/skirmisher_portrait"); AMU(1272,"ypConsulateCannon",65874,"units/artillery/cannon/cannon_portrait"); AMU(1273,"ypConsulateGardener",65884,"units/cavalry/light_cavalry/light_cavalry_portrait"); AMU(1274,"ypConsulateKalmuck",65888,"units/cavalry/dragoon/dragoon_portrait"); AMU(1275,"ypConsulateBashkirPony",65892,"units/cavalry/light_cavalry/light_cavalry_portrait"); AMU(1276,"ypConsulatePrussianNeedleGun",65896,"units/infantry_ranged/skirmisher/skirmisher_portrait"); AMU(1277,"ypConsulateYoungGarde",65900,"units/infantry_ranged/grenadier/grenadier_portrait"); AMU(1325,"ypConsulateSiberianCossack",66469,"units/cavalry/cossack/cossack_portrait"); AMU(815,"SaloonOutlawRider",46122,"units/spc/outlaws/outlaw_rider_portrait"); AMU(816,"SaloonOutlawRifleman",46126,"units/spc/outlaws/outlaw_shotgun_portrait"); AMU(814,"SaloonOutlawPistol",46118,"nuggets/outlaw_kidnap/outlaw_icon_portrait"); AMU(817,"SaloonPirate",46130,"units/spc/pirates/pirate_portrait"); AMU(366,"MercLandsknecht",24820,"units/mercenaries/landsknecht/landsknecht_portrait"); AMU(367,"MercSwissPikeman",24824,"units/mercenaries/swiss_pikeman/swiss_pikeman_portrait"); AMU(372,"MercHighlander",24867,"units/mercenaries/highlander/highlander_portrait"); AMU(382,"MercMameluke",25140,"units/mercenaries/mameluke/mameluke_portrait"); AMU(383,"MercStradiot",25145,"units/mercenaries/balkan_stradiot/balkan_stradiot_portrait"); AMU(384,"MercBlackRider",25150,"units/mercenaries/black_rider/black_rider_portrait"); AMU(385,"MercManchu",25160,"units/mercenaries/manchurian_archer/manchurian_archer_portrait"); AMU(386,"MercRonin",25165,"units/mercenaries/samurai/ronin_portrait"); AMU(387,"MercJaeger",25174,"units/mercenaries/jaeger/hessian_jaeger_portrait"); AMU(388,"MercHackapell",25179,"units/mercenaries/hackapell/hackapell_portrait"); AMU(439,"MercBarbaryCorsair",27311,"units/mercenaries/barbary_corsair/barbary_corsair_portrait"); AMU(731,"MercElmeti",43853,"ui/Units/elmeti_portrait"); AMU(763,"MercFusilier",44368,"ui/units/fusilier_portrait"); AMU(833,"MercGreatCannon",46341,"units/spc/russian_cannon/russian_cannon_icon_portrait"); AMU(734,"MercNinja",43874,"ui/units/ninja_portrait"); AMU(996,"ypDacoit",62193,"units/asians/mercenaries/fugitive_dacoit/dacoit_icon_portrait"); AMU(940,"ypMercIronTroop",60771,"units/asians/mercenaries/iron_troop/iron_troop_icon_portrait"); AMU(1331,"ypMercArsonist",67695,"units/asians/spc/arsonist/arsonist_icon_portrait"); AMU(994,"ypMercJatLancer",62185,"units/asians/mercenaries/jat_lancer/jat_lancer_icon_portrait"); AMU(949,"ypMercYojimbo",60819,"units/asians/mercenaries/yojimbo/yojimbo_icon_portrait"); AMU(1107,"ypThuggee",64364,"units/asians/mercenaries/delinquent_thuggee/thuggee_icon_portrait"); AMU(977,"ypWokouBlindMonk",61700,"units/asians/mercenaries/blind_monk/blind_monk_icon_portrait"); AMU(987,"ypWokouPirate",62056,"units/asians/mercenaries/wokou_pirate/wokou_pirate_icon_portrait"); AMU(974,"ypWokouWanderingHorseman",61680,"units/asians/mercenaries/wandering_horseman/wandering_horseman_icon_portrait"); AMU(1035,"ypWokouWaywardRonin",62781,"units/asians/mercenaries/wayward_ronin/wayward_ronin_icon_portrait"); AMU(1414,"ypRepentantArsonist",69553,"units/asians/spc/arsonist/arsonist_icon_portrait"); AMU(1399,"ypRepentantBarbaryCorsair",69493,"units/mercenaries/barbary_corsair/barbary_corsair_portrait"); AMU(1400,"ypRepentantBlackRider",69497,"units/mercenaries/black_rider/black_rider_portrait"); AMU(1422,"ypRepentantDacoit",69585,"units/asians/mercenaries/fugitive_dacoit/dacoit_icon_portrait"); AMU(1401,"ypRepentantElmeti",69501,"ui/Units/elmeti_portrait"); AMU(1424,"ypRepentantBlindMonk",69593,"units/asians/mercenaries/blind_monk/blind_monk_icon_portrait"); AMU(1402,"ypRepentantFusilier",69505,"ui/units/fusilier_portrait"); AMU(1404,"ypRepentantHackapell",69513,"units/mercenaries/hackapell/hackapell_portrait"); AMU(1405,"ypRepentantHighlander",69517,"units/mercenaries/highlander/highlander_portrait"); AMU(1415,"ypRepentantIronTroop",69557,"units/asians/mercenaries/iron_troop/iron_troop_icon_portrait"); AMU(1406,"ypRepentantJaeger",69521,"units/mercenaries/jaeger/hessian_jaeger_portrait"); AMU(1416,"ypRepentantJatLancer",69561,"units/asians/mercenaries/jat_lancer/jat_lancer_icon_portrait"); AMU(1407,"ypRepentantLandsknecht",69525,"units/mercenaries/landsknecht/landsknecht_portrait"); AMU(1408,"ypRepentantMameluke",69529,"units/mercenaries/mameluke/mameluke_portrait"); AMU(1409,"ypRepentantManchu",69533,"units/mercenaries/manchurian_archer/manchurian_archer_portrait"); AMU(1403,"ypRepentantGreatCannon",69509,"units/spc/russian_cannon/russian_cannon_icon_portrait"); AMU(1410,"ypRepentantNinja",69537,"ui/units/ninja_portrait"); AMU(1418,"ypRepentantOutlawPistol",69569,"nuggets/outlaw_kidnap/outlaw_icon_portrait"); AMU(1419,"ypRepentantOutlawRider",69573,"units/spc/outlaws/outlaw_rider_portrait"); AMU(1420,"ypRepentantOutlawRifleman",69577,"units/spc/outlaws/outlaw_shotgun_portrait"); AMU(1421,"ypRepentantPirate",69581,"units/spc/pirates/pirate_portrait"); AMU(1411,"ypRepentantRonin",69541,"units/mercenaries/samurai/ronin_portrait"); AMU(1425,"ypRepentantSmuggler",69597,"units/asians/mercenaries/wokou_pirate/wokou_pirate_icon_portrait"); AMU(1412,"ypRepentantStradiot",69545,"units/mercenaries/balkan_stradiot/balkan_stradiot_portrait"); AMU(1413,"ypRepentantSwissPikeman",69549,"units/mercenaries/swiss_pikeman/swiss_pikeman_portrait"); AMU(1423,"ypRepentantThuggee",69589,"units/asians/mercenaries/delinquent_thuggee/thuggee_icon_portrait"); AMU(1426,"ypRepentantWanderingHorseman",69601,"units/asians/mercenaries/wandering_horseman/wandering_horseman_icon_portrait"); AMU(1427,"ypRepentantWaywardRonin",69605,"units/asians/mercenaries/wayward_ronin/wayward_ronin_icon_portrait"); AMU(1417,"ypRepentantYojimbo",69565,"units/asians/mercenaries/yojimbo/yojimbo_icon_portrait"); AMU(869,"NatMercHolcanSpearman",48461,"units/natives/holcan_spearman_portrait"); AMU(870,"NatMercLightningWarrior",48465,"ui/units/az_zapotec_lightning_warrior_portrait"); AMU(871,"NatMercRifleman",48469,"units/natives/rifleman_portrait"); AMU(872,"NatMercTracker",48477,"units/natives/cree_tracker_portrait"); AMU(873,"NatMercBlackwoodArcher",48481,"units/natives/tupi_archer_portrait"); AMU(874,"NatMercClubman",48485,"units/natives/clubman_icon_portrait"); AMU(875,"NatMercCheyenneRider",48489,"ui/units/cheyenne_cav_portrait"); AMU(876,"NatMercHorseArcher",48493,"units/natives/horse_archer_portrait"); AMU(877,"NatMercHuronMantlet",48502,"ui/units/huron_mantlet_portrait"); AMU(880,"NatMercBlowgunWarrior",48952,"units/natives/blowgun_portrait"); AMU(966,"ypNatMercChakram",61382,"units/asians/natives/chakram/chakram_icon_portrait"); AMU(967,"ypNatMercConquistador",61386,"units/asians/natives/conquistador/conquistador_icon_portrait"); AMU(968,"ypNatMercRattanShield",61390,"units/asians/natives/rattan_shield/shield_rattan_icon_portrait"); AMU(969,"ypNatMercTigerClaw",61394,"units/asians/natives/tiger_claw/Tiger_claw_icon_portrait"); AMU(970,"ypNatMercWarElephant",61418,"units/asians/natives/war_elephant/war_elephant_icon_portrait"); AMU(1070,"ypNatMercSohei",63619,"units/asians/japanese/sohei/sohei_icon_portrait"); AMU(947,"ypNatChakram",60811,"units/asians/natives/chakram/chakram_icon_portrait"); AMU(945,"ypNatConquistador",60803,"units/asians/natives/conquistador/conquistador_icon_portrait"); AMU(942,"ypNatRattanShield",60787,"units/asians/natives/rattan_shield/shield_rattan_icon_portrait"); AMU(944,"ypNatTigerClaw",60799,"units/asians/natives/tiger_claw/Tiger_claw_icon_portrait"); AMU(948,"ypNatWarElephant",60815,"units/asians/natives/war_elephant/war_elephant_icon_portrait"); AMU(357,"NatBolasWarrior",24189,"units/natives/bola_portrait"); AMU(353,"NatBlowgunWarrior",24181,"units/natives/blowgun_portrait"); AMU(735,"NatApacheCavalry",43882,"ui/units/apache_cavalry_portrait"); AMU(361,"NatBlackwoodArcher",24197,"units/natives/tupi_archer_portrait"); AMU(732,"NatCheyenneRider",43857,"ui/units/cheyenne_cav_portrait"); AMU(359,"NatClubman",24193,"units/natives/clubman_icon_portrait"); AMU(577,"NatClubmanLoyal",33944,"units/natives/nootka_warchief_portrait"); AMU(358,"NatHolcanSpearman",24191,"units/natives/holcan_spearman_portrait"); AMU(325,"NatHorseArcher",23525,"units/natives/horse_archer_portrait"); AMU(356,"NatHuaminca",24187,"units/natives/humainca_portrait"); AMU(733,"NatHuronMantlet",43870,"ui/units/huron_mantlet_portrait"); AMU(730,"NatKlamathRifleman",43849,"ui/units/klamath_rifleman_portrait"); AMU(722,"NatLightningWarrior",43756,"ui/units/az_zapotec_lightning_warrior_portrait"); AMU(773,"NatMapucheClubman",45012,"ui/units/mapuche_clubman_portrait"); AMU(736,"NatNavajoRifleman",43886,"ui/units/navajo_rifleman_portrait"); AMU(354,"NatRifleman",24183,"units/natives/rifleman_portrait"); AMU(330,"NatSharktoothBowman",23599,"units/natives/sharktooth_bow_portrait"); AMU(355,"NatTracker",24185,"units/natives/cree_tracker_portrait"); AMU(899,"ypNatSohei",60100,"units/asians/japanese/sohei/sohei_icon_portrait"); AMU(377,"PetBear",24947,"units/animals/bear/bearblack_portrait"); AMU(380,"WarDog",25043,"units/wardogs/war_dog_portrait"); AMU(419,"PetJaguar",26167,"units/animals/jaguar/jaguar_portrait"); AMU(461,"PetCougar",28635,"units/animals/cougar/cougar_portrait"); AMU(462,"PetGrizzly",28642,"units/animals/bear/beargrizzly_portrait"); AMU(463,"PetPolarBear",28649,"units/animals/bear/bearpolar_portrait"); AMU(464,"PetWolf",28656,"units/animals/wolf/wolf_icon_portrait"); AMU(467,"ExplorerDog",28974,"units/wardogs/war_dog_portrait"); AMU(473,"PetCoyote",29162,"units/animals/wolf/wolf_icon_portrait"); AMU(1052,"ypMonkDisciple",63454,"units/asians/chinese/monk/shaolin_monk_icon_portrait"); AMU(938,"YPPetTiger",60749,"units/animals/tiger/tiger_icon_portrait"); AMU(939,"YPPetRhino",60753,"units/animals/rhino/rhino_icon_portrait"); AMU(950,"ypPetKomodoDragon",60863,"units/animals/monitor_lizard/monitor_lizard_icon_portrait"); AMU(978,"ypPetOrangutan",61716,"units/animals/orangutan/orangutan_icon_portrait"); AMU(993,"YPPetPanda",62167,"units/animals/panda/panda_icon_portrait"); AMU(1074,"ypPetLion",63684,"units/animals/lion/lion_icon_portrait"); AMU(1075,"YPPetWhiteTiger",63692,"units/animals/white_tiger/white_tiger_icon_portrait"); AMU(1332,"ypPetTibetanMacaque",67699,"units/animals/tibetan_macaque/Macaque_icon_portrait"); AMU(1430,"ypPetSnowMonkey",69647,"units/animals/snow_monkey/snowmonkey_icon_portrait"); AMU(349,"Rocket",24048,"units/artillery/rocket/rocket_portrait"); AMU(341,"GreatBombard",23737,"units/artillery/great_bombard/great_bombard_portrait"); AMU(305,"Cannon",22942,"units/artillery/cannon/cannon_portrait"); AMU(829,"xpSpy",46322,"ui/units/spy_portrait"); AMU(917,"ypFlyingCrow",60196,"units/asians/chinese/flying_crow/flying_crow_icon_portrait"); AMU(1242,"ypDaimyoMototada",65576,"units/asians/japanese/daimyo_mototada/daimyo_mototada_icon_portrait"); AMU(901,"ypShogunTokugawa",60116,"units/asians/japanese/shogun/shogun_icon_portrait"); AMU(1241,"ypDaimyoKiyomasa",65572,"units/asians/japanese/daimyo_Kiyomasa/daimyo_kiyomasa_icon_portrait"); AMU(1243,"ypDaimyoMasamune",65582,"units/asians/japanese/daimyo_Masamune/daimyo_massamune_icon_portrait"); AMU(339,"Spahi",23733,"units/cavalry/spahi/spahi_portrait"); AMU(907,"ypUrumi",60144,"units/asians/indians/urumi/urumi_icon_portrait"); AMU(342,"Minuteman",23826,"units/infantry_ranged/minuteman/minuteman_portrait"); AMU(811,"xpWarrior",46033,"ui/units/warrior_portrait"); AMU(1238,"ypIrregular",65487,""); ///FLAG AMU(1239,"ypPeasant",65491,""); ///FLAG AMU(1223,"ypRajputMansabdar",65149,"units/asians/indians/mansabdar/rajput_mansabdar_icon_portrait"); AMU(1222,"ypUrumiMansabdar",65145,"units/asians/indians/mansabdar/urumi_mansabdar_icon_portrait"); AMU(1221,"ypSepoyMansabdar",65135,"units/asians/indians/mansabdar/sepoy_mansabdar_icon_portrait"); AMU(1387,"ypNatMercGurkhaJemadar",69139,"units/asians/indians/mansabdar/gurkha_mansabdar_icon_portrait"); AMU(1224,"ypSowarMansabdar",65153,"units/asians/indians/mansabdar/sowar_mansabdar_icon_portrait"); AMU(1225,"ypZamburakMansabdar",65157,"units/asians/indians/mansabdar/zamburak_mansabdar_icon_portrait"); AMU(1279,"ypMahoutMansabdar",65943,"units/asians/indians/mansabdar/mahout_mansabdar_icon_portrait"); AMU(1281,"ypMercFlailiphantMansabdar",65951,"units/asians/indians/mansabdar/flail_elephant_mansabdar_icon_portrait"); AMU(1278,"ypHowdahMansabdar",65939,"units/asians/indians/mansabdar/howdah_mansabdar_icon_portrait"); AMU(1280,"ypSiegeElephantMansabdar",65947,"units/asians/indians/mansabdar/siege_elephant_mansabdar_icon_portrait"); AMU(1337,"ypConsulateRonin",68241,"units/mercenaries/samurai/ronin_portrait"); AMU(1336,"ypConsulateNinja",68237,"ui/units/ninja_portrait"); AMU(1339,"ypConsulateYamabushi",68261,"units/asians/natives/yamabushi/yamabushi_icon_portrait"); AMU(1338,"ypConsulateShinobi",68257,"units/asians/japanese/shinobi/shinobi_icon_portrait"); AMU(371,"GrizzlyBear",24864,"units/animals/bear/beargrizzly_portrait"); AMU(378,"PolarBear",24983,"units/animals/bear/bearpolar_portrait"); AMU(412,"Jaguar",25958,"units/animals/jaguar/jaguar_portrait"); AMU(420,"BlackBear",26174,"units/animals/bear/bearblack_portrait"); AMU(432,"Cougar",26516,"units/animals/cougar/cougar_portrait"); AMU(451,"Wolf",28233,"units/animals/wolf/wolf_icon_portrait"); AMU(465,"Coyote",28716,"units/animals/wolf/wolf_icon_portrait"); AMU(474,"OutlawRider",29169,"units/spc/outlaws/outlaw_rider_portrait"); AMU(475,"OutlawBlowgunner",29183,"units/natives/blowgun_portrait"); AMU(476,"OutlawRifleman",29190,"units/spc/outlaws/outlaw_shotgun_portrait"); AMU(483,"Alligator",29646,"units/animals/alligator/alligator_portrait"); AMU(484,"Pirate",29650,"units/spc/pirates/pirate_portrait"); AMU(631,"OutlawPistol",35421,"nuggets/outlaw_kidnap/outlaw_icon_portrait"); AMU(937,"ypWokou",60536,"units/asians/mercenaries/wokou_pirate/wokou_pirate_icon_portrait"); AMU(975,"ypWanderingHorseman",61688,"units/asians/mercenaries/wandering_horseman/wandering_horseman_icon_portrait"); AMU(976,"ypBlindMonk",61696,"units/asians/mercenaries/blind_monk/blind_monk_icon_portrait"); AMU(995,"ypFugitiveDacoit",62189,"units/asians/mercenaries/fugitive_dacoit/dacoit_icon_portrait"); AMU(1013,"ypLionTailedMacaque",62638,"units/animals/lion_tailed_macaque/Liontailed_Macaque_icon_portrait"); AMU(1016,"ypRhino",62648,"units/animals/rhino/rhino_icon_portrait"); AMU(1017,"ypTiger",62652,"units/animals/tiger/tiger_icon_portrait"); AMU(1019,"ypLion",62660,"units/animals/lion/lion_icon_portrait"); AMU(1030,"ypMonitorLizard",62736,"units/animals/monitor_lizard/monitor_lizard_icon_portrait"); AMU(1031,"ypTibetanMacaque",62740,"units/animals/tibetan_macaque/Macaque_icon_portrait"); AMU(1032,"ypBlackPanther",62744,"units/animals/black_panther/black_panther_icon_portrait"); AMU(1036,"ypWaywardRonin",62785,"units/asians/mercenaries/wayward_ronin/wayward_ronin_icon_portrait"); AMU(1037,"ypWokouArmy",62806,"units/asians/chinese/wokou_army/wokou_army_icon_64"); AMU(1044,"ypSnowLeopard",63005,"units/animals/snow_leopard/snow_leopard_icon_portrait"); AMU(1018,"ypWhiteTiger",62656,"units/animals/white_tiger/white_tiger_icon_portrait"); AMU(1077,"ypSnowMonkey",63921,"units/animals/snow_monkey/snowmonkey_icon_portrait"); AMU(1078,"ypPanda",63925,"units/animals/panda/panda_icon_portrait"); AMU(1079,"ypOrangutan",63929,"units/animals/orangutan/orangutan_icon_portrait"); AWU(337,"Canoe",23694,"ui/units/native_canoe_portrait"); AWU(289,"Caravel",22826,"units/naval/caravel_ship/caravel_ship_portrait"); AWU(443,"Galleon",27705,"units/naval/galleon/galleon_icon_portrait"); AWU(444,"Galley",27712,"units/naval/galley/galley_portrait"); AWU(442,"Fluyt",27698,"units/naval/fluyt/fluyt_portrait"); AWU(441,"Frigate",27684,"units/naval/frigate/frigate_icon_portrait"); AWU(511,"Monitor",30923,"units/naval/monitor/monitor_icon_portrait"); AWU(717,"xpWarCanoe",43509,"ui/units/az_war_canoe_portrait"); AWU(750,"xpTlalocCanoe",44047,"ui/units/tlaloc_canoe_portrait"); AWU(954,"ypFireship",61076,"units/asians/naval/fire_ship/fire_ship_icon_portrait"); AWU(1069,"ypFuchuan",63614,"units/asians/naval/fuchuan/fuchuan_icon_portrait"); AWU(953,"ypFune",61072,"units/asians/naval/fune/fune_icon_portrait"); AWU(952,"ypAtakabune",61064,"units/asians/naval/atakabune/atakebune_icon_portrait"); AWU(1246,"ypTekkousen",65600,"units/asians/naval/tekkousen/tekkousen_icon_portrait"); AWU(445,"Privateer",27726,"units/naval/privateer/privateer_icon_portrait"); AWU(1117,"ypMarathanCatamaran",64515,"units/asians/naval/catamaran/catamaran_icon_portrait"); AWU(973,"ypWokouJunk",61666,"units/asians/naval/wokou_junk/wokou_junk_icon_portrait"); AWU(839,"xpIronclad",46594,"ui/units/ironclad_portrait"); ARU(288,"Explorer",22824,"units/explorers/explorer_portrait"); ARU(712,"xpIroquoisWarChief",43489,"ui/units/IRO_warchief_portrait"); ARU(741,"xpLakotaWarchief",43953,"ui/units/sx_warchief_portrait"); ARU(760,"xpAztecWarchief",44160,"ui/units/az_warchief_portrait"); ARU(918,"ypMonkChinese",60200,"units/asians/chinese/shaolin_disciple/shaolin_master_icon_portrait"); ARU(1359,"ypMonkChinese2",68486,"units/asians/chinese/shaolin_disciple/shaolin_master_icon_portrait"); ARU(908,"ypMonkIndian",60148,"units/asians/indians/monk/indian_monk_icon_portrait"); ARU(1045,"ypMonkIndian2",63107,"units/asians/indians/monk/indian_monk_icon_portrait"); ARU(900,"ypMonkJapanese",60104,"units/asians/japanese/monk/monk_icon_portrait"); ARU(1046,"ypMonkJapanese2",63115,"units/asians/japanese/monk/monk_icon_portrait"); ARU(989,"ypOldHanArmy",62090,"units/asians/chinese/standard_army/standard_army_icon_64"); ARU(1326,"ypStandardArmy",66592,"units/asians/chinese/ming_army/ming_army_icon_64"); ARU(1327,"ypMingArmy",66595,"units/asians/chinese/qing_army/qing_army_icon_64"); ARU(992,"ypTerritorialArmy",62102,"units/asians/chinese/forbidden_army/forbidden_army_icon_64"); ARU(991,"ypForbiddenArmy",62098,"units/asians/chinese/mongolian_army/mongolian_army_icon_64"); ARU(990,"ypImperialArmy",62094,"units/asians/chinese/territorial_army/territorial_army_icon_64"); ARU(1395,"ypMongolianArmy",69406,"units/asians/chinese/new_mongolian_army/new_mongolian_army_icon_64"); ARU(1378,"ypBlackFlagArmy",68729,"units/asians/chinese/old_han_army/old_han_icon_64"); ARU(1266,"ypConsulateArmySpanish3",65850,"units/infantry/redolero/redolero_portrait"); ARU(1265,"ypConsulateArmySpanish2",65846,"units/artillery/falconet/falconet_portrait"); ARU(1106,"ypConsulateArmySpanish1",64343,"units/asians/consulate/spanish_expeditionary_company"); ARU(1261,"ypConsulateArmyRussian3",65830,"units/asians/consulate/rus_armies/rus_army_icon_64"); ARU(1260,"ypConsulateArmyRussian2",65826,"units/asians/consulate/rus_armies/rus_force_icon_64"); ARU(1233,"ypConsulateArmyRussian1",65422,"units/asians/consulate/rus_armies/rus_company_icon_64"); ARU(1255,"ypConsulateArmyOttoman3",65806,"units/artillery/great_bombard/great_bombard_portrait"); ARU(1254,"ypConsulateArmyOttoman2",65802,"units/infantry_ranged/janissary/janissary_icon_128"); ARU(1231,"ypConsulateArmyOttoman1",65410,"units/asians/consulate/ottoman_expeditionary_company"); ARU(1271,"ypConsulateArmyGerman3",65870,"units/artillery/cannon/cannon_portrait"); ARU(1270,"ypConsulateArmyGerman2",65866,"units/infantry_ranged/skirmisher/skirmisher_portrait"); ARU(1269,"ypConsulateArmyGerman1",65862,"units/asians/consulate/german_expeditionary_company"); ARU(1268,"ypConsulateArmyFrench3",65858,"units/asians/consulate/french_armies/french_army_icon_64"); ARU(1267,"ypConsulateArmyFrench2",65854,"units/asians/consulate/french_armies/french_force_icon_64"); ARU(1234,"ypConsulateArmyFrench1",65430,"units/asians/consulate/french_armies/french_company_icon_64"); ARU(1259,"ypConsulateArmyDutch3",65822,"units/artillery/mortar/mortar_portrait"); ARU(1258,"ypConsulateArmyDutch2",65818,"units/asians/consulate/dutch_expeditionary_force"); ARU(1232,"ypConsulateArmyDutch1",65418,"units/asians/consulate/dutch_expeditionary_company"); ARU(1264,"ypConsulateArmyBritish3",65842,"units/asians/consulate/british_armies/british_army_icon_64"); ARU(1263,"ypConsulateArmyBritish2",65838,"units/asians/consulate/british_armies/british_force_icon_64"); ARU(1262,"ypConsulateArmyBritish1",65834,"units/asians/consulate/british_armies/british_company_icon_64"); ARU(294,"TownCenter",22841,"buildings/town_center/towncenter_portrait"); ARU(468,"LivestockPen",29032,"buildings/livestock pen/livestock_pen_portrait"); ARU(434,"Market",26749,"buildings/market/market_portrait"); ARU(287,"Mill",22804,"buildings/mill/mill_portrait"); ARU(297,"Dock",22914,"buildings/dock/dock_portrait"); ARU(429,"Outpost",26307,"buildings/outpost/outpost_portrait"); ARU(332,"Blockhouse",23634,"buildings/blockhouse/blockhouse_portrait"); ARU(292,"TradingPost",22837,"buildings/trading_post/trading_post_portrait"); ARU(301,"Church",22928,"buildings/church/church_portrait"); ARU(296,"Barracks",22847,"buildings/barracks/barracks_portraits"); ARU(298,"Stable",22919,"buildings/stables/stables_portrait"); ARU(299,"ArtilleryDepot",22922,"buildings/artillery_depot/artillery_depot_portrait"); ARU(300,"Arsenal",22924,"buildings/arsenal/arsenal_portrait"); ARU(417,"Plantation",26042,"buildings/plantation/plantation_portrait"); ARU(507,"Capitol",30241,"buildings/capitol/capitol_portrait"); ARU(672,"HouseEast",41968,"buildings/house/house_portrait"); ARU(673,"HouseMed",41972,"buildings/house/house_portrait"); ARU(509,"Manor",30633,"buildings/house/house_portrait"); ARU(293,"House",22839,"buildings/house/house_portrait"); ARU(391,"FortFrontier",25270,"buildings/fort/fort_portrait"); ARU(487,"FieldHospital",29733,"buildings/field_hospital/field_hostpital_portrait"); ARU(855,"NativeEmbassy",46755,"ui/buildings/native_embassy_portrait"); ARU(813,"Saloon",46097,"ui/buildings/saloon_portrait"); ARU(743,"FirePit",43965,"ui/Buildings/fire_pit_portrait"); ARU(824,"Teepee",46289,"ui/buildings/teepee_portriat"); ARU(720,"Longhouse",43677,"ui/buildings/iro_house_portrait"); ARU(867,"HouseAztec",48430,"ui/buildings/az_house_portrait"); ARU(716,"Farm",43505,"ui/Buildings/farm_portrait"); ARU(713,"WarHut",43492,"ui/Buildings/war_hut_portrait"); ARU(715,"Corral",43502,"ui/Buildings/corral_portrait"); ARU(754,"NoblesHut",44136,"ui/Buildings/nobles_hut_portrait"); ARU(1240,"ypTradeMarketAsian",65500,"buildings/asian_civs/trade_market/japan/japanese_market_icon_portrait"); ARU(923,"ypStableJapanese",60216,"buildings/stables/stables_portrait"); ARU(919,"ypRicePaddy",60204,"buildings/asian_civs/rice_paddy/china/china_rice_paddy_icon_portrait"); ARU(920,"ypMonastery",60207,"buildings/asian_civs/monastery/monastery_icon_portrait"); ARU(932,"YPDockAsian",60380,"buildings/asian_civs/dock/india_dock_icon_potrait"); ARU(922,"ypConsulate",60213,"buildings/asian_civs/consulate/consulate_icon_portrait"); ARU(1043,"ypCastle",62979,""); ///FLAG ARU(927,"ypBarracksJapanese",60237,"buildings/asian_civs/barracks/japan_barracks_icon_portrait"); ARU(1283,"ypBerryBuilding",65997,"buildings/asian_civs/orchard/orchard_icon_portrait"); ARU(1389,"ypChurch",69283,"buildings/church/church_portrait"); ARU(964,"ypArsenalAsian",61372,"buildings/arsenal/arsenal_portrait"); ARU(926,"ypWarAcademy",60231,"buildings/asian_civs/war_academy/china_waracademy_icon_portrait"); ARU(925,"ypVillage",60227,"buildings/asian_civs/village/chinese_village_icon_portrait"); ARU(924,"ypSacredField",60220,"buildings/asian_civs/sacred_field/sacredfield_icon_portrait"); ARU(929,"ypHouseIndian",60276,"buildings/asian_civs/house_indian/house_indian_icon_portrait"); ARU(921,"ypCaravanserai",60210,"buildings/asian_civs/caravanserai/india/caravanserai_icon_portrait"); ARU(1351,"ypGroveBuilding",68443,"buildings/asian_civs/grove/grove_icon_portrait"); ARU(931,"YPBarracksIndian",60376,"buildings/asian_civs/barracks/india_barracks_icon_portrait"); cEf(" } "); } //A lot of info related to technologies if(true){ cEf(" void loadimprovarrays(int wtv=-1){ "); ITT(168,63986,"ui\techs\asians\regenerative_forestry"); ITT(193,68401,"units\mercenaries\black_rider\black_rider_icon"); ITT(259,70233,"ui\techs\asians\tech_legendary_natives"); ITT(260,11070,"ui\techs\gang_saw\gang_saw_64x64"); ITT(261,22849,"ui\techs\veteran_infantry\veteran_infantry"); ITT(262,23052,"ui\techs\veteran_spear_infantry\veteran_spear_infantry"); ITT(263,23054,"ui\techs\guard_infantry\guard_infantry"); ITT(264,23061,"ui\techs\log_flume\log_flume_64x64"); ITT(265,23188,"ui\techs\veteran_archer_infantry\veteran_archer_infantry"); ITT(266,23197,"ui\techs\veteran_cavalry\veteran_cavalry"); ITT(267,23200,"ui\techs\guard_cavalry\guard_cavalry"); ITT(268,23207,"ui\techs\guard_spear_infantry\guard_spear_infantry"); ITT(269,23210,"ui\techs\veteran_cavalry\veteran_cavalry"); ITT(270,23214,"ui\techs\guard_cavalry\guard_cavalry"); ITT(271,23221,"ui\techs\guard_cavalry\guard_cavalry"); ITT(272,23224,"ui\techs\guard_grenadier_artillery\guard_grenadier_artillery"); ITT(273,23227,"ui\techs\guard_infantry\guard_infantry"); ITT(274,23230,"ui\techs\guard_cavalry\guard_cavalry"); ITT(275,23233,"ui\techs\guard_cavalry\guard_cavalry"); ITT(276,23255,"ui\techs\guard_cavalry\guard_cavalry"); ITT(277,23263,"ui\techs\veteran_archer_infantry\veteran_archer_infantry"); ITT(278,23295,"ui\techs\infantry_breastplate\infantry_breastplate"); ITT(279,23298,"ui\techs\paper_cartridge\paper_cartridge"); ITT(280,23307,"ui\techs\cavalry_cuirass\cavalry_cuirass"); ITT(281,23311,"ui\techs\trunion\trunion"); ITT(282,23322,"ui\techs\professional_gunners\professional_gunners"); ITT(283,23328,"ui\techs\military_drummers\military_drummers"); ITT(284,23331,"ui\techs\flint_lock\flint_lock"); ITT(285,23335,"ui\techs\bayonet\bayonet"); ITT(286,23341,"ui\techs\rifling\rifling"); ITT(287,23349,"ui\techs\gunners_quadrant\gunners_quadrant"); ITT(288,23354,"ui\techs\heated_shot\heated_shot"); ITT(289,23364,"ui\techs\guard_artillery\guard_artillery"); ITT(290,23367,"ui\techs\guard_artillery\guard_artillery"); ITT(291,23370,"ui\techs\guard_artillery\guard_artillery"); ITT(292,23389,"ui\techs\town_watch\town_watch"); ITT(293,23401,"ui\techs\hunting_dogs\hunting_dogs_64x64"); ITT(294,23403,"ui\techs\selective_breeding\selective_breeding"); ITT(295,23406,"ui\techs\seed_drill\seed_drill"); ITT(296,23409,"ui\techs\artificial_fertilizer\artificial_fertilizer"); ITT(297,23412,"ui\techs\bookkeeping\bookkeeping"); ITT(298,23415,"ui\techs\homesteading\homesteading"); ITT(299,23420,"ui\techs\great_coat\great_coat_64x64"); ITT(300,23452,"ui\techs\bastion\bastion"); //ITT(301,23459,"ui\techs\levy\levy"); //ITT(302,36107,"ui\techs\conscription\conscription"); ITT(303,23476,"ui\techs\guard_infantry\guard_infantry"); ITT(304,23479,"ui\techs\guard_cavalry\guard_cavalry"); ITT(305,23482,"ui\techs\garde_imperial\garde_imperial_1_icon_64x64"); ITT(306,23490,"ui\techs\code_napoleon\code_napoleon_64x64"); ITT(307,23527,"ui\techs/native_mustangs/nat_mustangs"); ITT(308,23530,"ui\techs/native_horse_breeding/nat_horse_breeding"); ITT(309,23541,"ui\techs/native_chinampa/nat_chinampa"); ITT(310,29384,"ui\techs\champion_natives\champion_natives"); ITT(311,29388,"ui\techs\champion_natives\champion_natives"); ITT(312,23608,"ui\techs/native_textile_craftsmanship/nat_textile_craftsmanship"); ITT(313,23611,"ui\techs/native_guerilla_wars/nat_guerilla_wars"); ITT(314,23613,"ui\techs/native_lacrosse/nat_lacrosse"); ITT(315,23615,"ui\techs/native_iroquois_league/nat_iroquois_league"); ITT(316,23618,"ui\techs/native_morning_wars/nat_morning_wars"); ITT(317,29393,"ui\techs\champion_natives\champion_natives"); ITT(318,29390,"ui\techs\champion_natives\champion_natives"); ITT(319,23660,"ui\techs\guard_cavalry\guard_cavalry"); ITT(320,23664,"ui\techs\veteran_cavalry\veteran_cavalry"); ITT(321,23672,"ui\techs\kalmucks\kalmucks_icon"); ITT(322,23675,"ui\techs\bashkir_ponies\bashkir_ponies_64x64"); ITT(323,23678,"ui\techs\westernization\westernization_64x64"); ITT(324,23680,"ui\techs\petrine_reforms\petrine_reform_64x64"); ITT(325,23716,"ui\techs\guard_infantry\guard_infantry"); ITT(326,23723,"ui\techs\thin_red_line\thin_red_line"); ITT(327,23757,"ui\techs\veteran_infantry\veteran_infantry"); ITT(328,23761,"ui\techs\guard_infantry\guard_infantry"); ITT(329,23765,"ui\techs\tufanci_corps\tufanci_corps_64x64"); ITT(330,23768,"ui\techs\topcu_corpse\topcu_corps_64x64"); ITT(331,23777,"ui\techs\guard_grenadier_artillery\guard_grenadier_artillery"); ITT(332,23831,"ui\techs\guard_infantry\guard_infantry"); ITT(333,23834,"ui\techs\guard_cavalry\guard_cavalry"); ITT(334,23840,"ui\techs\zweihander\zweihander_64x64"); ITT(335,23843,"ui\techs\corsolet\corsolet"); ITT(336,23846,"ui\techs\guard_cavalry\guard_cavalry"); ITT(337,23849,"ui\techs\quatrefage\quatrefage"); ITT(338,23858,"ui\techs\veteran_sword_infantry\veteran_sword_infantry"); ITT(339,23872,"ui\techs\guard_cavalry\guard_cavalry"); ITT(340,23876,"ui\techs\guard_spear_infantry\guard_spear_infantry"); ITT(341,23882,"ui\techs\gas_lighting\gas_lighting"); ITT(342,23885,"ui\techs\coffee_trade\coffee_trade"); ITT(343,23888,"ui\techs\guard_cavalry\guard_cavalry"); ITT(344,23911,"ui\techs\guard_infantry\guard_infantry"); ITT(345,23915,"ui\techs\guard_cavalry\guard_cavalry"); ITT(346,23918,"ui\techs\bestieros\bestieros_64x64"); ITT(347,23956,"ui\techs\guard_cavalry\guard_cavalry"); ITT(348,23959,"ui\techs\millet_system\millet_system_64x64"); ITT(349,23978,"ui\techs\wallenstein_contracts\wallenstein_contracts_64x64"); ITT(350,23981,"ui\techs\stadholders\stadholders_64x64"); ITT(351,23984,"ui\techs\standing_army\standing_army"); ITT(352,24111,"ui\techs\guard_cavalry\guard_cavalry"); ITT(353,24125,"ui\techs\guard_cavalry\guard_cavalry"); ITT(354,24138,"ui\techs\guard_cavalry\guard_cavalry"); ITT(355,24160,"ui\techs\guard_grenadier_artillery\guard_grenadier_artillery"); ITT(356,29386,"ui\techs\champion_natives\champion_natives"); ITT(357,29392,"ui\techs\champion_natives\champion_natives"); ITT(358,29394,"ui\techs\champion_natives\champion_natives"); ITT(359,29389,"ui\techs\champion_natives\champion_natives"); ITT(360,29391,"ui\techs\champion_natives\champion_natives"); ITT(361,29383,"ui\techs\champion_natives\champion_natives"); ITT(362,29385,"ui\techs\champion_natives\champion_natives"); ITT(363,24240,"ui\techs/native_garifuna_drums/nat_garifuna_drums"); ITT(364,24246,"ui\techs/native_war_dance/nat_war_dance"); ITT(365,24252,"ui\techs/native_bowyery/nat_bowyery"); ITT(366,24254,"ui\techs/native_kinship/nat_kinship"); ITT(367,24256,"ui\techs/native_roadbuilding/nat_roadbuilding"); ITT(368,24259,"ui\techs/native_tanning/nat_tanning"); ITT(369,24262,"ui\techs/native_cotton_armor/nat_cotton_armor"); ITT(370,24264,"ui\techs/native_bark_clothing/nat_bark_clothing"); ITT(371,24268,"ui\techs/native_poison_arrow_frogs/nat_poison_arrow_frogs"); ITT(372,24304,"ui\techs\gill_nets\gill_nets"); ITT(373,24306,"ui\techs\long_lines\long_lines"); ITS(374,24635,"spec\techs\TK_374"); ITS(375,24638,"ui\techs\hc_mercenary_loyalty\hc_mercenary_loyalty"); ITS(376,24644,"spec\techs\TK_376"); ITS(377,24656,"ui\techs\hc_fish_market\hc_fish_market"); ITS(378,24665,"ui\techs\hc_advanced_plantation\hc_advanced_plantation"); ITS(379,24671,"ui\techs\hc_cigar_roller\hc_cigar_roller"); ITS(380,24716,"units\balloons\hot_air_balloon"); ITT(381,24784,"ui\techs\blunderbuss\blunderbuss_64x64"); ITT(382,25253,"ui\techs/native_animal_lore/nat_animal_lore"); ITT(383,25262,"ui\techs/native_basket_weaving/nat_basket_weaving"); ITT(384,25512,"ui\techs\star_fort\star_fort"); ITT(385,25921,"ui\techs/native_chasquis_messengers/nat_chasquis_messengers"); ITT(386,25923,"ui\techs/native_metalworking/nat_metalworking"); ITS(387,25932,"spec\techs\TK_387"); ITT(388,26121,"ui\techs\econmedia_manor\econmedia_manor"); ITT(389,26137,"ui\techs\mercantilism\mercantilism"); ITT(390,26139,"ui\techs\guard_spear_infantry\guard_spear_infantry"); ITT(391,26242,"ui\techs/native_hunting_grounds/nat_hunting_grounds"); ITT(392,26257,"ui\techs/native_potlatch/nat_potlatch"); ITT(393,26296,"ui\techs\veteran_sword_infantry\veteran_sword_infantry"); ITT(394,26299,"ui\techs\guard_sword_infantry\guard_sword_infantry"); ITT(395,26804,"ui\techs\guard_sword_infantry\guard_sword_infantry"); ITS(396,27221,"ui\techs\hc_royal_decree\hc_royal_decree"); ITT(397,27262,"ui\techs\carronade\carronade"); ITT(398,27245,"ui\techs\percussion_locks\percussion_locks"); ITT(399,27246,"ui\techs\armor_plating\armor_plating"); ITT(400,27247,"ui\techs\ship_howitzers\ship_howitzers"); ITT(401,27679,"ui\techs\guard_cavalry\guard_cavalry"); ITS(402,27836,"spec\techs\TK_402"); ITT(403,28058,"ui\techs\guard_spear_infantry\guard_spear_infantry"); ITT(404,28062,"ui\techs\guard_archer_infantry\guard_archer_infantry"); ITS(405,28195,"ui\techs\treaty\treaty"); ITT(406,28265,"ui\techs\revetment\revetment"); ITT(407,28321,"ui\techs\veteran_grenadier_artillery\veteran_grenadier_artillery"); ITT(408,28737,"ui\techs\tillys_dicipline\tillys_discipline"); ITT(409,28748,"ui\techs\amalgamation\amalgamation_64x64"); ITT(410,28750,"ui\techs\placer_mines\placer_mines_64x64"); ITT(411,29011,"ui\techs/native_calendar/nat_calendar"); ITT(412,29091,"ui\techs\waardgelders\waardgelders_icon_64x64"); ITT(413,29209,"ui\techs\guard_infantry\guard_infantry"); ITT(414,29230,"ui\techs/native_horse_trading/nat_horse_trading"); ITT(415,29450,"ui\techs\pillage\pillage"); ITT(416,29526,"ui\techs\cannery\cannery"); ITT(417,29528,"ui\techs\water_power\water_power"); ITT(418,29530,"ui\techs\steam_power\steam_power"); //ITT(419,29532,"ui\post_game\time_line_age_4"); ITS(420,29539,"ui\techs\hc_admirality\hc_admirality"); //ITT(421,29620,"ui\post_game\time_line_age_2"); ITT(426,29807,"ui\techs\veteran_infantry\veteran_infantry"); ITT(427,29812,"ui\techs\guard_infantry\guard_infantry"); ITT(428,29868,"ui\techs\frontier_outpost\frontier_outpost"); ITT(429,29869,"ui\techs\fortified_outpost\fortified_outpost"); ITT(435,30163,"ui\techs\garde_imperial\garde_imperial_2_icon_64x64"); ITT(436,30166,"ui\techs\garde_imperial\garde_imperial_3_icon_64x64"); ITT(444,30256,"ui\techs\fortified_outpost\fortified_outpost"); ITT(445,30260,"ui\techs\frontier_outpost\frontier_outpost"); ITT(446,30313,"ui\techs\spies\spies"); ITT(447,30332,"ui\techs/native_kasiri_beer/nat_kasiri_beer"); ITT(448,30447,"ui\techs\ore_refining\ore_refining"); ITT(449,30449,"ui\techs\steel_traps\steel_traps"); ITT(450,30453,"ui\techs\circular_saw\circular_saw"); ITT(451,30458,"ui\techs\hc_blockade\hc_blockade"); ITT(452,30929,"ui\techs\imperial_grenadier_artillery\imperial_grenadier_artillery"); ITT(453,30933,"ui\techs\imperial_cavalry\imperial_cavalry"); ITT(454,30937,"ui\techs\imperial_cavalry\imperial_cavalry"); ITT(455,30945,"ui\techs\imperial_cavalry\imperial_cavalry"); ITT(456,30949,"ui\techs\imperial_spear_infantry\imperial_spear_infantry"); ITT(457,30959,"ui\techs\imperial_infantry\imperial_infantry"); ITT(458,30962,"ui\techs\imperial_cavalry\imperial_cavalry"); ITT(459,30966,"ui\techs\imperial_cavalry\imperial_cavalry"); ITT(460,30980,"ui\techs\imperial_infantry\imperial_infantry"); ITT(461,30984,"ui\techs\imperial_cavalry\imperial_cavalry"); ITT(462,30989,"ui\techs\imperial_grenadier_artillery\imperial_grenadier_artillery"); ITT(463,30992,"ui\techs\imperial_spear_infantry\imperial_spear_infantry"); ITT(464,30996,"ui\techs\imperial_cavalry\imperial_cavalry"); ITT(465,31000,"ui\techs\imperial_infantry\imperial_infantry"); ITT(466,31004,"ui\techs\imperial_cavalry\imperial_cavalry"); ITT(467,31008,"ui\techs\imperial_infantry\imperial_infantry"); ITT(468,31016,"ui\techs\imperial_cavalry\imperial_cavalry"); ITT(469,31021,"ui\techs\imperial_infantry\imperial_infantry"); ITT(470,31025,"ui\techs\imperial_grenadier_artillery\imperial_grenadier_artillery"); ITT(471,31030,"ui\techs\imperial_infantry\imperial_infantry"); ITT(472,31034,"ui\techs\imperial_infantry\imperial_infantry"); ITT(473,31046,"ui\techs\imperial_infantry\imperial_infantry"); ITT(474,31050,"ui\techs\imperial_sword_infantry\imperial_sword_infantry"); ITT(475,31054,"ui\techs\imperial_cavalry\imperial_cavalry"); ITT(476,31058,"ui\techs\imperial_cavalry\imperial_cavalry"); ITT(477,31062,"ui\techs\imperial_cavalry\imperial_cavalry"); ITT(478,31066,"ui\techs\imperial_cavalry\imperial_cavalry"); ITT(479,31070,"ui\techs\imperial_artillery\imperial_artillery"); ITT(480,31074,"ui\techs\imperial_artillery\imperial_artillery"); ITT(481,31078,"ui\techs\imperial_artillery\imperial_artillery"); ITT(482,31082,"ui\techs\imperial_artillery\imperial_artillery"); ITT(483,31086,"ui\techs\imperial_artillery\imperial_artillery"); //ITT(484,31107,"ui\post_game\time_line_age_5"); ITT(485,31112,"ui\techs\imperial_navy\imperial_navy"); ITT(494,31122,"ui\techs\imperial_artillery\imperial_artillery"); ITT(495,31186,"ui\techs\imperial_navy\imperial_navy"); ITT(496,31191,"ui\techs\imperial_infantry\imperial_infantry"); ITT(497,31286,"ui\techs\rabauld\rabauld"); ITT(498,31472,"ui\techs/native_chocolate_recipes/nat_chocolate_recipes"); ITT(499,31474,"ui\techs/native_garland_wars/nat_garland_wars"); ITT(500,31478,"ui\techs/native_ceremonial_feast/nat_ceremonial_feast"); ITT(501,31485,"ui\techs/native_sequoyah_syllabary/nat_sequoyah_syllabary"); ITT(502,31487,"ui\techs/native_trade_language/nat_trade_language"); ITT(503,31498,"ui\techs/native_forest_burning/nat_forest_burning"); ITT(504,31523,"ui\techs\imperial_knighthood\imp_knighthood"); ITT(505,31528,"ui\techs\imperial_immigrants\imp_immigrants"); ITT(506,31530,"ui\techs\imperial_large_scale_agriculture\imp_large_scale_agriculture"); ITT(507,31534,"ui\techs\imperial_peerage\imp_peerage"); ITT(508,31542,"ui\techs\imperial_artillery\imperial_artillery"); ITT(509,31555,"ui\techs\imperial_legendary_natives\imp_legendary_natives"); ITS(510,31659,"spec\techs\TK_510"); ITS(511,31663,"spec\techs\TK_511"); ITS(512,31667,"spec\techs\TK_512"); ITT(513,31796,"ui\techs\champion_natives\champion_natives"); ITT(514,32066,"ui\techs\veteran_artillery\veteran_artillery"); ITT(515,32070,"ui\techs\imperial_artillery\imperial_artillery"); ITT(516,32310,"ui\techs\order_of_the_tower_and_the_sword\order_of_the_tower_and_the_sword_icon"); ITT(517,32343,"ui\techs\abbasid_common_market\abbasid_common_market_64x64"); ITT(518,32346,"ui\techs\topkapi\topkapi"); ITT(519,32362,"ui\techs\deforestation\deforestation"); ITT(520,32364,"ui\techs\imperial_excessive_taxation\imp_excessive_taxation"); ITS(521,32721,"ui\techs\hc_heavy_fortifications\hc_heavy_fortifications"); ITT(522,34150,"ui\ingame\icon_age_ii"); ITT(523,34146,"ui\ingame\icon_age_ii"); ITT(524,34147,"ui\ingame\icon_age_iii"); ITT(525,34157,"ui\ingame\icon_age_v"); ITT(526,34156,"ui\ingame\icon_age_v"); ITT(527,34158,"ui\ingame\icon_age_iv"); ITT(528,34162,"ui\ingame\icon_age_iv"); ITT(533,32913,"ui\techs\rogers_rangers\rogers_rangers"); ITT(534,32917,"ui\techs\black_watch\black_watch"); ITT(535,32926,"ui\techs\hackapell\hackapell_icon_64x64"); ITT(537,34148,"ui\ingame\icon_age_ii"); ITT(538,34160,"ui\ingame\icon_age_iii"); ITT(539,34155,"ui\ingame\icon_age_iv"); ITT(540,34161,"ui\ingame\icon_age_iii"); ITT(541,34154,"ui\ingame\icon_age_ii"); ITT(542,34153,"ui\ingame\icon_age_iii"); ITT(543,34152,"ui\ingame\icon_age_iv"); ITT(544,34159,"ui\ingame\icon_age_iv"); ITT(545,33152,"ui\techs/native_dog_soldier/nat_dog_soldier"); ITT(546,34164,"ui\ingame\icon_age_iv"); ITT(547,33292,"units\trade\stagecoach_icon_64x64"); ITT(548,33296,"units\trains\train_icon_64x64"); ITS(549,33315,"ui\techs\hc_advanced_trading_post\hc_advanced_trading_post"); ITT(550,33345,"ui\techs\warrior_society\warrior_society"); ITT(551,33350,"ui\techs\warrior_society\warrior_society"); ITT(552,33353,"ui\techs\warrior_society\warrior_society"); ITT(553,33356,"ui\techs\warrior_society\warrior_society"); ITT(554,33359,"ui\techs\warrior_society\warrior_society"); ITT(555,33362,"ui\techs\warrior_society\warrior_society"); ITT(556,33368,"ui\techs\warrior_society\warrior_society"); ITT(557,33372,"ui\techs\warrior_society\warrior_society"); ITT(558,33375,"ui\techs\warrior_society\warrior_society"); ITT(559,33378,"ui\techs\warrior_society\warrior_society"); ITT(560,33381,"ui\techs\warrior_society\warrior_society"); ITT(561,33384,"ui\techs\warrior_society\warrior_society"); ITS(562,33451,"ui\techs\hc_fatter_sheep\hc_fatter_sheep"); ITS(563,33487,"ui\techs\hc_armada\hc_armada"); ITS(564,33493,"ui\techs\hc_mosque_construction\hc_mosque_construction"); ITS(568,33759,"ui\techs\hc_dutch_east_india_company\hc_dutch_east_india_company"); ITS(570,33855,"ui\techs\hc_improved_buildings\hc_improved_buildings"); ITT(571,33950,"ui\techs/native_nootka_warchief/nat_nootka_warchief"); ITT(572,33960,"ui\techs/native_carib_ambush_party/nat_carib_ambush_party"); ITT(573,33977,"ui\techs/native_aztec_initiation/nat_aztec_initiation"); ITS(574,34000,"ui\techs\hc_native_warriors\hc_native_warriors"); ITS(575,34002,"ui\techs\hc_team_inquisition\hc_team_inquisition"); ITS(576,34003,"ui\techs\hc_explorer_spanish_conquistador\hc_explorer_spanish"); ITS(577,34012,"ui\techs\hc_team_hand_infantry_attack\hc_team_hand_infantry_damage"); ITS(578,34014,"ui\techs\elite_cavalry\elite_cavalry"); ITT(579,34183,"ui\ingame\icon_age_iii"); ITT(580,34194,"ui\ingame\icon_age_iii"); ITT(597,34405,"ui\ingame\icon_age_iii"); ITS(598,34526,"units\balloons\hot_air_balloon"); ITS(599,34546,"ui\techs\hc_iron_monger\hc_iron_monger"); ITT(600,34549,"ui\techs\high_crusade"); ITT(601,34552,"ui\techs\corsolet\corsolet"); ITT(602,34554,"ui\techs\tax_burden"); ITT(603,34563,"ui\techs/native\indian_friendship"); ITT(604,34567,"ui\techs\rifling\rifling"); ITT(605,34573,"ui\techs\imperial_artillery\imperial_artillery"); ITS(606,34690,"ui\techs\hc_advanced_arsenal\hc_advanced_arsenal"); ITS(609,34882,"ui\techs\hc_better_combat\hc_better_combat"); ITS(611,34999,"ui\techs\levy\levy"); ITS(612,35002,"ui\techs\hc_pioneers\hc_pioneers"); ITT(613,35108,"units\trains\track_icon_64x64"); ITS(614,35123,"ui\techs\hc_cavalry_hitpoints\hc_cavalry_hitpoints"); ITS(615,35129,"ui\techs\hc_hand_infantry_combat\hc_hand_infantry_combat"); ITS(616,35131,"ui\techs\hc_cavalry_damage\hc_cavalry_damage"); ITS(617,35132,"ui\techs\hc_extensive_fortifications\hc_extensive_fortifications"); ITS(618,35134,"spec\techs\TK_618"); ITS(619,35137,"ui\techs\hc_furrier\hc_furrier"); ITS(620,35139,"ui\techs\hc_grain_market\hc_grain_market"); ITS(621,35141,"ui\techs\hc_team_ironmonger\hc_team_iron_monger"); ITS(622,35143,"ui\techs\hc_medicine\hc_medicine"); ITS(623,35146,"ui\techs\hc_stone_masons\hc_stone_masons"); ITS(624,35148,"ui\techs\hc_fencing_school\hc_fencing_school"); ITS(625,35150,"ui\techs\hc_riding_school\hc_riding_school"); ITS(626,35154,"ui\techs\hc_refrigeration\hc_refrigeration"); ITS(627,35156,"ui\techs\hc_lumber_market\hc_lumber_market"); ITS(628,35158,"ui\techs\hc_silver_smith\hc_silver_smith"); ITS(629,35162,"ui\techs\hc_cavalry_combat\hc_cavalry_combat"); ITT(630,35179,"ui\techs\guard_sword_infantry\guard_sword_infantry"); ITT(631,35186,"ui\techs\imperial_spear_infantry\imperial_spear_infantry"); ITT(632,35192,"ui\techs\imperial_cavalry\imperial_cavalry"); ITS(633,35205,"ui\techs\hc_explorer_french_voyageur\hc_explorer_french"); ITS(634,35207,"ui\techs\hc_native_warrior_combat\hc_native_warrior_combat"); ITS(635,35225,"ui\techs\hc_cavalry_combat\hc_cavalry_combat"); ITS(636,35234,"ui\techs\hc_artillary_combat\hc_artillary_combat"); ITS(637,35236,"ui\techs\hc_northwest_passage\hc_northwest_passage"); ITS(638,35296,"ui\techs\hc_virginia_company\hc_virginia_company"); ITS(639,35299,"ui\techs\field_gun\shot_tower"); ITS(640,35307,"ui\techs\hc_yeoman\hc_yeoman"); ITS(641,35318,"ui\techs\hc_musketeer_grenadier_combat\hc_musketeer_grenadier_combat"); ITS(642,35320,"ui\techs\hc_cavalry_hitpoints\hc_cavalry_hitpoints"); ITS(643,35322,"ui\techs\hc_cavalry_damage\hc_cavalry_damage"); ITS(644,35324,"ui\techs\hc_cavalry_combat\hc_cavalry_combat"); ITS(645,35341,"ui\techs\hc_explorer_british_captain\hc_explorer_british"); ITS(646,35352,"ui\techs\hc_sawmills\hc_sawmills"); ITS(647,35354,"ui\techs\hc_exotic_hardwoods\hc_exotic_hardwoods"); ITS(648,35359,"ui\techs\hc_establish_royal_mint\hc_establish_royal_mint"); ITS(649,35361,"ui\techs\hc_silos\hc_silos"); ITS(650,35363,"ui\techs\hc_sustainable_agriculture\hc_sustainable_agriculture"); ITS(651,35365,"ui\techs\hc_advanced_mill\hc_advanced_mill"); ITS(652,35370,"ui\techs\hc_spice_trade\hc_spice_trade"); ITS(653,35374,"ui\techs\hc_rendering_plant\hc_rendering_plant"); ITS(654,35376,"ui\techs\hc_advanced_dock\hc_advanced_dock"); ITS(655,35380,"ui\techs\hc_rum_distillery\hc_rum_distillery"); ITS(656,35382,"ui\techs\hc_textile_mill\hc_textile_mill"); ITT(657,35385,"ui\techs\imperial_sword_infantry\imperial_sword_infantry"); ITS(658,35390,"ui\techs\hc_advanced_market\hc_advanced_market"); ITS(659,35394,"ui\techs\hc_explorer_portuguese_navigator\hc_explorer_portuguese"); ITT(660,35466,"ui\ingame\icon_age_iii"); ITT(662,35470,"ui\ingame\icon_age_iii"); ITT(663,35472,"ui\ingame\icon_age_iv"); ITT(664,35474,"ui\ingame\icon_age_iv"); ITT(665,35476,"ui\ingame\icon_age_iii"); ITT(666,35480,"ui\ingame\icon_age_iv"); ITT(667,35482,"ui\ingame\icon_age_iv"); ITT(668,35486,"ui\ingame\icon_age_iii"); ITT(669,35489,"ui\ingame\icon_age_iii"); ITT(670,35495,"ui\ingame\icon_age_iv"); ITT(671,35497,"ui\ingame\icon_age_iv"); ITT(672,35501,"ui\ingame\icon_age_iv"); ITT(673,35503,"ui\ingame\icon_age_iii"); ITT(674,35507,"ui\ingame\icon_age_ii"); ITT(675,35509,"ui\ingame\icon_age_iv"); ITT(676,35511,"ui\ingame\icon_age_iv"); ITS(677,35517,"ui\techs\hc_explorer_german_burghermeister\hc_explorer_german"); ITS(678,35523,"ui\techs\hc_cavalry_combat\hc_cavalry_combat"); ITS(679,35574,"ui\techs\hc_cavalry_combat\hc_cavalry_combat"); ITS(680,35580,"ui\techs\hc_explorer_russian_polar_explorer\hc_explorer_russian"); ITS(681,35582,"ui\techs\hc_boyars\hc_boyars"); ITS(682,35588,"ui\techs\hc_hand_infantry_hitpoints\hc_hand_infantry_hitpoints"); ITS(683,35616,"ui\techs\field_gun\shot_tower"); ITT(684,35637,"ui\ingame\icon_age_iii"); ITT(685,35639,"ui\ingame\icon_age_iv"); ITT(686,35641,"ui\ingame\icon_age_iv"); ITT(687,35651,"ui\ingame\icon_age_iv"); ITS(688,35652,"spec\techs\TK_688"); ITS(689,35655,"spec\techs\TK_689"); ITS(690,35657,"spec\techs\TK_690"); ITS(691,35658,"spec\techs\TK_691"); ITS(692,35659,"spec\techs\TK_692"); ITS(693,35660,"spec\techs\TK_693"); ITS(694,35661,"spec\techs\TK_694"); ITS(695,35662,"spec\techs\TK_695"); ITS(696,35663,"spec\techs\TK_696"); ITT(697,35678,"ui\ingame\icon_age_iv"); ITT(698,35680,"ui\ingame\icon_age_iv"); ITT(699,35684,"ui\ingame\icon_age_iii"); ITT(700,35686,"ui\ingame\icon_age_iv"); ITT(701,35694,"ui\ingame\icon_age_v"); ITT(702,35700,"ui\ingame\icon_age_v"); ITT(703,35703,"ui\ingame\icon_age_iv"); ITT(704,35707,"ui\ingame\icon_age_iii"); ITS(705,35708,"spec\techs\TK_705"); ITS(706,35709,"spec\techs\TK_706"); ITS(707,35710,"spec\techs\TK_707"); ITS(708,35711,"spec\techs\TK_708"); ITS(709,35712,"spec\techs\TK_709"); ITS(710,35713,"spec\techs\TK_710"); ITS(711,35714,"spec\techs\TK_711"); ITS(712,35715,"spec\techs\TK_712"); ITS(713,35716,"spec\techs\TK_713"); ITS(714,35717,"spec\techs\TK_714"); ITS(715,35718,"spec\techs\TK_715"); ITS(716,35719,"spec\techs\TK_716"); ITS(717,35720,"spec\techs\TK_717"); ITS(718,35721,"spec\techs\TK_718"); ITS(719,35722,"spec\techs\TK_719"); ITS(720,35723,"spec\techs\TK_720"); ITS(721,35724,"spec\techs\TK_721"); ITS(722,35725,"spec\techs\TK_722"); ITS(723,35726,"spec\techs\TK_723"); ITS(724,35728,"ui\techs\carronade\carronade"); ITS(725,35731,"spec\techs\TK_725"); ITS(726,35732,"spec\techs\TK_726"); ITS(727,35733,"spec\techs\TK_727"); ITS(728,35734,"spec\techs\TK_728"); ITS(729,35735,"spec\techs\TK_729"); ITS(730,35736,"spec\techs\TK_730"); ITS(731,35737,"spec\techs\TK_731"); ITS(732,35738,"spec\techs\TK_732"); ITS(733,35739,"spec\techs\TK_733"); ITS(734,35740,"spec\techs\TK_734"); ITS(735,35741,"spec\techs\TK_735"); ITS(736,35742,"spec\techs\TK_736"); ITS(737,35743,"spec\techs\TK_737"); ITS(738,35744,"spec\techs\TK_738"); ITS(739,35753,"ui\techs\hc_team_cheap_barracks\hc_team_cheap_barracks"); ITS(740,36368,"spec\techs\TK_740"); ITS(741,35762,"spec\techs\TK_741"); ITS(742,35763,"spec\techs\TK_742"); ITS(743,35765,"ui\techs\hc_ranged_infantry_hitpoints\hc_ranged_infantry_hitpoints"); ITS(744,35767,"ui\techs\hc_team_ranged_infantry_attack\hc_team_ranged_infantry_damage"); ITS(745,35768,"spec\techs\TK_745"); ITS(746,35769,"spec\techs\TK_746"); ITS(747,35770,"spec\techs\TK_747"); ITS(748,35771,"spec\techs\TK_748"); ITS(749,35772,"spec\techs\TK_749"); ITS(750,35773,"spec\techs\TK_750"); ITS(751,35780,"spec\techs\TK_751"); ITS(752,35781,"spec\techs\TK_752"); ITS(753,35783,"ui\techs\hc_team_cavalry_damage\hc_team_cavalry_damage"); ITS(754,35785,"ui\techs\hc_cavalry_hitpoints\hc_cavalry_hitpoints"); ITS(755,35786,"spec\techs\TK_755"); ITS(756,35787,"spec\techs\TK_756"); ITS(757,35789,"ui\techs\hc_team_native_warrior_combat\hc_team_native_warrior_combat"); ITS(758,35790,"spec\techs\TK_758"); ITS(759,35791,"spec\techs\TK_759"); ITS(760,35792,"spec\techs\TK_760"); ITS(761,35793,"spec\techs\TK_761"); ITS(762,35824,"spec\techs\TK_762"); ITS(763,35825,"spec\techs\TK_763"); ITS(764,35827,"ui\techs\hc_team_cheap_stables\hc_team_cheap_stables"); ITS(765,35829,"ui\techs\hc_hand_infantry_damage\hc_hand_infantry_damage"); ITS(766,35831,"ui\techs\hc_hand_infantry_hitpoints\hc_hand_infantry_hitpoints"); ITS(767,35833,"ui\techs\hc_hand_infantry_combat\hc_hand_infantry_combat"); ITS(768,35834,"spec\techs\TK_768"); ITS(769,35835,"spec\techs\TK_769"); ITS(770,35836,"spec\techs\TK_770"); ITS(771,35837,"spec\techs\TK_771"); ITS(772,35838,"spec\techs\TK_772"); ITS(773,35839,"spec\techs\TK_773"); ITS(774,35840,"spec\techs\TK_774"); ITS(775,35842,"ui\techs\hc_team_cavalry_damage\hc_team_cavalry_damage"); ITS(776,35844,"ui\techs\hc_cavalry_hitpoints\hc_cavalry_hitpoints"); ITS(777,35845,"spec\techs\TK_777"); ITS(778,35846,"spec\techs\TK_778"); ITS(779,35847,"spec\techs\TK_779"); ITS(780,35849,"ui\techs\hc_team_food_silos\hc_team_food_silos"); ITS(781,35851,"ui\techs\hc_team_furrier\hc_team_furrier"); ITS(782,35852,"spec\techs\TK_782"); ITS(783,35853,"spec\techs\TK_783"); ITS(784,35854,"spec\techs\TK_784"); ITS(785,35855,"spec\techs\TK_785"); ITS(786,35857,"ui\techs\hc_strelet_combat\hc_strelet_combat"); ITS(787,35858,"spec\techs\TK_787"); ITS(788,35859,"spec\techs\TK_788"); ITS(789,35860,"spec\techs\TK_789"); ITS(790,35861,"spec\techs\TK_790"); ITS(791,35862,"spec\techs\TK_791"); ITS(792,35863,"spec\techs\TK_792"); ITS(793,35864,"spec\techs\TK_793"); ITS(794,35865,"spec\techs\TK_794"); ITS(795,35866,"spec\techs\TK_795"); ITS(796,35867,"spec\techs\TK_796"); ITS(797,35868,"spec\techs\TK_797"); ITS(798,35869,"spec\techs\TK_798"); ITS(799,35870,"spec\techs\TK_799"); ITS(800,35871,"spec\techs\TK_800"); ITS(801,35873,"ui\techs\hc_team_cavalry_line_of_sight\hc_team_cavalry_line_of_sight"); ITS(802,35875,"ui\techs\hc_team_barracks_hitpoints\hc_team_barracks_hitpoints"); ITS(803,35899,"spec\techs\TK_803"); ITS(804,35911,"spec\techs\TK_804"); ITS(805,35912,"spec\techs\TK_805"); ITS(806,35913,"spec\techs\TK_806"); ITS(807,35915,"spec\techs\TK_807"); ITS(808,35916,"spec\techs\TK_808"); ITS(809,35918,"ui\techs\hc_musketeer_grenadier_damage\hc_musketeer_grenadier_damage"); ITS(810,35920,"ui\techs\hc_team_musketeer_grenadier_hitpoints\hc_team_musketeer_grenadier_hitpoints"); ITS(811,35922,"spec\techs\TK_811"); ITS(812,35923,"spec\techs\TK_812"); ITS(813,35924,"spec\techs\TK_813"); ITS(814,35925,"spec\techs\TK_814"); ITS(815,35927,"ui\techs\hc_team_fast_houses\hc_team_fast_houses"); ITS(816,35931,"ui\techs\hc_team_sawmills\hc_team_sawmills"); ITS(817,35934,"ui\techs\hc_naval_gunners\hc_naval_gunners"); ITS(818,36010,"ui\techs\hc_team_silk_road\hc_team_silk_road"); ITS(819,36015,"ui\techs\hc_explorer_ottoman_agha\hc_ottoman_explorer"); ITS(820,36016,"spec\techs\TK_820"); ITS(821,36017,"spec\techs\TK_821"); ITS(822,36018,"spec\techs\TK_822"); ITS(823,36019,"spec\techs\TK_823"); ITS(824,36025,"ui\techs\hc_gunpowder_infantry_combat\hc_gunpowder_infantry_combat"); ITS(825,36027,"ui\techs\hc_team_cavalry_hitpoints\hc_team_cavalry_hitpoints"); ITS(826,36028,"spec\techs\TK_826"); ITS(827,36029,"spec\techs\TK_827"); ITS(828,36030,"spec\techs\TK_828"); ITS(829,36031,"spec\techs\TK_829"); ITS(830,36032,"spec\techs\TK_830"); ITS(831,36034,"ui\techs\hc_artillary_hitpoints\hc_artillary_hitpoints"); ITS(832,36036,"ui\techs\hc_team_artillery_hitpoints\hc_team_artillery_hitpoints"); ITS(833,36039,"ui\techs\hc_artillary_damage\hc_artillary_damage"); ITS(834,36043,"spec\techs\TK_834"); ITS(835,36044,"spec\techs\TK_835"); ITS(836,36046,"ui\techs\hc_team_cheap_trading_posts\hc_team_cheap_trading_post"); ITS(837,36049,"spec\techs\TK_837"); ITS(838,36050,"spec\techs\TK_838"); ITS(839,36054,"ui\techs\hc_engineering_school\hc_engineering_school"); ITS(840,36056,"spec\techs\TK_840"); ITS(841,36062,"ui\techs\hc_team_fish_market\hc_team_fish_market"); ITS(844,36071,"spec\techs\TK_844"); ITS(845,36072,"spec\techs\TK_845"); ITS(846,36073,"spec\techs\TK_846"); ITS(847,36074,"spec\techs\TK_847"); ITS(848,36076,"ui\techs\hc_team_ranged_infantry_hitpoints\hc_team_ranged_infantry_hitpoints"); ITS(849,36078,"ui\techs\hc_gunpowder_infantry_damage\hc_gunpowder_infantry_damage"); ITS(850,36080,"ui\techs\hc_gunpowder_infantry_combat\hc_gunpowder_infantry_combat"); ITS(851,36081,"spec\techs\TK_851"); ITS(852,36082,"spec\techs\TK_852"); ITS(853,36084,"ui\techs\hc_dragoon_combat\hc_dragoon_combat"); ITS(854,36086,"ui\techs\field_gun\shot_tower"); ITS(855,36088,"ui\techs\hc_team_artillery_hitpoints\hc_team_artillery_hitpoints"); ITS(856,36091,"ui\techs\hc_navigation_school\hc_navigation_school"); ITS(857,36093,"ui\techs\hc_team_improved_walls\hc_team_improved_walls"); ITS(858,36096,"spec\techs\TK_858"); ITS(859,36097,"spec\techs\TK_859"); ITS(860,36098,"spec\techs\TK_860"); ITS(861,36100,"ui\techs\hc_team_cheap_outposts\hc_team_cheap_outpost"); ITS(863,36105,"spec\techs\TK_863"); ITT(864,36207,"ui\techs\mass_cavalry\mass_cavalry"); ITS(865,36261,"ui\techs\hc_explorer_dutch_stadhouder\hc_explorer_dutch"); ITS(866,36262,"spec\techs\TK_866"); ITS(867,36263,"spec\techs\TK_867"); ITS(868,36269,"ui\techs\hc_infantry_damage\hc_infantry_damage"); ITS(869,36271,"ui\techs\hc_team_infantry_hitpoints\hc_team_infantry_hitpoints"); ITS(870,36275,"ui\techs\hc_infantry_combat\hc_infantry_combat"); ITS(871,36276,"spec\techs\TK_871"); ITS(872,36277,"spec\techs\TK_872"); ITS(873,36278,"spec\techs\TK_873"); ITS(874,36279,"spec\techs\TK_874"); ITS(875,36281,"ui\techs\hc_cavalry_combat\hc_cavalry_combat"); ITS(876,36285,"ui\techs\hc_team_coehorn_mortars\hc_team_coehorn_mortars"); ITS(877,36288,"ui\techs\hc_bank_of_amsterdam\hc_bank_of_amsterdam"); ITS(878,36291,"ui\techs\hc_bank_of_rotterdam\hc_bank_of_rotterdam"); ITS(879,36294,"ui\techs\hc_team_spice_trade\hc_team_spice_trade"); ITS(880,36297,"units/naval\fluyt\fluyt_icon_64x64"); //weird it has no number ITS(881,36298,"spec\techs\TK_881"); ITS(882,36300,"ui\techs\hc_team_cheap_markets\hc_team_cheap_market"); ITS(883,36335,"ui\techs\hc_team_early_dragoons\hc_team_early_dragoons"); ITS(884,36339,"ui\techs\hc_team_cheap_docks\hc_team_cheap_docks"); ITS(885,36343,"ui\techs\hc_team_cheap_priests\hc_team_cheap_priests"); ITS(886,36347,"ui\techs\hc_team_dueling_school\hc_team_dueling_school"); ITS(887,36351,"ui\techs\hc_team_cold_water_port\hc_team_cold_water_port"); ITS(888,36355,"ui\techs\hc_team_early_skirmishers\hc_team_early_skirmishers"); ITS(889,36360,"ui\techs\hc_team_cheap_church\hc_team_cheap_church"); ITS(890,36363,"ui\techs\hc_team_rum_distillery\hc_team_rum_distillery"); ITS(891,36365,"spec\techs\TK_891"); ITS(892,36375,"spec\techs\TK_892"); ITS(893,36378,"ui\techs\hc_team_teutonic_town_center\hc_team_teutonic_town_center"); ITS(894,36383,"spec\techs\TK_894"); ITS(895,36402,"spec\techs\TK_895"); ITS(896,36403,"spec\techs\TK_896"); ITS(897,36404,"spec\techs\TK_897"); ITS(898,36406,"spec\techs\TK_898"); ITS(899,36407,"spec\techs\TK_899"); ITS(900,36410,"spec\techs\TK_900"); ITS(901,36411,"spec\techs\TK_901"); ITS(902,36413,"spec\techs\TK_902"); ITS(903,36414,"spec\techs\TK_903"); ITS(904,36415,"spec\techs\TK_904"); ITS(905,36416,"spec\techs\TK_905"); ITS(906,36417,"spec\techs\TK_906"); ITS(907,36418,"spec\techs\TK_907"); ITS(908,36422,"spec\techs\TK_908"); ITS(909,36423,"spec\techs\TK_909"); ITS(910,36432,"spec\techs\TK_910"); ITS(911,36433,"spec\techs\TK_911"); ITS(912,36434,"spec\techs\TK_912"); ITS(913,36440,"spec\techs\TK_913"); ITS(914,36441,"spec\techs\TK_914"); ITS(915,36442,"spec\techs\TK_915"); ITS(916,36443,"spec\techs\TK_916"); ITS(917,36446,"spec\techs\TK_917"); ITS(918,36447,"spec\techs\TK_918"); ITS(919,36449,"ui\techs\hc_native_diplomacy1\hc_native_diplomacy1"); ITS(920,36452,"ui\techs\treaty\treaty"); ITS(921,36454,"ui\techs\hc_native_warriors\hc_native_warriors"); ITS(922,36462,"ui\techs\hc_improved_buildings\hc_improved_buildings"); ITS(923,36466,"ui\techs\hc_advanced_arsenal\hc_advanced_arsenal"); ITS(924,36468,"spec\techs\TK_924"); ITS(925,36470,"ui\techs\hc_fencing_school\hc_fencing_school"); ITS(926,36472,"ui\techs\hc_riding_school\hc_riding_school"); ITS(927,36474,"ui\techs\hc_royal_decree\hc_royal_decree"); ITS(928,36476,"ui\techs\hc_advanced_mill\hc_advanced_mill"); ITS(929,36479,"ui\techs\hc_advanced_market\hc_advanced_market"); ITS(930,36482,"ui\techs\hc_advanced_plantation\hc_advanced_plantation"); ITS(931,36485,"ui\techs\hc_advanced_dock\hc_advanced_dock"); ITS(932,36488,"spec\techs\TK_932"); ITS(933,36494,"units\spc\john_black\john_black_icon_64x64"); ITS(934,36498,"ui\techs\royal_guard_infantry\royal_guard_infantry"); ITS(935,36501,"units\spc\amelia_black\amelia_black_icon_64x64"); ITS(936,36503,"ui\techs\hc_fish_market\hc_fish_market"); ITS(937,36505,"ui\techs\hc_rendering_plant\hc_rendering_plant"); ITS(938,36507,"ui\techs\hc_sawmills\hc_sawmills"); ITS(939,36509,"ui\techs\hc_exotic_hardwoods\hc_exotic_hardwoods"); ITS(940,36511,"ui\techs\hc_team_explorer_combat\hc_team_explorer_combat"); ITS(941,36514,"ui\techs\hc_team_archaic_soldier_training\hc_team_archaic_soldier_training"); ITS(942,36534,"ui\techs\hc_silver_smith\hc_silver_smith"); ITS(943,36536,"ui\techs\hc_establish_royal_mint\hc_establish_royal_mint"); ITS(944,36538,"ui\techs\hc_sustainable_agriculture\hc_sustainable_agriculture"); ITS(945,36540,"ui\techs\hc_refrigeration\hc_refrigeration"); ITS(946,36542,"ui\techs\hc_furrier\hc_furrier"); ITS(947,36544,"ui\techs\hc_spice_trade\hc_spice_trade"); ITS(948,36547,"ui\techs\hc_medicine\hc_medicine"); ITS(949,36549,"ui\techs\hc_rum_distillery\hc_rum_distillery"); ITS(950,36551,"ui\techs\hc_cigar_roller\hc_cigar_roller"); ITS(951,36553,"ui\techs\hc_textile_mill\hc_textile_mill"); ITS(952,36555,"ui\techs\hc_stone_masons\hc_stone_masons"); ITS(953,36567,"spec\techs\TK_953"); ITS(954,36568,"spec\techs\TK_954"); ITS(955,36569,"spec\techs\TK_955"); ITS(956,36570,"spec\techs\TK_956"); ITS(957,36572,"ui\techs\carronade\carronade"); ITS(958,36573,"spec\techs\TK_958"); ITS(959,36575,"ui\techs\hc_admirality\hc_admirality"); ITS(960,36578,"ui\techs\hc_mercenary_loyalty\hc_mercenary_loyalty"); ITS(961,36582,"spec\techs\TK_961"); ITS(962,36585,"ui\techs\hc_team_native_warrior_societies\hc_team_warrior_societies"); ITS(964,36609,"ui\techs\hc_guild_artisans\hc_guild_artisans"); ITT(965,36619,"ui\techs\levy\levy"); ITS(969,36702,"spec\techs\TK_969"); ITS(970,36705,"spec\techs\TK_970"); ITS(971,36708,"spec\techs\TK_971"); ITS(972,36711,"spec\techs\TK_972"); ITS(973,36713,"spec\techs\TK_973"); ITS(974,36715,"spec\techs\TK_974"); ITS(975,36717,"spec\techs\TK_975"); ITS(976,36719,"spec\techs\TK_976"); ITS(977,36721,"spec\techs\TK_977"); ITS(978,36723,"spec\techs\TK_978"); ITS(979,36727,"spec\techs\TK_979"); ITS(980,36729,"spec\techs\TK_980"); ITT(981,36749,"ui\techs\guard_artillery\guard_artillery"); ITS(982,36823,"spec\techs\TK_982"); ITS(983,36824,"spec\techs\TK_983"); ITS(984,36846,"spec\techs\TK_984"); ITS(985,36847,"spec\techs\TK_985"); ITS(986,36848,"spec\techs\TK_986"); ITS(987,36849,"spec\techs\TK_987"); ITS(988,36855,"ui\techs\hc_native_diplomacy1\hc_native_diplomacy1"); ITS(989,36880,"spec\techs\TK_989"); ITS(990,36881,"spec\techs\TK_990"); ITS(991,36906,"spec\techs\TK_991"); ITS(992,36908,"spec\techs\TK_992"); ITS(993,36910,"spec\techs\TK_993"); ITS(994,36912,"spec\techs\TK_994"); ITS(995,36917,"spec\techs\TK_995"); ITS(996,36921,"spec\techs\TK_996"); ITS(997,36925,"ui\techs\hc_cavalry_combat\hc_cavalry_combat"); ITS(998,36927,"spec\techs\TK_998"); ITS(999,36928,"spec\techs\TK_999"); ITS(1000,36934,"ui\techs\hc_ranged_infantry_hitpoints\hc_ranged_infantry_hitpoints"); ITT(1001,37011,"ui\techs\imperial_artillery\imperial_artillery"); ITT(1002,37020,"ui\ingame\icon_age_v"); ITT(1003,37022,"ui\techs/native_tanning/nat_tanning"); ITT(1004,37024,"ui\techs/native_lacrosse/nat_lacrosse"); ITT(1005,37183,"ui\techs\mass_production\mass_production"); ITS(1006,37267,"ui\techs\strelet_horde\strelet_horde_icon_64x64"); ITS(1007,37269,"ui\techs\unicorne_mortars\unicorne_mortars"); ITS(1008,37270,"spec\techs\TK_1008"); ITS(1009,37272,"ui\techs\hc_ransack\hc_ransack"); ITS(1010,37274,"spec\techs\TK_1010"); ITS(1011,37275,"spec\techs\TK_1011"); ITS(1012,37279,"ui\techs\hc_wilderness_warfare\hc_wilderness_warfare"); ITS(1013,37281,"ui\techs\hc_spanish_galleons\hc_spanish_galleons"); ITS(1014,37282,"spec\techs\TK_1014"); ITS(1015,37413,"spec\techs\TK_1015"); ITS(1016,37289,"spec\techs\TK_1016"); ITS(1017,37290,"spec\techs\TK_1017"); ITS(1018,37292,"spec\techs\TK_1018"); ITS(1019,37295,"spec\techs\TK_1019"); ITS(1020,37296,"spec\techs\TK_1020"); ITS(1021,37298,"ui\techs\hc_acemi_olglan_school\hc_acemi_olglan_school"); ITS(1022,37301,"spec\techs\TK_1022"); ITS(1023,37306,"ui\techs\hc_schooners\hc_schooners"); ITS(1024,37308,"ui\techs\hc_stockyards\hc_stockyards"); ITS(1025,37310,"spec\techs\TK_1025"); ITS(1026,37312,"spec\techs\TK_1026"); ITS(1027,37314,"ui\techs\hc_tulip_speculation\hc_tulip_speculation"); ITS(1028,37320,"ui\techs\hc_team_monitor_combat\hc_team_monitor_combat"); ITS(1029,37323,"spec\techs\TK_1029"); ITS(1030,37325,"ui\techs\hc_fulling_mills\hc_fulling_mills"); ITS(1031,37329,"ui\techs\hc_estates\hc_estates"); ITS(1032,37335,"spec\techs\TK_1032"); ITS(1033,37337,"spec\techs\TK_1033"); ITS(1034,37339,"spec\techs\TK_1034"); ITS(1035,37340,"spec\techs\TK_1035"); ITS(1036,37342,"spec\techs\TK_1036"); ITS(1037,37347,"spec\techs\TK_1037"); ITS(1038,37355,"ui\techs\hc_team_coastal_defenses\hc_team_coastal_defenses"); ITS(1039,37361,"ui\techs\hc_caballeros\hc_caballeros"); ITS(1040,37363,"ui\techs\hc_colonial_estancias\hc_colonial_estancias"); ITS(1043,37408,"ui\techs\hc_donatarios\hc_donatarios"); ITS(1044,37411,"spec\techs\TK_1044"); ITS(1045,37418,"spec\techs\TK_1045"); ITS(1046,37420,"ui\techs\hc_portuguese_white_fleet\hc_portuguese_white_fleet"); ITS(1047,37422,"spec\techs\TK_1047"); ITS(1048,37439,"spec\techs\TK_1048"); ITS(1049,37440,"spec\techs\TK_1049"); ITS(1050,37441,"spec\techs\TK_1050"); ITS(1051,37442,"spec\techs\TK_1051"); ITS(1052,37446,"spec\techs\TK_1052"); ITS(1053,37447,"spec\techs\TK_1053"); ITS(1054,37450,"spec\techs\TK_1054"); ITS(1055,37452,"ui\techs\hc_block_house_cannon\hc_block_house_cannon"); ITS(1057,37519,"ui\techs\hc_spanish_riding_school\hc_spanish_riding_school"); ITS(1058,37520,"spec\techs\TK_1058"); ITS(1059,37523,"ui\techs\hc_hand_cavalry_combat\hc_hand_cavalry_combat"); ITS(1060,37527,"spec\techs\TK_1060"); ITS(1061,37529,"ui\techs\hc_royal_decree\hc_royal_decree"); ITS(1062,37544,"ui\techs\hc_royal_decree\hc_royal_decree"); ITS(1063,37546,"ui\techs\hc_royal_decree\hc_royal_decree"); ITS(1064,37548,"ui\techs\hc_royal_decree\hc_royal_decree"); ITS(1065,37550,"ui\techs\hc_royal_decree\hc_royal_decree"); ITS(1066,37552,"ui\techs\hc_royal_decree\hc_royal_decree"); ITS(1067,38282,"ui\techs\field_gun\shot_tower"); ITS(1068,38290,"buildings\house\house_icon"); ITT(1069,38297,"ui\techs\caracole\caracole"); ITS(1070,41554,"spec\techs\TK_1070"); ITS(1071,41556,"buildings\mill\mill_icon"); ITS(1072,41664,"spec\techs\TK_1072"); ITS(1073,41675,"spec\techs\TK_1073"); ITT(1076,41943,"ui\ingame\icon_age_ii"); ITT(1077,41958,"ui\techs\koprulu_viziers\koprulu_viziers_icon_64x64"); ITT(1078,41960,"ui\techs\galata_tower_district\galata_tower_district_icon_64x64"); ITT(1079,41962,"ui\techs\tanzimat\tanzimat_icon_64x64"); ITS(1081,42158,"spec\techs\TK_1081"); ITS(1082,42159,"spec\techs\TK_1082"); ITS(1083,42197,"spec\techs\TK_1083"); ITS(1084,42198,"spec\techs\TK_1084"); ITS(1085,42200,"spec\techs\TK_1085"); ITS(1086,42201,"spec\techs\TK_1086"); ITS(1087,42203,"spec\techs\TK_1087"); ITS(1088,42206,"spec\techs\TK_1088"); ITS(1089,42208,"spec\techs\TK_1089"); ITS(1090,42210,"spec\techs\TK_1090"); ITS(1091,42212,"spec\techs\TK_1091"); ITS(1092,42214,"spec\techs\TK_1092"); ITS(1093,42216,"spec\techs\TK_1093"); ITS(1094,42218,"spec\techs\TK_1094"); ITT(1098,42331,"ui\ingame\icon_age_iv"); ITT(1099,42333,"ui\ingame\icon_age_iv"); ITS(1100,42371,"spec\techs\TK_1100"); ITS(1101,42396,"spec\techs\TK_1101"); ITS(1102,42880,"ui\techs\hc_battlefield_construction\hc_battlefield_construction"); ITT(1107,43512,"ui\techs/native\elite_ranged_infantry"); ITT(1108,43516,"ui\techs/native\elite_ranged_infantry"); ITT(1109,43520,"ui\techs/native\champion_siege"); ITT(1110,43524,"ui\techs/native\champion_siege"); ITT(1111,43528,"ui\techs/native\elite_cavalry"); ITT(1112,43532,"ui\techs/native\champion_cavalry"); ITT(1113,43536,"ui\techs/native\champion_ranged_infantry"); ITT(1114,43540,"ui\techs/native\champion_ranged_infantry"); ITT(1115,43544,"ui\techs/native\champion_cavalry"); ITT(1116,43548,"ui\techs/native\champion_ranged_infantry"); ITT(1117,43562,"ui\techs\field_gun\field_gun_64x64"); ITT(1118,43566,"ui\techs/native\legendary_siege"); ITT(1119,43570,"ui\techs/native\legendary_ranged_infantry"); ITT(1120,43574,"ui\techs/native\legendary_cavalry"); ITT(1121,43577,"ui\techs/native\legendary_siege"); ITT(1122,43580,"ui\techs/native\legendary_siege"); ITT(1123,43583,"ui\techs/native\legendary_cavalry"); ITT(1124,43586,"ui\techs/native\legendary_ranged_infantry"); ITT(1125,43589,"ui\techs/native\legendary_ranged_infantry"); ITT(1126,43606,"ui\techs/native\mighty_warhut"); ITT(1127,43609,"ui\techs/native\strong_warhut"); ITT(1144,43705,"ui\ingame\icon_age_ii"); ITT(1145,43707,"ui\ingame\icon_age_iii"); ITT(1146,43709,"ui\ingame\icon_age_iv"); ITT(1147,43711,"ui\ingame\icon_age_v"); ITT(1148,43713,"ui\ingame\icon_age_ii"); ITT(1149,43715,"ui\ingame\icon_age_iii"); ITT(1150,43717,"ui\ingame\icon_age_iv"); ITT(1151,43719,"ui\ingame\icon_age_v"); ITT(1152,43721,"ui\ingame\icon_age_ii"); ITT(1153,43723,"ui\ingame\icon_age_iii"); ITT(1154,43725,"ui\ingame\icon_age_iv"); ITT(1155,43727,"ui\ingame\icon_age_v"); ITT(1156,43729,"ui\ingame\icon_age_ii"); ITT(1157,43731,"ui\ingame\icon_age_iii"); ITT(1158,43733,"ui\ingame\icon_age_iv"); ITT(1159,43735,"ui\ingame\icon_age_v"); ITT(1160,43737,"ui\ingame\icon_age_ii"); ITT(1161,43739,"ui\ingame\icon_age_iii"); ITT(1162,43741,"ui\ingame\icon_age_iv"); ITT(1163,43743,"ui\ingame\icon_age_v"); ITS(1164,43744,"spec\techs\TK_1164"); ITS(1165,43745,"spec\techs\TK_1165"); ITS(1166,43746,"spec\techs\TK_1166"); ITS(1167,43747,"spec\techs\TK_1167"); ITS(1168,43749,"spec\techs\TK_1168"); ITS(1169,43751,"spec\techs\TK_1169"); ITS(1170,43753,"spec\techs\TK_1170"); ITS(1171,43758,"spec\techs\TK_1171"); ITS(1172,43759,"spec\techs\TK_1172"); ITS(1173,43760,"spec\techs\TK_1173"); ITS(1174,43761,"spec\techs\TK_1174"); ITS(1175,43762,"spec\techs\TK_1175"); ITS(1176,43763,"spec\techs\TK_1176"); ITS(1177,43764,"spec\techs\TK_1177"); ITS(1178,43765,"spec\techs\TK_1178"); ITS(1179,43766,"spec\techs\TK_1179"); ITS(1180,43767,"spec\techs\TK_1180"); ITS(1181,43768,"spec\techs\TK_1181"); ITS(1182,43769,"spec\techs\TK_1182"); ITS(1183,43770,"spec\techs\TK_1183"); ITS(1184,43771,"spec\techs\TK_1184"); ITS(1185,43772,"spec\techs\TK_1185"); ITS(1186,43774,"ui\techs\hc_cavalry_damage\hc_cavalry_damage"); ITS(1187,43780,"ui\techs\hc_cavalry_hitpoints\hc_cavalry_hitpoints"); ITS(1188,43783,"ui\techs\hc_infantry_combat\hc_infantry_combat"); ITS(1189,43786,"ui\techs\hc_infantry_damage\hc_infantry_damage"); ITS(1190,43789,"ui\techs\hc_infantry_hitpoints\hc_infantry_hitpoints"); ITS(1191,43791,"spec\techs\TK_1191"); ITS(1192,43792,"spec\techs\TK_1192"); ITS(1193,43794,"ui\techs/native\advanced_farm"); ITS(1194,43804,"spec\techs\TK_1194"); ITS(1195,43806,"spec\techs\TK_1195"); ITS(1196,43808,"spec\techs\TK_1196"); ITS(1197,43810,"spec\techs\TK_1197"); ITS(1198,43812,"spec\techs\TK_1198"); ITS(1199,43814,"spec\techs\TK_1199"); ITS(1200,43823,"spec\techs\TK_1200"); ITS(1201,43825,"spec\techs\TK_1201"); ITS(1202,43826,"spec\techs\TK_1202"); ITT(1203,43866,"ui\techs/native\legendary_ranged_infantry"); ITT(1204,43936,"ui\techs/native\elite_ranged_infantry"); ITT(1205,43940,"ui\techs/native\elite_infantry"); ITT(1206,43944,"ui\techs/native\champion_ranged_infantry"); ITT(1207,43948,"ui\techs/native\champion_infantry"); ITT(1208,43960,"ui\techs/native\champion_cavalry"); ITS(1209,43967,"spec\techs\TK_1209"); ITS(1210,43968,"spec\techs\TK_1210"); ITT(1211,43979,"ui\techs/native\elite_ranged_infantry"); ITT(1212,43982,"ui\techs/native\elite_infantry"); ITT(1213,43985,"ui\techs/native\champion_ranged_infantry"); ITT(1214,43988,"ui\techs/native\champion_infantry"); ITS(1215,44009,"spec\techs\TK_1215"); ITS(1216,44025,"ui\techs/native\great_house"); ITS(1217,44031,"ui\techs\hc_battlefield_construction\hc_battlefield_construction"); ITS(1218,44035,"ui\techs/native\warrior_culture"); ITS(1219,44038,"ui\techs/native\War_Houses"); ITS(1220,44042,"ui\techs\hc_extensive_fortifications\hc_extensive_fortifications"); ITS(1221,44049,"spec\techs\TK_1221"); ITS(1222,44050,"spec\techs\TK_1222"); ITS(1223,44051,"spec\techs\TK_1223"); ITS(1224,44053,"ui\techs\team_birchbark"); ITS(1225,44057,"spec\techs\TK_1225"); ITS(1226,44058,"spec\techs\TK_1226"); ITS(1227,44059,"spec\techs\TK_1227"); ITS(1228,44060,"spec\techs\TK_1228"); ITS(1229,44061,"spec\techs\TK_1229"); ITS(1230,44062,"spec\techs\TK_1230"); ITS(1235,44074,"spec\techs\TK_1235"); ITS(1236,44076,"ui\techs/native\High_Chief"); ITS(1237,44080,"ui\techs/native\High_Priest_Ixil"); ITS(1238,44083,"ui\techs/native\Smoke_Signals"); ITS(1239,44086,"ui\techs/native\Town_Destroyer"); ITS(1240,44092,"spec\techs\TK_1240"); ITS(1241,44093,"spec\techs\TK_1241"); ITS(1242,44094,"spec\techs\TK_1242"); ITS(1243,44095,"spec\techs\TK_1243"); ITS(1244,44096,"spec\techs\TK_1244"); ITS(1245,44097,"spec\techs\TK_1245"); ITS(1246,44098,"spec\techs\TK_1246"); ITS(1247,44099,"spec\techs\TK_1247"); ITS(1248,44100,"spec\techs\TK_1248"); ITS(1249,44101,"spec\techs\TK_1249"); ITS(1250,44102,"spec\techs\TK_1250"); ITS(1251,44104,"ui\techs\team_scout_infantry"); ITS(1252,44107,"spec\techs\TK_1252"); ITS(1253,44108,"spec\techs\TK_1253"); ITS(1254,44109,"spec\techs\TK_1254"); ITS(1255,44112,"ui\techs\hc_artillary_hitpoints\hc_artillary_hitpoints"); ITS(1256,44114,"ui\techs\hc_artillary_damage\hc_artillary_damage"); ITT(1257,44128,"ui\techs/native\champion_ranged_infantry"); ITT(1258,44167,"ui\techs/native\champion_infantry"); ITT(1259,44171,"ui\techs/native\champion_ranged_infantry"); ITT(1260,44174,"ui\techs/native\champion_ranged_infantry"); ITT(1261,44177,"ui\techs/native\champion_infantry"); ITT(1262,44183,"ui\techs/native\elite_infantry"); ITT(1263,44199,"ui\techs/native\legendary_infantry"); ITT(1264,44202,"ui\techs/native\legendary_infantry"); ITT(1265,44206,"ui\techs/native\legendary_ranged_infantry"); ITT(1266,44209,"ui\techs/native\legendary_ranged_infantry"); ITT(1267,44212,"ui\techs/native\legendary_ranged_infantry"); ITT(1268,44215,"ui\techs/native\legendary_infantry"); ITS(1269,44223,"spec\techs\TK_1269"); ITS(1270,44224,"spec\techs\TK_1270"); ITS(1271,44225,"spec\techs\TK_1271"); ITS(1272,44226,"spec\techs\TK_1272"); ITS(1273,44227,"spec\techs\TK_1273"); ITS(1274,44228,"spec\techs\TK_1274"); ITS(1275,44229,"spec\techs\TK_1275"); ITS(1276,44231,"ui\techs/native\coyote_combat"); ITS(1277,44234,"spec\techs\TK_1277"); ITS(1278,44235,"spec\techs\TK_1278"); ITS(1279,44236,"spec\techs\TK_1279"); ITS(1280,44237,"spec\techs\TK_1280"); ITS(1281,44238,"spec\techs\TK_1281"); ITS(1282,44239,"spec\techs\TK_1282"); ITS(1283,44240,"spec\techs\TK_1283"); ITS(1284,44242,"ui\techs/native\War_Hut_Training"); ITS(1285,44244,"spec\techs\TK_1285"); ITS(1286,44245,"spec\techs\TK_1286"); ITS(1287,44246,"spec\techs\TK_1287"); ITS(1288,44247,"spec\techs\TK_1288"); ITS(1289,44248,"spec\techs\TK_1289"); ITS(1290,44249,"spec\techs\TK_1290"); ITS(1291,44250,"spec\techs\TK_1291"); ITS(1292,44251,"spec\techs\TK_1292"); ITS(1293,44252,"spec\techs\TK_1293"); ITS(1294,44253,"spec\techs\TK_1294"); ITS(1295,44255,"ui\techs/native\Scorched_Earth"); ITS(1296,44259,"ui\techs\hc_infantry_damage\hc_infantry_damage"); ITS(1297,44263,"ui\techs\hc_infantry_hitpoints\hc_infantry_hitpoints"); ITS(1298,44267,"ui\techs\hc_infantry_combat\hc_infantry_combat"); ITS(1299,44270,"spec\techs\TK_1299"); ITS(1300,44271,"spec\techs\TK_1300"); ITS(1301,44272,"spec\techs\TK_1301"); ITS(1302,44273,"spec\techs\TK_1302"); ITS(1303,44275,"ui\techs/native\Aztec_Fortification"); ITT(1304,44278,"ui\techs/native\strong_warhut"); ITT(1305,44283,"ui\techs/native\mighty_warhut"); ITS(1306,44287,"ui\techs/native\Artificial_Islands"); ITS(1307,44291,"ui\techs\team_schooners"); ITS(1308,44298,"spec\techs\TK_1308"); ITS(1309,44299,"spec\techs\TK_1309"); ITS(1310,44301,"ui\techs/native\cheap_war_hut"); ITT(1311,44305,"ui\techs\warrior_society\warrior_society"); ITT(1312,44309,"ui\techs\warrior_society\warrior_society"); ITT(1313,44313,"ui\techs\champion_natives\champion_natives"); ITT(1314,44317,"ui\techs\champion_natives\champion_natives"); ITS(1315,44320,"spec\techs\TK_1315"); ITS(1316,44321,"spec\techs\TK_1316"); ITS(1317,44322,"spec\techs\TK_1317"); ITS(1318,44323,"spec\techs\TK_1318"); ITS(1319,44324,"spec\techs\TK_1319"); ITS(1320,44325,"spec\techs\TK_1320"); ITS(1321,44326,"spec\techs\TK_1321"); ITS(1322,44329,"ui\techs/native\temple_xipe"); ITS(1323,44331,"spec\techs\TK_1323"); ITS(1324,44333,"spec\techs\TK_1324"); ITS(1325,44335,"spec\techs\TK_1325"); ITS(1326,44337,"spec\techs\TK_1326"); ITS(1327,44339,"spec\techs\TK_1327"); ITS(1328,44341,"spec\techs\TK_1328"); ITS(1329,44343,"spec\techs\TK_1329"); ITS(1330,44345,"spec\techs\TK_1330"); ITS(1331,44347,"ui\techs/native\Wood_Crafting"); ITS(1332,44350,"ui\techs\team_silver_smith"); ITS(1333,44355,"ui\techs/native\Aztec_Mining"); ITS(1334,44360,"ui\techs/native_chinampa/nat_chinampa"); ITS(1335,44364,"ui\techs/native\great_chinampa"); ITS(1336,44375,"ui\techs\team_exotic_hardwoods"); ITT(1337,44379,"ui\techs\warrior_society\warrior_society"); ITT(1338,44383,"ui\techs\warrior_society\warrior_society"); ITT(1339,44387,"ui\techs\warrior_society\warrior_society"); ITT(1340,44391,"ui\techs\warrior_society\warrior_society"); ITT(1341,44395,"ui\techs\champion_natives\champion_natives"); ITT(1342,44399,"ui\techs\champion_natives\champion_natives"); ITT(1343,44403,"ui\techs\champion_natives\champion_natives"); ITT(1344,44407,"ui\techs\champion_natives\champion_natives"); ITS(1345,44437,"ui\techs/native\Counting_Coup"); ITS(1346,44439,"spec\techs\TK_1346"); ITS(1347,44441,"spec\techs\TK_1347"); ITS(1348,44443,"spec\techs\TK_1348"); ITS(1349,44445,"spec\techs\TK_1349"); ITS(1350,44447,"spec\techs\TK_1350"); ITS(1351,44449,"ui\techs/native\Great_Hunt"); ITS(1352,44452,"ui\techs/native\Adoption"); ITS(1353,44455,"spec\techs\TK_1353"); ITS(1354,44456,"spec\techs\TK_1354"); ITS(1355,44457,"spec\techs\TK_1355"); ITS(1356,44458,"spec\techs\TK_1356"); ITS(1357,44459,"spec\techs\TK_1357"); ITS(1358,44460,"spec\techs\TK_1358"); ITS(1359,44461,"spec\techs\TK_1359"); ITS(1360,44462,"spec\techs\TK_1360"); ITS(1361,44463,"spec\techs\TK_1361"); ITS(1362,44464,"spec\techs\TK_1362"); ITS(1363,44465,"spec\techs\TK_1363"); ITS(1364,44466,"spec\techs\TK_1364"); ITS(1365,44467,"spec\techs\TK_1365"); ITS(1366,44472,"ui\techs\hc_cavalry_damage\hc_cavalry_damage"); ITS(1367,44475,"ui\techs\hc_cavalry_hitpoints\hc_cavalry_hitpoints"); ITS(1368,44478,"ui\techs\hc_cavalry_combat\hc_cavalry_combat"); ITS(1369,44481,"spec\techs\TK_1369"); ITS(1370,44482,"spec\techs\TK_1370"); ITS(1371,44483,"spec\techs\TK_1371"); ITS(1372,44484,"spec\techs\TK_1372"); ITS(1373,44485,"ui\units\sx_dog_soldier_icon"); ITS(1374,44486,"ui\units\sx_dog_soldier_icon"); ITS(1375,44487,"ui\units\sx_dog_soldier_icon"); ITS(1376,44488,"ui\units\sx_dog_soldier_icon"); ITS(1377,44489,"ui\techs\team_dog_soldier"); ITS(1378,44490,"ui\techs\team_dog_soldier"); ITS(1379,44495,"ui\techs/native\Onikare"); ITT(1380,44598,"ui\techs/native\great_feast"); ITT(1381,44600,"ui\techs/native\harvest_ceremony"); ITT(1382,44602,"ui\techs/native\green_corn_ceremony"); ITT(1383,44604,"ui\techs/native\spirit_medicine"); ITT(1384,44606,"ui\techs/native\forest_spirit"); ITT(1385,44608,"ui\techs/native\forest_people"); ITT(1386,44610,"ui\techs/native\lumber_ceremony"); ITT(1387,44612,"ui\techs/native\earth_ceremony"); ITT(1388,44614,"ui\techs/native\earth_gift"); ITS(1389,44626,"ui\techs/native\Wood_Crafting"); ITS(1390,44630,"spec\techs\TK_1390"); ITS(1391,44634,"spec\techs\TK_1391"); ITS(1392,44638,"ui\techs/native\Center_of_Power"); ITS(1393,44640,"ui\units\HC_pet_cougar"); ITS(1394,44641,"ui\units\HC_pet_beargrizzly"); ITS(1395,44642,"spec\techs\TK_1395"); ITS(1396,44643,"spec\techs\TK_1396"); ITS(1397,44644,"spec\techs\TK_1397"); ITS(1398,44645,"spec\techs\TK_1398"); ITS(1399,44648,"ui\techs/native\Black_Arrow"); ITS(1400,44663,"spec\techs\TK_1400"); ITS(1401,44664,"spec\techs\TK_1401"); ITS(1402,44665,"spec\techs\TK_1402"); ITS(1403,44666,"spec\techs\TK_1403"); ITS(1404,44667,"spec\techs\TK_1404"); ITS(1405,44668,"spec\techs\TK_1405"); ITS(1406,44669,"spec\techs\TK_1406"); ITS(1407,44670,"spec\techs\TK_1407"); ITS(1408,44672,"spec\techs\TK_1408"); ITS(1409,44676,"spec\techs\TK_1409"); ITS(1410,44680,"spec\techs\TK_1410"); ITS(1411,44684,"spec\techs\TK_1411"); ITS(1412,44688,"spec\techs\TK_1412"); ITS(1413,44693,"spec\techs\TK_1413"); ITS(1414,44697,"spec\techs\TK_1414"); ITS(1415,44701,"spec\techs\TK_1415"); ITS(1416,44704,"spec\techs\TK_1416"); ITS(1417,44709,"spec\techs\TK_1417"); ITS(1418,44713,"spec\techs\TK_1418"); ITS(1419,44714,"spec\techs\TK_1419"); ITS(1420,44715,"spec\techs\TK_1420"); ITS(1421,44717,"ui\techs/native\Smoking_Mirror"); ITS(1422,44719,"spec\techs\TK_1422"); ITS(1423,44720,"spec\techs\TK_1423"); ITT(1424,44724,"ui\techs/native\excessive_tribute"); ITT(1425,44726,"ui\techs/native\large_scale_gathering"); ITT(1426,44820,"ui\techs\veteran_infantry\veteran_infantry"); ITT(1427,44824,"ui\techs\guard_infantry\guard_infantry"); ITT(1428,45083,"ui\ingame\icon_age_ii"); ITT(1429,45085,"ui\ingame\icon_age_iii"); ITT(1430,45087,"ui\ingame\icon_age_iv"); ITT(1431,45089,"ui\ingame\icon_age_v"); ITT(1432,45091,"ui\ingame\icon_age_ii"); ITT(1433,45099,"ui\ingame\icon_age_ii"); ITT(1434,45101,"ui\ingame\icon_age_iii"); ITT(1435,45103,"ui\ingame\icon_age_iv"); ITT(1436,45105,"ui\ingame\icon_age_v"); ITT(1437,45107,"ui\ingame\icon_age_ii"); ITT(1438,45109,"ui\ingame\icon_age_iii"); ITT(1439,45111,"ui\ingame\icon_age_iv"); ITT(1440,45113,"ui\ingame\icon_age_v"); ITT(1441,45115,"ui\ingame\icon_age_ii"); ITT(1442,45117,"ui\ingame\icon_age_iii"); ITT(1443,45119,"ui\ingame\icon_age_iv"); ITT(1444,45121,"ui\ingame\icon_age_v"); ITT(1445,45123,"ui\techs\warrior_society\warrior_society"); ITT(1446,45126,"ui\ingame\icon_age_iii"); ITT(1447,45128,"ui\ingame\icon_age_iv"); ITT(1448,45130,"ui\ingame\icon_age_v"); ITT(1449,45132,"ui\ingame\icon_age_ii"); ITT(1450,45134,"ui\ingame\icon_age_iii"); ITT(1451,45136,"ui\ingame\icon_age_iv"); ITT(1452,45138,"ui\ingame\icon_age_v"); ITT(1453,45140,"ui\ingame\icon_age_ii"); ITT(1454,45142,"ui\ingame\icon_age_iii"); ITT(1455,45144,"ui\ingame\icon_age_iv"); ITT(1456,45146,"ui\ingame\icon_age_v"); ITT(1457,45148,"ui\ingame\icon_age_ii"); ITT(1458,45150,"ui\ingame\icon_age_iii"); ITT(1459,45152,"ui\ingame\icon_age_iv"); ITT(1460,45154,"ui\ingame\icon_age_v"); ITT(1461,45156,"ui\ingame\icon_age_ii"); ITT(1462,45158,"ui\ingame\icon_age_iii"); ITT(1463,45160,"ui\ingame\icon_age_iv"); ITT(1464,45162,"ui\ingame\icon_age_v"); ITT(1465,45164,"ui\ingame\icon_age_ii"); ITT(1466,45166,"ui\ingame\icon_age_iii"); ITT(1467,45168,"ui\ingame\icon_age_iv"); ITT(1468,45170,"ui\ingame\icon_age_v"); ITT(1469,45221,"ui\techs\revolution"); ITS(1470,45222,"spec\techs\TK_1470"); ITS(1471,45223,"spec\techs\TK_1471"); ITS(1472,45224,"spec\techs\TK_1472"); ITS(1473,45225,"spec\techs\TK_1473"); ITT(1475,45356,"ui\fire_pit\war_dance"); ITT(1476,45360,"ui\techs/native\Cult_of_the_Dead"); ITT(1477,45362,"ui\techs/native\Food_of_the_gods"); ITT(1478,45364,"ui\techs/native\cloud_people"); ITT(1479,45366,"ui\techs/native_horse_trading/nat_horse_trading"); ITT(1480,45368,"ui\techs/native_hunting_grounds/nat_hunting_grounds"); ITT(1481,45370,"ui\techs/native\Fish_Wedding"); ITT(1482,45372,"ui\techs/native\Sun_Ceremony"); ITT(1483,45374,"ui\techs/native\trade_dominance"); ITT(1484,45380,"ui\techs/native\fury"); ITT(1485,45382,"ui\techs/native\Endurance"); ITT(1486,45384,"ui\techs/native\CactusUse"); ITT(1487,45386,"ui\techs/native\Raiders"); ITT(1488,45388,"ui\techs\warrior_society\warrior_society"); ITT(1489,45393,"ui\techs\champion_natives\champion_natives"); ITT(1490,45398,"ui\techs/native\Strategy"); ITT(1491,45400,"ui\techs/native\huckleberry_festival"); ITT(1492,45402,"ui\techs/native\work_ethos"); ITT(1493,45404,"ui\techs/native\Craftmanship"); ITT(1494,45406,"ui\techs/native\Shepherds"); ITT(1495,45408,"ui\techs/native\weaving"); ITT(1496,45417,"ui\techs/native\ad-Mapu"); ITS(1497,45423,"ui\techs/native\Morning_Star"); ITT(1498,45427,"ui\techs/native\treaty_of_quillin"); ITT(1499,45429,"ui\techs/native\Tactics"); ITT(1500,45458,"ui\techs\warrior_society\warrior_society"); ITT(1501,45502,"ui\techs\military_drummers\military_drummers"); ITT(1507,45662,"ui\techs\deforestation\deforestation"); ITT(1508,45668,"ui\techs/native\elite_cavalry"); ITT(1509,45678,"ui\techs/native\champion_cavalry"); ITT(1510,45682,"ui\techs/native\champion_cavalry"); ITT(1511,45689,"ui\techs/native\legendary_cavalry"); ITT(1512,45692,"ui\techs/native\legendary_cavalry"); ITT(1513,45695,"ui\techs/native\legendary_cavalry"); ITT(1514,45701,"ui\techs/native\legendary_infantry"); ITT(1515,45704,"ui\techs/native\legendary_ranged_infantry"); ITS(1529,45952,"ui\units\az_war_canoe_icon"); ITT(1531,45958,"ui\techs\revolution"); ITT(1532,45960,"ui\techs\revolution"); ITT(1533,45962,"ui\techs\revolution"); ITT(1534,45964,"ui\techs\revolution"); ITT(1535,45966,"ui\techs\revolution"); ITT(1536,45968,"ui\techs\revolution"); ITT(1537,45970,"ui\techs\revolution"); ITT(1538,45972,"ui\techs\revolution"); ITT(1539,46001,"ui\techs\spies\spies"); ITT(1540,46003,"ui\techs\imperial_immigrants\imp_immigrants"); ITS(1541,46092,"ui\techs/native\HC_town_dance"); ITS(1542,46094,"ui\techs/native\HC_water_dance"); ITT(1543,46103,"units\spc\outlaws\outlaw_shotgun_icon"); ITT(1544,46105,"ui\units\fusilier_icon"); ITT(1545,46106,"units\mercenaries\mameluke\mameluke_icon_64x64"); ITT(1546,46107,"units\mercenaries\manchurian_archer\manchurian_archer_icon_64x64"); ITT(1547,46108,"units\mercenaries\hackapell\hackapell_icon"); ITT(1548,46109,"units\mercenaries\highlander\highlander_icon"); ITT(1549,46110,"units\mercenaries\landsknecht\landsknect_icon_64x64"); ITT(1550,46111,"units\mercenaries\balkan_stradiot\balkan_stradiot_icon_64x64"); ITT(1551,46112,"units\mercenaries\jaeger\hessian_jaeger_icon_64x64"); ITT(1552,46113,"units\mercenaries\samurai\ronin_icon"); ITT(1553,46114,"ui\units/ninja_icon"); ITT(1554,46132,"nuggets\outlaw_kidnap\outlaw_icon_64x64"); ITT(1555,46133,"units\spc\outlaws\outlaw_rider_icon_64x64"); ITT(1556,46134,"units\spc\pirates\pirate_icon"); ITT(1559,46139,"units\mercenaries\swiss_pikeman\swiss_pikeman_icon"); ITT(1560,46140,"ui\Units\elmeti_icon"); ITT(1561,46141,"units\mercenaries\barbary_corsair\barbary_corsair_icon_64x64"); ITT(1562,46142,"units\mercenaries\black_rider\black_rider_icon"); ITS(1573,46222,"spec\techs\TK_1573"); ITS(1574,46223,"spec\techs\TK_1574"); ITS(1575,46225,"spec\techs\TK_1575"); ITS(1576,46226,"spec\techs\TK_1576"); ITS(1577,46227,"spec\techs\TK_1577"); ITT(1578,46309,"ui\techs/native\elite_cavalry"); ITT(1579,46313,"ui\techs/native\champion_cavalry"); ITT(1580,46317,"ui\techs/native\legendary_cavalry"); ITS(1581,46344,"spec\techs\TK_1581"); ITS(1589,46498,"spec\techs\TK_1589"); ITS(1590,46500,"spec\techs\TK_1590"); ITS(1591,46509,"spec\techs\TK_1591"); ITS(1592,46512,"spec\techs\TK_1592"); ITS(1593,46513,"spec\techs\TK_1593"); ITS(1594,46517,"spec\techs\TK_1594"); ITS(1595,46519,"spec\techs\TK_1595"); ITS(1596,46540,"spec\techs\TK_1596"); ITS(1597,46542,"spec\techs\TK_1597"); ITS(1598,46544,"spec\techs\TK_1598"); ITS(1599,46546,"spec\techs\TK_1599"); ITS(1600,46548,"spec\techs\TK_1600"); ITS(1601,46549,"spec\techs\TK_1601"); ITS(1602,46712,"spec\techs\TK_1602"); ITS(1603,46714,"spec\techs\TK_1603"); ITS(1604,46716,"spec\techs\TK_1604"); ITS(1605,46788,"ui\techs/native\Dance_Hall"); ITS(1606,46792,"ui\techs/native\Master_Surgeons"); ITS(1607,46803,"ui\techs/native\Master_Surgeons"); ITS(1608,46808,"ui\techs/native\Dance_Hall"); ITS(1609,46811,"ui\techs/native\Ranching"); ITS(1610,46815,"ui\techs/native\Llama_Ranching"); ITS(1611,46820,"ui\techs/native\Kinship_Ties"); ITS(1612,46822,"spec\techs\TK_1612"); ITS(1613,46823,"spec\techs\TK_1613"); ITS(1614,46824,"ui\techs/native\Assassins"); ITS(1615,46828,"ui\techs/native\Informants"); ITS(1616,46832,"ui\techs\improved_grenades"); ITS(1617,46836,"spec\techs\TK_1617"); ITS(1618,46837,"spec\techs\TK_1618"); ITS(1619,46838,"spec\techs\TK_1619"); ITS(1620,46839,"spec\techs\TK_1620"); ITS(1621,46840,"spec\techs\TK_1621"); ITS(1622,46841,"spec\techs\TK_1622"); ITS(1623,46844,"spec\techs\TK_1623"); ITS(1624,46846,"spec\techs\TK_1624"); ITS(1625,46848,"ui\techs/native\Gribeauval_System"); ITS(1626,46852,"ui\techs/native\Sevastapol"); ITS(1627,46856,"ui\techs/native\Genitours"); ITS(1628,46862,"ui\techs/native\Irregulars"); ITS(1629,46866,"ui\techs/native\Economic_Theory"); ITS(1630,46870,"ui\techs/native\Land_Grab"); ITS(1631,46880,"ui\techs/native\AdvancedWhaling"); ITS(1632,46884,"spec\techs\TK_1632"); ITS(1633,46885,"spec\techs\TK_1633"); ITS(1634,46886,"ui\techs/native\Range_Finding"); ITS(1635,46890,"spec\techs\TK_1635"); ITS(1636,46893,"ui\techs/native\Solingen_Steel"); ITS(1637,46901,"ui\techs/native\Forced_March"); ITS(1638,46907,"spec\techs\TK_1638"); ITS(1640,46932,"ui\techs/native\Old_Ways"); ITS(1641,46935,"ui\techs/native\Old_Ways"); ITS(1642,46938,"ui\techs/native\Old_Ways"); ITS(1643,46941,"ui\techs\team_medicine"); ITS(1644,46946,"spec\techs\TK_1644"); ITS(1645,46953,"spec\techs\TK_1645"); ITS(1646,46954,"spec\techs\TK_1646"); ITS(1647,46955,"spec\techs\TK_1647"); ITS(1648,46956,"spec\techs\TK_1648"); ITS(1649,46957,"spec\techs\TK_1649"); ITS(1650,46959,"ui\techs/native/nomadic_Expansion"); ITS(1651,46963,"ui\techs/native\Friendly_Territory"); ITS(1652,46966,"spec\techs\TK_1652"); ITS(1653,46967,"spec\techs\TK_1653"); ITS(1654,46968,"spec\techs\TK_1654"); ITS(1655,46969,"spec\techs\TK_1655"); ITS(1656,46970,"spec\techs\TK_1656"); ITS(1657,46971,"spec\techs\TK_1657"); ITS(1658,46972,"spec\techs\TK_1658"); ITS(1659,46973,"spec\techs\TK_1659"); ITS(1660,46974,"spec\techs\TK_1660"); ITS(1661,46976,"spec\techs\TK_1661"); ITT(1662,46980,"ui\techs/native\Unction"); ITT(1663,46982,"ui\techs/native\State_Religion"); ITT(1664,46984,"ui\techs/native\Incendiary_Grenades"); ITS(1665,46985,"spec\techs\TK_1665"); ITS(1666,46987,"ui\techs/native\Blood Brothers"); ITS(1667,46990,"spec\techs\TK_1667"); ITS(1668,46991,"spec\techs\TK_1668"); ITS(1669,46992,"spec\techs\TK_1669"); ITS(1670,46993,"spec\techs\TK_1670"); ITS(1671,46995,"spec\techs\TK_1671"); ITS(1672,46997,"spec\techs\TK_1672"); ITS(1673,46998,"spec\techs\TK_1673"); ITS(1674,47000,"spec\techs\TK_1674"); ITT(1675,47002,"ui\techs/native\Dance_Hall"); ITS(1676,47006,"ui\techs/native\Capitalism"); ITS(1677,47010,"ui\techs/native\Colbertism"); ITS(1678,47014,"ui\techs/native\Distributivism"); ITS(1679,47025,"ui\techs/native\Unction"); ITS(1680,47029,"ui\techs/native\Tercio_Tactics"); ITS(1681,47033,"ui\techs/native\tirailleurs"); ITS(1682,47036,"ui\techs/native\Thoroughbreds"); ITS(1683,47043,"spec\techs\TK_1683"); ITS(1684,47048,"ui\techs/native\Offshore_Support"); ITS(1685,47051,"ui\techs/native\Florence_Nightingale"); ITS(1686,47057,"ui\techs/native\South_Sea_Bubble"); ITS(1687,47060,"spec\techs\TK_1687"); ITS(1688,47062,"ui\techs/native\Admiral_Tromp"); ITS(1689,47066,"spec\techs\TK_1689"); ITS(1690,47067,"spec\techs\TK_1690"); ITS(1691,47069,"ui\techs/native\Sublime_Porte"); ITS(1692,47074,"spec\techs\TK_1692"); ITS(1693,47075,"spec\techs\TK_1693"); ITS(1694,47076,"spec\techs\TK_1694"); ITS(1695,47078,"spec\techs\TK_1695"); ITS(1696,47080,"ui\techs/native\House_Braganca"); ITS(1697,47084,"ui\techs/native\Factory_Blueprints"); ITS(1698,47087,"spec\techs\TK_1698"); ITS(1699,47089,"ui\techs/native\suvorov_reforms"); ITS(1700,47094,"ui\techs/native\Spanish_Gold"); ITS(1701,47097,"spec\techs\TK_1701"); ITS(1702,47100,"spec\techs\TK_1702"); ITS(1703,47101,"spec\techs\TK_1703"); ITS(1704,47103,"ui\techs/native\Blood Brothers"); ITS(1705,47124,"ui\techs/native/new_Ways"); ITS(1706,47128,"ui\techs/native/new_Ways"); ITS(1707,47131,"spec\techs\TK_1707"); ITS(1708,47137,"spec\techs\TK_1708"); ITS(1709,47139,"ui\techs/native\Agrarian Ways"); ITS(1710,47168,"ui\techs/native\Marauders"); ITS(1711,47171,"spec\techs\TK_1711"); ITS(1712,47174,"ui\techs/native\Silent_Strike"); ITS(1713,47178,"ui\techs/native\Stone_Towers"); ITS(1714,47182,"ui\techs/native\Religious_Unity"); ITS(1715,47189,"ui\techs\hc_battlefield_construction\hc_battlefield_construction"); ITS(1716,47192,"spec\techs\TK_1716"); ITS(1717,47193,"spec\techs\TK_1717"); ITS(1718,47194,"spec\techs\TK_1718"); ITS(1719,47195,"ui\techs/native\Advanced_Scouts"); ITS(1720,47198,"ui\techs/native\Ruthlessness"); ITS(1721,47202,"ui\techs\hc_cavalry_damage\hc_cavalry_damage"); ITS(1722,47204,"spec\techs\TK_1722"); ITS(1723,47211,"spec\techs\TK_1723"); ITS(1725,47219,"spec\techs\TK_1725"); ITS(1726,47223,"ui\techs/native\Earth_Bounty"); ITS(1727,47226,"ui\techs/native\Evening_Star"); ITS(1728,47230,"ui\techs/native\mustangs"); ITS(1729,47234,"ui\techs/native\Wind_Runner"); ITS(1730,47236,"spec\techs\TK_1730"); ITS(1731,47238,"ui\techs/native\Command_Skill"); ITS(1732,47242,"ui\techs/native\Conservative_Tactics"); ITS(1733,47245,"ui\techs/native\Siege_Discipline"); ITS(1734,47248,"spec\techs\TK_1734"); ITS(1735,47250,"ui\techs/native\Siege_Combat"); ITS(1736,47261,"ui\techs/native\Fur_Trade"); ITS(1737,47265,"ui\techs/native/national_Unity"); ITS(1738,48418,"spec\techs\TK_1738"); ITS(1740,48820,"spec\techs\TK_1740"); ITT(1741,48833,"ui\techs\imperial_legendary_natives\imp_legendary_natives"); ITT(1742,48869,"ui\techs\hc_blockade\hc_blockade"); ITT(1743,48871,"units\spc\russian_cannon\russian_cannon_icon_64"); ITT(1744,48894,"ui\techs\imperial_artillery\imperial_artillery"); ITT(1745,48898,"ui\techs\guard_artillery\guard_artillery"); ITS(1746,48927,"spec\techs\TK_1746"); ITS(1747,60399,"spec\techs\TK_1747"); ITS(1748,60405,"spec\techs\TK_1748"); ITS(1749,60407,"spec\techs\TK_1749"); ITS(1750,60412,"ui\home_city\HC_indian_monk_combat_icon_64"); ITS(1751,60414,"ui\techs\asians\tech_train_disciple_icon_64"); ITS(1752,60416,"ui\home_city\HC_ship_monk_roundhouse_icon_64"); ITT(1753,60436,"ui\techs\asians\disciplined_infantry"); ITT(1754,60455,"ui\techs\asians\disciplined_infantry"); ITT(1755,60463,"ui\techs\asians\disciplined_cavalry"); ITT(1756,60469,"ui\techs\asians\disciplined_cavalry"); ITS(1757,60481,"ui\home_city\HC_japanese_monk_combat_icon_64"); ITT(1758,60483,"ui\techs\asians\exalted_infantry"); ITT(1759,60487,"ui\techs\asians\honored_infantry"); ITT(1760,60491,"ui\techs\asians\honored_infantry"); ITT(1761,60495,"ui\techs\asians\honored_cavalry"); ITT(1762,60499,"ui\techs\asians\honored_cavalry"); ITT(1763,60503,"ui\techs\asians\honored_elephants"); ITT(1764,60507,"ui\techs\asians\honored_elephants"); ITT(1765,60511,"ui\techs\asians\exalted_infantry"); ITT(1766,60515,"ui\techs\asians\exalted_cavalry"); ITT(1767,60519,"ui\techs\asians\exalted_cavalry"); ITT(1768,60523,"ui\techs\asians\exalted_elephants"); ITT(1769,60527,"ui\techs\asians\exalted_elephants"); ITT(1770,60531,"ui\techs\asians\exalted_elephants"); ITS(1771,60543,"ui\home_city\hc_japanese_monk_scare"); ITT(1772,60551,"ui\techs\asians\disciplined_ranged_infantry"); ITT(1773,60555,"ui\techs\asians\disciplined_natives"); ITT(1774,60559,"ui\techs\asians\disciplined_ranged_infantry"); ITT(1775,60567,"ui\techs\asians\disciplined_cavalry"); ITT(1776,60571,"ui\techs\asians\honored_ranged_infantry"); ITT(1777,60579,"ui\techs\asians\honored_ranged_infantry"); ITT(1778,60587,"ui\techs\asians\honored_cavalry"); ITT(1779,60591,"ui\techs\asians\honored_cavalry"); ITT(1780,60601,"ui\techs\asians\exalted_ranged_infantry"); ITT(1781,60609,"ui\techs\asians\exalted_ranged_infantry"); ITT(1782,60622,"ui\techs\asians\exalted_cavalry"); ITT(1783,60626,"ui\techs\asians\exalted_cavalry"); ITT(1784,60632,"ui\techs\asians\disciplined_chokuno"); ITT(1785,60643,"ui\techs\asians\disciplined_keshik"); ITT(1786,60647,"ui\techs\asians\honored_chokuno"); ITT(1787,60652,"ui\techs\asians\honored_arquebusier"); ITT(1788,60658,"ui\techs\asians\honored_keshik"); ITT(1789,60664,"ui\techs\asians\honored_ironflail"); ITT(1790,60672,"ui\techs\asians\exalted_chokuno"); ITT(1791,60677,"ui\techs\asians\exalted_arquebusier"); ITT(1792,60683,"ui\techs\asians\exalted_keshik"); ITT(1793,60689,"ui\techs\asians\exalted_ironflail"); ITT(1794,60695,"ui\techs\asians\disciplined_siege"); ITT(1795,60699,"ui\techs\asians\honored_siege"); ITT(1796,60703,"ui\techs\asians\honored_siege"); ITT(1797,60707,"ui\techs\asians\exalted_siege"); ITT(1798,60711,"ui\techs\asians\exalted_siege"); ITS(1799,60744,"ui\home_city\HC_indian_sacred_field_healing_icon_64"); ITS(1800,60755,"spec\techs\TK_1800"); ITS(1801,60758,"spec\techs\TK_1801"); ITS(1802,60866,"ui\home_city\hc_Land_Reforms"); ITS(1803,60942,"ui\techs\asians\Foreign_Logging"); ITS(1804,60952,"spec\techs\TK_1804"); //x1 cherry orchard ITS(1805,60954,"spec\techs\TK_1805"); //x2 cherry orchard ITS(1806,60960,"ui\techs\hc_furrier\hc_furrier"); ITS(1807,60963,"ui\techs\hc_spice_trade\hc_spice_trade"); ITS(1808,60970,"ui\home_city\HC_indian_goraksha_icon_64"); ITS(1809,60997,"ui\home_city\hc_team_chonindo"); ITS(1810,61013,"ui\home_city\hc_Armed_Fisherman"); ITS(1811,61034,"spec\techs\TK_1811"); ITT(1812,61109,"ui\techs\asians\Sharia"); ITT(1813,61111,"ui\techs\asians\Fasting"); ITT(1814,61113,"ui\techs\asians\Pilgrimage"); ITT(1815,61115,"ui\techs\asians\Flying_Buttress"); ITT(1816,61119,"ui\techs\asians\Christian_Schools"); ITT(1817,61121,"ui\techs\asians\Smokeless_Powder"); ITT(1818,61123,"ui\techs\asians\clenched_fist"); ITT(1819,61125,"ui\techs\asians\dim_mak"); ITT(1820,61127,"ui\techs\asians\wood_clearing"); ITT(1821,61129,"ui\techs\asians\army_of_the_pure"); ITT(1822,61131,"ui\techs\asians\sikh_gurus"); ITT(1823,61133,"ui\techs\asians\punjabi_new_year"); ITT(1824,61135,"ui\techs\asians\Yoga"); ITT(1825,61137,"ui\techs\asians\reinforced_Gauntlets"); ITT(1826,61139,"ui\techs\asians\Vegetarianism"); ITT(1827,61141,"ui\techs\asians\master_lessons"); ITT(1828,61143,"ui\techs\asians\Meditation"); ITT(1829,61145,"ui\techs\asians\Merritocracy"); ITT(1830,61147,"ui\techs\asians\disciplined_natives"); ITT(1831,61151,"ui\techs\asians\disciplined_natives"); ITT(1832,61155,"ui\techs\asians\disciplined_natives"); ITT(1833,61159,"ui\techs\asians\disciplined_natives"); ITT(1834,61163,"ui\techs\asians\disciplined_natives"); ITT(1835,61167,"ui\techs\asians\disciplined_natives"); ITT(1836,61171,"ui\techs\asians\honered_natives"); ITT(1837,61175,"ui\techs\asians\honered_natives"); ITT(1838,61179,"ui\techs\asians\honered_natives"); ITT(1839,61183,"ui\techs\asians\honered_natives"); ITT(1840,61187,"ui\techs\asians\honered_natives"); ITT(1841,61191,"ui\techs\asians\honered_natives"); ITS(1854,61454,"ui\home_city\HC_2X_yumi_shipment_icon_64"); ITS(1855,61455,"ui\home_city\HC_2X_yumi_shipment_icon_64"); ITS(1856,61456,"ui\home_city\HC_2X_yumi_shipment_icon_64"); ITS(1857,61457,"ui\home_city\HC_2X_yumi_shipment_icon_64"); ITS(1858,61458,"ui\home_city\HC_2X_ashigaru_shipment_icon_64"); ITS(1859,61459,"ui\home_city\HC_2X_ashigaru_shipment_icon_64"); ITS(1860,61460,"ui\home_city\HC_2X_ashigaru_shipment_icon_64"); ITS(1861,61461,"ui\home_city\HC_2X_ashigaru_shipment_icon_64"); ITS(1862,61463,"ui\techs\asians\chuck\hc_infinite_naginata_rider"); ITS(1863,61464,"ui\techs\asians\chuck\hc_naginata_rider_shipment"); ITS(1864,61465,"ui\techs\asians\chuck\hc_naginata_rider_shipment"); ITS(1865,61466,"ui\techs\asians\chuck\hc_samurai_shipment"); ITS(1866,61467,"ui\techs\asians\chuck\hc_samurai_shipment"); ITS(1867,61469,"ui\techs\asians\chuck\hc_samurai_shipment"); ITS(1868,61470,"ui\techs\asians\chuck\hc_yabusame_shipment"); ITS(1869,61471,"ui\techs\asians\chuck\hc_yabusame_shipment"); ITS(1870,61476,"spec\techs\TK_1870"); ITS(1871,61477,"spec\techs\TK_1871"); ITS(1872,61479,"spec\techs\TK_1872"); ITS(1873,61480,"spec\techs\TK_1873"); ITS(1874,61481,"spec\techs\TK_1874"); ITS(1875,61482,"ui\home_city\hc_infinite_urumi"); ITS(1876,61484,"spec\techs\TK_1876"); ITS(1877,61485,"spec\techs\TK_1877"); ITS(1878,61499,"spec\techs\TK_1878"); ITS(1879,61500,"spec\techs\TK_1879"); ITS(1880,61521,"spec\techs\TK_1880"); ITS(1881,61522,"spec\techs\TK_1881"); ITS(1882,61523,"spec\techs\TK_1882"); ITS(1883,61524,"spec\techs\TK_1883"); ITS(1884,61525,"spec\techs\TK_1884"); ITS(1885,61526,"spec\techs\TK_1885"); ITS(1886,61527,"spec\techs\TK_1886"); ITS(1887,61528,"spec\techs\TK_1887"); ITS(1888,61529,"spec\techs\TK_1888"); ITS(1889,61530,"spec\techs\TK_1889"); ITS(1890,61532,"spec\techs\TK_1890"); ITS(1891,61535,"ui\home_city\hc_mongolian_armor"); ITS(1892,61539,"ui\home_city\hc_standard_army_reforms"); ITS(1893,61543,"ui\techs\hc_infantry_combat\hc_infantry_combat"); ITS(1894,61551,"ui\home_city\hc_mongolian_scourge"); ITS(1895,61558,"ui\home_city\hc_old_han_heavy_infantry_bonus"); ITS(1896,61562,"ui\home_city\hc_banner_reforms"); ITS(1897,61579,"ui\home_city\hc_banner_school"); ITS(1898,61585,"ui\home_city\hc_great_wall"); ITS(1899,61589,"ui\home_city\hc_confucious_gift"); ITS(1900,61593,"spec\techs\TK_1900"); ITS(1901,61602,"ui\home_city\HC_advanced_rice_paddy_icon_64"); ITS(1902,61611,"ui\home_city\HC_water_buffalo_ranching_icon_64"); ITS(1903,61615,"ui\techs\asians\Advanced_Consulate"); ITS(1904,61630,"spec\techs\TK_1904"); ITS(1905,61632,"spec\techs\TK_1905"); ITS(1906,61634,"spec\techs\TK_1906"); ITS(1907,61635,"spec\techs\TK_1907"); ITS(1908,61647,"spec\techs\TK_1908"); ITS(1909,61650,"ui\home_city\hc_fireship_damage"); ITS(1910,61654,"spec\techs\TK_1910"); ITS(1911,61656,"spec\techs\TK_1911"); ITS(1912,61658,"spec\techs\TK_1912"); ITS(1913,61660,"spec\techs\TK_1913"); ITS(1914,61669,"spec\techs\TK_1914"); ITS(1915,61671,"spec\techs\TK_1915"); ITS(1916,61673,"spec\techs\TK_1916"); ITS(1917,61731,"ui\home_city\hc_team_infantry_speed"); ITS(1918,61734,"ui\techs\hc_infantry_combat\hc_infantry_combat"); ITS(1919,61739,"ui\techs\hc_cavalry_damage\hc_cavalry_damage"); ITS(1920,61743,"ui\techs\asians\Camel_Frightening"); ITS(1921,61747,"ui\techs\asians\Elephant_Trampling"); ITS(1922,61764,"ui\home_city\HC_indian_grazing_icon_64"); ITT(1923,61768,"units\trade\stagecoach_icon_64x64"); ITS(1924,61785,"ui\techs\asians\Elephant_Limit"); ITS(1925,61805,"ui\techs\asians\chuck\hc_improved_buildings"); ITS(1926,61809,"ui\techs\asians\Mughal_Architecture"); ITS(1927,61815,"spec\techs\TK_1927"); ITS(1928,61821,"spec\techs\TK_1928"); ITS(1929,61822,"spec\techs\TK_1929"); ITS(1930,61823,"spec\techs\TK_1930"); ITS(1931,61825,"ui\techs\asians\Bombay_Marine"); ITS(1932,61838,"spec\techs\TK_1932"); ITS(1933,61842,"spec\techs\TK_1933"); ITS(1934,61844,"spec\techs\TK_1934"); ITS(1935,61846,"spec\techs\TK_1935"); ITS(1936,61848,"spec\techs\TK_1936"); ITS(1937,61850,"spec\techs\TK_1937"); ITS(1938,61852,"spec\techs\TK_1938"); ITT(1939,61873,"units\trains\train_icon_64x64"); ITS(1940,61887,"ui\techs\hc_infantry_damage\hc_infantry_damage"); ITS(1941,61890,"ui\home_city\hc_Yumi_Range"); ITS(1942,61895,"ui\techs\hc_infantry_damage\hc_infantry_damage"); ITS(1943,61898,"ui\home_city\hc_Ashigaru_Anti_Cavalry_Damage"); ITS(1944,61903,"ui\techs\hc_cavalry_hitpoints\hc_cavalry_hitpoints"); ITS(1945,61907,"ui\home_city\hc_Naginata_Anti_Infantry_Damage"); ITS(1946,61911,"ui\home_city\hc_samurai_speed"); ITS(1947,61915,"ui\techs\hc_hand_infantry_damage\hc_hand_infantry_damage"); ITS(1948,61918,"ui\techs\hc_cavalry_damage\hc_cavalry_damage"); ITS(1949,61923,"ui\home_city\hc_Yabusame_Anti_Artillery_Damage"); ITT(1950,61956,"ui\techs\asians\government_county_icon_64"); ITS(1951,61975,"ui\techs\asians\Acupuncture"); ITS(1952,61979,"ui\home_city\HC_team_pioneers_shipment_icon_64"); ITS(1953,61982,"spec\techs\TK_1953"); ITS(1954,62000,"spec\techs\TK_1954"); ITS(1955,62016,"spec\techs\TK_1955"); ITS(1956,62023,"spec\techs\TK_1956"); ITS(1957,62024,"spec\techs\TK_1957"); ITS(1958,62028,"spec\techs\TK_1958"); ITS(1959,62031,"spec\techs\TK_1959"); ITS(1960,62033,"spec\techs\TK_1960"); ITS(1961,62037,"ui\techs\asians\chuck\hc_sohei_shipment"); ITS(1962,62039,"ui\techs\asians\chuck\hc_sohei_shipment"); ITS(1963,62041,"ui\home_city\hc_team_sohei"); ITS(1964,62045,"spec\techs\TK_1964"); ITS(1965,62047,"spec\techs\TK_1965"); ITT(1966,62059,"ui\techs\asians\disciplined_ranged_infantry"); ITT(1967,62063,"ui\techs\asians\exalted_ranged_infantry"); ITT(1968,62067,"ui\techs\asians\honored_ranged_infantry"); ITT(1969,62076,"ui\techs\asians\government_prefecture_icon_64"); ITT(1970,62078,"ui\techs\asians\exalted_siege"); ITT(1972,65517,"ui\techs\asians\exalted_elephants"); ITS(1973,62215,"spec\techs\TK_1973"); ITS(1974,62236,"spec\techs\TK_1974"); ITS(1975,62281,"ui\techs/native\Economic_Theory"); ITS(1976,62319,"spec\techs\TK_1976"); ITS(1977,62341,"ui\techs\hc_spice_trade\hc_spice_trade"); ITS(1978,62356,"spec\techs\TK_1978"); ITS(1979,62358,"spec\techs\TK_1979"); ITT(1980,62364,"ui\techs\imperial_navy\imperial_navy"); ITT(1981,62368,"ui\techs\imperial_navy\imperial_navy"); ITS(1984,62393,"ui\techs\hc_extensive_fortifications\hc_extensive_fortifications"); ITS(1985,62427,"ui\techs/native\Wood_Crafting"); //ITT(1988,62517,"ui\techs\asians\tech_peasant_uprising"); //ITT(1989,62521,"ui\techs\asians\tech_town_defense"); //ITT(1990,62525,"ui\techs\asians\tech_peasant_revolt"); //ITT(1991,62527,"ui\techs\asians\tech_city_defense"); ITS(1992,62529,"ui\home_city\hc_enlist_the_irregulars"); ITS(1993,62548,"spec\techs\TK_1993"); ITS(1994,62549,"ui\home_city\hc_heavenly_kami"); ITS(1995,62576,"ui\home_city\hc_onin_war"); ITS(1996,62597,"ui\home_city\hc_Advanced_Wonders"); ITS(1997,62626,"ui\home_city\hc_2x_red_seal_ship"); ITT(1998,62713,"ui\techs\asians\paddy_threshing"); ITS(1999,62789,"ui\home_city\hc_village_shooty"); ITS(2000,62821,"spec\techs\TK_2000"); ITS(2001,62822,"spec\techs\TK_2001"); ITS(2002,62840,"ui\home_city\HC_improved_warships_green_icon_64"); ITS(2003,62845,"spec\techs\TK_2003"); ITS(2004,62849,"spec\techs\TK_2004"); ITS(2005,62853,"spec\techs\TK_2005"); ITS(2006,62917,"spec\techs\TK_2006"); ITS(2007,62918,"spec\techs\TK_2007"); ITS(2008,62919,"spec\techs\TK_2008"); ITT(2009,62928,"ui\techs\asians\faster_shipments"); ITT(2010,62930,"ui\techs\mercantilism\mercantilism"); ITT(2011,62932,"ui\techs\hc_silk_road\hc_silk_road"); ITT(2012,62991,"ui\techs\asians\government_town_icon_64"); ITT(2013,63576,"ui\techs\asians\disciplined_infantry"); ITT(2014,63580,"ui\techs\asians\honored_infantry"); ITT(2015,63579,"ui\techs\asians\exalted_infantry"); ITS(2017,63151,"spec\techs\TK_2017"); ITS(2018,63153,"spec\techs\TK_2018"); ITS(2019,63155,"spec\techs\TK_2019"); ITS(2020,63157,"spec\techs\TK_2020"); ITS(2021,63159,"spec\techs\TK_"); ITS(2022,63161,"spec\techs\TK_2022"); ITS(2023,63163,"spec\techs\TK_"); ITS(2024,63165,"spec\techs\TK_"); ITS(2025,63167,"spec\techs\TK_2025"); ITS(2026,63169,"spec\techs\TK_2026"); ITS(2027,63171,"spec\techs\TK_2027"); ITS(2028,63173,"spec\techs\TK_2028"); ITS(2029,63175,"spec\techs\TK_2029"); ITS(2030,63177,"spec\techs\TK_2030"); ITS(2031,63189,"spec\techs\TK_2031"); ITS(2032,63190,"spec\techs\TK_2032"); ITS(2033,63192,"ui\home_city\hc_indian_monk_frighten"); ITS(2034,63193,"spec\techs\TK_2034"); ITS(2035,63194,"spec\techs\TK_2035"); ITS(2036,63195,"spec\techs\TK_2036"); ITS(2037,63196,"spec\techs\TK_2037"); ITS(2038,63225,"spec\techs\TK_2038"); ITS(2039,63228,"ui\techs\hc_fencing_school\hc_fencing_school"); ITS(2040,63231,"ui\techs\hc_riding_school\hc_riding_school"); ITS(2041,63238,"ui\techs\hc_extensive_fortifications\hc_extensive_fortifications"); ITS(2042,63241,"ui\techs\hc_pioneers\hc_pioneers"); ITS(2043,63244,"spec\techs\TK_2043"); ITS(2044,63246,"ui\home_city\hc_enlist_the_irregulars"); ITS(2045,63249,"ui\home_city\HC_call_to_arms_icon_64"); ITS(2046,63262,"spec\techs\TK_2046"); ITS(2047,63266,"ui\home_city\HC_advanced_rice_paddy_icon_64"); ITS(2048,63270,"ui\techs\asians\Advanced_Consulate"); ITS(2049,63280,"ui\home_city\hc_Advanced_Wonders"); ITS(2050,63283,"ui\techs\hc_advanced_dock\hc_advanced_dock"); ITS(2051,63291,"ui\home_city\hc_Land_Reforms"); ITS(2052,63297,"ui\techs\hc_fish_market\hc_fish_market"); ITS(2053,63300,"ui\techs\hc_rendering_plant\hc_rendering_plant"); ITS(2054,63303,"spec\techs\TK_2054"); ITS(2055,63306,"ui\techs\hc_sawmills\hc_sawmills"); ITS(2056,63309,"ui\techs\hc_exotic_hardwoods\hc_exotic_hardwoods"); ITS(2057,63312,"ui\techs/native\Wood_Crafting"); ITS(2058,63315,"ui\techs\hc_iron_monger\hc_iron_monger"); ITS(2059,63318,"ui\techs\hc_establish_royal_mint\hc_establish_royal_mint"); ITS(2060,63321,"ui\techs\hc_silver_smith\hc_silver_smith"); ITS(2061,63324,"ui\techs\hc_silos\hc_silos"); ITS(2062,63327,"ui\techs\hc_sustainable_agriculture\hc_sustainable_agriculture"); ITS(2063,63333,"ui\techs/native\Fur_Trade"); ITS(2064,63341,"spec\techs\TK_2064"); ITS(2065,63342,"spec\techs\TK_2065"); ITS(2066,63344,"ui\techs\carronade\carronade"); ITS(2067,63347,"spec\techs\TK_2067"); ITS(2068,63349,"spec\techs\TK_2068"); ITS(2069,63351,"spec\techs\TK_2069"); ITS(2070,63353,"spec\techs\TK_2070"); ITT(2078,63509,"ui\techs\asians\irrigation_channels"); ITT(2079,63511,"ui\techs\asians\tech_dike_controlled_canals"); ITT(2080,63513,"ui\techs\asians\rice_trade"); ITT(2081,63515,"ui\techs\asians\rice_markets"); ITT(2082,63517,"ui\techs\asians\rice_exports"); ITT(2083,63519,"ui\techs\asians\mechanized_rice_cultivation"); ITT(2084,63521,"ui\techs\asians\collective_economy"); ITT(2085,63527,"ui\techs\asians\tech_tropical_timber_trade"); ITS(2091,63598,"ui\techs\hc_battlefield_construction\hc_battlefield_construction"); ITS(2095,63888,"spec\techs\TK_2095"); ITS(2096,63896,"spec\techs\TK_2096"); ITS(2097,63898,"spec\techs\TK_2097"); ITT(2098,63901,"ui\techs\asians\sacred_cow"); ITT(2099,63958,"ui\eso\flag_british_icon"); //ITT(2100,63970,"ui\ingame\icon_age_ii"); ITT(2101,63976,"ui\techs\asians\hunting_eagles"); ITT(2102,63978,"ui\techs\asians\waterwheel"); ITT(2103,63980,"ui\techs\asians\tech_blanket_filters"); ITT(2104,63982,"ui\techs\asians\professional_hunters"); ITT(2105,63984,"ui\techs\asians\flume_and_ditching"); ITT(2106,63988,"ui\techs\circular_saw\circular_saw"); //ITT(2107,63998,"ui\ingame\icon_age_iii"); ITT(2108,64152,"ui\eso\flag_portuguese_icon"); ITT(2109,64154,"ui\eso\flag_dutch_icon"); ITT(2110,64156,"ui\eso\flag_russian_icon"); ITT(2111,64158,"ui\eso\flag_spanish_icon"); ITT(2112,64160,"ui\eso\flag_french_icon"); ITT(2113,64238,"buildings\arsenal\arsenal_icon"); ITT(2114,64239,"buildings\bank\bank_icon"); ITT(2115,64246,"ui\techs\asians\portuguese_expiditionary_fleet_icon_64"); ITT(2116,64250,"ui\techs\asians\portuguese_exploration_fleet_icon_64"); ITT(2117,64255,"ui\units\spy_icon"); ITT(2118,64258,"ui\techs\levy\levy"); ITT(2119,64260,"units\surgeons\surgeon_icon"); ITT(2120,64264,"ui\Units\petard_icon"); ITT(2121,64266,"buildings\factory\shared_factory_icon"); ITT(2122,64268,"buildings\fort\fort_icon"); ITT(2123,64270,"buildings\blockhouse\blockhouse_icon"); ITT(2124,64275,"ui\techs\hc_wood_crate\hc_wood_crate_128"); ITS(2128,64326,"spec\techs\TK_2128"); ITS(2129,64333,"units\asians\japanese\daimyo_Kiyomasa\daimyo_kiyomasa_icon_64"); ITS(2130,64336,"units\asians\japanese\daimyo_Masamune\daimyo_massamune_icon_64"); ITS(2131,64338,"units\asians\spc\mototada\mototada_icon_64"); ITS(2132,64340,"units\asians\japanese\shogun\shogun_icon_64"); ITT(2133,64347,"buildings\church\church_icon"); ITT(2134,64349,"units/naval\fishing_ship\fishing_ship_icon_64x64"); ITT(2135,64358,"ui\techs\hc_coin_crate\hc_coin_crate"); ITT(2136,64361,"ui\techs\hc_food_crate\hc_food_crate_128"); ITS(2137,64396,"ui\home_city\hc_Armed_Fisherman"); //ITT(2138,64399,"ui\ingame\icon_age_iv"); //ITT(2139,64401,"ui\ingame\icon_age_v"); ITS(2140,64406,"ui\home_city\HC_saiga_shipment_spawn_icon_64"); ITT(2142,64606,"ui\techs\imperial_navy\imperial_navy"); ITT(2144,64641,"ui\ingame\icon_age_ii"); ITT(2145,64643,"ui\ingame\icon_age_iii"); ITT(2146,64645,"ui\ingame\icon_age_iv"); ITT(2147,64647,"ui\ingame\icon_age_v"); ITT(2148,64649,"ui\ingame\icon_age_ii"); ITT(2149,64651,"ui\ingame\icon_age_iii"); ITT(2150,64653,"ui\ingame\icon_age_iv"); ITT(2151,64655,"ui\ingame\icon_age_v"); ITT(2152,64659,"ui\ingame\icon_age_iii"); ITT(2153,64661,"ui\ingame\icon_age_iv"); ITT(2154,64663,"ui\ingame\icon_age_v"); ITT(2155,64665,"ui\ingame\icon_age_ii"); ITT(2156,64667,"ui\ingame\icon_age_ii"); ITT(2157,64669,"ui\ingame\icon_age_iii"); ITT(2158,64671,"ui\ingame\icon_age_iv"); ITT(2159,64673,"ui\ingame\icon_age_v"); ITT(2160,64675,"ui\ingame\icon_age_ii"); ITT(2161,64677,"ui\ingame\icon_age_iii"); ITT(2162,64679,"ui\ingame\icon_age_iv"); ITT(2163,64681,"ui\ingame\icon_age_v"); ITT(2164,64945,"ui\ingame\icon_age_ii"); ITT(2165,64951,"ui\ingame\icon_age_iii"); ITT(2166,65048,"ui\ingame\icon_age_iv"); ITT(2167,65050,"ui\ingame\icon_age_v"); ITT(2168,65054,"ui\ingame\icon_age_ii"); ITT(2169,65056,"ui\ingame\icon_age_iii"); ITT(2170,65058,"ui\ingame\icon_age_iv"); ITT(2171,65060,"ui\ingame\icon_age_v"); ITT(2172,65063,"ui\ingame\icon_age_ii"); ITT(2173,65065,"ui\ingame\icon_age_iii"); ITT(2174,65067,"ui\ingame\icon_age_iv"); ITT(2175,65069,"ui\ingame\icon_age_v"); ITT(2176,65071,"ui\ingame\icon_age_ii"); ITT(2177,65073,"ui\ingame\icon_age_iii"); ITT(2178,65075,"ui\ingame\icon_age_iv"); ITT(2179,65077,"ui\ingame\icon_age_v"); ITT(2180,65079,"ui\ingame\icon_age_ii"); ITT(2181,65081,"ui\ingame\icon_age_iii"); ITT(2182,65083,"ui\ingame\icon_age_iv"); ITT(2183,65085,"ui\ingame\icon_age_v"); ITT(2184,65087,"ui\ingame\icon_age_ii"); ITT(2185,65089,"ui\ingame\icon_age_iii"); ITT(2186,65091,"ui\ingame\icon_age_iv"); ITT(2187,65093,"ui\ingame\icon_age_v"); ITT(2188,65095,"ui\ingame\icon_age_ii"); ITT(2189,65097,"ui\ingame\icon_age_iii"); ITT(2190,65099,"ui\ingame\icon_age_iv"); ITT(2191,65101,"ui\ingame\icon_age_v"); ITT(2192,65110,"ui\ingame\icon_age_ii"); ITT(2193,65112,"ui\ingame\icon_age_iii"); ITT(2194,65114,"ui\ingame\icon_age_iv"); ITT(2195,65116,"ui\ingame\icon_age_v"); ITT(2196,65118,"ui\ingame\icon_age_ii"); ITT(2197,65120,"ui\ingame\icon_age_iii"); ITT(2198,65122,"ui\ingame\icon_age_iv"); ITT(2199,65124,"ui\ingame\icon_age_v"); ITT(2200,65126,"ui\ingame\icon_age_ii"); ITT(2201,65128,"ui\ingame\icon_age_iii"); ITT(2202,65130,"ui\ingame\icon_age_iv"); ITT(2203,65132,"ui\ingame\icon_age_v"); ITT(2212,65442,"ui\eso\flag_ottoman_icon"); ITT(2213,65454,"nuggets\outlaw_kidnap\outlaw_icon_64x64"); ITS(2214,65456,"spec\techs\TK_2214"); ITT(2215,65461,"units\villagers\villager_icon"); ITT(2216,65463,"units\artillery\great_bombard\great_bombard_icon_64x64"); ITT(2217,65469,"ui\techs\asians\hanami_parties"); ITT(2218,65471,"ui\techs\asians\tech_yozakura_lanterns"); ITT(2219,65494,"ui\techs\asians\rice_surplus"); ITS(2221,65505,"spec\techs\TK_2221"); ITS(2222,65510,"spec\techs\TK_2222"); ITS(2223,65514,"spec\techs\TK_2223"); ITS(2224,65515,"spec\techs\TK_2224"); ITT(2225,65520,"ui\techs\asians\disciplined_elephants"); ITT(2226,65524,"ui\techs\asians\honored_elephants"); ITS(2235,65616,"spec\techs\TK_2235"); ITS(2236,65617,"spec\techs\TK_2236"); ITS(2237,65618,"spec\techs\TK_2237"); ITS(2239,65620,"ui\home_city\hc_melee_damage"); ITS(2240,65623,"spec\techs\TK_2240"); ITS(2241,65625,"spec\techs\TK_2241"); ITS(2242,65626,"spec\techs\TK_2242"); ITS(2243,65627,"spec\techs\TK_2243"); ITS(2244,65628,"spec\techs\TK_2244"); ITS(2245,65629,"spec\techs\TK_2245"); ITS(2246,65630,"spec\techs\TK_2246"); ITS(2247,65631,"spec\techs\TK_2247"); ITS(2248,65632,"spec\techs\TK_2248"); ITS(2249,65633,"spec\techs\TK_2249"); ITS(2250,65634,"spec\techs\TK_2250"); ITS(2251,65635,"spec\techs\TK_2251"); ITS(2253,65637,"spec\techs\TK_2253"); ITS(2254,65638,"spec\techs\TK_2254"); ITS(2255,65639,"spec\techs\TK_2255"); ITS(2256,65640,"spec\techs\TK_2256"); ITS(2257,65641,"spec\techs\TK_2257"); ITS(2258,65642,"spec\techs\TK_2258"); ITS(2259,65643,"spec\techs\TK_2259"); ITS(2260,65644,"spec\techs\TK_2260"); ITS(2261,65645,"spec\techs\TK_2261"); ITS(2262,65646,"spec\techs\TK_2262"); ITS(2263,65647,"spec\techs\TK_2263"); ITS(2264,65649,"ui\home_city\hc_ming_hp"); ITS(2265,65653,"ui\techs\hc_artillary_combat\hc_artillary_combat"); ITS(2282,65705,"ui\techs\asians\tech_rural_peasant_uprising"); ITT(2283,65711,"ui\techs\hc_rum_distillery\hc_rum_distillery"); ITS(2284,65725,"ui\techs\asians\tech_cherry_blossom_festival_icon_64"); ITS(2285,65729,"spec\techs\TK_2285"); ITT(2289,65905,"ui\eso\flag_german_icon"); ITT(2291,65909,"ui\techs/native\Capitalism"); ITT(2292,65911,"ui\techs/native\Colbertism"); ITT(2293,65913,"ui\techs/native\Distributivism"); ITS(2296,65958,"spec\techs\TK_2296"); ITS(2298,65965,"spec\techs\TK_2298"); ITT(2299,65967,"ui\techs\asians\disciple_aura"); ITT(2300,65969,"ui\techs\asians\shaolin_warrior"); ITT(2301,65971,"ui\techs\asians\critical_upgrade"); ITT(2302,65973,"ui\techs\asians\pet_training"); ITT(2303,65975,"ui\techs\asians\improved_healing"); ITT(2304,65977,"ui\techs\asians\tech_stomp_icon"); ITT(2305,65979,"ui\techs\asians\tech_terror_charge_icon_64"); ITT(2306,65981,"ui\techs\asians\tech_japan_stealth_icon"); ITT(2307,65983,"ui\techs\asians\tech_monk_healing_icon"); ITT(2308,65985,"ui\techs\asians\tech_japan_kayakujutin_icon"); ITT(2309,65987,"ui\techs\asians\tech_japan_kayakujutin_icon_64"); ITT(2310,65989,"ui\techs\asians\attack_upgrade"); ITT(2311,66011,"ui\techs\asians\exalted_siege"); ITT(2312,66015,"ui\techs\asians\exalted_siege"); ITT(2313,66019,"ui\techs\asians\honored_elephants"); ITT(2314,66023,"ui\techs\asians\honored_siege"); ITT(2315,66027,"ui\techs\asians\tech_frontier_castle"); ITT(2316,66032,"ui\techs\asians\tech_fortified_castle"); ITS(2317,66046,"ui\home_city\hc_year_of_the_goat"); ITS(2318,66048,"ui\home_city\hc_year_of_the_ox"); ITS(2319,66075,"ui\techs/native\Distributivism"); ITT(2320,66079,"ui\techs\asians\tech_fortified_castle"); ITT(2321,66086,"ui\techs\asians\tech_frontier_castle"); ITS(2322,66104,"ui\home_city\hc_East_India_Men"); ITS(2323,66110,"spec\techs\TK_2323"); ITS(2324,66111,"spec\techs\TK_2324"); ITS(2325,66112,"spec\techs\TK_2325"); ITS(2326,66113,"spec\techs\TK_2326"); ITS(2327,66118,"ui\techs\hc_artillary_hitpoints\hc_artillary_hitpoints"); ITS(2328,66121,"ui\home_city\hc_Flaming_Arrow_Cost"); ITT(2329,66131,"ui\techs\asians\government_provincial_icon_64"); ITS(2330,66137,"ui\home_city\HC_migrants_shipment_spawn_icon_64"); ITS(2331,66139,"ui\home_city\hc_northern_refugees"); ITS(2332,66141,"ui\home_city\hc_western_refugees"); ITT(2333,66143,"ui\techs\asians\tech_rural_defense"); ITS(2338,66167,"spec\techs\TK_2338"); ITS(2339,66182,"units\asians\japanese\daimyo_Kiyomasa\daimyo_kiyomasa_icon_64"); ITS(2340,66184,"units\asians\japanese\daimyo_Masamune\daimyo_massamune_icon_64"); ITS(2341,66186,"units\asians\japanese\shogun\regecide_shogun_icon_64"); ITS(2343,66204,"spec\techs\TK_2343"); ITT(2344,66237,"ui\eso\flag_dutch_icon"); ITT(2345,66239,"ui\eso\flag_portuguese_icon"); ITS(2346,66273,"ui\home_city\HC_sepoy_rebellion_icon_64"); ITS(2347,66277,"ui\techs\asians\Peacetime_Fishing"); ITS(2348,66281,"ui\techs\asians\European_Cannons"); ITS(2349,66285,"ui\techs\asians\European_Cannons"); ITS(2350,66389,"ui\home_city\hc_Stone_Castles"); ITS(2351,66392,"ui\techs\hc_extensive_fortifications\hc_extensive_fortifications"); ITS(2352,66400,"spec\techs\TK_2352"); ITT(2353,66443,"ui\techs\asians\tech_dojo_upgrade2"); ITS(2355,66450,"spec\techs\TK_2355"); ITS(2356,66457,"spec\techs\TK_2356"); ITS(2357,66459,"spec\techs\TK_2357"); ITS(2358,66461,"spec\techs\TK_2358"); ITT(2359,66472,"ui\techs\asians\tech_spirit_medicine_icon_64"); ITS(2363,66513,"ui\techs\asians\tech_advance_to_regulars_icon_64"); ITT(2367,66600,"units\asians\consulate\british_armies\british_brigade_icon_64"); ITT(2368,66603,"units\asians\consulate\germany_brigade"); ITT(2369,66605,"units\asians\consulate\rus_armies\rus_brigade_icon_64"); ITT(2370,66607,"units\asians\consulate\french_armies\french_brigade_icon_64"); ITT(2371,66609,"units\asians\consulate\dutch_brigade"); ITT(2372,66611,"units\asians\consulate\spanish_brigade"); ITT(2373,66613,"units\asians\consulate\por_armies\por_brigade_icon_64"); ITT(2374,66615,"units\asians\consulate\ottoman_brigade"); ITT(2375,67133,"ui\techs\asians\disciplined_pikeman"); ITT(2376,67137,"ui\techs\asians\disciplined_stepperider"); ITT(2377,67141,"ui\techs\asians\honored_meteorhammer"); ITT(2378,67145,"ui\techs\asians\honored_stepperider"); ITT(2379,67149,"ui\techs\asians\honored_changdao"); ITT(2380,67153,"ui\techs\asians\honored_pikeman"); ITT(2381,67157,"ui\techs\asians\exalted_meteorhammer"); ITT(2382,67161,"ui\techs\asians\exalted_stepperider"); ITT(2383,67165,"ui\techs\asians\exalted_pikeman"); ITT(2384,67169,"ui\techs\asians\exalted_changdao"); ITT(2385,67682,"units\trains\train_icon_64x64"); ITT(2386,67684,"units\asians\shared\rickshaw\rickshaw2_icon_portrait"); ITS(2387,67702,"spec\techs\TK_2387"); ITT(2389,68231,"ui\eso\flag_japanese_icon"); ITT(2391,68287,"units\asians\shared\wagon\japanese_town_center_wagon_icon_64"); ITT(2392,68288,"ui\techs\asians\tech_master_training"); ITT(2393,68289,"ui\techs\asians\tech_free_samurai"); ITT(2394,68291,"ui\ingame\icon_age_v"); ITS(2395,68307,"ui\techs\asians\tech_empress_dowager_icon_64"); ITS(2396,68311,"ui\home_city\hc_bakufu"); ITS(2397,68314,"spec\techs\TK_2397"); ITT(2401,68387,"units\mercenaries\black_rider\black_rider_icon"); ITT(2402,68388,"units\mercenaries\black_rider\black_rider_icon"); ITT(2403,68389,"units\mercenaries\black_rider\black_rider_icon"); ITT(2404,68398,"units\mercenaries\black_rider\black_rider_icon"); ITT(2405,68399,"units\mercenaries\black_rider\black_rider_icon"); ITT(2406,68400,"units\mercenaries\black_rider\black_rider_icon"); ITS(2408,68493,"spec\techs\TK_2408"); ITS(2409,68498,"spec\techs\TK_2409"); ITS(2410,68523,"spec\techs\TK_2410"); ITS(2411,68526,"spec\techs\TK_2411"); ITT(2412,68563,"ui\techs\asians\honored_siege"); ITT(2413,68616,"ui\techs\asians\imperial_beureaucracy"); ITT(2414,68618,"ui\techs\asians\civil_servants"); ITT(2416,68623,"ui\eso\chinese_SPC_flag_icon_64"); ITT(2417,68625,"ui\eso\flag_japanese_icon"); ITT(2418,68627,"ui\eso\indian_SPC_flag_icon_64"); ITS(2426,68672,"ui\techs\asians\hc_the_raj"); ITS(2427,68674,"ui\home_city\HC_zen_diet_icon_64"); ITS(2430,68726,"ui\home_city\HC_conscript_sepoy_icon_64"); ITS(2431,68744,"spec\techs\TK_2431"); ITS(2432,68749,"spec\techs\TK_2432"); ITS(2433,68758,"ui\home_city\hc_seven_lucky_Gods"); ITS(2434,68860,"ui\techs\asians\Sumptuary_Laws"); ITS(2435,68864,"ui\techs\asians\Sumptuary_Laws"); ITS(2436,68876,"spec\techs\TK_2436"); ITS(2437,68880,"spec\techs\TK_2437"); ITS(2438,68886,"ui\techs/native\Land_Grab"); ITS(2439,68889,"ui\home_city\hc_Warring_States"); ITS(2440,68904,"ui\home_city\HC_ghurka_aid_icon_64"); ITS(2441,68908,"ui\home_city\HC_team_engineering_school_icon_64"); ITS(2442,68912,"ui\home_city\hc_team_art_of_war"); ITS(2443,68916,"ui\home_city\hc_nomads"); ITS(2444,68918,"ui\home_city\HC_team_sumptuary_laws_icon_64"); ITS(2445,68922,"ui\home_city\team_cheap_unit_upgrade_icon_64"); ITS(2446,68945,"ui\home_city\hc_manchu_attack"); ITS(2447,68949,"ui\home_city\hc_han_anti_cavalry_bonus"); ITS(2448,69004,"ui\home_city\hc_team_house_hitpoints"); ITS(2449,69008,"ui\techs\asians\HC_farmland_conservation_icon_64"); ITS(2450,69013,"ui\home_city\hc_Intervention"); ITS(2452,69018,"ui\home_city\hc_Intervention"); ITS(2453,69021,"ui\home_city\hc_native_warrior_attack"); ITS(2454,69025,"ui\home_city\hc_native_warrior_attack"); ITS(2455,69028,"ui\home_city\hc_native_warrior_hp"); ITS(2456,69032,"ui\home_city\hc_native_warrior_hp"); ITS(2457,69035,"ui\home_city\HC_native_alliance_icon_64"); ITS(2458,69041,"ui\home_city\HC_native_alliance_icon_64"); ITS(2459,69044,"ui\home_city\HC_native_crafts_icon_64"); ITS(2460,69047,"ui\home_city\HC_native_crafts_icon_64"); ITS(2462,69118,"spec\techs\TK_2462"); ITS(2463,69130,"ui\home_city\hc_east_india_company_combat"); ITS(2464,69143,"spec\techs\TK_2464"); ITS(2465,69144,"spec\techs\TK_2465"); ITS(2466,69192,"ui\home_city\HC_native_learning_icon_64"); ITS(2467,69195,"ui\home_city\HC_native_learning_icon_64"); ITT(2468,69200,"ui\techs\imperial_navy\imperial_navy"); ITS(2469,69205,"ui\techs\hc_mercenary_loyalty\hc_mercenary_loyalty"); ITS(2470,69207,"spec\techs\TK_2470"); ITS(2471,69217,"ui\techs\asians\tech_western_reform_icon_64"); ITS(2473,69258,"spec\techs\TK_2473"); ITS(2474,69261,"spec\techs\TK_2474"); ITS(2475,69263,"spec\techs\TK_2475"); ITS(2476,69267,"ui\home_city\2x_monitor_lizard"); ITS(2477,69268,"spec\techs\TK_2477"); ITS(2478,69269,"spec\techs\TK_2478"); ITS(2479,69270,"ui\home_city\hc_4_missionaries"); ITS(2480,69272,"spec\techs\TK_2480"); ITS(2481,69277,"ui\techs\asians\hc_morutaru_upgrade"); ITS(2482,69306,"spec\techs\TK_2482"); ITS(2484,69415,"spec\techs\TK_2484"); ITS(2485,69429,"ui\home_city\hc_elephant_combat"); ITT(2486,69456,"units\mercenaries\black_rider\black_rider_icon"); ITT(2487,69607,"units\mercenaries\black_rider\black_rider_icon"); ITT(2488,69608,"units\mercenaries\black_rider\black_rider_icon"); ITS(2491,69650,"ui\home_city\hc_Atonement"); ITS(2492,69655,"ui\home_city\hc_Atonement"); ITS(2493,69659,"ui\home_city\hc_Atonement"); ITS(2494,69663,"ui\techs\hc_admirality\hc_admirality"); ITT(2496,69796,"ui\home_city\hc_Atonement"); ITT(2497,69798,"ui\techs\asians\disciplined_ranged_infantry"); ITT(2498,69802,"ui\techs\asians\honored_ranged_infantry"); ITT(2499,69806,"ui\techs\asians\exalted_ranged_infantry"); ITT(2500,69826,"units\asians\shared\rickshaw\rickshaw2_icon"); ITT(2501,69828,"units\trains\train_icon_64x64"); ITS(2502,69850,"spec\techs\TK_2502"); ITS(2503,69851,"spec\techs\TK_2503"); ITS(2504,69864,"spec\techs\TK_2504"); ITS(2505,69866,"spec\techs\TK_2505"); ITS(2506,69868,"spec\techs\TK_2506"); ITS(2507,69870,"spec\techs\TK_2507"); ITS(2508,69872,"spec\techs\TK_2508"); ITT(2510,70001,"ui\eso\flag_ottoman_icon"); ITT(2511,70003,"ui\eso\flag_french_icon"); ITS(2512,70212,"spec\techs\TK_2512"); ITS(2513,70214,"spec\techs\TK_2513"); ITS(2514,70216,"spec\techs\TK_2514"); ITS(2515,70218,"spec\techs\TK_2515"); ITS(2516,70220,"spec\techs\TK_2516"); ITS(2517,70222,"spec\techs\TK_2517"); ITS(2518,70223,"ui\home_city\hc_2x_town_center_wagon"); ITS(2519,70225,"ui\techs\hc_extensive_fortifications\hc_extensive_fortifications"); ITS(2520,70236,"ui\techs\asians\chuck\hc_fish_market_shipment"); ITS(2521,70239,"ui\techs\hc_improved_buildings\hc_improved_buildings"); ITS(2522,70242,"ui\techs\asians\chuck\hc_saw_mills_shipment"); ITS(2523,70245,"ui\techs\asians\chuck\hc_silver_smith_shipment"); ITS(2524,70258,"spec\techs\TK_2524"); ITT(2525,70264,"ui\techs\asians\tech_shrine_resource_upgrade"); ITT(2527,70306,"ui\techs\asians\tech_passive_convert_disciple_icon_64"); //ITT(2528,70317,"ui\techs\asians\tech_peasant_revolt_indian"); //ITT(2529,70319,"ui\techs\asians\tech_peasant_uprising_indian"); //ITT(2530,70322,"ui\techs\asians\tech_town_defense_indian"); //ITT(2531,70325,"ui\techs\asians\tech_city_defense_indian"); ITS(2532,70343,"ui\techs\hc_artillary_damage\hc_artillary_damage"); ITS(2533,70346,"ui\techs\hc_artillary_hitpoints\hc_artillary_hitpoints"); ITT(2534,70371,"ui\techs\asians\tech_legendary_natives"); ITS(2535,70415,"spec\techs\TK_2535"); ITS(2536,70440,"spec\techs\TK_2536"); ITT(2544,70491,"ui\ingame\icon_age_v"); ITS(2545,70496,"spec\techs\TK_2545"); ITS(2546,70499,"spec\techs\TK_2546"); ITS(2547,70507,"spec\techs\TK_2547"); ITT(1567,46172,"spec\techs\BB_1567"); ITT(1516,45709,"spec\techs\BB_1516"); ITT(1518,45713,"spec\techs\BB_1518"); ITT(1568,46174,"spec\techs\BB_1568"); ITT(1569,46178,"spec\techs\BB_1569"); ITT(1128,43614,"spec\techs\BB_1128"); ITT(1519,45715,"spec\techs\BB_1519"); ITT(1571,46184,"spec\techs\BB_1571"); ITT(1139,43657,"spec\techs\BB_1139"); ITT(1570,46182,"spec\techs\BB_1570"); ITT(1140,43659,"spec\techs\BB_1140"); ITT(1558,46138,"spec\techs\BB_1558"); ITT(1527,45899,"spec\techs\BB_1527"); ITT(1563,46162,"spec\techs\BB_1563"); ITT(1142,43693,"spec\techs\BB_1142"); ITT(1526,45887,"spec\techs\BB_1526"); ITT(1521,45719,"spec\techs\BB_1521"); ITT(1517,45711,"spec\techs\BB_1517"); ITT(1566,46170,"spec\techs\BB_1566"); ITT(1523,45723,"spec\techs\BB_1523"); ITT(1557,46136,"spec\techs\BB_1557"); ITT(1141,43690,"spec\techs\BB_1141"); ITT(1522,45721,"spec\techs\BB_1522"); ITT(1565,46168,"spec\techs\BB_1565"); ITT(1143,43696,"spec\techs\BB_1143"); ITT(1129,43616,"spec\techs\BB_1129"); ITT(1564,46166,"spec\techs\BB_1564"); ITT(1520,45717,"spec\techs\BB_1520"); ITT(1130,43618,"spec\techs\BB_1130"); ITT(2228,65603,"spec\techs\UI_endrelations"); ITT(2229,65605,"spec\techs\UI_endrelations"); ITT(2230,65607,"spec\techs\UI_endrelations"); ITT(2231,65609,"spec\techs\UI_endrelations"); ITT(2232,65611,"spec\techs\UI_endrelations"); ITT(2233,65613,"spec\techs\UI_endrelations"); ITT(2234,65615,"spec\techs\UI_endrelations"); ITT(2290,65907,"spec\techs\UI_endrelations"); ITT(2365,66530,"spec\techs\UI_endrelations"); ITT(2366,66532,"spec\techs\UI_endrelations"); ITT(2390,68233,"spec\techs\UI_endisolation"); ITT(2419,68629,"spec\techs\UI_endrelations"); ITT(2420,68631,"spec\techs\UI_endrelations"); ITT(2421,68633,"spec\techs\UI_endrelations"); cEf(" } "); } cEf(" void loadadvancedimprovarrays(int wtv=-1){ "); ATT(-1,-1,"AbstractVillager","HuntingDogs"); ATT(-1,-1,"AbstractVillager","Gangsaw"); ATT(-1,-1,"AbstractVillager","PlacerMines"); ATT(-1,-1,"AbstractVillager","Blunderbuss"); ATT(-1,-1,"AbstractVillager","GreatCoat"); ATT(-1,-1,"AbstractVillager","SteelTraps"); ATT(-1,-1,"AbstractVillager","LogFlume"); ATT(-1,-1,"AbstractVillager","Amalgamation"); ATT(-1,-1,"AbstractVillager","CircularSaw"); ATT(-1,-1,"AbstractVillager","LumberCeremony"); ATT(-1,-1,"AbstractVillager","ForestPeopleCeremony"); ATT(-1,-1,"AbstractVillager","ForestSpiritCeremony"); ATT(-1,-1,"AbstractVillager","SpiritMedicine"); ATT(-1,-1,"AbstractVillager","ypMarketBerryDogs"); ATT(-1,-1,"AbstractVillager","ypMarketBerryTraps"); ATT(-1,-1,"AbstractVillager","ypMarketHuntingDogs"); ATT(-1,-1,"AbstractVillager","ypMarketSteelTraps"); ATT(-1,-1,"AbstractVillager","ypMarketGangsaw"); ATT(-1,-1,"AbstractVillager","ypMarketLogFlume"); ATT(-1,-1,"AbstractVillager","ypMarketCircularSaw"); ATT(-1,-1,"AbstractVillager","ypMarketPlacerMines"); ATT(-1,-1,"AbstractVillager","ypMarketAmalgamation"); ATT(-1,-1,"AbstractVillager","ypMarketWheelbarrow"); ATT(-1,-1,"AbstractVillager","ypMarketWheelbarrow2"); ATT(-1,-1,"AbstractVillager","ypMarketSpiritMedicine"); cEf(" } "); cEf(" void togglegperr(int wtv=-1){ "); cEf(" showGperR=-1*showGperR; "); cEf(" } "); cEf(" void togglepopg(int wtv=-1){ "); cEf(" showPopGraphic=-1*showPopGraphic; gadgetToggle(\"messageWindow\"); "); cEf(" } "); cEf(" void toggleadjusteco(int wtv=-1){ "); cEf(" adjustecopop=-1*adjustecopop; "); cEf(" } "); cEf(" void toggledebugmode(int wtv=-1){ "); cEf(" debugmode=-1*debugmode; "); cEf(" } "); cEf(" void togglefog(int wtv=-1){ "); cEf(" justfogoff=-1*justfogoff; "); cEf(" if(justfogoff==1){trSetFogAndBlackmap(true,true);}else{trSetFogAndBlackmap(false,false);} "); cEf(" } "); cEf(" void togglecameralockonunit(int wtv=-1){ "); cEf(" int todaysquery=0; int querysize=0; int pa=-1; cameralockonunit=-1*cameralockonunit; "); cEf(" if(cameralockonunit==1){ "); cEf(" for(p=0;<="+cNumNonObsPlayers+"){ "); cEf(" xsSetContextPlayer(p); kbLookAtAllUnitsOnMap(); "); cEf(" todaysquery=kbUnitQueryCreate(\"LockOn\"+p); "); cEf(" kbUnitQuerySetPlayerID(todaysquery, p, true); kbUnitQuerySetState(todaysquery,cUnitStateAlive); "); cEf(" kbUnitQuerySetUnitType(todaysquery, 1509); "); //All cEf(" querysize=kbUnitQueryExecute(todaysquery); "); cEf(" for(i=0;-1){break;} "); cEf(" } "); cEf(" trUnitSelectClear(); "); cEf(" } "); cEf(" else{trCameraPanWithUnit(false,,-1);} "); cEf(" } "); cEf(" int amodb(int a=1, int b=1){ "); cEf(" int temp=a/b; temp=a-temp*b; "); cEf(" return(temp); "); cEf(" } "); //Max, min functions cEf(" int max(int a=-1,int b=-1) { "); cEf(" if(a>b){return(a);} "); cEf(" return(b); "); cEf(" } "); cEf(" int min(int a=-1,int b=-1) { "); cEf(" if(ab){return(a);} "); cEf(" return(b); "); cEf(" } "); //Various array functions cEf(" void resetstrarray(int i=-1) { "); cEf(" int size=xsArrayGetSize(i); "); cEf(" for(k=0; 0 && CBloc<0){arrayaddstr(CnINPT,\")\");CBloc=arraygetstrloc(CnINPT,\")\");} "); cEf(" if(OBloc>0 && CBloc>OBloc){ "); cEf(" funcname=parsestr(CnINPT,0,OBloc-1); "); cEf(" if(funcname==\"camzoom\"){inputint=parseint(CnINPT,OBloc+1,CBloc-1);if(InI(inputint,50,300)){scz(inputint);acp();sdc();}","else{kat(\"Zoom distance must be between 50 and 300.\");}} "); cEf(" else if(funcname==\"camnormal\"){sdc();acp();} "); cEf(" else if(funcname==\"play\"){if(arraygetstrloc(CnINPT,\".\")==-1){ext=\".mp3\";}inputstr=parsestr(CnINPT,OBloc+1,CBloc-1);","trMusicStop();trFadeOutAllSounds(3);trSoundPlayFN(inputstr+ext);vc=1;} "); cEf(" else if(funcname==\"playx\"){if(arraygetstrloc(CnINPT,\".\")==-1){ext=\".mp3\";}inputstr=parsestr(CnINPT,OBloc+1,CBloc-1);","trSoundPlayFN(inputstr+ext);vc=1;} "); cEf(" else if(funcname==\"track\"){saveconsolehistory=1;} "); cEf(" else if(funcname==\"fog\"){togglefog();} "); cEf(" else if(funcname==\"lighting\"){inputint=parseint(CnINPT,OBloc+1,CBloc-1);if(InI(inputint,0,120))","{uiApplyLightingSet(inputint);}else{kat(\"Requires index"," between 1 and 120\");}} "); cEf(" if(vc==1 && saveconsolehistory==1){arrayaddstr(CnCMDS,\"|\");arrayaddarraystr(CnCMDS,CnINPT);saveconsolehistory=0;} "); cEf(" } "); cEf(" else{ "); cEf(" kat(\"Invalid function:\n\"+parsestr(CnINPT,0,xsArrayGetSize(CnINPT)-1)","+\"\"); "); cEf(" } "); cEf(" } "); ///// //Consolation to be moved around as necessary //After each add str in yINP, check to see if an autocomplete exists? cEf(" string yCPT(int wtv=-1){ "); cEf(" string result=\"\"; int bestmatchfinindex=0; int bestmatchlength=0; "); cEf(" for(i=0;bestmatchlength || bestmatchlength==0){return(\"\");} "); //Otherwise there is something to return so we should return it. //cEf(" return(result+bestmatchfinindex+\"|\"+bestmatchlength); "); cEf(" for(q=bestmatchfinindex+1;bestmatchlength || bestmatchlength==0){} "); cEf(" else if(consoleautocomplete>\"\"){for(q=bestmatchfinindex+1;tempY2){ "); cEf(" xsArraySetInt(r,y,tempY2);xsArraySetInt(r,y+1,tempY1); "); cEf(" } "); cEf(" } "); cEf(" } "); cEf(" } "); //rearrange later. ///////////////////////////// cEf(" void shiftintarray(int i=-1, int add=0) { "); cEf(" bool fullarray=false; "); cEf(" int arraysize=xsArrayGetSize(i); "); cEf(" if(xsArrayGetInt(i,arraysize-1)!=-1){fullarray=true;} "); cEf(" if(fullarray==true){ "); cEf(" for(q=0;<(arraysize-1)){ "); cEf(" xsArraySetInt(i,q,xsArrayGetInt(i,q+1)); "); cEf(" } "); cEf(" xsArraySetInt(i,arraysize-1,add); "); cEf(" } "); cEf(" else{ "); cEf(" for(q=0;-1){ "); cEf(" for(r=a;\"\"){output=output+xsArrayGetString(precedarray,r);} "); cEf(" else{output=output+xsArrayGetString(array,r);} "); cEf(" } "); cEf(" } "); cEf(" else{ "); cEf(" for(k=a;"+cNumNonObsPlayers+"){trackPlay(0);trCameraPanWithUnit(false,,-1);trSetFogAndBlackmap(false,false); "); cEf(" gadgetReal(\"Spec_Flag_2_0\");gadgetReal(\"Spec_Flag_3_0\"); "); if(rmGetIsFFA()==false){ cEf(" gadgetReal(\"Spec_Flag_1_0\");gadgetReal(\"Spec_Flag_4_0\"); "); } cEf(" } "); cEf(" trUnitSelectClear(); "); cEf(" for(m="+rmGetUnitPlaced(BCOSIMBATMAN,0)+";<="+rmGetUnitPlaced(BCOSIMBATMAN,rmGetNumberUnitsPlaced(BCOSIMBATMAN)-1)+"){ "); cEf(" trUnitSelectByID(m);trUnitChangeProtoUnit(\"CinematicBlock\");trUnitSelectClear(); "); cEf(" } "); cEf(" } "); cEf(" } "); cEf(" void updateATMeco(int wtv=-1){ "); for(p=1;<=cNumNonObsPlayers){ cEf(" resetintarray(B1P"+p+"); "); cEf(" for(i=0;<"+cNumEcoTypes+"){ "); cEf(" if(xsArrayGetInt(A1P"+p+",i)>0){ "); cEf(" arrayaddint(B1P"+p+",i); "); cEf(" } "); cEf(" } "); } cEf(" } "); cEf(" void updateATMmil(int wtv=-1){ "); for(p=1;<=cNumNonObsPlayers){ cEf(" resetintarray(B2P"+p+"); "); cEf(" for(i="+cNumEcoTypes+";<"+(cNumEcoTypes+cNumMilTypes)+"){ "); cEf(" if(xsArrayGetInt(A1P"+p+",i)>0){ "); cEf(" arrayaddint(B2P"+p+",i); "); cEf(" } "); cEf(" } "); } cEf(" } "); cEf(" void updateATMwat(int wtv=-1){ "); for(p=1;<=cNumNonObsPlayers){ cEf(" resetintarray(B3P"+p+"); "); cEf(" for(i="+(cNumEcoTypes+cNumMilTypes)+";<"+(cNumEcoTypes+cNumMilTypes+cNumWatTypes)+"){ "); cEf(" if(xsArrayGetInt(A1P"+p+",i)>0){ "); cEf(" arrayaddint(B3P"+p+",i); "); cEf(" } "); cEf(" } "); } cEf(" } "); cEf(" void updateATMall(int wtv=-1){ "); for(p=1;<=cNumNonObsPlayers){ cEf(" resetintarray(B4P"+p+"); "); cEf(" for(i=0;<"+(cNumAllTypes)+"){ "); cEf(" if(xsArrayGetInt(A1P"+p+",i)>0){ "); cEf(" arrayaddint(B4P"+p+",i); "); cEf(" } "); cEf(" } "); } cEf(" } "); cEf(" void updateATMque(int wtv=-1){ "); for(p=1;<=cNumNonObsPlayers){ cEf(" resetintarray(B5P"+p+"); "); cEf(" for(i=0;<"+(cNumAllTypes)+"){ "); cEf(" if(xsArrayGetInt(A2P"+p+",i)>0){ "); cEf(" arrayaddint(B5P"+p+",i); "); cEf(" } "); cEf(" } "); } cEf(" } "); cEf(" void updateATMded(int wtv=-1){ "); for(p=1;<=cNumNonObsPlayers){ cEf(" resetintarray(B6P"+p+"); "); //for base eco types cEf(" for(b=0;<14){ "); cEf(" if(xsArrayGetInt(A3P"+p+",b)>0){ "); cEf(" arrayaddint(B6P"+p+",b); "); cEf(" } "); cEf(" } "); //for others cEf(" for(i="+cNumEcoTypes+";<"+(cNumAllTypes)+"){ "); cEf(" if(xsArrayGetInt(A3P"+p+",i)>0){ "); cEf(" arrayaddint(B6P"+p+",i); "); cEf(" } "); cEf(" } "); } cEf(" } "); //Call it in the thing that handles techs. cEf(" void handleRevolt(int tID=0, int plyr=-1){ "); cEf(" int myciv=0; "); cEf(" xsSetContextPlayer(plyr); myciv=kbGetCiv(); "); for(p=1;<=cNumNonObsPlayers){ cEf(" if(column"+p+"player==plyr){gadgetUnreal(\"Spec_Flag_\"+("+p+"+"+(2-cNumNonObsPlayers/2)+")+\"_\"+myciv); "); cEf(" gadgetReal(\"Spec_Flag_\"+("+p+"+"+(2-cNumNonObsPlayers/2)+")+\"_\"+(tID-1478));} "); } for(p=1;<=cNumNonObsPlayers){ cEf(" if(plyr=="+p+"){has"+p+"Rev=1;} "); } cEf(" } "); for(p=1;<=cNumNonObsPlayers){ cEf(" void echoPlayerShipmentString"+p+"(int tID=-1){ "); cEf(" string echoOutput=\"{\"+xsArrayGetInt(ImDC,tID)+\"}\"+\"Tech ID \"+tID; "); for(flagposition=1;<=4){ if(rPFromWest(flagposition)==p){cEf(" trOverlayText(echoOutput,0,flag"+(flagposition+(2-cNumNonObsPlayers/2))+"Xpos-flagXleeway,60,70+2*flagXleeway,\"\"); "); cEf(" gadgetReal(\"Spec_ShipmentEcho_"+(flagposition+(2-cNumNonObsPlayers/2))+"_P"+p+"\");gadgetToggle(\"Spec_ShipmentEcho_"+(flagposition+(2-cNumNonObsPlayers/2))+"_P"+p+"\"); ");} } cEf(" } "); } //NB only STANDARD consulate types. cEf(" bool canReResearch(int i=0){ "); cEf(" if(i==2099){return(true);} "); cEf(" if(InI(i,2108,2112)){return(true);} "); cEf(" if(i==2212){return(true);} "); cEf(" if(i==2289){return(true);} "); cEf(" if(i==2389){return(true);} "); cEf(" if(InI(i,2228,2234)){return(true);} "); cEf(" if(i==2290){return(true);} "); cEf(" if(i==2390){return(true);} "); cEf(" return(false); "); cEf(" } "); for(p=1;<=cNumNonObsPlayers){ cEf(" void updateimprovarrays"+p+"(int wtv=-1){ "); cEf(" int indicator=0; float progress=0; "); cEf(" resetintarray(C4P"+p+"); xsSetContextPlayer("+p+"); "); cEf(" for(i=0;<"+cNumAllTechs+"){ "); cEf(" progress=kbGetTechPercentComplete(i); "); cEf(" if(progress>0){ "); cEf(" if(progress==1){ "); cEf(" indicator=xsArrayGetInt(C1P"+p+",i); "); cEf(" if(indicator>0){ "); cEf(" if(indicator==1){ "); cEf(" arrayaddint(C2P"+p+",i); arrayaddint(C3P"+p+",trTime()); "); cEf(" xsArraySetInt(C1P"+p+",i,0); "); cEf(" if(InI(i,1531,1538)){handleRevolt(i,"+p+");} "); cEf(" } "); cEf(" else{ "); cEf(" arrayaddint(C5P"+p+",i); arrayaddint(C6P"+p+",trTime()); "); cEf(" xsArraySetInt(C1P"+p+",i,0); "); cEf(" echoPlayerShipmentString"+p+"(i); "); cEf(" } "); cEf(" if(xsArrayGetInt(Gplyr,0)=="+p+" && InI(xsArrayGetInt(Gtype,0),7,8)){scrollingindex1=-1;} "); cEf(" else if(xsArrayGetInt(Gplyr,Glinewidth-1)=="+p+" && InI(xsArrayGetInt(Gtype,Glinewidth-1),7,8)){scrollingindex3=-1;} "); cEf(" else if(xsArrayGetInt(Gplyr,Glinewidth)=="+p+" && InI(xsArrayGetInt(Gtype,Glinewidth),7,8)){scrollingindex2=-1;} "); cEf(" else if(xsArrayGetInt(Gplyr,2*Glinewidth-1)=="+p+" && InI(xsArrayGetInt(Gtype,2*Glinewidth-1),7,8)){scrollingindex4=-1;} "); cEf(" } "); cEf(" } "); cEf(" else{ "); cEf(" if(canReResearch(i)){xsArraySetInt(C1P"+p+",i,1);} "); cEf(" arrayaddint(C4P"+p+",i); "); cEf(" } "); cEf(" } "); cEf(" } "); cEf(" } "); } cEf(" void updateimprovarrays(int wtv=-1){ "); for(p=1;<=cNumNonObsPlayers){ cEf(" updateimprovarrays"+p+"(); "); } cEf(" } "); //Recover from old file if need. cEf(" void sendtestchat(int wtv=-1){} "); cEf(" void handleadvancedtechtracking(int wtv=-1){ "); cEf(" int todaysquery=0; int querysize=0; int pa=-1; int prid=-1; ","int utid=-1; int ttid=-1; string output=\"\"; kbLookAtAllUnitsOnMap(); "); cEf(" for(p=1;<="+cNumNonObsPlayers+"){ "); cEf(" xsSetContextPlayer(p); kbLookAtAllUnitsOnMap(); "); cEf(" todaysquery=kbUnitQueryCreate(\"TechTracking\"+p); "); cEf(" kbUnitQuerySetPlayerID(todaysquery, p, true); kbUnitQuerySetState(todaysquery,cUnitStateAlive); "); cEf(" kbUnitQuerySetUnitType(todaysquery, 1509); "); //All cEf(" querysize=kbUnitQueryExecute(todaysquery); "); cEf(" for(i=0;-1){break;} "); cEf(" } "); cEf(" trUnitSelectClear(); "); cEf(" for(h=0;-1){gadgetUnreal(\"RTD-\"+kbGetTechName(xsArrayGetInt(AdUUDisplay,h)));} "); cEf(" } "); cEf(" resetintarray(AdUUDisplay); "); cEf(" if(prid>-1){ "); cEf(" for(moo=0;0){AGE_TEXT_"+p+"=\"\"+AGE_PROG_"+p+"+\"^ \";}else{AGE_TEXT_"+p+"=\"\";}} "); } cEf(" } "); //store ageupbar in a string, can be blank if necessary. cEf(" void processages(int wtv=-1){ "); cEf(" for(plyr=1;<="+cNumNonObsPlayers+"){ "); cEf(" xsSetContextPlayer(plyr); "); cEf(" if(1<0){} "); for(k=522; <= 528){AgeUpPCT(k);}for(k=537; <= 544){AgeUpPCT(k);}AgeUpPCT(546);AgeUpPCT(579);AgeUpPCT(580); AgeUpPCT(597);AgeUpPCT(660);for(k=662; <= 676){AgeUpPCT(k);}for(k=684; <= 687){AgeUpPCT(k);}for(k=697; <= 704){AgeUpPCT(k);} AgeUpPCT(1002);AgeUpPCT(1076);AgeUpPCT(1098);AgeUpPCT(1099);for(k=1144; <= 1147){AgeUpPCT(k);} AgeUpPCT(1149);AgeUpPCT(1150);for(k=1152; <= 1163){AgeUpPCT(k);}for(k=1428; <= 1444){AgeUpPCT(k);} for(k=1446; <= 1468){AgeUpPCT(k);}AgeUpPCT(2100);AgeUpPCT(2107);AgeUpPCT(2138);AgeUpPCT(2139); for(k=2144; <= 2203){AgeUpPCT(k);}AgeUpPCT(2394);AgeUpPCT(2544); cEf(" updAgeUpTXT(plyr); "); cEf(" } "); cEf(" } "); cEf(" void populatelifearrays(int wtv=-1){ "); cEf(" kbLookAtAllUnitsOnMap(); "); for(p=1;<=cNumNonObsPlayers){ cEf(" xsSetContextPlayer("+p+"); "); cEf(" for(i=0;<"+cNumAllTypes+"){ "); cEf(" xsArraySetInt(A1P"+p+",i,kbUnitCount("+p+",xsArrayGetInt(PrID,i),cUnitStateAlive)); "); cEf(" } "); } cEf(" } "); cEf(" void populatequeuearrays(int wtv=-1){ "); cEf(" kbLookAtAllUnitsOnMap(); "); for(p=1;<=cNumNonObsPlayers){ cEf(" xsSetContextPlayer("+p+"); "); cEf(" for(i=0;<"+cNumAllTypes+"){ "); cEf(" xsArraySetInt(A2P"+p+",i,kbUnitCount("+p+",xsArrayGetInt(PrID,i),cUnitStateBuilding)","+kbUnitCount("+p+",xsArrayGetInt(PrID,i),cUnitStateQueued)); "); cEf(" } "); } cEf(" } "); //could create multiple timestamp arrays later on cEf(" void populatedeatharrays(int wtv=-1){ "); cEf(" kbLookAtAllUnitsOnMap(); "); for(p=1;<=cNumNonObsPlayers){ cEf(" xsSetContextPlayer("+p+"); "); cEf(" for(i=0;<"+cNumAllTypes+"){ "); cEf(" xsArraySetInt(A3P"+p+",i,kbUnitCount("+p+",xsArrayGetInt(PrID,i),cUnitStateDead)); "); cEf(" } "); } cEf(" } "); //Bunch of functions cEf(" string rep(int numtimes=1, string base=\" \"){ "); cEf(" string output=\"\"; "); cEf(" for(t=0; \"; "); cEf(" output=\"\"; "); cEf(" return(output); "); cEf(" } "); cEf(" void plotintarray(int array=-1,int heit=30,int maxlt=900){ "); cEf(" string result=\"\n\"; "); cEf(" int prevalue=xsArrayGetInt(array,0)/3; "); cEf(" int posvalue=0; "); cEf(" for(i=1;prevalue){ "); cEf(" result=result+DS(prevalue)+\"\"; "); cEf(" } "); cEf(" else if(posvalue\"; "); cEf(" } "); cEf(" else{ "); cEf(" result=result+DS(posvalue)+\"\"; "); cEf(" } "); cEf(" result=result+\"\n\"; prevalue=posvalue; "); cEf(" } "); cEf(" trMessageSetText(\"\"+result+\"\",-1); "); cEf(" } "); //Score Icons cEf(" string SC(int width=1, string exten=\"\"){ "); cEf(" string output=\"\"; "); cEf(" output=\"\"; "); cEf(" return(output); "); cEf(" } "); //Decimal Point'd cEf(" string DPd(float input=0.5, int points=0){ "); cEf(" string output=\"\"; float temp=input; int tempint=input; int temprmd=0; "); cEf(" for(k=0;\"+input+\"\"; "); cEf(" } "); cEf(" else{ "); cEf(" output=\"\"+input+\"\"; "); cEf(" } "); cEf(" return(output); "); cEf(" } "); cEf(" string fontize(string input=\"\", string font=\"ScoreFont 12\"){ "); cEf(" string output=\"\"; "); cEf(" output=\"\"+input+\"\"; "); cEf(" return(output); "); cEf(" } "); cEf(" string numAlign(int num=0, int maxwidth=4, int alignment=0){ "); cEf(" string output=\"\"; "); cEf(" if(alignment==0){output=num+rep(maxwidth-SPlength(num));} "); cEf(" else if(alignment==1){output=rep(maxwidth-SPlength(num))+num;} "); cEf(" else if(alignment==2){} "); cEf(" else if(alignment==3){output=rep(maxwidth-4)+num+rep(4-SPlength(num));} "); cEf(" return(output); "); cEf(" } "); //Convert integer to 00:00 format cEf(" string int2time(int convert=0) { "); cEf(" string Ioutput=\"\"; int Imin=0; int Isec=0; "); cEf(" Imin=convert/60; Isec=convert-Imin*60; "); cEf(" if(Imin>0){Ioutput=Ioutput+Imin+\":\";} "); cEf(" else{Ioutput=Ioutput+\"0:\";} "); cEf(" if(Isec<10){Ioutput=Ioutput+\"0\"+Isec;} else{Ioutput=Ioutput+Isec;} "); cEf(" return(Ioutput); "); cEf(" } "); cEf(" string displayR(int input=0){ "); cEf(" string output=\"\"; int length=SPlength(input); "); cEf(" if(input<1){output=DS(disR1);} "); cEf(" else if(length==2){ "); cEf(" output=output+DS(disR2)+input; "); cEf(" } "); cEf(" else if(length==4){ "); cEf(" output=output+DS(disR3)+input; "); cEf(" } "); cEf(" else if(length==6){ "); cEf(" output=output+DS(disR4)+input; "); cEf(" } "); cEf(" return(output); "); cEf(" } "); cEf(" string displayT(int input=0){ "); cEf(" string output=\"\"; "); cEf(" output=output+int2time(input); "); cEf(" if(input<600){output=DS(disT1)+output;} "); cEf(" if(input<0){output=DS(disT2);} "); cEf(" return(output); "); cEf(" } "); //Handles shipment stuff if(true){ cEf(" int extraXP(int plyr=-1){ "); cEf(" int current=kbResourceGetXP(plyr); "); cEf(" int deduct=0; "); for(p=1;<=cNumNonObsPlayers){ cEf(" if(plyr=="+p+"){deduct=P"+p+"StartXP;} "); } cEf(" return(current-deduct); "); cEf(" } "); if(true){ cEf(" int SHPperc(int civ=1, float XP=0) { "); cEf(" int perc=0; int temp=0;"); //Spain cEf(" if(civ==1){ "); cEf(" if(XP<225){perc=100*XP/225;} "); xpPC(484,225,259);xpPC(782,484,298);xpPC(1124,782,342);xpPC(1517,1124,393); xpPC(1969,1517,452);xpPC(2490,1969,521);xpPC(3089,2490,599); xpPC(3777,3089,688);xpPC(4568,3777,791);xpPC(5478,4568,910); xpPC(6526,5478,1048);xpPC(7729,6526,1203);xpPC(9113,7729,1384); xpPC(10706,9113,1593);xpPC(12536,10706,1830);xpPC(14642,12536,2106); xpPC(17064,14642,2422);xpPC(19563,17064,2499); cEf(" else {temp=(XP-19563)/2500; perc=(XP-19563-temp*2500)/25;} "); cEf(" } "); //Germany cEf(" else if(civ==7){ "); cEf(" if(XP<330){perc=100*XP/330;} "); xpPC(710,330,380);xpPC(1146,710,436);xpPC(1648,1146,502);xpPC(2225,1648,577); xpPC(2889,2225,664);xpPC(3652,2889,763);xpPC(4530,3652,878);xpPC(5539,4530,1009); xpPC(6700,5539,1161);xpPC(8035,6700,1335);xpPC(9571,8035,1536); xpPC(11336,9571,1765);xpPC(13367,11336,2031);xpPC(15701,13367,2334);xpPC(18202,15701,2501); cEf(" else {temp=(XP-18202)/2500; perc=(XP-18202-temp*2500)/25;} "); cEf(" } "); //Japan and China cEf(" else if(civ==19 || civ==20){ "); cEf(" if(XP<301){perc=100*XP/301;} "); xpPC(647,301,346);xpPC(1045,647,398);xpPC(1505,1045,460);xpPC(2037,1505,532); xpPC(2652,2037,615);xpPC(3366,2652,714);xpPC(4193,3366,827);xpPC(5153,4193,960); xpPC(6269,5153,1116);xpPC(7570,6269,1301);xpPC(9064,7570,1494);xpPC(10784,9064,1720); xpPC(12762,10784,1978);xpPC(15035,12762,2273);xpPC(17535,15035,2500); cEf(" else {temp=(XP-17535)/2500; perc=(XP-17535-temp*2500)/25;} "); cEf(" } "); //India cEf(" else if(civ==21){ "); cEf(" if(XP<324){perc=100*XP/324;} "); xpPC(697,324,373);xpPC(1125,697,428);xpPC(1618,1125,493); xpPC(2185,1618,567);xpPC(2836,2185,651);xpPC(3585,2836,749); xpPC(4447,3585,862);xpPC(5439,4447,992);xpPC(6578,5439,1139); xpPC(7889,6578,1311);xpPC(9397,7889,1508);xpPC(11130,9397,1733); xpPC(13123,11130,1993);xpPC(15416,13123,2293);xpPC(17916,15416,2500); cEf(" else {temp=(XP-17916)/2500; perc=(XP-17916-temp*2500)/25;} "); cEf(" } "); //Others cEf(" else { "); cEf(" if(XP<300){perc=100*XP/300;} "); xpPC(645,300,345);xpPC(1042,645,397);xpPC(1498,1042,456);xpPC(2023,1498,525); xpPC(2626,2023,603);xpPC(3320,2626,694);xpPC(4118,3320,798); xpPC(5036,4118,918);xpPC(6091,5036,1055); xpPC(7304,6091,1213);xpPC(8701,7304,1397); xpPC(10305,8701,1604);xpPC(12152,10305,1847);xpPC(14274,12152,2122); xpPC(16716,14274,2442);xpPC(19215,16716,2499); cEf(" else {temp=(XP-19215)/2500; perc=(XP-19215-temp*2500)/25;} "); cEf(" } "); cEf(" return(perc); "); cEf(" } "); } //add a variable which processes revolt one-time if a nub has revolted. cEf(" bool hasRevolted(int plyr=-1){ "); cEf(" bool output=false; "); cEf(" xsSetContextPlayer(plyr); "); cEf(" for(d=1531;<=1538){ "); cEf(" if(kbGetTechPercentComplete(d)==1){output=true; break;} "); cEf(" } "); cEf(" return(output); "); cEf(" } "); cEf(" string agetext(int plyr=-1){ "); for(p=1;<=cNumNonObsPlayers){ cEf(" if(plyr=="+p+"){return(AGE_TEXT_"+p+");} "); } cEf(" return(\"\"); "); cEf(" } "); cEf(" string plyrHeader(int plyr=-1){ "); cEf(" int curAge=kbGetAgeForPlayer(plyr); "); cEf(" string output=agetext(plyr)+SC(16,\"score_age_\"+(curAge+1))+rep(2); "); cEf(" if(curAge==3){if(hasRevolted(plyr)){output=SC(16,\"score_revolution\")+rep(2);}} "); cEf(" if(kbIsPlayerResigned(plyr) || kbHasPlayerLost(plyr)){"); cEf(" output=output+colourize(\"{playerName(\"+plyr+\")} [OUT] : {playerScore(\"+plyr+\")}\",plyr); "); cEf(" } "); cEf(" else{ "); cEf(" output=output+colourize(\"{playerName(\"+plyr+\")}: {playerScore(\"+plyr+\")}\",plyr); "); cEf(" } "); cEf(" return(output); "); cEf(" } "); //To be edited on a map-by-map basis. Pls no Obs. Silk Road. cEf(" string plyrTPHeader(int plyr=-1,int TPHL=600){ "); cEf(" string output=rep(6); int numTRS=0; int numTPs=0; int TPHds=TPHL; xsSetContextPlayer(plyr); "); cEf(" numTPs=kbUnitCount(plyr,292,2); "); for(s=0;=popSpace){ "); cEf(" output=\"\"+output+\"\"; "); cEf(" } "); cEf(" return(output); "); cEf(" } "); cEf(" string plyrHeader1(int plyr=-1){ "); cEf(" int curAge=kbGetAgeForPlayer(plyr); "); cEf(" string output=SC(16,\"score_age_\"+(curAge+1))+popInfo(plyr); "); cEf(" if(curAge==3){if(hasRevolted(plyr)){output=SC(16,\"score_revolution\")+popInfo(plyr);}} "); cEf(" if(kbIsPlayerResigned(plyr) || kbHasPlayerLost(plyr)){"); cEf(" output=DS(headerstarter)+output+colourize(\"\"+rep(tpsubspacing2)+\"\",plyr); "); cEf(" } "); cEf(" else{ "); cEf(" output=DS(headerstarter)+output+rep(tpsubspacing2); "); cEf(" } "); cEf(" return(output+plyrTPHeader(plyr,tpbigspacing2)); "); //Need to stop this from being hardcoded cEf(" } "); cEf(" string plyrHeader2(int plyr1=-1, int plyr2=-2){ "); cEf(" int curAge=kbGetAgeForPlayer(plyr1); "); cEf(" string output=SC(16,\"score_age_\"+(curAge+1))+popInfo(plyr1); "); cEf(" if(curAge==3){if(hasRevolted(plyr1)){output=SC(16,\"score_revolution\")+popInfo(plyr1);}} "); cEf(" if(kbIsPlayerResigned(plyr1) || kbHasPlayerLost(plyr1)){"); cEf(" output=DS(headerstarter)+output+colourize(\"\"+rep(tpsubspacing4)+\"\",plyr1); "); cEf(" } "); cEf(" else{ "); cEf(" output=DS(headerstarter)+output+rep(tpsubspacing4); "); cEf(" } "); cEf(" output=output+plyrTPHeader(plyr1,tpbigspacing4); "); //Need to stop this from being hardcoded cEf(" curAge=kbGetAgeForPlayer(plyr2); "); cEf(" output=output+DS(headerstarter)+SC(16,\"score_age_\"+(curAge+1))+popInfo(plyr2); "); cEf(" if(curAge==3){if(hasRevolted(plyr2)){output=output+SC(16,\"score_revolution\")+popInfo(plyr2);}} "); cEf(" if(kbIsPlayerResigned(plyr2) || kbHasPlayerLost(plyr2)){"); cEf(" output=output+colourize(\"\"+rep(tpsubspacing4)+\"\",plyr2); "); cEf(" } "); cEf(" else{ "); cEf(" output=output+rep(tpsubspacing4); "); cEf(" } "); cEf(" output=output+plyrTPHeader(plyr2,tpbigspacing4); "); //Need to stop this from being hardcoded cEf(" return(output); "); cEf(" } "); for(r=0;<3){ cEf(" int kbGetResIncome"+r+"(int plyr=-1){ "); cEf(" int result=0; "); for(p=1;<=cNumNonObsPlayers){cEf(" if(plyr=="+p+"){result=Del"+resName(r)+"_"+p+"; return(result);} ");} cEf(" return(result); "); cEf(" } "); } cEf(" int kbGetResIncome7(int plyr=-1){ "); cEf(" int result=0; "); for(p=1;<=cNumNonObsPlayers){cEf(" if(plyr=="+p+"){result=DelTrade_"+p+"; return(result);} ");} cEf(" return(result); "); cEf(" } "); for(r=0;<4){ cEf(" int kbPopGathr"+resName(r)+"(int plyr=-1){ "); for(p=1;<=cNumNonObsPlayers){cEf(" if(plyr=="+p+"){return(PopGathr"+resName(r)+"_"+p+");} ");} cEf(" return(0); "); cEf(" } "); } for(r=-1;<3){ cEf(" int kbDeadCost"+resName(r)+"(int plyr=-1){ "); for(p=1;<=cNumNonObsPlayers){cEf(" if(plyr=="+p+"){return(DeadCost"+resName(r)+"_"+p+");} ");} cEf(" return(0); "); cEf(" } "); } //// cEf(" string resLine1(int plyr1=1){ "); cEf(" string output=\"\"; "); cEf(" int val1=0; int val2=0; int val3=0; int val4=0; "); cEf(" int left=0; int rite=0; "); cEf(" string str1=\"\"; string str2=\"\"; string str3=\"\"; string str4=\"\"; "); cEf(" if(ResDispType==1){ "); cEf(" xsSetContextPlayer(plyr1); "); cEf(" val1=kbResourceGet(2); val2=kbResourceGet(1); "); cEf(" val3=kbResourceGet(0); val4=kbResourceGet(7); "); cEf(" } "); cEf(" else if(ResDispType==2){ "); cEf(" xsSetContextPlayer(plyr1); "); cEf(" val1=kbTotalResourceGet(2); val2=kbTotalResourceGet(1); "); cEf(" val3=kbTotalResourceGet(0); val4=kbTotalResourceGet(7); "); cEf(" } "); cEf(" else if(ResDispType==3){ "); cEf(" val1=kbGetResIncome2(plyr1); val2=kbGetResIncome1(plyr1); "); cEf(" val3=kbGetResIncome0(plyr1); val4=kbGetResIncome7(plyr1); "); cEf(" } "); cEf(" else if(ResDispType==4){ "); cEf(" val1=kbDeadCostFood(plyr1); val2=kbDeadCostWood(plyr1); "); cEf(" val3=kbDeadCostGold(plyr1); val4=kbDeadCostTrade(plyr1); "); cEf(" } "); cEf(" if(ResDispType==1 || ResDispType==2 || ResDispType==4){ "); cEf(" str1=str1+numAlign(val1,11); "); cEf(" str2=str2+numAlign(val2,11); "); cEf(" str3=str3+numAlign(val3,11); "); cEf(" str4=str4+numAlign(val4,11); "); cEf(" } "); cEf(" else if(ResDispType==3){ "); cEf(" left=val1/100; rite=val1-left*100; "); cEf(" str1=left+\".\"+rite+rep(10-SPlength(left)-SPlength(rite)); "); cEf(" left=val2/100; rite=val2-left*100; "); cEf(" str2=left+\".\"+rite+rep(10-SPlength(left)-SPlength(rite)); "); cEf(" left=val3/100; rite=val3-left*100; "); cEf(" str3=left+\".\"+rite+rep(10-SPlength(left)-SPlength(rite)); "); cEf(" left=val4/100; rite=val4-left*100; "); cEf(" str4=left+\".\"+rite+rep(10-SPlength(left)-SPlength(rite)); "); cEf(" } "); cEf(" str1=SC(35,\"resource_food\")+str1; "); cEf(" str2=SC(35,\"resource_wood\")+str2; "); cEf(" str3=SC(35,\"resource_gold\")+str3; "); cEf(" str4=SC(35,\"resource_trade\")+str4; "); cEf(" if(showGperR==1){ "); cEf(" str1=numAlign(kbPopGathrFood(plyr1),4)+str1; "); cEf(" str2=numAlign(kbPopGathrWood(plyr1),4)+str2; "); cEf(" str3=numAlign(kbPopGathrGold(plyr1),4)+str3; "); cEf(" str4=numAlign(kbPopGathrIdle(plyr1),4)+str4; "); cEf(" } "); cEf(" else{ "); cEf(" str1=str1+rep(4); "); cEf(" str2=str2+rep(4); "); cEf(" str3=str3+rep(4); "); cEf(" str4=str4+rep(4); "); cEf(" } "); cEf(" output=output+str1+\"\n\"; "); cEf(" output=output+str2+\"\n\"; "); cEf(" output=output+str3+\"\n\"; "); cEf(" if(plyr1==resline1player){ "); cEf(" output=output+str4+cumstring(Gtext,0,Glinewidth); "); cEf(" } "); cEf(" else{ "); cEf(" output=output+str4+cumstring(Gtext,Glinewidth,2*Glinewidth); "); cEf(" } "); cEf(" return(output); "); cEf(" } "); //// cEf(" string resLine2(int plyr1=1, int plyr2=2){ "); cEf(" string output=\"\"; "); cEf(" int val1=0; int val2=0; int val3=0; int val4=0; "); cEf(" int val5=0; int val6=0; int val7=0; int val8=0; "); cEf(" int left=0; int rite=0; "); cEf(" string str1=\"\"; string str2=\"\"; string str3=\"\"; string str4=\"\"; "); cEf(" string str5=\"\"; string str6=\"\"; string str7=\"\"; string str8=\"\"; "); cEf(" if(ResDispType==1){ "); cEf(" xsSetContextPlayer(plyr1); "); cEf(" val1=kbResourceGet(2); val2=kbResourceGet(1); "); cEf(" val3=kbResourceGet(0); val4=kbResourceGet(7); "); cEf(" xsSetContextPlayer(plyr2); "); cEf(" val5=kbResourceGet(2); val6=kbResourceGet(1); "); cEf(" val7=kbResourceGet(0); val8=kbResourceGet(7); "); cEf(" } "); cEf(" else if(ResDispType==2){ "); cEf(" xsSetContextPlayer(plyr1); "); cEf(" val1=kbTotalResourceGet(2); val2=kbTotalResourceGet(1); "); cEf(" val3=kbTotalResourceGet(0); val4=kbTotalResourceGet(7); "); cEf(" xsSetContextPlayer(plyr2); "); cEf(" val5=kbTotalResourceGet(2); val6=kbTotalResourceGet(1); "); cEf(" val7=kbTotalResourceGet(0); val8=kbTotalResourceGet(7); "); cEf(" } "); cEf(" else if(ResDispType==3){ "); cEf(" val1=kbGetResIncome2(plyr1); val2=kbGetResIncome1(plyr1); "); cEf(" val3=kbGetResIncome0(plyr1); val4=kbGetResIncome7(plyr1); "); cEf(" val5=kbGetResIncome2(plyr2); val6=kbGetResIncome1(plyr2); "); cEf(" val7=kbGetResIncome0(plyr2); val8=kbGetResIncome7(plyr2); "); cEf(" } "); cEf(" else if(ResDispType==4){ "); cEf(" val1=kbDeadCostFood(plyr1); val2=kbDeadCostWood(plyr1); "); cEf(" val3=kbDeadCostGold(plyr1); val4=kbDeadCostTrade(plyr1); "); cEf(" val5=kbDeadCostFood(plyr2); val6=kbDeadCostWood(plyr2); "); cEf(" val7=kbDeadCostGold(plyr2); val8=kbDeadCostTrade(plyr2); "); cEf(" } "); cEf(" if(ResDispType==1 || ResDispType==2 || ResDispType==4){ "); cEf(" str1=str1+numAlign(val1,11); "); cEf(" str2=str2+numAlign(val2,11); "); cEf(" str3=str3+numAlign(val3,11); "); cEf(" str4=str4+numAlign(val4,11); "); cEf(" str5=str5+numAlign(val5,11); "); cEf(" str6=str6+numAlign(val6,11); "); cEf(" str7=str7+numAlign(val7,11); "); cEf(" str8=str8+numAlign(val8,11); "); cEf(" } "); cEf(" else if(ResDispType==3){ "); cEf(" left=val1/100; rite=val1-left*100; "); cEf(" str1=left+\".\"+rite+rep(10-SPlength(left)-SPlength(rite)); "); cEf(" left=val2/100; rite=val2-left*100; "); cEf(" str2=left+\".\"+rite+rep(10-SPlength(left)-SPlength(rite)); "); cEf(" left=val3/100; rite=val3-left*100; "); cEf(" str3=left+\".\"+rite+rep(10-SPlength(left)-SPlength(rite)); "); cEf(" left=val4/100; rite=val4-left*100; "); cEf(" str4=left+\".\"+rite+rep(10-SPlength(left)-SPlength(rite)); "); cEf(" left=val5/100; rite=val5-left*100; "); cEf(" str5=left+\".\"+rite+rep(10-SPlength(left)-SPlength(rite)); "); cEf(" left=val6/100; rite=val6-left*100; "); cEf(" str6=left+\".\"+rite+rep(10-SPlength(left)-SPlength(rite)); "); cEf(" left=val7/100; rite=val7-left*100; "); cEf(" str7=left+\".\"+rite+rep(10-SPlength(left)-SPlength(rite)); "); cEf(" left=val8/100; rite=val8-left*100; "); cEf(" str8=left+\".\"+rite+rep(10-SPlength(left)-SPlength(rite)); "); cEf(" } "); cEf(" str1=SC(35,\"resource_food\")+str1; "); cEf(" str2=SC(35,\"resource_wood\")+str2; "); cEf(" str3=SC(35,\"resource_gold\")+str3; "); cEf(" str4=SC(35,\"resource_trade\")+str4; "); cEf(" str5=SC(35,\"resource_food\")+str5; "); cEf(" str6=SC(35,\"resource_wood\")+str6; "); cEf(" str7=SC(35,\"resource_gold\")+str7; "); cEf(" str8=SC(35,\"resource_trade\")+str8; "); cEf(" if(showGperR==1){ "); cEf(" str1=numAlign(kbPopGathrFood(plyr1),4)+str1; "); cEf(" str2=numAlign(kbPopGathrWood(plyr1),4)+str2; "); cEf(" str3=numAlign(kbPopGathrGold(plyr1),4)+str3; "); cEf(" str4=numAlign(kbPopGathrIdle(plyr1),4)+str4; "); cEf(" str5=numAlign(kbPopGathrFood(plyr2),4)+str5; "); cEf(" str6=numAlign(kbPopGathrWood(plyr2),4)+str6; "); cEf(" str7=numAlign(kbPopGathrGold(plyr2),4)+str7; "); cEf(" str8=numAlign(kbPopGathrIdle(plyr2),4)+str8; "); cEf(" } "); cEf(" else{ "); cEf(" str1=str1+rep(4); "); cEf(" str2=str2+rep(4); "); cEf(" str3=str3+rep(4); "); cEf(" str4=str4+rep(4); "); cEf(" str5=str5+rep(4); "); cEf(" str6=str6+rep(4); "); cEf(" str7=str7+rep(4); "); cEf(" str8=str8+rep(4); "); cEf(" } "); cEf(" output=output+str1+DS(reslinespacing)+str5+\"\n\"; "); cEf(" output=output+str2+DS(reslinespacing)+str6+\"\n\"; "); cEf(" output=output+str3+DS(reslinespacing)+str7+\"\n\"; "); cEf(" if(plyr1==resline1player){ "); cEf(" output=output+str4+cumstring(Gtext,0,Glinewidth/2-1)+str8+cumstring(Gtext,Glinewidth/2+1,Glinewidth); "); cEf(" } "); cEf(" else{ "); cEf(" output=output+str4+cumstring(Gtext,Glinewidth,1.5*Glinewidth-1)+str8+cumstring(Gtext,1.5*Glinewidth+1,2*Glinewidth); "); cEf(" } "); cEf(" return(output); "); cEf(" } "); ////FIX THIS LATER! FOR NOW FIX SCROLLING/INFO AS WELL AS TOGGLE DESIGN FOR E.G. SHOW G PER R ////FIX SCOREBOARD NOW AS WELL. LOOKS LIKE COLOUR BG IS BEST cEf(" string shipInfo(int wtv=-1){ "); cEf(" string output=\"\"+DS(shpdetailsstarter"+cNumNonObsPlayers+"); "); cEf(" int numShipments=0; "); if(cTeamSize==1){ cEf(" xsSetContextPlayer(column1player); numShipments=kbResourceGet(6); "); cEf(" output=output+numAlign(numShipments,4,1); "); cEf(" xsSetContextPlayer(column2player); numShipments=kbResourceGet(6); "); cEf(" output=output+DS(sbdeadspace+shpdetailsspacing)+numAlign(numShipments,4,1); "); } else if(cTeamSize==2){ cEf(" xsSetContextPlayer(column1player); numShipments=kbResourceGet(6); "); cEf(" output=output+numAlign(numShipments,4,1); "); cEf(" xsSetContextPlayer(column2player); numShipments=kbResourceGet(6); "); cEf(" output=output+DS(shpdetailsspacing)+numAlign(numShipments,4,1); "); cEf(" xsSetContextPlayer(column3player); numShipments=kbResourceGet(6); "); cEf(" output=output+DS(sbdeadspace+shpdetailsspacing)+numAlign(numShipments,4,1); "); cEf(" xsSetContextPlayer(column4player); numShipments=kbResourceGet(6); "); cEf(" output=output+DS(shpdetailsspacing)+numAlign(numShipments,4,1); "); } cEf(" return(output); "); cEf(" } "); cEf(" string progBar(int plyr=-1){ "); cEf(" string output=\"\"; xsSetContextPlayer(plyr); int civid=kbGetCiv();"); cEf(" int numBars=(SHPperc(civid,extraXP(plyr))*shpbarlength)/100; "); cEf(" output=colourize(rep(numBars,\"'\"),-1,\"0,1,0.2\"); "); cEf(" output=output+colourize(rep(shpbarlength-numBars,\"'\"),-1); "); cEf(" return(output); "); cEf(" } "); cEf(" string daGraphic(float val1=0, float val2=0, float val3=0, float val4=0, int DP=0){ "); cEf(" string output=\"\"; int maxlength=5; float total=val1+val2+val3+val4; "); cEf(" int leftVAL=0; int rightVAL=0; int tempINT=0; float tempFLT=0; "); cEf(" string leftSTR=\"\"; string rightSTR=\"\"; "); cEf(" if(total==0){ "); cEf(" output=\"N/A\"; "); cEf(" } "); cEf(" else{ "); cEf(" if(SPlength(total)+1>maxlength){maxlength=SPlength(total)+1;} "); if(cTeamSize==1){ cEf(" leftVAL=val1; rightVAL=val2; "); cEf(" if(DP>0){leftSTR=DPd(val1,DP)+rep(maxlength-SPlength(leftVAL)); "); cEf(" rightSTR=rep(maxlength-SPlength(rightVAL))+DPd(val2,DP);} "); cEf(" else{leftSTR=numAlign(leftVAL,maxlength); "); cEf(" rightSTR=numAlign(rightVAL,maxlength,1);} "); cEf(" output=output+leftSTR; "); for(p=1;<=cNumNonObsPlayers){ cEf(" tempFLT=(0.5+(val"+p+"*graphiclength)/total); tempINT=tempFLT; "); cEf(" output=output+\"\"; "); if(p==1){cEf(" output=output+DS(2); ");} } cEf(" output=output+rightSTR; "); } else if(cTeamSize==2){ cEf(" leftVAL=(val1+val2); rightVAL=(val3+val4); "); cEf(" if(DP>0){leftSTR=DPd(val1+val2,DP)+rep(maxlength-SPlength(leftVAL)); "); cEf(" rightSTR=rep(maxlength-SPlength(rightVAL))+DPd(val3+val4,DP);} "); cEf(" else{leftSTR=numAlign(leftVAL,maxlength); "); cEf(" rightSTR=numAlign(rightVAL,maxlength,1);} "); cEf(" output=output+leftSTR; "); for(p=1;<=cNumNonObsPlayers){ cEf(" tempFLT=(0.5+(val"+p+"*graphiclength)/total); tempINT=tempFLT; "); cEf(" output=output+\"\"; "); if(p==2){cEf(" output=output+DS(2); ");} else if(p==1 || p==3){cEf(" output=output+DS(2); ");} } cEf(" output=output+rightSTR; "); } cEf(" } "); cEf(" return(output); "); cEf(" } "); //If adjust, we include cdb and banks as 1.25 and 4.25? cEf(" string popGraphic(int wtv=-1){ "); cEf(" string output=\"\"; int totalpopVil=0; int totalpopMil=0; "); for(p=1;<=cNumNonObsPlayers){ cEf(" xsSetContextPlayer(column"+p+"player); "); cEf(" int popVil"+p+"=0; int popMil"+p+"=0; "); cEf(" popVil"+p+"=popVil"+p+"+kbUnitCount(column"+p+"player,284,2); "); cEf(" popVil"+p+"=popVil"+p+"+2*kbUnitCount(column"+p+"player,510,2); "); cEf(" popVil"+p+"=popVil"+p+"+kbUnitCount(column"+p+"player,379,2); "); cEf(" popVil"+p+"=popVil"+p+"+kbUnitCount(column"+p+"player,517,2); "); cEf(" popVil"+p+"=popVil"+p+"+kbUnitCount(column"+p+"player,721,2); "); cEf(" popVil"+p+"=popVil"+p+"+kbUnitCount(column"+p+"player,928,2); "); cEf(" popVil"+p+"=popVil"+p+"+kbUnitCount(column"+p+"player,1130,2); "); cEf(" popVil"+p+"=popVil"+p+"+kbUnitCount(column"+p+"player,1047,2); "); cEf(" popVil"+p+"=popVil"+p+"+kbUnitCount(column"+p+"player,315,2); "); cEf(" popVil"+p+"=popVil"+p+"+kbUnitCount(column"+p+"player,1109,2); "); cEf(" popMil"+p+"=popMil"+p+"+trPlayerGetPopulation(column"+p+"player)-popVil"+p+"; "); cEf(" if(adjustecopop==1){popVil"+p+"=popVil"+p+"+4*kbUnitCount(column"+p+"player,338,2); "); cEf(" popVil"+p+"=popVil"+p+"+4*kbUnitCount(column"+p+"player,963,2); "); cEf(" popVil"+p+"=popVil"+p+"+10*kbUnitCount(column"+p+"player,348,2); "); cEf(" popVil"+p+"=popVil"+p+"+0.8*kbUnitCount(column"+p+"player,971,2); "); cEf(" popVil"+p+"=popVil"+p+"+0.25*kbUnitCount(column"+p+"player,379,2); "); cEf(" popVil"+p+"=popVil"+p+"+0.25*kbUnitCount(column"+p+"player,517,2);} "); cEf(" totalpopVil=totalpopVil+popVil"+p+"; totalpopMil=totalpopMil+popMil"+p+"; "); } if(cTeamSize==1){ cEf(" output=output+\"Military Unit Population\n\"; "); cEf(" output=output+daGraphic(popMil1,popMil2); "); cEf(" output=output+\"\n \nEconomic Unit Population\n\"; "); cEf(" output=output+daGraphic(popVil1,popVil2); "); } else if(cTeamSize==2){ cEf(" output=output+\"Military Unit Population\n\"; "); cEf(" output=output+daGraphic(popMil1,popMil2,popMil3,popMil4); "); cEf(" output=output+\"\n \nEconomic Unit Population\n\"; "); cEf(" output=output+daGraphic(popVil1,popVil2,popVil3,popVil4); "); } cEf(" return(output); "); cEf(" } "); } //--------------------------------------------------------- //By far the most important function if(true){ cEf(" void populatestatsgraphic(int plyr=-1, int type=-1, int length=0) { "); cEf(" string Gdisplaydelta=\"\"; int tempcol=-1; int tempbase=0; string temppicpath=\"\"; string RGB=\"\"; "); cEf(" int temppct=0; int temporigtype=0; "); cEf(" int startindex=0; "); //change according to logic. no scrolling. always show last few. cEf(" int tB1=0; int tB2=0; int tB3=0; int tB4=0; int tB5=0; int tB6=0;"); cEf(" int tC2=0; int tC4=0; int tC5=0; "); cEf(" if(Gcumwidth==0){startindex=scrollingindex1;} "); cEf(" else if(Gcumwidth==Glinewidth){startindex=scrollingindex2;} "); cEf(" else if(Gcumwidth=Glinewidth);} "); cEf(" Gdisplaydelta=\"\"; "); cEf(" xsArraySetString(Ggrafix,Gcumwidth+k,Gdisplaydelta); "); cEf(" } "); cEf(" } "); cEf(" else if(type==4){ "); cEf(" if(startindex==-1){startindex=0;} "); cEf(" for(k=0;=Glinewidth);} "); cEf(" Gdisplaydelta=\"\"; "); cEf(" xsArraySetString(Ggrafix,Gcumwidth+k,Gdisplaydelta); "); cEf(" } "); cEf(" } "); cEf(" else if(type==5){ "); cEf(" if(startindex==-1){startindex=0;} "); cEf(" for(k=0;-1){RGB=\"(1,.2,.2)\";}else{RGB=\"\";} "); cEf(" if(tempbase<0){temppicpath=temppicpath+(Gcumwidth>=Glinewidth);} "); cEf(" Gdisplaydelta=\"\"; "); cEf(" xsArraySetString(Ggrafix,Gcumwidth+k,Gdisplaydelta); "); cEf(" } "); cEf(" } "); cEf(" else if(type==6){ "); cEf(" if(startindex==-1){startindex=0;} "); cEf(" for(k=0;=Glinewidth);} "); cEf(" temppct=100*kbGetTechPercentComplete(tempbase); "); cEf(" Gdisplaydelta=\"\"; "); cEf(" xsArraySetString(Ggrafix,Gcumwidth+k,Gdisplaydelta); "); cEf(" if(temppct>0){xsArraySetString(GgrafixTOP,Gcumwidth+k,\"\");} "); cEf(" else{xsArraySetString(GgrafixTOP,Gcumwidth+k,\"\");} "); cEf(" } "); cEf(" } "); cEf(" else if(type==7){ "); cEf(" if(startindex==-1){startindex=max(0,arraylengthint(tC2)-length);} "); cEf(" for(k=0;=Glinewidth);} "); cEf(" Gdisplaydelta=\"\"; "); cEf(" xsArraySetString(Ggrafix,Gcumwidth+k,Gdisplaydelta); "); cEf(" } "); cEf(" } "); cEf(" else if(type==8){ "); cEf(" if(startindex==-1){startindex=max(0,arraylengthint(tC5)-length);} "); cEf(" for(k=0;=Glinewidth);} "); cEf(" Gdisplaydelta=\"\"; "); cEf(" xsArraySetString(Ggrafix,Gcumwidth+k,Gdisplaydelta); "); cEf(" } "); cEf(" } "); //RECONCILIATION cEf(" if(Gcumwidth==0){scrollingindex1=startindex;} "); cEf(" else if(Gcumwidth==Glinewidth){scrollingindex2=startindex;} "); cEf(" else if(Gcumwidth\"\"){ "); cEf(" tempplyr=xsArrayGetInt(Gplyr,i);temptechid=xsArrayGetInt(Gbase,i); "); cEf(" xsSetContextPlayer(tempplyr);temppct=100*kbGetTechPercentComplete(temptechid); "); cEf(" if(temppct>0){ "); cEf(" xsArraySetString(GgrafixTOP,i,\"\"); "); cEf(" xsArraySetString(Gtext,i,displayR(temppct)+\" \"); "); cEf(" } "); cEf(" } "); cEf(" } "); cEf(" } "); cEf(" void insertdivider(int wtv=-1) { "); cEf(" string Gdisplaydelta=\"\"; int tempcol1=0; "); cEf(" Gdisplaydelta=rep(dividerW,\" \")+DS(dividerJ); "); cEf(" xsArraySetInt(Gtype,Gcumwidth,1337); "); cEf(" xsArraySetString(Ggrafix,Gcumwidth,Gdisplaydelta); "); cEf(" tempcol1=xsArrayGetInt(Gplyr,Gcumwidth); "); cEf(" if(tempcol1!=0){ "); cEf(" gadgetUnreal(\"RTD-\"+(Gcumwidth)+\"-P\"+tempcol1); "); cEf(" gadgetUnreal(\"RTD-MO\"+(Gcumwidth)); "); cEf(" xsArraySetInt(Gplyr,Gcumwidth,0); "); cEf(" } "); cEf(" Gcumwidth=Gcumwidth+1; "); cEf(" } "); cEf(" void insertteamdivider(int wtv=-1) { "); cEf(" string Gdisplaydelta=rep(tdividerW,\" \")+DS(tdividerJ); int tempcol1=0; int tempcol2=0; "); cEf(" xsArraySetString(Ggrafix,Gcumwidth,\"\"); "); cEf(" xsArraySetString(Ggrafix,Gcumwidth+1,Gdisplaydelta); "); cEf(" tempcol1=xsArrayGetInt(Gplyr,Gcumwidth); "); cEf(" tempcol2=xsArrayGetInt(Gplyr,Gcumwidth+1); "); cEf(" if(tempcol1!=0){ "); cEf(" gadgetUnreal(\"RTD-\"+(Gcumwidth)+\"-P\"+tempcol1); "); cEf(" gadgetUnreal(\"RTD-MO\"+(Gcumwidth)); "); cEf(" xsArraySetInt(Gplyr,Gcumwidth,0); "); cEf(" } "); cEf(" if(tempcol2!=0){ "); cEf(" gadgetUnreal(\"RTD-\"+(Gcumwidth+1)+\"-P\"+tempcol2); "); cEf(" gadgetUnreal(\"RTD-MO\"+(Gcumwidth+1)); "); cEf(" xsArraySetInt(Gplyr,Gcumwidth+1,0); "); cEf(" } "); cEf(" xsArraySetInt(Gtype,Gcumwidth,1337); "); cEf(" xsArraySetInt(Gtype,Gcumwidth+1,1337); "); cEf(" Gcumwidth=Gcumwidth+2; "); cEf(" } "); } //By far the second most important function if(true){ cEf(" void populatestatstext(int wtv=-1) { "); cEf(" string temptext=\"\"; int tempvalue=0; "); cEf(" int tempplyr=0; int temptype=0; int tempbase=0; int tempindex=0; int tempperc=0; "); cEf(" int tC3=0; int tC6=0; "); cEf(" Gline1text=\"\"; Gline2text=\"\"; "); cEf(" kbLookAtAllUnitsOnMap(); "); cEf(" for(z=0;<2){ "); // cEf(" temptext=\"\"; "); cEf(" for(y=Glinewidth*z;0){scrollingindex"+e+"=scrollingindex"+e+"-1;refreshDisplaySlots();}} "); cEf(" void ScrollRight"+e+"(int wtv=-1){scrollingindex"+e+"=scrollingindex"+e+"+1;refreshDisplaySlots();} "); } //Functional (void) functions cEf(" void keymap(int wtv=-1) { "); cEf(" trEventSetHandler(88123,\"handleadvancedtechtracking\"); "); cEf(" map(\"mouse1up\",\"world\",\"uiSelectionButtonUp;trackInsert;trackAddWaypoint;trackPlay(-1,88123)\"); "); //Consolation 47 //Speshul Karaktas cEf(" trEventSetHandler(47000,\"CS_space\"); map(\"space\",\"earthquake\","+FireEv(47000)+");","map(\"shift-space\",\"earthquake\","+FireEv(47000)+"); "); cEf(" trEventSetHandler(47001,\"CS_comma\"); map(\",\",\"earthquake\","+FireEv(47001)+"); "); cEf(" trEventSetHandler(47002,\"CS_period\"); map(\".\",\"earthquake\","+FireEv(47002)+"); "); cEf(" trEventSetHandler(47003,\"CS_dash\"); map(\"-\",\"earthquake\","+FireEv(47003)+"); "); cEf(" trEventSetHandler(47004,\"CS_slash\"); map(\"/\",\"earthquake\","+FireEv(47004)+"); "); cEf(" trEventSetHandler(47005,\"CS_asterisk\"); map(\"shift-8\",\"earthquake\","+FireEv(47005)+"); "); cEf(" trEventSetHandler(47006,\"CS_openbracket\"); map(\"shift-9\",\"earthquake\","+FireEv(47006)+"); "); cEf(" trEventSetHandler(47007,\"CS_closebracket\"); map(\"shift-0\",\"earthquake\","+FireEv(47007)+"); "); cEf(" trEventSetHandler(47008,\"CS_tab\"); map(\"tab\",\"earthquake\","+FireEv(47008)+");","map(\"shift-tab\",\"earthquake\","+FireEv(47008)+"); "); cEf(" trEventSetHandler(47009,\"CS_enter\"); map(\"enter\",\"earthquake\","+FireEv(47009)+");","map(\"shift-enter\",\"earthquake\","+FireEv(47009)+"); "); cEf(" trEventSetHandler(47010,\"CS_esc\"); map(\"esc\",\"earthquake\","+FireEv(47010)+"); "); cEf(" trEventSetHandler(47011,\"CS_backspace\"); map(\"backspace\",\"earthquake\","+FireEv(47011)+");","map(\"shift-backspace\",\"earthquake\","+FireEv(47011)+"); "); //Numbas for(i=0;<10){ cEf(" trEventSetHandler("+(47100+i)+",\"CS_"+i+"\"); map(\""+i+"\",\"earthquake\","+FireEv(47100+i)+"); "); } //Lettas for(i=1;<=26){ cEf(" trEventSetHandler("+(47200+i)+",\"CS_"+Num2Let(i)+"\"); map(\""+Num2Let(i)+"\",\"earthquake\","+FireEv(47200+i)+"); "); cEf(" trEventSetHandler("+(47200+26+i)+",\"CS_"+Num2Let(26+i)+"\"); map(\"shift-"+Num2Let(i)+"\",\"earthquake\","+FireEv(47200+26+i)+"); "); } ///Not sure if should leave in final build cEf(" trEventSetHandler(47999,\"CS_NABLE\"); ","map(\"shift-control-c\",\"game\","+FireEv(47999)+"); "); for(p=1;<=4){ cEf(" trEventSetHandler(5000"+p+",\"UIViewDeck"+p+"\"); "); } //Atm, max of 4 types. for(t=1;<=5){ cEf(" trEventSetHandler(1000"+t+",\"SetRDType"+t+"\"); "); } cEf(" trEventSetHandler(10010,\"togglegperr\"); "); cEf(" trEventSetHandler(10020,\"togglepopg\"); "); cEf(" trEventSetHandler(10030,\"toggleadjusteco\"); "); cEf(" trEventSetHandler(10040,\"togglecameralockonunit\"); "); cEf(" trEventSetHandler(10050,\"togglefog\"); ","map(\"shift-control-f\",\"game\",\"trackInsert();trackAddWaypoint();trackPlay(-1,10050)\");"); cEf(" trEventSetHandler(10060,\"toggledebugmode\"); ","map(\"shift-control-d\",\"game\",\"trackInsert();trackAddWaypoint();trackPlay(-1,10060)\");"); for(t=0;<=8){ cEf(" trEventSetHandler(1040"+t+",\"SetMDTypeLeft"+t+"\"); "); } for(t=0;<=8){ cEf(" trEventSetHandler(1060"+t+",\"SetMDTypeRight"+t+"\"); "); } //Only up to 1920x1080 for(u=0;<=39){ cEf(" trEventSetHandler(440"+int2DD(u)+",\"handleclick"+u+"\"); "); } //For scrolling cEf(" trEventSetHandler(42011,\"ScrollLeft1\"); "); cEf(" trEventSetHandler(42012,\"ScrollRight1\"); "); cEf(" trEventSetHandler(42021,\"ScrollLeft2\"); "); cEf(" trEventSetHandler(42022,\"ScrollRight2\"); "); cEf(" trEventSetHandler(42031,\"ScrollLeft3\"); "); cEf(" trEventSetHandler(42032,\"ScrollRight3\"); "); cEf(" trEventSetHandler(42041,\"ScrollLeft4\"); "); cEf(" trEventSetHandler(42042,\"ScrollRight4\"); "); cEf(" setconfighandlers(); "); /// // cEf(" mapdiplomacystuff(); "); cEf(" trEventSetHandler(51930,\"noviewlock\"); map(\"alt-0\",\"game\","+FireEv(51930)+"); "); for(p=1;<=cNumNonObsPlayers){ cEf(" trEventSetHandler(5193"+p+",\"viewlock"+p+"\"); map(\"alt-"+p+"\",\"game\","+FireEv(51930+p)+"); "); } cEf(" } "); if(cNumNonObsPlayers==2){ for(p=1;<=2){ cEf(" void UIViewDeck"+(p+1)+"(int wtv=-1){ "); cEf(" if(lastviewedHC=="+p+"){gadgetToggle(\"homeCityCommandPanel\");} "); cEf(" else{trPlayerSetActive(column"+p+"player); trShowHCView(column"+p+"player); trPlayerSetActive(FP); "); cEf(" HCVisible=1; setMinimapUnitFilter(-1);setMinimapUnitFilter(-1);lastviewedHC="+p+";}} "); } } else if(cNumNonObsPlayers==4){ for(p=1;<=4){ cEf(" void UIViewDeck"+p+"(int wtv=-1){ "); cEf(" if(lastviewedHC=="+p+"){gadgetToggle(\"homeCityCommandPanel\");} "); cEf(" else{trPlayerSetActive(column"+p+"player); trShowHCView(column"+p+"player); trPlayerSetActive(FP); "); cEf(" HCVisible=1; setMinimapUnitFilter(-1);setMinimapUnitFilter(-1);lastviewedHC="+p+";}} "); } } cEf(" void CalcRDIncome(int wtv=-1){ "); cEf(" float curTimeMS=trTimeMS(); float delTimeMS=curTimeMS-lastsampletimeMS; "); cEf(" if(delTimeMS>samplinginterval){ "); for(p=1;<=cNumNonObsPlayers){ cEf(" xsSetContextPlayer("+p+"); "); cEf(" DelFood_"+p+"=(kbTotalResourceGet(2)-TotFood_"+p+")*100000/delTimeMS; TotFood_"+p+"=kbTotalResourceGet(2); "); cEf(" DelWood_"+p+"=(kbTotalResourceGet(1)-TotWood_"+p+")*100000/delTimeMS; TotWood_"+p+"=kbTotalResourceGet(1); "); cEf(" DelGold_"+p+"=(kbTotalResourceGet(0)-TotGold_"+p+")*100000/delTimeMS; TotGold_"+p+"=kbTotalResourceGet(0); "); cEf(" DelTrade_"+p+"=(kbTotalResourceGet(7)-TotTrade_"+p+")*100000/delTimeMS; TotTrade_"+p+"=kbTotalResourceGet(7); "); } cEf(" lastsampletimeMS=curTimeMS; "); cEf(" } "); cEf(" } "); cEf(" void updateUnitsLostCost(int wtv=-1){ "); cEf(" kbLookAtAllUnitsOnMap(); int ldeadunitid=0; int ldeadunit=0;"); for(p=1; <=cNumNonObsPlayers){ cEf(" xsSetContextPlayer("+p+"); "); cEf(" DeadCostFood_"+p+"=0; DeadCostWood_"+p+"=0; DeadCostGold_"+p+"=0; DeadCostTrade_"+p+"=0; "); cEf(" for(i="+cNumEcoTypes+";<"+(cNumEcoTypes+cNumMilTypes+cNumWatTypes)+"){ "); cEf(" ldeadunitid=xsArrayGetInt(PrID,i); "); cEf(" ldeadunit=kbUnitCount("+p+",ldeadunitid,4); "); cEf(" if(ldeadunit>0){ "); for(r=0;<3){ cEf(" DeadCost"+resName(r)+"_"+p+"=DeadCost"+resName(r)+"_"+p+"+ldeadunit*kbUnitCostPerResource(ldeadunitid,"+r+"); "); } cEf(" DeadCostTrade_"+p+"=DeadCostTrade_"+p+"+ldeadunit*kbUnitCostPerResource(ldeadunitid,7); "); cEf(" } "); cEf(" } "); } cEf(" } "); for(t=1;<=4){ cEf(" void SetRDType"+t+"(int wtv=-1){ "); cEf(" ResDispType="+t+"; "); if(t==4){cEf(" updateUnitsLostCost(); ");} cEf(" } "); } //MD= Main Display for(t=0;<=8){ cEf(" void SetMDTypeLeft"+t+"(int wtv=-1){LeftDispType="+t+";scrollingindex1=-1;scrollingindex2=-1; "); if(cNumNonObsPlayers==4){cEf(" scrollingindex3=-1;scrollingindex4=-1; ");} cEf(" refreshDisplaySlots();} "); } for(t=0;<=8){ cEf(" void SetMDTypeRight"+t+"(int wtv=-1){RightDispType="+t+";scrollingindex3=-1;scrollingindex4=-1;refreshDisplaySlots();} "); } cEf(" void handlegenericclickFIND(int index=-1){ "); cEf(" int plyr=xsArrayGetInt(Gplyr,index); int type=xsArrayGetInt(Gtype,index); int base=xsArrayGetInt(Gbase,index); "); cEf(" int todaysquery=0; int querysize=0; int protoID=xsArrayGetInt(PrID,base); int origplyr=trCurrentPlayer(); int tempID=0; "); cEf(" xsSetContextPlayer(plyr); "); cEf(" if(type<=4 && plyr>0 && base>-1){ "); cEf(" if(type==4 && kbProtoUnitIsType(plyr,protoID,kbGetUnitTypeID(\"Building\"))){ "); cEf(" kbLookAtAllUnitsOnMap(); "); cEf(" todaysquery=kbUnitQueryCreate(\"FindGeneric\"); "); cEf(" kbUnitQuerySetPlayerID(todaysquery, plyr, true); "); cEf(" kbUnitQuerySetState(todaysquery,cUnitStateBuilding); "); cEf(" kbUnitQuerySetUnitType(todaysquery, protoID); "); cEf(" querysize=kbUnitQueryExecute(todaysquery); "); cEf(" resetintarray(FindUnitTracker); "); cEf(" if(querysize<2){for(i=0;lastfoundid)","{lastfoundid=xsArrayGetInt(FindUnitTracker,k);uiLookAtUnit(lastfoundid);break;}","if(k==querysize-1){lastfoundid=xsArrayGetInt(FindUnitTracker,0);uiLookAtUnit(lastfoundid);}} "); cEf(" } "); cEf(" kbUnitQueryDestroy(todaysquery); "); cEf(" } "); cEf(" else{ "); cEf(" trPlayerSetActive(plyr); uiFindType(kbGetProtoUnitName(protoID)); trPlayerSetActive(origplyr); "); cEf(" uiLookAtSelection(); } "); cEf(" } "); cEf(" } "); cEf(" void handlegenericclickECHO(int index=-1){ "); cEf(" int type=xsArrayGetInt(Gtype,index); int base=xsArrayGetInt(Gbase,index); "); cEf(" if(type<=5){echoLocalized(xsArrayGetInt(PrDC,base));} "); cEf(" else{echoLocalized(xsArrayGetInt(ImDC,base));if(debugmode==1){kat(\"TechID: \"+base);}} "); cEf(" } "); cEf(" void handlegenericclickDEBUG(int index=-1){ "); cEf(" int type=xsArrayGetInt(Gtype,index); int base=xsArrayGetInt(Gbase,index); "); cEf(" if(type<=5){base=xsArrayGetInt(PrID,base);} "); cEf(" kat(\"Debug ID: \"+base); "); cEf(" } "); cEf(" void handlegenericclick(int index=-1){ "); cEf(" int type=xsArrayGetInt(Gtype,index); "); cEf(" if(type<=4){handlegenericclickFIND(index);} "); cEf(" else{handlegenericclickECHO(index);} "); cEf(" } "); //For handling button clicks. Only supported up to 1920x1080. for(u=0;<=39){ cEf(" void handleclick"+u+"(int wtv=-1){handlegenericclick("+u+");} "); } //note hardcoded unittypes may need to be changed for other patches/mods. cEf(" void updateGathrDistribution2(int wtv=-1){ "); cEf(" int idlePop=0; int todaysquery=0; int querysize=0; "); cEf(" int prID=0; int pgF=0; int pgW=0; int pgG=0; int pgI=0; "); for(p=1; <=cNumNonObsPlayers){ cEf(" pgF=0; pgW=0; pgG=0; pgI=0; "); cEf(" xsSetContextPlayer("+p+"); kbLookAtAllUnitsOnMap(); "); cEf(" todaysquery=kbUnitQueryCreate(\"AllLiveVillz"+p+"\"); "); cEf(" kbUnitQuerySetPlayerID(todaysquery, "+p+", true); kbUnitQuerySetState(todaysquery,cUnitStateAlive); "); cEf(" kbUnitQuerySetUnitType(todaysquery, 1485); "); cEf(" querysize=kbUnitQueryExecute(todaysquery); "); cEf(" idlePop=querysize+kbUnitCount("+p+",510,cUnitStateAlive); "); cEf(" for(i=0;0){ "); cEf(" for(v=0;<200){ "); cEf(" uiFindResourceGatherers(\""+resName(r)+"\"); "); cEf(" if(trUnitIsSelected()){break;} "); cEf(" else{count++;if(trUnitTypeIsSelected(\"SettlerWagon\")){count++;}} "); cEf(" } "); cEf(" } "); cEf(" PopGathr"+resName(r)+"_"+p+"=count; idlePop=idlePop-count; "); } cEf(" PopGathrIdle_"+p+"=idlePop; kbUnitQueryDestroy(todaysquery); "); } cEf(" trPlayerSetActive(FP); trUnblockAllSounds();uiClearSelection();uiShowCameraStartLoc(); "); cEf(" } "); cEf(" } "); cEf(" void updcyclepoint(int wtv=-1){ "); cEf(" int atoms=amodb(trTimeMS(),1000); "); cEf(" if(atoms<250){curcyclepoint=0;} "); cEf(" else if(atoms<500){curcyclepoint=1;} "); cEf(" else if(atoms<750){curcyclepoint=2;} "); cEf(" else{curcyclepoint=3;} "); cEf(" } "); //--------------------------------------------------------- //AutoUpdater cEf(" rule _FastAutoUpdater active { "); cEf(" string resourcefeed=\"\"; string shipmentfeed=\"\"; string graphicsfeed=\"\"; "); cEf(" int tempcyclepoint=0; int temporiplyr=0; "); cEf(" if(nabvl==1){ "); cEf(" tempcyclepoint=curcyclepoint;"); cEf(" updcyclepoint();"); cEf(" if(curcyclepoint!=tempcyclepoint){ "); cEf(" if(FP<="+cNumNonObsPlayers+"){youmayviewlockme();} "); cEf(" else{if(cameralockonplayer>0){temporiplyr=trCurrentPlayer();uiSetCameraStartLoc();trackInsert();trackAddWaypoint();","trPlayerSetActive(cameralockonplayer);uiFindType(\"UIArmyBannerHand\");trPlayerSetActive(temporiplyr);","uiLookAtSelection();trackAddWaypoint();uiClearSelection();uiShowCameraStartLoc();trackPlay(250);}} "); cEf(" } "); cEf(" } "); cEf(" if((FP>"+cNumNonObsPlayers+" || override==1) && hasUI==1){ "); cEf(" updateresearchprogfaster(); "); cEf(" if(HCVisible==1){if(trIsGadgetVisible(\"homeCityCommandPanel\")){setMinimapUnitFilter(-1); "); cEf(" HCVisible=0;trShowWorldView(FP);gadgetReal(\"homeCityCommandPanel\");trFadeOutAllSounds(0);}} "); // cEf(" resourcefeed=plyrHeader(resline1player)+plyrTPHeader(resline1player)+\"\n\"+resLine(resline1player); "); cEf(" if(showconsole==1){ "); cEf(" resourcefeed=DS()+\">\"+fullstr(CnINPT)+\"\"+console","autocomplete+\"\"; "); cEf(" resourcefeed=resourcefeed+\"\n\"+DS()+\"Press 'ESC' to exit console, 'ENTER' to use command. ","'TAB' to autocomplete (where available)\"; "); cEf(" }else{resourcefeed=DS()+\"\n\"+DS();} "); cEf(" resourcefeed=resourcefeed+\"\n\"+DS(); "); cEf(" resourcefeed=resourcefeed+\"\n\"+DS(); "); if(cTeamSize==1){ cEf(" resourcefeed=resourcefeed+\"\n\"+plyrHeader1(resline1player); "); cEf(" resourcefeed=resourcefeed+\"\n\"+resLine1(resline1player); "); // cEf(" resourcefeed=resourcefeed+\"\n \n\"+plyrHeader(resline2player)+plyrTPHeader(resline2player)+\"\n\"+resLine(resline2player); "); cEf(" resourcefeed=resourcefeed+fontize(DS(),\"Arial 16\")+\"\n\"; "); //NOTE THIS STUFF MAY HAVE TO BE CHANGED? cEf(" resourcefeed=resourcefeed+plyrHeader1(resline2player); "); cEf(" resourcefeed=resourcefeed+\"\n\"+resLine1(resline2player); "); // cEf(" resourcefeed=resourcefeed+\"\n \n\"+DS(400)+resLine(resline2player)+DS(); "); cEf(" resourcefeed=resourcefeed+Gline2text; "); } else if(cTeamSize==2){ cEf(" resourcefeed=resourcefeed+\"\n\"+plyrHeader2(resline1player,resline3player); "); cEf(" resourcefeed=resourcefeed+\"\n\"; "); cEf(" resourcefeed=resourcefeed+resLine2(resline1player,resline3player)+fontize(DS(),\"Arial 16\")+\"\n\"; "); cEf(" resourcefeed=resourcefeed+plyrHeader2(resline2player,resline4player); "); cEf(" resourcefeed=resourcefeed+\"\n\"; "); cEf(" resourcefeed=resourcefeed+resLine2(resline2player,resline4player); "); } cEf(" shipmentfeed=shipInfo()+\"\n\"; "); if(cTeamSize==1){ cEf(" shipmentfeed=shipmentfeed+DS(shpbarstarter"+cNumNonObsPlayers+")+progBar(column1player); "); cEf(" shipmentfeed=shipmentfeed+DS(sbdeadspace+shpbarspacing)+progBar(column2player); "); } else if(cTeamSize==2){ cEf(" shipmentfeed=shipmentfeed+DS(shpbarstarter"+cNumNonObsPlayers+")+progBar(column1player); "); cEf(" shipmentfeed=shipmentfeed+DS(shpbarspacing)+progBar(column2player); "); cEf(" shipmentfeed=shipmentfeed+DS(sbdeadspace+shpbarspacing)+progBar(column3player); "); cEf(" shipmentfeed=shipmentfeed+DS(shpbarspacing)+progBar(column4player); "); } // cEf(" shipmentfeed=shipmentfeed+DS(); "); //uses custom font GraphicLabel 10. cEf(" graphicsfeed=rep(numLFs,\" \n\"); "); cEf(" graphicsfeed=graphicsfeed+\" \"; "); cEf(" graphicsfeed=graphicsfeed+DS(gstarter)+cumstring(Ggrafix,0,Glinewidth,GgrafixTOP); "); cEf(" graphicsfeed=graphicsfeed+\"\n \n \"; "); cEf(" graphicsfeed=graphicsfeed+DS(gstarter)+cumstring(Ggrafix,Glinewidth,2*Glinewidth,GgrafixTOP); "); cEf(" graphicsfeed=graphicsfeed+\"\"; "); cEf(" trSoundPlayDialog(\"default\", \"1\", -1, false, shipmentfeed+graphicsfeed+\":\"+resourcefeed, \"\"); "); cEf(" trShowWinLose(\"\"+cumstring(Ggrafix,0,Glinewidth)+\"\",\"\",\"1\",false); "); cEf(" trShowWinLose(\"\"+cumstring(Ggrafix,Glinewidth,2*Glinewidth)+\"\",\"\",\"1\",true); "); cEf(" if(showPopGraphic==1){trMessageSetText(popGraphic(),-1);} "); cEf(" CalcRDIncome(); "); cEf(" } "); cEf(" trUnblockAllSounds(); "); cEf(" } "); //--------------------------------------------------------- cEf(" rule _NormalAutoUpdater minInterval 1 active { "); cEf(" if(FP>"+cNumNonObsPlayers+" || override==1){ "); cEf(" trUnblockAllSounds(); "); cEf(" if(LeftDispType==5 || RightDispType==5){populatedeatharrays();updateATMded();} "); cEf(" if(LeftDispType<4 || RightDispType<4){populatelifearrays();} "); cEf(" if(LeftDispType==0 || RightDispType==0){updateATMeco();} "); cEf(" if(LeftDispType==1 || RightDispType==1){updateATMmil();} "); cEf(" if(LeftDispType==2 || RightDispType==2){updateATMwat();} "); cEf(" if(LeftDispType==3 || RightDispType==3){updateATMall();} "); cEf(" if(LeftDispType==4 || RightDispType==4){populatequeuearrays();updateATMque();} "); cEf(" if(LeftDispType==5 || RightDispType==5){populatedeatharrays();updateATMded();} "); cEf(" sendtestchat(); "); cEf(" flareraidz(); "); if(cNumNonObsPlayers==2){ cEf(" updateimprovarrays(); "); } else if(cNumNonObsPlayers==4){ cEf(" if(amodb(trTime(),2)==0){updateimprovarrays1();updateimprovarrays2();} "); cEf(" else{updateimprovarrays3();updateimprovarrays4();} "); } cEf(" processages(); "); //For defunct TI-84 graphing // cEf(" updateunspentres(); "); // cEf(" updateUnitsLostCost(); "); cEf(" updateGathrDistribution2(); "); cEf(" refreshDisplaySlots(); "); //THE TI-84 NO LONGER WORKS. DO NOT USE. // cEf(" plotintarray(D1P2); "); cEf(" trUnblockAllSounds(); "); cEf(" } "); cEf(" handleendgame(); "); //false controls winlosedisplayignoresfade. cEf(" } "); cEf(" void lookIhasUI(int wtv=-1){ "); cEf(" hasUI=1; "); cEf(" } "); //remember to hide select deck ui in final version cEf(" void deployUI(int wtv=-1){ "); cEf(" trSetFogAndBlackmap(false, false); lookIhasUI(); "); if(cNumNonObsPlayers==4){cEf(" gadgetUnreal(\"Spec_RightOptionsLabel\");gadgetUnreal(\"Spec_RightOptions\"); ");} cEf(" gadgetUnreal(\"uimain-Score-SpecContainer\"); gadgetUnreal(\"victoryDisplay\"); "); cEf(" gadgetUnreal(\"unitselectionpanel-SpecContainer\"); "); cEf(" gadgetUnreal(\"SettlerCountDialog-advancedPanelNatMin-SpecContainer\"); "); cEf(" gadgetUnreal(\"SettlerCountDialog-advancedPanelAsiMin-SpecContainer\"); "); cEf(" gadgetUnreal(\"SettlerCountDialog-advancedPanelEurMin-SpecContainer\"); "); cEf(" gadgetUnreal(\"minimapPanel-SpecContainer\"); gadgetUnreal(\"commandpanel2-SpecContainer\"); "); cEf(" gadgetUnreal(\"SocketPanel2-SpecContainer\"); gadgetUnreal(\"TreasurePanel-SpecContainer\"); "); cEf(" gadgetUnreal(\"SocketPanel2-SpecContainer\"); gadgetUnreal(\"TreasurePanel-SpecContainer\"); "); cEf(" gadgetUnreal(\"unitstatpanel3-SpecContainer\"); "); cEf(" for(k=0;<(Glinewidth*2)){ "); cEf(" gadgetReal(\"RTDB-\"+k); "); cEf(" } "); cEf(" gadgetReal(\"BG\"); gadgetReal(\"BG2\"); "); cEf(" gadgetReal(\"Spec_ScoreBoardContainer\"); gadgetReal(\"Spec_PlayerFlags\"); "); cEf(" gadgetReal(\"Spec_Options\"); "); if(cTeamSize==1){ for(f=1;<=cNumNonObsPlayers){ cEf(" gadgetReal(\"Spec_ScoreBoard_P"+rPFromWest(f)+"_"+(f+1)+"B\"); "); cEf(" gadgetReal(\"Spec_ScoreBoard_P"+rPFromWest(f)+"_"+(f+1)+"T\"); "); cEf(" gadgetReal(\"Spec_Flag_"+(f+1)+"_"+rmGetPlayerCiv(rPFromWest(f))+"\"); "); cEf(" gadgetReal(\"Spec_NumShipmentBG_"+(f+1)+"\"); "); cEf(" gadgetReal(\"Spec_NumShipmentBG_"+(f+1)+"\"); "); cEf(" gadgetReal(\"Spec_ShipmentProgress_"+(f+1)+"_P"+rPFromWest(f)+"\"); "); } //Also enable hi-tech 1v1 scoreboard tracking. cEf(" gadgetReal(\"Spec_\"+(kbGetPlayerName("+rPFromWest(1)+")>kbGetPlayerName("+rPFromWest(2)+"))+\"SBL\"); "); cEf(" gadgetReal(\"Spec_\"+(kbGetPlayerName("+rPFromWest(1)+")>kbGetPlayerName("+rPFromWest(2)+"))+\"SBR\"); "); cEf(" gadgetReal(\"Spec_\"+(kbGetPlayerName("+rPFromWest(1)+")>kbGetPlayerName("+rPFromWest(2)+"))+\"SBS\"); "); //And appropriate scrolls cEf(" gadgetReal(\"RTD-1v1ScrollButtons\"); "); } else if(cTeamSize==2){ for(f=1;<=cNumNonObsPlayers){ cEf(" gadgetReal(\"Spec_ScoreBoard_P"+rPFromWest(f)+"_"+(f)+"B\"); "); cEf(" gadgetReal(\"Spec_ScoreBoard_P"+rPFromWest(f)+"_"+(f)+"T\"); "); cEf(" gadgetReal(\"Spec_Flag_"+f+"_"+rmGetPlayerCiv(rPFromWest(f))+"\"); "); cEf(" gadgetReal(\"Spec_NumShipmentBG_"+f+"\"); "); cEf(" gadgetReal(\"Spec_ShipmentProgress_"+(f)+"_P"+rPFromWest(f)+"\"); "); } cEf(" gadgetReal(\"Spec_\"+(strmax(kbGetPlayerName("+rPFromWest(1)+"),kbGetPlayerName("+rPFromWest(2)+"))>","strmax(kbGetPlayerName("+rPFromWest(3)+"),kbGetPlayerName("+rPFromWest(4)+")))+\"SBL\"); "); cEf(" gadgetReal(\"Spec_\"+(strmax(kbGetPlayerName("+rPFromWest(1)+"),kbGetPlayerName("+rPFromWest(2)+"))>","strmax(kbGetPlayerName("+rPFromWest(3)+"),kbGetPlayerName("+rPFromWest(4)+")))+\"SBR\"); "); cEf(" gadgetReal(\"Spec_\"+(strmax(kbGetPlayerName("+rPFromWest(1)+"),kbGetPlayerName("+rPFromWest(2)+"))>","strmax(kbGetPlayerName("+rPFromWest(3)+"),kbGetPlayerName("+rPFromWest(4)+")))+\"SBS\"); "); cEf(" gadgetReal(\"RTD-2v2ScrollButtons\"); "); } for(f=1;<=cNumNonObsPlayers){ cEf(" gadgetReal(\"Spec_PlayerLabel_"+f+"_P"+rPFromNorth(f)+"\"); "); cEf(" gadgetReal(\"Spec_PlayerScore_"+f+"_P"+rPFromNorth(f)+"\"); "); } cEf(" gadgetReal(\"Spec_ToggleOptions\"); "); cEf(" keymap(); "); cEf(" override=1; "); cEf(" if(trIsGadgetVisible(\"Spec_PresetConfig-1600x900\")){load1600x900();} "); cEf(" else if(trIsGadgetVisible(\"Spec_PresetConfig-1920x1080\")){load1920x1080();} "); cEf(" } "); cEf(" void deployUIFromRec(int wtv=-1){ "); if(cNumberNonGaiaPlayers>cNumNonObsPlayers){ cEf(" trPlayerSetActive("+(cNumNonObsPlayers+1)+");FP="+(cNumNonObsPlayers+1)+"; "); } cEf(" configUndef(\"recordGameViewLock\"); toggleHomeCityView(); deployUI(); "); cEf(" } "); //--------------------------------------------------------- cEf(" rule _FeatureLoader active runImmediately { "); cEf(" if(FP>"+cNumNonObsPlayers+" || override==1){ "); cEf(" uiClearSelection();uiFindType(\"Target\");uiDeleteAllSelectedUnits(); "); cEf(" trSetFogAndBlackmap(false,false);gadgetUnreal(\"victoryDisplay\"); "); cEf(" if(trIsGadgetVisible(\"m8ihazui2\")){deployUI();} "); cEf(" } "); cEfZ(" xsDisableSelf(); } /*"); //--------------------------------------------------------- /*[Special features end]*/ rmSetStatusText("",1.0); } // *********************************************************************************************************************************************** // ****************************************************** E N D ********************************************************************************** // ***********************************************************************************************************************************************