コード例 #1
0
        //public Przeciwnik(string nazwa, int _id, int obrazenia, int nagrodaexp, int nagrodagold, int basehp, int basemp) : base(basehp, basemp)
        private static void zaladujNPC()   // wykorzystany konstruktor bez obrazka postaci i lokacji, przeznaczony wiec dla walk losowych gdzie nie sa potrzebne
        {
            Przeciwnik enemy;

            enemy = new Przeciwnik("Nietoperz", enemyId_nietoperz, 4, 10, 10, 25, 0, Gra.Properties.Resources.babybat, Gra.Properties.Resources.babybat_battleimage);
            przeciwnik.Add(enemy);

            enemy = new Przeciwnik("Ogromny szczur", enemyId_ogromnyszczur, 5, 15, 15, 30, 0, Gra.Properties.Resources.Empty, Gra.Properties.Resources.Empty);
            przeciwnik.Add(enemy);

            enemy = new Przeciwnik("Wilk", enemyId_wilk, 7, 20, 20, 40, 0, Gra.Properties.Resources.Wolf, Gra.Properties.Resources.Wolf_battleimage);
            przeciwnik.Add(enemy);

            enemy = new Przeciwnik("Szkielet", enemyId_szkielet, 8, 25, 25, 30, 0, Gra.Properties.Resources.Empty, Gra.Properties.Resources.Empty);
            przeciwnik.Add(enemy);

            enemy = new Przeciwnik("Szkielet czarownik", enemyId_szkielet_czarownik, 4, 30, 20, 40, 30, Gra.Properties.Resources.Empty, Gra.Properties.Resources.Empty);
            enemy.PoznajAtak(1);
            przeciwnik.Add(enemy);

            enemy = new Przeciwnik("Minotaur", enemyId_minotaur, 12, 50, 40, 80, 30, Gra.Properties.Resources.Minotaur, Gra.Properties.Resources.Minotaur_battleimage);
            enemy.PoznajAtak(2);
            enemy.PoznajAtak(4);
            przeciwnik.Add(enemy);



            PrzyjaznyNPC friendly;

            friendly = new PrzyjaznyNPC(friendlyId_Vincent, "Vincent", Gra.Properties.Resources.npc_knight_1, Gra.Properties.Resources.npc_knight_1_talk, "Powodzenia!");
            friendly.AddQuest(Task.questId_Cave);
            friendly.Questy.ElementAt(0).setIsActive(true);
            friendly.Questy.ElementAt(0).setStatus(QuestStatus.Active);
            przyjazny.Add(friendly);

            friendly = new PrzyjaznyNPC(friendlyId_King, "Król", Gra.Properties.Resources.npc_king, Gra.Properties.Resources.npc_king_talk, "Co tutaj nadal robisz?");
            friendly.AddQuest(Task.questId_Cave);
            friendly.Questy.ElementAt(0).setIsActive(true);
            friendly.Questy.ElementAt(0).setStatus(QuestStatus.Complited);

            friendly.AddQuest(Task.questId_Danger);
            friendly.Questy.ElementAt(1).setIsActive(true);
            friendly.Questy.ElementAt(1).setStatus(QuestStatus.Active);
            przyjazny.Add(friendly);

            friendly = new PrzyjaznyNPC(friendlyId_Peasant, "Chłop", Gra.Properties.Resources.npc_peasant, Gra.Properties.Resources.Empty, "...");
            friendly.AddQuest(Task.questId_Peasant);
            friendly.Questy.ElementAt(0).setIsActive(true);
            friendly.Questy.ElementAt(0).setStatus(QuestStatus.Active);
            przyjazny.Add(friendly);

            friendly = new PrzyjaznyNPC(friendlyId_Sorceress, "Czarodziejka", Gra.Properties.Resources.npc_sorceress, Gra.Properties.Resources.Empty, "Co tutaj robisz?");
            friendly.AddQuest(Task.questId_Danger);
            friendly.Questy.ElementAt(0).setIsActive(true);
            friendly.Questy.ElementAt(0).setStatus(QuestStatus.Active);
            przyjazny.Add(friendly);
        }
