# alias: JumpOvercalls # button-text: Jump Overcalls # gib-works: true # bba-works: true # auction-filter: Auction.....\n(1C +2[DHS])|(1D +(2[HS]|3C))|(1H +(2S|3[CD]))|(1S +3[CDH]) # convention-card-ns: 21GF-DEFAULT # convention-card-ew: 21GF-GIB /*@chat --- Jump Overcalls @chat*/ dealer east produce 1000 # Predict East's opening suit sE = spades(east) hE = hearts(east) dE = diamonds(east) cE = clubs(east) eS = sE>4 and sE>=hE and sE>=dE and sE>=cE eH = not eS and hE>4 and hE>=dE and hE>=cE eD = not eS and not eH and ((dE>3 and dE>=cE)) eC = not eS and not eH and not eD # Calculate east's Rank eRS = eS ? 4 : 0 eRH = eH ? 3 : 0 eRD = eD ? 2 : 0 eRC = eC ? 1 : 0 eastRank = eRS+eRH+eRD+eRC // all except one are zero # South's longest suit for weak jump overcall s = spades(south) h = hearts(south) d = diamonds(south) c = clubs(south) sS = s>=h and s>=d and s>=c sH = not sS and h>=d and h>=c sD = not sS and not sH and d>=c sC = not sS and not sH and not sD # Calculate South's Rank sRS = sS ? 4 : 0 sRH = sH ? 3 : 0 sRD = sD ? 2 : 0 sRC = sC ? 1 : 0 southRank = sRS+sRH+sRD+sRC // all except one are zero # Define south's shapes 6-cards for higher ranked suit, 7+cards for lower ranked suit sShape = southRank>eastRank ? shape(south,any 6xxx -any 76xx -any 5xxx) : shape(south,any 9xxx+any 8xxx+any 7xxx-any 76xx-any 5xxx) # Define South Weak Jump Overcalls w2S = spades(south)>5 and top5(south,spades)>2 and hcp(south,spades)>4 w2H = hearts(south)>5 and top5(south,hearts)>2 and hcp(south,hearts)>4 w2D = diamonds(south)>5 and top5(south,diamonds)>2 and hcp(south,diamonds)>4 w2C = clubs(south)>5 and top5(south,clubs)>2 and hcp(south,clubs)>4 sWeakJumpOvercall = (w2S or w2H or w2D or w2C) and hcp(south)>5 and hcp(south)<11 and sShape # East opens hcp(east)>11 and hcp(east)<15 # South makes a Weak Jump Overcall and sWeakJumpOvercall