mirror of
https://github.com/EQEmu/Server.git
synced 2026-09-03 01:06:36 +00:00
[Quests] Improve Quest Error Handling (#2635)
* Improve Quest Error handling * Update embperl.cpp * Bench test (temp) * Swap log category for benchmark * Swap external process invocation for native Perl eval throw
This commit is contained in:
@@ -71,7 +71,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
virtual bool HasQuestSub(uint32 npcid, QuestEventID evt) { return false; }
|
||||
virtual bool HasGlobalQuestSub(QuestEventID evt) { return false; }
|
||||
virtual bool PlayerHasQuestSub(QuestEventID evt) { return false; }
|
||||
@@ -120,14 +120,14 @@ public:
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
virtual void AddVar(std::string name, std::string val) { }
|
||||
virtual std::string GetVar(std::string name) { return std::string(); }
|
||||
virtual void Init() { }
|
||||
virtual void ReloadQuests() { }
|
||||
virtual uint32 GetIdentifier() = 0;
|
||||
virtual void RemoveEncounter(const std::string &name) { }
|
||||
|
||||
|
||||
//TODO: Set maximum quest errors instead of hard coding it
|
||||
virtual void GetErrors(std::list<std::string> &quest_errors) {
|
||||
quest_errors.insert(quest_errors.end(), errors_.begin(), errors_.end());
|
||||
@@ -135,13 +135,14 @@ public:
|
||||
|
||||
virtual void AddError(std::string error) {
|
||||
LogQuests("{}", error);
|
||||
LogQuestErrors("{}", Strings::Trim(error));
|
||||
|
||||
errors_.push_back(error);
|
||||
if(errors_.size() > 30) {
|
||||
errors_.pop_front();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
std::list<std::string> errors_;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user