182 lines
No EOL
3.9 KiB
C#
182 lines
No EOL
3.9 KiB
C#
using System;
|
|
using Server.Mobiles;
|
|
using Server.Spells.Ninjitsu;
|
|
|
|
namespace Server.Items
|
|
{
|
|
public enum TalismanForm
|
|
{
|
|
Ferret = 1031672,
|
|
Squirrel = 1031671,
|
|
CuSidhe = 1031670,
|
|
Reptalon = 1075202
|
|
}
|
|
|
|
public class BaseFormTalisman : Item, ITokunoDyable
|
|
{
|
|
public BaseFormTalisman() : base(0x2F59)
|
|
{
|
|
LootType = LootType.Blessed;
|
|
Layer = Layer.Talisman;
|
|
Weight = 1.0;
|
|
}
|
|
|
|
public BaseFormTalisman(Serial serial) : base(serial)
|
|
{
|
|
}
|
|
|
|
public virtual TalismanForm Form => TalismanForm.Squirrel;
|
|
|
|
public override void AddNameProperty(ObjectPropertyList list)
|
|
{
|
|
list.Add(1075200, $"#{(int)Form}");
|
|
}
|
|
|
|
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 override void OnRemoved(IEntity parent)
|
|
{
|
|
base.OnRemoved(parent);
|
|
|
|
if (parent is Mobile m) AnimalForm.RemoveContext(m, true);
|
|
}
|
|
|
|
public static bool EntryEnabled(Mobile m, Type type)
|
|
{
|
|
if (type == typeof(Squirrel))
|
|
return m.Talisman is SquirrelFormTalisman;
|
|
if (type == typeof(Ferret))
|
|
return m.Talisman is FerretFormTalisman;
|
|
if (type == typeof(CuSidhe))
|
|
return m.Talisman is CuSidheFormTalisman;
|
|
if (type == typeof(Reptalon))
|
|
return m.Talisman is ReptalonFormTalisman;
|
|
|
|
return true;
|
|
}
|
|
}
|
|
|
|
public class FerretFormTalisman : BaseFormTalisman
|
|
{
|
|
[Constructible]
|
|
public FerretFormTalisman()
|
|
{
|
|
}
|
|
|
|
public FerretFormTalisman(Serial serial) : base(serial)
|
|
{
|
|
}
|
|
|
|
public override TalismanForm Form => TalismanForm.Ferret;
|
|
|
|
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 SquirrelFormTalisman : BaseFormTalisman
|
|
{
|
|
[Constructible]
|
|
public SquirrelFormTalisman()
|
|
{
|
|
}
|
|
|
|
public SquirrelFormTalisman(Serial serial) : base(serial)
|
|
{
|
|
}
|
|
|
|
public override TalismanForm Form => TalismanForm.Squirrel;
|
|
|
|
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 CuSidheFormTalisman : BaseFormTalisman
|
|
{
|
|
[Constructible]
|
|
public CuSidheFormTalisman()
|
|
{
|
|
}
|
|
|
|
public CuSidheFormTalisman(Serial serial) : base(serial)
|
|
{
|
|
}
|
|
|
|
public override TalismanForm Form => TalismanForm.CuSidhe;
|
|
|
|
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 ReptalonFormTalisman : BaseFormTalisman
|
|
{
|
|
[Constructible]
|
|
public ReptalonFormTalisman()
|
|
{
|
|
}
|
|
|
|
public ReptalonFormTalisman(Serial serial) : base(serial)
|
|
{
|
|
}
|
|
|
|
public override TalismanForm Form => TalismanForm.Reptalon;
|
|
|
|
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();
|
|
}
|
|
}
|
|
} |