anchor.diff:  
     //and the corresponing unit that will be created (matches KaM behavior)
     UNIT_TYPE_TO_OLD_ID: array[TKMUnitType] of integer = (
  -  -1, -1, //utNone, utAny
  -  0,1,2,3,4,5,6,7,8,9,10,11,12,13, //Citizens
  -  14,15,16,17,18,19,20,21,22,23, //Warriors
  -  -1,-1,-1,-1, {-1,-1,} //TPR warriors (can't be placed with SET_UNIT)
  -  24,25,26,27,28,29,30,31); //Animals
  +    -1, -1, //utNone, utAny
  +    0,1,2,3,4,5,6,7,8,9,10,11,12,13, //Citizens
  +    14,15,16,17,18,19,20,21,22,23, //Warriors
  +    -1,-1,-1,-1, {-1,-1,} //TPR warriors (can't be placed with SET_UNIT)
  +    24,25,26,27,28,29,30,31); //Animals
   
     //This is a map of the valid values for !SET_GROUP, and the corresponing unit that will be created (matches KaM behavior)
     UNIT_ID_TO_TYPE: array[0..40] of TKMUnitType = (
  
positive.code: //Animals don't have team and thus are rendered in their own prefered clors
  function TKMUnitSpec.GetMinimapColor: Cardinal;
  const
    MMColor:array[TKMUnitType] of Cardinal = (
      0,0,0,0,0,0,0,0,0,0,
      0,0,0,0,0,0,0,0,0,0,
      0,0,0,0,0,0,0,0,0,0,
  
negative.code: 
  
  function TKMUnitSpec.SupportsAction(aAct: TKMUnitActionType): Boolean;
  const
    UnitSupportedActions: array [TKMUnitType] of TKMUnitActionTypeSet = (
      [], [], //None, Any
      [uaWalk, uaDie, uaEat, uaWalkArm], //Serf
      [uaWalk, uaWork, uaDie, uaWork1, uaEat..uaWalkTool2],
  