private void Entity_DamageTaken(object sender, DamageTakenEventArgs e) { if (e.DamageSource is EntityDamageSource) { EntityDamageSource entitySource = (EntityDamageSource)e.DamageSource; Target = entitySource.Source; ShouldUpdate = true; } }
private void Entity_Death(object sender, DamageTakenEventArgs e) { foreach (Entity entity in Location.Entities) { if (entity is Player) { if (!(e.DamageSource is EntityDamageSource) || ((EntityDamageSource)e.DamageSource).Source != entity) ((Player)entity).SendLine("{0} was killed by {1}.", ((Entity)sender).Name.ToTitleCase(), e.DamageSource.ToString()); } } }
private void OnDeath(object sender, DamageTakenEventArgs e) { if (Inventory.Exists(x => x is ItemPhoenixDown)) { Hp = Attributes.MaxHp; Inventory.RemoveAt(Inventory.FindIndex(x => x is ItemPhoenixDown)); SendLine("You were reinvigorated by phoenix down."); } else { SendLine("YOU DIED"); } }
private void OnDamageTaken(object sender, DamageTakenEventArgs e) { int displayDamage = (int)Math.Min(Attributes.MaxHp, Hp + e.Amount) - (int)Hp; SendLine("{0} damage taken from {1}.", displayDamage, e.DamageSource); }