# alias: MaximalAfterOvercall # button-text: Max X after Overcall # gib-works: false # bba-works: true # auction-filter: Auction.....\n(1H.*\n3H +[X34]S?|1D.*\n3D +[X34]H?) # convention-card-ns: 21GF-SPECIALS # convention-card-ew: 21GF-GIB /*@chat --- Maximal Double after Overcall After LHO opens, partner overcalls in a major, RHO competes, we make a simple raise to the 2-level, and LHO competes at 3 of the maximal suit -- the one just under ours -- we need to distinguish between a competitive and invitational rebid of our major. The Maximal Double is the answer. After (1?) 1M (?) 2M, (3M-1)... • 3M is competitive • X is invitational https://www.bridgebum.com/maximal_double.php @chat*/ dealer west #include "script/TP" # Defines tpNorth, tpSouth, tpEast, tpWest # Predict West's opening suit (the maximal suit) s = spades(west) h = hearts(west) d = diamonds(west) c = clubs(west) wNT = hcp(west)>14 and hcp(west)<17 and shape(west,any 5332 +any 4432 +any 4333 -5xxx -x5xx) wS = not wNT and s>4 and s>=h and s>=d and s>=c wH = not (wNT or wS) and h>4 and h>=d and h>=c wD = not (wNT or wS or wH) and ((d>3 and d>=c) or c<3) wC = not (wNT or wS or wH or wD) # Define North's overcall in a major w/South's support for simple raise n1Suit = shape(north,any 6xxx +any 5xxx -any 66xx -any 65xx -any 55xx) nsS = (spades(north)==6 and spades(south)==2) or (spades(north)==5 and spades(south)>2) and wH and hcp(west)>11 nsH = (hearts(north)==6 and hearts(south)==2) or (hearts(north)==5 and hearts(south)>2) and wD and hcp(west)>11 nWJO = (spades(north)==6 or hearts(north)==6) and hcp(north)<10 nsBid = (nsS or nsH) and hcp(north)>10 and tpNorth>11 and tpNorth<20 and tpSouth>8 and tpSouth<11 and n1Suit and not nWJO ### West opens the maximal suit and rebids it at 3: 5+ suit, 12-16 TP (per GIB) # East makes a simple raise (3-card support) -- avoid jumps wMaxH = nsS and wH and hearts(west)>4 and hearts(east)==3 wMaxD = nsH and wD and diamonds(west)>4 and diamonds(east)>3 and diamonds(east)<6 and hcp(east,diamonds)<4 and spades(west)<4 and spades(east)<4 and hearts(south)<5 wRange = hcp(west)>11 and tpWest>12 and tpWest<16 nRange = hcp(north)>7 and tpNorth>8 eRange = tpEast>5 and tpEast<11 sRange = tpSouth>5 ranges = wRange and nRange and eRange and sRange #include "script/Leveling" levelTheDeal = (wMaxH and keep30) or wMaxD # Now do it (wMaxH or wMaxD) and ranges and nsBid and levelTheDeal produce 40 action printoneline,