예제 #1
0
            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
            }
예제 #2
0
        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"
            }
        }
예제 #3
0
		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;
			}
		}
예제 #4
0
 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...
     }
 }
예제 #5
0
 public TreasureResetTimer(BaseTreasureChest chest)
     : base(TimeSpan.FromMinutes(Utility.Random(chest.MinSpawnTime, chest.MaxSpawnTime)))
 {
     m_Chest  = chest;
     Priority = TimerPriority.OneMinute;
 }
예제 #6
0
 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;
			}
예제 #8
0
 public TreasureResetTimer(BaseTreasureChest chest) : base(TimeSpan.FromMinutes(chest.Delay))
 {
     m_Chest = chest;
 }