Overwrite

Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
Unstable Kitsune
2023-11-28 23:20:26 -05:00
parent 3cd54811de
commit b918192e4e
11608 changed files with 2644205 additions and 47 deletions

View File

@@ -0,0 +1,36 @@
using System;
using Server;
namespace Server.Items
{
public class AcademicBooksArtifact : BaseDecorationArtifact
{
public override int ArtifactRarity { get { return 8; } }
public override int LabelNumber { get { return 1071202; } } // academic books
[Constructable]
public AcademicBooksArtifact()
: base(0x1E25)
{
Hue = 2413;
}
public AcademicBooksArtifact(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View File

@@ -0,0 +1,33 @@
using System;
namespace Server.Items
{
public class ArtifactLargeVase : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public ArtifactLargeVase()
: base(0x0B47)
{
}
public ArtifactLargeVase(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();
}
}
}

View File

@@ -0,0 +1,33 @@
using System;
namespace Server.Items
{
public class ArtifactVase : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public ArtifactVase()
: base(0x0B48)
{
}
public ArtifactVase(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();
}
}
}

View File

@@ -0,0 +1,42 @@
using System;
namespace Server.Items
{
public class BakeKitsuneStatue : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public BakeKitsuneStatue()
: base(0x2763)
{
this.LootType = LootType.Blessed;
this.Weight = 1.0;
}
public BakeKitsuneStatue(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073189;
}
}// A Bake Kitsune Contribution Statue from the Britannia Royal Zoo.
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();
}
}
}

View File

@@ -0,0 +1,94 @@
using System;
namespace Server.Items
{
public abstract class BaseDecorationArtifact : Item, IArtifact
{
public override bool IsArtifact { get { return true; } }
public virtual bool ShowArtifactRarity { get { return true; } }
public BaseDecorationArtifact(int itemID)
: base(itemID)
{
this.Weight = 10.0;
}
public BaseDecorationArtifact(Serial serial)
: base(serial)
{
}
public abstract int ArtifactRarity { get; }
public override bool ForceShowProperties
{
get
{
return true;
}
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
if(ShowArtifactRarity)
list.Add(1061078, this.ArtifactRarity.ToString()); // artifact rarity ~1_val~
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
public abstract class BaseDecorationContainerArtifact : BaseContainer
{
public BaseDecorationContainerArtifact(int itemID)
: base(itemID)
{
this.Weight = 10.0;
}
public BaseDecorationContainerArtifact(Serial serial)
: base(serial)
{
}
public abstract int ArtifactRarity { get; }
public override bool ForceShowProperties
{
get
{
return true;
}
}
public override void AddNameProperties(ObjectPropertyList list)
{
base.AddNameProperties(list);
list.Add(1061078, this.ArtifactRarity.ToString()); // artifact rarity ~1_val~
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View File

@@ -0,0 +1,39 @@
using System;
namespace Server.Items
{
public class CandelabraOfSouls : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public CandelabraOfSouls()
: base(0xB26)
{
Light = LightType.Circle225;
}
public CandelabraOfSouls(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1063478;
}
}
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();
}
}
}

View File

@@ -0,0 +1,42 @@
using System;
namespace Server.Items
{
public class ChangelingStatue : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public ChangelingStatue()
: base(0x2D8A)
{
this.LootType = LootType.Blessed;
this.Weight = 1.0;
}
public ChangelingStatue(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073191;
}
}// A Changeling Contribution Statue from the Britannia Royal Zoo.
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();
}
}
}

View File

@@ -0,0 +1,34 @@
using Server;
using System;
namespace Server.Items
{
public class CoffinPiece : Item
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1116783; } }
[Constructable]
public CoffinPiece() : base(Utility.RandomList(7481, 7480, 7479, 7452, 7451, 7450))
{
}
public CoffinPiece(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();
}
}
}

View File

@@ -0,0 +1,371 @@
using System;
using Server.Network;
namespace Server.Items
{
public class CollectionStatuette : BaseStatuette
{
public override bool IsArtifact { get { return true; } }
public CollectionStatuette(int itemID)
: base(itemID)
{
this.LootType = LootType.Blessed;
this.Weight = 1.0;
}
public CollectionStatuette(Serial serial)
: base(serial)
{
}
public override void OnMovement(Mobile m, Point3D oldLocation)
{
if (this.TurnedOn && this.IsLockedDown && (!m.Hidden || m.IsPlayer()) && Utility.InRange(m.Location, this.Location, 2) && !Utility.InRange(oldLocation, this.Location, 2))
{
this.PublicOverheadMessage(MessageType.Regular, 0x3B2, Utility.RandomMinMax(1073207, 1073216));
Effects.PlaySound(this.Location, this.Map, Utility.RandomMinMax(0x5A, 0xE9));
}
base.OnMovement(m, oldLocation);
}
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 SilverSteedZooStatuette : CollectionStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public SilverSteedZooStatuette()
: base(0x259D)
{
}
public SilverSteedZooStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073219;
}
}// Interactive Silver Steed Contribution Statue
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 QuagmireZooStatuette : CollectionStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public QuagmireZooStatuette()
: base(0x2614)
{
}
public QuagmireZooStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1074848;
}
}// Interactive Quagmire Contribution Statue from the Britannia Royal Zoo.
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 BakeKitsuneZooStatuette : CollectionStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public BakeKitsuneZooStatuette()
: base(0x2763)
{
}
public BakeKitsuneZooStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1074849;
}
}// Interactive Bake Kitsune Contribution Statue from the Britannia Royal Zoo.
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 DireWolfZooStatuette : CollectionStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public DireWolfZooStatuette()
: base(0x25D0)
{
}
public DireWolfZooStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073196;
}
}// Interactive Dire Wolf Contribution Statue from the Britannia Royal Zoo.
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 CraneZooStatuette : CollectionStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public CraneZooStatuette()
: base(0x2764)
{
}
public CraneZooStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073197;
}
}// An Interactive Crane Contribution Statue from the Britannia Royal Zoo.
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 PolarBearZooStatuette : CollectionStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public PolarBearZooStatuette()
: base(0x20E1)
{
}
public PolarBearZooStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1074851;
}
}// Interactive Polar Bear Contribution Statue from the Britannia Royal Zoo.
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 ChangelingZooStatuette : CollectionStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public ChangelingZooStatuette()
: base(0x2D8A)
{
}
public ChangelingZooStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1074850;
}
}// Interactive Changeling Contribution Statue from the Britannia Royal Zoo.
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 ReptalonZooStatuette : CollectionStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public ReptalonZooStatuette()
: base(0x2D95)
{
}
public ReptalonZooStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1074852;
}
}// Interactive Reptalon Contribution Statue from the Britannia Royal Zoo.
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 SpecialAchievementZooStatuette : CollectionStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public SpecialAchievementZooStatuette()
: base(0x2FF6)
{
this.Weight = 10.0;
}
public SpecialAchievementZooStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073226;
}
}// Britannia Royal Zoo Special Achievement Award
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();
}
}
}

