Hooks
static bool BeforeCvLeague_LogProposalResolved(CvLeague* self, CvEnactProposal* pProposal);static void AfterCvLeague_LogProposalResolved(CvLeague* self, CvEnactProposal* pProposal);static void ReplaceCvLeague_LogProposalResolved(void (*original)(CvLeague*, CvEnactProposal*), CvLeague* self, CvEnactProposal* pProposal);CivRegisterBefore<CivHooks::CvLeague_LogProposalResolved>(host, &BeforeCvLeague_LogProposalResolved);CivRegisterAfter<CivHooks::CvLeague_LogProposalResolved>(host, &AfterCvLeague_LogProposalResolved);CivRegisterReplace<CivHooks::CvLeague_LogProposalResolved>(host, &ReplaceCvLeague_LogProposalResolved);
Code
6350// Must be called while the Congress is still in session, before the proposal is deleted6351void CvLeague::LogProposalResolved(CvEnactProposal* pProposal)6352{6353 CvAssert(pProposal != NULL);6354 if (!(pProposal != NULL)) return;6355 CvString sMessage = "";63566357 sMessage += ",Congress";6358 sMessage += ",- - -";6359 if (pProposal->IsPassed(GetVotesSpentThisSession()))6360 {6361 sMessage += ",Proposal Passed";6362 }6363 else6364 {6365 sMessage += ",Proposal Failed";6366 }63676368 CvAssert(pProposal != NULL);6369 if (pProposal != NULL && pProposal->GetVoterDecision() != NULL)6370 {6371 sMessage += ",";6372 sMessage += pProposal->GetProposalName(/*bForLogging*/ true);63736374 sMessage += ",";6375 int iDecision = pProposal->GetVoterDecision()->GetDecision();6376 if (iDecision == LeagueHelpers::CHOICE_NONE)6377 {6378 sMessage += "None";6379 }6380 else6381 {6382 sMessage += LeagueHelpers::GetTextForChoice(pProposal->GetVoterDecision()->GetType(), iDecision);6383 }6384 6385 CvString sTemp;6386 sTemp.Format(",Won by %d", pProposal->GetVoterDecision()->GetVotesMarginOfTopChoice());6387 sMessage += sTemp;6388 }63896390 GC.getGame().GetGameLeagues()->LogLeagueMessage(sMessage);6391}