The bot is playing TAG and 100% bugfree.
Some explanation:
The postflop play is based on a number of factors called:
Prwin (handstrength compared to board)
Actionmeter
Actionmeter consists of 3 important factor's:
- nplayersplaying
- action previous betting rounds
- action current betting round
The bot is not making any strange calls or raises like Winngy's and it's also intensively tested to be bug free. I think this are the 2 most important things to build a bot on, reliability.
So here is the code, feedback is always welcome!
ACTIONBOT.whf
- Code: Select all
##2009-03-18 18:04:33##
##notes##
##dll##
##bankroll##
0.000000
##defcon##
0.000000
##rake##
0.000000
##nit##
1000
##f$alli##
##f$swag##
##f$srai##
##f$rais##
(br==1 && f$raise_preflop)
|| (br==2 && f$raise_flop)
|| (br==3 && f$raise_turn)
|| (br==4 && f$raise_river)
##f$call##
(call<=0)
|| (prwin>.98 && nplayersplaying>1)
|| (f$rais)
|| (br==1 && f$call_preflop)
|| (br==2 && f$call_flop)
|| (br==3 && f$call_turn)
|| (br==4 && f$call_river)
##f$prefold##
##f$delay##
(elapsed%10<7)
##f$chat##
0
##f$P##
((nopponentsplaying + defcon*nopponentsfolded) && nplayersplaying>1)
##f$play##
// go sit out when less then 3 players
(issittingin && nplayersseated>0 && nplayersseated<=2) ? 0 :
// go sit in when more then 2 players
(issittingout && nplayersseated>2) ? 1 :
-1
##f$test##
##f$debug##
11.0000 = f$actionmeter_flop
11.0000 = f$actionmeter_turn
11.0000 = f$actionmeter_river
0.0000 = f$handstrength_flop
0.0000 = f$handstrength_turn
0.0000 = f$handstrength_river
1.0000 = nbetstocall
2.0000 = nbetsround1
0.0000 = nbetsround2
0.3070 = prwin
0.0000 = f$draws
0.0000 = f$raise_river
0.0000 = f$call_river
ACTIONMETER.whx
- Code: Select all
##list1##
AA KK QQ JJ TT 99 88 77 66 55 44 33 22
AKS AQS AJS ATS A9S A8S A7S A6S A5S A4S A3S A2S KQS KJS KTS K9S QJS QTS Q9S JTS J9S T9S T8S 98S 97S 87S 86S 76S 75S 65S 64S 54S 53S
KA QA JA TA 9A 8A 7A 6A 5A 4A 3A 2A QK JK TK 9K 8K JQ TQ JT
##list2##
AA KK QQ JJ TT 99 88 77 66
AKS AQS AJS ATS A9S A8S KQS KJS QJS
KA QA JA TA QK
##list3##
AA KK QQ JJ TT 99 88
AKS AQS
KA QA
##list4##
AA KK QQ JJ TT 99 88 77
AKS AQS AJS ATS KQS
KA QA JA TA QK
##list5##
AA KK QQ JJ TT
AKS AQS
KA QA
##list6##
AA KK QQ JJ TT 99 88 77
AKS AQS AJS KQS
KA QA JA
##list7##
AA KK QQ JJ TT 99 88 77 66
AKS AQS AJS ATS A9S A8S KQS QJS JTS T9s
KA QA JA TA 9A 8A QK JQ JK
##list8##
AA KK QQ JJ TT 99 88 77 66 55 44 33 22
AKS AQS AJS ATS A9S A8S A7S A6S A5S A4S A3S A2S KQS KJS KTS QJS QTS JTS
KA QA JA TA 9A 8A 7A 6A 5A 4A 3A 2A QK JK TK JQ TQ
##list9##
T9S T8S 98S 97S 87S 86S 76S 75S 65S 64S 54S 53S
##list10##
AA KK QQ JJ TT 99 88 77 66
AKS AQS AJS ATS A9S A8S KQS KJS KTS K9S QJS QTS Q9S JTS J9S
KA QA JA TA QK JK TK JQ TQ TJ
##list11##
AA KK QQ JJ TT 99 88 77 66 55 44 33 22
AKS AQS AJS ATS A9S A8S A7S A6S A5S A4S A3S A2S KQS KJS KTS K9S QJS QTS Q9S JTS J9S T9S
KA QA JA TA 9A 8A 7A 6A 5A 4A 3A 2A QK JK TK 9K 8K JQ TQ JT
##list12##
AA KK QQ JJ TT 99 88
AKS AQS AJS KQS
KA QA
##list13##
AA KK QQ JJ TT 99 88 77 66 55 44 33 22
ATS A9S A8S A7S A6S A5S A4S A3S A2S KQS KJS KTS K9S K8S K7S K6S K5S K4S K3S K2S QTS Q9S Q8S Q7S Q6S Q5S Q4S Q3S Q2S JTS J9S J8S J7S T9S T8S T7S T6S 98S 97S 96S 87S 86S 85S 76S 75S 65S 64S 54S 53S 43S 32S 42S
KA QA JA TA 9A 8A JK TK 9K 8K JQ TQ TJ
##list14##
77 66 55 44 33 22
AJS ATS A9S A8S A7S A6S A5S A4S A3S A2S KQS KJS KTS K9S QJS QTS Q9S JTS J9S T9S T8S 98S 97S 87S 86S 76S 75S 65S 64S 54S 53S
JA TA 9A 8A 7A 6A 5A 4A 3A 2A QK JK TK 9K 8K JQ TQ TJ
##list15##
99 88 77
##list16##
66 55 44 33 22
KQS QJS JTS T9S T8S 98S 87S 76S 65S
##list17##
AA KK QQ JJ TT 99 88 77 66
##list18##
99 88 77 66 55 44 33 22
AJS ATS KQS A9S A8S A7S A6S KJS KTS QJS QTS JTS J9S T9S 98S 87S 76S
JA TA 9A 8A 7A QK JK TK JQ TQ
##list19##
55 44 33 22
A7S A6S A5S A4S A3S A2S
9A 8A
##list20##
T9S T8S 98S 87S 76S 65S
##list21##
99 88 77
##list22##
A7S A6S A5S A4S A3S A2S
77 66 55 44 33 22
##list23##
99 88 77
##list24##
ATS
66
##list25##
55 44 33 22
A9S A8S A7S A6S A5S A4S A3S A2S
##list27##
AA KK QQ JJ TT 99 88 77 66 55 44 33 22
AKS AQS AJS ATS A9S A8S A7S A6S A5S A4S A3S A2S KQS KJS KTS K9S QJS QTS JTS
KA QA JA TA 9A 8A 7A 6A 5A 4A 3A 2A QK JK TK JQ TQ
##list28##
AA KK QQ JJ TT 99 88 77 66 55 44 33 22
AKS AQS AJS ATS A9S A8S A7S A6S A5S A4S A3S A2S KQS KJS KTS K9S QJS QTS JTS T9S 98S 97S 87S
KA QA JA TA 9A 8A 7A 6A 5A 4A 3A 2A QK JK TK JQ TQ JT
##list29##
A9s A8s A7s A6s A5s A4s A3s A2s KQs KJs KTs QJs QTs JTs T9S T8S 98S 87S 76S 65S
88 77 66 55 44 33 22
9A 8A 7A 6A 5A 4A 3A 2A
##list30##
AKS AQS AJS ATS A9S A8S KQS KJS KTS QJS QTS TJS 9TS
22 33 44 55 66 77 88 99 TT JJ QQ KK AA
KA QA JA TA QK JK JQ TK TQ
##list31##
ATS A9s A8s A7s A6s A5s A4s A3s A2s KQs KJs KTs K9S K8S K7S K6S K5S K4S K3S K2S QJs QTs Q9S Q8S Q7s Q6s Q5s Q4s Q3s Q2s JTs J9S J8S J7S J6S J5S J4S J3S J2S T9S T8S T7S T6S 98S 97S 96S 87S 86S 76S 75S 65S 54S
88 77 66 55 44 33 22
9A 8A 7A 6A 5A 4A 3A 2A QK JK TK JQ TQ JT
##f$raise_preflop##
(f$dealposition==1) ?
{
(f$actionpreflop_1 && islist1) ? 1 :
(f$actionpreflop_2 && islist2) ? 1 :
(f$actionpreflop_3 && islist3) ? 1 :
(f$actionpreflop_4 && (islist4||f$dealpositionrais==6 && islist30)) ? 1 :
(f$actionpreflop_5 && islist5) ? 1 :
(f$actionpreflop_6 && islist6) ? 1 : 0 } :
(f$dealposition==2) ?
{
(call==0 && islist7) ? 1 :
(nbetstocall<=1 && ncallbets==3 && islist3) ? 1 :
(nbetstocall<=1 && ncallbets==2 && islist4) ? 1 :
(f$actionpreflop_5 && islist5) ? 1 :
(f$actionpreflop_6 && islist6) ? 1 : 0 } :
(f$dealposition==3) ?
{
(f$actionpreflop_1 && islist8) ? 1 :
(f$actionpreflop_3 && islist3) ? 1 :
(f$actionpreflop_4 && islist4) ? 1 :
(f$actionpreflop_5 && islist5) ? 1 :
(f$actionpreflop_6 && islist6) ? 1 : 0 } :
(f$dealposition==4) ?
{
(f$actionpreflop_1 && islist8) ? 1 :
(f$actionpreflop_2 && islist10) ? 1 :
(f$actionpreflop_3 && islist3) ? 1 :
(f$actionpreflop_4 && islist4) ? 1 :
(f$actionpreflop_5 && islist5) ? 1 :
(f$actionpreflop_6 && islist6) ? 1 : 0 } :
(f$dealposition==5) ?
{
(f$actionpreflop_1 && islist28) ? 1 :
(f$actionpreflop_2 && islist8) ? 1 :
(f$actionpreflop_3 && islist12) ? 1 :
(f$actionpreflop_4 && islist4) ? 1 :
(f$actionpreflop_5 && islist5) ? 1 :
(f$actionpreflop_6 && islist6) ? 1 : 0 } :
(f$dealposition==6) ?
{
(f$actionpreflop_1 && islist11) ? 1 :
(f$actionpreflop_2 && islist27) ? 1 :
(f$actionpreflop_3 && islist12) ? 1 :
(f$actionpreflop_4 && islist4) ? 1 :
(f$actionpreflop_5 && islist5) ? 1 :
(f$actionpreflop_6 && islist6) ? 1 : 0 } :
0
##f$call_preflop##
(f$dealposition==1) ?
{
(ncallbets<=1 && islist13) ? 1 :
(f$actionpreflop_3 && islist14) ? 1 :
(f$actionpreflop_4) ?
{
(islist15) ? 1 :
(islist16 && nopponentscalling>2) ? 1 : 0 } :
(f$actionpreflop_5 && islist17) ? 1 :
(f$actionpreflop_6 && islist13) ? 1 : 0 } :
(f$dealposition==2) ?
{
(nbetstocall<=1 && ncallbets==3 && islist14) ? 1 :
(nbetstocall<=1 && ncallbets==2 && islist18) ? 1 :
(f$actionpreflop_5 && islist17) ? 1 :
(f$actionpreflop_6 && islist13) ? 1 : 0 } :
(f$dealposition==3) ?
{
(f$actionpreflop_3 && islist14) ? 1 :
(f$actionpreflop_4 && islist15) ? 1 :
(f$actionpreflop_5 && islist17) ? 1 :
(f$actionpreflop_6 && islist13) ? 1 : 0 } :
(f$dealposition==4) ?
{
(f$actionpreflop_2 && islist19) ? 1 :
(f$actionpreflop_3 && islist14) ? 1 :
(f$actionpreflop_4 && islist15) ? 1 :
(f$actionpreflop_5 && islist17) ? 1 :
(f$actionpreflop_6 && islist13) ? 1 : 0 } :
(f$dealposition==5) ?
{
(f$actionpreflop_2 && (islist20 && nopponentscalling>0||islist31 && nopponentscalling>1)) ? 1 :
(f$actionpreflop_3 && islist14) ? 1 :
(f$actionpreflop_4) ?
{
(islist21) ? 1 :
(islist22 && nopponentscalling>3) ? 1 : 0 } :
(f$actionpreflop_5 && islist17) ? 1 :
(f$actionpreflop_6 && islist13) ? 1 : 0 } :
(f$dealposition==6) ?
{
(f$actionpreflop_2 && (islist29 && nopponentscalling>0||islist31 && nopponentscalling>1)) ? 1 :
(f$actionpreflop_3 && islist14) ? 1 :
(f$actionpreflop_4) ?
{
(islist23) ? 1 :
(islist24 && nopponentscalling>=2) ? 1 :
(islist25 && nopponentscalling>=3) ? 1 : 0 } :
(f$actionpreflop_5 && islist17) ? 1 :
(f$actionpreflop_6 && islist13) ? 1 : 0 } :
((didcall||didchec||didswag) && nbetstocall<=1 && handrank169<50) ? 1 :
0
##f$dealposition##
[
dealposition==1 ? 1:
dealposition==2 ? 2:
nopponentsdealt==9 ? (dealposition==3 ? 3 :
dealposition==4 ? 3 :
dealposition==5 ? 4 :
dealposition==6 ? 4 :
dealposition==7 ? 5 :
dealposition==8 ? 5 :
dealposition==9 ? 6 :
dealposition==10 ? 6 : 0):
nopponentsdealt==8 ? (dealposition==3 ? 3 :
dealposition==4 ? 3 :
dealposition==5 ? 4 :
dealposition==6 ? 4 :
dealposition==7 ? 5 :
dealposition==8 ? 5 :
dealposition==9 ? 6 : 0):
nopponentsdealt==7 ? (dealposition==3 ? 3 :
dealposition==4 ? 4 :
dealposition==5 ? 4 :
dealposition==6 ? 5 :
dealposition==7 ? 5 :
dealposition==8 ? 6 : 0):
nopponentsdealt==6 ? (dealposition==3 ? 3 :
dealposition==4 ? 4 :
dealposition==5 ? 5 :
dealposition==6 ? 5 :
dealposition==7 ? 6 : 0):
nopponentsdealt==5 ? (dealposition==3 ? 3 :
dealposition==4 ? 4 :
dealposition==5 ? 5 :
dealposition==6 ? 6 : 0):
nopponentsdealt==4 ? (dealposition==3 ? 4 :
dealposition==4 ? 5 :
dealposition==5 ? 6 : 0):
nopponentsdealt==3 ? (dealposition==3 ? 5 :
dealposition==4 ? 6 : 0):
nopponentsdealt==2 ? (dealposition==3 ? 6 : 0):
0]
##f$dealpositionrais##
[
dealpositionrais==1 ? 1:
dealpositionrais==2 ? 2:
nopponentsdealt==6 ? (dealpositionrais==3 ? 3 :
dealpositionrais==4 ? 4 :
dealpositionrais==5 ? 5 :
dealpositionrais==6 ? 5 :
dealpositionrais==7 ? 6 : 0):
nopponentsdealt==5 ? (dealpositionrais==3 ? 3 :
dealpositionrais==4 ? 4 :
dealpositionrais==5 ? 5 :
dealpositionrais==6 ? 6 : 0):
nopponentsdealt==4 ? (dealpositionrais==3 ? 4 :
dealpositionrais==4 ? 5 :
dealpositionrais==5 ? 6 : 0):
nopponentsdealt==3 ? (dealpositionrais==3 ? 5 :
dealpositionrais==4 ? 6 : 0):
nopponentsdealt==2 ? (dealpositionrais==3 ? 6 : 0):
0]
##f$raise_flop##
(didraisround1 && nplayersplaying==2 && call==0) ||
(f$actionmeter_flop<2 && f$handstrength_flop>=1) ||
(f$actionmeter_flop<4 && f$handstrength_flop>=2) ||
(f$actionmeter_flop<6 && f$handstrength_flop>=3) ||
(f$actionmeter_flop<8 && f$handstrength_flop>=4) ||
(f$actionmeter_flop<12 && f$handstrength_flop>=5) ||
(f$actionmeter_flop<16 && f$handstrength_flop>=6) ||
(f$actionmeter_flop<20 && f$handstrength_flop>=7) ||
(f$actionmeter_flop<25 && f$handstrength_flop>=8) ||
(f$actionmeter_flop>=25 && f$handstrength_flop>=9)
##f$raise_turn##
(f$actionmeter_turn<2 && f$handstrength_turn>=1) ||
(f$actionmeter_turn<3 && f$handstrength_turn>=2) ||
(f$actionmeter_turn<5 && f$handstrength_turn>=3) ||
(f$actionmeter_turn<8 && f$handstrength_turn>=4) ||
(f$actionmeter_turn<10 && f$handstrength_turn>=5) ||
(f$actionmeter_turn<15 && f$handstrength_turn>=6) ||
(f$actionmeter_turn<20 && f$handstrength_turn>=7) ||
(f$actionmeter_turn<30 && f$handstrength_turn>=8) ||
(f$actionmeter_turn>=30 && f$handstrength_turn>=9)
##f$raise_river##
(f$actionmeter_river<2 && f$handstrength_river>=1) ||
(f$actionmeter_river<3 && f$handstrength_river>=2) ||
(f$actionmeter_river<5 && f$handstrength_river>=3) ||
(f$actionmeter_river<8 && f$handstrength_river>=4) ||
(f$actionmeter_river<10 && f$handstrength_river>=5) ||
(f$actionmeter_river<20 && f$handstrength_river>=6) ||
(f$actionmeter_river<35 && f$handstrength_river>=7) ||
(f$actionmeter_river<50 && f$handstrength_river>=8) ||
(f$actionmeter_river>=50 && f$handstrength_river>=9)
##f$call_flop##
(f$actionmeter_flop<2 && f$handstrength_flop>=1) ||
(f$actionmeter_flop<6 && f$handstrength_flop>=2) ||
(f$actionmeter_flop<12 && f$handstrength_flop>=3) ||
(f$actionmeter_flop<16 && f$handstrength_flop>=4) ||
(f$actionmeter_flop<18 && f$handstrength_flop>=5) ||
(f$actionmeter_flop<20 && f$handstrength_flop>=6) ||
(f$actionmeter_flop<23 && f$handstrength_flop>=7) ||
(f$actionmeter_flop<25 && f$handstrength_flop>=8) ||
(f$actionmeter_flop>=25 && f$handstrength_flop>=9)
##f$call_turn##
(f$actionmeter_turn<2 && f$handstrength_turn>=1) ||
(f$actionmeter_turn<5 && f$handstrength_turn>=2) ||
(f$actionmeter_turn<7 && f$handstrength_turn>=3) ||
(f$actionmeter_turn<10 && f$handstrength_turn>=4) ||
(f$actionmeter_turn<15 && f$handstrength_turn>=5) ||
(f$actionmeter_turn<20 && f$handstrength_turn>=6) ||
(f$actionmeter_turn<25 && f$handstrength_turn>=7) ||
(f$actionmeter_turn<30 && f$handstrength_turn>=8) ||
(f$actionmeter_turn>=30 && f$handstrength_turn>=9)
##f$call_river##
(f$actionmeter_river<2 && f$handstrength_river>=1) ||
(f$actionmeter_river<4 && f$handstrength_river>=2) ||
(f$actionmeter_river<6 && f$handstrength_river>=3) ||
(f$actionmeter_river<10 && f$handstrength_river>=4) ||
(f$actionmeter_river<20 && f$handstrength_river>=5) ||
(f$actionmeter_river<30 && f$handstrength_river>=6) ||
(f$actionmeter_river<40 && f$handstrength_river>=7) ||
(f$actionmeter_river<50 && f$handstrength_river>=8) ||
(f$actionmeter_river>=50 && f$handstrength_river>=9)
##f$draws##
(!f$twopair && nsuited==4 && nsuitedcommon==2 && nstraight==4 && nstraightcommon<3 && !f$wheeldraw && nrankedcommon==1) ||
(!f$twopair && nsuited==4 && nsuitedcommon==3 && nstraight==4 && !f$wheeldraw && `((~srankbits&0x7fff)>>srankhiplayer)<=3 && nstraightcommon<3 && nrankedcommon==1) ||
(br==2 && !f$twopair && nsuited==4 && nsuitedcommon==2 && nstraight==4 && !f$wheeldraw && nstraightcommon<3 && nrankedcommon==2) ||
(br==2 && !f$twopair && nsuited==4 && nsuitedcommon==3 && nstraight==4 && !f$wheeldraw && `((~srankbits&0x7fff)>>srankhiplayer)<=3 && nstraightcommon<3 && nrankedcommon==2) ? 4 :
((!f$twopair && nsuited==4 && `((~srankbits&0x7fff)>>srankhiplayer)==0 && nsuitedcommon==2 && nrankedcommon==1) ||
(!f$twopair && rankloplayer>rankhicommon && nstraightcommon<3 && nrankedcommon==1 && nsuited==4 && nsuitedcommon==2) ||
(!f$twopair && $AA && nsuitedcommon==3 && nsuited==4 && nrankedcommon==1) ||
(!f$twopair && nstraight==4 && nstraight>nstraightcommon && !f$wheeldraw && ishipair && nsuitedcommon<3 && nrankedcommon==1 && (pokervalcommon < onepair)) ||
(nsuited==4 && nsuited>nsuitedcommon && ishipair && nrankedcommon==1)) ? 3 :
(!f$twopair && nsuited==4 && `((~srankbits&0x7fff)>>srankhiplayer)==0 && nsuitedcommon==3 && nrankedcommon==1) ||
((!f$twopair && nsuited==4 && `((~srankbits&0x7fff)>>srankhiplayer)==0 && nsuitedcommon==3 && nrankedcommon<3) ||
(!f$twopair && nstraight==4 && nstraight>nstraightcommon && !f$wheeldraw && ismidpair && nrankedcommon<3 && nsuitedcommon<3 && nrankedcommon<3 && (pokervalcommon < onepair)) ||
(!f$twopair && nsuited==4 && nsuited>nsuitedcommon && ismidpair && nrankedcommon<3 && (pokervalcommon < onepair)) ||
(!f$twopair && nsuited==4 && `((~srankbits&0x7fff)>>srankhiplayer)==1 && nrankedcommon<3) ||
(!f$twopair && nsuited==4 && `((~srankbits&0x7fff)>>srankhiplayer)==0 && nsuitedcommon==2 && nrankedcommon<3) ||
(!f$twopair && nsuited==4 && `((~srankbits&0x7fff)>>srankhiplayer)==0 && nsuitedcommon==2 && nrankedcommon<3) ||
(!f$twopair && nsuited==4 && `((~srankbits&0x7fff)>>srankhiplayer)==2 && nrankedcommon<3) ||
(!f$twopair && nsuited==4 && nsuitedcommon==2 && nrankedcommon<3) ||
(!f$twopair && nsuited==4 && nsuitedcommon==3 && rankloplayer>11 && nrankedcommon<3) ||
(br==2 && nstraight==4 && nstraightcommon==3 && !f$wheeldraw && nsuitedcommon<3 && nrankedcommon<3 && rankhiplayer>rankhicommon) ||
(!f$twopair && nstraight==4 && nstraightcommon<=2 && nsuitedcommon<3 && nrankedcommon<3 && !f$wheeldraw && nrankedcommon<3) ||
(!f$twopair && nstraight==4 && nstraightcommon==3 && !f$wheeldraw && rankloplayer>ranklocommon && rankhiplayer>rankhicommon && nrankedcommon<3)) ? 2 :
((!f$twopair && (nstraight==2 && nstraightfillcommon==1 && nsuitedcommon<3 && nrankedcommon==1)||(nstraight==3 && nstraightfillcommon==1 && nsuitedcommon<3 && nrankedcommon==1)) ||
(nstraightfill==1 && nsuitedcommon<3) ||
(!f$twopair && nsuitedcommon==3 && nsuited==4 && (srankloplayer>6||srankhiplayer>6) && nrankedcommon==1) ||
(!f$twopair && nstraight==4 && nstraightcommon==3 && nrankedcommon==1) ||
(!f$twopair && nstraight==3 && nstraightcommon==2 && nstraightfillcommon<=2 && nrankedcommon==1) ||
(f$wheeldraw && nrankedcommon==1)) ? 1 :
0
##f$actionpreflop_1##
// No Callers
(ncallbets<=1 && nopponentscalling==0)
##f$actionpreflop_2##
// Called pot
(ncallbets<=1 && nopponentscalling>0)
##f$actionpreflop_3##
// Raised back
(nbetstocall>0 && nbetstocall<=1 && ncallbets>2 && ncallbets<=3)
##f$actionpreflop_4##
// Raised pot
(nbetstocall<=2 && ncallbets>1 && ncallbets<=2)
##f$actionpreflop_5##
// Reraised pot
(ncallbets>2 && nbetstocall>1)
##f$actionpreflop_6##
// Raised back
(nbetstocall>0 && nbetstocall<=1 && ncallbets>3)
##f$twopair##
(pokervalcommon & twopair)
##f$actionmeter_flop##
nplayersplaying>1 ? 0
+ (0
// Number players playing
+(nplayersplaying>=3)*2
+(nplayersplaying>=4)*2
+(nplayersplaying>=5)*2
// Number of bets preflop
+(nbetsround1>=1)
+(nbetsround1>=2)
+(nbetsround1>=3)
+(nbetsround1>=4)
// Number of bets to call in front of us
+(nbetstocall>=1)*5
+(nbetstocall>=2)*6
+(nbetstocall>=3)*5
+(nbetstocall>=4)*5) : 0
##f$actionmeter_turn##
nplayersplaying>1 ? 0
+ (0
// Number players playing
+(nplayersplaying>=3)*2
+(nplayersplaying>=4)*2
+(nplayersplaying>=5)*2
// Number of bets preflop
+(nbetsround1>=1)
+(nbetsround1>=2)
+(nbetsround1>=3)
+(nbetsround1>=4)
// Number of bets on flop
+(nbetsround2>=1)*2
+(nbetsround2>=2)*2
+(nbetsround2>=3)*2
+(nbetsround2>=4)*2
// Number of bets to call in front of us
+(nbetstocall>=1)*5
+(nbetstocall>=2)*6
+(nbetstocall>=3)*5
+(nbetstocall>=4)*5
+(didcall||didrais)*5) : 0
##f$actionmeter_river##
nplayersplaying>1 ? 0
+ (0
// Number players playing
+(nplayersplaying>=3)*2
+(nplayersplaying>=4)*2
+(nplayersplaying>=5)*2
// Number of bets preflop
+(nbetsround1>=1)
+(nbetsround1>=2)
+(nbetsround1>=3)
+(nbetsround1>=4)
// Number of bets on flop
+(nbetsround2>=1)*2
+(nbetsround2>=2)*2
+(nbetsround2>=3)*2
+(nbetsround2>=4)*2
// Number of bets on turn
+(nbetsround3>=1)*3
+(nbetsround3>=2)*3
+(nbetsround3>=3)*3
+(nbetsround3>=4)*3
// Number of bets to call in front of us
+(nbetstocall>=1)*5
+(nbetstocall>=2)*6
+(nbetstocall>=3)*5
+(nbetstocall>=4)*5
+(didcall||didrais)*5) : 0
##f$handstrength_flop##
(prwin>.98||f$draws>3) ? 9 :
(prwin>.95||f$draws>3) ? 8 :
(prwin>.90||f$draws>2) ? 7 :
(prwin>.84||f$draws>2) ? 6 :
(prwin>.78||f$draws>1) ? 5 :
(prwin>.74||f$draws>1) ? 4 :
(prwin>.65||f$draws>1) ? 3 :
(prwin>.60||f$draws>0) ? 2 :
(prwin>.50||f$draws>0) ? 1 :
0
##f$handstrength_turn##
(prwin>.98) ? 9 :
(prwin>.95||f$draws>3) ? 8 :
(prwin>.90||f$draws>2) ? 7 :
(prwin>.85||f$draws>2) ? 6 :
(prwin>.80||f$draws>1) ? 5 :
(prwin>.75||f$draws>1) ? 4 :
(prwin>.65||f$draws>1) ? 3 :
(prwin>.60||f$draws>0) ? 2 :
(prwin>.50||f$draws>0) ? 1 :
0
##f$handstrength_river##
(prwin>.98) ? 9 :
(prwin>.95) ? 8 :
(prwin>.90) ? 7 :
(prwin>.85) ? 6 :
(prwin>.80) ? 5 :
(prwin>.70) ? 4 :
(prwin>.60) ? 3 :
(prwin>.55) ? 2 :
(prwin>.50) ? 1 :
0
##f$wheeldraw##
(rankbits>>9==0b111100) //check AKQJ
|| (rankbits & 0b0000000000011110)==0b0000000000011110 //check 432A

