Quest State (qs) Enumerations

Discussion in 'General Modification' started by thearioch, Jun 3, 2008.

Remove all ads!
  1. thearioch

    thearioch Need More Cowbell

    Joined:
    Sep 16, 2007
    Messages:
    178
    Likes Received:
    0
    I looked fairly thoroughly, and couldn't find a ToEE file listing these, so I hacked a quick dialog test and empirically discovered that:

    qs_unknown == 0
    qs_mentioned == 1
    qs_accepted == 2
    qs_completed == 4
    qs_botched == 6

    Does anyone know if there is an enumeration equalling 3 or 5. or are they just "unused"?

    Also, while I haven't tested, it appears that some negative values are accepted.

    Just an FYI for those who may want to keep quest states in the quest variable and not consume flag or variable resources.

    --thearioch

    btw, it's short, so if anyone wants my Jade Empress DLG code denumerating the quest state enums, I can post it easily enough.
     
  2. thearioch

    thearioch Need More Cowbell

    Joined:
    Sep 16, 2007
    Messages:
    178
    Likes Received:
    0
    A lot of dialogs use qs states as numbers (e.g game.quests[###].state <= qs_mentioned). I'll go ahead and post the dialog -- I added this to 00379Jade_Empress.dlg. Basically, it allows me to interact with Jade in a non-game fashion and ask her to help me enumerate the qs states as numbers. I plan on writing several more "diagnostic" routines to allow me to use dialogs to explore game values that aren't stored in files [that we can access].

    These probably aren't technically necessary, as most of these are probably known from experimentation, but I like to make my reverse engineering attempts reproducible.

    In response to Jade Empress speech {50}, I added:
    {55}{00379 Enter diagnostic mode}{}{1}{}{13000}{}

    At the bottom of the file I added:

    {13000}{By your command!}{By your command!}{}{}{}{}
    {13001}{Enumerate quest states.} {}{1}{}{13100}{}
    //
    {13100}{Testing qs_unknown.}
    {Testing qs_unknown.}
    {}{}{}{}
    {13101}{qs_unknown == 0}{}{1}
    {qs_unknown == 0} {13110}{}
    {13102}{qs_unknown != 0; unhandled case, aborting test.}{}{1}
    {qs_inknown != 0}{0}{}
    //
    {13110}{Testing qs_mentioned.}
    {Testing qs_mentioned.}
    {}{}{}{}
    {13111}{qs_mentioned == 1}{}{1}
    {qs_mentioned == 1} {13120}{}
    {13112}{qs_mentioned != 1; unhandled case, aborting test.}{}{1}
    {qs_mentioned != 1}{0}{}
    //
    {13120}{Testing qs_accepted.}
    {Testing qs_accepted.}
    {}{}{}{}
    {13121}{qs_accepted == 2}{}{1}
    {qs_accepted == 2} {13130}{}
    {13122}{qs_accepted != 2; unhandled case, aborting test.}{}{1}
    {qs_accepted != 2}{0}{}
    //
    {13130}{Testing qs_completed.}
    {Testing qs_completed.}
    {}{}{}{}
    {13131}{qs_completed == 4}{}{1}
    {qs_completed == 4}{13140}{}
    {13132}{qs_completed != 4; unhandled case, aborting test}{}{1}
    {qs_completed != 4}{0}{}
    //
    {13140}{Testing qs_botched.}
    {Testing qs_botched.}
    {}{}{}{}
    {13141}{qs_botched == 6}{}{1}
    {qs_botched == 6}{13150}{}
    {13142}{qs_botched != 6; unhandled case, aborting test.}{}{1}
    {qs_botched != 6}{0}{}
    //
    {13150}{Enumeration complete.}{Enumeration complete.}{}{}{}{}
    {13151}{Affirmative}{}{1}{}{0}{}
     
Our Host!