Beispiel #1
0
 private void CheckWinQuest(string name)
 {
     if (EnemiesForWinQuest.Count == 0)
     {
         return;
     }
     currentEnemy = null;
     for (int i = 0; i < EnemiesForWinQuest.Count; i++)
     {
         if (EnemiesForWinQuest[i].name == name)
         {
             currentEnemy = EnemiesForWinQuest[i];
             break;
         }
     }
     if (!currentEnemy)
     {
         return;
     }
     EnemiesForWinQuest.Remove(currentEnemy);
     if (EnemiesForWinQuest.Count == 0)
     {
         Debug.Log("WIN QUEST COMPLITE");
     }
 }
    public override void Initialize(EnemyPreset ep)
    {
        angle_range  = ep.angle_range;
        radius_range = ep.radius_range;

        base.Initialize(ep);
    }
Beispiel #3
0
 public Enemy(EnemyPreset preset, Tile tile)
 {
     Tile          = tile;
     Preset        = preset;
     IsActive      = Preset.InitialActivity;
     MoveIntention = null;
 }
Beispiel #4
0
        public IEnumerator CreateSpawner(EnemyPreset preset, TileHolder tile, YieldInstruction wait = null)
        {
            var spawner = new EnemySpawner(preset, tile.Tile);
            var obj     = Instantiate(spawnerPrefab);

            obj.SetVisual(preset.SpawnerVisualPrefab);
            obj.Init(spawner, tile);
            _currentSpawners.Add(obj);
            yield return(wait);
        }
Beispiel #5
0
        private IEnumerator CreateEnemy(EnemyPreset preset, TileHolder tile, WaitForSeconds wait)
        {
            var enemy = new Enemy(preset, tile.Tile);
            var obj   = Instantiate(enemyPrefab);

            obj.SetVisual(preset.VisualPrefab);
            obj.Init(enemy, tile);
            _currentEnemies.Add(obj);
            yield return(wait);
        }
Beispiel #6
0
        public static void UseSkill(int skillNumber, EnemyPreset enemy)
        {
            if (learnedSkills[skillNumber].skillType == SkillPreset.SkillType.Magiczny)
            {
                currentMana -= learnedSkills[skillNumber].cost;
            }
            else if (learnedSkills[skillNumber].skillType == SkillPreset.SkillType.Fizyczny)
            {
                currentStamina -= learnedSkills[skillNumber].cost;
            }

            enemy.currentHP -= learnedSkills[skillNumber].damage;
        }
Beispiel #7
0
    public virtual void Initialize(EnemyPreset ep)
    {
        hp_max       = ep.hp;
        attack       = ep.attack;
        attack_delay = ep.attack_delay;
        attack_range = ep.attack_range;

        pursuit_delay = ep.pursuit_delay;

        transform.localScale = Vector3.one * ep.scale_range;

        speed = ep.move_speed;

        Initialize();
    }
Beispiel #8
0
    public override void Initialize(EnemyPreset ep)
    {
        angle_range = ep.angle_range;
        Debug.Log(ep.radius_range.ToString());
        radius_range = ep.radius_range;

        move_shoot_delay = ep.move_shoot_delay;

        projectile_type  = ep.bullet_type;
        projectile_delay = ep.bullet_delay;

        spread = ep.bullet_spread;

        projectile_number = ep.bullets_number;

        base.Initialize(ep);
    }
Beispiel #9
0
        public void SetKind(GameController.SpawnKind kind, EnemyColorKind colorKind)
        {
            Preset    = GameController.Instance.Presets.Find(p => p.Kind == kind);
            ColorKind = colorKind;
            SpawnKind = kind;
            Hp        = Preset.Hp;

            if (RedEffect != null)
            {
                RedEffect.SetActive(false);
                GreenEffect.SetActive(false);
                BlueEffect.SetActive(false);
            }

            switch (colorKind)
            {
            case EnemyColorKind.Red:
                if (RedEffect)
                {
                    RedEffect.SetActive(true);
                }
                SetColor(RedTexture);
                break;

            case EnemyColorKind.Green:
                if (RedEffect)
                {
                    GreenEffect.SetActive(true);
                }
                SetColor(GreenTexture);
                break;

            case EnemyColorKind.Blue:
                if (RedEffect)
                {
                    BlueEffect.SetActive(true);
                }
                SetColor(BlueTexture);
                break;
            }
        }
