Quantcast [open] More quest info for more quests - ESOUI
Thread Tools Display Modes
08/24/17, 06:19 PM   #1
Enodoc
AddOn Author - Click to view addons
Join Date: Aug 2014
Posts: 43
[open] More quest info for more quests

We already have GetCompletedQuestInfo(questId) and GetCompletedQuestLocationInfo(questId). Is there a reason this is only available for completed quests? All quests have an (invariable) unique Id, and their name, questType, zoneName, objectiveName, zoneIndex and poiIndex do not change on completion.

Can these functions be changed to GetQuestInfo(questId) and GetQuestLocationInfo(questId), which would return the results for any questId, complete or otherwise? An additional return from this would logically be boolean isCompleted, or alternatively number questState, which would take values 0, 1 or 2 depending on whether the quest is not started, active, or complete.

I would also like to request two additional returns from GetCompletedQuestInfo (or GetQuestInfo if it can be implemented), namely repeatType, taking from the global QuestRepeatableType (self-explanatory), and questDifficulty, taking from the global DifficultyCon, where the quest's internal difficulty (which determines the XP multiplier, as explained by Jess Folsom) is exposed:
Originally Posted by ZOS_JessicaFolsom
We add experience multipliers to quests, usually depending on the time taken and relative difficulty. Those experience multipliers look like this:
  • Very Easy = .1 (this would be CON_TRIVIAL)
  • Easy = .75 (this would be CON_EASY)
  • Standard = 1 (this would be CON_APPROPRIATE)
  • Hard = 1.5 (this would be CON_DIFFICULT)
  • Very Hard = 2.25 (this would be CON_IMPOSSIBLE)
Repeatability and Difficulty are clearly defined internally per-quest, so hopefully can easily be exposed to the API.

Thanks!
__________________
ESOTU Community Ambassador

UESP: The Unofficial Elder Scrolls Pages - A collaborative source for all knowledge on the Elder Scrolls series since 1995
  Reply With Quote
08/25/17, 03:12 AM   #2
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 978
I do agree that for now, in order to get all quests ID & names of the game, we need to use the lang files from an extraction of the whole game.
__________________
Obsessive Compulsive Coder

My little french Guild: Cercle de l'Eveil
  Reply With Quote
08/25/17, 03:07 PM   #3
Enodoc
AddOn Author - Click to view addons
Join Date: Aug 2014
Posts: 43
Originally Posted by Ayantir View Post
I do agree that for now, in order to get all quests ID & names of the game, we need to use the lang files from an extraction of the whole game.
Indeed, and that can only link IDs to names, not types and zones as well.
__________________
ESOTU Community Ambassador

UESP: The Unofficial Elder Scrolls Pages - A collaborative source for all knowledge on the Elder Scrolls series since 1995
  Reply With Quote
10/22/17, 05:34 AM   #4
manavortex
 
manavortex's Avatar
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 83
On DailyAutoShare, I've had some headache with quests and quest names. I agree that it would be awesome, and much easier, to just deal with quest IDs instead of having to localise all the quest names.

My use case:
DAS holds a list of dailies in a zone. That list is right now hardcoded via internal quest name codes that get resolved via localisation files.
It would make my life far easier if I could simply match on quest IDs instead.

Functions I'd like for that:
Lua Code:
  1. -- returns unique quest ID from a journal quest index
  2. GetJournalQuestId(journalQuestId)
  3.  
  4. -- returns unique quest ID from quest name (part)
  5. GetQuestId(questName) or even GetQuestId(questNamePart)
  6.  
  7. -- returns the quest name from a quest ID, defaults to client language
  8. GetQuestName(questId, language)

I would also love it if the quest IDs would be part of the EVENT_QUEST_... anything, which right now just features the journalIndex.

As far as
Lua Code:
  1. param1, ..., param999 = GetQuestInfo(questId)
is concerned, that's probably easier internally than more specific API calls that return just one or two parameters? Whatever's easier on the API, I'd hate to run into any run-time performance issues.

Last edited by manavortex : 10/22/17 at 06:33 AM.
  Reply With Quote
10/23/17, 07:56 AM   #5
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 459
An id based API for quests should be possible in addition to the existing API. Steps and conditions would probably be harder to reference this way.
  Reply With Quote
10/23/17, 07:59 AM   #6
manavortex
 
manavortex's Avatar
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 83
Awesome! Looking forward to it.
  Reply With Quote
10/28/17, 07:45 AM   #7
Enodoc
AddOn Author - Click to view addons
Join Date: Aug 2014
Posts: 43
Originally Posted by ZOS_ChipHilseberg View Post
An id based API for quests should be possible in addition to the existing API. Steps and conditions would probably be harder to reference this way.
That's great, thanks! Steps and conditions aren't as important for what I was looking for anyway; it's name, type, zone, objective, completion state, repeatability, and difficulty that I'm mostly interested in. This way, we should be able to get both a list of completed quests, and a list of not completed quests, for each zone and guild.
__________________
ESOTU Community Ambassador

UESP: The Unofficial Elder Scrolls Pages - A collaborative source for all knowledge on the Elder Scrolls series since 1995
  Reply With Quote
11/05/17, 10:13 AM   #8
Kyoma
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 37
I would also like to get another parameter to GetCompletedQuestInfo which returns if it has been completed today (if it was a daily).
  Reply With Quote

ESOUI » Developer Discussions » Wish List » [open] More quest info for more quests

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off