CvLuaCity::lGetFaithPurchaseUnitTooltip(lua_State *)
- Defined in
- Lua/CvLuaCity.cpp, line 984
- Class
- CvLuaCity
- Hook name
CivHooks::CvLuaCity_lGetFaithPurchaseUnitTooltip
Hooks
static bool BeforeCvLuaCity_lGetFaithPurchaseUnitTooltip(lua_State* L, int& result);static void AfterCvLuaCity_lGetFaithPurchaseUnitTooltip(lua_State* L, int& result);static int ReplaceCvLuaCity_lGetFaithPurchaseUnitTooltip(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaCity_lGetFaithPurchaseUnitTooltip>(host, &BeforeCvLuaCity_lGetFaithPurchaseUnitTooltip);CivRegisterAfter<CivHooks::CvLuaCity_lGetFaithPurchaseUnitTooltip>(host, &AfterCvLuaCity_lGetFaithPurchaseUnitTooltip);CivRegisterReplace<CivHooks::CvLuaCity_lGetFaithPurchaseUnitTooltip>(host, &ReplaceCvLuaCity_lGetFaithPurchaseUnitTooltip);
Code
984int CvLuaCity::lGetFaithPurchaseUnitTooltip(lua_State* L)985{986 CvString toolTip;987 CvCity* pkCity = GetInstance(L);988 const UnitTypes eUnit = (UnitTypes) lua_tointeger(L, 2);989990 // Already a unit here991 if(!pkCity->CanPlaceUnitHere(eUnit))992 {993 Localization::String localizedText = Localization::Lookup("TXT_KEY_CANNOT_PURCHASE_UNIT_HERE");994995 const char* const localized = localizedText.toUTF8();996 if(localized)997 {998 if(!toolTip.IsEmpty())999 toolTip += "[NEWLINE]";10001001 toolTip += localized;1002 }1003 }10041005 // Not enough faith1006 if(pkCity->GetFaithPurchaseCost(eUnit, true) > GET_PLAYER(pkCity->getOwner()).GetFaith())1007 {1008 Localization::String localizedText = Localization::Lookup("TXT_KEY_CANNOT_PURCHASE_NO_FAITH");10091010 const char* const localized = localizedText.toUTF8();1011 if(localized)1012 {1013 if(!toolTip.IsEmpty())1014 toolTip += "[NEWLINE]";10151016 toolTip += localized;1017 }1018 }10191020 lua_pushstring(L, toolTip.c_str());1021 return 1;1022}
Calls
- CvCity::CanPlaceUnitHere(UnitTypes)
- CvCity::GetFaithPurchaseCost(UnitTypes, bool)
- CvCity::getOwner() const
CvLuaScopedInstance::GetInstance- CvPlayer::GetFaith() const
- CvPlayerAI::getPlayer(PlayerTypes)
CvString::CvStringCvString::IsEmptyLocalization::LookupLocalization::String::toUTF8lua_pushstringlua_tointegerstd::basic_string::c_strstd::basic_string::operator+=