Beispiel #10
0
 public NPCStats(EnemyPreset enemyPreset)
 {
     MaxHealthPoint = enemyPreset.HealthPoint;
     HealthPoint    = enemyPreset.HealthPoint;
     Initiative     = enemyPreset.Initiative;
 }
        public void Fight(EnemyPreset enemy, int enemyPosX, int enemyPosY)
        {
            while (enemy.currentHP > 0 && Player.currentHP >= 0)
            {
                Clear();
                SetCursorPosition(0, 0);
                WriteLine("Walczysz z {0}", enemy.name);
                WriteLine("HP: {0}/{1}", enemy.currentHP, enemy.maxHP);
                WriteLine("Siła: {0}", enemy.strength);
                WriteLine("Moc: {0}", enemy.power);

                Player.ShowStats(0, 29, false);

                if (turnNumber % 2 == 1)
                {
                    SetWindowPosition(0, 0);
                    dealtDmg = Player.GetDamage(enemy.strength);
                    SetCursorPosition(0, 15);
                    Write("{0} otrzymał {1} obrażeń!", Player.name, dealtDmg);

                    turnNumber++;
                    Thread.Sleep(1200);
                }
                else if (turnNumber % 2 == 0)
                {
                    SetCursorPosition(0, 20);
                    WriteLine("Wybierz atak:");
                    WriteLine("1] Atak podstawowy   2W");
                    WriteLine("2] {0}   {1}{2}", Player.learnedSkills[1].skillName, Player.learnedSkills[1].cost, Player.learnedSkills[1].skillCostCharacter);
                    WriteLine("3] {0}   {1}{2}", Player.learnedSkills[2].skillName, Player.learnedSkills[2].cost, Player.learnedSkills[2].skillCostCharacter);
                    WriteLine("4] {0}   {1}{2}", Player.learnedSkills[3].skillName, Player.learnedSkills[3].cost, Player.learnedSkills[3].skillCostCharacter);
                    SetWindowPosition(0, 0);
                    bool choiceMade = false;

                    while (choiceMade == false)
                    {
                        GameLoop.ClearKeyBuffer();
                        var choice = ReadKey(true).Key;
                        switch (choice)
                        {
                        case ConsoleKey.D1:
                            break;

                        case ConsoleKey.D2:
                            Player.learnedSkills[1].SpecialEffect();
                            Player.UseSkill(1, enemy);
                            dealtDmg   = Player.learnedSkills[1].damage;
                            choiceMade = true;
                            break;

                        case ConsoleKey.D3:
                            Player.learnedSkills[2].SpecialEffect();
                            Player.UseSkill(2, enemy);
                            dealtDmg   = Player.learnedSkills[2].damage;
                            choiceMade = true;
                            break;

                        case ConsoleKey.D4:
                            Player.learnedSkills[3].SpecialEffect();
                            Player.UseSkill(3, enemy);
                            dealtDmg   = Player.learnedSkills[3].damage;
                            choiceMade = true;
                            break;

                        default:
                            break;
                        }
                    }
                    SetCursorPosition(0, 15);
                    Write("{0} otrzymał {1} obrażeń!", enemy.name, dealtDmg);

                    turnNumber++;
                    Thread.Sleep(1200);
                }
            }
            if (enemy.currentHP <= 0)
            {
                Player.currentXP += enemy.XP;
                Clear();
                WriteLine("Pokonałeś {0}!", enemy.name); WriteLine();
                WriteLine("Zdobyte doświadczenie: {0}XP", enemy.XP); WriteLine();
                Player.CheckXP(true); WriteLine();
                WriteLine("Twoje aktualne doświadczenie: {0}XP/{1}XP", Player.currentXP, Player.nextLvlXP);


                ReadKey();
                MapGenerator.mapCharacters[enemyPosX, enemyPosY]     = " ";
                MapGenerator.mapCharacters[Player.xPos, Player.yPos] = " ";
                Player.xPos = enemyPosX;
                Player.yPos = enemyPosY;
                MapGenerator.mapCharacters[Player.xPos, Player.yPos] = Player.characterSign;
            }
        }
Beispiel #12
0
 public EnemySpawner(EnemyPreset preset, Tile tile)
 {
     Preset = preset;
     Tile   = tile;
 }