/** ** Initialize the Ai for all players. */ void PlayersInitAi() { for (int player = 0; player < NumPlayers; ++player) { if (Players[player].AiEnabled) { AiInit(Players[player]); } } }
/** ** Initialize the Ai for all players. */ global void PlayersInitAi(void) { int player; for( player=0; player<NumPlayers; ++player ) { if( Players[player].AiEnabled ) { AiInit(&Players[player]); } } }
/** ** Handle cheats ** ** @return 1 if a cheat was handled, 0 otherwise */ int HandleCheats(const std::string &input) { int ret; #if defined(DEBUG) || defined(PROF) if (input == "ai me") { if (ThisPlayer->AiEnabled) { // FIXME: UnitGoesUnderFog and UnitGoesOutOfFog change unit refs // for human players. We can't switch back to a human player or // we'll be using the wrong ref counts. #if 0 ThisPlayer->AiEnabled = false; ThisPlayer->Type = PlayerPerson; SetMessage("AI is off, Normal Player"); #else SetMessage("Cannot disable 'ai me' cheat"); #endif } else { ThisPlayer->AiEnabled = true; ThisPlayer->Type = PlayerComputer; if (!ThisPlayer->Ai) { AiInit(*ThisPlayer); } SetMessage("I'm the BORG, resistance is futile!"); } return 1; } #endif int base = lua_gettop(Lua); lua_getglobal(Lua, "HandleCheats"); if (!lua_isfunction(Lua, -1)) { DebugPrint("No HandleCheats function in lua.\n"); return 0; } lua_pushstring(Lua, input.c_str()); LuaCall(1, 0, false); if (lua_gettop(Lua) - base == 1) { ret = LuaToBoolean(Lua, -1); lua_pop(Lua, 1); } else { DebugPrint("HandleCheats must return a boolean"); ret = 0; } return ret; }