# alias: MajorSuitFit # button-text: Major Suit Fit (Lev) # gib-works: true # bba-works: true # auction-filter: Auction.....\n((1H +Pass +[2-7]H)|(1S +Pass +[2-7]S)) # curate: kind=bidding # convention-card-ns: 21GF-DEFAULT # convention-card-ew: 21GF-GIB /*@chat --- Major Suit Fit • 2M = 8-10 TP and 3+ card support • 1N/2M = 4-7 TP and 3+ card support (Forcing/Semi-Forcing NT followed by 2M) • 1N/3M = 11-12 TP and 3-card support (Forcing/Semi-Forcing NT followed by 3M) • 3M = 11-12 TP and 4+ card support • 4M = 0-7 TP and 5+ card support TP = HCP + short suit points + 1 for 4+ support-not-4333 Check the link below for more information https://www.larryco.com/bridge-articles/major-openings-part-1 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*/ # Major_Suit_Fit dealer north #include "script/Predict-Opening-1-Bid-North" # Returns oS & oH #include "script/TP" # Returns tpSouth # Avoid preempts, weak 2, Michaels, and Unusual NT ePreempt = shape(east,any 9xxx +any 8xxx +any 7xxx +any 6xxx) and hcp(east)>3 e2Suits = shape(east,any 76xx +any 75xx +any 66xx +any 65xx +any 55xx) and hcp(east)>3 eOvercall = shape(east,any 5xxx) and hcp(east)>7 ePasses = hcp(east)<11 and not(ePreempt or e2Suits or eOvercall) # Define South's 3- 4+ and 5+ card fits spadeFit3 = oS and spades(south)==3 spadeFit4 = oS and spades(south)==4 spadeFit5 = oS and spades(south)>4 heartFit3 = oH and hearts(south)==3 heartFit4 = oH and hearts(south)==4 heartFit5 = oH and hearts(south)>4 fit3 = spadeFit3 or heartFit3 fit4 = spadeFit4 or heartFit4 fit5 = spadeFit5 or heartFit5 # Calculate South's Total Points: tpSouth +1 for 4+ support unless 4333 sP = tpSouth + (fit4 and shape(south,xxxx-any 4333)) # Avoid Splinter Splinter = fit4 and shape(south,any 0xxx +any 1xxx) and sP>10 and sP<16 preempt = sP<8 and fit5 faulty = sP>3 and sP<8 and (fit3 or fit4) simple = sP>7 and sP<11 and (fit3 or fit4) invite3 = sP>10 and sP<13 and fit3 invite4 = sP>10 and sP<13 and fit4 #include "script/Leveling" lev1 = faulty and keep25 lev2 = simple and keep11 lev3 = invite3 and keep25 lev4 = invite4 and keep89 lev5 = preempt and keep levelTheDeal = lev1 or lev2 or lev3 or lev4 or lev5 nOpens = (oH or oS) and hcp(north)>11 and hcp(north)<19 sResponds = (preempt or faulty or simple or invite3 or invite4) and not Splinter nOpens and ePasses and sResponds and levelTheDeal action average "faulty raise " 100 * faulty, average "simple raise " 100 * simple, average "3-card invite " 100 * invite3, average "4-card invite " 100 * invite4, average "preempt " 100 * preempt,