# alias: Ogust # button-text: Ogust # gib-works: false # bba-works: true # auction-filter: 2[DHS] +Pass +2N =.= +Pass\n3[CDHSN] # convention-card-ns: 21GF-Ogust # convention-card-ew: 21GF-GIB /*@chat --- Ogust: After a weak 2, 2NT asks about hand strength and suit quality.. Opener's rebids: 3C = Minimal hand, poor suit 3D = Minimal hand, good suit 3H = Maximal hand, poor suit 3S = Maximal hand, good suit 3NT = Solid suit (AKQ) https://www.bridgebum.com/ogust.php @chat*/ dealer south #include "script/Calm-Opponents" #include "script/TP" # South opens a Weak Two (GIB definition): 6+ suit, no 4-card side suit, 10- HCP, 7+ TP sHcp = hcp(south) # Suit quality: 2 of top 3 (AKQ) or 3 of top 5 (AKQJT) -- e.g., KQ yes, KJT yes, KJ no w2s = shape(south, 6xxx -xxx6 -any 4xxx) and (top3(south,spades)>1 or top5(south,spades)>2) and (spades(north) + hcp(north))<19 w2h = shape(south, x6xx -xxx6 -any 4xxx) and (top3(south,hearts)>1 or top5(south,hearts)>2) and (hearts(north) + hcp(north))<19 w2d = shape(south, xx6x -xxx6 -any 4xxx) and (top3(south,diamonds)>1 or top5(south,diamonds)>2) stiffS = spades(south)==1 and hcp(south,spades)>0 stiffH = hearts(south)==1 and hcp(south,hearts)>0 stiffD = diamonds(south)==1 and hcp(south,diamonds)>0 stiffC = clubs(south)==1 and hcp(south,clubs)>0 noStiffHonor = not (stiffS or stiffH or stiffD or stiffC) # GIB minimums are floors -- hands at minimum in ALL dimensions often don't get opened. # Require at least one of (suit quality, HCP, TP) to be above minimum. aboveMinSuit = (w2s and top3(south,spades)>1) or (w2h and top3(south,hearts)>1) or (w2d and top3(south,diamonds)>1) aboveMinHcp = sHcp > 6 aboveMinTp = tpSouth > 7 atLeastOneAbove = aboveMinSuit or aboveMinHcp or aboveMinTp w2Range = sHcp<10 and tpSouth>6 and tpSouth<12 weakTwo = (w2s or w2h or w2d) and w2Range and noStiffHonor and atLeastOneAbove # North has 15-16 TP or 21+ TP -- strong enough to invite game or slam. northAsks = (hcp(north)>14 and tpNorth<17) or tpNorth>20 # Good suit (BBA definition) = 5+ HCP in suit (AJ, KQ, AQ, AK, or better) goodSuit = (w2s and hcp(south,spades)>4) or (w2h and hcp(south,hearts)>4) or (w2d and hcp(south,diamonds)>4) poorSuit = not goodSuit # Solid suit = all 3 top honors (AKQ) solidSuit = (w2s and top3(south,spades)==3) or (w2h and top3(south,hearts)==3) or (w2d and top3(south,diamonds)==3) # Minimal = 5-7 HCP, Maximal = 8-10 HCP minimal = sHcp<8 maximal = sHcp>7 # Ogust response categories case3C = minimal and poorSuit // Minimal, poor suit case3D = minimal and goodSuit and not solidSuit // Minimal, good suit case3H = maximal and poorSuit // Maximal, poor suit case3S = maximal and goodSuit and not solidSuit // Maximal, good suit case3N = solidSuit // Solid suit (AKQ) #include "script/Leveling" # Level: bring 3D and 3S down toward 3H (14%) lev3C = case3C and keep lev3D = case3D and keep53 lev3H = case3H and keep lev3S = case3S and keep25 lev3N = case3N and keep levelTheDeal = lev3C or lev3D or lev3H or lev3S or lev3N weakTwo and northAsks and calmOpps and levelTheDeal produce 40 action average "3C Min/Poor " 100 * case3C, average "3D Min/Good " 100 * case3D, average "3H Max/Poor " 100 * case3H, average "3S Max/Good " 100 * case3S, average "3N Solid AKQ" 100 * case3N,