using System;
using Server;
using Server.Gumps;
using Server.Items;
using Server.Network;
namespace Server.Gumps
{
public class MinerMadnessSlotGump : Gump
{
private MinerSlotStone m_Stone;
public MinerMadnessSlotGump( MinerSlotStone stone ) : base( 25, 25 )
{
m_Stone = stone;
m_Stone.IsInUse = true;
// Gold Bars = 7147
// Silver Bars = 7159
// Bronze Bars = 7141
// Iron Bars = 7153
// Sledge Hammer = 4020
// Smith Hammer = 5091
// Iron Wire = 6262
// Pickaxe = 3717
Closable=true;
Disposable=true;
Dragable=true;
Resizable=false;
AddPage(0);
AddBackground(18, 64, 371, 278, 5120);
AddBackground(32, 193, 345, 100, 2620);
AddImageTiled(23, 298, 363, 10, 5121);
AddHtml( 26, 70, 356, 23, @"
Miner Madness", (bool)false, (bool)false);
AddImageTiled(37, 200, 335, 86, 9354);
AddImageTiled(150, 202, 2, 83, 9353);
AddLabel(30, 100, 1160, @"Cost: " + m_Stone.Cost.ToString() );
AddLabel(30, 120, 1160, @"Credits: " + m_Stone.Won.ToString() );
AddLabel(30, 140, 1160, @"Last Pay: " + m_Stone.LastPay.ToString() );
AddButton(30, 163, 4026, 4027, 1, GumpButtonType.Reply, 0);
AddLabel(65, 164, 1149, @"View Pay Table");
AddButton(30, 307, 4020, 4021, 2, GumpButtonType.Reply, 0);
AddLabel(65, 307, 1149, @"Spin");
AddButton(118, 307, 4029, 4030, 3, GumpButtonType.Reply, 0);
AddLabel(153, 307, 1149, @"Cash Out");
AddImageTiled(60, 205, 75, 75, 9304);
AddImageTiled(167, 205, 75, 75, 9304);
AddImageTiled(274, 205, 75, 75, 9304);
AddImageTiled(258, 202, 2, 83, 9353);
if ( m_Stone != null )
{
if ( m_Stone.ReelOne != 0 )
AddItem(75, 220, m_Stone.ReelOne );
else
AddItem(75, 220, 7147 );
if ( m_Stone.ReelTwo != 0 )
AddItem(183, 220, m_Stone.ReelTwo );
else
AddItem(183, 220, 7147 );
if ( m_Stone.ReelThree != 0 )
AddItem(290, 220, m_Stone.ReelThree );
else
AddItem(290, 220, 7147);
}
}
public override void OnResponse( NetState state, RelayInfo info )
{
Mobile from = state.Mobile;
if ( from == null )
return;
if ( info.ButtonID == 0 ) // Close
{
m_Stone.IsInUse = false;
}
if ( info.ButtonID == 1 ) // Pay Table
{
from.SendGump( new MinerMadnessSlotGump( m_Stone ) );
from.SendGump( new MinerPayTableGump( m_Stone ) );
}
if ( info.ButtonID == 2 ) // Spin
{
Item[] Gold = from.Backpack.FindItemsByType( typeof( Gold ) );
int amount = m_Stone.Cost * 10000;
if ( from.Backpack.ConsumeTotal( typeof( Gold ), m_Stone.Cost ) )
{
m_Stone.DoSpin( from );
m_Stone.LastPay = 0;
m_Stone.TotalCollected += m_Stone.Cost;
}
else if ( m_Stone.Won >= m_Stone.Cost )
{
m_Stone.Won -= m_Stone.Cost;
m_Stone.DoSpin( from );
m_Stone.LastPay = 0;
m_Stone.TotalCollected += m_Stone.Cost;
}
else
{
from.SendMessage( "You must have at least {0} gold, or credits on the machine to play.", m_Stone.Cost );
from.SendGump( new MinerMadnessSlotGump( m_Stone ) );
}
}
if ( info.ButtonID == 3 ) // Cash Out
{
if ( m_Stone.Won != 0 )
m_Stone.DoCashOut( from );
from.SendGump( new MinerMadnessSlotGump( m_Stone ) );
}
}
}
}