# alias: TrapPassMaybe # button-text: Trap Pass? (Lev) # gib-works: true # bba-works: true # auction-filter: Auction.....\n1.*\nX +Pass +[\dP] # convention-card-ns: 21GF-DEFAULT # convention-card-ew: 21GF-GIB /*@chat --- Trap Pass, Maybe After 1x, (overcall), Pass, (Pass), consider reopening with DOUBLE. About 50% of South's passes are trap passes. The others are weak passes. @chat*/ #include "script/TP" ##### Predict South's Opening Suit ##### # With 12-14 HCP and 5440/5431/5422 shape, South always opens the unique 5-card suit s = spades(south) h = hearts(south) d = diamonds(south) c = clubs(south) oneSpade = s>4 and s>=h and s>=d and s>=c oneHeart = not oneSpade and h>4 and h>=d and h>=c oneDiamond = not oneSpade and not oneHeart and ((d>3 and d>=c) or c<3) oneClub = not oneSpade and not oneHeart and not oneDiamond ##### End of Predict South's Opening Suit ##### dealer south predeal west HQ,DK,CA # North does not have a fit with South (avoid raise) and North is short in West's suit # and West is NOT short in North's suit (avoid X) s1S = oneSpade and spades(north)<3 and spades(west)>2 s1H = oneHeart and hearts(north)<3 and hearts(west)>2 s1D = oneDiamond and diamonds(north)<4 and diamonds(west)>2 s1C = oneClub and clubs(north)<4 and clubs(west)>2 sOpens = (s1S or s1H or s1D or s1C) and shape(south,any 5440 +any 5431 +any 5422) and hcp(south)>11 and hcp(south)<15 sRank1 = s1C ? 1 : 0 sRank2 = s1D ? 2 : 0 sRank3 = s1H ? 3 : 0 sRank4 = s1S ? 4 : 0 sRank = sRank1 + sRank2 + sRank3 + sRank4 // all but 1 are 0 # Determine West's longest suit sw = spades(west) hw = hearts(west) dw = diamonds(west) cw = clubs(west) wS = sw>=hw and sw>=dw and sw>=cw wH = not wS and hw>=dw and hw>=cw wD = not wS and not wH and dw>=cw wC = not wS and not wH and not wD # West has a good suit w1S = wS and top3(west,spades)==2 w1H = wH and top3(west,hearts)==2 w1D = wD and top3(west,diamonds)==2 w1C = wC and top3(west,clubs)==2 wSuit = (w1S or w1H or w1D or w1C) wRank1 = w1C ? 1 : 0 wRank2 = w1D ? 2 : 0 wRank3 = w1H ? 3 : 0 wRank4 = w1S ? 4 : 0 wRank = wRank1 + wRank2 + wRank3 + wRank4 // all but 1 are 0 wMin = wRank > sRank ? 9 : 11 wOvercalls = wSuit and tpWest>=wMin and tpWest<18 and shape(west,any 6xxx +any 5xxx -any 65xx -any 55xx) # North stack nSS = w1S and spades(north)==5 and top5(north,spades)>=2 nHS = w1H and hearts(north)==5 and top5(north,hearts)>=2 nDS = w1D and diamonds(north)==5 and top5(north,diamonds)>=2 nCS = w1C and clubs(north)==5 and top5(north,clubs)>=2 nTrap = (nSS or nHS or nDS or nCS) # North weak Pass -- no double & no bid nWeak = not nTrap and tpNorth<9 # East Passes ePass = tpEast<9 and shape(east,xxxx-any 7xxx -any 6xxx) # South makes a Take-Out X sTOX =shape(south,any 5422 +any 5431 +any 5440) #include "script/Leveling" levWeak = nWeak and keep11 levTrap = nTrap and keep levelTheDeal = levWeak or levTrap # Now do it sOpens and wOvercalls and (nTrap or nWeak) and ePass and sTOX and levelTheDeal action average "Trap Pass" 100 * nTrap, average "Weak Pass" 100 * nWeak,