//------------------------------------------------------------------// // PoW as armies code // // SLIC by Immortal Wombat, some code from Locutus' miltia script. // //------------------------------------------------------------------// //-------------// // Variables // //-------------// int_t i; int_t age; unit_t tmpUnit; int_t tmpPlayer; int_t tmpNum; int_t tmpNum2; army_t tmpArmy; //---------------------// // Define Player Age // //---------------------// int_f WOUTER_GetAge(int_t thePlayer) { tmpPlayer = thePlayer; // to add ages, change age 6 to whatever the highest age should be and use age 5 as example for the other ages if (HasAdvance(tmpPlayer, ID_ADVANCE_CHAOS_THEORY)) { // if player has Chaos Theory, return 6; } elseif (HasAdvance(tmpPlayer, ID_ADVANCE_ADV_INFANTRY_TACTICS)) { // etc. return 5; } elseif (HasAdvance(tmpPlayer, ID_ADVANCE_FLINTLOCK)) { return 4; } elseif (HasAdvance(tmpPlayer, ID_ADVANCE_DARK_AGES)) { return 3; } elseif (HasAdvance(tmpPlayer, ID_ADVANCE_BRONZE_WORKING)) { return 2; } elseif (HasAdvance(tmpPlayer, ID_ADVANCE_TOOLMAKING)) { return 1; } else { // if none of above advances present, (should never happen) return 0; // age is age 0 } } //--------------------------// // Handle the BattleEvent // //--------------------------// HandleEvent(VictoryMoveOrder) 'capture' pre { tmpArmy = army[0]; tmpNum = tmpArmy.size; tmpPlayer = army[0].owner; for(i = 0; i < tmpNum; i = i + 1) { GetUnitFromArmy(tmpArmy, i, tmpUnit); tmpNum2 = tmpUnit.type; if(tmpNum2 == 56){ // number of unit. this example is slaver age = WOUTER_GetAge(tmpPlayer); if(age == 6){ // chaos theory obsoletes it } elseif(age == 5){ message(tmpPlayer, 'five'); CreateUnit(Player[0], UnitDB(UNIT_MACHINE_GUNNER), army[0].location, 0, tmpUnit); } elseif(age == 4){ message(tmpPlayer, 'four'); CreateUnit(Player[0], UnitDB(UNIT_INFANTRYMAN), army[0].location, 0, tmpUnit); } elseif(age == 3){ message(tmpPlayer, 'three'); CreateUnit(Player[0], UnitDB(UNIT_MAN_AT_ARMS), army[0].location, 0, tmpUnit); } elseif(age == 2){ message(tmpPlayer, 'two'); CreateUnit(Player[0], UnitDB(UNIT_HOPLITE), army[0].location, 0, tmpUnit); } elseif(age == 1) { message(tmpPlayer, 'one'); CreateUnit(Player[0], UnitDB(UNIT_SPEARMAN), army[0].location, 0, tmpUnit); } else { } } } } //------------------------------// // Messageboxes create units // // depending on button chosen // //------------------------------// messagebox 'five' { Show(); Title(ID_CAPTURE); text(ID_CAPTURE_T_FIVE); } messagebox 'four'{ Show(); Title(ID_CAPTURE); text(ID_CAPTURE_T_FOUR); } messagebox 'three' { Show(); Title(ID_CAPTURE); text(ID_CAPTURE_T_THREE); } messagebox 'two'{ Show(); Title(ID_CAPTURE); Text(ID_CAPTURE_T_TWO); } messagebox 'one'{ Show(); Title(ID_CAPTURE); text(ID_CAPTURE_T_ONE); }