diff options
Diffstat (limited to 'Thronefall_v1.0/Decompile/HealBoostMA.cs')
-rw-r--r-- | Thronefall_v1.0/Decompile/HealBoostMA.cs | 55 |
1 files changed, 55 insertions, 0 deletions
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; + } + } +} |