View File

@@ -0,0 +1,76 @@
using System;
namespace Server.Items
{
public class LibraryFriendLantern : Lantern
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public LibraryFriendLantern()
: base()
{
}
public LibraryFriendLantern(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073339;
}
}// Friends of the Library Reading Lantern
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 LibraryFriendReadingChair : BigElvenChair
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public LibraryFriendReadingChair()
: base()
{
}
public LibraryFriendReadingChair(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073340;
}
}// Friends of the Library Reading Chair
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();
}
}
}

View File

@@ -0,0 +1,275 @@
using System;
using Server.Network;
namespace Server.Items
{
[Flipable(0xFBD, 0xFBE)]
public class SherryTheMouseQuotes : BaseStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public SherryTheMouseQuotes()
: base(0xFBD)
{
this.LootType = LootType.Blessed;
this.Weight = 5.0;
}
public SherryTheMouseQuotes(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073300;
}
}// Library Friends - Quotes from the pen of Sherry the Mouse
public override void OnMovement(Mobile m, Point3D oldLocation)
{
if (this.TurnedOn && this.IsLockedDown && (!m.Hidden || m.IsPlayer()) && Utility.InRange(m.Location, this.Location, 2) && !Utility.InRange(oldLocation, this.Location, 2))
{
this.PublicOverheadMessage(MessageType.Regular, 0x3B2, Utility.RandomMinMax(1073301, 1073309));
if (Utility.RandomBool())
Effects.PlaySound(this.Location, this.Map, Utility.RandomMinMax(0x30A, 0x313));
else
Effects.PlaySound(this.Location, this.Map, Utility.RandomMinMax(0x419, 0x422));
}
base.OnMovement(m, oldLocation);
}
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(0xFBD, 0xFBE)]
public class WyrdBeastmasterQuotes : BaseStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public WyrdBeastmasterQuotes()
: base(0xFBD)
{
this.LootType = LootType.Blessed;
this.Weight = 5.0;
}
public WyrdBeastmasterQuotes(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073310;
}
}// Library Friends - Quotes from the pen of Wyrd Beastmaster
public override void OnMovement(Mobile m, Point3D oldLocation)
{
if (this.TurnedOn && this.IsLockedDown && (!m.Hidden || m.IsPlayer()) && Utility.InRange(m.Location, this.Location, 2) && !Utility.InRange(oldLocation, this.Location, 2))
{
this.PublicOverheadMessage(MessageType.Regular, 0x3B2, Utility.RandomMinMax(1073311, 1073316));
if (Utility.RandomBool())
Effects.PlaySound(this.Location, this.Map, Utility.RandomMinMax(0x30A, 0x313));
else
Effects.PlaySound(this.Location, this.Map, Utility.RandomMinMax(0x419, 0x422));
}
base.OnMovement(m, oldLocation);
}
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(0xFBD, 0xFBE)]
public class MercenaryJustinQuotes : BaseStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public MercenaryJustinQuotes()
: base(0xFBD)
{
this.LootType = LootType.Blessed;
this.Weight = 5.0;
}
public MercenaryJustinQuotes(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073317;
}
}// Library Friends - Quotes from the pen of Mercenary Justin
public override void OnMovement(Mobile m, Point3D oldLocation)
{
if (this.TurnedOn && this.IsLockedDown && (!m.Hidden || m.IsPlayer()) && Utility.InRange(m.Location, this.Location, 2) && !Utility.InRange(oldLocation, this.Location, 2))
{
this.PublicOverheadMessage(MessageType.Regular, 0x3B2, Utility.RandomMinMax(1073318, 1073325));
if (Utility.RandomBool())
Effects.PlaySound(this.Location, this.Map, Utility.RandomMinMax(0x30A, 0x313));
else
Effects.PlaySound(this.Location, this.Map, Utility.RandomMinMax(0x419, 0x422));
}
base.OnMovement(m, oldLocation);
}
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(0xFBD, 0xFBE)]
public class HeigelOfMoonglowQuotes : BaseStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public HeigelOfMoonglowQuotes()
: base(0xFBD)
{
this.LootType = LootType.Blessed;
this.Weight = 5.0;
}
public HeigelOfMoonglowQuotes(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073327;
}
}// Library Friends - Quotes from the pen of Heigel of Moonglow
public override void OnMovement(Mobile m, Point3D oldLocation)
{
if (this.TurnedOn && this.IsLockedDown && (!m.Hidden || m.IsPlayer()) && Utility.InRange(m.Location, this.Location, 2) && !Utility.InRange(oldLocation, this.Location, 2))
{
this.PublicOverheadMessage(MessageType.Regular, 0x3B2, Utility.RandomList(1073326, 1073328, 1073329, 1073330, 1073331));
if (Utility.RandomBool())
Effects.PlaySound(this.Location, this.Map, Utility.RandomMinMax(0x30A, 0x313));
else
Effects.PlaySound(this.Location, this.Map, Utility.RandomMinMax(0x419, 0x422));
}
base.OnMovement(m, oldLocation);
}
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(0xFBD, 0xFBE)]
public class TraderHoraceQuotes : BaseStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public TraderHoraceQuotes()
: base(0xFBD)
{
this.LootType = LootType.Blessed;
this.Weight = 5.0;
}
public TraderHoraceQuotes(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073338;
}
}// Library Friends - Quotes from the pen of Horace, Trader
public override void OnMovement(Mobile m, Point3D oldLocation)
{
if (this.TurnedOn && this.IsLockedDown && (!m.Hidden || m.IsPlayer()) && Utility.InRange(m.Location, this.Location, 2) && !Utility.InRange(oldLocation, this.Location, 2))
{
this.PublicOverheadMessage(MessageType.Regular, 0x3B2, Utility.RandomMinMax(1073332, 1073337));
if (Utility.RandomBool())
Effects.PlaySound(this.Location, this.Map, Utility.RandomMinMax(0x30A, 0x313));
else
Effects.PlaySound(this.Location, this.Map, Utility.RandomMinMax(0x419, 0x422));
}
base.OnMovement(m, oldLocation);
}
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();
}
}
}

View File

@@ -0,0 +1,34 @@
using Server;
using System;
namespace Server.Items
{
public class CreepingVine : Item
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1112401; } }
[Constructable]
public CreepingVine()
: base(Utility.Random(18322, 4))
{
}
public CreepingVine(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();
}
}
}

