Exemplo n.º 1
0
        public override bool Use()
        {
            Player  player = Game.Player;
            GameMap map    = Game.Map;

            if (EffectCode == 0)
            {
                player.Health = Math.Min(player.Health + 10, player.MaxHealth);
                Game.MessageLog.Add($"{player.Name} a utilise une potion de sante et gagne 10 hp");
                return(true);
            }
            else if (EffectCode == 1)
            {
                player.AffectSpeed(5, 7);
                Game.MessageLog.Add($"{player.Name} a utilise une potion de vitesse et double sa vitesse pour 5 tours");
                return(true);
            }
            else if (EffectCode == 2)
            {
                Game.MessageLog.Add($"{player.Name} a utilise une potion de degats");
                CellSelection.StartShochWaveEffect(player.Coord, 5);
                IEnumerable <ICell> surroundingCells = map.GetCellsInCircle(Game.Player.X, Game.Player.Y, 5);
                if (surroundingCells != null)
                {
                    foreach (ICell cell in surroundingCells)
                    {
                        Monster monster = map.GetMonsterAt(cell.X, cell.Y);
                        if (monster != null && Game.Map.IsInFov(cell.X, cell.Y))
                        {
                            Game.CommandSystem.ResolveDamage(monster, 3);
                        }
                    }
                }
                return(true);
            }
            return(false);
        }