コード例 #2
0
        public void StartCombat(Bohater player, Przeciwnik enemy, int mapX, int mapY)
        {
            if (Player == null)
            {
                Player = player;
            }

            if (Enemy == null)
            {
                Enemy = enemy;
            }

            inCombat   = true;
            playerTurn = true;

            PlayerPB.Image = player.getBattleImage();
            EnemyPB.Image  = enemy.getBattleImage();

            Image img;

            if (mapX < 0 && mapY >= 0)
            {
                mapX *= -1;
                img   = new Bitmap((Image)Gra.Properties.Resources.ResourceManager.GetObject("world_" + mapX + "" + mapY), Width, Height);
            }
            else if (mapX >= 0 && mapY < 0)
            {
                mapY *= -1;
                img   = new Bitmap((Image)Gra.Properties.Resources.ResourceManager.GetObject("world" + mapX + "_" + mapY), Width, Height);
            }
            else if (mapX < 0 && mapY < 0)
            {
                mapX *= -1;
                mapY *= -1;
                img   = new Bitmap((Image)Gra.Properties.Resources.ResourceManager.GetObject("world_" + mapX + "_" + mapY), Width, Height);
            }
            else
            {
                img = new Bitmap((Image)Gra.Properties.Resources.ResourceManager.GetObject("world" + mapX + "" + mapY), Width, Height);
            }

            BackgroundPB.SizeMode = PictureBoxSizeMode.Zoom;
            BackgroundPB.Image    = img;

            UpdateStats();
        }
コード例 #3
0
 public static Przeciwnik EnemyById(int _id)   // zwraca obiekt bedacy kopia przeciwnika o podanym id
 {
     foreach (Przeciwnik enemy in przeciwnik)
     {
         if (enemy.getId() == _id)
         {
             Przeciwnik temp = new Przeciwnik(enemy.getNazwa(), enemy.getId(), enemy.GetObrazenia(), enemy.getNagrodaExp(), enemy.getNagrodaGold(), enemy.GetBaseHP(), enemy.GetBaseMP(), enemy.getObrazekPostaci(), enemy.getBattleImage());
             foreach (Atak atak in enemy.SpecjalneAtaki)
             {
                 temp.PoznajAtak(atak.GetId());
             }
             foreach (Przedmiot przedmiot in enemy.Ekwipunek)
             {
                 temp.DodajPrzedmiot(przedmiot.getId());
             }
             return(temp);
         }
     }
     return(null);
 }
コード例 #4
0
        private void AttackBtn_Click(object sender, EventArgs e)
        {
            if (playerTurn)
            {
                Enemy.SetHP(Enemy.GetHP() - (Player.GetObrazenia() * PlayerDmgMultiplier) / EnemyDefMultiplier);
                Sound.PlaySound(Sound.Sound_playerbasicattack);

                if (Enemy.GetHP() <= 0)
                {
                    Enemy.SetHP(0);
                    Enemy.SetMP(0);
                    Enemy.setIsAlive(false);

                    playerWin = true;
                    inCombat  = false;

                    Player.DodajEXP(Enemy.getNagrodaExp());
                    Player.DodajGold(Enemy.getNagrodaGold());

                    foreach (Quest quest in Player.quests)
                    {
                        if (quest.getStatus() == QuestStatus.Active)
                        {
                            if (quest.GetType() == typeof(QuestKillEnemy))
                            {
                                QuestKillEnemy _quest = quest as QuestKillEnemy;
                                if (_quest.GetQuestEnemyID() == Enemy.getId())
                                {
                                    _quest.IncrementCounter();
                                    _quest.CheckCompletion();
                                }
                            }
                        }
                    }

                    Enemy = null;

                    if (CombatSoundPlayer.settings.volume > 0)
                    {
                        timer2.Start();
                    }

                    if (Sound.SongPlayer.settings.volume < 100)
                    {
                        timer1.Start();
                    }

                    this.Close();
                }
            }

            PlayerDmgMultiplier = 1;
            PlayerDefMultiplier = 1;
            EnemyDmgMultiplier  = 1;
            EnemyDefMultiplier  = 1;

            playerTurn              = false;
            AttackBtn.Enabled       = false;
            SpecialSkillBtn.Enabled = false;
            BlockBtn.Enabled        = false;
            ItemsBtn.Enabled        = false;

            UpdateStats();
            Delay.Start();
        }