예제 #1
0
        public CombatForm(Player player, MainForm mainForm, TravelForm.Selection type)
        {
            InitializeComponent();
            _player   = player;
            _enemy    = SpawnEnemy(type);
            _mainForm = mainForm;

            _playerAttackProgress = 0;
            _enemyAttackProgress  = 0;

            lblName.Text  = _player.name;
            lblClass.Text = Enum.GetName(typeof(Player.Class), _player.playerClass);

            _playerCurrentActionText = "Weapon Attack";
            _enemyCurrentActionText  = "Weapon Attack";

            _actionSlots        = new PictureBox[] { pbActionBarSlot1, pbActionBarSlot2, pbActionBarSlot3, pbActionBarSlot4, pbActionBarSlot5, pbActionBarSlot6, pbActionBarSlot7, pbActionBarSlot8, pbActionBarSlot9 };
            _actionSlotTooltips = new ToolTip[] { ttActionSlot1, ttActionSlot2, ttActionSlot3, ttActionSlot4, ttActionSlot5, ttActionSlot6, ttActionSlot7, ttActionSlot8, ttActionSlot9 };

            _time = 0;

            foreach (Skill s in _player.skills)
            {
                s.onCooldown = false;
            }

            SetAttackSpeed();
        }
예제 #2
0
        private Enemy SpawnEnemy(TravelForm.Selection type)
        {
            Random random = new Random();

            int choose;

            switch (type)
            {
            case TravelForm.Selection.Forest:
                choose = random.Next(11);
                if (choose == 0)
                {
                    return(Humanoid.Generate((_player.level + 5 > 10) ? 5 : _player.level));
                }
                else
                {
                    return(Beast.Generate((_player.level + 5 > 10) ? 5 : _player.level));
                }

            case TravelForm.Selection.Cave:
                choose = random.Next(11);
                if (choose == 0)
                {
                    return(Humanoid.Generate((_player.level + 5 > 20) ? 15 : (_player.level - 5 < 10) ? 15 : _player.level));
                }
                else
                {
                    return(Goblinoid.Generate((_player.level + 5 > 20) ? 15 : (_player.level - 5 < 10) ? 15 : _player.level));
                }

            case TravelForm.Selection.Ethereal:
                return(Ethereal.Generate((_player.level + 5 > 90) ? 85 : (_player.level - 5 < 70) ? 75 : _player.level));

            case TravelForm.Selection.Graveyard:
                choose = random.Next(11);
                if (choose == 0)
                {
                    return(Humanoid.Generate((_player.level + 5 > 40) ? 35 : (_player.level - 5 < 20) ? 25 : _player.level));
                }
                else
                {
                    return(Undead.Generate((_player.level + 5 > 40) ? 35 : (_player.level - 5 < 20) ? 25 : _player.level));
                }

            case TravelForm.Selection.Mountains:
                choose = random.Next(21);
                if (choose == 0)
                {
                    return(Humanoid.Generate((_player.level + 5 > 55) ? 50 : (_player.level - 5 < 40) ? 45 : _player.level));
                }
                else if (choose > 0 && choose < 15)
                {
                    return(Giant.Generate((_player.level + 5 > 55) ? 50 : (_player.level - 5 < 40) ? 45 : _player.level));
                }
                else
                {
                    return(Dragonkin.Generate((_player.level + 5 > 55) ? 50 : (_player.level - 5 < 40) ? 45 : _player.level));
                }

            case TravelForm.Selection.Ruins:
                choose = random.Next(11);
                if (choose == 0)
                {
                    return(Humanoid.Generate((_player.level + 5 > 70) ? 65 : (_player.level - 5 < 55) ? 60 : _player.level));
                }
                else
                {
                    return(Mechanical.Generate((_player.level + 5 > 70) ? 65 : (_player.level - 5 < 55) ? 60 : _player.level));
                }

            case TravelForm.Selection.Underworld:
                return(Demon.Generate((_player.level - 5 < 90) ? 95 : _player.level));
            }
            return(null);
        }