protected virtual void ExecuteExecutiveAction() { float influenceCost = DiplomacyCostCalculator.DetermineInfluenceCostForDeclaringWar(Faction1 as Kingdom); DiplomacyCostManager.deductInfluenceFromPlayerClan(influenceCost); DeclareWarAction.Apply(Faction1, Faction2); }
private static void ApplyInternal(Kingdom kingdom, Kingdom otherKingdom, bool forcePlayerCharacterCosts) { FactionManager.DeclareAlliance(kingdom, otherKingdom); float influenceCost = DiplomacyCostCalculator.DetermineInfluenceCostForFormingAlliance(kingdom, otherKingdom, forcePlayerCharacterCosts); if (forcePlayerCharacterCosts) { DiplomacyCostManager.deductInfluenceFromPlayerClan(influenceCost); } else { DiplomacyCostManager.DeductInfluenceFromKingdom(kingdom, influenceCost); } Events.Instance.OnAllianceFormed(new AllianceEvent(kingdom, otherKingdom)); }
public void SendMessengerWithInfluenceCost(Hero targetHero, float influenceCost) { DiplomacyCostManager.deductInfluenceFromPlayerClan(influenceCost); SendMessenger(targetHero); }