anchor.diff:  
   { TQuests }
   
  -function TQuests.GetName(const QuestEnum: TQuestEnum): string;
  +function TQuests.GetName(const AQuestEnum: TQuestEnum): string;
   begin
     Result := 'Kill bears';
   end;
  
positive.code:     end;
  end;
  
  procedure TQuests.Add(const QuestEnum: TQuestEnum);
  begin
    SetLength(FQuest, Count() + 1);
    with FQuest[Count() - 1] do
    begin
      Level := 1;
      QuestState := qsActive;
      QuestType := qtKillMobs;
      Mob := mbBlack_Bear;
      Amount := 3;
      // Counters
      Kills := 0;
    end;
    Mobs.AddGroup(deDarkWood, mbBlack_Bear, 3);
    MsgLog.Add(_('The new quest is added to the log.'));
  end;
  
  procedure TQuests.Clear;
  begin
    SetLength(FQuest, 0);
  end;
  
  function TQuests.Count: Integer;
  begin
    Result := Length(FQuest);
  end;
  
  constructor TQuests.Create;
  begin
    Clear;
  end;
  
  initialization
  
  Quests := TQuests.Create;
  
  finalization
  
  
negative.code:     function GetQuest(I: Integer): TQuest;
      procedure SetQuest(I: Integer; const Value: TQuest);
    public
      procedure Clear();
      constructor Create();
      function Count(): Integer;
      procedure Add(const AQuestEnum: TQuestEnum);
      property Quest[I: Integer]: TQuest read GetQuest write SetQuest;
      procedure DoQuest(const AQuestType: TQuestType; const Value: Integer);
      property Current: TQuestEnum read FCurrent write FCurrent;
      function GetName(const AQuestEnum: TQuestEnum): string;
    end;
  
  var
  