99 lines
2.9 KiB
C#
99 lines
2.9 KiB
C#
using System;
|
|
|
|
namespace Server.Items
|
|
{
|
|
[FlipableAttribute(0x13B2, 0x13B1)]
|
|
public class JukaBow : Bow
|
|
{
|
|
[Constructable]
|
|
public JukaBow()
|
|
{ }
|
|
|
|
public JukaBow(Serial serial)
|
|
: base(serial)
|
|
{ }
|
|
|
|
[CommandProperty(AccessLevel.GameMaster)]
|
|
public bool IsModified => Slayer != SlayerName.None;
|
|
public override int AosStrengthReq => 80;
|
|
public override int AosDexterityReq => 80;
|
|
public override int OldStrengthReq => 80;
|
|
public override int OldDexterityReq => 80;
|
|
|
|
public override bool CanEquip(Mobile from)
|
|
{
|
|
if (IsModified)
|
|
{
|
|
return base.CanEquip(from);
|
|
}
|
|
|
|
from.SendMessage("You cannot equip this bow until a bowyer modifies it.");
|
|
return false;
|
|
}
|
|
|
|
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 override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
writer.Write(0); // version
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
int version = reader.ReadInt();
|
|
}
|
|
}
|
|
}
|