Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
43
Scripts/Services/18th Anniversary/18th AnniversaryBag.cs
Normal file
43
Scripts/Services/18th Anniversary/18th AnniversaryBag.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class AnniversaryBag18th : Bag
|
||||
{
|
||||
public override int LabelNumber { get { return 1156141; } } // 18th Anniversary Gift Bag
|
||||
|
||||
[Constructable]
|
||||
public AnniversaryBag18th()
|
||||
: this(null)
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public AnniversaryBag18th(Mobile m)
|
||||
{
|
||||
Hue = 1164;
|
||||
DropItem(new RecipeScroll(Utility.RandomBool() ? 701 : 702));
|
||||
DropItem(new AnniversaryPlate(m));
|
||||
DropItem(new EnchantedTimepiece());
|
||||
DropItem(new AnniversaryCard(m));
|
||||
}
|
||||
|
||||
public AnniversaryBag18th(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();
|
||||
}
|
||||
}
|
||||
}
|
||||
56
Scripts/Services/18th Anniversary/AnniversaryCard.cs
Normal file
56
Scripts/Services/18th Anniversary/AnniversaryCard.cs
Normal file
@@ -0,0 +1,56 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable(0x9C14, 0x9C15)]
|
||||
public class AnniversaryCard : Item
|
||||
{
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public string Args { get; set; }
|
||||
|
||||
private string[] _Staff = new string[] { Server.Misc.ServerList.ServerName }; // TODO: Get More
|
||||
|
||||
[Constructable]
|
||||
public AnniversaryCard()
|
||||
: this(null)
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public AnniversaryCard(Mobile m) : base(0x9C14)
|
||||
{
|
||||
Hue = 124;
|
||||
|
||||
Args = String.Format("{0}\t{1}", _Staff[Utility.Random(_Staff.Length)], m != null ? m.Name : "you");
|
||||
}
|
||||
|
||||
public override void AddNameProperty(ObjectPropertyList list)
|
||||
{
|
||||
list.Add(1156145, Args); // A Personally Written Anniversary Card from ~1_name~ to ~2_name~
|
||||
|
||||
list.Add(1062613, "#1156146");
|
||||
}
|
||||
|
||||
public AnniversaryCard(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 ); // version
|
||||
|
||||
writer.Write(Args);
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
|
||||
Args = reader.ReadString();
|
||||
}
|
||||
}
|
||||
}
|
||||
68
Scripts/Services/18th Anniversary/AnniversaryPlate.cs
Normal file
68
Scripts/Services/18th Anniversary/AnniversaryPlate.cs
Normal file
@@ -0,0 +1,68 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class AnniversaryPlate : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1156149; } } // An Ornately Decorated Commemorative Plate
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public TextDefinition LabelType { get; set; }
|
||||
|
||||
[Constructable]
|
||||
public AnniversaryPlate()
|
||||
: this(null)
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public AnniversaryPlate(Mobile m) : base(0x9BC8)
|
||||
{
|
||||
if(m != null && .01 > Utility.RandomDouble())
|
||||
LabelType = String.Format("{0} first adventure in Britannia!", m.Name); // No Cliloc???
|
||||
else
|
||||
LabelType = Utility.RandomMinMax(1156150, 1156157);
|
||||
}
|
||||
|
||||
public override void AddNameProperty(ObjectPropertyList list)
|
||||
{
|
||||
list.Add(1156149); // An Ornately Decorated Commemorative Plate
|
||||
|
||||
if (LabelType.Number > 0)
|
||||
list.Add(1062613, String.Format("#{0}", LabelType.Number.ToString()));
|
||||
else if (LabelType.String != null)
|
||||
list.Add(1062613, LabelType.String);
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
if(LabelType.Number > 0)
|
||||
list.Add(LabelType.Number);
|
||||
else if (LabelType.String != null)
|
||||
list.Add(LabelType.String);
|
||||
}
|
||||
|
||||
public AnniversaryPlate(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 ); // version
|
||||
|
||||
TextDefinition.Serialize(writer, LabelType);
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
|
||||
LabelType = TextDefinition.Deserialize(reader);
|
||||
}
|
||||
}
|
||||
}
|
||||
31
Scripts/Services/18th Anniversary/AnniversaryVaseShort.cs
Normal file
31
Scripts/Services/18th Anniversary/AnniversaryVaseShort.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class AnniversaryVaseShort : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1156148; } } // Short 18th Anniversary Vase
|
||||
|
||||
[Constructable]
|
||||
public AnniversaryVaseShort() : base(0x9BCA)
|
||||
{
|
||||
}
|
||||
|
||||
public AnniversaryVaseShort(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();
|
||||
}
|
||||
}
|
||||
}
|
||||
31
Scripts/Services/18th Anniversary/AnniversaryVaseTall.cs
Normal file
31
Scripts/Services/18th Anniversary/AnniversaryVaseTall.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class AnniversaryVaseTall : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1156147; } } // Tall 18th Anniversary Vase
|
||||
|
||||
[Constructable]
|
||||
public AnniversaryVaseTall() : base(0x9BC7)
|
||||
{
|
||||
}
|
||||
|
||||
public AnniversaryVaseTall(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();
|
||||
}
|
||||
}
|
||||
}
|
||||
134
Scripts/Services/18th Anniversary/EnchantedTimepiece.cs
Normal file
134
Scripts/Services/18th Anniversary/EnchantedTimepiece.cs
Normal file
@@ -0,0 +1,134 @@
|
||||
using System;
|
||||
using Server;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class EnchantedTimepiece : Item
|
||||
{
|
||||
public override int LabelNumber
|
||||
{
|
||||
get
|
||||
{
|
||||
int hour, min;
|
||||
|
||||
Clock.GetTime(this.Map, GetWorldLocation().X, GetWorldLocation().Y, out hour, out min);
|
||||
|
||||
if (hour > 20 || hour < 4)
|
||||
return 1156199; // Moon Dial
|
||||
|
||||
return 1123890; // Sun Dial
|
||||
//return 1077186;
|
||||
}
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public override int ItemID
|
||||
{
|
||||
get
|
||||
{
|
||||
int id = base.ItemID;
|
||||
|
||||
if (id != GetID())
|
||||
return GetID();
|
||||
|
||||
return id;
|
||||
}
|
||||
set
|
||||
{
|
||||
base.ItemID = value;
|
||||
}
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public EnchantedTimepiece() : base(0x9BC6)
|
||||
{
|
||||
_TimePieces.Add(this);
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
int genericNumber;
|
||||
string exactTime;
|
||||
|
||||
Clock.GetTime(from, out genericNumber, out exactTime);
|
||||
|
||||
SendLocalizedMessageTo(from, genericNumber);
|
||||
SendLocalizedMessageTo(from, 1042958, exactTime); // ~1_TIME~ to be exact
|
||||
}
|
||||
|
||||
public void InvalidateID()
|
||||
{
|
||||
int hour, min;
|
||||
|
||||
Clock.GetTime(this.Map, GetWorldLocation().X, GetWorldLocation().Y, out hour, out min);
|
||||
|
||||
if (hour > 12)
|
||||
hour -= 12;
|
||||
|
||||
int id = 0x9BBA + Math.Max(0, (hour - 1));
|
||||
|
||||
if (id != ItemID)
|
||||
ItemID = id;
|
||||
}
|
||||
|
||||
private int GetID()
|
||||
{
|
||||
int id = 0x9BC6;
|
||||
|
||||
if (!Movable && this.Map != Map.Internal)
|
||||
{
|
||||
int hour, min;
|
||||
|
||||
Clock.GetTime(this.Map, GetWorldLocation().X, GetWorldLocation().Y, out hour, out min);
|
||||
|
||||
if (hour > 12)
|
||||
hour -= 12;
|
||||
|
||||
id = 0x9BBA + Math.Max(0, (hour - 1));
|
||||
}
|
||||
|
||||
return id;
|
||||
}
|
||||
|
||||
public override void Delete()
|
||||
{
|
||||
base.Delete();
|
||||
|
||||
if (_TimePieces.Contains(this))
|
||||
_TimePieces.Remove(this);
|
||||
}
|
||||
|
||||
private static List<EnchantedTimepiece> _TimePieces = new List<EnchantedTimepiece>();
|
||||
|
||||
public static void Initialize()
|
||||
{
|
||||
Timer.DelayCall(TimeSpan.FromMinutes(1), TimeSpan.FromMinutes(1), () =>
|
||||
{
|
||||
foreach (EnchantedTimepiece tp in _TimePieces.Where(t => t != null && !t.Movable && t.Map != Map.Internal))
|
||||
{
|
||||
tp.InvalidateID();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public EnchantedTimepiece(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();
|
||||
|
||||
_TimePieces.Add(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
33
Scripts/Services/18th Anniversary/Giver.cs
Normal file
33
Scripts/Services/18th Anniversary/Giver.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Misc
|
||||
{
|
||||
public class AnniversaryGiver18th : GiftGiver
|
||||
{
|
||||
public static void Initialize()
|
||||
{
|
||||
GiftGiving.Register(new AnniversaryGiver18th());
|
||||
}
|
||||
|
||||
public override DateTime Start { get { return new DateTime(2016, 4, 08); } }
|
||||
public override DateTime Finish { get { return new DateTime(2016, 12, 31); } }
|
||||
public override TimeSpan MinimumAge { get { return TimeSpan.FromHours(12); } }
|
||||
|
||||
public override void GiveGift(Mobile mob)
|
||||
{
|
||||
Bag bag = new AnniversaryBag18th(mob);
|
||||
|
||||
switch (GiveGift(mob, bag))
|
||||
{
|
||||
case GiftResult.Backpack:
|
||||
mob.SendLocalizedMessage(1156142); // Happy 18th Anniversary! We have placed a gift for you in your backpack.
|
||||
break;
|
||||
case GiftResult.BankBox:
|
||||
mob.SendLocalizedMessage(1156143); // Happy 18th Anniversary! We have placed a gift for you in your bank box.
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user