# alias: DoubleByAdvancer # button-text: X by Advancer # gib-works: true # bba-works: true # auction-filter: Auction.....\n(1C +1. +2C|1D +1. +2D|1H +1. +2H|1S +1. +2S) +X # convention-card-ns: 21GF-DEFAULT # convention-card-ew: 21GF-GIB /*@chat --- Responsive Double by Advancer After 1x (1y) 2x, (X) shows the other two suits. @chat*/ dealer west #include "script/TP" # Defines tpWest, tpNorth, tpSouth ##### Double by Advancer ##### # West Opens, North Bids a new Suit at the 1-level, East Raises, and South has the other 2 suits. # Predict West's Opening suit s = spades(west) h = hearts(west) d = diamonds(west) c = clubs(west) oS = s>4 and s>=h and s>=d and s>=c oH = not oS and h>4 and h>=d and h>=c oD = not (oS or oH) and ((d>3 and d>=c) or c<3) oC = not (oS or oH or oD) westOpens = (oC or oD or oH) //and shape(west,any 1xxx + any 0xxx) # Predict North's overcall nD = diamonds(north)>4 and diamonds(north)>hearts(north) and diamonds(north)>spades(north) nH = hearts(north) >4 and hearts(north)>spades(north) and not nD nS = spades(north) >4 and not (nD or nH) northShape = shape(north,any 5xxx -any 55xx -any 56xx -any 65xx -any 66xx -any 7xxx) // -any 4xxx) northOvercalls = ((oC and (nD or nH or nS)) or (oD and (nH or nS)) or (oH and nS)) and northShape # Avoid South's support for North's suit sDOK = nD and diamonds(south)<3 sHOK = nH and hearts(south) <3 sSOK = nS and spades(south) <3 southSupportOK = sDOK or sHOK or sSOK # Define East's simple raise --- w/'stop' support ------ avoid negative double eC = oC and clubs(east)>3 and (clubs(east) + hcp(east,clubs)) >6 and spades(east)<4 and hearts(east)<4 eD = oD and diamonds(east)>2 and (diamonds(east) + hcp(east,diamonds))>6 and spades(east)<4 and hearts(east)<4 eH = oH and hearts(east)>2 and (hearts(east) + hcp(east,hearts)) >1 # East raises eastRaises = (eC or eD or eH) # Define Opener's & Overcaller's suits CD = oC and nD CH = oC and nH CS = oC and nS DH = oD and nH DS = oD and nS HS = oH and nS # Define South's doubles showing the 2 other suits sHS = CD and shape(south,44xx) and hcp(south,hearts) >2 and hcp(south,spades)>2 sDS = CH and shape(south,4x4x+4x5x) and hcp(south,diamonds)>2 and hcp(south,spades)>2 sDH = CS and shape(south,x44x+x45x) and hcp(south,diamonds)>2 and hcp(south,hearts)>2 and spades(south)<2 sCS = DH and shape(south,4xx4+4xx5) and hcp(south,clubs) >2 and hcp(south,spades)>2 and hearts(south)<2 sCH = DS and shape(south,x4x4+x4x5) and hcp(south,clubs) >2 and hcp(south,hearts)>2 and spades(south)<2 sCD = HS and shape(south,xx44+xx45+xx54) and hcp(south,diamonds)>2 and hcp(south,clubs) >2 southActs = (sHS or sDS or sDH or sCS or sCH or sCD) minHCP = hcp(west)>=11 and hcp(west)<15 and tpWest>12 and hcp(north)>=8 and tpNorth>8 and tpEast>5 and tpEast<10 and tpSouth>9 ##### Now do it ##### westOpens and northOvercalls and eastRaises and southActs and southSupportOK and minHCP produce 30 average "W 1C " 100 * oC, average "W 1D " 100 * oD, average "W 1H " 100 * oH, average "N 1D " 100 * nD, average "N 1H " 100 * nH, average "N 1S " 100 * nS, average "S H&S " 100 * sHS, average "S D&S " 100 * sDS, average "S D&H " 100 * sDH, average "S C&S " 100 * sCS, average "S C&H " 100 * sCH, average "S C&D " 100 * sCD, average "E 2C " 100 * eC, average "E 2D " 100 * eD, average "E 2H " 100 * eH,