anchor.diff:    for i:=1 to 4 do
       if aResource = fResource.HouseDat[fHouseType].ResInput[i] then
       begin
  +      //Don't allow the script to overfill houses
  +      if aFromScript then aCount := EnsureRange(aCount, 0, GetMaxInRes-fResourceIn[i]);
         inc(fResourceIn[i], aCount);
         if aFromScript then
         begin
  
positive.code: 
  
  //Add resource as usual and initiate unit training
  procedure TKMHouseSchool.ResAddToIn(aResource: TResourceType; const aCount: Word = 1; aFromScript: Boolean = False);
  begin
    inherited;
  
  
negative.code:     constructor Create(aID: Cardinal; aHouseType: THouseType; PosX, PosY: Integer; aOwner: TPlayerIndex; aBuildState: THouseBuildState);
      constructor Load(LoadStream: TKMemoryStream); override;
      procedure SyncLoad; override;
      procedure ResAddToIn(aResource: TResourceType; aCount: Word = 1; aFromScript: Boolean = False); override;
      procedure AddUnitToQueue(aUnit: TUnitType; aCount: Byte); //Should add unit to queue if there's a place
      procedure RemUnitFromQueue(aID: Byte); //Should remove unit from queue and shift rest up
      procedure StartTrainingUnit; //This should Create new unit and start training cycle
  