# alias: SlamAfterStaymanOrJacoby # button-text: Sta/Jac w/30+ (Lev) # gib-works: true # bba-works: true # auction-filter: Auction.....\n1N +Pass +2[CDH] # curate: kind=bidding # convention-card-ns: 21GF-DEFAULT # convention-card-ew: 21GF-GIB /*@chat --- Slam after Stayman/Jacoby w/30+ Leveled for Stayman/Jacoby, Fit/NoFit, and NT Range. 4NT is Roman Keycard Blackwood (1430) with a trump suit agreed, or quantitative (inviting 6NT) in a notrump auction. Keycard responses: • 5!C = 1 or 4 keycards • 5!D = 0 or 3 • 5!H = 2 without the trump queen • 5!S = 2 with the trump queen @chat*/ dealer south produce 1000 #include "script/Define-1N" hFit4 = hearts(north)==4 and hearts(south)>3 // 4-4 or 4-5 sFit4 = spades(north)==4 and spades(south)>3 hFit5 = hearts(north)==5 and hearts(south)>2 // 5-3, 5-4, or 5-5 sFit5 = spades(north)==5 and spades(south)>2 jac = shape(north, 5xxx + x5xx -54xx -45xx) // exclude smolen jacFit = jac and (hFit5 or sFit5) jacNoFit = jac and not jacFit sta = shape(north, 4xxx + x4xx) // includes smolen staFit = sta and (hFit4 or sFit4) staNoFit = sta and not staFit #include "script/Leveling" # Define Leveling case1 = jacFit and keep47 case2 = staFit and keep53 case3 = jacNoFit and keep case4 = staNoFit and keep33 case15 = ntMin and keep75 case16 = ntAvg and keep86 case17 = ntMax and keep levelTheDealFit = ((case1 or case2) and (case15 or case16 or case17)) levelTheDealNoFit = ((case3 or case4) and (case15 or case16 or case17)) levelTheDeal = levelTheDealNoFit or levelTheDealFit # Do it NT and hcp(north)>14 and (case1 or case2 or case3 or case4) and (case15 or case16 or case17) and levelTheDeal action average "Jac + Fit " 100 * jacFit, average "Sta + Fit " 100 * staFit, average "Jac - Fit " 100 * jacNoFit, average "Sta - Fit " 100 * staNoFit, average "ntMin " 100 * ntMin, average "ntAvg " 100 * ntAvg, average "ntMax " 100 * ntMax, average "hcp south " hcp(south),