コード例 #1
0
        private static void ShrinkRelease_OnCommand(CommandEventArgs e)
        {
            if (e.Mobile is PlayerMobile)
            {
                int shrinkCount = 0;

                foreach (Item item in World.Items.Values)
                {
                    if (item is ShrinkItem)
                    {
                        shrinkCount += 1;
                    }
                }

                e.Mobile.SendMessage("{0} ShrinkItems have been enabled.", shrinkCount);
                World.Broadcast(0x35, true, "The server wide shrinkitem lockout has been lifted.");
                World.Broadcast(0x35, true, "You may once again unshrink all shrunken pets.");

                foreach (Item item in World.Items.Values)
                {
                    if (item is ShrinkItem)
                    {
                        ShrinkItem si = (ShrinkItem)item;
                        si.Disabled = false;
                    }
                }
            }
        }
コード例 #2
0
        private static void ShrinkLockDown_OnCommand(CommandEventArgs e)
        {
            if (e.Mobile is PlayerMobile)
            {
                int shrinkCount = 0;

                foreach (Item item in World.Items.Values)
                {
                    if (item is ShrinkItem)
                    {
                        shrinkCount += 1;
                    }
                }

                e.Mobile.SendMessage("{0} ShrinkItems have been disabled.", shrinkCount);
                World.Broadcast(0x35, true, "A server wide shrinkitem lockout has initiated");
                World.Broadcast(0x35, true, "All shrunken pets have been disabled untill further notice.");

                foreach (Item item in World.Items.Values)
                {
                    if (item is ShrinkItem)
                    {
                        ShrinkItem si = (ShrinkItem)item;
                        si.Disabled = true;
                    }
                }
            }
        }
コード例 #3
0
            protected override void OnTarget(Mobile from, object o)
            {
                if (o is Item)
                {
                    from.SendMessage("That cannot be shrunken.");
                }

                else if (o is PlayerMobile)
                {
                    from.SendMessage("That cannot be shrunken.");
                }

                else if (o is BaseEscortable)
                {
                    from.SendMessage("You can't shrink me.");
                }

                /*else if ( o is RoninsBaseCreature && ( (RoninsBaseCreature)o).Pregnant == true )
                 *  from.SendMessage( 53, "Warning! Shrinking a pet while pregnant could cause a server crash." );
                 *
                 * else if ( o is RoninsBaseCreature && ( (RoninsBaseCreature)o).IsMating == true )
                 *  from.SendMessage( 53, "Warning! Shrinking a pet while mating could cause a server crash." );*/

                else if (o is BaseCreature)
                {
                    BaseCreature c    = (BaseCreature)o;
                    Type         type = c.GetType();
                    ShrinkItem   si   = new ShrinkItem();
                    si.MobType  = type;
                    si.Pet      = c;
                    si.PetOwner = from;

                    if (c is BaseMount)
                    {
                        BaseMount mount = (BaseMount)c;
                        si.MountID = mount.ItemID;
                    }
                    from.AddToBackpack(si);

                    c.Controlled    = true;
                    c.ControlMaster = null;
                    c.Internalize();

                    c.OwnerAbandonTime = DateTime.MinValue;

                    c.IsStabled = true;
                }
                else
                {
                    from.SendMessage("You cannot shrink that, MOBILES ONLY");
                }
            }
コード例 #4
0
        public static void SendRewardToPlayer(Mobile player)
        {
            Bag bagReward = new Bag();

            bagReward.Hue  = Utility.RandomYellowHue();
            bagReward.Name = "Reward Bag";

            foreach (RewardItem rewardItem in SingletonEvent.Instance.CurrentEventRewardList)
            {
                object item = CreateRewardInstance(rewardItem.RewardTypeList);

                // Ajusta Item

                if (item is Gold)
                {
                    ((Gold)item).Amount = 5000;
                }
                else
                if (item is BaseOre || item is BaseIngot)
                {
                    ((Item)item).Amount = 2;
                }

                // Send Item

                if (item is Item)
                {
                    bagReward.DropItem((Item)item);
                }
                else
                if (item is BaseCreature)
                {
                    ShrinkItem shrunkenPet = new ShrinkItem((BaseCreature)item);
                    bagReward.DropItem(shrunkenPet);
                }
            }

            player.SendMessage("Uma Bag de Recompensa foi depositada em seu Banco!");
            player.BankBox.DropItem(bagReward);
        }
