Quest persistence work
Quest persistence work.
This commit is contained in:
parent
4af27ed685
commit
ee912d2da9
@ -11169,7 +11169,7 @@
|
|||||||
},
|
},
|
||||||
"Version": {
|
"Version": {
|
||||||
"type": "dword",
|
"type": "dword",
|
||||||
"value": 19
|
"value": 20
|
||||||
},
|
},
|
||||||
"Width": {
|
"Width": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
|
@ -11169,7 +11169,7 @@
|
|||||||
},
|
},
|
||||||
"Version": {
|
"Version": {
|
||||||
"type": "dword",
|
"type": "dword",
|
||||||
"value": 6
|
"value": 7
|
||||||
},
|
},
|
||||||
"Width": {
|
"Width": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
|
@ -2913,7 +2913,7 @@
|
|||||||
},
|
},
|
||||||
"Version": {
|
"Version": {
|
||||||
"type": "dword",
|
"type": "dword",
|
||||||
"value": 6
|
"value": 7
|
||||||
},
|
},
|
||||||
"Width": {
|
"Width": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
|
@ -2913,7 +2913,7 @@
|
|||||||
},
|
},
|
||||||
"Version": {
|
"Version": {
|
||||||
"type": "dword",
|
"type": "dword",
|
||||||
"value": 13
|
"value": 14
|
||||||
},
|
},
|
||||||
"Width": {
|
"Width": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
|
@ -11169,7 +11169,7 @@
|
|||||||
},
|
},
|
||||||
"Version": {
|
"Version": {
|
||||||
"type": "dword",
|
"type": "dword",
|
||||||
"value": 4
|
"value": 5
|
||||||
},
|
},
|
||||||
"Width": {
|
"Width": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
|
@ -11169,7 +11169,7 @@
|
|||||||
},
|
},
|
||||||
"Version": {
|
"Version": {
|
||||||
"type": "dword",
|
"type": "dword",
|
||||||
"value": 7
|
"value": 8
|
||||||
},
|
},
|
||||||
"Width": {
|
"Width": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
|
@ -11169,7 +11169,7 @@
|
|||||||
},
|
},
|
||||||
"Version": {
|
"Version": {
|
||||||
"type": "dword",
|
"type": "dword",
|
||||||
"value": 6
|
"value": 7
|
||||||
},
|
},
|
||||||
"Width": {
|
"Width": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
|
@ -158,7 +158,7 @@
|
|||||||
},
|
},
|
||||||
"Script": {
|
"Script": {
|
||||||
"type": "resref",
|
"type": "resref",
|
||||||
"value": ""
|
"value": "ra_npc_talktimes"
|
||||||
},
|
},
|
||||||
"Sound": {
|
"Sound": {
|
||||||
"type": "resref",
|
"type": "resref",
|
||||||
|
@ -150,7 +150,11 @@
|
|||||||
},
|
},
|
||||||
"Quest": {
|
"Quest": {
|
||||||
"type": "cexostring",
|
"type": "cexostring",
|
||||||
"value": ""
|
"value": "kingsley"
|
||||||
|
},
|
||||||
|
"QuestEntry": {
|
||||||
|
"type": "dword",
|
||||||
|
"value": 3
|
||||||
},
|
},
|
||||||
"RepliesList": {
|
"RepliesList": {
|
||||||
"type": "list",
|
"type": "list",
|
||||||
@ -197,7 +201,7 @@
|
|||||||
},
|
},
|
||||||
"Script": {
|
"Script": {
|
||||||
"type": "resref",
|
"type": "resref",
|
||||||
"value": "at_256"
|
"value": "qst_kngsly_3rd"
|
||||||
},
|
},
|
||||||
"Sound": {
|
"Sound": {
|
||||||
"type": "resref",
|
"type": "resref",
|
||||||
|
1897
_module/dlg/cv_oracle.dlg.json
Normal file
1897
_module/dlg/cv_oracle.dlg.json
Normal file
File diff suppressed because it is too large
Load Diff
1176
_module/dlg/pl_lostaltar.dlg.json
Normal file
1176
_module/dlg/pl_lostaltar.dlg.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -8070,7 +8070,7 @@
|
|||||||
},
|
},
|
||||||
"Conversation": {
|
"Conversation": {
|
||||||
"type": "resref",
|
"type": "resref",
|
||||||
"value": "oracle"
|
"value": "cv_oracle"
|
||||||
},
|
},
|
||||||
"CRAdjust": {
|
"CRAdjust": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
@ -8108,7 +8108,7 @@
|
|||||||
},
|
},
|
||||||
"FactionID": {
|
"FactionID": {
|
||||||
"type": "word",
|
"type": "word",
|
||||||
"value": 7
|
"value": 1
|
||||||
},
|
},
|
||||||
"FeatList": {
|
"FeatList": {
|
||||||
"type": "list",
|
"type": "list",
|
||||||
@ -8296,7 +8296,7 @@
|
|||||||
"__struct_id": 0,
|
"__struct_id": 0,
|
||||||
"Rank": {
|
"Rank": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 11
|
"value": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -8331,7 +8331,7 @@
|
|||||||
"__struct_id": 0,
|
"__struct_id": 0,
|
||||||
"Rank": {
|
"Rank": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 11
|
"value": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -8550,7 +8550,7 @@
|
|||||||
},
|
},
|
||||||
"Subrace": {
|
"Subrace": {
|
||||||
"type": "cexostring",
|
"type": "cexostring",
|
||||||
"value": ""
|
"value": "Outsider"
|
||||||
},
|
},
|
||||||
"Tag": {
|
"Tag": {
|
||||||
"type": "cexostring",
|
"type": "cexostring",
|
||||||
|
@ -67787,7 +67787,7 @@
|
|||||||
},
|
},
|
||||||
"Conversation": {
|
"Conversation": {
|
||||||
"type": "resref",
|
"type": "resref",
|
||||||
"value": "lostaltar"
|
"value": "pl_lostaltar"
|
||||||
},
|
},
|
||||||
"CurrentHP": {
|
"CurrentHP": {
|
||||||
"type": "short",
|
"type": "short",
|
||||||
|
@ -493,15 +493,15 @@
|
|||||||
},
|
},
|
||||||
"X": {
|
"X": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 54.65568923950195
|
"value": 54.64530181884766
|
||||||
},
|
},
|
||||||
"Y": {
|
"Y": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 45.72232055664063
|
"value": 45.71510314941406
|
||||||
},
|
},
|
||||||
"Z": {
|
"Z": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 1.486903667449951
|
"value": 1.488233089447022
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -2421,7 +2421,7 @@
|
|||||||
},
|
},
|
||||||
"OnInvDisturbed": {
|
"OnInvDisturbed": {
|
||||||
"type": "resref",
|
"type": "resref",
|
||||||
"value": ""
|
"value": "toship1"
|
||||||
},
|
},
|
||||||
"OnLock": {
|
"OnLock": {
|
||||||
"type": "resref",
|
"type": "resref",
|
||||||
@ -2594,7 +2594,7 @@
|
|||||||
},
|
},
|
||||||
"XPosition": {
|
"XPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 43.11000061035156
|
"value": 42.65795516967773
|
||||||
},
|
},
|
||||||
"YOrientation": {
|
"YOrientation": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
@ -2602,11 +2602,11 @@
|
|||||||
},
|
},
|
||||||
"YPosition": {
|
"YPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 45.0
|
"value": 44.88981246948242
|
||||||
},
|
},
|
||||||
"ZPosition": {
|
"ZPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 1.0
|
"value": 1.000005722045898
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -1900,7 +1900,7 @@
|
|||||||
"id": 14817,
|
"id": 14817,
|
||||||
"type": "cexolocstring",
|
"type": "cexolocstring",
|
||||||
"value": {
|
"value": {
|
||||||
"0": "SP_SN01_SD60_RW_PC_SF_SU30_DS2_RH80"
|
"0": "SP_SN01_SD60_RW_PC_SF_DS2_RH80"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MapNote": {
|
"MapNote": {
|
||||||
@ -1925,7 +1925,7 @@
|
|||||||
},
|
},
|
||||||
"XPosition": {
|
"XPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 44.37037658691406
|
"value": 29.01668167114258
|
||||||
},
|
},
|
||||||
"YOrientation": {
|
"YOrientation": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
@ -1933,11 +1933,11 @@
|
|||||||
},
|
},
|
||||||
"YPosition": {
|
"YPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 33.98986053466797
|
"value": 45.23405456542969
|
||||||
},
|
},
|
||||||
"ZPosition": {
|
"ZPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": -5.7220458984375e-006
|
"value": 0.006923675537109375
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -1166,7 +1166,7 @@
|
|||||||
},
|
},
|
||||||
"XPosition": {
|
"XPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 79.99504852294922
|
"value": 79.96379852294922
|
||||||
},
|
},
|
||||||
"YOrientation": {
|
"YOrientation": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
@ -1174,11 +1174,11 @@
|
|||||||
},
|
},
|
||||||
"YPosition": {
|
"YPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 79.99504852294922
|
"value": 80.05738830566406
|
||||||
},
|
},
|
||||||
"ZPosition": {
|
"ZPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": -5.7220458984375e-006
|
"value": -4.813075065612793e-006
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
"__struct_id": 4,
|
"__struct_id": 4,
|
||||||
"Appearance_Type": {
|
"Appearance_Type": {
|
||||||
"type": "word",
|
"type": "word",
|
||||||
"value": 750
|
"value": 871
|
||||||
},
|
},
|
||||||
"BodyBag": {
|
"BodyBag": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
@ -86,7 +86,7 @@
|
|||||||
},
|
},
|
||||||
"Conversation": {
|
"Conversation": {
|
||||||
"type": "resref",
|
"type": "resref",
|
||||||
"value": ""
|
"value": "cv_charmed"
|
||||||
},
|
},
|
||||||
"CRAdjust": {
|
"CRAdjust": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
@ -1021,6 +1021,116 @@
|
|||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 0
|
"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": {
|
"LastName": {
|
||||||
"type": "cexolocstring",
|
"type": "cexolocstring",
|
||||||
"value": {
|
"value": {
|
||||||
@ -1163,7 +1273,7 @@
|
|||||||
},
|
},
|
||||||
"Rank": {
|
"Rank": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 13
|
"value": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1501,7 +1611,7 @@
|
|||||||
},
|
},
|
||||||
"WalkRate": {
|
"WalkRate": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
"value": 5
|
"value": 7
|
||||||
},
|
},
|
||||||
"willbonus": {
|
"willbonus": {
|
||||||
"type": "short",
|
"type": "short",
|
||||||
|
@ -25145,7 +25145,9 @@
|
|||||||
"LocalizedName": {
|
"LocalizedName": {
|
||||||
"id": 14817,
|
"id": 14817,
|
||||||
"type": "cexolocstring",
|
"type": "cexolocstring",
|
||||||
"value": {}
|
"value": {
|
||||||
|
"0": "Waypoint"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"MapNote": {
|
"MapNote": {
|
||||||
"type": "cexolocstring",
|
"type": "cexolocstring",
|
||||||
@ -25157,7 +25159,7 @@
|
|||||||
},
|
},
|
||||||
"Tag": {
|
"Tag": {
|
||||||
"type": "cexostring",
|
"type": "cexostring",
|
||||||
"value": "pirate1"
|
"value": "WP_PIRATE01"
|
||||||
},
|
},
|
||||||
"TemplateResRef": {
|
"TemplateResRef": {
|
||||||
"type": "resref",
|
"type": "resref",
|
||||||
@ -25169,7 +25171,7 @@
|
|||||||
},
|
},
|
||||||
"XPosition": {
|
"XPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 45.14072799682617
|
"value": 44.95029830932617
|
||||||
},
|
},
|
||||||
"YOrientation": {
|
"YOrientation": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
@ -25177,7 +25179,7 @@
|
|||||||
},
|
},
|
||||||
"YPosition": {
|
"YPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 11.4395923614502
|
"value": 11.74355697631836
|
||||||
},
|
},
|
||||||
"ZPosition": {
|
"ZPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
|
Binary file not shown.
BIN
_module/ncs/qst_altar_2nd.ncs
Normal file
BIN
_module/ncs/qst_altar_2nd.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/qst_altar_3rd.ncs
Normal file
BIN
_module/ncs/qst_altar_3rd.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/qst_altar_end.ncs
Normal file
BIN
_module/ncs/qst_altar_end.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/qst_altar_start.ncs
Normal file
BIN
_module/ncs/qst_altar_start.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/qst_ch_altar04.ncs
Normal file
BIN
_module/ncs/qst_ch_altar04.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/qst_ch_altar_nf.ncs
Normal file
BIN
_module/ncs/qst_ch_altar_nf.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/qst_ch_door01.ncs
Normal file
BIN
_module/ncs/qst_ch_door01.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/qst_ch_door01g.ncs
Normal file
BIN
_module/ncs/qst_ch_door01g.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/qst_ch_kngsly01.ncs
Normal file
BIN
_module/ncs/qst_ch_kngsly01.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/qst_ch_kngsly01g.ncs
Normal file
BIN
_module/ncs/qst_ch_kngsly01g.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/qst_door_end.ncs
Normal file
BIN
_module/ncs/qst_door_end.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/qst_kngsly_2nd.ncs
Normal file
BIN
_module/ncs/qst_kngsly_2nd.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/qst_kngsly_3rd.ncs
Normal file
BIN
_module/ncs/qst_kngsly_3rd.ncs
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
// Set destroyable.
|
// Set destroyable.
|
||||||
SetIsDestroyable(TRUE, FALSE, FALSE);
|
SetIsDestroyable(TRUE, FALSE, FALSE);
|
||||||
// Remove plot/immoral/lootable flags JUST in case.
|
// Remove plot/immoral/lootable flags JUST in case.
|
||||||
SetPlotFlag(OBJECT_SELF, FALSE);
|
SetPlotFlag(OBJECT_SELF, FALSE);
|
||||||
|
@ -53,4 +53,11 @@ void main()
|
|||||||
SignalEvent(OBJECT_SELF, EventUserDefined(1007));
|
SignalEvent(OBJECT_SELF, EventUserDefined(1007));
|
||||||
}
|
}
|
||||||
craft_drop_items(oKiller);
|
craft_drop_items(oKiller);
|
||||||
}
|
|
||||||
|
//:: Execute Default NPC OnDeath script
|
||||||
|
ExecuteScript("nw_c2_default7", OBJECT_SELF);
|
||||||
|
|
||||||
|
|
||||||
|
//:: Execute PRC NPC OnDeath script
|
||||||
|
ExecuteScript("prc_npc_death", OBJECT_SELF);
|
||||||
|
}
|
||||||
|
37
_module/nss/qst_altar_2nd.nss
Normal file
37
_module/nss/qst_altar_2nd.nss
Normal file
@ -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);
|
||||||
|
}
|
||||||
|
|
24
_module/nss/qst_altar_3rd.nss
Normal file
24
_module/nss/qst_altar_3rd.nss
Normal file
@ -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);
|
||||||
|
|
||||||
|
}
|
33
_module/nss/qst_altar_end.nss
Normal file
33
_module/nss/qst_altar_end.nss
Normal file
@ -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);
|
||||||
|
}
|
24
_module/nss/qst_altar_start.nss
Normal file
24
_module/nss/qst_altar_start.nss
Normal file
@ -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);
|
||||||
|
|
||||||
|
}
|
30
_module/nss/qst_ch_altar04.nss
Normal file
30
_module/nss/qst_ch_altar04.nss
Normal file
@ -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;
|
||||||
|
}
|
29
_module/nss/qst_ch_altar_nf.nss
Normal file
29
_module/nss/qst_ch_altar_nf.nss
Normal file
@ -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;
|
||||||
|
}
|
36
_module/nss/qst_ch_door01.nss
Normal file
36
_module/nss/qst_ch_door01.nss
Normal file
@ -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;
|
||||||
|
|
||||||
|
}
|
36
_module/nss/qst_ch_door01g.nss
Normal file
36
_module/nss/qst_ch_door01g.nss
Normal file
@ -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;
|
||||||
|
|
||||||
|
}
|
28
_module/nss/qst_ch_kngsly01.nss
Normal file
28
_module/nss/qst_ch_kngsly01.nss
Normal file
@ -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;
|
||||||
|
}
|
34
_module/nss/qst_ch_kngsly01g.nss
Normal file
34
_module/nss/qst_ch_kngsly01g.nss
Normal file
@ -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;
|
||||||
|
}
|
27
_module/nss/qst_door_end.nss
Normal file
27
_module/nss/qst_door_end.nss
Normal file
@ -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);
|
||||||
|
|
||||||
|
}
|
24
_module/nss/qst_kngsly_2nd.nss
Normal file
24
_module/nss/qst_kngsly_2nd.nss
Normal file
@ -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);
|
||||||
|
|
||||||
|
}
|
27
_module/nss/qst_kngsly_3rd.nss
Normal file
27
_module/nss/qst_kngsly_3rd.nss
Normal file
@ -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);
|
||||||
|
|
||||||
|
}
|
@ -14,12 +14,11 @@
|
|||||||
#include "pqj_inc"
|
#include "pqj_inc"
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
//:: Declare major variables
|
//:: Declare major variables
|
||||||
object oPC = GetPCSpeaker();
|
object oPC = GetPCSpeaker();
|
||||||
|
|
||||||
//:: Set quest stage & update DB.
|
//:: Set quest stage & update DB.
|
||||||
AddPersistentJournalQuestEntry("kingsley", 1, oPC);
|
AddPersistentJournalQuestEntry("kingsley", 1, oPC);
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -9,10 +9,18 @@
|
|||||||
|
|
||||||
int StartingConditional()
|
int StartingConditional()
|
||||||
{
|
{
|
||||||
|
//: Declare major variables
|
||||||
|
object oPC = GetPCSpeaker();
|
||||||
|
int nGP = GetGold(oPC);
|
||||||
|
|
||||||
// Make sure the PC speaker has these items in their inventory
|
//:: Check to see if the PC has 1000 gp.
|
||||||
if(!HasItem(GetPCSpeaker(), "TeakwoodBox"))
|
if ( GetGold(oPC) < 1000 )
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
|
// Make sure the PC speaker has these items in their inventory
|
||||||
|
if(!HasItem(GetPCSpeaker(), "TeakwoodBox"))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -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()
|
void main()
|
||||||
{
|
{
|
||||||
object oPC = GetLastUsedBy(); // Get the user of the object
|
effect eVFX;
|
||||||
object oDest = GetObjectByTag("pirate1"); // way point tag.
|
object oTarget;
|
||||||
if(GetIsPC(oPC))
|
|
||||||
{
|
// Get the creature who triggered this event.
|
||||||
AssignCommand(oPC,JumpToObject(oDest));
|
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)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Binary file not shown.
@ -42,7 +42,7 @@
|
|||||||
},
|
},
|
||||||
"Conversation": {
|
"Conversation": {
|
||||||
"type": "resref",
|
"type": "resref",
|
||||||
"value": ""
|
"value": "cv_oracle"
|
||||||
},
|
},
|
||||||
"CRAdjust": {
|
"CRAdjust": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
@ -272,7 +272,7 @@
|
|||||||
"__struct_id": 0,
|
"__struct_id": 0,
|
||||||
"Rank": {
|
"Rank": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 11
|
"value": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -307,7 +307,7 @@
|
|||||||
"__struct_id": 0,
|
"__struct_id": 0,
|
||||||
"Rank": {
|
"Rank": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 11
|
"value": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -526,7 +526,7 @@
|
|||||||
},
|
},
|
||||||
"Subrace": {
|
"Subrace": {
|
||||||
"type": "cexostring",
|
"type": "cexostring",
|
||||||
"value": ""
|
"value": "Outsider"
|
||||||
},
|
},
|
||||||
"Tag": {
|
"Tag": {
|
||||||
"type": "cexostring",
|
"type": "cexostring",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user