Bazaar developer reference

CvDiplomacyAI::DoKilledByPlayer(PlayerTypes)

Defined in
CvDiplomacyAI.cpp, line 10521
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoKilledByPlayer

Hooks

static bool BeforeCvDiplomacyAI_DoKilledByPlayer(CvDiplomacyAI* self, PlayerTypes ePlayer);static void AfterCvDiplomacyAI_DoKilledByPlayer(CvDiplomacyAI* self, PlayerTypes ePlayer);static void ReplaceCvDiplomacyAI_DoKilledByPlayer(void (*original)(CvDiplomacyAI*, PlayerTypes), CvDiplomacyAI* self, PlayerTypes ePlayer);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoKilledByPlayer>(host, &BeforeCvDiplomacyAI_DoKilledByPlayer);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoKilledByPlayer>(host, &AfterCvDiplomacyAI_DoKilledByPlayer);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoKilledByPlayer>(host, &ReplaceCvDiplomacyAI_DoKilledByPlayer);

Code

10520/// Player killed us10521void CvDiplomacyAI::DoKilledByPlayer(PlayerTypes ePlayer)10522{10523#if defined(MOD_AI_MP_DIPLOMACY)10524	bool bActivePlayer = (ePlayer == GC.getGame().getActivePlayer() && !GC.getGame().isNetworkMultiPlayer());10525	if (MOD_AI_MP_DIPLOMACY) bActivePlayer = CvPreGame::isHuman(ePlayer);10526	if(bActivePlayer) // JdH: just queue a request for humans10527#else10528	if(ePlayer == GC.getGame().getActivePlayer() && !GC.getGame().isNetworkMultiPlayer())10529#endif10530	{10531#if defined(MOD_DIPLOMACY_STFU)10532		DisplayAILeaderMessage(GetPlayer()->GetID(), DIPLO_UI_STATE_BLANK_DISCUSSION, DIPLO_MESSAGE_DEFEATED, LEADERHEAD_ANIM_DEFEATED);10533#else10534		const char* szText = GetDiploStringForMessage(DIPLO_MESSAGE_DEFEATED);10535#if defined(MOD_AI_MP_DIPLOMACY)10536		if (MOD_AI_MP_DIPLOMACY) {10537			CvDiplomacyRequests::SendRequest(GetPlayer()->GetID(), ePlayer, DIPLO_UI_STATE_BLANK_DISCUSSION, szText, LEADERHEAD_ANIM_DEFEATED);10538		} else {10539#endif10540		gDLL->GameplayDiplomacyAILeaderMessage(GetPlayer()->GetID(), DIPLO_UI_STATE_BLANK_DISCUSSION, szText, LEADERHEAD_ANIM_DEFEATED);10541#if defined(MOD_AI_MP_DIPLOMACY)10542		}10543#endif10544#endif1054510546#if !defined(NO_ACHIEVEMENTS)10547		if(!GC.getGame().isGameMultiPlayer())10548		{10549			gDLL->UnlockAchievement(ACHIEVEMENT_DESTROY_CIV);1055010551			CvAchievementUnlocker::AlexanderConquest(ePlayer);10552		}10553#endif10554	}10555}

Calls

Called by