void Attack(BaseEnemy enemy) { var mele_area = (Area)enemy.FindNode("MeleAttackArea"); foreach (object obj in mele_area.GetOverlappingBodies()) { if (obj is BasePlayer) { BasePlayer player = obj as BasePlayer; var dmg = enemy.CalculateDamage(player); player.TakeDamage(dmg); var msg = enemy.GetNode("/root/messanger") as messanger; msg.PlayerDamage(dmg, player.GetTranslation()); } } }