/// <summary> /// When an applied effect starts, /// duration spells only /// </summary> /// <param name="effect"></param> public override void OnEffectStart(GameSpellEffect effect) { base.OnEffectStart(effect); effect.Owner.BuffBonusMultCategory1.Set((int)eProperty.MaxSpeed, effect, 1.0 - Spell.Value * 0.01); SendUpdates(effect.Owner); MessageToLiving(effect.Owner, Spell.Message1, eChatType.CT_Spell); Message.SystemToArea(effect.Owner, Util.MakeSentence(Spell.Message2, effect.Owner.GetName(0, true)), eChatType.CT_Spell, effect.Owner); RestoreSpeedTimer timer = new RestoreSpeedTimer(effect); effect.Owner.TempProperties.setProperty(effect, timer); timer.Interval = 650; timer.Start(1 + (effect.Duration >> 1)); effect.Owner.StartInterruptTimer(effect.Owner.SpellInterruptDuration, AttackData.eAttackType.Spell, Caster); }