コード例 #5
0
ファイル: ShrinkItem.cs プロジェクト: greeduomacro/vivre-uo
		public UnLockShrinkItem( Mobile from, ShrinkItem shrink ) : base( 2033, 5 )
		{
			m_From = from;
			m_ShrinkItem = shrink;
		}
コード例 #6
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.ReadInt();

			switch ( version )
			{
				case 2:
					m_ShrinkItem = (ShrinkItem)(reader.ReadItem());
					goto case 1;

				case 1:
					goto case 0;	// Account for Dracna's version bump

				case 0:
				{
					m_Ep = reader.ReadInt();
					m_Stage = reader.ReadInt();
					Pregnant = m_Pregnant = reader.ReadBool();	// resets the timer if pregnant
					m_HasEgg = reader.ReadBool();
					m_DeliveryDate = reader.ReadDateTime();
					break;
				}
			}
			LoadSpecValues();
		}
コード例 #7
0
		public void OnShrink( IShrinkItem shrinkItem )
		{
			m_ShrinkItem = (ShrinkItem)shrinkItem;
		}
コード例 #8
0
 public UnLockShrinkItem(Mobile from, ShrinkItem shrink) : base(2033, 5)
 {
     m_From       = from;
     m_ShrinkItem = shrink;
 }
コード例 #9
0
ファイル: Shrink.cs プロジェクト: zerodowned/DimensionsNewAge
        public static bool Shrink(Mobile from, object targ, bool restricted)
        {
            String errorString           = null;
            int    errorLocalizedMessage = 0;

            if (from == targ)
            {
                errorString = "You can't shrink yourself!";
            }
            else if (!(targ is BaseCreature))
            {
                errorString = "You can't shrink that!";
            }
            else
            {
                BaseCreature t = (BaseCreature)targ;

                #region Shrink Restrictions
                if (t.IsDeadPet)
                {
                    errorString = "You cannot shrink dead creatures.";
                }
                else if (!restricted)
                {
                    //Don't check anything if not a restricted Shrink
                }
                else if (t.Summoned)
                {
                    errorString = "You cannot shrink summoned creatures.";
                }
                else if (t.Combatant != null && t.InRange(t.Combatant, 12) && t.Map == t.Combatant.Map)
                {
                    errorString = "You cannot shrink your pet while it is in combat.";
                }
                else if (!(t.Controlled && t.ControlMaster == from))
                {
                    errorLocalizedMessage = 1042562;                            //That is not your pet!
                    errorString           = "That is not your pet!";
                }
                else if ((t is PackLlama || t is PackHorse || t is Beetle) && (t.Backpack != null && t.Backpack.Items.Count > 0))
                {
                    errorLocalizedMessage = 1042563;                     //Unload the pet first
                    errorString           = "Unload the pet first";
                }
                #endregion

                if ((errorString == null) && (errorLocalizedMessage == 0))
                {
                    //If no errors, proceed.

                    ShrinkItem shrunkenPet = new ShrinkItem(t);

                    if (from != null)
                    {
                        from.SendMessage("You shrink the pet");
                        if (!from.AddToBackpack(shrunkenPet))
                        {
                            shrunkenPet.MoveToWorld(new Point3D(from.X, from.Y, from.Z), from.Map);
                            from.SendMessage("Your backpack is full so the shrunken pet falls to the ground");
                        }
                    }
                    else
                    {
                        shrunkenPet.MoveToWorld(new Point3D(t.X, t.Y, t.Z), t.Map);                              // place shrunken pet at current location
                    }

                    SendAway(t);

                    if (ShrinkConfig.RetainSelfBondStatus && from != null)
                    {
                        shrunkenPet.BondOwner = from;
                    }


                    return(true);
                }
            }

            if (from != null)              //if From is NOT null, send error Message.
            {
                if (errorLocalizedMessage != 0)
                {
                    from.SendLocalizedMessage(errorLocalizedMessage);
                }
                else
                {
                    from.SendMessage(errorString);
                }
            }
            return(false);
        }
