summaryrefslogtreecommitdiff
path: root/GameCode/Explosion_Overpower.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2023-10-27 11:05:14 +0800
committerchai <215380520@qq.com>2023-10-27 11:05:14 +0800
commit766cdff5ffa72b65d7f106658d1603f47739b2ba (patch)
tree34d7799a94dfa9be182825577583c0fa6dc935f7 /GameCode/Explosion_Overpower.cs
+ init
Diffstat (limited to 'GameCode/Explosion_Overpower.cs')
-rw-r--r--GameCode/Explosion_Overpower.cs23
1 files changed, 23 insertions, 0 deletions
diff --git a/GameCode/Explosion_Overpower.cs b/GameCode/Explosion_Overpower.cs
new file mode 100644
index 0000000..13a98ac
--- /dev/null
+++ b/GameCode/Explosion_Overpower.cs
@@ -0,0 +1,23 @@
+using System;
+using UnityEngine;
+
+public class Explosion_Overpower : MonoBehaviour
+{
+ public float dmgPer100Hp;
+
+ private void Awake()
+ {
+ Explosion component = GetComponent<Explosion>();
+ component.hitPlayerAction = (Action<CharacterData, float>)Delegate.Combine(component.hitPlayerAction, new Action<CharacterData, float>(HitPlayer));
+ }
+
+ private void HitPlayer(CharacterData data, float rangeMultiplier)
+ {
+ SpawnedAttack component = GetComponent<SpawnedAttack>();
+ if (component.IsMine())
+ {
+ float num = component.spawner.data.maxHealth * dmgPer100Hp * 0.01f * base.transform.localScale.x;
+ data.healthHandler.CallTakeDamage(num * (data.transform.position - component.spawner.transform.position).normalized, base.transform.position, null, GetComponent<SpawnedAttack>().spawner);
+ }
+ }
+}