blob: e988a7d6145371127b37f1ea3fa4ccda2708aadf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
using UnityEngine;
public class SE_Frost : StatusEffect
{
[Header("SE_Frost")]
public float m_freezeTimeEnemy = 10f;
public float m_freezeTimePlayer = 10f;
public float m_minSpeedFactor = 0.1f;
public override void UpdateStatusEffect(float dt)
{
base.UpdateStatusEffect(dt);
}
public void AddDamage(float damage)
{
float num = (m_character.IsPlayer() ? m_freezeTimePlayer : m_freezeTimeEnemy);
float num2 = Mathf.Clamp01(damage / m_character.GetMaxHealth()) * num;
float num3 = m_ttl - m_time;
if (num2 > num3)
{
m_ttl = num2;
ResetTime();
TriggerStartEffects();
}
}
public override void ModifySpeed(ref float speed)
{
float f = Mathf.Clamp01(m_time / m_ttl);
f = Mathf.Pow(f, 2f);
speed *= Mathf.Clamp(f, m_minSpeedFactor, 1f);
}
}
|