void CvUnit::doCommand(CommandTypes eCommand, int iData1, int iData2)
{
CvUnit* pUnit;
//Master's Mod
CvCity* pCity;
int smallUnitClassList [] = {GC.getInfoTypeForString("UNITCLASS_SCOUT"), GC.getInfoTypeForString("UNITCLASS_SPY"), GC.getInfoTypeForString("UNITCLASS_EXPLORER"), GC.getInfoTypeForString("UNITCLASS_EXECUTIVE_1"), GC.getInfoTypeForString("UNITCLASS_EXECUTIVE_2"), GC.getInfoTypeForString("UNITCLASS_EXECUTIVE_3"), GC.getInfoTypeForString("UNITCLASS_EXECUTIVE_4"), GC.getInfoTypeForString("UNITCLASS_EXECUTIVE_5"), GC.getInfoTypeForString("UNITCLASS_EXECUTIVE_6"), GC.getInfoTypeForString("UNITCLASS_EXECUTIVE_7"), GC.getInfoTypeForString("UNITCLASS_JEWISH_MISSIONARY"), GC.getInfoTypeForString("UNITCLASS_CHRISTIAN_MISSIONARY"), GC.getInfoTypeForString("UNITCLASS_ISLAMIC_MISSIONARY"), GC.getInfoTypeForString("UNITCLASS_HINDU_MISSIONARY"), GC.getInfoTypeForString("UNITCLASS_BUDDHIST_MISSIONARY"), GC.getInfoTypeForString("UNITCLASS_CONFUCIAN_MISSIONARY"),GC.getInfoTypeForString("UNITCLASS_WORKBOAT")};
int i = 0;
bool small = false;
//end Master's Mod
bool bCycle;
bCycle = false;
FAssert(getOwnerINLINE() != NO_PLAYER);
if (canDoCommand(eCommand, iData1, iData2))
{
switch (eCommand)
{
case COMMAND_PROMOTION:
promote((PromotionTypes)iData1, iData2);
break;
case COMMAND_UPGRADE:
upgrade((UnitTypes)iData1);
bCycle = true;
break;
case COMMAND_AUTOMATE:
automate((AutomateTypes)iData1);
bCycle = true;
break;
case COMMAND_WAKE:
getGroup()->setActivityType(ACTIVITY_AWAKE);
break;
case COMMAND_CANCEL:
getGroup()->popMission();
break;
case COMMAND_CANCEL_ALL:
getGroup()->clearMissionQueue();
break;
case COMMAND_STOP_AUTOMATION:
getGroup()->setAutomateType(NO_AUTOMATE);
break;
case COMMAND_DELETE:
scrap();
//Master's Mod
for (i=0; i<17; i++)
{
if (GC.getUnitInfo(getUnitType()).getUnitClassType() == smallUnitClassList [i])
{
small = true;
continue;
}
}
pCity = GC.getMapINLINE().findCity(getX_INLINE(), getY_INLINE(), getOwnerINLINE(), NO_TEAM, false, false);
if ((pCity != NULL) && !small)
{
pCity->changePopulation(1);
}
//end Master's Mod
bCycle = true;
break;