In Quest of the Quest System
Moderators: ALFA Administrators, Staff - Technical
Sticky this thread and rename it AL. Your explanation above will help anyone wanting to use the quest system.AcadiusLost wrote:The upper boundry of the quest should be defined in the local integers set on the spawning triggers. For example...
//! typically defines the target state for quest assignment
ACR_QST_LOWER_STATE = 1
//! typically defines the target state for quest completion
ACR_QST_UPPER_STATE = 5
On a set of 4 scouting triggers (each trigger entry bumps the queststate, no trigger will activate more than once for a PC/party, all 4 must be found to complete the quest, no order requirements). This way none of the triggers will function unless someone has the quest (QuestState=1), but any of the triggers (1-4) are potentially activatable.
1. PC accepts the quest from an NPC (Queststate moves to "1")
2. PC finds a scouting trigger, tagged 03_scout_01 (Queststate moves to "2")
3. PC finds a scouting trigger, tagged 03_scout_04 (Queststate moves to "3")
4. PC finds a scouting trigger, tagged 03_scout_03 (Queststate moves to "4")
5. PC finds a scouting trigger, tagged 03_scout_02 (Queststate moves to "5", which matches ACR_QST_UPPER_STATE, so XP is awarded.)
6. PC returns to report in (NPC set to look for Queststate=5) and gets gold reward (Queststate moves to 6, "Completed" in the journal)
Alternatively, if we wanted to get more complex, say the triggers must be found in a particular order (say, 4,3,2,1), we'd just change the ACR_QST_LOWER_STATE on each as follows:
tag: 03_scout_01
ACR_QST_LOWER_STATE = 4
ACR_QST_UPPER_STATE = 5
tag: 03_scout_02
ACR_QST_LOWER_STATE = 3
ACR_QST_UPPER_STATE = 5
tag: 03_scout_03
ACR_QST_LOWER_STATE = 2
ACR_QST_UPPER_STATE = 5
tag: 03_scout_04
ACR_QST_LOWER_STATE = 1
ACR_QST_UPPER_STATE = 5
This way, at QuestState 1, only trigger 4 will activate for a quest advancement. Finding trigger 4 unlocks trigger 3, and so on. Theoretically we can also put a ACR_QST_MESSAGE on each in this case that nudges the player towards the next in the series, ex "You see a glint of light just up the hill" or "Next stop: High Hold Legion tower".
I would guess in your case described above, that the UpperState on those triggers is set for 5, when you'd rather it be set for 7.
