// ---------------------------------------------------------------------------------------------------------- // !!!!!!!!!!!!!!! EFFECTS !!!!!!!!!!!!!!!!! // ---------------------------------------------------------------------------------------------------------- static void Attack_player(float power) { Magic_wheel_behavior magic = GameObject.Find("Magic_wheel").GetComponent <Magic_wheel_behavior>(); Saika_behaviour saika = GameObject.Find("Saika").GetComponent <Saika_behaviour>(); float _damage = power; magic.shield_value_3 -= _damage; if (magic.shield_value_3 < 0) { magic.shield_value_3 = 0; } _damage -= magic.shield_value_3; if (_damage < 0) { _damage = 0; } magic.shield_value_2 -= _damage; if (magic.shield_value_2 < 0) { magic.shield_value_2 = 0; } _damage -= magic.shield_value_2; if (_damage < 0) { _damage = 0; } magic.shield_value_1 -= _damage; if (magic.shield_value_1 < 0) { magic.break_magic(); magic.shield_value_1 = 0; } _damage -= magic.shield_value_1; if (_damage < 0) { _damage = 0; } if (_damage > 0) { saika.HP -= _damage; } Debug.Log("Hit " + _damage); }
void Update() { // CHARGE SYSTEM ATB += Time.deltaTime; if (ATB >= ATB_max) { Enemy_IA.LaunchSkill(charging_skill, this); ATB = 0; string _next_move = Enemy_IA.Next_Move(this); charging_skill = _next_move; float _next_move_duration = Enemy_IA.Next_Move_duration(_next_move); ATB_max = _next_move_duration; skill_shield = Enemy_IA.Next_Move_shield(_next_move); } //UPDATE VISUAL ATB_gauge.GetComponent <RectTransform>().sizeDelta = new Vector2(120 * ATB / ATB_max, 15); if (ATB >= ATB_max) { ATB_gauge.GetComponent <RectTransform>().sizeDelta = new Vector2(120, 15); } HP_gauge.GetComponent <RectTransform>().sizeDelta = new Vector2(120 * HP / HP_max, 20); if (HP >= HP_max) { HP_gauge.GetComponent <RectTransform>().sizeDelta = new Vector2(120, 20); } if (Target_index == GameObject.Find("Magic_wheel").GetComponent <Magic_wheel_behavior>().target_index) { target_indicator.SetActive(true); } else { target_indicator.SetActive(false); } //DEATH if (this.HP <= 0) { Magic_wheel_behavior player_magic = GameObject.Find("Magic_wheel").GetComponent <Magic_wheel_behavior>(); int player_target = player_magic.target_index; if (player_target == Target_index) { if (player_target - 1 < 0) { player_magic.target_index = 0; } else { player_target -= 1; } player_magic.target_index = player_target; } enemy_system.List_target.RemoveAt(Target_index); enemy_system.AssignTargetIndex(); Destroy(Target_UI); Destroy(this.gameObject); } }