protected override void OnTick() { if (DateTime.Now >= m_Expire) { ResearchRockFlesh.RemoveEffect(m_m); Stop(); } }
public override void OnCast() { if (!Caster.CanBeginAction(typeof(ResearchRockFlesh))) { ResearchRockFlesh.RemoveEffect(Caster); } ResistanceMod[] mods = (ResistanceMod[])TableStoneFlesh[Caster]; mods = new ResistanceMod[1] { new ResistanceMod(ResistanceType.Physical, 90) }; TableStoneFlesh[Caster] = mods; for (int i = 0; i < mods.Length; ++i) { Caster.AddResistanceMod(mods[i]); } double TotalTime = DamagingSkill(Caster) * 4; new InternalTimer(Caster, TimeSpan.FromSeconds(TotalTime)).Start(); Caster.BodyMod = 14; Caster.HueMod = 0xB31; Mobiles.IMount mt = Caster.Mount; if (mt != null) { Server.Mobiles.EtherealMount.EthyDismount(Caster, true); mt.Rider = null; } Caster.SendMessage("Your flesh turns to stone."); Server.Misc.Research.ConsumeScroll(Caster, true, spellID, false); KarmaMod(Caster, ((int)RequiredSkill + RequiredMana)); Point3D hands = new Point3D((Caster.X + 1), (Caster.Y + 1), (Caster.Z + 8)); Effects.SendLocationParticles(EffectItem.Create(hands, Caster.Map, EffectItem.DefaultDuration), 0x3837, 9, 32, Server.Items.CharacterDatabase.GetMySpellHue(Caster, 0xB7F), 0, 5022, 0); Caster.PlaySound(0x65A); FinishSequence(); }