コード例 #1
0
            private static int OnEffectApplied(void *pEffectListHandler, void *pObject, void *pEffect, int bLoadingGame)
            {
                CNWSObject  gameObject = CNWSObject.FromPointer(pObject);
                CGameEffect gameEffect = CGameEffect.FromPointer(pEffect);

                if (gameObject == null || gameEffect == null)
                {
                    return(Hook.CallOriginal(pEffectListHandler, pObject, pEffect, bLoadingGame));
                }

                EffectDurationType durationType = (EffectDurationType)gameEffect.GetDurationType();

                if (durationType != EffectDurationType.Temporary && durationType != EffectDurationType.Permanent)
                {
                    return(Hook.CallOriginal(pEffectListHandler, pObject, pEffect, bLoadingGame));
                }

                OnEffectApply eventData = ProcessEvent(new OnEffectApply
                {
                    Object = gameObject.ToNwObject() !,
                    Effect = gameEffect.ToEffect(false) !,
                });
コード例 #2
0
ファイル: Warlock.cs プロジェクト: TheOpenSorcerer/CypherCore
 public override void Register()
 {
     OnEffectApply.Add(new EffectApplyHandler(ApplyEffect, 0, AuraType.ObsModHealth, AuraEffectHandleModes.Real));
     OnEffectRemove.Add(new EffectApplyHandler(RemoveEffect, 0, AuraType.ObsModHealth, AuraEffectHandleModes.Real));
     OnEffectPeriodic.Add(new EffectPeriodicHandler(OnPeriodic, 0, AuraType.ObsModHealth));
 }
コード例 #3
0
ファイル: Warlock.cs プロジェクト: TheOpenSorcerer/CypherCore
 public override void Register()
 {
     OnEffectApply.Add(new EffectApplyHandler(HandleTeleport, 0, AuraType.MechanicImmunity, AuraEffectHandleModes.Real));
 }
コード例 #4
0
 public override void Register()
 {
     OnEffectApply.Add(new EffectApplyHandler(OnApply, 1, AuraType.Dummy, AuraEffectHandleModes.Real));
 }
コード例 #5
0
 public override void Register()
 {
     OnEffectApply.Add(new EffectApplyHandler(OnApply, 0, AuraType.ForceReaction, AuraEffectHandleModes.Real));
 }
コード例 #6
0
 public override void Register()
 {
     OnEffectApply.Add(new EffectApplyHandler(OnApply, 0, AuraType.ControlVehicle, AuraEffectHandleModes.Real));
     AfterEffectRemove.Add(new EffectApplyHandler(AfterRemove, 0, AuraType.ControlVehicle, AuraEffectHandleModes.Real));
 }
コード例 #7
0
 public override void Register()
 {
     OnEffectApply.Add(new EffectApplyHandler(HandleOnApply, 0, AuraType.Dummy, AuraEffectHandleModes.Real));
     OnEffectRemove.Add(new EffectApplyHandler(HandleOnRemove, 0, AuraType.Dummy, AuraEffectHandleModes.Real));
 }
コード例 #8
0
 public override void Register()
 {
     OnEffectApply.Add(new EffectApplyHandler(OnApply, 0, AuraType.OverrideActionbarSpells, AuraEffectHandleModes.Real));
     AfterEffectRemove.Add(new EffectApplyHandler(AfterRemove, 0, AuraType.OverrideActionbarSpells, AuraEffectHandleModes.Real));
 }
コード例 #9
0
 public override void Register()
 {
     OnEffectApply.Add(new EffectApplyHandler(OnApply, 2, AuraType.Linked, AuraEffectHandleModes.Real));
     OnEffectRemove.Add(new EffectApplyHandler(OnRemove, 2, AuraType.Linked, AuraEffectHandleModes.Real));
 }
コード例 #10
0
ファイル: Mage.cs プロジェクト: MaxtorCoder/CypherCore
 public override void Register()
 {
     OnEffectPeriodic.Add(new EffectPeriodicHandler(HandleEffectPeriodic, 0, AuraType.ProcTriggerSpell));
     OnEffectApply.Add(new EffectApplyHandler(Apply, 0, AuraType.ProcTriggerSpell, AuraEffectHandleModes.RealOrReapplyMask));
 }