View File

@@ -0,0 +1,33 @@
using System;
namespace Server.Items
{
public class DemonSkull : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public DemonSkull()
: base(0x224e + Utility.Random(4))
{
}
public DemonSkull(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();
}
}
}

View File

@@ -0,0 +1,32 @@
using System;
namespace Server.Items
{
public class DirtPatch : Item
{
[Constructable]
public DirtPatch()
: base(0x0913)
{
}
public DirtPatch(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();
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,40 @@
using System;
namespace Server.Items
{
public class EvilIdolSkull : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public EvilIdolSkull()
: base(0x1F18)
{
}
public EvilIdolSkull(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1095237;
}
}// Evil Idol
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();
}
}
}

View File

@@ -0,0 +1,90 @@
using System;
using Server.Mobiles;
namespace Server.Items
{
public class FerretImprisonedInCrystal : BaseImprisonedMobile
{
[Constructable]
public FerretImprisonedInCrystal()
: base(0x1F19)
{
this.Name = "a ferret imprisoned in a crystal";
this.Weight = 1.0;
}
public FerretImprisonedInCrystal(Serial serial)
: base(serial)
{
}
public override BaseCreature Summon
{
get
{
return new ShimmeringFerret();
}
}
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();
}
}
}
namespace Server.Mobiles
{
public class ShimmeringFerret : Ferret
{
[Constructable]
public ShimmeringFerret()
: base()
{
this.SetSkill(SkillName.MagicResist, 100.0);
this.SetSkill(SkillName.Tactics, 100.0);
this.SetSkill(SkillName.Wrestling, 100.0);
}
public ShimmeringFerret(Serial serial)
: base(serial)
{
}
public override bool DeleteOnRelease
{
get
{
return true;
}
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
list.Add(1049646); // (summoned)
}
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();
}
}
}

View File

@@ -0,0 +1,37 @@
using System;
using Server.Items;
namespace Server.Items
{
public class FigureheadOfBmvArarat : BaseDecorationArtifact
{
public override int ArtifactRarity { get { return 8; } }
public override bool IsArtifact { get { return true; } }
[Constructable]
public FigureheadOfBmvArarat()
: base(0x2D0E)
{
this.Name = "Figurehead Of The Bmv Ararat";
this.Weight = 10.0;
this.Hue = 2968; // checked
}
public FigureheadOfBmvArarat(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();
}
}
}

View File

@@ -0,0 +1,51 @@
using System;
namespace Server.Items
{
[Flipable]
public class Futon : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public Futon()
: base(Utility.RandomDouble() > 0.5 ? 0x295C : 0x295E)
{
}
public Futon(Serial serial)
: base(serial)
{
}
public void Flip()
{
switch ( this.ItemID )
{
case 0x295C:
this.ItemID = 0x295D;
break;
case 0x295E:
this.ItemID = 0x295F;
break;
case 0x295D:
this.ItemID = 0x295C;
break;
case 0x295F:
this.ItemID = 0x295E;
break;
}
}
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();
}
}
}

View File

@@ -0,0 +1,52 @@
using System;
namespace Server.Items
{
public class GhostShipAnchor : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public GhostShipAnchor()
: base(0x14F7)
{
this.Hue = 0x47E;
this.Weight = 2;
}
public GhostShipAnchor(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1070816;
}
}// Ghost Ship Anchor
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch (version)
{
case 0:
this.Weight = 2;
break;
}
if (this.ItemID == 0x1F47)
this.ItemID = 0x14F7;
}
}
}

View File

@@ -0,0 +1,40 @@
using System;
namespace Server.Items
{
public class KingsGildedStatue : BaseDecorationArtifact
{
public override bool IsArtifact { get { return true; } }
public override bool ShowArtifactRarity { get { return false; } }
public override int ArtifactRarity { get { return 8; } }
public override double DefaultWeight { get { return 10.0; } }
public override string DefaultName { get { return "A Gilded Statue from the Personal Collection of the King"; } }
[Constructable]
public KingsGildedStatue()
: base(0x139D)
{
Hue = 2721;
}
public KingsGildedStatue(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();
}
}
}

View File

@@ -0,0 +1,40 @@
using System;
namespace Server.Items
{
public class GoldBricks : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public GoldBricks()
: base(0x1BEB)
{
}
public GoldBricks(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1063489;
}
}
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();
}
}
}

View File

@@ -0,0 +1,48 @@
using Server;
using System;
using Server.Mobiles;
namespace Server.Items
{
public class GrapeVine : Item
{
public override bool IsArtifact { get { return true; } }
private DateTime m_NextHarvest;
private readonly double HarvestWait = 4;
public override int LabelNumber { get { return 1149954; } }
[Constructable]
public GrapeVine() : base(Utility.Random(3355, 10))
{
m_NextHarvest = DateTime.UtcNow;
}
public override void OnDoubleClick(Mobile from)
{
if((ItemID == 3358 || ItemID == 3363) && Movable == false && m_NextHarvest < DateTime.UtcNow)
{
from.AddToBackpack(new GrapeBunch());
m_NextHarvest = DateTime.UtcNow + TimeSpan.FromHours(HarvestWait);
}
}
public GrapeVine(Serial serial) : base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
writer.Write(m_NextHarvest);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
m_NextHarvest = reader.ReadDateTime();
}
}
}

View File

