Hooks
static bool BeforeCvLuaPlayer_lCreateGreatGeneral(lua_State* L, int& result);static void AfterCvLuaPlayer_lCreateGreatGeneral(lua_State* L, int& result);static int ReplaceCvLuaPlayer_lCreateGreatGeneral(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaPlayer_lCreateGreatGeneral>(host, &BeforeCvLuaPlayer_lCreateGreatGeneral);CivRegisterAfter<CivHooks::CvLuaPlayer_lCreateGreatGeneral>(host, &AfterCvLuaPlayer_lCreateGreatGeneral);CivRegisterReplace<CivHooks::CvLuaPlayer_lCreateGreatGeneral>(host, &ReplaceCvLuaPlayer_lCreateGreatGeneral);
Code
5714//void CreateGreatGeneral(int eGreatPersonUnit, bool bIncrementThreshold, bool bIncrementExperience, int iX, int iY);5715int CvLuaPlayer::lCreateGreatGeneral(lua_State* L)5716{5717 CvPlayerAI* pkPlayer = GetInstance(L);5718 const UnitTypes eGreatPersonUnit = (UnitTypes)lua_tointeger(L, 2);5719 const int x = lua_tointeger(L, 3);5720 const int y = lua_tointeger(L, 4);57215722#if defined(MOD_GLOBAL_TRULY_FREE_GP)5723 const bool bIsFree = luaL_optint(L, 5, 0);5724 pkPlayer->createGreatGeneral(eGreatPersonUnit, x, y, bIsFree);5725#else5726 pkPlayer->createGreatGeneral(eGreatPersonUnit, x, y);5727#endif5728 return 0;5729}