Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using static CGameFactory;
- public class CModifier_Seism : CModifier
- {
- private int damage, damage_interval;
- public sealed override void OnCreated()
- {
- #if SERVER
- Vector3 pos = ((CAres_Seism) GetAbility()).GetSeismPos();
- GetParent().Stop();
- GetParent().ForceMoveTo(pos, 0.75f, GetDuration());
- ABILITY_RETRIEVE_INT_VALUE(this, ref damage, "damage");
- ABILITY_RETRIEVE_INT_VALUE(this, ref damage_interval, "damage_interval");
- StartIntervalThink(1f);
- OnIntervalThink();
- #endif
- }
- protected override void OnExpire() //// On modifier expired on server and client!! Both-sided!!
- {
- #if SERVER
- ApplyDamage(new SDamageInfo()
- {
- attacker = GetCaster(),
- damage = damage,
- ability = GetAbility(),
- eDamageType = EDamageType.DAMAGE_TYPE_MAGICAL,
- victim = GetParent(),
- damage_flags = (int)EDamageFlag.DAMAGE_FLAG_NONE
- });
- #endif
- }
- public sealed override void OnIntervalThink()
- {
- #if SERVER
- ApplyDamage(new SDamageInfo()
- {
- attacker = GetCaster(),
- damage = damage,
- ability = GetAbility(),
- eDamageType = EDamageType.DAMAGE_TYPE_MAGICAL,
- victim = GetParent(),
- damage_flags = (int)EDamageFlag.DAMAGE_FLAG_NONE
- });
- #endif
- }
- public override bool IsDebuff()
- {
- return true;
- }
- public sealed override bool IsAuraModifier()
- {
- return true;
- }
- public override bool IsHidden()
- {
- return true;
- }
- public override string GetModifierLabel()
- {
- return "modifier_ares_seism"; //test
- }
- public override Dictionary<EModifiersStates, bool> CheckState()
- {
- return new Dictionary<EModifiersStates, bool>()
- {
- {EModifiersStates.MODIFIER_STATE_COMMAND_RESTRICTED, true}
- };
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement