mirror of
https://git.wownero.com/wownero/tippero.git
synced 2024-08-15 00:33:14 +00:00
dice: change the multiplier semantics to be hopefully more intuitive
x2 now means even odds - you pay your bet, and get a x2 payout back, which leaves you with a profit equal to your original bet. Minimum multiplier is bumped from 0.1 to 1.1 to reflect this change.
This commit is contained in:
parent
48476969d3
commit
7347480a86
1 changed files with 6 additions and 6 deletions
|
@ -64,8 +64,8 @@ def Dice(link,cmd):
|
||||||
except Exception,e:
|
except Exception,e:
|
||||||
link.send("Usage: dice amount multiplier [over|under]")
|
link.send("Usage: dice amount multiplier [over|under]")
|
||||||
return
|
return
|
||||||
if multiplier < 0.1 or multiplier > 10:
|
if multiplier < 1.1 or multiplier > 10:
|
||||||
link.send("Invalid multiplier: should be between 0.1 and 10")
|
link.send("Invalid multiplier: should be between 1.1 and 10")
|
||||||
return
|
return
|
||||||
if overunder == "over":
|
if overunder == "over":
|
||||||
under=False
|
under=False
|
||||||
|
@ -103,22 +103,22 @@ def Dice(link,cmd):
|
||||||
link.send("An error occured")
|
link.send("An error occured")
|
||||||
return
|
return
|
||||||
|
|
||||||
target = (1 - config.dice_edge) / (1+multiplier)
|
target = (1 - config.dice_edge) / multiplier
|
||||||
if not under:
|
if not under:
|
||||||
target = 1 - target
|
target = 1 - target
|
||||||
log_info("Dice: %s's #%d roll: %.16g, target %s %.16g" % (identity, rolls, roll, "under" if under else "over", target))
|
log_info("Dice: %s's #%d roll: %.16g, target %s %.16g" % (identity, rolls, roll, "under" if under else "over", target))
|
||||||
|
|
||||||
lose_units = units
|
lose_units = units
|
||||||
win_units = long(units * multiplier)
|
win_units = long(units * multiplier) - lose_units
|
||||||
log_log('units %s, multiplier %f, edge %f, lose_units %s, win_units %s' % (AmountToString(units), multiplier, config.dice_edge, AmountToString(lose_units), AmountToString(win_units)))
|
log_log('units %s, multiplier %f, edge %f, lose_units %s, win_units %s' % (AmountToString(units), multiplier, config.dice_edge, AmountToString(lose_units), AmountToString(win_units)))
|
||||||
if under:
|
if under:
|
||||||
win = roll <= target
|
win = roll <= target
|
||||||
else:
|
else:
|
||||||
win = roll >= target
|
win = roll >= target
|
||||||
if win:
|
if win:
|
||||||
msg = "%s wins %s on roll #%d! %.16g %s %.16g" % (link.user.nick, AmountToString(win_units), rolls, roll, "<=" if under else ">=", target)
|
msg = "%s bets %s and wins %s on roll #%d! %.16g %s %.16g" % (link.user.nick, AmountToString(lose_units), AmountToString(win_units+lose_units), rolls, roll, "<=" if under else ">=", target)
|
||||||
else:
|
else:
|
||||||
msg = "%s loses %s on roll #%d. %.16g %s %.16g" % (link.user.nick, AmountToString(lose_units), rolls, roll, ">" if under else "<", target)
|
msg = "%s bets %s and loses on roll #%d. %.16g %s %.16g" % (link.user.nick, AmountToString(lose_units), rolls, roll, ">" if under else "<", target)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
RecordGameResult(link,"dice",win,not win,win_units if win else lose_units)
|
RecordGameResult(link,"dice",win,not win,win_units if win else lose_units)
|
||||||
|
|
Loading…
Reference in a new issue