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, null, 0, null, SkillName.ItemID, from.Skills[SkillName.ItemID].Value)) { return; } if (o is Item && !(o is HouseSign)) { Item item = o as Item; if (from.CheckTargetSkill(SkillName.ItemID, o, 0, 100)) { if (o is BaseWeapon) { ((BaseWeapon)o).Identified = true; } else if (o is BaseArmor) { ((BaseArmor)o).Identified = true; } else if (o is BaseClothing) { ((BaseClothing)o).Identified = true; } else if (o is BaseTreasureChest) { BaseTreasureChest tchest = (BaseTreasureChest)o; from.SendMessage("{0} container with {1} treasure.", tchest.Locked ? "a locked" : "an unlocked", m_TreasureValue[(int)tchest.Level]); } //if ( !Core.AOS ) item.OnSingleClick(from); } else { from.SendLocalizedMessage(500353); // You are not certain... } } else if (o is Mobile) { ((Mobile)o).OnSingleClick(from); } else { from.SendLocalizedMessage(500353); // You are not certain... } //allows the identify skill to reveal attachments //Server.Engines.XmlSpawner2.XmlAttach.RevealAttachments(from, o); // we don't care about this -Alan }
private static void RespawnAllTreasureChest_OnCommand(CommandEventArgs e) { List <BaseTreasureChest> spawners = new List <BaseTreasureChest>(); foreach (Item item in World.Items.Values) { BaseTreasureChest s = item as BaseTreasureChest; if (s != null) { spawners.Add(s); } } foreach (BaseTreasureChest c in spawners) { c.Level = c.Level; // "reset" } }
public static void FixTreasure( BaseTreasureChest chest ) { if ( chest.Level == TreasureLevel.Level2 ) //Fix based on skill { if ( chest.MaxLockLevel == 250 ) chest.Level = TreasureLevel.Level8; else if ( chest.MaxLockLevel == 200 ) chest.Level = TreasureLevel.Level7; else if ( chest.MaxLockLevel == 150 ) chest.Level = TreasureLevel.Level6; else if ( chest.MaxLockLevel == 135 ) chest.Level = TreasureLevel.Level5; else if ( chest.MaxLockLevel == 125 ) chest.Level = TreasureLevel.Level4; else if ( chest.MaxLockLevel == 105 ) chest.Level = TreasureLevel.Level3; else if ( chest.MaxLockLevel == 85 ) chest.Level = TreasureLevel.Level2; else if ( chest.MaxLockLevel == 65 ) chest.Level = TreasureLevel.Level1; } }
protected override void OnTarget(Mobile from, object o) { if (o is Item) { if (from.CheckTargetSkill(SkillName.ItemID, o, 0, 100)) { if (o is BaseWeapon) { ((BaseWeapon)o).Identified = true; } else if (o is BaseArmor) { ((BaseArmor)o).Identified = true; } else if (o is BaseTreasureChest) { BaseTreasureChest tchest = (BaseTreasureChest)o; from.SendMessage("{0} container with {1} treasure.", tchest.Locked ? "a locked" : "an unlocked", m_TreasureValue[(int)tchest.Level]); } if (!Core.AOS) { ((Item)o).OnSingleClick(from); } } else { from.SendLocalizedMessage(500353); // You are not certain... } } else if (o is Mobile) { ((Mobile)o).OnSingleClick(from); } else { from.SendLocalizedMessage(500353); // You are not certain... } }
public TreasureResetTimer(BaseTreasureChest chest) : base(TimeSpan.FromMinutes(Utility.Random(chest.MinSpawnTime, chest.MaxSpawnTime))) { m_Chest = chest; Priority = TimerPriority.OneMinute; }
public SpawnTreasureChest( int itemID, BaseTreasureChest.TreasureLevel level ) : base(typeof( BaseTreasureChest )) { m_ItemID = itemID; m_Level = level; }
public TreasureResetTimer( BaseTreasureChest chest ) : base ( TimeSpan.FromMinutes( Utility.Random( chest.MinSpawnTime, chest.MaxSpawnTime ) ) ) { m_Chest = chest; Priority = TimerPriority.OneMinute; }
public TreasureResetTimer(BaseTreasureChest chest) : base(TimeSpan.FromMinutes(chest.Delay)) { m_Chest = chest; }