# alias: GibRespTo1C # button-text: GIB after 1C # gib-works: true # bba-works: true # auction-filter: Auction.....\n1C +Pass +(1[DHS]|1NT?|2C|2NT?|3[CDHS]|3NT?) + # convention-card-ns: 21GF-GIB # convention-card-ew: 21GF-GIB /*@chat --- After 1!C (Pass)... North opens 1!C and South responds. You may go to 'Deal source' to select specific responses. Just modify this line... - sResponds = r1D or r1H or r1S or r1N or r2C or r2N or r3C or r3x or r3N For example, if you want just splinter responses to 1!C, use this... - sResponds = r3x Don't worry about breaking things. Just reclick the scenario button to reload. @chat*/ dealer north #include "script/Calm-Opponents" # Defines calmOpps #include "script/Predict-Opening-1-Bid-North" # Defines oneClub #include "script/TP" # Defines tpEast, tpSouth # Define suits suitable for 4-card overcall eAS = hascard(east,AS) eKS = hascard(east,KS) eQS = hascard(east,QS) eJS = hascard(east,JS) eTS = hascard(east,TS) e9S = hascard(east,9S) eAH = hascard(east,AH) eKH = hascard(east,KH) eQH = hascard(east,QH) eJH = hascard(east,JH) eTH = hascard(east,TH) e9H = hascard(east,9H) eAD = hascard(east,AD) eKD = hascard(east,KD) eQD = hascard(east,QD) eJD = hascard(east,JD) eTD = hascard(east,TD) e9D = hascard(east,9D) # Define East's possible overcall suits: AKxx, AQJx, AQTx, AQ9x, AJT9, KQJx, or KQTx eS4 = ((eAS and eKS) or (eAS and eQS and (eJS or eTS or e9S)) or (eAS and eJS and eTS and e9S) or (eKS and eQS and (eJS or eTS))) and spades(east)==4 eH4 = ((eAH and eKH) or (eAH and eQH and (eJH or eTH or e9H)) or (eAH and eJH and eTH and e9H) or (eKH and eQH and (eJH or eTH))) and hearts(east)==4 eD4 = ((eAD and eKD) or (eAD and eQD and (eJD or eTD or e9D)) or (eAD and eJD and eTD and e9D) or (eKD and eQD and (eJD or eTD))) and diamonds(east)==4 ess = (eS4 and eH4) or (eS4 and eD4) or (eH4 or eD4) # Avoid Takeout Double -- 13/14 HCP and equal length in the majors X = (hcp(east)==13 or hcp(east)==14) and spades(east)==hearts(east)==(3 or 4) // I'm out of 'shape' statements reverse = shape(north,45xx+x45x+xx45) and hcp(north)>16 eRange = tpEast>=12 and tpEast<=14 and not X # Define East's actions cOC = oneClub and (eD4 or eH4 or eS4) and clubs(east)==3 dOC = oneDiamond and (eH4 or eS4) and diamonds(east)==3 hOC = oneHeart and eS4 and hearts(east)==3 eOvercalls = (cOC or dOC or hOC) and eRange and shape(east,any 4432 +any 4333) eTakeOutDouble = (balEast and hcp(east)>10 and clubs(east)==2) or (balWest and hcp(west)>10 and clubs(west)==2) // Must know opening suit oppsPass = calmOpps and not (eOvercalls or eTakeOutDouble) ## Define things... # Define South's suit lengths sC = clubs(south) sD = diamonds(south) sH = hearts(south) sS = spades(south) # Define South's rebiddable suit sRS = sS>5 or (sS==5 and top5(south,spades)>2) sRH = sH>5 or (sH==5 and top5(south,hearts)>2) sRD = sD>5 or (sD==5 and top5(south,diamonds)>2) sRC = sC>5 or (sC==5 and top5(south,clubs)>2) sRebiddableSuit = sRS or sRH or sRD or sRC # GIB defines partial stop: length+HCP = 4 (Qx or Jxx). But, it bids differently with 3-cards or honor doubleton dStop = (hcp(south,diamonds) + sD)>3 ? 2 : 0 // Dealer doesn't allow fractions; so 2 pts for stop hStop = (hcp(south,hearts) + sH)>3 ? 2 : 0 sStop = (hcp(south,spades) + sS)>3 ? 2 : 0 dHalf = not dStop and ((hcp(south,diamonds)>0) + sD)==3 // and 1 pt for half-stop: any 3-cards or honor doubleton hHalf = not hStop and ((hcp(south,hearts)>0) + sH)==3 sHalf = not sStop and ((hcp(south,spades)>0) + sS)==3 stops = dStop + hStop + sStop + dHalf + hHalf +sHalf # I've exceeded the number or 'shape' statements that Dealer allows, I'll use the less efficient version. s3334 = sS==3 and sH==3 and sD==3 s3343 = sS==3 and sH==3 and sD==4 sxx44 = (sS==3 or sS==2) and sD==4 and sC==4 // 3244 or 2344 sBal = (s3334 or s3343 or sxx44) // no 4-card major sRange = sRebiddableSuit ? tpSouth>5 and tpSouth<17 : tpSouth>5 // no upper range without rebiddable suit ## 1. Major responses rS1 = sS>4 and sS>=sH // higher ranking of 5+card suits rS2 = tpSouth<13 and sS==4 and sS>sH // skip longer D w/<13 rS3 = sS==4 and sS>sH and sD<5 // prefer 4-card H/S to 4-card D r1S = rS1 or rS2 or rS3 rH1 = sH>4 and sH>sS rH2 = tpSouth<13 and sH==4 and sH>=sS rH3 = sH==4 and sD<5 r1H = (rH1 or rH2 or rH3) and not r1S rM = r1H or r1S ## 2. Club responses r3x = sC>4 and shape(south,3316+3307+any 0xxx +any 1xxx) and tpSouth>13 and not rM // splinter r2C34 = s3334 and hcp(south)>9 and hcp(south)<13 and stops<5 and not rM r2C44 = sxx44 and hcp(south)>9 and hcp(south)<13 and stops<4 and not rM r2C3N = s3334+sxx44 and hcp(south)>12 and hcp(south)<16 and not rM // GIB goes through 2C w/a bal 13-15 r2Cx5 = sC>4 and sD<5 and hcp(south)>9 and not (rM or r3x) r2C = r2C34 or r2C44 or r2C3N or r2Cx5 r3C = sC>4 and sD<5 and hcp(south)<10 and tpSouth>4 and not (rM or r3x) rC = r2C34 or r2C44 or r2C3N or r2Cx5 or r3C or r3x ## 3. Notrump responses r1N = hcp(south)>5 and hcp(south)<11 and sBal and not rC r2Na = hcp(south)>10 and hcp(south)<13 and sxx44 and stops>3 and hcp(south,diamonds)>0 and not rC // prefer 1D or 2C r2Nb = hcp(south)>10 and hcp(south)<13 and s3334 and stops>4 and not rC // no alternative r2Nc = hcp(south)>10 and hcp(south)<13 and s3343 and stops>5 and not rC // prefer 1D r2N = r2Na or r2Nb or r2Nc r3N = s3343 and hcp(south)>12 and hcp(south)<16 and sBal and stops>5 and not rC rN = r1N or r2N or r3N ## 4. Diamonds r1D = sD>3 and not (rM or rN or rC) // Change the following line to get the responses you want -------- // sResponds = r1D or r1H or r1S or r1N or r2C or r2N or r3C or r3x or r3N // // ---------------------------------------------------------------- oneClub and not eOvercalls and sRange and sResponds and oppsPass action average "CD " 100 * r1D, average "CH " 100 * r1H, average "CS " 100 * r1S, average "CN " 100 * r1N, average "2C " 100 * r2C, average "2N " 100 * r2N, average "3C " 100 * r3C, average "3x " 100 * r3x, average "3N " 100 * r3N,