From 1720ae3a6cb1ec103c3f20014a8e9ff7cb7f8b0c Mon Sep 17 00:00:00 2001 From: xavier Date: Tue, 23 Oct 2012 02:21:53 +0000 Subject: [PATCH] halloween --- .../Halloween/2006/Items/HalloweenPumpkin.cs | 92 ++++++++++++++ .../Halloween/2006/Items/PumpkinScarecrow.cs | 36 ++++++ .../Halloween/2006/Items/RuinedTapestry.cs | 36 ++++++ .../Halloween/2006/Items/TwilightLantern.cs | 49 +++++++ .../Halloween/2009/Foods/CreepyCake.cs | 41 ++++++ .../Halloween/2009/Foods/HarvestWine.cs | 42 ++++++ .../Halloween/2009/Foods/MrPlainsCookies.cs | 38 ++++++ .../Halloween/2009/Foods/MurkyMilk.cs | 51 ++++++++ .../Halloween/2009/Foods/PumpkinPizza.cs | 41 ++++++ .../Halloween/2009/Items/GrimWarning.cs | 40 ++++++ .../Halloween/2009/Items/SkullsOnPike.cs | 40 ++++++ .../2010/Items/ChairInAGhostCostume.cs | 35 +++++ .../Halloween/2010/Items/ColoredSmallWebs.cs | 36 ++++++ .../2010/Items/ExcellentIronMaiden.cs | 35 +++++ .../2010/Items/HalloweenGuillotine.cs | 34 +++++ .../Halloween/2011/Items/ClownMask.cs | 36 ++++++ .../Halloween/2011/Items/DaemonMask.cs | 36 ++++++ .../Halloween/2011/Items/PlagueMask.cs | 36 ++++++ .../Halloween/2011/Mobiles/PumpkinHead.cs | 120 ++++++++++++++++++ .../Halloween/Treats/Jellybeans.cs | 41 ++++++ .../Halloween/Treats/Lollipops.cs | 40 ++++++ .../Halloween/Treats/NougatSwirl.cs | 42 ++++++ .../Holiday Stuff/Halloween/Treats/Taffy.cs | 41 ++++++ .../Halloween/Treats/WrappedCandy.cs | 41 ++++++ 24 files changed, 1079 insertions(+) create mode 100644 Scripts/Holiday Stuff/Halloween/2006/Items/HalloweenPumpkin.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2006/Items/PumpkinScarecrow.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2006/Items/RuinedTapestry.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2006/Items/TwilightLantern.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2009/Foods/CreepyCake.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2009/Foods/HarvestWine.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2009/Foods/MrPlainsCookies.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2009/Foods/MurkyMilk.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2009/Foods/PumpkinPizza.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2009/Items/GrimWarning.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2009/Items/SkullsOnPike.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2010/Items/ChairInAGhostCostume.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2010/Items/ColoredSmallWebs.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2010/Items/ExcellentIronMaiden.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2010/Items/HalloweenGuillotine.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2011/Items/ClownMask.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2011/Items/DaemonMask.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2011/Items/PlagueMask.cs create mode 100644 Scripts/Holiday Stuff/Halloween/2011/Mobiles/PumpkinHead.cs create mode 100644 Scripts/Holiday Stuff/Halloween/Treats/Jellybeans.cs create mode 100644 Scripts/Holiday Stuff/Halloween/Treats/Lollipops.cs create mode 100644 Scripts/Holiday Stuff/Halloween/Treats/NougatSwirl.cs create mode 100644 Scripts/Holiday Stuff/Halloween/Treats/Taffy.cs create mode 100644 Scripts/Holiday Stuff/Halloween/Treats/WrappedCandy.cs diff --git a/Scripts/Holiday Stuff/Halloween/2006/Items/HalloweenPumpkin.cs b/Scripts/Holiday Stuff/Halloween/2006/Items/HalloweenPumpkin.cs new file mode 100644 index 000000000..dab75c6a4 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2006/Items/HalloweenPumpkin.cs @@ -0,0 +1,92 @@ +using System; +using Server; +using Server.Mobiles; + +namespace Server.Items +{ + public class HalloweenPumpkin : Item + { + private readonly string[] staff = + { + "Ryan", "Mark", "Eos", "Athena", "Xavier", "Krrios" + }; + + [Constructable] + public HalloweenPumpkin() + : base() + { + Weight = Utility.RandomMinMax( 3, 20 ); + ItemID = ( Utility.RandomDouble() <= .02 ) ? 0x4694 + Utility.Random( 2 ) : Utility.RandomList( 0xc6a, 0xc6b, 0xc6c ); + } + + public override void OnDoubleClick( Mobile from ) + { + this.ItemID = GetItemID( ItemID ); + + base.OnDoubleClick( from ); + } + + private int GetItemID( int itemid ) + { + switch( ItemID ) + { + case 0x4694: itemid = 0x4691; break; + case 0x4691: itemid = 0x4694; break; + case 0x4698: itemid = 0x4695; break; + case 0x4695: itemid = 0x4698; break; + } + + return itemid; + } + + public override void OnItemLifted( Mobile from, Item item ) + { + base.OnItemLifted( from, item ); + + if( item != null && !item.Deleted && item == this ) + { + if( Utility.RandomBool() ) + { + int[][] coord = { new int[] { -3, -3 }, new int[] { -3, 0 }, new int[] { 0, 3 }, new int[] { 3, 3 } }; + + for( int i=0; i < 4; i++ ) + { + Point3D loc = new Point3D( from.X + coord[ i ][ 0 ], from.Y + coord[ i ][ 1 ], Map.GetAverageZ( from.X, from.Y ) ); + + if( Map.CanSpawnMobile( loc ) ) + { + BaseCreature pumpkinhead = new PumpkinHead(); + + pumpkinhead.FocusMob = from; + pumpkinhead.MoveToWorld( loc, from.Map ); + } + } + Delete(); + } + else + { + Name = String.Format( "{0}'s Jack-O-antern", staff[ Utility.Random( staff.Length ) ] ); + } + } + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public HalloweenPumpkin( Serial serial ) + : base( serial) + { + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2006/Items/PumpkinScarecrow.cs b/Scripts/Holiday Stuff/Halloween/2006/Items/PumpkinScarecrow.cs new file mode 100644 index 000000000..020fc14df --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2006/Items/PumpkinScarecrow.cs @@ -0,0 +1,36 @@ +using System; +using Server; +using Server.Misc; + +namespace Server.Items +{ + public class PumpkinScarecrow : Lantern + { + public override int LabelNumber { get { return 1096947; } } + + [Constructable] + public PumpkinScarecrow() + : base( Utility.RandomBool() ? 0x469B : 0x469C ) + { + } + + public PumpkinScarecrow( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2006/Items/RuinedTapestry.cs b/Scripts/Holiday Stuff/Halloween/2006/Items/RuinedTapestry.cs new file mode 100644 index 000000000..4e7e6d246 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2006/Items/RuinedTapestry.cs @@ -0,0 +1,36 @@ +using System; +using Server; +using Server.Misc; + +namespace Server.Items +{ + public class RuinedTapestry : Item + { + public override int DefaultName{ get { return "Ruined Tapestry "; } } + + [Constructable] + public RuinedTapestry() + : base( Utility.RandomBool() ? 0x4699 : 0x469A ) + { + } + + public RuinedTapestry( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2006/Items/TwilightLantern.cs b/Scripts/Holiday Stuff/Halloween/2006/Items/TwilightLantern.cs new file mode 100644 index 000000000..036790413 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2006/Items/TwilightLantern.cs @@ -0,0 +1,49 @@ +using System; +using Server; + +namespace Server.Items +{ + + public class TwilightLantern : Lantern + { + public override string DefaultName { get { return "Twilight Lantern"; } } + + [Constructable] + public TwilightLantern() + : base() + { + Hue = Utility.RandomBool() ? 142 : 947; + } + + public override bool AllowEquipedCast( Mobile from ) + { + return true; + } + + public override void GetProperties( ObjectPropertyList list ) + { + base.GetProperties( list ); + + list.Add( 1060482 ); // Spell Channeling + } + + public TwilightLantern( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2009/Foods/CreepyCake.cs b/Scripts/Holiday Stuff/Halloween/2009/Foods/CreepyCake.cs new file mode 100644 index 000000000..5dd261ea7 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2009/Foods/CreepyCake.cs @@ -0,0 +1,41 @@ +using System; +using Server; + +namespace Server.Items +{ + /* + first seen halloween 2009. subsequently in 2010, + 2011 and 2012. GM Beggar-only Semi-Rare Treats + */ + + public class CreepyCake : Food + { + public override string DefaultName { get { return "Creepy Cake"; } } + + [Constructable] + public CreepyCake() + : base( 0x9e9 ) + { + Hue = 0x3E4; + } + + public CreepyCake( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2009/Foods/HarvestWine.cs b/Scripts/Holiday Stuff/Halloween/2009/Foods/HarvestWine.cs new file mode 100644 index 000000000..a2b102205 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2009/Foods/HarvestWine.cs @@ -0,0 +1,42 @@ +using System; +using Server; + +namespace Server.Items +{ + /* + first seen halloween 2009. subsequently in 2010, + 2011 and 2012. GM Beggar-only Semi-Rare Treats + */ + + public class HarvestWine : BeverageBottle + { + public override string DefaultName { get { return "Harvest Wine"; } } + public override double DefaultWeight { get { return 1; } } + + [Constructable] + public HarvestWine() + : base( BeverageType.Wine ) + { + Hue = 0xe0; + } + + public HarvestWine( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2009/Foods/MrPlainsCookies.cs b/Scripts/Holiday Stuff/Halloween/2009/Foods/MrPlainsCookies.cs new file mode 100644 index 000000000..606cb8b77 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2009/Foods/MrPlainsCookies.cs @@ -0,0 +1,38 @@ +using System; +using Server; + +namespace Server.Items +{ + public class MrPlainsCookies : Food + { + public override string DefaultName{ get { return "Mr Plain's Cookies"; } } + + [Constructable] + public MrPlainsCookies( ) + : base( 0x160C ) + { + this.Weight = 1.0; + this.FillFactor = 4; + Hue = 0xF4; + } + + public MrPlainsCookies( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2009/Foods/MurkyMilk.cs b/Scripts/Holiday Stuff/Halloween/2009/Foods/MurkyMilk.cs new file mode 100644 index 000000000..fc42c219f --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2009/Foods/MurkyMilk.cs @@ -0,0 +1,51 @@ +using System; +using Server; +using Server.Mobiles; + +namespace Server.Items +{ + /* + first seen halloween 2009. subsequently in 2010, + 2011 and 2012. GM Beggar-only Semi-Rare Treats + */ + + public class MurkyMilk : Pitcher + { + public override string DefaultName { get { return "Murky Milk";; } } + public override int MaxQuantity { get { return 5; } } + public override double DefaultWeight { get { return 1; } } + + [Constructable] + public MurkyMilk( ) + : base( BeverageType.Milk ) + { + Hue = 0x3e5; + Quantity = MaxQuantity; + ItemID = ( Utility.RandomBool() ) ? 0x09F0 : 0x09AD; + } + + public override int ComputeItemID() + { + return base.ComputeItemID(); + } + + public MurkyMilk( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2009/Foods/PumpkinPizza.cs b/Scripts/Holiday Stuff/Halloween/2009/Foods/PumpkinPizza.cs new file mode 100644 index 000000000..f5f0673a5 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2009/Foods/PumpkinPizza.cs @@ -0,0 +1,41 @@ +using System; +using Server; + +namespace Server.Items +{ + /* + first seen halloween 2009. subsequently in 2010, + 2011 and 2012. GM Beggar-only Semi-Rare Treats + */ + + public class PumpkinPizza : CheesePizza + { + public override string DefaultName { get { return "Pumpkin Pizza"; } } + + [Constructable] + public PumpkinPizza( ) + : base() + { + Hue = 0xF3; + } + + public PumpkinPizza( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2009/Items/GrimWarning.cs b/Scripts/Holiday Stuff/Halloween/2009/Items/GrimWarning.cs new file mode 100644 index 000000000..5b72ac1ff --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2009/Items/GrimWarning.cs @@ -0,0 +1,40 @@ +using System; +using Server; + +namespace Server.Items +{ + /* + first seen halloween 2009. subsequently in 2010, + 2011 and 2012. GM Beggar-only Semi-Rare Treats + */ + + public class GrimWarning : Item + { + public override double DefaultWeight { get { return 1; } } + + [Constructable] + public GrimWarning () + : base( 0x42BD ) + { + } + + public GrimWarning( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2009/Items/SkullsOnPike.cs b/Scripts/Holiday Stuff/Halloween/2009/Items/SkullsOnPike.cs new file mode 100644 index 000000000..94ca8ed06 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2009/Items/SkullsOnPike.cs @@ -0,0 +1,40 @@ +using System; +using Server; + +namespace Server.Items +{ + /* + first seen halloween 2009. subsequently in 2010, + 2011 and 2012. GM Beggar-only Semi-Rare Treats + */ + + public class SkullsOnPike : Item + { + public override double DefaultWeight { get { return 1; } } + + [Constructable] + public SkullsOnPike() + : base( 0x42B5 ) + { + } + + public SkullsOnPike( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2010/Items/ChairInAGhostCostume.cs b/Scripts/Holiday Stuff/Halloween/2010/Items/ChairInAGhostCostume.cs new file mode 100644 index 000000000..c8c50a1aa --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2010/Items/ChairInAGhostCostume.cs @@ -0,0 +1,35 @@ +using System; +using Server; + +namespace Server.Items +{ + public class ChairInAGhostCostume : Item + { + public override double DefaultWeight { get { return 5; } } + + [Constructable] + public ChairInAGhostCostume() + : base( 0x3F26 ) + { + } + + public ChairInAGhostCostume( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2010/Items/ColoredSmallWebs.cs b/Scripts/Holiday Stuff/Halloween/2010/Items/ColoredSmallWebs.cs new file mode 100644 index 000000000..e166a7e7d --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2010/Items/ColoredSmallWebs.cs @@ -0,0 +1,36 @@ +using System; +using Server; + +namespace Server.Items +{ + public class ColoredSmallWebs : Item + { + public override double DefaultWeight { get { return 5; } } + + [Constructable] + public ColoredSmallWebs() + : base( Utility.RandomBool() ? 0x10d6 : 0x10d7 ) + { + Hue = Utility.RandomBool() ? 0x455 : 0x4E9; + } + + public ColoredSmallWebs( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2010/Items/ExcellentIronMaiden.cs b/Scripts/Holiday Stuff/Halloween/2010/Items/ExcellentIronMaiden.cs new file mode 100644 index 000000000..e0969ca26 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2010/Items/ExcellentIronMaiden.cs @@ -0,0 +1,35 @@ +using System; +using Server; + +namespace Server.Items +{ + public class ExcellentIronMaiden : Item + { + public override double DefaultWeight { get { return 5; } } + + [Constructable] + public ExcellentIronMaiden() + : this( 0x3f15 ) + { + } + + public ExcellentIronMaiden( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2010/Items/HalloweenGuillotine.cs b/Scripts/Holiday Stuff/Halloween/2010/Items/HalloweenGuillotine.cs new file mode 100644 index 000000000..ac46ab289 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2010/Items/HalloweenGuillotine.cs @@ -0,0 +1,34 @@ +using System; +using Server; + +namespace Server.Items +{ + public class HalloweenGuillotine : Item + { + public override double DefaultWeight { get { return 5; } } + + [Constructable] + public HalloweenGuillotine() : base( 0x3F27 ) + { + } + + public HalloweenGuillotine( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2011/Items/ClownMask.cs b/Scripts/Holiday Stuff/Halloween/2011/Items/ClownMask.cs new file mode 100644 index 000000000..29eeefdfb --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2011/Items/ClownMask.cs @@ -0,0 +1,36 @@ +using System; +using Server; +using Server.Misc; + +namespace Server.Items +{ + public class ClownMask : Item + { + public override string DefaultName { get { return "Clown Mask"; } } + + [Constructable] + public ClownMask() + : base( Utility.RandomBool() ? 0x4A8E : 0x4A8F ) + { + } + + public ClownMask( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2011/Items/DaemonMask.cs b/Scripts/Holiday Stuff/Halloween/2011/Items/DaemonMask.cs new file mode 100644 index 000000000..668298d58 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2011/Items/DaemonMask.cs @@ -0,0 +1,36 @@ +using System; +using Server; +using Server.Misc; + +namespace Server.Items +{ + public class DaemonMask : Item + { + public override string DefaultName { get { return "Daemon Mask"; } } + + [Constructable] + public DaemonMask() + : base( Utility.RandomBool() ? 0x4A92: 0x4A93 ) + { + } + + public DaemonMask( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2011/Items/PlagueMask.cs b/Scripts/Holiday Stuff/Halloween/2011/Items/PlagueMask.cs new file mode 100644 index 000000000..0228063ef --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2011/Items/PlagueMask.cs @@ -0,0 +1,36 @@ +using System; +using Server; +using Server.Misc; + +namespace Server.Items +{ + public class RuinedTapestry : Lantern + { + public override string DefaultName { get { return "Plague Mask"; } } + + [Constructable] + public RuinedTapestry() + : base( Utility.RandomBool() ? 0x4A8E : 0x4A8F ) + { + } + + public RuinedTapestry( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/2011/Mobiles/PumpkinHead.cs b/Scripts/Holiday Stuff/Halloween/2011/Mobiles/PumpkinHead.cs new file mode 100644 index 000000000..2ec391019 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/2011/Mobiles/PumpkinHead.cs @@ -0,0 +1,120 @@ +using System; +using Server; +using Server.Items; +using Server.Mobiles; + +namespace Server.Mobiles +{ + [CorpseName( "a killer pumpkin corpse" )] + public class PumpkinHead : BaseCreature + { + public override bool AutoDispel { get { return true; } } + public override bool BardImmune { get { return true; } } + public override bool Unprovokable { get { return true; } } + public override bool AreaPeaceImmune { get { return true; } } + + [Constructable] + public PumpkinHead() + : base( Utility.RandomBool() ? AIType.AI_Melee : AIType.AI_Mage, FightMode.Closest, 10, 1, 0.05, 0.1 ) + { + Name = "a killer pumpkin"; + Body = 1246 + Utility.Random( 2 ); + + BaseSoundID = 268; + + SetStr( 350 ); + SetDex( 125 ); + SetInt( 250 ); + + SetHits( 500 ); + SetMana( 1000 ); + + SetDamage( 10, 15 ); + + SetDamageType( ResistanceType.Physical, 100 ); + + SetResistance( ResistanceType.Physical, 55 ); + SetResistance( ResistanceType.Fire, 50 ); + SetResistance( ResistanceType.Cold, 50 ); + SetResistance( ResistanceType.Poison, 65 ); + SetResistance( ResistanceType.Energy, 80 ); + + SetSkill( SkillName.DetectHidden, 100.0 ); + SetSkill( SkillName.Meditation, 120.0 ); + SetSkill( SkillName.Necromancy, 100.0 ); + SetSkill( SkillName.SpiritSpeak, 120.0 ); + SetSkill( SkillName.Magery, 160.0 ); + SetSkill( SkillName.EvalInt, 100.0 ); + SetSkill( SkillName.MagicResist, 100.0 ); + SetSkill( SkillName.Tactics, 100.0 ); + SetSkill( SkillName.Wrestling, 80.0 ); + + Fame = 5000; + Karma = -5000; + + VirtualArmor = 49; + } + + public override void GenerateLoot() + { + if( Utility.RandomDouble() < .05 ) + { + PackItem( new TwilightLantern() ); + } + + PackItem( new WrappedCandy() ); + AddLoot( LootPack.UltraRich, 2 ); + } + + public virtual void Lifted_Callback( Mobile from ) + { + if( from != null && !from.Deleted && from is PlayerMobile ) + { + Combatant = from; + + Warmode = true; + } + } + + public override Item NewHarmfulItem() + { + Item bad = new AcidSlime( TimeSpan.FromSeconds( 10 ), 25, 30 ); + + bad.Name = "gooey nasty pumpkin hummus"; + + bad.Hue = 144; + + return bad; + } + + public override void OnDamage( int amount, Mobile from, bool willKill ) + { + if( Utility.RandomBool() ) + { + if( from != null && from.Map != null && Map != Map.Internal && Map == from.Map && from.InRange( this, 12 ) ) + { + SpillAcid( ( willKill ) ? this : from, ( willKill ) ? 3 : 1 ); + } + } + + base.OnDamage( amount, from, willKill ); + } + + public PumpkinHead( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + writer.Write( ( int )0 ); + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/Treats/Jellybeans.cs b/Scripts/Holiday Stuff/Halloween/Treats/Jellybeans.cs new file mode 100644 index 000000000..c23586881 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/Treats/Jellybeans.cs @@ -0,0 +1,41 @@ +using System; +using Server; + +namespace Server.Items +{ + public class JellyBeans : CandyCane + { + public override int LabelNumber { get { return 1096932; } } /* jellybeans */ + + [Constructable] + public JellyBeans() + : this( 1 ) + { + } + + public JellyBeans( int amount ) + : base( 0x468C ) + { + Stackable = true; + } + + public JellyBeans( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/Treats/Lollipops.cs b/Scripts/Holiday Stuff/Halloween/Treats/Lollipops.cs new file mode 100644 index 000000000..d166bd6e8 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/Treats/Lollipops.cs @@ -0,0 +1,40 @@ +using System; +using Server; + +namespace Server.Items +{ + public class Lollipops : CandyCane + { + [Constructable] + public Lollipops() + : this( 1 ) + { + } + + [Constructable] + public Lollipops( int amount ) + : base( 0x468D + Utility.Random( 3 )) + { + Stackable = true; + } + + public Lollipops( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/Treats/NougatSwirl.cs b/Scripts/Holiday Stuff/Halloween/Treats/NougatSwirl.cs new file mode 100644 index 000000000..2cea6db70 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/Treats/NougatSwirl.cs @@ -0,0 +1,42 @@ +using System; +using Server; + +namespace Server.Items +{ + public class NougatSwirl : CandyCane + { + public override int LabelNumber { get { return 1096936; } } /* nougat swirl */ + + [Constructable] + public NougatSwirl() : this(1) + { + + } + + [Constructable] + public NougatSwirl( int amount ) + : base( 0x4690 ) + { + Stackable = true; + } + + public NougatSwirl( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/Treats/Taffy.cs b/Scripts/Holiday Stuff/Halloween/Treats/Taffy.cs new file mode 100644 index 000000000..508d51b28 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/Treats/Taffy.cs @@ -0,0 +1,41 @@ +using System; +using Server; + +namespace Server.Items +{ + public class Taffy : CandyCane + { + public override int LabelNumber { get { return 1096949; } } /* taffy */ + + [Constructable] + public Taffy() + : this( 1 ) + { + } + + public Taffy( int amount ) + : base( 0x469D ) + { + Stackable = true; + } + + public Taffy( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +} diff --git a/Scripts/Holiday Stuff/Halloween/Treats/WrappedCandy.cs b/Scripts/Holiday Stuff/Halloween/Treats/WrappedCandy.cs new file mode 100644 index 000000000..16e864901 --- /dev/null +++ b/Scripts/Holiday Stuff/Halloween/Treats/WrappedCandy.cs @@ -0,0 +1,41 @@ +using System; +using Server; + +namespace Server.Items +{ + public class WrappedCandy : CandyCane + { + public override int LabelNumber { get { return 1096950; } } /* wrapped candy */ + + [Constructable] + public WrappedCandy() + : this( 1 ) + { + } + + public WrappedCandy( int amount ) + : base( 0x469e ) + { + Stackable = true; + } + + public WrappedCandy( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int )0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + } +}