anchor.diff:  
   procedure TKMHouseSchool.SyncLoad;
   begin
  -  UnitWIP := fPlayers.GetUnitByID(cardinal(UnitWIP));
  +  UnitWIP := fPlayers.GetUnitByID(Cardinal(UnitWIP));
   end;
   
   
  
positive.code: end;
  
  
  procedure TKMHouseStore.ResAddToIn(aResource:TResourceType; const aCount:word=1; aFromScript:boolean=false);
  var R: TResourceType;
  begin
    case aResource of
  
negative.code: 
  { TKMHouseStore }
  procedure TKMHouseStore.Activate(aWasBuilt:boolean);
  var
    FirstStore: TKMHouseStore;
    RT: TResourceType;
  begin
    inherited;
    //A new storehouse should inherrit the accept properies of the first storehouse of that player,
    //which stops a sudden flow of unwanted resources to it as soon as it is create.
    FirstStore := TKMHouseStore(fPlayers[fOwner].FindHouse(ht_Store, 1));
    if (FirstStore <> nil) and not FirstStore.IsDestroyed then
      for RT := WARE_MIN to WARE_MAX do
        NotAcceptFlag[RT] := FirstStore.NotAcceptFlag[RT];
  end;
  
  
  constructor TKMHouseStore.Load(LoadStream: TKMemoryStream);
  begin
    inherited;
    LoadStream.Read(ResourceCount, SizeOf(ResourceCount));
  