CvMinorCivAI::GetStatusChangeDetails(PlayerTypes, bool, bool, bool)
- Defined in
- CvMinorCivAI.cpp, line 10695
- Class
- CvMinorCivAI
- Hook name
CivHooks::CvMinorCivAI_GetStatusChangeDetails
Hooks
static bool BeforeCvMinorCivAI_GetStatusChangeDetails(CvMinorCivAI* self, PlayerTypes ePlayer, bool bAdd, bool bFriends, bool bAllies, CvString& result);static void AfterCvMinorCivAI_GetStatusChangeDetails(CvMinorCivAI* self, PlayerTypes ePlayer, bool bAdd, bool bFriends, bool bAllies, CvString& result);static CvString ReplaceCvMinorCivAI_GetStatusChangeDetails(CvString (*original)(CvMinorCivAI*, PlayerTypes, bool, bool, bool), CvMinorCivAI* self, PlayerTypes ePlayer, bool bAdd, bool bFriends, bool bAllies);CivRegisterBefore<CivHooks::CvMinorCivAI_GetStatusChangeDetails>(host, &BeforeCvMinorCivAI_GetStatusChangeDetails);CivRegisterAfter<CivHooks::CvMinorCivAI_GetStatusChangeDetails>(host, &AfterCvMinorCivAI_GetStatusChangeDetails);CivRegisterReplace<CivHooks::CvMinorCivAI_GetStatusChangeDetails>(host, &ReplaceCvMinorCivAI_GetStatusChangeDetails);
Code
10695CvString CvMinorCivAI::GetStatusChangeDetails(PlayerTypes ePlayer, bool bAdd, bool bFriends, bool bAllies)10696{10697 Localization::String strDetailedInfo;1069810699 MinorCivTraitTypes eTrait = GetTrait();1070010701 if(eTrait == MINOR_CIV_TRAIT_CULTURED)10702 {10703 int iCultureBonusAmount = 0;10704 if (bFriends)10705 {10706 iCultureBonusAmount += GetCultureFlatFriendshipBonus(ePlayer) + GetCulturePerBuildingFriendshipBonus(ePlayer);10707 }10708 if (bAllies)10709 {10710 iCultureBonusAmount += GetCultureFlatAlliesBonus(ePlayer) + GetCulturePerBuildingAlliesBonus(ePlayer);10711 }10712 if (!bAdd)10713 {10714 iCultureBonusAmount = -iCultureBonusAmount;10715 }1071610717 if(bAllies && bAdd) // Now Allies (includes jump from nothing through Friends to Allies)10718 {10719 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_NOW_ALLIES_CULTURE");10720 strDetailedInfo << iCultureBonusAmount;10721 }10722 else if(bFriends && bAdd) // Now Friends10723 {10724 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_NOW_FRIENDS_CULTURE");10725 strDetailedInfo << iCultureBonusAmount;10726 }10727 else if(!bAdd) // Bonus diminished (or removed)10728 {10729 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_LOST_CULTURE");10730 strDetailedInfo << iCultureBonusAmount;10731 }10732 }10733 else if(eTrait == MINOR_CIV_TRAIT_MILITARISTIC)10734 {10735 if(bAllies && bAdd) // Now Allies (includes jump from nothing through Friends to Allies)10736 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_NOW_ALLIES_MILITARISTIC");10737 else if(bFriends && bAdd) // Now Friends10738 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_NOW_FRIENDS_MILITARISTIC");10739 else if(bFriends && !bAdd) // No longer Friends (includes drop from Allies down to nothing) - this should be before the Allies check!10740 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_LOST_FRIENDS_MILITARISTIC");10741 else if(bAllies && !bAdd) // No longer Allies10742 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_LOST_ALLIES_MILITARISTIC");10743 }10744 else if(eTrait == MINOR_CIV_TRAIT_MARITIME)10745 {10746 int iCapitalFoodTimes100 = 0;10747 int iOtherCitiesFoodTimes100 = 0;1074810749 if(bFriends) // Friends bonus10750 {10751 iCapitalFoodTimes100 += GetFriendsCapitalFoodBonus(ePlayer);10752 iOtherCitiesFoodTimes100 += GetFriendsOtherCityFoodBonus(ePlayer);10753 }10754 if(bAllies) // Allies bonus10755 {10756 iCapitalFoodTimes100 += GetAlliesCapitalFoodBonus(ePlayer);10757 iOtherCitiesFoodTimes100 += GetAlliesOtherCityFoodBonus(ePlayer);10758 }1075910760 if(!bAdd) // Flip amount of we're taking bonuses away10761 {10762 iCapitalFoodTimes100 = -iCapitalFoodTimes100;10763 iOtherCitiesFoodTimes100 = -iOtherCitiesFoodTimes100;10764 }1076510766 // Now that we've changed the gameplay, add together the two so the DISPLAY looks right10767 iCapitalFoodTimes100 += iOtherCitiesFoodTimes100;10768 float fCapitalFood = float(iCapitalFoodTimes100) / 100;10769 float fOtherCitiesFood = float(iOtherCitiesFoodTimes100) / 100;10770 //iCapitalFood += iOtherCitiesFood;1077110772 if(bAllies && bAdd) // Now Allies (includes jump from nothing through Friends to Allies)10773 {10774 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_NOW_ALLIES_MARITIME");10775 strDetailedInfo << fCapitalFood << fOtherCitiesFood;10776 }10777 else if(bFriends && bAdd) // Now Friends10778 {10779 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_NOW_FRIENDS_MARITIME");10780 strDetailedInfo << fCapitalFood << fOtherCitiesFood;10781 }10782 else if(!bAdd) // Bonus diminished (or removed)10783 {10784 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_LOST_MARITIME");10785 strDetailedInfo << fCapitalFood << fOtherCitiesFood;10786 }10787 }10788 else if(eTrait == MINOR_CIV_TRAIT_MERCANTILE)10789 {10790 int iHappinessBonus = 0;1079110792 if(bFriends) // Friends bonus10793 {10794 iHappinessBonus += GetHappinessFlatFriendshipBonus(ePlayer) + GetHappinessPerLuxuryFriendshipBonus(ePlayer);10795 }10796 if(bAllies) // Allies bonus10797 {10798 iHappinessBonus += GetHappinessFlatAlliesBonus(ePlayer) + GetHappinessPerLuxuryAlliesBonus(ePlayer);10799 }10800 if(!bAdd) // Flip amount of we're taking bonuses away10801 {10802 iHappinessBonus = -iHappinessBonus;10803 }1080410805 if(bAllies && bAdd) // Now Allies (includes jump from nothing through Friends to Allies)10806 {10807 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_NOW_ALLIES_MERCANTILE");10808 strDetailedInfo << iHappinessBonus;10809 }10810 else if(bFriends && bAdd) // Now Friends10811 {10812 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_NOW_FRIENDS_MERCANTILE");10813 strDetailedInfo << iHappinessBonus;10814 }10815 else if(!bAdd) // Bonus diminished (or removed)10816 {10817 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_LOST_MERCANTILE");10818 strDetailedInfo << iHappinessBonus;10819 }10820 }1082110822 // Religious10823 if(eTrait == MINOR_CIV_TRAIT_RELIGIOUS)10824 {10825 int iFaithBonusAmount = 0;10826 if (bFriends)10827 {10828 iFaithBonusAmount += GetFaithFlatFriendshipBonus(ePlayer);10829 }10830 if (bAllies)10831 {10832 iFaithBonusAmount += GetFaithFlatAlliesBonus(ePlayer);10833 }10834 if (!bAdd)10835 {10836 iFaithBonusAmount = -iFaithBonusAmount;10837 }1083810839 if(bAllies && bAdd) // Now Allies (includes jump from nothing through Friends to Allies)10840 {10841 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_NOW_ALLIES_RELIGIOUS");10842 strDetailedInfo << iFaithBonusAmount;10843 }10844 else if(bFriends && bAdd) // Now Friends10845 {10846 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_NOW_FRIENDS_RELIGIOUS");10847 strDetailedInfo << iFaithBonusAmount;10848 }10849 else if(!bAdd) // Bonus diminished (or removed)10850 {10851 strDetailedInfo = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_LOST_RELIGIOUS");10852 strDetailedInfo << iFaithBonusAmount;10853 }10854 }1085510856 return strDetailedInfo.toUTF8();10857}
Calls
- CvMinorCivAI::GetAlliesCapitalFoodBonus(PlayerTypes)
- CvMinorCivAI::GetAlliesOtherCityFoodBonus(PlayerTypes)
- CvMinorCivAI::GetCultureFlatAlliesBonus(PlayerTypes, EraTypes)
- CvMinorCivAI::GetCultureFlatFriendshipBonus(PlayerTypes, EraTypes)
- CvMinorCivAI::GetCulturePerBuildingAlliesBonus(PlayerTypes, EraTypes)
- CvMinorCivAI::GetCulturePerBuildingFriendshipBonus(PlayerTypes, EraTypes)
- CvMinorCivAI::GetFaithFlatAlliesBonus(PlayerTypes, EraTypes) const
- CvMinorCivAI::GetFaithFlatFriendshipBonus(PlayerTypes, EraTypes) const
- CvMinorCivAI::GetFriendsCapitalFoodBonus(PlayerTypes, EraTypes)
- CvMinorCivAI::GetFriendsOtherCityFoodBonus(PlayerTypes, EraTypes)
- CvMinorCivAI::GetHappinessFlatAlliesBonus(PlayerTypes, EraTypes)
- CvMinorCivAI::GetHappinessFlatFriendshipBonus(PlayerTypes, EraTypes)
- CvMinorCivAI::GetHappinessPerLuxuryAlliesBonus(PlayerTypes, EraTypes)
- CvMinorCivAI::GetHappinessPerLuxuryFriendshipBonus(PlayerTypes, EraTypes)
- CvMinorCivAI::GetTrait() const
CvString::CvStringLocalization::LookupLocalization::String::operator=Localization::String::StringLocalization::String::toUTF8operator<<operator<<