# alias: WeXOppsPreempt # button-text: We X Opps Preempt # gib-works: true # bba-works: true # auction-filter: 3[CDHS] X Pass # convention-card-ns: 21GF-DEFAULT # convention-card-ew: 21GF-GIB /*@chat --- We Double Opponents Preemptive opening. @chat*/ dealer east # East Preempts tp = hcp(east) sp = hcp(east,spades) hp = hcp(east,hearts) dp = hcp(east,diamonds) cp = hcp(east,clubs) # Define East Preemptive bids w/o 3-card support by west w3S = shape(east,9xxx+8xxx+7xxx-x4xx -any 6xxx-any 5xxx) and 2 * sp > tp and top3(east,spades)>1 and spades(west)<3 w3H = shape(east,x9xx+x8xx+x7xx-4xxx -any 6xxx-any 5xxx) and 2 * hp > tp and top3(east,hearts)>1 and hearts(west)<3 w3D = shape(east,xx9x+xx8x+xx7x-x4xx-4xxx-any 6xxx-any 5xxx) and 2 * dp > tp and top3(east,diamonds)>1 and diamonds(west)<3 w3C = shape(east,xxx9+xxx8+xxx7-x4xx-4xxx-any 6xxx-any 5xxx) and 2 * cp > tp and top3(east,clubs)>1 and clubs(west)<3 # Define South shortness w/3 suits & shortness in opener's suit sShortS = w3S and spades(south)<3 and shape(south,x4xx+any 5440+any 5431) sShortH = w3H and hearts(south)<3 and shape(south,4xxx+any 5440+any 5431) sShortD = w3D and diamonds(south)<3 and shape(south,44xx+any 5440+any 5431) sShortC = w3C and clubs(south)<3 and shape(south,44xx+any 5440+any 5431) sShort = (sShortS or sShortH or sShortD or sShortC) # Define South stopper sStopS = w3S and (top2(south,spades)>0 and spades(south)>1) or (top3(south,spades)>0 and spades(south)>2) sStopH = w3H and (top2(south,hearts)>0 and hearts(south)>1) or (top3(south,hearts)>0 and hearts(south)>2) sStopD = w3D and (top2(south,diamonds)>0 and diamonds(south)>1) or (top3(south,diamonds)>0 and diamonds(south)>2) sStopC = w3C and (top2(south,clubs)>0 and clubs(south)>1) or (top3(south,clubs)>0 and clubs(south)>2) sStop = (sStopS or sStopH or sStopD or sStopC) sNT = hcp(south)>15 and hcp(south)<19 and shape(south, any 4333+any 4432+any 5332) and sStop sX1 = hcp(south)>13 and hcp(south)<16 and sShort sX2 = hcp(south)>15 and hcp(south)<19 and not sNT sX3 = hcp(south)>18 sX = (sX1 or sX2 or sX3) and shape(south,any 5440+any 4441+any 4432) ePreempts = (w3S or w3H or w3D or w3C) and hcp(east)>6 and hcp(east)<10 # West Passes wPasses = hcp(west)<10 # North is weak, invitational, or forcing weak = hcp(north)<8 invite = hcp(north)>7 and hcp(north)<12 force = hcp(north)>11 #include "script/Leveling" # Define leveling levWeak = weak and keep33 levInvite = invite and keep11 levForce = force and keep75 levSX1 = sX1 and keep03 levSX2 = sX2 and keep75 levSX3 = sX3 and keep33 levelTheDeal = (levWeak or levInvite or levForce or levSX1 or levSX2 or levSX3) ePreempts and sX and wPasses and (weak or invite or force) and levelTheDeal produce 40 action average "South X 14-15 " 100 * sX1, average "South X 16-18 " 100 * sX2, average "South X 19+ " 100 * sX3, average "North Weak " 100 * weak, average "North Invite " 100 * invite, average "North Force " 100 * force,