public void GetShotAt(EntityPart targetedArea, Entity objectForAttack, out string attackDescription) { attackDescription = "Erreur de Out attackDescription"; if (objectForAttack is Weapon) { (objectForAttack as Weapon).ShootAt(this, targetedArea, out attackDescription); } else if (objectForAttack == null) // attaque corps à corps { if (objectForAttack is Human && (objectForAttack as Human).IsAlive()) { (objectForAttack as Human).Punch(targetedArea); } } }
public void TryInjure(int dmg, EntityPart targetedPart, out string descr) { descr = ""; if (targetedPart.partType == EntityPartType.Hand) { if (dmg > 20) { descr = " Une des balles de haut calibre fusa et arracha la main du " + targetedPart + " à toute vitesse, il leva la tête au ciel et hurla en pleurant"; } else { descr = "La personne visée se prend une balle dans la main et recula crispée en s'appuyant contre un mur!"; } } if (targetedPart.partType == EntityPartType.Head) { if (dmg > 40) { descr = "[COUP CRITIQUE]la rafale tirée de balles décrocha la tête de l'humain"; } else { descr = $"Le {this.status} se prit des impacts en pleine tête et tomba sans un bruit"; } } if (targetedPart.partType == EntityPartType.Heart) { if (dmg < 10) { descr = "Il se prend une impact léger mais au coeur! Sa mort est maintenant signée"; } else { descr = $"L'impact de balle dans l'organe vital du { this.status} le fit reculer d'un pas , il s'écroula aussitôt sur le dos en crachant une bouffée de sang"; } } }
private void Punch(EntityPart targetedArea) { }