Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
513
Scripts/Items/Consumables/ThanksGivingFood.cs
Normal file
513
Scripts/Items/Consumables/ThanksGivingFood.cs
Normal file
@@ -0,0 +1,513 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public abstract class BaseComplexFood : Food
|
||||
{
|
||||
private int m_Pieces;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int PiecesLeft
|
||||
{
|
||||
get { return m_Pieces; }
|
||||
set
|
||||
{
|
||||
int oldAmt = m_Pieces;
|
||||
m_Pieces = value;
|
||||
|
||||
if (m_Pieces == 0)
|
||||
Delete();
|
||||
else if (oldAmt != m_Pieces)
|
||||
{
|
||||
OnChanged();
|
||||
InvalidateProperties();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public abstract Food Piece { get; }
|
||||
public abstract int Pieces { get; }
|
||||
|
||||
public BaseComplexFood(int id)
|
||||
: base(id)
|
||||
{
|
||||
Stackable = false;
|
||||
this.Weight = 1.0;
|
||||
|
||||
m_Pieces = Pieces;
|
||||
this.FillFactor = m_Pieces;
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
Item piece = Piece;
|
||||
|
||||
if (piece == null)
|
||||
return;
|
||||
|
||||
if (from.Backpack == null || !from.Backpack.TryDropItem(from, piece, false))
|
||||
piece.MoveToWorld(from.Location, from.Map);
|
||||
|
||||
PiecesLeft--;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void OnChanged()
|
||||
{
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
list.Add(1153515, m_Pieces.ToString()); // ~1_COUNT~ pieces
|
||||
}
|
||||
|
||||
public BaseComplexFood(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write((int)0); // version
|
||||
writer.Write(m_Pieces);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
m_Pieces = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class SweetPotatoPie : BaseComplexFood
|
||||
{
|
||||
public override int LabelNumber { get { return 1153514; } } // sweet potato pie
|
||||
|
||||
public override Food Piece { get { return new SliceOfPie(); } }
|
||||
public override int Pieces { get { return 6; } }
|
||||
|
||||
[Constructable]
|
||||
public SweetPotatoPie()
|
||||
: base(19469)
|
||||
{
|
||||
Stackable = false;
|
||||
this.Weight = 1.0;
|
||||
}
|
||||
|
||||
public override void OnChanged()
|
||||
{
|
||||
if (PiecesLeft < Pieces && ItemID == 19469)
|
||||
ItemID = 19458;
|
||||
}
|
||||
|
||||
public SweetPotatoPie(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();
|
||||
}
|
||||
}
|
||||
|
||||
[Flipable(19459, 19560)]
|
||||
public class SliceOfPie : Food
|
||||
{
|
||||
public override int LabelNumber { get { return 1153519; } } // slice of pie
|
||||
|
||||
[Constructable]
|
||||
public SliceOfPie()
|
||||
: base(19459)
|
||||
{
|
||||
Stackable = false;
|
||||
this.Weight = 1.0;
|
||||
this.FillFactor = 1;
|
||||
}
|
||||
|
||||
public SliceOfPie(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();
|
||||
}
|
||||
}
|
||||
|
||||
public class MashedSweetPotatoes : Food
|
||||
{
|
||||
public override int LabelNumber { get { return 1153516; } } // mashed sweet potatoes
|
||||
|
||||
[Constructable]
|
||||
public MashedSweetPotatoes()
|
||||
: base(19461)
|
||||
{
|
||||
Stackable = false;
|
||||
this.Weight = 1.0;
|
||||
this.FillFactor = 1;
|
||||
}
|
||||
|
||||
public MashedSweetPotatoes(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();
|
||||
}
|
||||
}
|
||||
|
||||
[Flipable(19371, 19372)]
|
||||
public class BasketOfRolls : BaseComplexFood
|
||||
{
|
||||
public override int LabelNumber { get { return 1153518; } } // basket of rolls
|
||||
|
||||
public override Food Piece { get { return new DinnerRoll(); } }
|
||||
public override int Pieces { get { return 13; } }
|
||||
|
||||
[Constructable]
|
||||
public BasketOfRolls()
|
||||
: base(19371)
|
||||
{
|
||||
Stackable = false;
|
||||
this.Weight = 1.0;
|
||||
}
|
||||
|
||||
public BasketOfRolls(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();
|
||||
}
|
||||
}
|
||||
|
||||
public class DinnerRoll : Food
|
||||
{
|
||||
public override int LabelNumber { get { return 1153520; } } // dinner roll
|
||||
|
||||
[Constructable]
|
||||
public DinnerRoll()
|
||||
: base(2538)
|
||||
{
|
||||
this.Weight = 1.0;
|
||||
this.FillFactor = 1;
|
||||
}
|
||||
|
||||
public DinnerRoll(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();
|
||||
}
|
||||
}
|
||||
|
||||
[Flipable(18824, 18831)]
|
||||
public class TurkeyPlatter : BaseComplexFood
|
||||
{
|
||||
public override int LabelNumber { get { return 1153517; } } // turkey platter
|
||||
|
||||
public override Food Piece
|
||||
{
|
||||
get
|
||||
{
|
||||
switch (Utility.Random(6))
|
||||
{
|
||||
default:
|
||||
case 0: return new TurkeyDinner();
|
||||
case 1: return new RoastDuck();
|
||||
case 2: return new RoastTurkey();
|
||||
case 3: return new RoastChicken();
|
||||
case 4: return new TurkeyLeg();
|
||||
case 5: return new GibletGravey();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override int Pieces { get { return 8; } }
|
||||
|
||||
[Constructable]
|
||||
public TurkeyPlatter()
|
||||
: base(18824)
|
||||
{
|
||||
Stackable = false;
|
||||
this.Weight = 1.0;
|
||||
}
|
||||
|
||||
public TurkeyPlatter(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();
|
||||
}
|
||||
}
|
||||
|
||||
public class TurkeyDinner : Food
|
||||
{
|
||||
public override int LabelNumber { get { return 1153532; } } // Turkey Dinner
|
||||
|
||||
[Constructable]
|
||||
public TurkeyDinner()
|
||||
: base(2479)
|
||||
{
|
||||
this.Weight = 1.0;
|
||||
this.FillFactor = 1;
|
||||
}
|
||||
|
||||
public TurkeyDinner(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();
|
||||
}
|
||||
}
|
||||
|
||||
[Flipable(2487, 2488)]
|
||||
public class RoastDuck : Food
|
||||
{
|
||||
public override int LabelNumber { get { return 1153505; } } // Roast Duck
|
||||
|
||||
[Constructable]
|
||||
public RoastDuck()
|
||||
: base(2487)
|
||||
{
|
||||
this.Weight = 1.0;
|
||||
this.FillFactor = 1;
|
||||
}
|
||||
|
||||
public RoastDuck(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();
|
||||
}
|
||||
}
|
||||
|
||||
[Flipable(2487, 2488)]
|
||||
public class RoastTurkey : Food
|
||||
{
|
||||
public override int LabelNumber { get { return 1153507; } } // Roast Turkey
|
||||
|
||||
[Constructable]
|
||||
public RoastTurkey()
|
||||
: base(2487)
|
||||
{
|
||||
this.Weight = 1.0;
|
||||
this.FillFactor = 1;
|
||||
}
|
||||
|
||||
public RoastTurkey(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();
|
||||
}
|
||||
}
|
||||
|
||||
[Flipable(2487, 2488)]
|
||||
public class RoastChicken : Food
|
||||
{
|
||||
public override int LabelNumber { get { return 1153506; } } // Roast Turkey
|
||||
|
||||
[Constructable]
|
||||
public RoastChicken()
|
||||
: base(2487)
|
||||
{
|
||||
this.Weight = 1.0;
|
||||
this.FillFactor = 1;
|
||||
}
|
||||
|
||||
public RoastChicken(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();
|
||||
}
|
||||
}
|
||||
|
||||
public class TurkeyLeg : Food
|
||||
{
|
||||
public override int LabelNumber { get { return 1153508; } } // turkey leg
|
||||
|
||||
[Constructable]
|
||||
public TurkeyLeg()
|
||||
: base(5640)
|
||||
{
|
||||
this.Weight = 1.0;
|
||||
this.FillFactor = 1;
|
||||
}
|
||||
|
||||
public TurkeyLeg(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();
|
||||
}
|
||||
}
|
||||
|
||||
public class GibletGravey : Food
|
||||
{
|
||||
public override int LabelNumber { get { return 1153509; } } // Giblet Gravey
|
||||
|
||||
[Constructable]
|
||||
public GibletGravey()
|
||||
: base(5634)
|
||||
{
|
||||
this.Weight = 1.0;
|
||||
this.FillFactor = 1;
|
||||
}
|
||||
|
||||
public GibletGravey(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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user