anchor.diff:  
     definition:  THeroDefinition;
   begin
  -  if FMapVersion < MAP_VERSION_SOD then Exit;
  +  if not IsAtLeastSoD() then
  +    Exit;
   
     for i := 0 to HERO_QUANTITY - 1 do
     begin
  
positive.code:   cnt: Integer;
  begin
  
    cnt := ifthen(FMapVersion=MAP_VERSION_ROE,16,20);
  
    ReadBitmask(FMap.AllowedHeroes, cnt, HERO_QUANTITY, @FMapEnv.lm.HeroIndexToString, False);
  
    //unknown plaseholder
    if FMapVersion<>MAP_VERSION_ROE then
    begin
      cnt :=FSrc.ReadDWord;
      FSrc.Skip(cnt);
  
negative.code: 
          obj_subtype := FMapEnv.lm.CreatureIndexToString(obj_id);
  
          if IsAtLeastAB() then
            FSrc.Skip(1);
  
          value := FSrc.ReadDWord;
  