IEnumerator WideAttack() { SoundDelegate.instance.PlayEffectSound(SoundEffect.SFX9, transform.position); ClearRangeList(); for (int i = 0; i < targetList.Count; i++) { ObjectPoolManager.instance.PoolEffect(CardEffect.DARKSUN, targetList[i]); } if (TileUtils.AI_Find(targetList)) { PlayerControl.player.GetDamage(atk); } yield return(StartCoroutine(AnimationRoutine(2))); }
IEnumerator FireWall() { List <Arch.Tile> targets = GetFireWallRange(); if (TileUtils.AI_Find(targets)) { PlayerControl.player.GetDamage(atk); } for (int i = 0; i < targets.Count; i++) { ObjectPoolManager.instance.PoolEffect(EnemyEffect.FIREBREATH, targets[i]); } yield return(null); }
protected override void Think() { if (TileUtils.AI_Find(GetEnvironment())) { currentActionList = environmentAttack; } else if (TileUtils.AI_SquareFind(currentTile, 1)) { currentActionList = meeleAttack; } else { currentActionList = moveList; } }
IEnumerator AttackThenRangeOffAction() { List <Arch.Tile> tiles = TileUtils.SquareRange(currentTile, 1); for (int i = 0; i < tiles.Count; i++) { ObjectPoolManager.instance.PoolEffect(EnemyEffect.ELECTRICG, tiles[i]); } if (TileUtils.AI_Find(tiles)) { PlayerControl.player.GetDamage(atk); } SoundDelegate.instance.PlayEffectSound(SoundEffect.SFX3, transform.position); enemyUI.ActionImageOff(); yield return(StartCoroutine(AnimationRoutine(0))); }
IEnumerator SelfDestruct() { List <Arch.Tile> tiles = TileUtils.EmptySquareRange(currentTile, 2); for (int i = 0; i < tiles.Count; i++) { ObjectPoolManager.instance.PoolEffect(EnemyEffect.EXPLOSIONB, tiles[i]); } if (TileUtils.AI_Find(tiles)) { PlayerControl.player.GetDamage(atk); } SoundDelegate.instance.PlayEffectSound(SoundEffect.SFX4, transform.position); yield return(StartCoroutine(AnimationRoutine(0))); }
IEnumerator Attack() { SoundDelegate.instance.PlayEffectSound(SoundEffect.ATTACK, transform.position); ClearRangeList(); List <Arch.Tile> targets = TileUtils.CrossRange(currentTile, 4); for (int i = 0; i < targets.Count; i++) { ObjectPoolManager.instance.PoolEffect(EnemyEffect.ENEMYEXPLOSIONC, targets[i]); } if (TileUtils.AI_Find(targets)) { PlayerControl.player.GetDamage(atk); } yield return(StartCoroutine(AnimationRoutine(0))); }
IEnumerator Attack() { SoundDelegate.instance.PlayEffectSound(SoundEffect.SFX9, transform.position); List <Tile> tiles = TileUtils.CrossRange(currentTile, 2); for (int i = 0; i < tiles.Count; i++) { ObjectPoolManager.instance.PoolEffect(CardEffect.DARKSUN, tiles[i]); } if (TileUtils.AI_Find(tiles)) { PlayerControl.player.GetDamage(atk); } ClearRangeList(); yield return(StartCoroutine(AnimationRoutine(0))); }
IEnumerator EnvironAttack() { enemyUI.ActionImageOff(); SoundDelegate.instance.PlayEffectSound(SoundEffect.SFX5, transform.position); ClearRangeList(); for (int i = 0; i < environ.Count; i++) { ObjectPoolManager.instance.PoolEffect(EnemyEffect.SPACE, environ[i]); } if (TileUtils.AI_Find(environ)) { PlayerControl.player.GetDamage(atk); } yield return(StartCoroutine(AnimationRoutine(0))); }
IEnumerator BlowAway() { ClearRangeList(); List <Arch.Tile> targets = GetBlowAwayRange(); SoundDelegate.instance.PlayEffectSound(SoundEffect.SFX4, transform.position); for (int i = 0; i < targets.Count; i++) { ObjectPoolManager.instance.PoolEffect(EnemyEffect.EXPLOSIONB, targets[i]); } if (TileUtils.AI_Find(targets)) { PlayerControl.player.GetDamage(atk); } while (!PlayerControl.player.Teleport((new Vector2Int(Random.Range(2, 4), Random.Range(1, 6))))) { } yield return(StartCoroutine(AnimationRoutine(0))); }
IEnumerator Attack() { if (isSecond) { enemyUI.ActionImageOff(); } SoundDelegate.instance.PlayEffectSound(SoundEffect.SFX5, transform.position); List <Arch.Tile> tiles = TileUtils.EmptySquareRange(currentTile, 2); for (int i = 0; i < tiles.Count; i++) { ObjectPoolManager.instance.PoolEffect(EnemyEffect.FIREBREATH, tiles[i]); } if (TileUtils.AI_Find(tiles)) { PlayerControl.player.GetDamage(atk); } isSecond = true; yield return(StartCoroutine(AnimationRoutine(0))); }