91 lines
No EOL
2.3 KiB
C#
91 lines
No EOL
2.3 KiB
C#
using Server.Targeting;
|
|
|
|
namespace Server.Items
|
|
{
|
|
[Flippable(0x13B2, 0x13B1)]
|
|
public class JukaBow : Bow
|
|
{
|
|
[Constructible]
|
|
public JukaBow()
|
|
{
|
|
}
|
|
|
|
public JukaBow(Serial serial) : base(serial)
|
|
{
|
|
}
|
|
|
|
public override int AosStrengthReq => 80;
|
|
public override int AosDexterityReq => 80;
|
|
|
|
public override int OldStrengthReq => 80;
|
|
public override int OldDexterityReq => 80;
|
|
|
|
[CommandProperty(AccessLevel.GameMaster)]
|
|
public bool IsModified => Hue == 0x453;
|
|
|
|
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.Fletching.Base < 100.0)
|
|
{
|
|
from.SendMessage("Only a grandmaster bowcrafter can modify this weapon.");
|
|
}
|
|
else
|
|
{
|
|
from.BeginTarget(2, false, TargetFlags.None, OnTargetGears);
|
|
from.SendMessage("Select the gears you wish to use.");
|
|
}
|
|
}
|
|
|
|
public void OnTargetGears(Mobile from, object targ)
|
|
{
|
|
if (!(targ is Gears g) || !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.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();
|
|
}
|
|
}
|
|
} |