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); }
public Enemy(EnemyPreset preset, Tile tile) { Tile = tile; Preset = preset; IsActive = Preset.InitialActivity; MoveIntention = null; }
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); }
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); }
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; }
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(); }
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); }
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; } }
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; } }
public EnemySpawner(EnemyPreset preset, Tile tile) { Preset = preset; Tile = tile; }