//****************KILL SETTLERS by Maq********************** trigger 'WW2PBEM_NoSettlersAlive' when (unit.built && unit.type == UnitType("UNIT_SETTLER")) { KillUnit(unit); } //****************DATE BUTTON by EPW********************** trigger 'InitDATEP1' when (g.player || unit.selected) { //Initialize Date Variables initial_year = g.year; last_checked_year = g.year; year = 1941; month = 12; //Message for Player 1 on turn one Message(g.player, 'The Date'); DisableTrigger('InitDATEP1'); } trigger 'WW2PBEM_Date' when (IsHumanPlayer(g.player)) { if(g.year > last_checked_year && g.year > initial_year) { if(month < 12) { month = month + 1; } elseif(month == 12) { month = 1; year = year + 1; } last_checked_year = g.year; } Message(g.player, 'The Date'); } messagebox 'The Date' { if(month == 1) { SetString(1,ID_JANUARY); } elseif(month == 2) { SetString(1,ID_FEBRUARY); } elseif(month == 3) { SetString(1,ID_MARCH); } elseif(month == 4) { SetString(1,ID_APRIL); } elseif(month == 5) { SetString(1,ID_MAY); } elseif(month == 6) { SetString(1,ID_JUNE); } elseif(month == 7) { SetString(1,ID_JULY); } elseif(month == 8) { SetString(1,ID_AUGUST); } elseif(month == 9) { SetString(1,ID_SEPTEMBER); } elseif(month == 10) { SetString(1,ID_OCTOBER); } elseif(month == 11) { SetString(1,ID_NOVEMBER); } elseif(month == 12) { SetString(1,ID_DECEMBER); } if(year == 1941 || year == 0) { Title(ID_REAL_DATE_FO); } elseif(year == 1942) { Title(ID_REAL_DATE_FT); } elseif(year == 1943) { Title(ID_REAL_DATE_FTR); } elseif(year == 1944) { Title(ID_REAL_DATE_FF); } elseif(year == 1945) { Title(ID_REAL_DATE_FFI); } MessageType("INFECT_CITY"); Show(); } //****************OIL COUNT by EPW********************** //Oil Count Initialization trigger 'InitOilCount' when (g.player || unit.selected) { //Initial Oil Count SetActionKey(1, "."); oilResource = 0; oilCount = 0; refCount = 0; manpunCount = 0; oilReserve = 25; //Minimum Oil at turn start oilValue = 20; refValue = 20; //Country Starting Oil oAmerica = 0; oGermany = 0; oMexico = 0; oRussia = 500; oEngland = 0; oJapan = 0; oChina = 0; //Sets Oil Maintance and Burn Rates b=burnrate m=maintenance cost bRateTank = 1; mRateTank = 3; bRateMobileSam = 1; mRateMobileSam = 2; bRateFighter = 2; mRateFighter = 3; bRateSubmarine = 2; mRateSubmarine = 3; bRateDestroyer = 2; mRateDestroyer = 3; bRateBattleship = 3; mRateBattleship = 5; bRateAircraftCarrier = 4; mRateAircraftCarrier = 5; bRateNuke = 20; mRateNuke = 3; bTroopShip = 1; mRateTroopShip = 2; // 'OilisGood' equivalent for player1 warning = 0; //warning message check = 0; //for 'movingisbad' trigger pc = player.cities; Message(g.player, 'MaintenanceCost'); Message(g.player, 'OilResourceandRefinaryCount'); Message(g.player, 'turnStartOil'); Message(g.player, 'BeginTurnPunishment'); Message(g.player, 'OilInfo'); DisableTrigger('InitOilCount'); } //Beginning of turn trigger for maintanence ('OilisGood') Trigger 'OilisGood' when (IsHumanPlayer(g.player)) { //variable resets warning = 0; //warning message oilCount = 0; check = 0; //for 'movingisbad' trigger pc = player.cities; //Calculates Unit Oil Maintanence Cost Message(g.player, 'MaintenanceCost'); //Counts Oil Resources and Refinaries, then reports total oil to player Message(g.player, 'OilResourceandRefinaryCount'); //Calculates oil each player has at beginning of their turn Message(g.player, 'turnStartOil'); //Punishment for not having enough fuel at beginning of turn to cover Maintanence Costs Message(g.player, 'BeginTurnPunishment'); //Oil Info Message Message(g.player, 'OilInfo'); } //Use fuel when moving ('Movingisbad') Trigger 'Movingisbad' when (unit.moved && IsHumanPlayer(g.player)) { //Gets unit type and its burnRate Message(g.player, 'UnitTypeBurnRate'); //Subtracts fuel for moving Message(g.player, 'SubtractFuel'); //Punishment for running out of fuel midturn ('MidTurnPunishmen') Message(g.player, 'MidTurnPunishment'); //Low Fuel Warnings Message(g.player, 'LowFuelWarnings'); } Trigger 'OilInfoButton' when (key.1.pressed) { //Triggers OilInfoScreen Message(g.player, 'OilInfo'); } //Maintanence Punishment Message ('MaintanencePunishmentMessage') messagebox 'MaintanencePunishmentMessage' { Text(ID_MAINTANENCE_PUNISHMENT); Title(ID_WARNING); MessageType("BOMB_CABINET"); Show(); } //Low Fuel Warnings ('LowFuelWarnings') messagebox 'LowFuelWarnings' { Abort(); if(oilCount < 101 && warning != 1) { Message(g.player,'LowFuelAlert'); warning = 1; } elseif(oilCount < 1 && warning != 2) { Message(g.player,'LowFuelAlert'); warning = 2; } } alertbox 'LowFuelAlert' { if(oilCount > 0) { Text(ID_FUEL_ALERT); } else { Text(ID_RUN_OUT_OF_FUEL); } Title(ID_WARNING); Button(ID_UU_BUTTON_CLOSE) { Kill(); } } //Oil Info Message ('OilInfo') messagebox 'OilInfo' { Message(g.player,'MaintenanceCost'); Message(g.player, 'OilResourceandRefinaryCount'); Text(ID_OIL_INFO_A); Title(ID_OIL_INFO_TITLE); MessageType("BOMB_CABINET"); } //Calculates Maintanence Cost 'MaintenanceCost' messagebox 'MaintenanceCost' { Abort(); Maintenance_Cost = mRateTank * UnitCount(g.player, UnitType("UNIT_TANK")) + mRateMobileSame * UnitCount(g.player, UnitType("UNIT_MOBILE_SAM")) + mRateFighter * UnitCount(g.player, UnitType("UNIT_FIGHTER")) + mRateSubmarine * UnitCount(g.player, UnitType("UNIT_SUBMARINE")) + mRateDestroyer * UnitCount(g.player, UnitType("UNIT_DESTROYER")) + mRateBattleShip * UnitCount(g.player, UnitType("UNIT_BATTLESHIP")) + mRateAirCraftCarrier * UnitCount(g.player, UnitType("UNIT_AIRCRAFT_CARRIER")) + mRateNuke * UnitCount(g.player, UnitType("UNIT_NUKE")) + mRateTroopShip * UnitCount(g.player, UnitType("UNIT_TROOP_SHIP")); } //Counts number of Oil Resources and Refinaries duh ('OilResourceandRefinaryCount') messagebox 'OilResourceandRefinaryCount' { Abort(); aCity = 0; oilResource = 0; oilProduction = 0; refCount = 0; while(aCity < pc) { SetCityByIndex(1, g.player, aCity); oilResource = oilResource + CityCollectingGood(city.1,5); if(CityHasBuilding(city.1, "IMPROVE_OIL_REFINERY")) { refCount = refCount + 1; } aCity = aCity + 1; } //Message(g.player, 'Error'); oilProduction = oilValue * oilResource + refValue * refCount; } messagebox 'Error' { Text(ID_ERROR); } //Calculates oil each player has at beginning of their turn ('turnStartOil') messagebox 'turnStartOil' { Abort(); //Calculates total amount of fuel for each player at beginning of turn. oilCount = oilProduction - Maintenance_Cost; //Adds on stored value if(PlayerCivilization(g.player) == CivilizationIndex("AMERICANS")) { oAmerica = oAmerica + oilCount; oilCount = oAmerica; } elseif(PlayerCivilization(g.player) == CivilizationIndex("GERMAN")) { oGermany = oGermany + oilCount; oilCount = oGermany; } elseif(PlayerCivilization(g.player) == CivilizationIndex("RUSSIAN")) { oRussia = oRussia + oilCount; oilCount = oRussia; } elseif(PlayerCivilization(g.player) == CivilizationIndex("MEXICO")) { oMexico = oMexico + oilCount; oilCount = oMexico; } elseif(PlayerCivilization(g.player) == CivilizationIndex("ENGLISH")) { oEngland = oEngland + oilCount; oilCount = oEngland; } elseif(PlayerCivilization(g.player) == CivilizationIndex("JAPANESE")) { oJapan = oJapan + oilCount; oilCount = oJapan; } elseif(PlayerCivilization(g.player) == CivilizationIndex("CHINESE")) { oChina = oChina + oilCount; oilCount = oChina; } } //Punishment for not having enough fuel at beginning of turn to cover Maintanence Costs ('BeginTurnPunishment') messagebox 'BeginTurnPunishment' { Abort(); aUnits = 0; manpunCount = 0; adder = 1; counter = 0; while(oilCount < oilReserve && counter < (player.totalunits * 10)) { SetUnitByIndex(1, g.player, aUnits); if(unit.type == UnitType("UNIT_TANK") || unit.type == UnitType("UNIT_MOBILE_SAM") || unit.type == UnitType("UNIT_NUKE") || unit.type == UnitType("UNIT_FIGHTER") || unit.type == UnitType("UNIT_SUBMARINE") || unit.type == UnitType("UNIT_DESTROYER") || unit.type == UnitType("UNIT_BATTLESHIP") || unit.type == UnitType("UNIT_AIRCRAFT_CARRIER") || unit.type == UnitType("UNIT_TROOP_SHIP")) { DamageUnit(unit.1, Random(2)); AddMovement(unit.1, -100); oilCount = oilCount + 1; manpunCount = manpunCount + adder; } counter = counter + 1; aUnits = aUnits + 1; if(aUnits == (player.totalunits - 1)) { aUnits = 0; adder = 0; } } if(manpunCount > 0) { Message(g.player,'MaintanencePunishmentMessage'); } //Adds Punishment oil to country variable if(PlayerCivilization(g.player) == CivilizationIndex("AMERICANS")) { oAmerica = oilCount; } elseif(PlayerCivilization(g.player) == CivilizationIndex("GERMAN")) { oGermany = oilCount; } elseif(PlayerCivilization(g.player) == CivilizationIndex("RUSSIAN")) { oRussia = oilCount; } elseif(PlayerCivilization(g.player) == CivilizationIndex("MEXICO")) { oMexico = oilCount; } elseif(PlayerCivilization(g.player) == CivilizationIndex("ENGLISH")) { oEngland = oilCount; } elseif(PlayerCivilization(g.player) == CivilizationIndex("JAPANESE")) { oJapan = oilCount; } elseif(PlayerCivilization(g.player) == CivilizationIndex("CHINESE")) { oChina = oilCount; } } //Punishment for running out of fuel midturn ('MidTurnPunishmen') messagebox 'MidTurnPunishment' { Abort(); //No more oil? Then no more move for you! if(oilCount < 1 && check == 0) { aUnits = 0; while(aUnits < player.totalunits) { SetUnitByIndex(1, g.player, aUnits); if(unit.type == UnitType("UNIT_TANK") || unit.type == UnitType("UNIT_MOBILE_SAM") || unit.type == UnitType("UNIT_NUKE") || unit.type == UnitType("UNIT_FIGHTER") || unit.type == UnitType("UNIT_SUBMARINE") || unit.type == UnitType("UNIT_DESTROYER") || unit.type == UnitType("UNIT_BATTLESHIP") || unit.type == UnitType("UNIT_AIRCRAFT_CARRIER") || unit.type == UnitType("UNIT_TROOP_SHIP")) { AddMovement(unit.1, -10000); SetOrder(1, 10); AddOrder(unit.1, unit.location); //Sets Movement to 0 CatchUp(); } aUnits = aUnits + 1; } check = 1; } } //Subtracts fuel for moving ('SubtractFuel') messagebox 'SubtractFuel' { Abort(); if(PlayerCivilization(g.player) == CivilizationIndex("AMERICANS")) { oAmerica = oAmerica - burnRate; oilCount = oAmerica; if(oAmerica < 1) { oAmerica = 0; //Negative numbers are bad. } } elseif(PlayerCivilization(g.player) == CivilizationIndex("GERMAN")) { oGermany = oGermany - burnRate; oilCount = oGermany; if(oGermany < 1) { oGermany = 0; //Negative numbers are bad. } } elseif(PlayerCivilization(g.player) == CivilizationIndex("RUSSIAN")) { oRussia = oRussia - burnRate; oilCount = oRussia; if(oRussia < 1) { oRussia = 0; //Negative numbers are bad. } } elseif(PlayerCivilization(g.player) == CivilizationIndex("MEXICO")) { oMexico = oMexico - burnRate; oilCount = oMexico; if(oMexico < 1) { oMexico = 0; //Negative numbers are bad. } } elseif(PlayerCivilization(g.player) == CivilizationIndex("ENGLISH")) { oEngland = oEngland - burnRate; oilCount = oEngland; if(oEngland < 1) { oEngland = 0; //Negative numbers are bad. } } elseif(PlayerCivilization(g.player) == CivilizationIndex("JAPANESE")) { oJapanese = oJapanese - burnRate; oilCount = oJapanese; if(oJapanese < 1) { oJapanese = 0; //Negative numbers are bad. } } elseif(PlayerCivilization(g.player) == CivilizationIndex("CHINESE")) { oChinese = oChinese - burnRate; oilCount = oChinese; if(oChinese < 1) { oChinese = 0; //Negative numbers are bad. } } } //Gets unit type and its burnRate ('BurnRate') messagebox 'UnitTypeBurnRate' { Abort(); //Gets unit type and its burnRate if(unit.type == UnitType("UNIT_TANK")){ burnRate = bRateTank; } elseif(unit.type == UnitType("UNIT_MOBILE_SAM")){ burnRate = bRateMobileSam; } elseif(unit.type == UnitType("UNIT_NUKE")){ burnRate = bRateNuke; } elseif(unit.type == UnitType("UNIT_FIGHTER")){ burnRate = bRateFighter; } elseif(unit.type == UnitType("UNIT_SUBMARINE")){ burnRate = bRateSubmarine; } elseif(unit.type == UnitType("UNIT_DESTROYER")){ burnRate = bRateDestroyer; } elseif(unit.type == UnitType("UNIT_BATTLESHIP")){ burnRate = bRateBattleShip; } elseif(unit.type == UnitType("UNIT_AIRCRAFT_CARRIER")){ burnRate = bRateAirCraftCarrier; } elseif(unit.type == UnitType("UNIT_TROOP_SHIP")){ burnRate = bRateTroopShip; } } //****************END**********************