コード例 #10
0
			public override void OnResponse( NetState sender, RelayInfo info )
			{
				if ( m_Ticket.Deleted )
					return;

				int number = 0;
			    string message = null;

				Item item = null;

                switch ( info.ButtonID )
				{
					case 1:
				        BaseCreature parrot = new TalkingParrot {Controlled = true, ControlMaster = m_From};
				        parrot.Delta(MobileDelta.Noto);
				        item = new ShrinkItem(parrot);
                        message = "A shrunk parrot has been placed in your backpack";
                        break;
					case 2:
				        item = new ActionFigure
				                   {
				                       Name = "Lord Blackthorne action figure",
				                       Phrase1 = "That tickles!",
				                       Sound1 = 1066,
				                       Phrase2 = "Uhhh I think I had too much to drink yesterday",
				                       Sound2 = 1087,
                                       Phrase3 = "Hey, put me down!",
                                       Sound3 = 1069,
                                       Phrase4 = "Shh, I'm trying to sleep here",
                                       Sound4 = 1089,
                                       Phrase5 = "Wasn't me",
                                       Sound5 = 1064
				                   };
                        message = "A Lord Blackthorne action figure has been placed in your backpack";
                        break; 
					case 3:
				        item = new MagicCrystalBall {Hue = 1952};
                        message = "A magic crystal ball has been placed in your backpack";
                        break;
					case 4:
                        item = new FireworksWand();
                        number = 501935; // A wand of fireworks has been placed in your backpack.
                        break; 
					case 5:
                        item = new tarotpoker();
				        message = "A deck of tarot poker cards has been placed in your backpack";
                        break;
				}

				if ( item != null )
				{
					m_Ticket.Delete();

                    if (number > 0)
					    m_From.SendLocalizedMessage( number );
                    else if (!string.IsNullOrEmpty(message))
                        m_From.SendAsciiMessage(message);

					m_From.AddToBackpack( item );
				}
			}
コード例 #11
0
            internal Item Construct()
            {
                try
                {
                    Item item;

                    if (Type == typeof(Gold))
                        item = new Gold(Amount);
                    else if (Type == typeof(ImagineNickel))
                        item = new ImagineNickel(Amount);
                    else if (Type == typeof(BaseWeapon))
                    {
                        BaseWeapon w = Loot.RandomWeapon();
                        w.DamageLevel = WeaponDamageLevel.Vanq;
                        int accuracyRoll = Utility.Random(99);
                        if (accuracyRoll < 31) // 30% to get Accurate
                            w.AccuracyLevel = WeaponAccuracyLevel.Accurate;
                        else if (accuracyRoll < 56) // 25% to get Surpassingly
                            w.AccuracyLevel = WeaponAccuracyLevel.Surpassingly;
                        else if (accuracyRoll < 76) // 20% to get Eminently
                            w.AccuracyLevel = WeaponAccuracyLevel.Eminently;
                        else if (accuracyRoll < 91) // 15% to get Exceedingly
                            w.AccuracyLevel = WeaponAccuracyLevel.Exceedingly;
                        else if (accuracyRoll < 100) // 10% to get Supremely
                            w.AccuracyLevel = WeaponAccuracyLevel.Supremely;
                        item = w;
                    }
                    else if (Type == typeof(BaseArmor))
                    {
                        BaseArmor armor = Loot.RandomArmorOrShield();
                        armor.ProtectionLevel = ArmorProtectionLevel.Invulnerability;
                        armor.Durability = (ArmorDurabilityLevel)Utility.Random(6);
                        item = armor;
                    }
                    else if (Type == typeof(BaseClothing))
                    {
                        item = Loot.RandomClothing();
                        item.LootType = LootType.Blessed;
                        item.Hue = Utility.RandomList(Sphere.RareHues);
                    }
                    else if (Type == typeof(BaseJewel))
                    {
                        item = Loot.RandomJewelry();
                        item.LootType = LootType.Blessed;
                        item.Hue = Utility.RandomList(Sphere.RareHues);
                    }
                    else if (Type == typeof(Mustang))
                    {
                        Mustang m = new Mustang();
                        MustangCollection.Randomize().ApplyTo(m);
                        item = new ShrinkItem(m);
                    }
                    else
                        item = Activator.CreateInstance(Type) as Item;
                    return item;
                }
                catch
                {
                }
                return null;
            }