Persistent Quest update

Persistent Quest update & bugfixes.
This commit is contained in:
Jaysyn904 2022-06-29 23:13:47 -04:00
parent 99a8071aeb
commit 5bb45371fc
22 changed files with 567 additions and 218 deletions

@ -677,7 +677,7 @@
},
"Version": {
"type": "dword",
"value": 50
"value": 51
},
"Width": {
"type": "int",

@ -849,7 +849,7 @@
},
"Version": {
"type": "dword",
"value": 7
"value": 8
},
"Width": {
"type": "int",

@ -11169,7 +11169,7 @@
},
"Version": {
"type": "dword",
"value": 6
"value": 7
},
"Width": {
"type": "int",

@ -1709,7 +1709,7 @@
},
"Version": {
"type": "dword",
"value": 75
"value": 76
},
"Width": {
"type": "int",

@ -52,7 +52,7 @@
"__struct_id": 0,
"Active": {
"type": "resref",
"value": "jcoutcasts1"
"value": "qst_chk_outcst02"
},
"ConditionParams": {
"type": "list",

@ -71,7 +71,7 @@
"__struct_id": 1,
"Active": {
"type": "resref",
"value": "jckupra1x"
"value": "qst_ch_kupra01"
},
"ConditionParams": {
"type": "list",

@ -432,6 +432,25 @@
"value": [
{
"__struct_id": 0,
"Active": {
"type": "resref",
"value": "sc_047"
},
"ConditionParams": {
"type": "list",
"value": []
},
"Index": {
"type": "dword",
"value": 9
},
"IsChild": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 1,
"Active": {
"type": "resref",
"value": ""
@ -542,12 +561,81 @@
"0": "Well, I'm not asking you to go on some huge quest for it, it's just that if you see something like that to please bring it back here to me. If it's true, it's an opportunity I can't pass up, and if you get it for me, I promise that the reward will be substantial indeed."
}
}
},
{
"__struct_id": 7,
"ActionParams": {
"type": "list",
"value": []
},
"Animation": {
"type": "dword",
"value": 0
},
"AnimLoop": {
"type": "byte",
"value": 1
},
"Comment": {
"type": "cexostring",
"value": ""
},
"Delay": {
"type": "dword",
"value": 4294967295
},
"Quest": {
"type": "cexostring",
"value": ""
},
"RepliesList": {
"type": "list",
"value": [
{
"__struct_id": 0,
"Active": {
"type": "resref",
"value": ""
},
"ConditionParams": {
"type": "list",
"value": []
},
"Index": {
"type": "dword",
"value": 10
},
"IsChild": {
"type": "byte",
"value": 0
}
}
]
},
"Script": {
"type": "resref",
"value": "hermitquest1"
},
"Sound": {
"type": "resref",
"value": ""
},
"Speaker": {
"type": "cexostring",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "By the gods! It's real. *he takes it and swallows it in one gulp* For a moment it looks like he's choking, and then you see a flash of mystical light, and the man transforms, shedding his beard, his wrinkles and his age until he appears to be a small boy dressed in oversized clothing."
}
}
}
]
},
"NumWords": {
"type": "dword",
"value": 335
"value": 399
},
"PreventZoomIn": {
"type": "byte",
@ -1060,6 +1148,116 @@
"0": "Very well, I'll keep my eye out for it."
}
}
},
{
"__struct_id": 9,
"ActionParams": {
"type": "list",
"value": []
},
"Animation": {
"type": "dword",
"value": 0
},
"AnimLoop": {
"type": "byte",
"value": 1
},
"Comment": {
"type": "cexostring",
"value": ""
},
"Delay": {
"type": "dword",
"value": 4294967295
},
"EntriesList": {
"type": "list",
"value": [
{
"__struct_id": 0,
"Active": {
"type": "resref",
"value": ""
},
"ConditionParams": {
"type": "list",
"value": []
},
"Index": {
"type": "dword",
"value": 7
},
"IsChild": {
"type": "byte",
"value": 0
}
}
]
},
"Quest": {
"type": "cexostring",
"value": ""
},
"Script": {
"type": "resref",
"value": "at_147"
},
"Sound": {
"type": "resref",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "Is this the mushroom you are referring to?"
}
}
},
{
"__struct_id": 10,
"ActionParams": {
"type": "list",
"value": []
},
"Animation": {
"type": "dword",
"value": 0
},
"AnimLoop": {
"type": "byte",
"value": 1
},
"Comment": {
"type": "cexostring",
"value": ""
},
"Delay": {
"type": "dword",
"value": 4294967295
},
"EntriesList": {
"type": "list",
"value": []
},
"Quest": {
"type": "cexostring",
"value": ""
},
"Script": {
"type": "resref",
"value": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "End."
}
}
}
]
},

