public static int CalculateAttackCost(Gang attackerGang, GangWarManager.AttackStrength attackType) { int attackTypeInt = (int)attackType; int pow2NonZeroAttackType = (attackTypeInt * attackTypeInt + 1); return(ModOptions.instance.baseCostToTakeTurf + ModOptions.instance.baseCostToTakeTurf * attackTypeInt * attackTypeInt * attackTypeInt + attackerGang.GetFixedStrengthValue() * pow2NonZeroAttackType); }
/// <summary> /// gets the reinforcement count for the defenders and estimates a total power based on that number and /// the gang's fixed strength value /// </summary> /// <param name="defenderGang"></param> /// <param name="contestedZone"></param> /// <returns></returns> public static int CalculateDefenderStrength(Gang defenderGang, TurfZone contestedZone) { return(defenderGang.GetFixedStrengthValue() * CalculateDefenderReinforcements(defenderGang, contestedZone)); }
/// <summary> /// gets the reinforcement count for the attackers and estimates a total power based on that number and /// the gang's fixed strength value /// </summary> /// <param name="defenderGang"></param> /// <param name="contestedZone"></param> /// <returns></returns> public static int CalculateAttackerStrength(Gang attackerGang, GangWarManager.AttackStrength attackType) { return(attackerGang.GetFixedStrengthValue() * CalculateAttackerReinforcements(attackerGang, attackType)); }