private void MoveMonster(Monster monster) { Point previewMove = monster.PreviewMove(player.Position); if (previewMove.X == player.Position.X && previewMove.Y == player.Position.Y) { UserMessage message = new UserMessage(); bool hasHelmet = false; CastleItem helmet = ItemManager.FindItemInInventory("helmet"); if(helmet != null) { hasHelmet = true; } if (player.Hit(hasHelmet)) { message.AddLine(String.Format("The {0}", monster.Name)); message.AddLine("killed you!"); PrintUserMessage(message); GameResult = GameResult.Failed; EndGame(); gameOver = true; } else { message.AddLine(String.Format("The {0}", monster.Name)); message.AddLine("struck you!"); if (hasHelmet) { message.AddLine("The Helmet"); message.AddLine("helped."); } PrintUserMessage(message); } } else { switch (CollisionDetection(previewMove)) { case ObjectType.None: monster.Move(previewMove); break; } } }