@@ -0,0 +1,232 @@
using System;
using Server.Mobiles;
namespace Server.Items
{
public class ImprisonedDog : BaseImprisonedMobile
{
[Constructable]
public ImprisonedDog()
: base(0x1F1C)
{
this.Weight = 1.0;
this.Hue = 0x485;
}
public ImprisonedDog(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1075091;
}
}// An Imprisoned Dog
public override BaseCreature Summon
{
get
{
return new TravestyDog();
}
}
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();
}
}
}
namespace Server.Mobiles
{
public class TravestyDog : Dog
{
private string m_Name;
private DateTime m_NextAttempt;
[Constructable]
public TravestyDog()
: base()
{
this.Hue = 2301;
this.m_Name = null;
this.m_NextAttempt = DateTime.UtcNow;
}
public TravestyDog(Serial serial)
: base(serial)
{
}
public override bool DeleteOnRelease
{
get
{
return true;
}
}
public bool Morphed
{
get
{
return this.m_Name != null;
}
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
list.Add(1049646); // (summoned)
}
public void DeleteItems()
{
for (int i = this.Items.Count - 1; i >= 0; i --)
if (this.Items[i] is ClonedItem)
this.Items[i].Delete();
}
public void BeginMorph(Mobile to)
{
if (to == null || !this.Alive || this.Morphed)
return;
this.m_Name = this.Name;
this.Body = to.Body;
this.Hue = to.Hue;
this.Name = to.Name;
this.Female = to.Female;
this.Title = to.Title;
this.HairItemID = to.HairItemID;
this.HairHue = to.HairHue;
this.FacialHairItemID = to.FacialHairItemID;
this.FacialHairHue = to.FacialHairHue;
for (int i = to.Items.Count - 1; i >= 0; i --)
{
Item item = to.Items[i];
if (item.Layer != Layer.Backpack && item.Layer != Layer.Mount)
this.AddItem(new ClonedItem(item));
}
this.PlaySound(0x511);
this.FixedParticles(0x376A, 1, 14, 5045, EffectLayer.Waist);
Timer.DelayCall(TimeSpan.FromSeconds(60), new TimerCallback(EndMorph));
}
public void EndMorph()
{
this.DeleteItems();
this.Body = 0xD9;
this.Hue = 2301;
this.Name = this.m_Name;
this.Female = false;
this.Title = null;
this.HairItemID = 0;
this.HairHue = 0;
this.FacialHairItemID = 0;
this.FacialHairHue = 0;
this.m_Name = null;
this.PlaySound(0x511);
this.FixedParticles(0x376A, 1, 14, 5045, EffectLayer.Waist);
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
writer.Write((string)this.m_Name);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
this.m_Name = reader.ReadString();
this.m_NextAttempt = DateTime.UtcNow;
if (this.Morphed)
this.EndMorph();
}
protected override bool OnMove(Direction d)
{
if (!this.Morphed && this.m_NextAttempt <= DateTime.UtcNow)
{
IPooledEnumerable eable = GetMobilesInRange(6);
foreach (Mobile m in eable)
{
if (!m.Hidden && m.Alive && Utility.RandomDouble() < 0.25)
{
this.BeginMorph(m);
break;
}
}
eable.Free();
this.m_NextAttempt = DateTime.UtcNow + TimeSpan.FromSeconds(90);
}
return base.OnMove(d);
}
private class ClonedItem : Item
{
public ClonedItem(Item item)
: base(item.ItemID)
{
this.Name = item.Name;
this.Weight = item.Weight;
this.Hue = item.Hue;
this.Layer = item.Layer;
}
public ClonedItem(Serial serial)
: base(serial)
{
}
public override DeathMoveResult OnParentDeath(Mobile parent)
{
this.Delete();
return DeathMoveResult.RemainEquiped;
}
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();
}
}
}
}

View File

@@ -0,0 +1,74 @@
using System;
namespace Server.Items
{
public class KingsPainting1 : BaseDecorationArtifact
{
public override bool IsArtifact { get { return true; } }
public override bool ShowArtifactRarity { get { return false; } }
public override int ArtifactRarity { get { return 8; } }
public override double DefaultWeight { get { return 10.0; } }
public override string DefaultName { get { return "A Painting From The Personal Collection Of The King"; } }
[Constructable]
public KingsPainting1()
: base(19552)
{
}
public KingsPainting1(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 KingsPainting2 : BaseDecorationArtifact
{
public override bool IsArtifact { get { return true; } }
public override bool ShowArtifactRarity { get { return false; } }
public override int ArtifactRarity { get { return 8; } }
public override double DefaultWeight { get { return 10.0; } }
public override string DefaultName { get { return "A Painting From The Personal Collection Of The King"; } }
[Constructable]
public KingsPainting2()
: base(19558)
{
}
public KingsPainting2(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();
}
}
}

View File

@@ -0,0 +1,79 @@
using Server;
using System;
using Server.Targeting;
namespace Server.Items
{
[Flipable(7845, 7846)]
public class LargeFishingNet : Item
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1149955; } }
[Constructable]
public LargeFishingNet()
: base(7845)
{
}
public override void OnDoubleClick(Mobile from)
{
if (IsChildOf(from.Backpack))
{
from.SendMessage("Target a corpse you'd like to net.");
from.BeginTarget(10, false, TargetFlags.None, new TargetCallback(Net_OnTarget));
}
}
public void Net_OnTarget(Mobile from, object targeted)
{
if (targeted is Corpse && (((Corpse)targeted).Owner == null || !((Corpse)targeted).Owner.Player))
{
if (SOS.ValidateDeepWater(((Corpse)targeted).Map, ((Corpse)targeted).X, ((Corpse)targeted).Y))
{
from.Animate(12, 5, 1, true, false, 0);
Timer.DelayCall(TimeSpan.FromSeconds(0.5), new TimerStateCallback(MoveCorpse), new object[] { (Corpse)targeted, from });
}
else
from.SendLocalizedMessage(1010485); // You can only use this in deep water!
}
else
from.SendMessage("You can only net corpses!");
}
public void MoveCorpse(object o)
{
object[] ojs = (object[])o;
Corpse c = ojs[0] as Corpse;
Mobile from = ojs[1] as Mobile;
if (c != null && from != null)
c.MoveToWorld(from.Location, from.Map);
}
public override void AddNameProperties(ObjectPropertyList list)
{
base.AddNameProperties(list);
list.Add(1041645); // recovered from a shipwrecklist
}
public LargeFishingNet(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();
}
}
}

View File

@@ -0,0 +1,32 @@
using System;
namespace Server.Items
{
public class LavaTile : Item
{
[Constructable]
public LavaTile()
: base(0x12EE)
{
}
public LavaTile(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();
}
}
}

View File

@@ -0,0 +1,83 @@
using System;
namespace Server.Items
{
public class LordBritishThroneAddon : BaseAddon
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public LordBritishThroneAddon()
{
this.AddComponent(new AddonComponent(0x1526), 0, 0, 0);
this.AddComponent(new AddonComponent(0x1527), 0, -1, 0);
}
public LordBritishThroneAddon(Serial serial)
: base(serial)
{
}
public override BaseAddonDeed Deed
{
get
{
return new LordBritishThroneDeed();
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)1); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
public class LordBritishThroneDeed : BaseAddonDeed
{
[Constructable]
public LordBritishThroneDeed()
{
this.LootType = LootType.Blessed;
}
public LordBritishThroneDeed(Serial serial)
: base(serial)
{
}
public override BaseAddon Addon
{
get
{
return new LordBritishThroneAddon();
}
}
public override int LabelNumber
{
get
{
return 1073243;
}
}// Replica of Lord British's Throne - Museum of Vesper
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();
}
}
}

View File

@@ -0,0 +1,38 @@
using System;
using Server;
namespace Server.Items
{
public class AncientShipModelOfTheHMSCape : Item
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1063476; } }
[Constructable]
public AncientShipModelOfTheHMSCape()
: base(0x14F3)
{
Name = "an Ancient Ship Model Of The HMS Cape";
Hue = 0x37B;
}
public AncientShipModelOfTheHMSCape(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();
}
}
}

