Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
205
Scripts/Services/22nd Anniversary/Items/CopperShipRelief.cs
Normal file
205
Scripts/Services/22nd Anniversary/Items/CopperShipRelief.cs
Normal file
@@ -0,0 +1,205 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class CopperShipReliefAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new CopperShipReliefAddonDeed(DisplayName); } }
|
||||
|
||||
private string _DisplayName;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public string DisplayName { get { return _DisplayName; } set { _DisplayName = value; InvalidateProperties(); } }
|
||||
|
||||
public AddonFacing Facing { get; set; }
|
||||
|
||||
[Constructable]
|
||||
public CopperShipReliefAddon(AddonFacing facing, string name)
|
||||
{
|
||||
DisplayName = name;
|
||||
Facing = facing;
|
||||
|
||||
switch (facing)
|
||||
{
|
||||
case AddonFacing.South:
|
||||
AddComponent(new CopperShipReliefComponent(41954), -1, 0, 0);
|
||||
AddComponent(new CopperShipReliefComponent(41953), 1, 0, 0);
|
||||
break;
|
||||
case AddonFacing.East:
|
||||
AddComponent(new CopperShipReliefComponent(41957), 0, 1, 0);
|
||||
AddComponent(new CopperShipReliefComponent(41958), 0, -1, 0);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private class CopperShipReliefComponent : LocalizedAddonComponent
|
||||
{
|
||||
public override bool ForceShowProperties { get { return true; } }
|
||||
|
||||
public CopperShipReliefComponent(int id)
|
||||
: base(id, 1159148) // Copper Ship Relief
|
||||
{
|
||||
Weight = 0;
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
string name = ((CopperShipReliefAddon)Addon).DisplayName;
|
||||
|
||||
if (!string.IsNullOrEmpty(name))
|
||||
{
|
||||
list.Add(1159152, name); // <BASEFONT COLOR=#FFD24D>Depicting the Maiden Voyage of ~1_NAME~<BASEFONT COLOR=#FFFFFF>
|
||||
}
|
||||
|
||||
if (Hue == 2951)
|
||||
list.Add(1076187); // Antique
|
||||
}
|
||||
|
||||
public CopperShipReliefComponent(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 CopperShipReliefAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.WriteEncodedInt(1); // version
|
||||
|
||||
writer.Write(_DisplayName);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
_DisplayName = CopperShipReliefAddonDeed._Names[Utility.Random(CopperShipReliefAddonDeed._Names.Length)];
|
||||
}
|
||||
else
|
||||
{
|
||||
_DisplayName = reader.ReadString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class CopperShipReliefAddonDeed : BaseAddonDeed, IRewardOption
|
||||
{
|
||||
public override BaseAddon Addon { get { return new CopperShipReliefAddon(Facing, DisplayName); } }
|
||||
|
||||
private string _DisplayName;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public string DisplayName { get { return _DisplayName; } set { _DisplayName = value; InvalidateProperties(); } }
|
||||
|
||||
private AddonFacing Facing { get; set; }
|
||||
|
||||
public override int LabelNumber { get { return 1159148; } } // Copper Ship Relief
|
||||
|
||||
[Constructable]
|
||||
public CopperShipReliefAddonDeed()
|
||||
: this(null)
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public CopperShipReliefAddonDeed(string name)
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
|
||||
if (name == null)
|
||||
_DisplayName = _Names[Utility.Random(_Names.Length)];
|
||||
else
|
||||
_DisplayName = name;
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(AddonOptionGump));
|
||||
from.SendGump(new AddonOptionGump(this));
|
||||
}
|
||||
else
|
||||
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
if (!string.IsNullOrEmpty(_DisplayName))
|
||||
{
|
||||
list.Add(1159152, _DisplayName); // <BASEFONT COLOR=#FFD24D>Depicting the Maiden Voyage of ~1_NAME~<BASEFONT COLOR=#FFFFFF>
|
||||
}
|
||||
|
||||
if (Hue == 2951)
|
||||
list.Add(1076187); // Antique
|
||||
}
|
||||
|
||||
public CopperShipReliefAddonDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
|
||||
writer.Write(_DisplayName);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
_DisplayName = reader.ReadString();
|
||||
}
|
||||
|
||||
public void GetOptions(RewardOptionList list)
|
||||
{
|
||||
list.Add((int)AddonFacing.South, 1075386);
|
||||
list.Add((int)AddonFacing.East, 1075387);
|
||||
}
|
||||
|
||||
|
||||
public void OnOptionSelected(Mobile from, int choice)
|
||||
{
|
||||
Facing = (AddonFacing)choice;
|
||||
|
||||
if (!Deleted)
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public static string[] _Names =
|
||||
{
|
||||
"The HMS Cape", "The Mustang", "The Dragon's Breath", "The Crown Jewel", "The Empire", "The Scaly Eel", "The Spartan", "The Beast", "The Ararat", "The Arabella", "The Lusty Wench", "The Golden Ankh",
|
||||
"The Poseidon's Fury", "The Silver Hart"
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user