81 lines
2.1 KiB
C#
81 lines
2.1 KiB
C#
using System;
|
|
using Server;
|
|
using Server.Gumps;
|
|
using Server.Mobiles;
|
|
using Server.Items;
|
|
|
|
namespace Server.Engines.NewMagincia
|
|
{
|
|
public class MaginciaPlotStone : Item
|
|
{
|
|
public override bool ForceShowProperties { get { return true; } }
|
|
|
|
private MaginciaHousingPlot m_Plot;
|
|
|
|
[CommandProperty(AccessLevel.GameMaster)]
|
|
public MaginciaHousingPlot Plot
|
|
{
|
|
get { return m_Plot; }
|
|
set { m_Plot = value; }
|
|
}
|
|
|
|
[Constructable]
|
|
public MaginciaPlotStone() : base(3805)
|
|
{
|
|
Movable = false;
|
|
}
|
|
|
|
public override void AddNameProperty(ObjectPropertyList list)
|
|
{
|
|
list.Add(1150494, m_Plot != null ? m_Plot.Identifier : "Unknown"); // lot ~1_PLOTID~
|
|
}
|
|
|
|
public override void OnDoubleClick(Mobile from)
|
|
{
|
|
MaginciaLottoSystem system = MaginciaLottoSystem.Instance;
|
|
|
|
if (system == null || !system.Enabled || m_Plot == null)
|
|
return;
|
|
|
|
if (from.InRange(this.Location, 4))
|
|
{
|
|
if (m_Plot.LottoOngoing)
|
|
{
|
|
from.CloseGump(typeof(MaginciaLottoGump));
|
|
from.SendGump(new MaginciaLottoGump(from, m_Plot));
|
|
}
|
|
else if (!m_Plot.IsAvailable)
|
|
from.SendMessage("The lottory for this lot has ended.");
|
|
else
|
|
from.SendMessage("The lottory for this lot has expired. Check back soon!");
|
|
}
|
|
}
|
|
|
|
public override void OnAfterDelete()
|
|
{
|
|
if (m_Plot != null)
|
|
MaginciaLottoSystem.UnregisterPlot(m_Plot);
|
|
|
|
base.OnAfterDelete();
|
|
}
|
|
|
|
public MaginciaPlotStone(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
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();
|
|
}
|
|
}
|
|
} |