Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
121
Scripts/Items/Functional/EtherealRetouchingTool.cs
Normal file
121
Scripts/Items/Functional/EtherealRetouchingTool.cs
Normal file
@@ -0,0 +1,121 @@
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Targeting;
|
||||
using Server.Engines.VeteranRewards;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class EtherealRetouchingTool : Item, IRewardItem
|
||||
{
|
||||
public override int LabelNumber { get { return 1113814; } } // Retouching Tool
|
||||
|
||||
public bool IsRewardItem { get; set; }
|
||||
|
||||
[Constructable]
|
||||
public EtherealRetouchingTool()
|
||||
: base(0x42C6)
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public EtherealRetouchingTool(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
if (IsRewardItem)
|
||||
list.Add(1080458); // 11th Year Veteran Reward
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.Target = new InternalTarget(this);
|
||||
from.SendLocalizedMessage(1113815); // Target the ethereal mount you wish to retouch.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1042010); // You must have the object in your backpack to use it.
|
||||
}
|
||||
}
|
||||
|
||||
private class InternalTarget : Target
|
||||
{
|
||||
private EtherealRetouchingTool m_Tool;
|
||||
|
||||
public InternalTarget(EtherealRetouchingTool tool)
|
||||
: base(-1, false, TargetFlags.None)
|
||||
{
|
||||
m_Tool = tool;
|
||||
}
|
||||
|
||||
protected override void OnTarget(Mobile from, object targeted)
|
||||
{
|
||||
if (!m_Tool.IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else if (targeted is EtherealMount)
|
||||
{
|
||||
EtherealMount mount = targeted as EtherealMount;
|
||||
|
||||
if (!mount.IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1045158); // You must have the item in your backpack to target it.
|
||||
}
|
||||
else if (mount is GMEthereal || mount is EtherealWarBoar)
|
||||
{
|
||||
from.SendLocalizedMessage(1071117); // You cannot use this item for it.
|
||||
}
|
||||
else if (RewardSystem.CheckIsUsableBy(from, m_Tool, null))
|
||||
{
|
||||
if (mount.Transparent)
|
||||
from.SendLocalizedMessage(1113816); // Your ethereal mount's body has been solidified.
|
||||
else
|
||||
from.SendLocalizedMessage(1113817); // Your ethereal mount's transparency has been restored.
|
||||
|
||||
mount.Transparent = mount.Transparent ? false : true;
|
||||
mount.InvalidateProperties();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1046439); // That is not a valid target.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void AddProperty(EtherealMount mount, ObjectPropertyList list)
|
||||
{
|
||||
list.Add(1113818, mount.Transparent ? "#1078520" : "#1153298");
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.WriteEncodedInt(1); // version
|
||||
|
||||
writer.Write(IsRewardItem);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
if (version == 0)
|
||||
IsRewardItem = true;
|
||||
else
|
||||
IsRewardItem = reader.ReadBool();
|
||||
|
||||
if (LootType != LootType.Blessed)
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user