//Fonction attaque, le gladiateur attaquant attaque le défenseur avec chacune de son/ses arme(s) public Entity Attack(Entity entity) { Gladiator ennemy = (Gladiator)entity; /* * On boucle sur les armes de l'attaquant * Si l'attaquant à un filet, on l'ignore, le filet étant géré dans la passe d'arme (une seule utilisation par passe d'arme) * On déclenche la capacité de blocage ici */ for (int i = (this.Weapons.Contains("Net") ? 1 : 0); i < this.Weapons.Count; i++) { Console.WriteLine(this._Name + " attack " + ennemy.Name + " with " + this.Weapons[i] + "!"); //Console.WriteLine ("Hit rate: " + Stuff.HitRate [this.Weapons[i]] * this._DamageRate + "%"); if (Stuff.getPercentage() <= Stuff.HitRate[this.Weapons[i]] * this._HitRate) { if (ennemy.Block(this)) { Console.WriteLine(ennemy.Name + " blocked the attack !"); } else { Console.WriteLine("It's super effective ! " + ennemy.Name + " dies..\n"); //Retourne le gladiateur courant (attaquant) s'il tue l'ennemi return(this); } } else { Console.WriteLine(this._Name + " missed his attack..\n"); } } //Retourne l'ennemi si l'attaquant n'est pas parvenu à le tuer return(ennemy); }