public void Target(LockableContainer targ) { if (BaseHouse.CheckLockedDownOrSecured(targ)) { // You cannot cast this on a locked down item. Caster.LocalOverheadMessage(MessageType.Regular, 0x22, 501761); } else if (targ.Locked || targ.LockLevel == 0) { // Target must be an unlocked chest. Caster.SendLocalizedMessage(501762); } else if (CheckSequence()) { SpellHelper.Turn(Caster, targ); var loc = targ.GetWorldLocation(); Effects.SendLocationParticles( EffectItem.Create(loc, targ.Map, EffectItem.DefaultDuration), 0x376A, 9, 32, 5020); Effects.PlaySound(loc, targ.Map, 0x1FA); // The chest is now locked! Caster.LocalOverheadMessage(MessageType.Regular, 0x3B2, 501763); targ.LockLevel = -255; // signal magic lock targ.Locked = true; } FinishSequence(); }
public override bool OnDragLift(Mobile from) { BaseHouse house = BaseHouse.FindHouseAt(from); if (!BaseHouse.CheckLockedDownOrSecured(this) && house != null) { house.AddSecure(from, (Item)this); } return(false); }
public override bool OnDragLift(Mobile from) { BaseHouse house = BaseHouse.FindHouseAt(this); //changed from (from to this) if (!BaseHouse.CheckLockedDownOrSecured(this) && house != null) { house.AddSecure(from, (Item)this); this.Owner = house.Owner; } this.Say("Needs to be choped down to be moved."); this.Movable = false; return(false); }
private static void RemoveDupes_OnCommand(CommandEventArgs e) { List <Item> m_Deco = new List <Item>(); foreach (Item item in World.Items.Values) { if (!item.Movable && !(item is Spawner) && !BaseHouse.CheckLockedDownOrSecured(item) && (item.RootParent == null || item.RootParent == item) && item.Map != null && item.Map != Map.Internal) { m_Deco.Add(item); } } int origc = m_Deco.Count; Console.WriteLine(String.Format("Decoration Removal: {0} items acquired..", m_Deco.Count)); for (int i = 0; i < m_Deco.Count; i++) { Item deco = m_Deco[i]; int count = 0; for (int j = i + 1; j < m_Deco.Count; j++) { Item check = m_Deco[j]; if (deco.GetType() == check.GetType() && deco.Location == check.Location && deco.Map == check.Map && deco.Hue == check.Hue && deco.ItemID == check.ItemID) { //if ( !(check is AddonComponent) || ((AddonComponent)check).Addon.GetType() == ((AddonComponent)deco).Addon.GetType() ) //{ m_Deco.RemoveAt(j); j--; count++; check.Delete(); //} } } //if ( count > 0 ) //Console.WriteLine( String.Format( "Deleted {0} items of {1} ({3}) [{2}]", count, deco.GetType(), i, deco.Location ) ); } Console.WriteLine(String.Format("Decoration Removal: {0} items deleted.", origc - m_Deco.Count)); }
public async Task OnTargetAsync(ITargetResponse <ILockpickable> response) { if (!response.HasValue || !(response.Target is Item item)) { Caster.SendLocalizedMessage(501764); // Hmmm...I can't lock that. return; } var loc = item.GetWorldLocation(); var lockpickable = response.Target; if (item is BaseDoor && SpellHelper.IsTown(loc, Caster) || BaseHouse.CheckLockedDownOrSecured(item)) { Caster.SendLocalizedMessage(501671); // You cannot currently lock that. return; } if (lockpickable.Locked) { // Target must be an unlocked chest. Caster.SendLocalizedMessage(501762); return; } SpellHelper.Turn(Caster, item); Caster.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1048000); // You lock it. var difficulty = Caster.Skills[SkillName.Magery].Value; Caster.FireHook(h => h.OnModifyWithMagicEfficiency(Caster, ref difficulty)); Effects.SendLocationParticles( EffectItem.Create(loc, item.Map, EffectItem.DefaultDuration), 0x376A, 9, 32, 5020 ); Effects.PlaySound(loc, item.Map, 0x1FA); lockpickable.LockLevel = (int)difficulty; lockpickable.RequiredSkill = (int)difficulty; lockpickable.Locked = true; }
public override void OnDoubleClick(Mobile from) { BaseHouse house = BaseHouse.FindHouseAt(from); from.CloseGump(typeof(HitchGump)); if (BaseHouse.CheckLockedDownOrSecured(this)) { if (CheckAccess(from)) { if (Owner == null) { from.Target = new StablePostTarget(this); from.SendMessage(68, "What do you wish to use this on?"); } if (Owner != null && from == Owner) { from.Target = new StablePostTarget(this); from.SendMessage(68, "Target the animal you wish to release from the stable."); } else if (Owner != null && Owner != from) { from.SendMessage(38, "This is under the control of another owner."); } } else { from.SendLocalizedMessage(1061637); // You are not allowed to access this. } } else { //from.SendMessage("You must secure this before it can be used!"); if (house != null) { house.AddSecure(from, (Item)this); } } }
public override void OnMovement(Mobile m, Point3D oldLocation) { BaseHouse house = BaseHouse.FindHouseAt(m); if (!BaseHouse.CheckLockedDownOrSecured(this) && house != null) { house.AddSecure(m, (Item)this); } if (m is BaseCreature) { if ((BaseCreature)m == Controlled) { if (((BaseCreature)m).Loyalty <= 100) { ((BaseCreature)m).Loyalty = 100; } if (((BaseCreature)m).RangeHome != HomeRange) { ((BaseCreature)m).RangeHome = HomeRange; } } } base.OnMovement(m, oldLocation); }