anchor.diff:    Image_TH_Right.FlagColor := gHands[townHall.Owner].FlagColor;
     Image_TH_Train.FlagColor := gHands[townHall.Owner].FlagColor;
   
  -  if (Sender = Button_TH_Left) and (ssRight in Shift) then
  +  if (Sender = Button_TH_Left) and (RMB_SHIFT_STATES * Shift <> []) then
       fLastTHUnit := 0;
  -  if (Sender = Button_TH_Right) and (ssRight in Shift) then
  +  if (Sender = Button_TH_Right) and (RMB_SHIFT_STATES * Shift <> []) then
       fLastTHUnit := High(TownHall_Order);
   
     if (Sender = Button_TH_Left) and (fLastTHUnit > 0) then
  
positive.code:   Image_Barracks_NotAcceptRecruit.Visible := barracks.NotAcceptRecruitFlag;
  
  
    if (Sender = Button_Barracks_Left) and (ssRight in Shift) then
      fLastBarracksUnit := 0;
    if (Sender = Button_Barracks_Right) and (ssRight in Shift) then
      fLastBarracksUnit := High(Barracks_Order);
  
    if (Sender = Button_Barracks_Left)and(fLastBarracksUnit > 0) then
  
negative.code:   if Sender = Button_School_Train then
    begin
      // Right click - fill queue with same units
      if RMB_SHIFT_STATES * Shift <> [] then
        gGame.GameInputProcess.CmdHouse(gicHouseSchoolTrain, school, School_Order[fLastSchoolUnit], 10)
      else if (ssLeft in Shift) then
      begin
  