View File

@@ -0,0 +1,84 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Gumps;
using Server.Network;
using Server.Multis;
using Server.ContextMenus;
namespace Server.Items
{
[FlipableAttribute( 0x3BB6, 0x3BB7 )]
public class MapOfTheKnownWorld : Item, ISecurable
{
private SecureLevel m_Level;
public override bool IsArtifact { get { return true; } }
[CommandProperty( AccessLevel.GameMaster )]
public SecureLevel Level
{
get{ return m_Level; }
set{ m_Level = value; }
}
[Constructable]
public MapOfTheKnownWorld() : base( 0x3BB6 )
{
Name = "a map of the known world";
Weight = 1.0;
LootType = LootType.Blessed;
}
public override void GetContextMenuEntries( Mobile from, List<ContextMenuEntry> list )
{
base.GetContextMenuEntries( from, list );
SetSecureLevelEntry.AddTo( from, this, list );
}
public override void OnDoubleClick( Mobile from )
{
if ( from.InRange( GetWorldLocation(), 2 ) )
{
from.CloseGump( typeof( InternalGump ) );
from.SendGump( new InternalGump() );
}
else
{
from.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that.
}
}
private class InternalGump : Gump
{
public InternalGump() : base( 50, 50 )
{
AddImage( 0, 0, 0x12B ); //299
}
}
public MapOfTheKnownWorld( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.WriteEncodedInt( (int) 0 ); // version
writer.WriteEncodedInt( (int) m_Level );
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize( reader );
int version = reader.ReadEncodedInt();
m_Level = (SecureLevel) reader.ReadEncodedInt();
}
}
}

View File

@@ -0,0 +1,42 @@
using System;
namespace Server.Items
{
public class MedusaStatue : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public MedusaStatue()
: base(0x40BC)
{
this.Name = "Medusa";
this.Weight = 10;
}
public MedusaStatue(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1113626;
}
}
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();
}
}
}

View File

@@ -0,0 +1,106 @@
//Created By Milva
////////////////////////////////////////
// //
// Generated by CEO's YAAAG - V1.2 //
// (Yet Another Arya Addon Generator) //
// //
////////////////////////////////////////
using System;
using Server;
using Server.Items;
namespace Server.Items
{
[TypeAlias("Server.Items.MedusasFloortileAddon")]
public class MedusaFloorTileAddon : BaseAddon
{
public override BaseAddonDeed Deed
{
get
{
return new MedusaFloorTileAddonDeed();
}
}
[ Constructable ]
public MedusaFloorTileAddon()
{
AddComponent(new LocalizedAddonComponent(16589, 1113922), 0, 0, 0);// 1
AddComponent(new LocalizedAddonComponent(16591, 1113922), 2, 1, 0);// 2
AddComponent(new LocalizedAddonComponent(16577, 1113922), -2, 2, 0);// 3
AddComponent(new LocalizedAddonComponent(16578, 1113922), -1, -2, 0);// 4
AddComponent(new LocalizedAddonComponent(16581, 1113922), 2, -2, 0);// 5
AddComponent(new LocalizedAddonComponent(16598, 1113922), -1, 2, 0);// 6
AddComponent(new LocalizedAddonComponent(16579, 1113922), 0, -2, 0);// 7
AddComponent(new LocalizedAddonComponent(16601, 1113922), -2, -2, 0);// 8
AddComponent(new LocalizedAddonComponent(16580, 1113922), 1, -2, 0);// 9
AddComponent(new LocalizedAddonComponent(16582, 1113922), -2, 0, 0);// 10
AddComponent(new LocalizedAddonComponent(16586, 1113922), 2, -1, 0);// 11
AddComponent(new LocalizedAddonComponent(16595, 1113922), 1, -1, 0);// 12
AddComponent(new LocalizedAddonComponent(16590, 1113922), 1, 1, 0);// 13
AddComponent(new LocalizedAddonComponent(16585, 1113922), 1, 0, 0);// 14
AddComponent(new LocalizedAddonComponent(16587, 1113922), -2, -1, 0);// 15
AddComponent(new LocalizedAddonComponent(16593, 1113922), -1, 1, 0);// 16
AddComponent(new LocalizedAddonComponent(16594, 1113922), 0, 1, 0);// 17
AddComponent(new LocalizedAddonComponent(16596, 1113922), 2, 0, 0);// 18
AddComponent(new LocalizedAddonComponent(16588, 1113922), -1, -1, 0);// 19
AddComponent(new LocalizedAddonComponent(16597, 1113922), 2, 2, 0);// 20
AddComponent(new LocalizedAddonComponent(16592, 1113922), -2, 1, 0);// 21
AddComponent(new LocalizedAddonComponent(16584, 1113922), 0, -1, 0);// 22
AddComponent(new LocalizedAddonComponent(16583, 1113922), -1, 0, 0);// 23
AddComponent(new LocalizedAddonComponent(16599, 1113922), 0, 2, 0);// 24
AddComponent(new LocalizedAddonComponent(16600, 1113922), 1, 2, 0);// 25
}
public MedusaFloorTileAddon( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( 0 ); // Version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[TypeAlias("Server.Items.MedusasFloortileAddonDeed")]
public class MedusaFloorTileAddonDeed : BaseAddonDeed
{
public override int LabelNumber { get { return 1113918; } } // a Medusa Floor deed
public override BaseAddon Addon
{
get
{
return new MedusaFloorTileAddon();
}
}
[Constructable]
public MedusaFloorTileAddonDeed()
{
}
public MedusaFloorTileAddonDeed( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( 0 ); // Version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,34 @@
using System;
using Server.Network;
using Server.Items;
namespace Server.Items
{
public class MummifiedCorpse : Item
{
public override int LabelNumber { get { return 1112400; } } //a mummified corpse
[Constructable]
public MummifiedCorpse() : base( 0x1C20 )
{
}
public MummifiedCorpse( 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();
}
}
}

View File

@@ -0,0 +1,436 @@
using System;
using Server.Network;
namespace Server.Items
{
public class VesperCollectionStatuette : BaseStatuette
{
public override bool IsArtifact { get { return true; } }
public VesperCollectionStatuette(int itemID)
: base(itemID)
{
this.LootType = LootType.Blessed;
this.Weight = 1.0;
}
public VesperCollectionStatuette(Serial serial)
: base(serial)
{
}
public override void OnMovement(Mobile m, Point3D oldLocation)
{
if (this.TurnedOn && this.IsLockedDown && (!m.Hidden || m.IsPlayer()) && Utility.InRange(m.Location, this.Location, 2) && !Utility.InRange(oldLocation, this.Location, 2))
{
int cliloc = Utility.RandomMinMax(1073266, 1073286);
if (cliloc == 1073282)
cliloc -= 1;
this.PublicOverheadMessage(MessageType.Regular, 0x3B2, cliloc);
Effects.PlaySound(this.Location, this.Map, Utility.Random(0x17));
}
base.OnMovement(m, oldLocation);
}
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 TrollStatuette : VesperCollectionStatuette
{
[Constructable]
public TrollStatuette()
: base(0x20E9)
{
}
public TrollStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073242;
}
}// G'Thunk the Troll - Museum of Vesper Replica
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 CrystalBallStatuette : VesperCollectionStatuette
{
[Constructable]
public CrystalBallStatuette()
: base(0xE2E)
{
}
public CrystalBallStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073244;
}
}// Nystul's Crystal Ball - Museum of Vesper Replica
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 DevourerStatuette : VesperCollectionStatuette
{
[Constructable]
public DevourerStatuette()
: base(0x2623)
{
}
public DevourerStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073245;
}
}// Dangerous Creatures Replica: Devourer of Souls - Museum of Vesper
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 SnowLadyStatuette : VesperCollectionStatuette
{
[Constructable]
public SnowLadyStatuette()
: base(0x276C)
{
}
public SnowLadyStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1075016;
}
}// Dangerous Creatures Replica: Lady of the Snow - Museum of Vesper
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 GolemStatuette : VesperCollectionStatuette
{
[Constructable]
public GolemStatuette()
: base(0x2610)
{
}
public GolemStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1075017;
}
}// Dangerous Creatures Replica: Golem - Museum of Vesper
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 ExodusOverseerStatuette : VesperCollectionStatuette
{
[Constructable]
public ExodusOverseerStatuette()
: base(0x260C)
{
}
public ExodusOverseerStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1075018;
}
}// Dangerous Creatures Replica: Exodus Overseer - Museum of Vesper
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 JukaLordStatuette : VesperCollectionStatuette
{
[Constructable]
public JukaLordStatuette()
: base(0x25FC)
{
}
public JukaLordStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1075019;
}
}// Dangerous Creatures Replica: Juka Lord- Museum of Vesper
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 MeerCaptainStatuette : VesperCollectionStatuette
{
[Constructable]
public MeerCaptainStatuette()
: base(0x25FA)
{
}
public MeerCaptainStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1075020;
}
}// Dangerous Creatures Replica: Meer Captain - Museum of Vesper
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 MeerEternalStatuette : VesperCollectionStatuette
{
[Constructable]
public MeerEternalStatuette()
: base(0x25F8)
{
}
public MeerEternalStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1075021;
}
}// Dangerous Creatures Replica: Meer Eternal - Museum of Vesper
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 SolenQueenStatuette : VesperCollectionStatuette
{
[Constructable]
public SolenQueenStatuette()
: base(0x2602)
{
}
public SolenQueenStatuette(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1075022;
}
}// Dangerous Creatures Replica: Solen Queen - Museum of Vesper
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 VesperSpecialAchievementReplica : VesperCollectionStatuette
{
[Constructable]
public VesperSpecialAchievementReplica()
: base(0x2D4E)
{
}
public VesperSpecialAchievementReplica(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073265;
}
}// Museum of Vesper Special Achievement Replica
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();
}
}
}

