203 lines
No EOL
4.2 KiB
C#
203 lines
No EOL
4.2 KiB
C#
using System;
|
|
using Server.Network;
|
|
|
|
namespace Server.Items
|
|
{
|
|
public abstract class BaseMagicFish : Item
|
|
{
|
|
public virtual int Bonus{ get{ return 0; } }
|
|
public virtual StatType Type{ get{ return StatType.Str; } }
|
|
|
|
public override double DefaultWeight
|
|
{
|
|
get { return 1.0; }
|
|
}
|
|
|
|
public BaseMagicFish( int hue ) : base( 0xDD6 )
|
|
{
|
|
Hue = hue;
|
|
}
|
|
|
|
public BaseMagicFish( Serial serial ) : base( serial )
|
|
{
|
|
}
|
|
|
|
public virtual bool Apply( Mobile from )
|
|
{
|
|
bool applied = Spells.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();
|
|
}
|
|
}
|
|
|
|
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
|
|
{
|
|
public override int Bonus{ get{ return 5; } }
|
|
public override StatType Type{ get{ return StatType.Int; } }
|
|
|
|
public override int LabelNumber{ get{ return 1041073; } } // prized fish
|
|
|
|
[Constructable]
|
|
public PrizedFish() : base( 51 )
|
|
{
|
|
}
|
|
|
|
public PrizedFish( Serial serial ) : base( serial )
|
|
{
|
|
}
|
|
|
|
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 ( Hue == 151 )
|
|
Hue = 51;
|
|
}
|
|
}
|
|
|
|
public class WondrousFish : BaseMagicFish
|
|
{
|
|
public override int Bonus{ get{ return 5; } }
|
|
public override StatType Type{ get{ return StatType.Dex; } }
|
|
|
|
public override int LabelNumber{ get{ return 1041074; } } // wondrous fish
|
|
|
|
[Constructable]
|
|
public WondrousFish() : base( 86 )
|
|
{
|
|
}
|
|
|
|
public WondrousFish( Serial serial ) : base( serial )
|
|
{
|
|
}
|
|
|
|
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 ( Hue == 286 )
|
|
Hue = 86;
|
|
}
|
|
}
|
|
|
|
public class TrulyRareFish : BaseMagicFish
|
|
{
|
|
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
|
|
|
|
[Constructable]
|
|
public TrulyRareFish() : base( 76 )
|
|
{
|
|
}
|
|
|
|
public TrulyRareFish( Serial serial ) : base( serial )
|
|
{
|
|
}
|
|
|
|
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 ( Hue == 376 )
|
|
Hue = 76;
|
|
}
|
|
}
|
|
|
|
public class PeculiarFish : BaseMagicFish
|
|
{
|
|
public override int LabelNumber{ get{ return 1041076; } } // highly peculiar fish
|
|
|
|
[Constructable]
|
|
public PeculiarFish() : base( 66 )
|
|
{
|
|
}
|
|
|
|
public PeculiarFish( Serial serial ) : base( serial )
|
|
{
|
|
}
|
|
|
|
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 ( Hue == 266 )
|
|
Hue = 66;
|
|
}
|
|
}
|
|
} |