ModernUO/Projects/UOContent/Engines/ML Quests/Items/PrismaticCrystal.cs
Kamron Batman b4b1b0b122
fix(core): Converts more packets and switches to Moq (#415)
- [X] Switches testing to moq for mocking
- [X] Converts race changer packets
- [X] Renames some more folders and misc cleanup
2021-01-16 22:09:05 -08:00

73 lines
2 KiB
C#

using Server.Engines.MLQuests;
using Server.Engines.MLQuests.Definitions;
using Server.Mobiles;
using Server.Network;
namespace Server.Items
{
public class PrismaticCrystal : Item
{
[Constructible]
public PrismaticCrystal() : base(0x2DA)
{
Movable = false;
Hue = 0x32;
}
public PrismaticCrystal(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1074269; // prismatic crystal
public override void OnDoubleClick(Mobile from)
{
if (!(from is PlayerMobile pm) || pm.Backpack == null)
{
return;
}
if (pm.InRange(GetWorldLocation(), 2))
{
if (MLQuestSystem.GetContext(pm)?.IsDoingQuest(typeof(UnfadingMemoriesPartOne)) == true &&
pm.Backpack.FindItemByType<PrismaticAmber>(false) == null)
{
Item amber = new PrismaticAmber();
if (pm.PlaceInBackpack(amber))
{
MLQuestSystem.MarkQuestItem(pm, amber);
Delete();
}
else
{
pm.SendLocalizedMessage(502385); // Your pack cannot hold this item.
amber.Delete();
}
}
else
{
pm.SendLocalizedMessage(1075464); // You already have as many of those as you need.
}
}
else
{
pm.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that.
}
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // Version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}