Hooks
static bool BeforeCvDllNetMessageHandler_ResponsePushMission(CvDllNetMessageHandler* self, PlayerTypes ePlayer, int iUnitID, MissionTypes eMission, int iData1, int iData2, int iFlags, bool bShift);static void AfterCvDllNetMessageHandler_ResponsePushMission(CvDllNetMessageHandler* self, PlayerTypes ePlayer, int iUnitID, MissionTypes eMission, int iData1, int iData2, int iFlags, bool bShift);static void ReplaceCvDllNetMessageHandler_ResponsePushMission(void (*original)(CvDllNetMessageHandler*, PlayerTypes, int, MissionTypes, int, int, int, bool), CvDllNetMessageHandler* self, PlayerTypes ePlayer, int iUnitID, MissionTypes eMission, int iData1, int iData2, int iFlags, bool bShift);// CivHooks.h gives this hook point no types, so nothing checks these hooks' parameters.host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponsePushMission::ID, CIV_HOOK_BEFORE, (void*)&BeforeCvDllNetMessageHandler_ResponsePushMission);host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponsePushMission::ID, CIV_HOOK_AFTER, (void*)&AfterCvDllNetMessageHandler_ResponsePushMission);host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponsePushMission::ID, CIV_HOOK_REPLACE, (void*)&ReplaceCvDllNetMessageHandler_ResponsePushMission);
Code
739void CvDllNetMessageHandler::ResponsePushMission(PlayerTypes ePlayer, int iUnitID, MissionTypes eMission, int iData1, int iData2, int iFlags, bool bShift)740{741 CvUnit::dispatchingNetMessage(true);742743 CvPlayerAI& kPlayer = GET_PLAYER(ePlayer);744 CvUnit* pkUnit = kPlayer.getUnit(iUnitID);745746 if(pkUnit != NULL)747 {748 pkUnit->PushMission(eMission, iData1, iData2, iFlags, bShift, true);749 }750751 CvUnit::dispatchingNetMessage(false);752}