summaryrefslogtreecommitdiff
path: root/Valheim_r202102_v0.141.2/Valheim/assembly_valheim/StatusEffect.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Valheim_r202102_v0.141.2/Valheim/assembly_valheim/StatusEffect.cs')
-rw-r--r--Valheim_r202102_v0.141.2/Valheim/assembly_valheim/StatusEffect.cs268
1 files changed, 0 insertions, 268 deletions
diff --git a/Valheim_r202102_v0.141.2/Valheim/assembly_valheim/StatusEffect.cs b/Valheim_r202102_v0.141.2/Valheim/assembly_valheim/StatusEffect.cs
deleted file mode 100644
index 40ba74b..0000000
--- a/Valheim_r202102_v0.141.2/Valheim/assembly_valheim/StatusEffect.cs
+++ /dev/null
@@ -1,268 +0,0 @@
-using System;
-using UnityEngine;
-
-public class StatusEffect : ScriptableObject
-{
- public enum StatusAttribute
- {
- None = 0,
- ColdResistance = 1,
- DoubleImpactDamage = 2,
- SailingPower = 4
- }
-
- [Header("__Common__")]
- public string m_name = "";
-
- public string m_category = "";
-
- public Sprite m_icon;
-
- public bool m_flashIcon;
-
- public bool m_cooldownIcon;
-
- [TextArea]
- public string m_tooltip = "";
-
- [BitMask(typeof(StatusAttribute))]
- public StatusAttribute m_attributes;
-
- public MessageHud.MessageType m_startMessageType = MessageHud.MessageType.TopLeft;
-
- public string m_startMessage = "";
-
- public MessageHud.MessageType m_stopMessageType = MessageHud.MessageType.TopLeft;
-
- public string m_stopMessage = "";
-
- public MessageHud.MessageType m_repeatMessageType = MessageHud.MessageType.TopLeft;
-
- public string m_repeatMessage = "";
-
- public float m_repeatInterval;
-
- public float m_ttl;
-
- public EffectList m_startEffects = new EffectList();
-
- public EffectList m_stopEffects = new EffectList();
-
- [Header("__Guardian power__")]
- public float m_cooldown;
-
- public string m_activationAnimation = "gpower";
-
- [NonSerialized]
- public bool m_isNew = true;
-
- private float m_msgTimer;
-
- protected Character m_character;
-
- protected float m_time;
-
- protected GameObject[] m_startEffectInstances;
-
- public StatusEffect Clone()
- {
- return MemberwiseClone() as StatusEffect;
- }
-
- public virtual bool CanAdd(Character character)
- {
- return true;
- }
-
- public virtual void Setup(Character character)
- {
- m_character = character;
- if (!string.IsNullOrEmpty(m_startMessage))
- {
- m_character.Message(m_startMessageType, m_startMessage);
- }
- TriggerStartEffects();
- }
-
- public virtual void SetAttacker(Character attacker)
- {
- }
-
- public virtual string GetTooltipString()
- {
- return m_tooltip;
- }
-
- private void OnApplicationQuit()
- {
- m_startEffectInstances = null;
- }
-
- public virtual void OnDestroy()
- {
- RemoveStartEffects();
- }
-
- protected void TriggerStartEffects()
- {
- RemoveStartEffects();
- float radius = m_character.GetRadius();
- m_startEffectInstances = m_startEffects.Create(m_character.GetCenterPoint(), m_character.transform.rotation, m_character.transform, radius * 2f);
- }
-
- private void RemoveStartEffects()
- {
- if (m_startEffectInstances == null || !(ZNetScene.instance != null))
- {
- return;
- }
- GameObject[] startEffectInstances = m_startEffectInstances;
- foreach (GameObject gameObject in startEffectInstances)
- {
- if ((bool)gameObject)
- {
- ZNetView component = gameObject.GetComponent<ZNetView>();
- if (component.IsValid())
- {
- component.ClaimOwnership();
- component.Destroy();
- }
- }
- }
- m_startEffectInstances = null;
- }
-
- public virtual void Stop()
- {
- RemoveStartEffects();
- m_stopEffects.Create(m_character.transform.position, m_character.transform.rotation);
- if (!string.IsNullOrEmpty(m_stopMessage))
- {
- m_character.Message(m_stopMessageType, m_stopMessage);
- }
- }
-
- public virtual void UpdateStatusEffect(float dt)
- {
- m_time += dt;
- if (m_repeatInterval > 0f && !string.IsNullOrEmpty(m_repeatMessage))
- {
- m_msgTimer += dt;
- if (m_msgTimer > m_repeatInterval)
- {
- m_msgTimer = 0f;
- m_character.Message(m_repeatMessageType, m_repeatMessage);
- }
- }
- }
-
- public virtual bool IsDone()
- {
- if (m_ttl > 0f && m_time > m_ttl)
- {
- return true;
- }
- return false;
- }
-
- public virtual void ResetTime()
- {
- m_time = 0f;
- }
-
- public float GetDuration()
- {
- return m_time;
- }
-
- public float GetRemaningTime()
- {
- return m_ttl - m_time;
- }
-
- public virtual string GetIconText()
- {
- if (m_ttl > 0f)
- {
- return GetTimeString(m_ttl - GetDuration());
- }
- return "";
- }
-
- public static string GetTimeString(float time, bool sufix = false, bool alwaysShowMinutes = false)
- {
- if (time > 0f)
- {
- int num = Mathf.CeilToInt(time);
- int num2 = (int)((float)num / 60f);
- int num3 = Mathf.Max(0, num - num2 * 60);
- if (sufix)
- {
- if (num2 > 0 || alwaysShowMinutes)
- {
- return num2 + "m:" + num3.ToString("00") + "s";
- }
- return num3 + "s";
- }
- if (num2 > 0 || alwaysShowMinutes)
- {
- return num2 + ":" + num3.ToString("00");
- }
- return num3.ToString();
- }
- return "";
- }
-
- public virtual void ModifyAttack(Skills.SkillType skill, ref HitData hitData)
- {
- }
-
- public virtual void ModifyHealthRegen(ref float regenMultiplier)
- {
- }
-
- public virtual void ModifyStaminaRegen(ref float staminaRegen)
- {
- }
-
- public virtual void ModifyDamageMods(ref HitData.DamageModifiers modifiers)
- {
- }
-
- public virtual void ModifyRaiseSkill(Skills.SkillType skill, ref float value)
- {
- }
-
- public virtual void ModifySpeed(ref float speed)
- {
- }
-
- public virtual void ModifyNoise(float baseNoise, ref float noise)
- {
- }
-
- public virtual void ModifyStealth(float baseStealth, ref float stealth)
- {
- }
-
- public virtual void ModifyMaxCarryWeight(float baseLimit, ref float limit)
- {
- }
-
- public virtual void ModifyRunStaminaDrain(float baseDrain, ref float drain)
- {
- }
-
- public virtual void ModifyJumpStaminaUsage(float baseStaminaUse, ref float staminaUse)
- {
- }
-
- public virtual void OnDamaged(HitData hit, Character attacker)
- {
- }
-
- public bool HaveAttribute(StatusAttribute value)
- {
- return (m_attributes & value) != 0;
- }
-}