public static void Assassinate(TroopScript Assassin, TroopScript Victim)
 {
     int AssassinChance = Mathf.RoundToInt(((float)Assassin.GetEnergy()/(float)Assassin.GetMaxEnergy())*900+((float)Assassin.GetNumber()/(float)Assassin.GetmaxNumber())*100);
     int VictimChance = Mathf.RoundToInt(((float)Victim.GetEnergy()/(float)Victim.GetMaxEnergy())*100+((float)Victim.GetNumber()/(float)Victim.GetmaxNumber())*900);
     if (AssassinChance>VictimChance && Victim.boss == false)
         Victim.SetNumber(0);
 }
 public static void MonkSelfHeal(TroopScript Monk, float SkillModifier)
 {
     int TroopSize = CalculateAdjustedTroopSize(Monk.GetNumber(),ReturnPeoplePerLine(Monk),Monk.GetChief().GetMuhReturns());
     int Heal = HealAmount (TroopSize,Monk.GetChief().GetIntelligence(),SkillModifier,0); //MUH BUFFEADOS
     Monk.SetNumber(Monk.GetNumber()+Heal);
     if (Monk.GetNumber()>Monk.GetmaxNumber())
     Monk.SetNumber(Monk.GetmaxNumber());
 }
 public static void HealingTarget(TroopScript Healer, TroopScript Healed, float SkillModifier)
 {
     int PeoplePerLine = ReturnPeoplePerLine(Healer);
     int TroopSize = CalculateAdjustedTroopSize(Healer.GetNumber(),PeoplePerLine,Healer.GetChief().GetMuhReturns());
     int Healing = HealAmount(TroopSize,Healer.GetChief().GetIntelligence(),SkillModifier,Healer.GetDirectMatkBuff()); //NEED BUFF MODIFIERS FUGG
     Healed.SetNumber(Healed.GetNumber()+Healing);
     if (Healed.GetNumber()>Healed.GetmaxNumber())
         Healed.SetNumber(Healed.GetmaxNumber());
 }
 public static void FinisherDamageScaling(TroopScript Caster, TroopScript Target)
 {
     float CasterHpPercent = (float)Caster.GetNumber()/Caster.GetmaxNumber();
     float TargetHpPercent = (float)Target.GetNumber()/Target.GetmaxNumber();
     float SkillScaling = .5f*(CasterHpPercent/TargetHpPercent);
 }
    public static float DamageScalingRevenge(TroopScript Caster)
    {
        float value;
        float hpPercent = (float)Caster.GetNumber()/(float)Caster.GetmaxNumber();
        value = 0.7f*(1/hpPercent); //need to change this

        return value;
    }
 public static float DamageScalingCleanUp(TroopScript Caster, TroopScript Target)
 {
     float value;
     float HpDifferences = ((float)Caster.GetNumber()/(float)Caster.GetmaxNumber())/((float)Caster.GetNumber()/(float)Caster.GetmaxNumber());
     value = -1f+Mathf.Pow(1.5f,HpDifferences);
     return value;
 }