Files
abysmal-isle/Scripts/Scripts-master/Games/LiarsDice/NewDiceGameGump.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

82 lines
2.5 KiB
C#

/**
LIARS DICE for Ultima Online
Copyright: Bobby Kramer 2011, http://www.panthar.net
Released under GPL V3.
*/
using System;
using Server;
using Server.Gumps;
using Server.Network;
using Server.Commands;
using Server.Mobiles;
using Server.LiarsDice;
using System.Collections.Generic;
namespace Server.Gumps
{
public class NewDiceGameGump : Gump
{
private const int LEFT_BAR=25;
private int bankBalance;
private DiceState ds;
public NewDiceGameGump(DiceState _ds, int _bankBalance) : base( 325, 345){
this.ds = _ds;
this.bankBalance = _bankBalance;
this.Closable=false;
this.Disposable=false;
this.Dragable=true;
this.Resizable=false;
this.AddPage(0);
this.AddBackground(6, 4, 190, 150, 9200);
this.AddLabel(LEFT_BAR, 20, 0, @"Liars Dice");
//this.AddLabel(LEFT_BAR, 40, 0, @"By: PanThar");
this.AddLabel(LEFT_BAR, 60, 32, @"Balance: " + bankBalance + " gp.");
AddImageTiled(LEFT_BAR, 80, 142, 21, 2501);
AddTextEntry( LEFT_BAR+7, 80, 200, 30, 255, 0, @"");
AddButton(LEFT_BAR, 110, 4005, 4006, 1, GumpButtonType.Reply, 3);
AddButton(LEFT_BAR +95, 110, 4017, 4018, 2, GumpButtonType.Reply, 3);
}
public override void OnResponse( NetState state, RelayInfo info ){
int btd = info.ButtonID;
Mobile m = state.Mobile;
if(info.ButtonID == 1 ){
TextRelay entry = info.GetTextEntry(0);
//parse out the text entry
try{
int balance = Banker.GetBalance(m);
int num = int.Parse(entry.Text);
int maxGameBal = ds.getGameBalanceMax();
//take out the full amount of bank if applicable
if(num > balance){
num = balance;
}
//if its over the max size, set num to it
if(num > maxGameBal){
num = maxGameBal;
m.SendMessage( "You entered more than the max of " + maxGameBal + " gp. on this table, you are buying in with the max instead." );
}
//check if they have minimum game balance
if(num >= ds.getGameBalanceMin()){
//withdrawl
Banker.Withdraw( m, num );
ds.AddPlayer(m,num);
}
else{
ds.ShowNewGameGump(m);
m.SendMessage( "You did not enter a sufficient minimum amount to play,try again." );
}
}catch{
m.Frozen = false;
m.SendMessage( "You did not enter a amount of gold to play with, try again." );
}
}else if(info.ButtonID == 2){
m.Frozen = false;
m.SendMessage( "You decided not to play Liars Dice.");
}
else{
state.Mobile.SendMessage( "Illegal option selected");
}
}
}
}