public virtual void Update() { beAttackTime += Time.deltaTime; if (hitByTransform == null) { enumAttack = EnumAttack.count; } //當受擊狀態結束後 if (beAttackTime > recoverTime && navMeshAgent != null) { //停止被打飛 rigidbody.velocity = Vector3.zero; navMeshAgent.enabled = true; } if (beAttackMin > 0) { GetHit(1 + characterBase.charaterStats[(int)CharacterStats.INT] + skillBase.poisonSkillLevel * 20); } }
public virtual void OnTriggerStay(Collider other) { if (Hp > 0) { if (other.CompareTag("Poison")) { getHitEffect[0] = getHitEffect[4]; beAttackMin = beAttackMax;//最大被打的次數 hitByTransform = other.transform; if (beAttackTime > attackTime) { GetHit(1 + characterBase.charaterStats[(int)CharacterStats.INT] + skillBase.poisonSkillLevel * 20); //怪物被受擊的間隔時間歸零 beAttackTime = 0; } } if (other.CompareTag("WindAttack")) { getHitEffect[0] = getHitEffect[3]; if (beAttackTime > attackTime) { GetHit(2 + characterBase.charaterStats[(int)CharacterStats.INT] + skillBase.windSkillLevel * 20); //怪物被受擊的間隔時間歸零 beAttackTime = 0; } enumAttack = EnumAttack.wind; } if (other.CompareTag("Firetornado")) { getHitEffect[0] = getHitEffect[2]; if (beAttackTime > attackTime) { GetHit(5 + characterBase.charaterStats[(int)CharacterStats.INT] + characterBase.charaterStats[(int)CharacterStats.SPR] * 2 + skillBase.windSkillLevel * 20); //怪物被受擊的間隔時間歸零 beAttackTime = 0; } enumAttack = EnumAttack.fireTornado; } } }