summaryrefslogtreecommitdiff
path: root/Valheim_v0.141.2_r202102/Valheim/assembly_valheim/SE_Frost.cs
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);
	}
}