Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
using Server.Gumps;
|
||||
using Server.Network;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Server.Engines.LotterySystem
|
||||
{
|
||||
public class ScratcherLottoSatellite : Item
|
||||
{
|
||||
private ScratcherLotto m_Stone;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public ScratcherLotto LottoStone { get { return m_Stone; } set { m_Stone = value; } }
|
||||
|
||||
[Constructable]
|
||||
public ScratcherLottoSatellite()
|
||||
: base(0xED4)
|
||||
{
|
||||
|
||||
Name = "Lottery Scratch Tickets";
|
||||
Hue = Utility.RandomSlimeHue();
|
||||
Movable = false;
|
||||
|
||||
if (ScratcherLotto.Stone != null)
|
||||
{
|
||||
m_Stone = ScratcherLotto.Stone;
|
||||
m_Stone.AddToSatList(this);
|
||||
}
|
||||
else Delete();
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (m_Stone == null || (!m_Stone.IsActive && from.AccessLevel == AccessLevel.Player))
|
||||
from.SendMessage("Scratch tickets are currenlty inactive at this time.");
|
||||
else if (from.InRange(Location, 3))
|
||||
{
|
||||
if (from.HasGump(typeof(ScratcherStoneGump)))
|
||||
from.CloseGump(typeof(ScratcherStoneGump));
|
||||
|
||||
from.SendGump(new ScratcherStoneGump(m_Stone, from));
|
||||
}
|
||||
else if (from.AccessLevel > AccessLevel.Player)
|
||||
from.SendGump( new PropertiesGump( from, m_Stone ) );
|
||||
else
|
||||
from.SendLocalizedMessage(500446); // That is too far away.
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
if (m_Stone == null || !m_Stone.IsActive)
|
||||
list.Add(1060658, "Status\tOffline");
|
||||
else
|
||||
list.Add(1060658, "Status\tActive");
|
||||
|
||||
if (ScratcherStats.Stats.Count > 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
int index = ScratcherStats.Stats.Count - 1;
|
||||
string jackpotAmount = String.Format("{0:##,###,###}", ScratcherStats.Stats[index].Payout);
|
||||
|
||||
list.Add(1060659, "Last Big Win\t{0}", ScratcherStats.Stats[index].Winner.Name);
|
||||
list.Add(1060660, "Date\t{0}", ScratcherStats.Stats[index].WinTime);
|
||||
list.Add(1060661, "Amount\t{0}", jackpotAmount);
|
||||
list.Add(1060662, "Game\t{0}", ScratcherLotto.GetGameType(ScratcherStats.Stats[index].Type));
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnAfterDelete()
|
||||
{
|
||||
if (m_Stone != null)
|
||||
m_Stone.RemoveFromSatList(this);
|
||||
|
||||
base.OnAfterDelete();
|
||||
}
|
||||
|
||||
public ScratcherLottoSatellite(Serial serial) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write((int)0); //Version
|
||||
|
||||
writer.Write(m_Stone);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
m_Stone = (ScratcherLotto)reader.ReadItem();
|
||||
if (m_Stone != null)
|
||||
m_Stone.AddToSatList(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user