View File

@@ -0,0 +1,41 @@
using System;
namespace Server.Items
{
public class PhillipsWoodenSteed : MonsterStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public PhillipsWoodenSteed()
: base(MonsterStatuetteType.PhillipsWoodenSteed)
{
this.LootType = LootType.Regular;
}
public PhillipsWoodenSteed(Serial serial)
: base(serial)
{
}
public override bool ForceShowProperties
{
get
{
return ObjectPropertyList.Enabled;
}
}
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();
}
}
}

View File

@@ -0,0 +1,55 @@
using System;
namespace Server.Items
{
public class Pier : Item
{
/*
* This does not make a lot of sense, being a "Pier"
* and having possible itemids that have nothing
* to do with piers. The three items here are basically
* permutations of the same "drop", or item that
* will be randomly selected when the item drops.
*
* It was either this, or make 2
* new classes named to reflect that they are rocks
* in water, or put them all in one class. Either
* is kind of senseless, so it is what it is.
*
*/
public override bool IsArtifact { get { return true; } }
private static readonly int[] m_itemids = new int[]
{
0x3486, 0x348b, 0x3ae
};
[Constructable]
public Pier()
: base(m_itemids[Utility.Random(3)])
{
}
public Pier(int itemid)
: base(itemid)
{
}
public Pier(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();
}
}
}

View File

@@ -0,0 +1,42 @@
using System;
namespace Server.Items
{
public class PolarBearStatue : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public PolarBearStatue()
: base(0x20E1)
{
this.LootType = LootType.Blessed;
this.Weight = 1.0;
}
public PolarBearStatue(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073193;
}
}// A Polar Bear Contribution Statue from the Britannia Royal Zoo.
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();
}
}
}

View File

@@ -0,0 +1,42 @@
using System;
namespace Server.Items
{
public class QuagmireStatue : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public QuagmireStatue()
: base(0x2614)
{
this.LootType = LootType.Blessed;
this.Weight = 1.0;
}
public QuagmireStatue(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073195;
}
}// A Quagmire Contribution Statue from the Britannia Royal Zoo.
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();
}
}
}

View File

@@ -0,0 +1,42 @@
using System;
namespace Server.Items
{
public class ReptalonStatue : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public ReptalonStatue()
: base(0x2D95)
{
this.LootType = LootType.Blessed;
this.Weight = 1.0;
}
public ReptalonStatue(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073192;
}
}// A Reptalon Contribution Statue from the Britannia Royal Zoo.
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();
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,41 @@
using System;
namespace Server.Items
{
[FlipableAttribute(0x4A9A, 0x4A9B)]
public class SantaStatue : MonsterStatuette
{
public override int LabelNumber { get { return 1097968; } } // santa statue
[Constructable]
public SantaStatue()
: base(MonsterStatuetteType.Santa)
{
Weight = 10.0;
}
public SantaStatue(Serial serial)
: base(serial)
{
}
public override bool ForceShowProperties
{
get
{
return ObjectPropertyList.Enabled;
}
}
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();
}
}
}

View File

@@ -0,0 +1,36 @@
using System;
namespace Server.Items
{
public class SeahorseStatuette : MonsterStatuette
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public SeahorseStatuette()
: base(MonsterStatuetteType.Seahorse)
{
this.LootType = LootType.Regular;
this.Hue = Utility.RandomList(0, 0x482, 0x489, 0x495, 0x4F2);
}
public SeahorseStatuette(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();
}
}
}

View File

