From a22c505984697881f5f911a165ee022087b69e09 Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Mon, 20 May 2024 22:36:58 +0800 Subject: *rename --- Thronefall_v1.0/Decompile/HealBoostMA.cs | 55 ++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Thronefall_v1.0/Decompile/HealBoostMA.cs (limited to 'Thronefall_v1.0/Decompile/HealBoostMA.cs') diff --git a/Thronefall_v1.0/Decompile/HealBoostMA.cs b/Thronefall_v1.0/Decompile/HealBoostMA.cs new file mode 100644 index 0000000..48cdbbb --- /dev/null +++ b/Thronefall_v1.0/Decompile/HealBoostMA.cs @@ -0,0 +1,55 @@ +using UnityEngine; + +public class HealBoostMA : ManualAttack +{ + public float attackSpeedBoost = 20f; + + public ManualAttack manualAttackToBoost; + + public ParticleSystem boostParticles; + + public float attackSpeedDuration = 2f; + + public float timeToFillUpHealth = 3f; + + public float attackSpeedDurationWhenLowHealth = 4f; + + private float disableBoostIn; + + private float attackSpeedOriginal; + + public override void Start() + { + base.Start(); + } + + public override void Attack() + { + attackSpeedOriginal = manualAttackToBoost.cooldownTime; + manualAttackToBoost.cooldownTime /= attackSpeedBoost; + ParticleSystem.EmissionModule emission = boostParticles.emission; + emission.enabled = true; + disableBoostIn = attackSpeedDuration; + if (hpPlayer.HpPercentage <= 0.33f) + { + disableBoostIn = attackSpeedDurationWhenLowHealth; + } + } + + public override void Update() + { + base.Update(); + disableBoostIn -= Time.deltaTime; + if (disableBoostIn > 0f) + { + hpPlayer.Heal(hpPlayer.maxHp * Time.deltaTime / timeToFillUpHealth); + cooldown = cooldownTime; + } + if (disableBoostIn + Time.deltaTime > 0f && disableBoostIn <= Time.deltaTime) + { + manualAttackToBoost.cooldownTime = attackSpeedOriginal; + ParticleSystem.EmissionModule emission = boostParticles.emission; + emission.enabled = false; + } + } +} -- cgit v1.1-26-g67d0