Hooks
static bool BeforeCvDllNetMessageHandler_ResponseMoveGreatWorks(CvDllNetMessageHandler* self, PlayerTypes ePlayer, int iCity1, int iBuildingClass1, int iWorkIndex1, int iCity2, int iBuildingClass2, int iWorkIndex2);static void AfterCvDllNetMessageHandler_ResponseMoveGreatWorks(CvDllNetMessageHandler* self, PlayerTypes ePlayer, int iCity1, int iBuildingClass1, int iWorkIndex1, int iCity2, int iBuildingClass2, int iWorkIndex2);static void ReplaceCvDllNetMessageHandler_ResponseMoveGreatWorks(void (*original)(CvDllNetMessageHandler*, PlayerTypes, int, int, int, int, int, int), CvDllNetMessageHandler* self, PlayerTypes ePlayer, int iCity1, int iBuildingClass1, int iWorkIndex1, int iCity2, int iBuildingClass2, int iWorkIndex2);// CivHooks.h gives this hook point no types, so nothing checks these hooks' parameters.host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponseMoveGreatWorks::ID, CIV_HOOK_BEFORE, (void*)&BeforeCvDllNetMessageHandler_ResponseMoveGreatWorks);host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponseMoveGreatWorks::ID, CIV_HOOK_AFTER, (void*)&AfterCvDllNetMessageHandler_ResponseMoveGreatWorks);host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponseMoveGreatWorks::ID, CIV_HOOK_REPLACE, (void*)&ReplaceCvDllNetMessageHandler_ResponseMoveGreatWorks);
Code
572void CvDllNetMessageHandler::ResponseMoveGreatWorks(PlayerTypes ePlayer, int iCity1, int iBuildingClass1, int iWorkIndex1, 573 int iCity2, int iBuildingClass2, int iWorkIndex2)574{575 GC.getGame().GetGameCulture()->MoveGreatWorks(ePlayer, iCity1, iBuildingClass1, iWorkIndex1, iCity2, iBuildingClass2, iWorkIndex2);576}