/////////////////////////////////////////////////////////////////////////// public override bool OnDragDrop(Mobile from, Item o) { if (o is Key && ((Key)o).KeyValue != 0 && ((Key)o).Link is BaseBoat) { BaseBoat boat = ((Key)o).Link as BaseBoat; Container pack = from.Backpack; if (!boat.Deleted && boat.CheckKey(((Key)o).KeyValue)) { if (pack.ConsumeTotal(typeof(Gold), 1000)) { ReturnToBoat(boat.GetMarkedLocation(), boat.Map, from); from.SendMessage(String.Format("You pay 1,000 gold.")); } else { this.SayTo(from, "It would cost you 1,000 gold to be returned to your ship."); from.SendMessage("You do not have enough gold."); } } else { this.SayTo(from, "There is nothing I can do with that."); } } return(base.OnDragDrop(from, o)); }
protected override void OnTarget(Mobile from, object o) { if (o is RecallRune) { RecallRune rune = (RecallRune)o; if (rune.Marked) { m_Owner.Effect(rune.Target, rune.TargetMap, true); } } else if (o is Runebook) { RunebookEntry e = ((Runebook)o).Default; if (e != null) { m_Owner.Effect(e.Location, e.Map, true); } } else if (o is Key && ((Key)o).KeyValue != 0 && ((Key)o).Link is BaseBoat) { BaseBoat boat = ((Key)o).Link as BaseBoat; if (!boat.Deleted && boat.CheckKey(((Key)o).KeyValue)) { m_Owner.Effect(boat.GetMarkedLocation(), boat.Map, false); } } else { } }
protected override void OnTarget( Mobile from, object o ) { if ( o is RecallRune ) { RecallRune rune = (RecallRune)o; if ( rune.Marked ) m_Owner.Effect( rune.Target, rune.TargetMap, true ); else from.SendLocalizedMessage( 501805 ); // That rune is not yet marked. } else if ( o is Runebook ) { RunebookEntry e = ((Runebook)o).Default; if ( e != null ) m_Owner.Effect( e.Location, e.Map, true ); else from.SendLocalizedMessage( 502354 ); // Target is not marked. } else if ( o is Key && ((Key)o).KeyValue != 0 && ((Key)o).Link is BaseBoat ) { BaseBoat boat = ((Key)o).Link as BaseBoat; if ( !boat.Deleted && boat.CheckKey( ((Key)o).KeyValue ) ) m_Owner.Effect( boat.GetMarkedLocation(), boat.Map, false ); else from.Send( new MessageLocalized( from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "" ) ); // I can not recall from that object. } else { from.Send( new MessageLocalized( from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "" ) ); // I can not recall from that object. } }
protected override void OnTarget(Mobile from, object o) { if (o is RecallRune) { RecallRune rune = (RecallRune)o; if (o is DarkKnightRune && !from.Client.Version.IsEnhanced) { from.SendLocalizedMessage(1079261); // This area requires the 'Kingdom Reborn' client. Please visit www.uo.com for more information. return; } // TODO (ML) if (o is DarkKnightRune) { return; } if (rune.Marked) { m_Owner.Effect(rune.Target, rune.TargetMap, true); } else { from.SendLocalizedMessage(501805); // That rune is not yet marked. } } else if (o is Runebook) { RunebookEntry e = ((Runebook)o).Default; if (e != null) { m_Owner.Effect(e.Location, e.Map, true); } else { from.SendLocalizedMessage(502354); // Target is not marked. } } else if (o is Key && ((Key)o).KeyValue != 0 && ((Key)o).Link is BaseBoat) { BaseBoat boat = ((Key)o).Link as BaseBoat; if (!boat.Deleted && boat.CheckKey(((Key)o).KeyValue)) { m_Owner.Effect(boat.GetMarkedLocation(), boat.Map, false); } else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } } else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } }
protected override void OnTarget(Mobile from, object o) { if (o is RecallRune) { RecallRune rune = (RecallRune)o; if (rune.Marked) { m_Owner.Effect(rune.Target, rune.TargetMap, true); } else { from.SendLocalizedMessage(501805); // That rune is not yet marked. } } else if (o is Runebook) { RunebookEntry e = ((Runebook)o).Default; if (e != null) { m_Owner.Effect(e.Location, e.Map, true); } else { from.SendLocalizedMessage(502354); // Target is not marked. } } else if (o is Key && ((Key)o).KeyValue != 0 && ((Key)o).Link is BaseBoat) { BaseBoat boat = ((Key)o).Link as BaseBoat; if (!boat.Deleted && boat.CheckKey(((Key)o).KeyValue)) { m_Owner.Effect(boat.GetMarkedLocation(), boat.Map, false); } else { from.LocalOverheadMessage(MessageType.Regular, 906, 502357); // I can not recall from that object. } } else if (o is HouseRaffleDeed && ((HouseRaffleDeed)o).ValidLocation()) { HouseRaffleDeed deed = (HouseRaffleDeed)o; m_Owner.Effect(deed.PlotLocation, deed.PlotFacet, true); } else { from.LocalOverheadMessage(MessageType.Regular, 906, 502357); // I can not recall from that object. } }
protected override void OnTarget(Mobile from, object o) { IEntity entity = o as IEntity; if (XmlScript.HasTrigger(entity, TriggerName.onTargeted) && UberScriptTriggers.Trigger(entity, from, TriggerName.onTargeted, null, null, m_Owner)) { return; } if (o is RecallRune) { RecallRune rune = (RecallRune)o; if (rune.Marked) { m_Owner.Effect(rune.Target, rune.TargetMap, true); } else { from.SendLocalizedMessage(501805); // That rune is not yet marked. } } else if (o is Runebook) { RunebookEntry e = ((Runebook)o).Default; if (e != null) { m_Owner.Effect(e.Location, e.Map, true); } else { from.SendLocalizedMessage(502354); // Target is not marked. } } else if (o is Key && ((Key)o).KeyValue != 0 && ((Key)o).Link is BaseBoat) { BaseBoat boat = ((Key)o).Link as BaseBoat; if (!boat.Deleted && boat.CheckKey(((Key)o).KeyValue)) { m_Owner.Effect(boat.GetMarkedLocation(), boat.Map, false); } else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } } else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } }
protected override void OnTarget(Mobile from, object o) { if (o is RecallRune) { RecallRune rune = (RecallRune)o; if (rune.Marked) { this.m_Owner.Effect(rune.Target, rune.TargetMap, true); } else { from.SendLocalizedMessage(501805); // That rune is not yet marked. } } else if (o is Key && ((Key)o).KeyValue != 0 && ((Key)o).Link is BaseBoat) { BaseBoat boat = ((Key)o).Link as BaseBoat; if (!boat.Deleted && boat.CheckKey(((Key)o).KeyValue)) { this.m_Owner.Effect(boat.GetMarkedLocation(), boat.Map, false); } else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } } else if (o is HouseRaffleDeed && ((HouseRaffleDeed)o).ValidLocation()) { HouseRaffleDeed deed = (HouseRaffleDeed)o; this.m_Owner.Effect(deed.PlotLocation, deed.PlotFacet, true); } else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } }
public void Target(object o) { if (o is RecallRune rune) { if (rune.Marked) { Effect(rune.Target, rune.TargetMap, true); } else { Caster.SendLocalizedMessage(501805); // That rune is not yet marked. } } else if (o is Runebook runebook) { RunebookEntry e = runebook.Default; if (e != null) { Effect(e.Location, e.Map, true); } else { Caster.SendLocalizedMessage(502354); // Target is not marked. } } else if (o is Key key && key.KeyValue != 0 && key.Link is BaseBoat) { BaseBoat boat = key.Link as BaseBoat; if (!boat.Deleted && boat.CheckKey(key.KeyValue)) { Effect(boat.GetMarkedLocation(), boat.Map, false); } else { Caster.Send(new MessageLocalized(Caster.Serial, Caster.Body, MessageType.Regular, 0x3B2, 3, 502357, Caster.Name, "")); // I can not recall from that object. } }
protected override void OnTarget(Mobile from, object o) { if (o is RecallRune) { RecallRune rune = (RecallRune)o; if (rune.Marked) { if (rune.Type == RecallRuneType.Ship) { m_Owner.Effect(rune.Galleon); } else { m_Owner.Effect(rune.Target, rune.TargetMap, true); } } else { from.SendLocalizedMessage(501805); // That rune is not yet marked. } } else if (o is Runebook) { RunebookEntry e = ((Runebook)o).Default; if (e != null) { if (e.Type == RecallRuneType.Ship) { m_Owner.Effect(e.Galleon); } else { m_Owner.Effect(e.Location, e.Map, true); } } else { from.SendLocalizedMessage(502354); // Target is not marked. } } else if (o is Key && ((Key)o).KeyValue != 0 && ((Key)o).Link is BaseBoat) { BaseBoat boat = ((Key)o).Link as BaseBoat; if (!boat.Deleted && boat.CheckKey(((Key)o).KeyValue)) { m_Owner.Effect(boat.GetMarkedLocation(), boat.Map, false, true); } else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } } else if (o is Engines.NewMagincia.WritOfLease) { Engines.NewMagincia.WritOfLease lease = (Engines.NewMagincia.WritOfLease)o; if (lease.RecallLoc != Point3D.Zero && lease.Facet != null && lease.Facet != Map.Internal) { m_Owner.Effect(lease.RecallLoc, lease.Facet, false); } else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } } else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } }
public override void OnCast() //xuo chro : probably foox up the runebook { Mobile from = Caster; if (Caster.Region is HouseRegion) { Caster.SendMessage("You cannot cast that spell here."); return; } if (SphereSpellTarget is RecallRune && Caster.InLOS(SphereSpellTarget)) { RecallRune rune = (RecallRune)SphereSpellTarget; if (rune.Marked) { if (rune.ChargesLeft == 0) { Caster.LocalOverheadMessage(MessageType.Regular, 906, true, "The recall rune's magic has faded"); DoFizzle(); return; } else if (rune.ChargesLeft <= 10 && rune.ChargesLeft >= 1) { Caster.LocalOverheadMessage(MessageType.Regular, 906, true, "The recall rune is starting to fade"); } Effect(rune.Target, rune.TargetMap, true); } else { Caster.SendLocalizedMessage(501805); // That rune is not yet marked. if (from is PlayerMobile) { ((PlayerMobile)from).SpellCheck(); } } } else if (SphereSpellTarget is Runebook) { RunebookEntry e = ((Runebook)SphereSpellTarget).Default; if (e != null) { Effect(e.Location, e.Map, true); } else { Caster.SendLocalizedMessage(502354); // Target is not marked. } } else if (SphereSpellTarget is Key && ((Key)SphereSpellTarget).KeyValue != 0 && ((Key)SphereSpellTarget).Link is BaseBoat) { BaseBoat boat = (BaseBoat)((Key)SphereSpellTarget).Link; if (!boat.Deleted && boat.CheckKey(((Key)SphereSpellTarget).KeyValue)) { Effect(boat.GetMarkedLocation(), boat.Map, false); } else { Caster.LocalOverheadMessage(MessageType.Regular, 906, 502357); // I can not recall from that object. } } else if (m_Entry != null) { /*if (m_Entry.ChargesLeft == 0) * { * from.LocalOverheadMessage(MessageType.Regular, 906, true, "The recall rune in your runebook has faded"); * DoFizzle(); * return; * } * else if (m_Entry.ChargesLeft <= 10 && m_Entry.ChargesLeft >= 1) * from.LocalOverheadMessage(MessageType.Regular, 906, true, "The recall rune in your runebook is starting to fade"); */ Effect(m_Entry.Location, m_Entry.Map, true); } else if (SphereSpellTarget is BaseWand) { BaseWand bw = SphereSpellTarget as BaseWand; bw.RechargeWand(Caster, this); }/* * else if (SphereSpellTarget is HouseRaffleDeed && ((HouseRaffleDeed)SphereSpellTarget).ValidLocation()) * { * HouseRaffleDeed deed = (HouseRaffleDeed)SphereSpellTarget; * * m_Owner.Effect(deed.PlotLocation, deed.PlotFacet, true); * }*/ else { if (!Caster.InLOS(SphereSpellTarget)) { Caster.LocalOverheadMessage(MessageType.Regular, 0x3B2, 501031); // I cannot see that object. } else { Caster.LocalOverheadMessage(MessageType.Regular, 906, 502357); // I can not recall from that object. } if (from is PlayerMobile) { ((PlayerMobile)from).SpellCheck(); } } }
protected override void OnTarget(Mobile from, object o) { if (o is RecallRune) { RecallRune rune = (RecallRune)o; if (rune.Marked) { m_Owner.Effect(rune.Target, rune.TargetMap, true); } else { from.SendLocalizedMessage(501805); // That rune is not yet marked. } } else if (o is Runebook) { RunebookEntry e = ((Runebook)o).Default; if (e != null) { m_Owner.Effect(e.Location, e.Map, true); } else { from.SendLocalizedMessage(502354); // Target is not marked. } } else if (o is Key && ((Key)o).KeyValue != 0 && ((Key)o).Link is BaseBoat) { BaseBoat boat = ((Key)o).Link as BaseBoat; if (!boat.Deleted && boat.CheckKey(((Key)o).KeyValue)) { m_Owner.Effect(boat.GetMarkedLocation(), boat.Map, false); } else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } } else if (o is HouseRaffleDeed && ((HouseRaffleDeed)o).ValidLocation()) { HouseRaffleDeed deed = (HouseRaffleDeed)o; m_Owner.Effect(deed.PlotLocation, deed.PlotFacet, true); } #region High Seas else if (o is ShipRune && ((ShipRune)o).Galleon != null) { BaseGalleon galleon = ((ShipRune)o).Galleon; if (!galleon.Deleted && galleon.Map != null && galleon.HasAccess(from)) { m_Owner.Effect(galleon.GetMarkedLocation(), galleon.Map, false, true); } else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } } #endregion #region New Magincia else if (o is Server.Engines.NewMagincia.WritOfLease) { Server.Engines.NewMagincia.WritOfLease lease = (Server.Engines.NewMagincia.WritOfLease)o; if (lease.RecallLoc != Point3D.Zero && lease.Facet != null && lease.Facet != Map.Internal) { m_Owner.Effect(lease.RecallLoc, lease.Facet, false); } else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } } #endregion else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } }
public override void OnCast() { RecallSpell m_Owner = this; Mobile from = Caster; if (SphereSpellTarget is RecallRune) { RecallRune rune = (RecallRune)SphereSpellTarget; if (Caster.InLOS(rune) || (from.BankBox != null && rune.IsChildOf(from.BankBox))) { if (rune.Marked) { if (rune.ChargesLeft == 0) { from.LocalOverheadMessage(MessageType.Regular, 906, true, "The recall rune's magic has faded"); DoFizzle(); return; } if (rune.ChargesLeft <= 10 && rune.ChargesLeft >= 1) { from.LocalOverheadMessage(MessageType.Regular, 906, true, "The recall rune is starting to fade"); } m_Owner.Effect(rune.Target, rune.TargetMap, true); } else { from.SendLocalizedMessage(501805); // That rune is not yet marked. if (from is PlayerMobile) { ((PlayerMobile)from).SpellCheck(); } } } else { Caster.LocalOverheadMessage(MessageType.Regular, 0x3B2, 501031); // I cannot see that object. if (from is PlayerMobile) { ((PlayerMobile)from).SpellCheck(); } } } else if (SphereSpellTarget is Runebook) { RunebookEntry e = ((Runebook)SphereSpellTarget).Default; if (e != null) { m_Owner.Effect(e.Location, e.Map, true); } else { from.SendLocalizedMessage(502354); // Target is not marked. } } else if (SphereSpellTarget is Key && ((Key)SphereSpellTarget).KeyValue != 0 && ((Key)SphereSpellTarget).Link is BaseBoat) { BaseBoat boat = ((Key)SphereSpellTarget).Link as BaseBoat; if (!boat.Deleted && boat.CheckKey(((Key)SphereSpellTarget).KeyValue)) { m_Owner.Effect(boat.GetMarkedLocation(), boat.Map, false); boat.Refresh(); } else { from.LocalOverheadMessage(MessageType.Regular, 906, 502357); // I can not recall from that object. } } else if (m_Entry != null) { /*if (m_Entry.ChargesLeft == 0) * { * from.LocalOverheadMessage(MessageType.Regular, 906, true, "The runebook's recall rune's magic has faded"); * DoFizzle(); * return; * } * else if (m_Entry.ChargesLeft <= 10 && m_Entry.ChargesLeft >= 1) * from.LocalOverheadMessage(MessageType.Regular, 906, true, "The recall rune in your runebook is starting to fade"); */ m_Owner.Effect(m_Entry.Location, m_Entry.Map, true); } else { from.LocalOverheadMessage(MessageType.Regular, 906, 502357); // I can not recall from that object. // if (from is PlayerMobile) // ((PlayerMobile)from).SpellCheck(); } }
protected override void OnTarget(Mobile from, object o) { if (o is RecallRune) { RecallRune rune = (RecallRune)o; if (rune.Marked) { m_Owner.Effect(rune.Target, rune.TargetMap, true); } else { from.SendLocalizedMessage(501805); // That rune is not yet marked. } } else if (o is Runebook) { RunebookEntry e = ((Runebook)o).Default; if (e != null) { m_Owner.Effect(e.Location, e.Map, true); } else { from.SendLocalizedMessage(502354); // Target is not marked. } } else if (o is Key && ((Key)o).KeyValue != 0 && ((Key)o).Link is BaseBoat) { BaseBoat boat = ((Key)o).Link as BaseBoat; if (!boat.Deleted && boat.CheckKey(((Key)o).KeyValue)) { m_Owner.Effect(boat.GetMarkedLocation(), boat.Map, false); } else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } } else if (o is SoulSliver) { SoulSliver soul = (SoulSliver)o; if (soul.Marked) { TeiravonMobile summoned = soul.Target as TeiravonMobile; if (summoned.Map != Map.Internal && summoned != null) { m_Owner.Summon(soul); } else { from.SendMessage("The soul lies dormant and does not answer your summons."); } } else { from.SendMessage("This sliver has not been attuned."); } } else { from.Send(new MessageLocalized(from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "")); // I can not recall from that object. } }