279 lines
5.9 KiB
C#
279 lines
5.9 KiB
C#
using System;
|
|
using Server.Network;
|
|
|
|
namespace Server.Items
|
|
{
|
|
public abstract class BaseMagicFish : Item
|
|
{
|
|
public BaseMagicFish(int hue)
|
|
: base(0xDD6)
|
|
{
|
|
this.Hue = hue;
|
|
}
|
|
|
|
public BaseMagicFish(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public virtual int Bonus
|
|
{
|
|
get
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
public virtual StatType Type
|
|
{
|
|
get
|
|
{
|
|
return StatType.Str;
|
|
}
|
|
}
|
|
public override double DefaultWeight
|
|
{
|
|
get
|
|
{
|
|
return 1.0;
|
|
}
|
|
}
|
|
public virtual bool Apply(Mobile from)
|
|
{
|
|
bool applied = Spells.SpellHelper.AddStatOffset(from, this.Type, this.Bonus, TimeSpan.FromMinutes(1.0));
|
|
|
|
if (!applied)
|
|
from.SendLocalizedMessage(502173); // You are already under a similar effect.
|
|
|
|
return applied;
|
|
}
|
|
|
|
public override void OnDoubleClick(Mobile from)
|
|
{
|
|
if (!this.IsChildOf(from.Backpack))
|
|
{
|
|
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
|
}
|
|
else if (this.Apply(from))
|
|
{
|
|
from.FixedEffect(0x375A, 10, 15);
|
|
from.PlaySound(0x1E7);
|
|
from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 501774); // You swallow the fish whole!
|
|
this.Delete();
|
|
}
|
|
}
|
|
|
|
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 PrizedFish : BaseMagicFish
|
|
{
|
|
[Constructable]
|
|
public PrizedFish()
|
|
: base(51)
|
|
{
|
|
}
|
|
|
|
public PrizedFish(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override int Bonus
|
|
{
|
|
get
|
|
{
|
|
return 5;
|
|
}
|
|
}
|
|
public override StatType Type
|
|
{
|
|
get
|
|
{
|
|
return StatType.Int;
|
|
}
|
|
}
|
|
public override int LabelNumber
|
|
{
|
|
get
|
|
{
|
|
return 1041073;
|
|
}
|
|
}// prized fish
|
|
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();
|
|
|
|
if (this.Hue == 151)
|
|
this.Hue = 51;
|
|
}
|
|
}
|
|
|
|
public class WondrousFish : BaseMagicFish
|
|
{
|
|
[Constructable]
|
|
public WondrousFish()
|
|
: base(86)
|
|
{
|
|
}
|
|
|
|
public WondrousFish(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override int Bonus
|
|
{
|
|
get
|
|
{
|
|
return 5;
|
|
}
|
|
}
|
|
public override StatType Type
|
|
{
|
|
get
|
|
{
|
|
return StatType.Dex;
|
|
}
|
|
}
|
|
public override int LabelNumber
|
|
{
|
|
get
|
|
{
|
|
return 1041074;
|
|
}
|
|
}// wondrous fish
|
|
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();
|
|
|
|
if (this.Hue == 286)
|
|
this.Hue = 86;
|
|
}
|
|
}
|
|
|
|
public class TrulyRareFish : BaseMagicFish
|
|
{
|
|
[Constructable]
|
|
public TrulyRareFish()
|
|
: base(76)
|
|
{
|
|
}
|
|
|
|
public TrulyRareFish(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override int Bonus
|
|
{
|
|
get
|
|
{
|
|
return 5;
|
|
}
|
|
}
|
|
public override StatType Type
|
|
{
|
|
get
|
|
{
|
|
return StatType.Str;
|
|
}
|
|
}
|
|
public override int LabelNumber
|
|
{
|
|
get
|
|
{
|
|
return 1041075;
|
|
}
|
|
}// truly rare fish
|
|
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();
|
|
|
|
if (this.Hue == 376)
|
|
this.Hue = 76;
|
|
}
|
|
}
|
|
|
|
public class PeculiarFish : BaseMagicFish
|
|
{
|
|
[Constructable]
|
|
public PeculiarFish()
|
|
: base(66)
|
|
{
|
|
}
|
|
|
|
public PeculiarFish(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override int LabelNumber
|
|
{
|
|
get
|
|
{
|
|
return 1041076;
|
|
}
|
|
}// highly peculiar fish
|
|
public override bool Apply(Mobile from)
|
|
{
|
|
from.Stam += 10;
|
|
return true;
|
|
}
|
|
|
|
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();
|
|
|
|
if (this.Hue == 266)
|
|
this.Hue = 66;
|
|
}
|
|
}
|
|
} |