@ -56514,7 +56514,9 @@
},
"Description": {
"type": "cexolocstring",
"value": {}
"value": {
"0": "This child appears terrified."
}
},
"Dex": {
"type": "byte",
@ -56711,102 +56713,6 @@
"value": -1.0
}
},
{
"__struct_id": 16,
"AddCost": {
"type": "dword",
"value": 0
},
"BaseItem": {
"type": "int",
"value": 22
},
"Charges": {
"type": "byte",
"value": 0
},
"Cost": {
"type": "dword",
"value": 4
},
"Cursed": {
"type": "byte",
"value": 0
},
"DescIdentified": {
"type": "cexolocstring",
"value": {}
},
"Description": {
"type": "cexolocstring",
"value": {}
},
"Identified": {
"type": "byte",
"value": 1
},
"LocalizedName": {
"id": 191,
"type": "cexolocstring",
"value": {}
},
"ModelPart1": {
"type": "byte",
"value": 11
},
"ModelPart2": {
"type": "byte",
"value": 21
},
"ModelPart3": {
"type": "byte",
"value": 11
},
"Plot": {
"type": "byte",
"value": 0
},
"PropertiesList": {
"type": "list",
"value": []
},
"StackSize": {
"type": "word",
"value": 1
},
"Stolen": {
"type": "byte",
"value": 0
},
"Tag": {
"type": "cexostring",
"value": "NW_WSWDG001"
},
"TemplateResRef": {
"type": "resref",
"value": "nw_wswdg001"
},
"XOrientation": {
"type": "float",
"value": 0.0
},
"XPosition": {
"type": "float",
"value": -1.0
},
"YOrientation": {
"type": "float",
"value": 1.0
},
"YPosition": {
"type": "float",
"value": -1.0
},
"ZPosition": {
"type": "float",
"value": -1.0
}
},
{
"__struct_id": 8192,
"AddCost": {
@ -58758,6 +58664,110 @@
"type": "float",
"value": -1.0
}
},
{
"__struct_id": 9,
"AddCost": {
"type": "dword",
"value": 0
},
"BaseItem": {
"type": "int",
"value": 22
},
"Charges": {
"type": "byte",
"value": 0
},
"Cost": {
"type": "dword",
"value": 4
},
"Cursed": {
"type": "byte",
"value": 0
},
"DescIdentified": {
"type": "cexolocstring",
"value": {}
},
"Description": {
"type": "cexolocstring",
"value": {}
},
"Identified": {
"type": "byte",
"value": 1
},
"LocalizedName": {
"id": 191,
"type": "cexolocstring",
"value": {}
},
"ModelPart1": {
"type": "byte",
"value": 11
},
"ModelPart2": {
"type": "byte",
"value": 21
},
"ModelPart3": {
"type": "byte",
"value": 11
},
"Plot": {
"type": "byte",
"value": 0
},
"PropertiesList": {
"type": "list",
"value": []
},
"Repos_PosX": {
"type": "word",
"value": 6
},
"Repos_Posy": {
"type": "word",
"value": 1
},
"StackSize": {
"type": "word",
"value": 1
},
"Stolen": {
"type": "byte",
"value": 0
},
"Tag": {
"type": "cexostring",
"value": "NW_WSWDG001"
},
"TemplateResRef": {
"type": "resref",
"value": "nw_wswdg001"
},
"XOrientation": {
"type": "float",
"value": 0.0
},
"XPosition": {
"type": "float",
"value": -1.0
},
"YOrientation": {
"type": "float",
"value": 1.0
},
"YPosition": {
"type": "float",
"value": -1.0
},
"ZPosition": {
"type": "float",
"value": -1.0
}
}
]
},
@ -58845,7 +58855,7 @@
},
"ScriptOnNotice": {
"type": "resref",
"value": ""
"value": "talktopc"
},
"ScriptRested": {
"type": "resref",
@ -59143,7 +59153,7 @@
},
"SoundSetFile": {
"type": "word",
"value": 34
"value": 120
},
"SpecAbilityList": {
"type": "list",
@ -59159,11 +59169,11 @@
},
"Subrace": {
"type": "cexostring",
"value": ""
"value": "Human"
},
"Tag": {
"type": "cexostring",
"value": "Kupra"
"value": "NPC_KUPRA"
},
"Tail_New": {
"type": "dword",
@ -59177,6 +59187,26 @@
"type": "resref",
"value": "kupra"
},
"VarTable": {
"type": "list",
"value": [
{
"__struct_id": 0,
"Name": {
"type": "cexostring",
"value": "SET_NAME"
},
"Type": {
"type": "dword",
"value": 3
},
"Value": {
"type": "cexostring",
"value": "Kupra"
}
}
]
},
"WalkRate": {
"type": "int",
"value": 4

@ -29073,7 +29073,7 @@
},
"Conversation": {
"type": "resref",
"value": "kupra"
"value": "cv_kupra"
},
"CRAdjust": {
"type": "int",
@ -29093,7 +29093,9 @@
},
"Description": {
"type": "cexolocstring",
"value": {}
"value": {
"0": "This child appears terrified."
}
},
"Dex": {
"type": "byte",
@ -29290,102 +29292,6 @@
"value": -1.0
}
},
{
"__struct_id": 16,
"AddCost": {
"type": "dword",
"value": 0
},
"BaseItem": {
"type": "int",
"value": 22
},
"Charges": {
"type": "byte",
"value": 0
},
"Cost": {
"type": "dword",
"value": 4
},
"Cursed": {
"type": "byte",
"value": 0
},
"DescIdentified": {
"type": "cexolocstring",
"value": {}
},
"Description": {
"type": "cexolocstring",
"value": {}
},
"Identified": {
"type": "byte",
"value": 1
},
"LocalizedName": {
"id": 191,
"type": "cexolocstring",
"value": {}
},
"ModelPart1": {
"type": "byte",
"value": 11
},
"ModelPart2": {
"type": "byte",
"value": 21
},
"ModelPart3": {
"type": "byte",
"value": 11
},
"Plot": {
"type": "byte",
"value": 0
},
"PropertiesList": {
"type": "list",
"value": []
},
"StackSize": {
"type": "word",
"value": 1
},
"Stolen": {
"type": "byte",
"value": 0
},
"Tag": {
"type": "cexostring",
"value": "NW_WSWDG001"
},
"TemplateResRef": {
"type": "resref",
"value": "nw_wswdg001"
},
"XOrientation": {
"type": "float",
"value": 0.0
},
"XPosition": {
"type": "float",
"value": -1.0
},
"YOrientation": {
"type": "float",
"value": 1.0
},
"YPosition": {
"type": "float",
"value": -1.0
},
"ZPosition": {
"type": "float",
"value": -1.0
}
},
{
"__struct_id": 8192,
"AddCost": {
@ -31337,6 +31243,110 @@
"type": "float",
"value": -1.0
}
},
{
"__struct_id": 9,
"AddCost": {
"type": "dword",
"value": 0
},
"BaseItem": {
"type": "int",
"value": 22
},
"Charges": {
"type": "byte",
"value": 0
},
"Cost": {
"type": "dword",
"value": 4
},
"Cursed": {
"type": "byte",
"value": 0
},
"DescIdentified": {
"type": "cexolocstring",
"value": {}
},
"Description": {
"type": "cexolocstring",
"value": {}
},
"Identified": {
"type": "byte",
"value": 1
},
"LocalizedName": {
"id": 191,
"type": "cexolocstring",
"value": {}
},
"ModelPart1": {
"type": "byte",
"value": 11
},
"ModelPart2": {
"type": "byte",
"value": 21
},
"ModelPart3": {
"type": "byte",
"value": 11
},
"Plot": {
"type": "byte",
"value": 0
},
"PropertiesList": {
"type": "list",
"value": []
},
"Repos_PosX": {
"type": "word",
"value": 6
},
"Repos_Posy": {
"type": "word",
"value": 1
},
"StackSize": {
"type": "word",
"value": 1
},
"Stolen": {
"type": "byte",
"value": 0
},
"Tag": {
"type": "cexostring",
"value": "NW_WSWDG001"
},
"TemplateResRef": {
"type": "resref",
"value": "nw_wswdg001"
},
"XOrientation": {
"type": "float",
"value": 0.0
},
"XPosition": {
"type": "float",
"value": -1.0
},
"YOrientation": {
"type": "float",
"value": 1.0
},
"YPosition": {
"type": "float",
"value": -1.0
},
"ZPosition": {
"type": "float",
"value": -1.0
}
}
]
},
@ -31722,7 +31732,7 @@
},
"SoundSetFile": {
"type": "word",
"value": 227
"value": 120
},
"SpecAbilityList": {
"type": "list",
@ -31738,11 +31748,11 @@
},
"Subrace": {
"type": "cexostring",
"value": ""
"value": "Human"
},
"Tag": {
"type": "cexostring",
"value": "Kupra"
"value": "NPC_KUPRA"
},
"Tail_New": {
"type": "dword",
@ -31756,6 +31766,26 @@
"type": "resref",
"value": "kupra"
},
"VarTable": {
"type": "list",
"value": [
{
"__struct_id": 0,
"Name": {
"type": "cexostring",
"value": "SET_NAME"
},
"Type": {
"type": "dword",
"value": 3
},
"Value": {
"type": "cexostring",
"value": "Kupra"
}
}
]
},
"WalkRate": {
"type": "int",
"value": 4

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,30 @@
//::///////////////////////////////////////////////
//:: qst_ch_kupra01
//:: Copyright (c) 2022 Project RATDOG
//:://////////////////////////////////////////////
/*
Checks for the "Kupra" quest having been
started.
*/
//:://////////////////////////////////////////////
//:: Created By: Jaysyn
//:: Created On: 20220617
//:://////////////////////////////////////////////
#include "pqj_inc"
int StartingConditional()
{
//Declare major variables
object oPC = GetPCSpeaker();
int nInt;
nInt = RetrieveQuestState("kupra", oPC);
//nInt=GetLocalInt(oPC, "NW_JOURNAL_ENTRYkupra");
if (!nInt == 1)
return FALSE;
return TRUE;
}

@ -0,0 +1,29 @@
//::///////////////////////////////////////////////
//:: qst_chk_outcst01.nss
//:: Copyright (c) 2022 Project RATDOG
//:://////////////////////////////////////////////
/*
Checks for start of the "Outcasts" quest.
*/
//:://////////////////////////////////////////////
//:: Created By: Jaysyn
//:: Created On: 20220628
//:://////////////////////////////////////////////
#include "pqj_inc"
int StartingConditional()
{
//: Declare major variables
object oPC = GetPCSpeaker();
int nInt;
//:: Inspect quest state
nInt = RetrieveQuestState("outcasts", oPC);
if (!nInt == 1)
return FALSE;
//nInt=GetLocalInt(oPC, "NW_JOURNAL_ENTRYoutcasts");
return TRUE;
}

@ -0,0 +1,29 @@
//::///////////////////////////////////////////////
//:: qst_chk_outcst02.nss
//:: Copyright (c) 2022 Project RATDOG
//:://////////////////////////////////////////////
/*
Checks that the "Outcasts" was refused.
*/
//:://////////////////////////////////////////////
//:: Created By: Jaysyn
//:: Created On: 20220628
//:://////////////////////////////////////////////
#include "pqj_inc"
int StartingConditional()
{
//: Declare major variables
object oPC = GetPCSpeaker();
int nInt;
//:: Inspect quest state
nInt = RetrieveQuestState("outcasts", oPC);
if (!nInt == 2)
return FALSE;
//nInt=GetLocalInt(oPC, "NW_JOURNAL_ENTRYoutcasts");
return TRUE;
}

@ -14,13 +14,16 @@
int StartingConditional()
{
object oPC = GetPCSpeaker();
//: Declare major variables
object oPC = GetPCSpeaker();
int nInt;
int nInt;
//nInt=GetLocalInt(oPC, "NW_JOURNAL_ENTRYoutcasts");
nInt = RetrieveQuestState("outcasts", oPC);
if (nInt >= 3)
return TRUE;
//:: Inspect quest state
nInt = RetrieveQuestState("outcasts", oPC);
if (!nInt == 3)
return FALSE;
return FALSE;
//nInt=GetLocalInt(oPC, "NW_JOURNAL_ENTRYoutcasts");
return TRUE;
}

@ -26,7 +26,7 @@ int StartingConditional()
nInt = RetrieveQuestState("spiders", oPC);
// nInt=GetLocalInt(oPC, "NW_JOURNAL_ENTRYspiders");
if (nInt >= 3) return TRUE;
if (!nInt == 3) return FALSE;
return FALSE;
return TRUE;
}

Binary file not shown.