CvMinorCivAI::IsEnabledQuest(MinorCivQuestTypes)
- Defined in
- CvMinorCivAI.cpp, line 4049
- Class
- CvMinorCivAI
- Hook name
CivHooks::CvMinorCivAI_IsEnabledQuest
Hooks
static bool BeforeCvMinorCivAI_IsEnabledQuest(CvMinorCivAI* self, MinorCivQuestTypes eQuest, bool& result);static void AfterCvMinorCivAI_IsEnabledQuest(CvMinorCivAI* self, MinorCivQuestTypes eQuest, bool& result);static bool ReplaceCvMinorCivAI_IsEnabledQuest(bool (*original)(CvMinorCivAI*, MinorCivQuestTypes), CvMinorCivAI* self, MinorCivQuestTypes eQuest);CivRegisterBefore<CivHooks::CvMinorCivAI_IsEnabledQuest>(host, &BeforeCvMinorCivAI_IsEnabledQuest);CivRegisterAfter<CivHooks::CvMinorCivAI_IsEnabledQuest>(host, &AfterCvMinorCivAI_IsEnabledQuest);CivRegisterReplace<CivHooks::CvMinorCivAI_IsEnabledQuest>(host, &ReplaceCvMinorCivAI_IsEnabledQuest);
Code
4048// Is this quest enabled at all?4049bool CvMinorCivAI::IsEnabledQuest(MinorCivQuestTypes eQuest)4050{4051#if defined(MOD_EVENTS_QUESTS)4052 // Do NOT use UseEvents() here as we need to distinguish missing table entries4053 if (MOD_EVENTS_QUESTS) {4054 CvQuestInfo* pQuestInfo = GC.getQuestInfo(eQuest);4055 // Missing entries in the table are treated as disabled4056 return (pQuestInfo && pQuestInfo->isEnabled());4057 } else {4058#endif4059 // BUILD A ROUTE4060 if(eQuest == MINOR_CIV_QUEST_ROUTE)4061 {4062 if(GC.getQUEST_DISABLED_ROUTE() == 1)4063 return false;4064 }4065 // KILL A CAMP4066 else if(eQuest == MINOR_CIV_QUEST_KILL_CAMP)4067 {4068 if(GC.getQUEST_DISABLED_KILL_CAMP() == 1)4069 return false;4070 }4071 // CONNECT A RESOURCE4072 else if(eQuest == MINOR_CIV_QUEST_CONNECT_RESOURCE)4073 {4074 if(GC.getQUEST_DISABLED_CONNECT_RESOURCE() == 1)4075 return false;4076 }4077 // CONSTRUCT A WONDER4078 else if(eQuest == MINOR_CIV_QUEST_CONSTRUCT_WONDER)4079 {4080 if(GC.getQUEST_DISABLED_CONSTRUCT_WONDER() == 1)4081 return false;4082 }4083 // GREAT PERSON4084 else if(eQuest == MINOR_CIV_QUEST_GREAT_PERSON)4085 {4086 if(GC.getQUEST_DISABLED_GREAT_PERSON() == 1)4087 return false;4088 }4089 // KILL ANOTHER CITY STATE4090 else if(eQuest == MINOR_CIV_QUEST_KILL_CITY_STATE)4091 {4092 if(GC.getQUEST_DISABLED_KILL_CITY_STATE() == 1)4093 return false;4094 }4095 // FIND ANOTHER PLAYER4096 else if(eQuest == MINOR_CIV_QUEST_FIND_PLAYER)4097 {4098 if(GC.getQUEST_DISABLED_FIND_PLAYER() == 1)4099 return false;4100 }4101 // FIND NATURAL WONDER4102 else if(eQuest == MINOR_CIV_QUEST_FIND_NATURAL_WONDER)4103 {4104 if(GC.getQUEST_DISABLED_NATURAL_WONDER() == 1)4105 return false;4106 }4107 // GOLD GIFT4108 else if(eQuest == MINOR_CIV_QUEST_GIVE_GOLD)4109 {4110 if(GC.getQUEST_DISABLED_GIVE_GOLD() == 1)4111 return false;4112 }4113 // PLEDGE TO PROTECT4114 else if(eQuest == MINOR_CIV_QUEST_PLEDGE_TO_PROTECT)4115 {4116 if(GC.getQUEST_DISABLED_PLEDGE_TO_PROTECT() == 1)4117 return false;4118 }4119 // CONTEST CULTURE4120 else if(eQuest == MINOR_CIV_QUEST_CONTEST_CULTURE)4121 {4122 if(GC.getGame().isOption(GAMEOPTION_NO_POLICIES))4123 return false;41244125 if(GC.getQUEST_DISABLED_CONTEST_CULTURE() == 1)4126 return false;4127 }4128 // CONTEST FAITH4129 else if(eQuest == MINOR_CIV_QUEST_CONTEST_FAITH)4130 {4131 if(GC.getGame().isOption(GAMEOPTION_NO_RELIGION))4132 return false;41334134 if(GC.getQUEST_DISABLED_CONTEST_FAITH() == 1)4135 return false;4136 }4137 // CONTEST TECHS4138 else if(eQuest == MINOR_CIV_QUEST_CONTEST_TECHS)4139 {4140 if(GC.getGame().isOption(GAMEOPTION_NO_SCIENCE))4141 return false;41424143 if(GC.getQUEST_DISABLED_CONTEST_TECHS() == 1)4144 return false;4145 }4146 // Invest4147 else if(eQuest == MINOR_CIV_QUEST_INVEST)4148 {4149 if(GC.getQUEST_DISABLED_INVEST() == 1)4150 return false;4151 }4152 // Bully target City-State4153 else if(eQuest == MINOR_CIV_QUEST_BULLY_CITY_STATE)4154 {4155 if(GC.getQUEST_DISABLED_BULLY_CITY_STATE() == 1)4156 return false;4157 }4158 // Denounce target Major4159 else if(eQuest == MINOR_CIV_QUEST_DENOUNCE_MAJOR)4160 {4161 if(GC.getQUEST_DISABLED_DENOUNCE_MAJOR() == 1)4162 return false;4163 }4164 // Spread your religion to us4165 else if(eQuest == MINOR_CIV_QUEST_SPREAD_RELIGION)4166 {4167 if(GC.getGame().isOption(GAMEOPTION_NO_RELIGION))4168 return false;41694170 if(GC.getQUEST_DISABLED_SPREAD_RELIGION() == 1)4171 return false;4172 }4173 // Trade Route4174 else if(eQuest == MINOR_CIV_QUEST_TRADE_ROUTE)4175 {4176 if(GC.getQUEST_DISABLED_TRADE_ROUTE() == 1)4177 return false;4178 }4179#if defined(MOD_EVENTS_QUESTS)4180 }4181#endif41824183 return true;4184}
Calls
- CustomMods::isEVENTS_QUESTS()
- CvGame::isOption(GameOptionTypes) const
- CvGlobals::getGame()
- CvGlobals::getQUEST_DISABLED_BULLY_CITY_STATE()
- CvGlobals::getQUEST_DISABLED_CONNECT_RESOURCE()
- CvGlobals::getQUEST_DISABLED_CONSTRUCT_WONDER()
- CvGlobals::getQUEST_DISABLED_CONTEST_CULTURE()
- CvGlobals::getQUEST_DISABLED_CONTEST_FAITH()
- CvGlobals::getQUEST_DISABLED_CONTEST_TECHS()
- CvGlobals::getQUEST_DISABLED_DENOUNCE_MAJOR()
- CvGlobals::getQUEST_DISABLED_FIND_PLAYER()
- CvGlobals::getQUEST_DISABLED_GIVE_GOLD()
- CvGlobals::getQUEST_DISABLED_GREAT_PERSON()
- CvGlobals::getQUEST_DISABLED_INVEST()
- CvGlobals::getQUEST_DISABLED_KILL_CAMP()
- CvGlobals::getQUEST_DISABLED_KILL_CITY_STATE()
- CvGlobals::getQUEST_DISABLED_NATURAL_WONDER()
- CvGlobals::getQUEST_DISABLED_PLEDGE_TO_PROTECT()
- CvGlobals::getQUEST_DISABLED_ROUTE()
- CvGlobals::getQUEST_DISABLED_SPREAD_RELIGION()
- CvGlobals::getQUEST_DISABLED_TRADE_ROUTE()
- CvGlobals::getQuestInfo(int)
- CvQuestInfo::isEnabled() const