@@ -0,0 +1,41 @@
using System;
namespace Server.Items
{
public class ShipModelOfTheHMSCape : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public ShipModelOfTheHMSCape()
: base(0x14F3)
{
this.Hue = 0x37B;
}
public ShipModelOfTheHMSCape(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1063476;
}
}
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();
}
}
}

View File

@@ -0,0 +1,37 @@
using System;
using Server.Items;
namespace Server.Items
{
public class ShipsBellOfBmvArarat : BaseDecorationArtifact
{
public override int ArtifactRarity { get { return 8; } }
public override bool IsArtifact { get { return true; } }
[Constructable]
public ShipsBellOfBmvArarat()
: base(0x4C5E)
{
this.Name = "Ship's Bell Of The Bmv Ararat";
this.Weight = 10.0;
this.Hue = 2968; //checked
}
public ShipsBellOfBmvArarat(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();
}
}
}

View File

@@ -0,0 +1,34 @@
using System;
namespace Server.Items
{
public class SkullPole : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public SkullPole()
: base(0x2204)
{
this.Weight = 5;
}
public SkullPole(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();
}
}
}

View File

@@ -0,0 +1,42 @@
using System;
namespace Server.Items
{
public class SnakeStatue : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public SnakeStatue()
: base(0x25C2)
{
this.LootType = LootType.Blessed;
this.Weight = 1.0;
}
public SnakeStatue(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073194;
}
}// A Snake Contribution Statue from the Britannia Royal Zoo.
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();
}
}
}

View File

@@ -0,0 +1,37 @@
using System;
using Server.Items;
namespace Server.Items
{
public class SternAnchorOfBmvArarat : BaseDecorationArtifact
{
public override int ArtifactRarity { get { return 8; } }
public override bool IsArtifact { get { return true; } }
[Constructable]
public SternAnchorOfBmvArarat()
: base(0x14F7)
{
this.Name = "Stern Anchor of the BMV Ararat";
this.Weight = 10.0;
this.Hue = 2959; // checked
}
public SternAnchorOfBmvArarat(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();
}
}
}

View File

@@ -0,0 +1,32 @@
using System;
namespace Server.Items
{
public class SwampTile : Item
{
[Constructable]
public SwampTile()
: base(0x320D)
{
}
public SwampTile(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();
}
}
}

View File

@@ -0,0 +1,195 @@
using System;
using Server;
namespace Server.Items
{
public class StretchedDinosaurHide : BaseDecorationArtifact
{
public override int ArtifactRarity { get { return 11; } }
public override bool ShowArtifactRarity { get { return false; } }
public override bool DisplayWeight { get { return false; } }
[Constructable]
public StretchedDinosaurHide() : base(4202)
{
Name = "Stretched Dinosaur Hide";
Hue = 2523;
}
public StretchedDinosaurHide(Serial serial) : base(serial)
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.WriteEncodedInt( 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadEncodedInt();
}
}
public class CarvedMyrmydexGlyph : BaseDecorationArtifact // Barrab
{
public override int ArtifactRarity { get { return 11; } }
public override bool ShowArtifactRarity { get { return false; } }
public override bool DisplayWeight { get { return false; } }
[Constructable]
public CarvedMyrmydexGlyph() : base(4676)
{
Name = "Carved Myrmydex Glyph";
Hue = 2952;
}
public CarvedMyrmydexGlyph(Serial serial) : base(serial)
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.WriteEncodedInt( 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadEncodedInt();
}
}
public class WakuOnASpit : BaseDecorationArtifact // Barako
{
public override int ArtifactRarity { get { return 11; } }
public override bool ShowArtifactRarity { get { return false; } }
public override bool DisplayWeight { get { return false; } }
[Constructable]
public WakuOnASpit() : base(7832)
{
Name = "Waku on a Spit";
}
public WakuOnASpit(Serial serial) : base(serial)
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.WriteEncodedInt( 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadEncodedInt();
}
}
public class SacredLavaRock : BaseDecorationArtifact // Jukari
{
public override int ArtifactRarity { get { return 11; } }
public override bool ShowArtifactRarity { get { return false; } }
public override bool DisplayWeight { get { return false; } }
[Constructable]
public SacredLavaRock() : base(4962)
{
Name = "Sacred Lava Rock";
Hue = 1964;
}
public SacredLavaRock(Serial serial) : base(serial)
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.WriteEncodedInt( 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadEncodedInt();
}
}
public class WhiteTigerFigurine : BaseDecorationArtifact // Kurak
{
public override int ArtifactRarity { get { return 11; } }
public override bool ShowArtifactRarity { get { return false; } }
public override bool DisplayWeight { get { return false; } }
[Constructable]
public WhiteTigerFigurine() : base(38980)
{
Name = "Hand Carved White Tiger Figurine";
Hue = 2500;
}
public WhiteTigerFigurine(Serial serial) : base(serial)
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.WriteEncodedInt( 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadEncodedInt();
}
}
public class DragonTurtleHatchlingNet : BaseDecorationArtifact // Urali
{
public override int ArtifactRarity { get { return 11; } }
public override bool ShowArtifactRarity { get { return false; } }
public override bool DisplayWeight { get { return false; } }
[Constructable]
public DragonTurtleHatchlingNet() : base(3574)
{
Name = "Dragon Turtle Hatchling Net";
}
public DragonTurtleHatchlingNet(Serial serial) : base(serial)
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.WriteEncodedInt( 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadEncodedInt();
}
}
}

View File

@@ -0,0 +1,41 @@
using System;
namespace Server.Items
{
public class TatteredAncientMummyWrapping : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public TatteredAncientMummyWrapping()
: base(0xE21)
{
this.Hue = 0x909;
}
public TatteredAncientMummyWrapping(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1094912;
}
}// Tattered Ancient Mummy Wrapping [Replica]
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();
}
}
}

View File

