102 lines
No EOL
2.4 KiB
C#
102 lines
No EOL
2.4 KiB
C#
using System;
|
|
using ModernUO.Serialization;
|
|
using Server.Spells;
|
|
|
|
namespace Server.Items;
|
|
|
|
[SerializationGenerator(0, false)]
|
|
public abstract partial class BaseMagicFish : Item
|
|
{
|
|
public BaseMagicFish(int hue) : base(0xDD6) => Hue = hue;
|
|
|
|
public virtual int Bonus => 0;
|
|
public virtual StatType Type => StatType.Str;
|
|
|
|
public override double DefaultWeight => 1.0;
|
|
|
|
public virtual bool Apply(Mobile from)
|
|
{
|
|
var applied = SpellHelper.AddStatOffset(from, Type, 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 (!IsChildOf(from.Backpack))
|
|
{
|
|
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
|
}
|
|
else if (Apply(from))
|
|
{
|
|
from.FixedEffect(0x375A, 10, 15);
|
|
from.PlaySound(0x1E7);
|
|
from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 501774); // You swallow the fish whole!
|
|
Delete();
|
|
}
|
|
}
|
|
}
|
|
|
|
[SerializationGenerator(0, false)]
|
|
public partial class PrizedFish : BaseMagicFish
|
|
{
|
|
[Constructible]
|
|
public PrizedFish() : base(51)
|
|
{
|
|
}
|
|
|
|
public override int Bonus => 5;
|
|
public override StatType Type => StatType.Int;
|
|
|
|
public override int LabelNumber => 1041073; // prized fish
|
|
}
|
|
|
|
[SerializationGenerator(0, false)]
|
|
public partial class WondrousFish : BaseMagicFish
|
|
{
|
|
[Constructible]
|
|
public WondrousFish() : base(86)
|
|
{
|
|
}
|
|
|
|
public override int Bonus => 5;
|
|
public override StatType Type => StatType.Dex;
|
|
|
|
public override int LabelNumber => 1041074; // wondrous fish
|
|
}
|
|
|
|
[SerializationGenerator(0, false)]
|
|
public partial class TrulyRareFish : BaseMagicFish
|
|
{
|
|
[Constructible]
|
|
public TrulyRareFish() : base(76)
|
|
{
|
|
}
|
|
|
|
public override int Bonus => 5;
|
|
public override StatType Type => StatType.Str;
|
|
|
|
public override int LabelNumber => 1041075; // truly rare fish
|
|
}
|
|
|
|
[SerializationGenerator(0, false)]
|
|
public partial class PeculiarFish : BaseMagicFish
|
|
{
|
|
[Constructible]
|
|
public PeculiarFish() : base(66)
|
|
{
|
|
}
|
|
|
|
public override int LabelNumber => 1041076; // highly peculiar fish
|
|
|
|
public override bool Apply(Mobile from)
|
|
{
|
|
from.Stam += 10;
|
|
return true;
|
|
}
|
|
} |