97 lines
No EOL
2.3 KiB
C#
97 lines
No EOL
2.3 KiB
C#
using System;
|
|
using Server.Network;
|
|
using Server.Items;
|
|
|
|
namespace Server.Items
|
|
{
|
|
[FlipableAttribute( 0x13B2, 0x13B1 )]
|
|
public class JukaBow : Bow
|
|
{
|
|
public override int AosStrengthReq{ get{ return 80; } }
|
|
public override int AosDexterityReq{ get{ return 80; } }
|
|
|
|
public override int OldStrengthReq{ get{ return 80; } }
|
|
public override int OldDexterityReq{ get{ return 80; } }
|
|
|
|
[CommandProperty( AccessLevel.GameMaster )]
|
|
public bool IsModified
|
|
{
|
|
get{ return ( Hue == 0x453 ); }
|
|
}
|
|
|
|
[Constructable]
|
|
public JukaBow()
|
|
{
|
|
}
|
|
|
|
public override void OnDoubleClick( Mobile from )
|
|
{
|
|
if ( IsModified )
|
|
{
|
|
from.SendMessage( "That has already been modified." );
|
|
}
|
|
else if ( !IsChildOf( from.Backpack ) )
|
|
{
|
|
from.SendMessage( "This must be in your backpack to modify it." );
|
|
}
|
|
else if ( from.Skills[SkillName.Fletching].Base < 100.0 )
|
|
{
|
|
from.SendMessage( "Only a grandmaster bowcrafter can modify this weapon." );
|
|
}
|
|
else
|
|
{
|
|
from.BeginTarget( 2, false, Targeting.TargetFlags.None, new TargetCallback( OnTargetGears ) );
|
|
from.SendMessage( "Select the gears you wish to use." );
|
|
}
|
|
}
|
|
|
|
public void OnTargetGears( Mobile from, object targ )
|
|
{
|
|
Gears g = targ as Gears;
|
|
|
|
if ( g == null || !g.IsChildOf( from.Backpack ) )
|
|
{
|
|
from.SendMessage( "Those are not gears." ); // Apparently gears that aren't in your backpack aren't really gears at all. :-(
|
|
}
|
|
else if ( IsModified )
|
|
{
|
|
from.SendMessage( "That has already been modified." );
|
|
}
|
|
else if ( !IsChildOf( from.Backpack ) )
|
|
{
|
|
from.SendMessage( "This must be in your backpack to modify it." );
|
|
}
|
|
else if ( from.Skills[SkillName.Fletching].Base < 100.0 )
|
|
{
|
|
from.SendMessage( "Only a grandmaster bowcrafter can modify this weapon." );
|
|
}
|
|
else
|
|
{
|
|
g.Consume();
|
|
|
|
Hue = 0x453;
|
|
Slayer = (SlayerName)Utility.Random( 2, 25 );
|
|
|
|
from.SendMessage( "You modify it." );
|
|
}
|
|
}
|
|
|
|
public JukaBow( 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();
|
|
}
|
|
}
|
|
} |