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); }
static void SetTroopBaseStatistics (TroopScript troop,int baseAtk, int baseDef, int baseHitPoints, int baseSpeed, int People, int baseMovement, int BaseRange){ troop.SetBaseAttack(baseAtk); troop.SetBaseDefence(baseDef); troop.SetBaseHitpoints(baseHitPoints); troop.SetBaseSpeed (baseSpeed); troop.SetNumber(People); troop.SetBaseMovement(baseMovement); troop.SetBaseRange(BaseRange); }
//CHECK THE PATHFINDER void AddStuffToPlayer(TroopScript player,int faction,muhClasses muhclass,Chief leader, int Attack,int Defence,int HitPoints,int Speed,int NumberOfSoldiers, Weaponry _weapon, Armory _armor) { // Classes ClassToSet = Classes.fromList(muhclass); player.Faction = faction; player.SetClassDONTUSETHISAREYOUSUREYOUWANTTOUSETHISYOUREALLYSHOULDNT(muhclass); player.SetChief(leader); player.SetBaseAttack(Attack); player.SetBaseDefence(Defence); player.SetBaseHitpoints(HitPoints); player.SetBaseSpeed(Speed); player.SetNumber(NumberOfSoldiers); player.SetWeapon(_weapon); player.SetArmor(_armor); }
public static void SummonYogurtOntoPlayer(TroopScript Player, TroopScript Summoner) { int PlayerValue = TroopValue(Player); int SummonerValue = TroopValue(Summoner); if (PlayerValue>SummonerValue+2) Player.SetOgreSummonInto(Summoner); else if (PlayerValue>SummonerValue -2 && SummonerValue+2>PlayerValue) Player.SetNumber(0); else if (PlayerValue<= SummonerValue-2){ Player.Faction = Summoner.Faction; Player.SetOgreSummonInto(Summoner); } }
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 MeleeFightingScript(TroopScript Attacker, TroopScript Defender, Skill SkillUsed) { int AttackerBattlefieldEffect = 1; //still to impement int DefenderBattlefieldEffect = 1; //still to impement int DamageOnAtk = 0; int DamageOnDef = 0; TroopScript DefenderGuarder = Defender.GuardedBy; float DefenderGuardPercent = (float)Defender.GuardedByPercent/100; if (SkillUsed.CancelsPreparation == true && Defender.isMagicGuarded == false){ Defender.CancelPreparation(); Defender.FlushPreparationTarget(); } if (SkillUsed.ReducesEnergy == true && Defender.isMagicGuarded == false){ Defender.SetEnergy(Defender.GetEnergy()-1); if (Defender.GetEnergy() <0) Defender.SetEnergy(0); } if (SkillUsed.RemoveBuffs == true && Defender.isMagicGuarded == false)Defender.RemoveAllbuffs(); if (SkillUsed.AppliesPoison == true && Defender.Poisoned == 0) Defender.Poisoned = 1; if (SkillUsed.Freezes == true && !Defender.Frozen) Defender.Frozen = true; if (SkillUsed.Penetrating == true || DefenderGuarder == null){ DamageOnDef = CalculateDamage(Attacker,Defender,SkillUsed,AttackerBattlefieldEffect); Debug.Log("Damage on "+Defender.GetChief().GetName()+":"+DamageOnDef); Defender.SetNumber(Defender.GetNumber()-DamageOnDef); if (Defender.GetNumber()<0) Defender.SetNumber(0); if (CanCounter(Attacker,Defender,SkillUsed)){ float CounterScaling = CounterAttackDamage(Defender.GetChief().GetCounterAttack(),Defender.GetArmor().CounterAttackValue+Defender.GetWeapon().CounterAttackValue); DamageOnAtk = CalculateCounterDamage(Defender,Attacker,CounterScaling,DefenderBattlefieldEffect); Attacker.SetNumber(Attacker.GetNumber()-DamageOnAtk); if (Attacker.GetNumber()<0) Attacker.SetNumber(0);}} else if (SkillUsed.Penetrating == false && DefenderGuarder != null){ DamageOnDef = CalculateDamage(Attacker,Defender,SkillUsed,AttackerBattlefieldEffect); if (SkillUsed.AffectRating) RatingFromDamage(Attacker,DamageOnDef); if (DefenderGuarder){ if (DefenderGuarder.GetNumber()<= 0){ Defender.GuardedBy = null; Defender.GuardedByPercent = 0; DamageOnDef = CalculateDamage(Attacker,Defender,SkillUsed,AttackerBattlefieldEffect); Debug.Log("Damage on "+Defender.GetChief().GetName()+":"+DamageOnDef); Defender.SetNumber(Defender.GetNumber()-DamageOnDef); if (Defender.GetNumber()<0) Defender.SetNumber(0); if (CanCounter(Attacker,Defender,SkillUsed)){ float CounterScaling = CounterAttackDamage(Defender.GetChief().GetCounterAttack(),Defender.GetArmor().CounterAttackValue+Defender.GetWeapon().CounterAttackValue); DamageOnAtk = CalculateCounterDamage(Defender,Attacker,CounterScaling,DefenderBattlefieldEffect); Attacker.SetNumber(Attacker.GetNumber()-DamageOnAtk); if (Attacker.GetNumber()<0) Attacker.SetNumber(0);} }else{ DefenderGuarder.SetNumber(DefenderGuarder.GetNumber()-Mathf.RoundToInt(DamageOnDef*DefenderGuardPercent)); if (DefenderGuarder.GetNumber()<0) DefenderGuarder.SetNumber(0); Defender.SetNumber(Defender.GetNumber()-Mathf.RoundToInt(DamageOnDef*(1-DefenderGuardPercent))); if (Defender.GetNumber()<0) Defender.SetNumber(0); if (CanCounter(Attacker,DefenderGuarder,SkillUsed)){ float CounterScaling = CounterAttackDamage(DefenderGuarder.GetChief().GetCounterAttack(),DefenderGuarder.GetArmor().CounterAttackValue+DefenderGuarder.GetWeapon().CounterAttackValue); DamageOnAtk = CalculateCounterDamage(DefenderGuarder,Attacker,CounterScaling,DefenderBattlefieldEffect); Attacker.SetNumber(Attacker.GetNumber()-DamageOnAtk); if (Attacker.GetNumber()<0) Attacker.SetNumber(0); } }} } }
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()); }