public override void Execute(Vector3 hit_point) { if (!isBuffed) { enemy.HealHP(2); var enemyAnim = enemy.GetComponent <G20_EnemyAnimation>(); var lastAnim = enemyAnim.lastAnim; StartCoroutine(BuffEffectActivateCoroutine()); enemyAnim.PlayAnimation(G20_AnimType.PowerUp, null, () => { if (!enemy || enemy.HP <= 0) { return; } enemy.AddBuff(new G20_SpeedBuff(enemy, 100f, 0.5f)); enemyAnim.PlayAnimation(lastAnim); }); } isBuffed = true; }
private void BattleSetUP() { Destroy(stageBoss.GetComponent <G20_HitReactionVoice>()); Destroy(stageBoss.GetComponent <G20_HitCounterApple>()); G20_SEManager.GetInstance().Play(G20_SEType.BARRIER_EXTINCTION, stageBoss.transform.position); breakProtectEffect.Play(); stageBoss.recvDamageActions += (a, b) => StartCoroutine(NextGesslerMove()); stageBoss.recvDamageActions += (a, b) => HitGesslerHirumi(); stageBoss.recvDamageActions += (a, b) => { PlayDamageVoice(); }; stageBoss.recvDamageActions += (a, b) => { damageEffect.Play(true); }; stageBoss.deathActions += (a, b) => player.GetComponent <G20_Player>().IsInvincible = true; }