@@ -0,0 +1,193 @@
using System;
using Server.Mobiles;
using System.Collections.Generic;
using Server.Accounting;
using Server.Engines.VeteranRewards;
namespace Server.Items
{
[Flipable( 0x3BB3, 0x3BB4 )]
public class TenthAnniversarySculpture : Item
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1079532; } } // 10th Anniversary Sculpture
private static Dictionary<Mobile, DateTime> m_LuckTable = new Dictionary<Mobile, DateTime>();
private Dictionary<Mobile, DateTime> m_RewardCooldown;
public Dictionary<Mobile, DateTime> RewardCooldown { get { return m_RewardCooldown; } }
private static List<TenthAnniversarySculpture> m_sculptures = new List<TenthAnniversarySculpture>();
private static Timer m_Timer;
private static readonly int MaxLuckBonus = 1000;
[Constructable]
public TenthAnniversarySculpture() : base( 15283 )
{
Weight = 1.0;
m_RewardCooldown = new Dictionary<Mobile, DateTime>();
AddSculpture(this);
}
public override void OnDoubleClick(Mobile from)
{
if (!from.InRange(GetWorldLocation(), 2))
{
from.SendLocalizedMessage(500446); // That is too far away.
return;
}
DefragTables();
if (!IsCoolingDown(from))
{
m_LuckTable[from] = DateTime.UtcNow + TimeSpan.FromMinutes(60);
from.SendLocalizedMessage(1079551); // Your luck just improved!
m_RewardCooldown[from] = DateTime.UtcNow + TimeSpan.FromHours(24);
from.Delta(MobileDelta.Armor);
}
}
public bool IsCoolingDown(Mobile from)
{
bool donemessage = false;
if (m_LuckTable.ContainsKey(from))
{
from.SendLocalizedMessage(1079534); // You're still feeling lucky from the last time you touched the sculpture.
donemessage = true;
}
foreach (TenthAnniversarySculpture sculpture in m_sculptures)
{
if (sculpture.RewardCooldown != null && sculpture.RewardCooldown.ContainsKey(from))
{
if (!donemessage)
{
TimeSpan left = sculpture.RewardCooldown[from] - DateTime.UtcNow;
if (left.TotalHours > 1)
from.SendLocalizedMessage(1079550, ((int)left.TotalHours).ToString()); // You can improve your fortunes again in about ~1_TIME~ hours.
else if (left.TotalMinutes > 1)
from.SendLocalizedMessage(1079548, ((int)left.TotalMinutes).ToString()); // You can improve your fortunes in about ~1_TIME~ minutes.
else
from.SendLocalizedMessage(1079547); // Your fortunes are about to improve.
}
return true;
}
}
return false;
}
public static void DefragTables()
{
foreach (TenthAnniversarySculpture sculpture in m_sculptures)
{
List<Mobile> list = new List<Mobile>(sculpture.RewardCooldown.Keys);
foreach (Mobile m in list)
{
if (sculpture.RewardCooldown.ContainsKey(m) && sculpture.RewardCooldown[m] < DateTime.UtcNow)
sculpture.RewardCooldown.Remove(m);
}
list.Clear();
}
List<Mobile> remove = new List<Mobile>();
foreach (KeyValuePair<Mobile, DateTime> kvp in m_LuckTable)
{
if (kvp.Value < DateTime.UtcNow)
remove.Add(kvp.Key);
}
remove.ForEach(m =>
{
m_LuckTable.Remove(m);
if (m.NetState != null)
m.SendLocalizedMessage(1079552); //Your luck just ran out.
});
remove.Clear();
}
public static int GetLuckBonus(Mobile from)
{
if (m_LuckTable.ContainsKey(from))
{
Account account = from.Account as Account;
if(account != null)
{
return (int)Math.Min(MaxLuckBonus, 200 + (RewardSystem.GetRewardLevel(account)) * 50);
}
}
return 0;
}
public override void Delete()
{
base.Delete();
RemoveSculpture(this);
if (m_RewardCooldown != null)
m_RewardCooldown.Clear();
}
public static void AddSculpture(TenthAnniversarySculpture sculpture)
{
if (!m_sculptures.Contains(sculpture))
{
m_sculptures.Add(sculpture);
StartTimer();
}
}
public static void RemoveSculpture(TenthAnniversarySculpture sculpture)
{
if (m_sculptures.Contains(sculpture))
m_sculptures.Remove(sculpture);
if (m_sculptures.Count == 0 && m_Timer != null)
{
m_Timer.Stop();
m_Timer = null;
}
}
public static void StartTimer()
{
if (m_Timer != null && m_Timer.Running)
return;
m_Timer = Timer.DelayCall(TimeSpan.FromMinutes(1), TimeSpan.FromMinutes(1), new TimerCallback(DefragTables));
m_Timer.Start();
}
public TenthAnniversarySculpture(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();
m_RewardCooldown = new Dictionary<Mobile, DateTime>();
AddSculpture(this);
}
}
}

View File

@@ -0,0 +1,54 @@
using System;
namespace Server.Items
{
public class TragicRemainsOfTravesty : BaseStatuette
{
public override bool IsArtifact { get { return true; } }
private static readonly int[] m_Sounds = new int[]
{
0x314, 0x315, 0x316, 0x317 // TODO check
};
[Constructable]
public TragicRemainsOfTravesty()
: base(Utility.Random(0x122A, 6))
{
this.Weight = 1.0;
this.Hue = Utility.RandomList(0x11E, 0x846);
}
public TragicRemainsOfTravesty(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1074500;
}
}// Tragic Remains of the Travesty
public override void OnMovement(Mobile m, Point3D oldLocation)
{
if (this.TurnedOn && this.IsLockedDown && (!m.Hidden || m.IsPlayer()) && Utility.InRange(m.Location, this.Location, 2) && !Utility.InRange(oldLocation, this.Location, 2))
Effects.PlaySound(this.Location, this.Map, m_Sounds[Utility.Random(m_Sounds.Length)]);
base.OnMovement(m, oldLocation);
}
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();
}
}
}

View File

@@ -0,0 +1,33 @@
using System;
namespace Server.Items
{
public class WallBlood : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public WallBlood()
: base(Utility.RandomBool() ? 0x1D95 : 0x1D94)
{
}
public WallBlood(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();
}
}
}

View File

@@ -0,0 +1,32 @@
using System;
namespace Server.Items
{
public class WaterTile : Item
{
[Constructable]
public WaterTile()
: base(0x346E)
{
}
public WaterTile(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();
}
}
}

View File

@@ -0,0 +1,41 @@
using System;
namespace Server.Items
{
public class Web : Item
{
public override bool IsArtifact { get { return true; } }
private static readonly int[] m_itemids = new int[]
{
0x10d7, 0x10d8, 0x10dd
};
[Constructable]
public Web()
: base(m_itemids[Utility.Random(3)])
{
}
[Constructable]
public Web(int itemid)
: base(itemid)
{
}
public Web(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();
}
}
}

View File

@@ -0,0 +1,40 @@
using System;
namespace Server.Items
{
public class WindSpirit : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public WindSpirit()
: base(0x1F1F)
{
}
public WindSpirit(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1094925;
}
}// Wind Spirit [Replica]
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();
}
}
}

View File

@@ -0,0 +1,42 @@
using System;
namespace Server.Items
{
public class WolfStatue : Item
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public WolfStatue()
: base(0x25D3)
{
this.LootType = LootType.Blessed;
this.Weight = 1.0;
}
public WolfStatue(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1073190;
}
}// A Wolf Contribution Statue from the Britannia Royal Zoo.
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();
}
}
}