using Server.Engines.MLQuests; using Server.Engines.MLQuests.Definitions; using Server.Mobiles; using Server.Network; namespace Server.Items { public class PrismaticCrystal : Item { public override int LabelNumber => 1074269; // prismatic crystal [Constructible] public PrismaticCrystal() : base( 0x2DA ) { Movable = false; Hue = 0x32; } public PrismaticCrystal( Serial serial ) : base( serial ) { } 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( typeof( 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( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // Version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } }