edit: moved safe conditions to f$alli
edit: added f$alli references to f$call and f$rais
edit: added defcon as 1.00
edit: changed f$P to use defcon
- Code: Select all
##2005-07-20 22:57:45##
##notes##
/*
this is a very slightly revised version of
the original winholdem january formula set.
this is what the formula set would look like
if it had been saved in standard .whf format
in 2004-JAN :
- there was no notes tab
- there was no debug tab
- there was no play formula
- there was no defcon symbol
and in fact, the wh release notes are a record
of everything that did not exist back then.
the asterisks * beside the call/rais formula
comments are there to indicate that those
lines were not part of the original formula
that played the 5 day session at stars
WARNING:
if you play this bot as is at a 10 chair table
it will fold 100% of the time from dealposition 3
it is a defense 10 pessimistic pure ev bot
and that means that even $AA is not enough
to convince it to put money on the table with
only 3 small blinds in play.
it loves late positions and hates early positions.
it will never sitout or leave for any reason
it was designed to fold against stingy tables and
eat over bettors alive.
this bot is a calling station. as the pot grows,
the cost of calling is decreasing relative to
the potential reward. so calling to the river
is something january loves to do.
this bot has been openly cursed in chat for
not folding when opponents wanted it to.
*/
##defcon##
1.000000
##rake##
0.000000
##nit##
100000
##f$alli##
0 // default is do not alli
|| [ prwin >= 1.00 ] // dead nuts
|| [ prtie >= 1.00 ] //* sure tie
|| [ prlos <= 0.00 ] //* cannot lose
|| [ br==1 && islistalli ] // listed opening hand
##f$rais##
0 // default is do not rais
|| [ f$alli ] //* safe conditions
|| [ br==1 && islistrais ] // listed opening hand
|| [ f$evrais > 0 && // positive ev
f$evrais > f$evcall ] // higher than calling
##f$call##
0 // default is do not call
|| [ f$alli ] //* safe conditions
|| [ br==1 && islistcall ] // listed opening hand
|| [ f$evcall > 0 ] // positive ev
|| [ call <= 0.00 ] // zero call amount (check)
##f$evrais##
0 // start at 0
- call // my cost to call
- bet // my cost to rais
+ (pot+call+bet*2)// the minimum possible pot
* (prwin+prtie/2) // my winning chances
* (1+rake) // the house rake
##f$evcall##
0 // start at 0
- call // my cost to call
+ (pot+call) // the minimum possible pot
* (prwin+prtie/2) // my winning chances
* (1+rake) // the house rake
##f$P##
(nopponentsplaying==0) ? 0 :
nopponentsplaying + defcon*nopponentsfolded
##f$play##
!f9 ? -1 : // enabled when toolbar f9 flag button is pressed
(elapsed % 4) ? -1 : // disabled 3 out of 4 seconds
(br < 2) ? -1 : // disabled before the flop
(br > 3) ? -1 : // disabled after the turn
nopponentsdealt >= 2