// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2020-09-02 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** using UnityEngine; namespace G { partial class EntityPlayer { [Header("副将")] public int g_hp; public int g_atk; public Transform dummy_general; private AudioClip[] g_yell = new AudioClip[2]; private AudioClip[] g_skillyell = new AudioClip[2]; public bool isGeneral { get; private set; } private int general_kind; private int general_weapon; private int g_maxhp; private int g_def; private float g_atkspd; public void Set_General(short _weapon, short _kind, short _maxhp, short _maxatk, short _def, float _atkspd, short _unique, int _hp, short _voice) { general_weapon = _weapon; general_kind = _kind; g_maxhp = _maxhp; g_atk = _maxatk; g_def = _def; g_atkspd = _atkspd; g_hp = _hp; dummy_general.GetComponent().SetCostume(general_kind, general_weapon); if (general_kind == 1) { dummy_general.localScale = Vector3.one * 1.4f; } else if (general_kind == 3) { dummy_general.localScale = Vector3.one * 1.1f; } //if (accessory[3] > 0) //{ // g_atk = (short)(g_atk * 1.1f); //} g_yell[0] = Resources.Load("general_yell" + _voice + "a"); g_yell[1] = Resources.Load("general_yell" + _voice + "b"); g_skillyell[0] = Resources.Load("general_skillyell" + _voice + "a"); g_skillyell[1] = Resources.Load("general_skillyell" + _voice + "b"); } public void GeneralOnOff(bool _general, short dead) { if (dead == 0) { SpCharge(-10f); } isGeneral = _general; _changeCha = true; StopAnimation(); GameCamera.Instance.ZoomIn(3, 16, 0.5f); transform.localScale = Vector3.one; if (!isGeneral) { scriptSound.PlayYell(0); _specialKind = _specialKindOrigin; //script_cam.IconHideStop(false); scriptWeapon.GeneralWeaponOff(); //attack = attackOrigin; //hitrate = hitrateOrigin; //defence = defenceOrigin; _attackSpeed = _attackSpeedOrigin; if (moveState < MoveState.state10_Atk_T && moveState >= MoveState.state0_Idle) { PlayAnimation(Hash_Change_In); //PlayAnim("change_in"); } else { PlayAnimation("change_in_atk"); //temp_attack = PlayAnimQueued(ATK_1T, QueueMode.CompleteOthers); //temp_attack.speed = 0.24f; //temp_attack.layer = 1; ef_swing_ex1.localScale = Vector3.one * 2f; ef_swing_ex1.localRotation = Quaternion.Euler(0f, 0f, 180f); ef_swing_ex1.position = transform.position + Vector3.up * 0.055f; _scriptSwingEx1.SwingOn(0.6f, 2, 2, 20, 1, 120); scriptAttack.ResetStep(); } dummy_general.position = transform.position; dummy_general.rotation = transform.rotation; ChangeCharacter(_weaponKind); if (dead == 0) { dummy_general.GetComponent().ShowOut(); } else { dummy_general.GetComponent().Dead(); script_ui.GeneralDead(); _changeCha = false; moveState = 0; Invincibility(1f); } //GetComponent().ResetCostume(); } else { //scriptSound.PlaySound(g_yell[0]); _specialKind = -1; //script_cam.IconHideStop(true); isGeneral = true; maxHp = g_maxhp; //attack = g_atk; //hitrate = 100; //defence = g_def; _attackSpeed = g_atkspd; curHp = g_hp; if (dead == 0) { PlayAnimation(Hash_Change_Out); //PlayAnim("change_out"); } else { Died(); } if (moveState > MoveState.state10_Atk_T || moveState < MoveState.state0_Idle) { ef_swing_ex1.localScale = Vector3.one * 2f; ef_swing_ex1.localRotation = Quaternion.Euler(0f, 0f, 180f); ef_swing_ex1.position = transform.position + Vector3.up * 0.055f; _scriptSwingEx1.SwingOn(0.6f, 2, 2, 20, 1, 120); scriptAttack.ResetStep(); dummy_general.GetComponent().ShowIn_atk(); } else { dummy_general.GetComponent().ShowIn(); } dummy_general.position = transform.position; dummy_general.rotation = transform.rotation; ChangeCharacter(general_kind + 1); } //Weapon_Special(); moveState = MoveState.Generalstate100; UpdateHpBar(); } } }