////////////////////////////////////////
// //
// Generated by CEO's YAAAG - Ver 2 //
// (Yet Another Arya Addon Generator) //
// Modified by Hammerhand for //
// SA & High Seas content //
// //
////////////////////////////////////////
using System;
using Server;
using Server.Items;
using Server.Mobiles;
namespace Server.Items
{
public class ChickenLizardPerchAddon : BaseAddon
{
public override BaseAddonDeed Deed
{
get
{
return new ChickenLizardPerchAddonDeed();
}
}
private PetChickenLizard m_ChickenLizard;
[CommandProperty(AccessLevel.GameMaster)]
public PetChickenLizard ChickenLizard
{
get { return m_ChickenLizard; }
set { m_ChickenLizard = value; }
}
[ Constructable ]
public ChickenLizardPerchAddon()
{
AddComplexComponent( (BaseAddon) this, 12214, 0, 0, 0, 0, -1, "ChickenLizard Perch", 1);// 1
}
public override void OnLocationChange(Point3D oldLocation)
{
base.OnLocationChange(oldLocation);
if (m_ChickenLizard != null)
m_ChickenLizard.Location = new Point3D(X, Y, Z + 12);
}
public override void OnMapChange()
{
base.OnMapChange();
if (m_ChickenLizard != null)
m_ChickenLizard.Map = Map;
}
public override void OnAfterDelete()
{
base.OnAfterDelete();
if (m_ChickenLizard != null)
m_ChickenLizard.Internalize();
}
public ChickenLizardPerchAddon( Serial serial ) : base( serial )
{
}
private static void AddComplexComponent(BaseAddon addon, int item, int xoffset, int yoffset, int zoffset, int hue, int lightsource)
{
AddComplexComponent(addon, item, xoffset, yoffset, zoffset, hue, lightsource, null, 1);
}
private static void AddComplexComponent(BaseAddon addon, int item, int xoffset, int yoffset, int zoffset, int hue, int lightsource, string name, int amount)
{
AddonComponent ac;
ac = new AddonComponent(item);
if (name != null && name.Length > 0)
ac.Name = name;
if (hue != 0)
ac.Hue = hue;
if (amount > 1)
{
ac.Stackable = true;
ac.Amount = amount;
}
if (lightsource != -1)
ac.Light = (LightType) lightsource;
addon.AddComponent(ac, xoffset, yoffset, zoffset);
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( 0 ); // Version
writer.Write((Mobile)m_ChickenLizard);
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
m_ChickenLizard = reader.ReadMobile() as PetChickenLizard;
}
}
public class ChickenLizardPerchAddonDeed : BaseAddonDeed
{
public override BaseAddon Addon
{
get
{
return new ChickenLizardPerchAddon();
}
}
private PetChickenLizard m_ChickenLizard;
[CommandProperty(AccessLevel.GameMaster)]
public PetChickenLizard ChickenLizard
{
get { return m_ChickenLizard; }
set { m_ChickenLizard = value; InvalidateProperties(); }
}
[Constructable]
public ChickenLizardPerchAddonDeed()
{
Name = "ChickenLizard Perch";
}
public ChickenLizardPerchAddonDeed(PetChickenLizard ChickenLizard)
{
LootType = LootType.Blessed;
m_ChickenLizard = ChickenLizard;
}
public ChickenLizardPerchAddonDeed( Serial serial ) : base( serial )
{
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
if (m_ChickenLizard != null)
{
if (m_ChickenLizard.Name != null)
list.Add("Includes a pet ChickenLizard named ~1_NAME~", m_ChickenLizard.Name); // Includes a pet ChickenLizard named ~1_NAME~
else
list.Add("Includes a pet ChickenLizard"); // Includes a pet ChickenLizard
int weeks = PetChickenLizard.GetWeeks(m_ChickenLizard.Birth);
if (weeks == 1)
list.Add(1072626); // 1 week old
else if (weeks > 1)
list.Add(1072627, weeks.ToString()); // ~1_AGE~ weeks old
}
}
private bool m_Safety;
public override void DeleteDeed()
{
m_Safety = true;
base.DeleteDeed();
}
public override void OnAfterDelete()
{
base.OnAfterDelete();
if (!m_Safety && m_ChickenLizard != null)
m_ChickenLizard.Delete();
m_Safety = false;
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( 1 ); // Version
writer.Write((Mobile)m_ChickenLizard);
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
switch (version)
{
case 1:
m_ChickenLizard = reader.ReadMobile() as PetChickenLizard;
break;
case 0:
reader.ReadDateTime();
reader.ReadString();
reader.ReadInt();
break;
}
}
}
}