diff --git a/_module/are/area008.are.json b/_module/are/area008.are.json index 31765e56..34aeb1cf 100644 --- a/_module/are/area008.are.json +++ b/_module/are/area008.are.json @@ -11169,7 +11169,7 @@ }, "Version": { "type": "dword", - "value": 19 + "value": 20 }, "Width": { "type": "int", diff --git a/_module/are/area066.are.json b/_module/are/area066.are.json index 566c09a0..864b71c2 100644 --- a/_module/are/area066.are.json +++ b/_module/are/area066.are.json @@ -11169,7 +11169,7 @@ }, "Version": { "type": "dword", - "value": 6 + "value": 7 }, "Width": { "type": "int", diff --git a/_module/are/area101.are.json b/_module/are/area101.are.json index 85bf7f0c..a58dc8c1 100644 --- a/_module/are/area101.are.json +++ b/_module/are/area101.are.json @@ -2913,7 +2913,7 @@ }, "Version": { "type": "dword", - "value": 6 + "value": 7 }, "Width": { "type": "int", diff --git a/_module/are/beholdercave.are.json b/_module/are/beholdercave.are.json index 846b712e..bc7613bb 100644 --- a/_module/are/beholdercave.are.json +++ b/_module/are/beholdercave.are.json @@ -2913,7 +2913,7 @@ }, "Version": { "type": "dword", - "value": 13 + "value": 14 }, "Width": { "type": "int", diff --git a/_module/are/forestofhopenort.are.json b/_module/are/forestofhopenort.are.json index 3f8eb8e7..07619be0 100644 --- a/_module/are/forestofhopenort.are.json +++ b/_module/are/forestofhopenort.are.json @@ -11169,7 +11169,7 @@ }, "Version": { "type": "dword", - "value": 4 + "value": 5 }, "Width": { "type": "int", diff --git a/_module/are/level9anorthwest.are.json b/_module/are/level9anorthwest.are.json index 9b2b74be..f5b16d5f 100644 --- a/_module/are/level9anorthwest.are.json +++ b/_module/are/level9anorthwest.are.json @@ -11169,7 +11169,7 @@ }, "Version": { "type": "dword", - "value": 7 + "value": 8 }, "Width": { "type": "int", diff --git a/_module/are/wreckedship.are.json b/_module/are/wreckedship.are.json index 21728943..bac99f74 100644 --- a/_module/are/wreckedship.are.json +++ b/_module/are/wreckedship.are.json @@ -11169,7 +11169,7 @@ }, "Version": { "type": "dword", - "value": 6 + "value": 7 }, "Width": { "type": "int", diff --git a/_module/dlg/cv_drusilla.dlg.json b/_module/dlg/cv_drusilla.dlg.json index 36d22249..e71d8c1f 100644 --- a/_module/dlg/cv_drusilla.dlg.json +++ b/_module/dlg/cv_drusilla.dlg.json @@ -158,7 +158,7 @@ }, "Script": { "type": "resref", - "value": "" + "value": "ra_npc_talktimes" }, "Sound": { "type": "resref", diff --git a/_module/dlg/cv_kingsley.dlg.json b/_module/dlg/cv_kingsley.dlg.json index 64581bba..efe364d5 100644 --- a/_module/dlg/cv_kingsley.dlg.json +++ b/_module/dlg/cv_kingsley.dlg.json @@ -150,7 +150,11 @@ }, "Quest": { "type": "cexostring", - "value": "" + "value": "kingsley" + }, + "QuestEntry": { + "type": "dword", + "value": 3 }, "RepliesList": { "type": "list", @@ -197,7 +201,7 @@ }, "Script": { "type": "resref", - "value": "at_256" + "value": "qst_kngsly_3rd" }, "Sound": { "type": "resref", diff --git a/_module/dlg/cv_oracle.dlg.json b/_module/dlg/cv_oracle.dlg.json new file mode 100644 index 00000000..7075e9a0 --- /dev/null +++ b/_module/dlg/cv_oracle.dlg.json @@ -0,0 +1,1897 @@ +{ + "__data_type": "DLG ", + "DelayEntry": { + "type": "dword", + "value": 0 + }, + "DelayReply": { + "type": "dword", + "value": 0 + }, + "EndConverAbort": { + "type": "resref", + "value": "nw_walk_wp" + }, + "EndConversation": { + "type": "resref", + "value": "nw_walk_wp" + }, + "EntryList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "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": "cv_chk_1000gp" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 13 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 1, + "Active": { + "type": "resref", + "value": "qst_ch_kngsly01g" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 11 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 2, + "Active": { + "type": "resref", + "value": "sc_109" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 8 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 3, + "Active": { + "type": "resref", + "value": "qst_ch_door01g" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 6 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 4, + "Active": { + "type": "resref", + "value": "cv_chk_1000gp" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 4 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 5, + "Active": { + "type": "resref", + "value": "cv_chk_1000gp" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 1 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 6, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 0 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Questions for the one most wise? I shall tell you zero lies!" + } + } + }, + { + "__struct_id": 1, + "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": 3 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 1, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 2 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "You do not want to know my name. To do so would make me strain. Please do not ask my name of me. It would drive me to cease to be!" + } + } + }, + { + "__struct_id": 2, + "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": [] + }, + "Script": { + "type": "resref", + "value": "destroyselfnofx" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "My name is....my name is...I...I...I...do....not..." + } + } + }, + { + "__struct_id": 3, + "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": 5 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "The master's name I cannot speak. Compared to him I am so weak. He is king of death and hate. Seek him and you'll meet your fate!" + } + } + }, + { + "__struct_id": 4, + "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": "door" + }, + "QuestEntry": { + "type": "dword", + "value": 2 + }, + "RepliesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 7 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "qst_door_end" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "A slave he is not, but Slavish is his name. Most very evil, and a little insane. Seek you death if you seek his tomb. Though perhaps he knows the Master's doom." + } + } + }, + { + "__struct_id": 5, + "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": 9 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Riddled words I will speak. Read them out if a friend you seek!" + } + } + }, + { + "__struct_id": 6, + "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": "at_265" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Suddenly, the box explodes. A curious looking creature flies from it!" + } + } + }, + { + "__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": "kingsley" + }, + "QuestEntry": { + "type": "dword", + "value": 2 + }, + "RepliesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 12 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "qst_kngsly_2nd" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "The knight so brave, lost is he. In goblin prisons below you and me. Far, far, down on level twelve. Very deep you must go delve." + } + } + }, + { + "__struct_id": 8, + "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": 14 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Scramge the tiger is no fool. More deadly than a snake or ghoul. Rakshasa lord from cursed hell, rules the floor by illusioned spells." + } + } + }, + { + "__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 + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "RepliesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 15 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "ra_npc_talktimes" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Greetings to the mortal being I am the one who is revealing. Anything you want to know? Just ask me, and we will go!" + } + } + }, + { + "__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 + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "RepliesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 16 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Just give to me a thousand gold, and to you the truth'll be told." + } + } + } + ] + }, + "NumWords": { + "type": "dword", + "value": 329 + }, + "PreventZoomIn": { + "type": "byte", + "value": 0 + }, + "ReplyList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "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": "I have no questions right now." + } + } + }, + { + "__struct_id": 1, + "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": 1 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "What is your name?" + } + } + }, + { + "__struct_id": 2, + "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": 2 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "cv_take_1000gp" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "No, I want to know your name skull!" + } + } + }, + { + "__struct_id": 3, + "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": "Fine, I don't need to know your name, anyhow." + } + } + }, + { + "__struct_id": 4, + "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": 3 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "cv_take_1000gp" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Who is the Master of this dungeon?" + } + } + }, + { + "__struct_id": 5, + "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." + } + } + }, + { + "__struct_id": 6, + "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": 4 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "cv_take_1000gp" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "What is the name of the owner of the mysterious door on level 10a?" + } + } + }, + { + "__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 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "End." + } + } + }, + { + "__struct_id": 8, + "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": 5 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "cv_take_1000gp" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "How can I open this teakwood box?" + } + } + }, + { + "__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": 6 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Speak out the words the Oracle recites to you and get ready to open the box." + } + } + }, + { + "__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": "spawnst" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "End." + } + } + }, + { + "__struct_id": 11, + "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": "cv_take_1000gp" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Where is Sir Kingsley?" + } + } + }, + { + "__struct_id": 12, + "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." + } + } + }, + { + "__struct_id": 13, + "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": 8 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "cv_take_1000gp" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "If you're the oracle, who's that Scramge character in the other room?" + } + } + }, + { + "__struct_id": 14, + "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." + } + } + }, + { + "__struct_id": 15, + "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": 10 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Wow. A talking skull. How do you work, exactly?" + } + } + }, + { + "__struct_id": 16, + "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": "I'll come back when I think of some questions." + } + } + } + ] + }, + "StartingList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Active": { + "type": "resref", + "value": "ra_npc_talkcheck" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 9 + } + }, + { + "__struct_id": 1, + "Active": { + "type": "resref", + "value": "ra_npc_knowspc" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 0 + } + } + ] + } +} diff --git a/_module/dlg/pl_lostaltar.dlg.json b/_module/dlg/pl_lostaltar.dlg.json new file mode 100644 index 00000000..bf028432 --- /dev/null +++ b/_module/dlg/pl_lostaltar.dlg.json @@ -0,0 +1,1176 @@ +{ + "__data_type": "DLG ", + "DelayEntry": { + "type": "dword", + "value": 0 + }, + "DelayReply": { + "type": "dword", + "value": 0 + }, + "EndConverAbort": { + "type": "resref", + "value": "nw_walk_wp" + }, + "EndConversation": { + "type": "resref", + "value": "nw_walk_wp" + }, + "EntryList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "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": "sc_111" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 0 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Here stands the Altar of Hecate, restored and shining with divine power." + } + } + }, + { + "__struct_id": 1, + "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": 1 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "at_266" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "There is a sudden flash of light, and you see before you a mixture, glowing with red energy, alive with life. You have a feeling it could be very useful somehow." + } + } + }, + { + "__struct_id": 2, + "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 + } + }, + { + "__struct_id": 1, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 3 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 2, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 2 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "An ancient altar stands at this site, covered in fungi, dirty and unused." + } + } + }, + { + "__struct_id": 3, + "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": "lostaltar" + }, + "QuestEntry": { + "type": "dword", + "value": 1 + }, + "RepliesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 6 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 1, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 5 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 2, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 4 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "qst_altar_start" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "On closer examination it appears to be an altar to Hecate, old goddess of magic and Akbeth's patron deity." + } + } + }, + { + "__struct_id": 4, + "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": "lostaltar" + }, + "QuestEntry": { + "type": "dword", + "value": 3 + }, + "RepliesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 9 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 1, + "Active": { + "type": "resref", + "value": "sc_029" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 7 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "qst_altar_3rd" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "The fungus is now gone from the altar. It looks useable once more, though not quite holy." + } + } + }, + { + "__struct_id": 5, + "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": 8 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "lightrayconv1" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "The altar is restored. You feel a sense of peace come over you." + } + } + } + ] + }, + "NumWords": { + "type": "dword", + "value": 160 + }, + "PreventZoomIn": { + "type": "byte", + "value": 0 + }, + "ReplyList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "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": 1 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "at_267" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Place Aldeth's and Agamemnon's blood together in one container and place them on the altar." + } + } + }, + { + "__struct_id": 1, + "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." + } + } + }, + { + "__struct_id": 2, + "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": "lostaltar" + }, + "QuestEntry": { + "type": "dword", + "value": 2 + }, + "Script": { + "type": "resref", + "value": "qst_altar_2nd" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Smash the altar to bits." + } + } + }, + { + "__struct_id": 3, + "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": 3 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Examine it." + } + } + }, + { + "__struct_id": 4, + "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": "Turn away." + } + } + }, + { + "__struct_id": 5, + "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": "lostaltar" + }, + "QuestEntry": { + "type": "dword", + "value": 2 + }, + "Script": { + "type": "resref", + "value": "qst_altar_2nd" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Smash the altar." + } + } + }, + { + "__struct_id": 6, + "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": 4 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Clean off the altar." + } + } + }, + { + "__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 + }, + "EntriesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 5 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Quest": { + "type": "cexostring", + "value": "lostaltar" + }, + "QuestEntry": { + "type": "dword", + "value": 4 + }, + "Script": { + "type": "resref", + "value": "qst_altar_end" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Place Hecate's holy symbol upon the altar and say a short prayer to the old goddess." + } + } + }, + { + "__struct_id": 8, + "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." + } + } + }, + { + "__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": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Leave the altar alone." + } + } + }, + { + "__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": "Ignore it." + } + } + } + ] + }, + "StartingList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Active": { + "type": "resref", + "value": "qst_ch_altar_nf" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 2 + } + }, + { + "__struct_id": 1, + "Active": { + "type": "resref", + "value": "qst_ch_altar04" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 0 + } + } + ] + } +} diff --git a/_module/git/area008.git.json b/_module/git/area008.git.json index bf878253..fdd234af 100644 --- a/_module/git/area008.git.json +++ b/_module/git/area008.git.json @@ -8070,7 +8070,7 @@ }, "Conversation": { "type": "resref", - "value": "oracle" + "value": "cv_oracle" }, "CRAdjust": { "type": "int", @@ -8108,7 +8108,7 @@ }, "FactionID": { "type": "word", - "value": 7 + "value": 1 }, "FeatList": { "type": "list", @@ -8296,7 +8296,7 @@ "__struct_id": 0, "Rank": { "type": "byte", - "value": 11 + "value": 0 } }, { @@ -8331,7 +8331,7 @@ "__struct_id": 0, "Rank": { "type": "byte", - "value": 11 + "value": 0 } }, { @@ -8550,7 +8550,7 @@ }, "Subrace": { "type": "cexostring", - "value": "" + "value": "Outsider" }, "Tag": { "type": "cexostring", diff --git a/_module/git/area066.git.json b/_module/git/area066.git.json index 01bed035..7db90db5 100644 --- a/_module/git/area066.git.json +++ b/_module/git/area066.git.json @@ -67787,7 +67787,7 @@ }, "Conversation": { "type": "resref", - "value": "lostaltar" + "value": "pl_lostaltar" }, "CurrentHP": { "type": "short", diff --git a/_module/git/area101.git.json b/_module/git/area101.git.json index baa30367..42124361 100644 --- a/_module/git/area101.git.json +++ b/_module/git/area101.git.json @@ -493,15 +493,15 @@ }, "X": { "type": "float", - "value": 54.65568923950195 + "value": 54.64530181884766 }, "Y": { "type": "float", - "value": 45.72232055664063 + "value": 45.71510314941406 }, "Z": { "type": "float", - "value": 1.486903667449951 + "value": 1.488233089447022 } }, { @@ -2421,7 +2421,7 @@ }, "OnInvDisturbed": { "type": "resref", - "value": "" + "value": "toship1" }, "OnLock": { "type": "resref", @@ -2594,7 +2594,7 @@ }, "XPosition": { "type": "float", - "value": 43.11000061035156 + "value": 42.65795516967773 }, "YOrientation": { "type": "float", @@ -2602,11 +2602,11 @@ }, "YPosition": { "type": "float", - "value": 45.0 + "value": 44.88981246948242 }, "ZPosition": { "type": "float", - "value": 1.0 + "value": 1.000005722045898 } } ] diff --git a/_module/git/beholdercave.git.json b/_module/git/beholdercave.git.json index e3afe90b..78d329f1 100644 --- a/_module/git/beholdercave.git.json +++ b/_module/git/beholdercave.git.json @@ -1900,7 +1900,7 @@ "id": 14817, "type": "cexolocstring", "value": { - "0": "SP_SN01_SD60_RW_PC_SF_SU30_DS2_RH80" + "0": "SP_SN01_SD60_RW_PC_SF_DS2_RH80" } }, "MapNote": { @@ -1925,7 +1925,7 @@ }, "XPosition": { "type": "float", - "value": 44.37037658691406 + "value": 29.01668167114258 }, "YOrientation": { "type": "float", @@ -1933,11 +1933,11 @@ }, "YPosition": { "type": "float", - "value": 33.98986053466797 + "value": 45.23405456542969 }, "ZPosition": { "type": "float", - "value": -5.7220458984375e-006 + "value": 0.006923675537109375 } } ] diff --git a/_module/git/forestofhopenort.git.json b/_module/git/forestofhopenort.git.json index dd37af63..5e66e11c 100644 --- a/_module/git/forestofhopenort.git.json +++ b/_module/git/forestofhopenort.git.json @@ -1166,7 +1166,7 @@ }, "XPosition": { "type": "float", - "value": 79.99504852294922 + "value": 79.96379852294922 }, "YOrientation": { "type": "float", @@ -1174,11 +1174,11 @@ }, "YPosition": { "type": "float", - "value": 79.99504852294922 + "value": 80.05738830566406 }, "ZPosition": { "type": "float", - "value": -5.7220458984375e-006 + "value": -4.813075065612793e-006 } } ] diff --git a/_module/git/level9anorthwest.git.json b/_module/git/level9anorthwest.git.json index 96afd1a7..7512699e 100644 --- a/_module/git/level9anorthwest.git.json +++ b/_module/git/level9anorthwest.git.json @@ -50,7 +50,7 @@ "__struct_id": 4, "Appearance_Type": { "type": "word", - "value": 750 + "value": 871 }, "BodyBag": { "type": "byte", @@ -86,7 +86,7 @@ }, "Conversation": { "type": "resref", - "value": "" + "value": "cv_charmed" }, "CRAdjust": { "type": "int", @@ -1021,6 +1021,116 @@ "type": "byte", "value": 0 }, + "ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 29 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 0 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Proof that you have slain the mighty Hydra of Grezneck." + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Dropable": { + "type": "byte", + "value": 1 + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Hydra's Heart" + } + }, + "ModelPart1": { + "type": "byte", + "value": 10 + }, + "Plot": { + "type": "byte", + "value": 1 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "HydrasHeart" + }, + "TemplateResRef": { + "type": "resref", + "value": "item045" + }, + "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 + } + } + ] + }, "LastName": { "type": "cexolocstring", "value": { @@ -1163,7 +1273,7 @@ }, "Rank": { "type": "byte", - "value": 13 + "value": 0 } }, { @@ -1501,7 +1611,7 @@ }, "WalkRate": { "type": "int", - "value": 5 + "value": 7 }, "willbonus": { "type": "short", diff --git a/_module/git/wreckedship.git.json b/_module/git/wreckedship.git.json index 8c978b5b..4daeb539 100644 --- a/_module/git/wreckedship.git.json +++ b/_module/git/wreckedship.git.json @@ -25145,7 +25145,9 @@ "LocalizedName": { "id": 14817, "type": "cexolocstring", - "value": {} + "value": { + "0": "Waypoint" + } }, "MapNote": { "type": "cexolocstring", @@ -25157,7 +25159,7 @@ }, "Tag": { "type": "cexostring", - "value": "pirate1" + "value": "WP_PIRATE01" }, "TemplateResRef": { "type": "resref", @@ -25169,7 +25171,7 @@ }, "XPosition": { "type": "float", - "value": 45.14072799682617 + "value": 44.95029830932617 }, "YOrientation": { "type": "float", @@ -25177,7 +25179,7 @@ }, "YPosition": { "type": "float", - "value": 11.4395923614502 + "value": 11.74355697631836 }, "ZPosition": { "type": "float", diff --git a/_module/ncs/nw_ai_ondeath.ncs b/_module/ncs/nw_ai_ondeath.ncs index 37c7e2a1..a7f2c83b 100644 Binary files a/_module/ncs/nw_ai_ondeath.ncs and b/_module/ncs/nw_ai_ondeath.ncs differ diff --git a/_module/ncs/qst_altar_2nd.ncs b/_module/ncs/qst_altar_2nd.ncs new file mode 100644 index 00000000..181da51f Binary files /dev/null and b/_module/ncs/qst_altar_2nd.ncs differ diff --git a/_module/ncs/qst_altar_3rd.ncs b/_module/ncs/qst_altar_3rd.ncs new file mode 100644 index 00000000..de1aa450 Binary files /dev/null and b/_module/ncs/qst_altar_3rd.ncs differ diff --git a/_module/ncs/qst_altar_end.ncs b/_module/ncs/qst_altar_end.ncs new file mode 100644 index 00000000..fe99791b Binary files /dev/null and b/_module/ncs/qst_altar_end.ncs differ diff --git a/_module/ncs/qst_altar_start.ncs b/_module/ncs/qst_altar_start.ncs new file mode 100644 index 00000000..58263ab5 Binary files /dev/null and b/_module/ncs/qst_altar_start.ncs differ diff --git a/_module/ncs/qst_ch_altar04.ncs b/_module/ncs/qst_ch_altar04.ncs new file mode 100644 index 00000000..90df6753 Binary files /dev/null and b/_module/ncs/qst_ch_altar04.ncs differ diff --git a/_module/ncs/qst_ch_altar_nf.ncs b/_module/ncs/qst_ch_altar_nf.ncs new file mode 100644 index 00000000..2a20b07c Binary files /dev/null and b/_module/ncs/qst_ch_altar_nf.ncs differ diff --git a/_module/ncs/qst_ch_door01.ncs b/_module/ncs/qst_ch_door01.ncs new file mode 100644 index 00000000..2188a612 Binary files /dev/null and b/_module/ncs/qst_ch_door01.ncs differ diff --git a/_module/ncs/qst_ch_door01g.ncs b/_module/ncs/qst_ch_door01g.ncs new file mode 100644 index 00000000..2188a612 Binary files /dev/null and b/_module/ncs/qst_ch_door01g.ncs differ diff --git a/_module/ncs/qst_ch_kngsly01.ncs b/_module/ncs/qst_ch_kngsly01.ncs new file mode 100644 index 00000000..014e81d9 Binary files /dev/null and b/_module/ncs/qst_ch_kngsly01.ncs differ diff --git a/_module/ncs/qst_ch_kngsly01g.ncs b/_module/ncs/qst_ch_kngsly01g.ncs new file mode 100644 index 00000000..2c2c18b8 Binary files /dev/null and b/_module/ncs/qst_ch_kngsly01g.ncs differ diff --git a/_module/ncs/qst_door_end.ncs b/_module/ncs/qst_door_end.ncs new file mode 100644 index 00000000..7bc3bffa Binary files /dev/null and b/_module/ncs/qst_door_end.ncs differ diff --git a/_module/ncs/qst_kngsly_2nd.ncs b/_module/ncs/qst_kngsly_2nd.ncs new file mode 100644 index 00000000..8786b86c Binary files /dev/null and b/_module/ncs/qst_kngsly_2nd.ncs differ diff --git a/_module/ncs/qst_kngsly_3rd.ncs b/_module/ncs/qst_kngsly_3rd.ncs new file mode 100644 index 00000000..a95042e9 Binary files /dev/null and b/_module/ncs/qst_kngsly_3rd.ncs differ diff --git a/_module/ncs/qst_kngsly_start.ncs b/_module/ncs/qst_kngsly_start.ncs index 15387292..3a49ed21 100644 Binary files a/_module/ncs/qst_kngsly_start.ncs and b/_module/ncs/qst_kngsly_start.ncs differ diff --git a/_module/ncs/sc_109.ncs b/_module/ncs/sc_109.ncs index c8cbf6f6..ad0645f8 100644 Binary files a/_module/ncs/sc_109.ncs and b/_module/ncs/sc_109.ncs differ diff --git a/_module/ncs/toship1.ncs b/_module/ncs/toship1.ncs index b64e883e..19da4507 100644 Binary files a/_module/ncs/toship1.ncs and b/_module/ncs/toship1.ncs differ diff --git a/_module/nss/destroyspeaker.nss b/_module/nss/destroyspeaker.nss index b086674a..5736d572 100644 --- a/_module/nss/destroyspeaker.nss +++ b/_module/nss/destroyspeaker.nss @@ -1,6 +1,6 @@ void main() { - // Set destroyable. +// Set destroyable. SetIsDestroyable(TRUE, FALSE, FALSE); // Remove plot/immoral/lootable flags JUST in case. SetPlotFlag(OBJECT_SELF, FALSE); diff --git a/_module/nss/nw_ai_ondeath.nss b/_module/nss/nw_ai_ondeath.nss index 7baed00e..853e31de 100644 --- a/_module/nss/nw_ai_ondeath.nss +++ b/_module/nss/nw_ai_ondeath.nss @@ -53,4 +53,11 @@ void main() SignalEvent(OBJECT_SELF, EventUserDefined(1007)); } craft_drop_items(oKiller); -} \ No newline at end of file + +//:: Execute Default NPC OnDeath script + ExecuteScript("nw_c2_default7", OBJECT_SELF); + + +//:: Execute PRC NPC OnDeath script + ExecuteScript("prc_npc_death", OBJECT_SELF); +} diff --git a/_module/nss/qst_altar_2nd.nss b/_module/nss/qst_altar_2nd.nss new file mode 100644 index 00000000..672cdf79 --- /dev/null +++ b/_module/nss/qst_altar_2nd.nss @@ -0,0 +1,37 @@ +//:://///////////////////////////////////////////// +//:: qst_altar_2nd.nss +//:: Copyright (c) 2022 Project RATDOG +//::////////////////////////////////////////////// +/* + Sets stage #2 for the "Lost Altar" quest. + This destroys the altar. + +*/ +//::////////////////////////////////////////////// +//:: Created By: Jaysyn +//:: Created On: 20220705 +//::////////////////////////////////////////////// + +#include "pqj_inc" + +void main() +{ +//:: Declare major variables + object oPC = GetPCSpeaker(); + +//:: Set quest stage & update DB. + AddPersistentJournalQuestEntry("lostaltar", 2, oPC); + +//:: Destroy Altar +//:: Set destroyable. + SetIsDestroyable(TRUE, FALSE, FALSE); + +//:: Remove plot/immoral/lootable flags JUST in case. + SetPlotFlag(OBJECT_SELF, FALSE); + SetImmortal(OBJECT_SELF, FALSE); + SetLootable(OBJECT_SELF, FALSE); + +//:: Destroy Altar + DestroyObject(OBJECT_SELF); +} + diff --git a/_module/nss/qst_altar_3rd.nss b/_module/nss/qst_altar_3rd.nss new file mode 100644 index 00000000..aa070e02 --- /dev/null +++ b/_module/nss/qst_altar_3rd.nss @@ -0,0 +1,24 @@ +//:://///////////////////////////////////////////// +//:: qst_altar_3rd.nss +//:: Copyright (c) 2022 Project RATDOG +//::////////////////////////////////////////////// +/* + Sets stage #3 for the "Lost Altar" quest. + +*/ +//::////////////////////////////////////////////// +//:: Created By: Jaysyn +//:: Created On: 20220705 +//::////////////////////////////////////////////// + +#include "pqj_inc" + +void main() +{ +//:: Declare major variables + object oPC = GetPCSpeaker(); + +//:: Set quest stage & update DB. + AddPersistentJournalQuestEntry("lostaltar", 3, oPC); + +} diff --git a/_module/nss/qst_altar_end.nss b/_module/nss/qst_altar_end.nss new file mode 100644 index 00000000..233e4792 --- /dev/null +++ b/_module/nss/qst_altar_end.nss @@ -0,0 +1,33 @@ +//:://///////////////////////////////////////////// +//:: qst_altar_start.nss +//:: Copyright (c) 2022 Project RATDOG +//::////////////////////////////////////////////// +/* + Ends & rewards the "Lost Altar" quest. + +*/ +//::////////////////////////////////////////////// +//:: Created By: Tolen +//:: Created On: 8/15/2005 10:59:16 PM +//::////////////////////////////////////////////// + +#include "pqj_inc" +#include "nw_i0_tool" + +void main() +{ +//:: Declare major variables + object oPC = GetPCSpeaker(); + object oItemToTake; + +//:: Give the PC's party some XP + RewardPartyXP(250, oPC); + +//:: Set quest stage & update DB. + AddPersistentJournalQuestEntry("lostaltar", 4, oPC); + +//:: Remove plot item from PC's inventory + oItemToTake = GetItemPossessedBy(oPC, "ZEP_HOLYSYMBOLhec"); + if(GetIsObjectValid(oItemToTake) != 0) + DestroyObject(oItemToTake); +} diff --git a/_module/nss/qst_altar_start.nss b/_module/nss/qst_altar_start.nss new file mode 100644 index 00000000..0e163f7d --- /dev/null +++ b/_module/nss/qst_altar_start.nss @@ -0,0 +1,24 @@ +//:://///////////////////////////////////////////// +//:: qst_altar_start.nss +//:: Copyright (c) 2022 Project RATDOG +//::////////////////////////////////////////////// +/* + Start & tracks the "Lost Altar" quest. + +*/ +//::////////////////////////////////////////////// +//:: Created By: Jaysyn +//:: Created On: 20220705 +//::////////////////////////////////////////////// + +#include "pqj_inc" + +void main() +{ +//:: Declare major variables + object oPC = GetPCSpeaker(); + +//:: Set quest stage & update DB. + AddPersistentJournalQuestEntry("lostaltar", 1, oPC); + +} diff --git a/_module/nss/qst_ch_altar04.nss b/_module/nss/qst_ch_altar04.nss new file mode 100644 index 00000000..c35f14dd --- /dev/null +++ b/_module/nss/qst_ch_altar04.nss @@ -0,0 +1,30 @@ +//:://///////////////////////////////////////////// +//:: qst_ch_altar04.nss +//:: Copyright (c) 2022 Project RATDOG +//::////////////////////////////////////////////// +/* + Checks that the "Lost Altar" quest has been + completed with the altar of Hecate intact. + +*/ +//::////////////////////////////////////////////// +//:: Created By: Jaysyn +//:: Created On: 20220705 +//::////////////////////////////////////////////// + +#include "pqj_inc" + +int StartingConditional() +{ +//: Declare major variables + object oPC = GetPCSpeaker(); + int nInt; + +//:: Inspect quest state + nInt = RetrieveQuestState("lostaltar", oPC); + //nInt=GetLocalInt(oPC, "NW_JOURNAL_ENTRYlostaltar"); + if (nInt >= 4) + return TRUE; + + return FALSE; +} diff --git a/_module/nss/qst_ch_altar_nf.nss b/_module/nss/qst_ch_altar_nf.nss new file mode 100644 index 00000000..1ad2ab88 --- /dev/null +++ b/_module/nss/qst_ch_altar_nf.nss @@ -0,0 +1,29 @@ +//:://///////////////////////////////////////////// +//:: qst_ch_altar_nf.nss +//:: Copyright (c) 2022 Project RATDOG +//::////////////////////////////////////////////// +/* + Checks that the "Lost Altar" quest hasn't + been completed. +*/ +//::////////////////////////////////////////////// +//:: Created By: Jaysyn +//:: Created On: 20220702 +//::////////////////////////////////////////////// + +#include "pqj_inc" + +int StartingConditional() +{ +//: Declare major variables + object oPC = GetPCSpeaker(); + int nInt; + +//:: Inspect quest state + nInt = RetrieveQuestState("lostaltar", oPC); + //nInt=GetLocalInt(oPC, "NW_JOURNAL_ENTRYlostaltar"); + if (nInt >= 4) + return FALSE; + + return TRUE; +} diff --git a/_module/nss/qst_ch_door01.nss b/_module/nss/qst_ch_door01.nss new file mode 100644 index 00000000..cd4dd85b --- /dev/null +++ b/_module/nss/qst_ch_door01.nss @@ -0,0 +1,36 @@ +//:://///////////////////////////////////////////// +//:: qst_ch_door01.nss +//:: Copyright (c) 2022 Project RATDOG +//::////////////////////////////////////////////// +/* + Checks for the "Master of the Door" quest + having been started. +*/ +//::////////////////////////////////////////////// +//:: Created By: Tolen +//:: Created On: ??? +//::////////////////////////////////////////////// + +#include "pqj_inc" + +int StartingConditional() +{ +//:: Declare major variables + object oPC = GetPCSpeaker(); + int nInt; + int nGP = GetGold(oPC); + +//:: Check to see if the PC has 1000 gp. + if ( GetGold(oPC) < 1000 ) + return FALSE; + +//:: Inspect local variables + nInt = RetrieveQuestState("door", oPC); + //nInt=GetLocalInt(oPC, "NW_JOURNAL_ENTRYdoor"); + + if (!nInt == 1) + return FALSE; + + return TRUE; + +} diff --git a/_module/nss/qst_ch_door01g.nss b/_module/nss/qst_ch_door01g.nss new file mode 100644 index 00000000..642176b9 --- /dev/null +++ b/_module/nss/qst_ch_door01g.nss @@ -0,0 +1,36 @@ +//:://///////////////////////////////////////////// +//:: qst_ch_door01g.nss +//:: Copyright (c) 2022 Project RATDOG +//::////////////////////////////////////////////// +/* + Checks for the "Master of the Door" quest + having been started & if the PC has 1000gp. +*/ +//::////////////////////////////////////////////// +//:: Created By: Tolen +//:: Created On: ??? +//::////////////////////////////////////////////// + +#include "pqj_inc" + +int StartingConditional() +{ +//:: Declare major variables + object oPC = GetPCSpeaker(); + int nInt; + int nGP = GetGold(oPC); + +//:: Check to see if the PC has 1000 gp. + if ( GetGold(oPC) < 1000 ) + return FALSE; + +//:: Inspect local variables + nInt = RetrieveQuestState("door", oPC); + //nInt=GetLocalInt(oPC, "NW_JOURNAL_ENTRYdoor"); + + if (!nInt == 1) + return FALSE; + + return TRUE; + +} diff --git a/_module/nss/qst_ch_kngsly01.nss b/_module/nss/qst_ch_kngsly01.nss new file mode 100644 index 00000000..4211f527 --- /dev/null +++ b/_module/nss/qst_ch_kngsly01.nss @@ -0,0 +1,28 @@ +//:://///////////////////////////////////////////// +//:: qst_ch_kngsly01.nss +//:: Copyright (c) 2022 Project RATDOG +//::////////////////////////////////////////////// +/* + Checks for Stage #1 of the "Saving Sir + Kingsley" quest. +*/ +//::////////////////////////////////////////////// +//:: Created By: Jaysyn +//:: Created On: 20220705 +//::////////////////////////////////////////////// + +#include "pqj_inc" + +int StartingConditional() +{ +//: Declare major variables + object oPC = GetPCSpeaker(); + int nInt; + +//:: Inspect quest state + nInt = RetrieveQuestState("kingsley", oPC); + if (!nInt == 1) + return FALSE; + + return TRUE; +} diff --git a/_module/nss/qst_ch_kngsly01g.nss b/_module/nss/qst_ch_kngsly01g.nss new file mode 100644 index 00000000..6436c5a9 --- /dev/null +++ b/_module/nss/qst_ch_kngsly01g.nss @@ -0,0 +1,34 @@ +//:://///////////////////////////////////////////// +//:: qst_ch_kngsly01g.nss +//:: Copyright (c) 2022 Project RATDOG +//::////////////////////////////////////////////// +/* + Checks for Stage #1 of the "Saving Sir + Kingsley" quest & if the PC has 1000gp for + the Oracle. +*/ +//::////////////////////////////////////////////// +//:: Created By: Jaysyn +//:: Created On: 20220705 +//::////////////////////////////////////////////// + +#include "pqj_inc" + +int StartingConditional() +{ +//: Declare major variables + object oPC = GetPCSpeaker(); + int nInt; + int nGP = GetGold(oPC); + +//:: Check to see if the PC has 1000 gp. + if ( GetGold(oPC) < 1000 ) + return FALSE; + +//:: Inspect quest state + nInt = RetrieveQuestState("kingsley", oPC); + if (!nInt == 1) + return FALSE; + + return TRUE; +} diff --git a/_module/nss/qst_door_end.nss b/_module/nss/qst_door_end.nss new file mode 100644 index 00000000..ba02d88d --- /dev/null +++ b/_module/nss/qst_door_end.nss @@ -0,0 +1,27 @@ +//:://///////////////////////////////////////////// +//:: qst_door_end.nss +//:: Copyright (c) 2022 Project RATDOG +//::////////////////////////////////////////////// +/* + Ends "Master of the Door" quest. +*/ +//::////////////////////////////////////////////// +//:: Created By: Jaysyn +//:: Created On: 20220705 +//::////////////////////////////////////////////// + +#include "pqj_inc" +#include "nw_i0_tool" + +void main() +{ +//:: Declare major variables + object oPC = GetPCSpeaker(); + +//:: Set quest stage & update DB. + AddPersistentJournalQuestEntry("door", 2, oPC); + +//:: Give the PC's party XP + RewardPartyXP(1000, oPC); + +} diff --git a/_module/nss/qst_kngsly_2nd.nss b/_module/nss/qst_kngsly_2nd.nss new file mode 100644 index 00000000..7f26469d --- /dev/null +++ b/_module/nss/qst_kngsly_2nd.nss @@ -0,0 +1,24 @@ +//:://///////////////////////////////////////////// +//:: qst_kngsly_2nd.nss +//:: Copyright (c) 2022 Project RATDOG +//::////////////////////////////////////////////// +/* + Sets stage #2 for the "Saving Sir Kingsley" + quest from Sir Jerry. +*/ +//::////////////////////////////////////////////// +//:: Created By: Tolen +//:: Created On: 9/7/2005 10:02:59 PM +//::////////////////////////////////////////////// + +#include "pqj_inc" + +void main() +{ +//:: Declare major variables + object oPC = GetPCSpeaker(); + +//:: Set quest stage & update DB. + AddPersistentJournalQuestEntry("kingsley", 2, oPC); + +} diff --git a/_module/nss/qst_kngsly_3rd.nss b/_module/nss/qst_kngsly_3rd.nss new file mode 100644 index 00000000..daba85f1 --- /dev/null +++ b/_module/nss/qst_kngsly_3rd.nss @@ -0,0 +1,27 @@ +//:://///////////////////////////////////////////// +//:: qst_kngsly_3rd.nss +//:: Copyright (c) 2022 Project RATDOG +//::////////////////////////////////////////////// +/* + Sets stage #3 for the "Saving Sir Kingsley" + quest from Sir Jerry. +*/ +//::////////////////////////////////////////////// +//:: Created By: Tolen +//:: Created On: 9/7/2005 10:02:59 PM +//::////////////////////////////////////////////// + +#include "pqj_inc" + +void main() +{ +//:: Declare major variables + object oPC = GetPCSpeaker(); + +//:: Set quest stage & update DB. + AddPersistentJournalQuestEntry("kingsley", 1, oPC); + +//:: Give the PC Kingley's Amulet + CreateItemOnObject("item066", oPC, 1); + +} diff --git a/_module/nss/qst_kngsly_start.nss b/_module/nss/qst_kngsly_start.nss index ce4ea9ee..b736da3c 100644 --- a/_module/nss/qst_kngsly_start.nss +++ b/_module/nss/qst_kngsly_start.nss @@ -14,12 +14,11 @@ #include "pqj_inc" void main() - { +{ //:: Declare major variables - object oPC = GetPCSpeaker(); + object oPC = GetPCSpeaker(); //:: Set quest stage & update DB. - AddPersistentJournalQuestEntry("kingsley", 1, oPC); - - } + AddPersistentJournalQuestEntry("kingsley", 1, oPC); +} diff --git a/_module/nss/sc_109.nss b/_module/nss/sc_109.nss index 9efd47c4..cc99fe70 100644 --- a/_module/nss/sc_109.nss +++ b/_module/nss/sc_109.nss @@ -9,10 +9,18 @@ int StartingConditional() { +//: Declare major variables + object oPC = GetPCSpeaker(); + int nGP = GetGold(oPC); - // Make sure the PC speaker has these items in their inventory - if(!HasItem(GetPCSpeaker(), "TeakwoodBox")) - return FALSE; +//:: Check to see if the PC has 1000 gp. + if ( GetGold(oPC) < 1000 ) + return FALSE; - return TRUE; + +// Make sure the PC speaker has these items in their inventory + if(!HasItem(GetPCSpeaker(), "TeakwoodBox")) + return FALSE; + + return TRUE; } diff --git a/_module/nss/toship1.nss b/_module/nss/toship1.nss index 49aeecb7..6947310a 100644 --- a/_module/nss/toship1.nss +++ b/_module/nss/toship1.nss @@ -1,11 +1,28 @@ -// Port PC -/////////////////////////////////////////////////// +// Clears all actions and jumps the caller to the provided object. +// (Useful when this needs to be delayed.) +void ClearAndJumpToObject(object oDestination); + +void ClearAndJumpToObject(object oDestination) +{ + ClearAllActions(); + JumpToObject(oDestination); +} + + void main() { - object oPC = GetLastUsedBy(); // Get the user of the object - object oDest = GetObjectByTag("pirate1"); // way point tag. - if(GetIsPC(oPC)) - { - AssignCommand(oPC,JumpToObject(oDest)); - } + effect eVFX; + object oTarget; + + // Get the creature who triggered this event. + object oPC = GetLastUsedBy(); + + // Find the location to which to teleport. + oTarget = GetWaypointByTag("WP_PIRATE01"); + + // Teleport the PC. + eVFX = EffectVisualEffect(VFX_IMP_UNSUMMON); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oPC); + DelayCommand(1.0, AssignCommand(oPC, ClearAndJumpToObject(oTarget))); } + diff --git a/_module/ra_tdog.mod b/_module/ra_tdog.mod index be93ebde..3844dce6 100644 Binary files a/_module/ra_tdog.mod and b/_module/ra_tdog.mod differ diff --git a/_module/utc/theoracle.utc.json b/_module/utc/theoracle.utc.json index 5333643f..fca830d4 100644 --- a/_module/utc/theoracle.utc.json +++ b/_module/utc/theoracle.utc.json @@ -42,7 +42,7 @@ }, "Conversation": { "type": "resref", - "value": "" + "value": "cv_oracle" }, "CRAdjust": { "type": "int", @@ -272,7 +272,7 @@ "__struct_id": 0, "Rank": { "type": "byte", - "value": 11 + "value": 0 } }, { @@ -307,7 +307,7 @@ "__struct_id": 0, "Rank": { "type": "byte", - "value": 11 + "value": 0 } }, { @@ -526,7 +526,7 @@ }, "Subrace": { "type": "cexostring", - "value": "" + "value": "Outsider" }, "Tag": { "type": "cexostring",