private void ActiveHeal() { HealHP Heal = new HealHP(OC.MaxHealth * (Heal_MaxHP_Percentage / 100), false, OC, typeof(StandingStill)); OC.ON_HEALTH_GAIN += OC.HealHP; OC.ON_HEALTH_GAIN(Heal); OC.ON_HEALTH_GAIN -= OC.HealHP; AudioSource.PlayClipAtPoint(SFX, transform.position, GameManager.SFX_Volume); }
// Use this for initialization void Start() { HealHP.SetActive(false); sound = this.gameObject.GetComponent <AudioSource> (); //3DTextの初期化 textMesh = transform.FindChild("PlayerLevel").GetComponent <TextMesh> (); textMesh.text = HP + ""; }
void OnTriggerEnter(Collider col) { if (col.tag == "HPBall") { HP += 10; textMesh.text = HP + ""; HealHP.SetActive(false); HealHP.SetActive(true); col.gameObject.SetActive(false); sound.Play(); } }
//Combat public void HealHP(HealHP heal_hp) { if (GetCurrStats(STATSTYPE.HEALTH) < GetMaxStats(STATSTYPE.HEALTH) && GetCurrStats(STATSTYPE.HEALTH) + heal_hp.Amount <= GetMaxStats(STATSTYPE.HEALTH)) { AddCurrStats(STATSTYPE.HEALTH, heal_hp.Amount); IC.PopUpText(heal_hp); } else if (GetCurrStats(STATSTYPE.HEALTH) < GetMaxStats(STATSTYPE.HEALTH) && GetCurrStats(STATSTYPE.HEALTH) + heal_hp.Amount > GetMaxStats(STATSTYPE.HEALTH)) { heal_hp.Amount = GetMaxStats(STATSTYPE.HEALTH) - GetCurrStats(STATSTYPE.HEALTH); AddCurrStats(STATSTYPE.HEALTH, heal_hp.Amount); IC.PopUpText(heal_hp); } }
private void Heal() { float RawHeal = HealAmount; bool Crit = false; if (applyer != null && UnityEngine.Random.value < (applyer.GetCurrStats(STATSTYPE.CRIT_CHANCE) / 100)) { RawHeal = RawHeal * (applyer.GetCurrStats(STATSTYPE.CRIT_DMG) / 100); } HealHP Heal = new HealHP(RawHeal, Crit, applyer, typeof(HealingBuff)); target.ON_HEALTH_GAIN += target.HealHP; target.ON_HEALTH_GAIN(Heal); target.ON_HEALTH_GAIN -= target.HealHP; AudioSource.PlayClipAtPoint(SFX, transform.position, GameManager.SFX_Volume); }