anchor.diff:    end;
   
   const
  -  VAR_TYPE_NAME: array[0..22] of string = (
  +  VAR_TYPE_NAME: array[0..24] of string = (
       'Byte', 'Shortint', 'Smallint', 'Word', 'Integer', 'Cardinal', 'Single', 'Boolean', 'String',
  -    'TKMHouse', 'TKMUnit', 'TKMUnitGroup', 'TKMHandIndex', // Werewolf types
  +    'array of const', 'array of Integer',
       'TKMHouseType', 'TKMWareType', 'TKMFieldType', 'TKMUnitType',
       'THouseType', 'TWareType', 'TFieldType', 'TUnitType',
  -    'array of const', 'array of Integer'
  +    'TKMObjectiveStatus', 'TKMObjectiveType',
  +    'TKMHouse', 'TKMUnit', 'TKMUnitGroup', 'TKMHandIndex' // Werewolf types
     );
   
  -  VAR_TYPE_ALIAS: array[0..22] of string = (
  +  VAR_TYPE_ALIAS: array[0..24] of string = (
       'Byte', 'Shortint', 'Smallint', 'Word', 'Integer', 'Cardinal', 'Single', 'Boolean', 'String',
  -    'Integer', 'Integer', 'Integer', 'Integer', // Werewolf types
  +    'array of const', 'array of Integer',
       'TKMHouseType', 'TKMWareType', 'TKMFieldType', 'TKMUnitType',
       'THouseType', 'TWareType', 'TFieldType', 'TUnitType',
  -    'array of const', 'array of Integer'
  +    'TKMObjectiveStatus', 'TKMObjectiveType',
  +    'Integer', 'Integer', 'Integer', 'Integer' // Werewolf types
     );
   
   var
  
positive.code:   begin
      listEvents  := TStringList.Create;
      listEvents.Add('####Events' + sLineBreak);
      listEvents.Add('| Ver<br>sion | Event | Description | Parameters and types |');
      listEvents.Add('| ------- | ---- | ----------- | -------------------- |');
      ParseText(edtEventsFile.Text, listEvents);
      txtParserOutput.Lines.AddStrings(listEvents);
  
negative.code: }
  function TForm1.ParseParams(aString: string): string;
  var
    i, K, nextType: Integer;
    isParam: Boolean;
    listTokens, paramList, typeList: TStringList;
    paramHolder: array of TParamHolder;
    lastType: string;
  begin
    Result := '<sub>';
  
    listTokens := TStringList.Create;
    paramList := TStringList.Create;
  