ModernUO/Scripts/Items/Weapons/Ranged/JukaBow.cs
2006-06-15 04:14:30 +00:00

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();
}
}
}