Bugfix pass.

Fixed onRespawn & onDying scripts.  Fixed XP awards.  Added temple hospital & library.
This commit is contained in:
Jaysyn904 2021-09-25 20:28:28 -04:00
parent 6195a6cf23
commit 3e3128ed1e
84 changed files with 64542 additions and 169 deletions
_module
are
dlg
gic
git
ifo
itp
ncs
nss
ra_tdog.mod
utd

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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

@ -4461,7 +4461,7 @@
},
"Version": {
"type": "dword",
"value": 20
"value": 21
},
"Width": {
"type": "int",

@ -0,0 +1,882 @@
{
"__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,
"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": ""
},
"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": "Hello, <class>! Welcome to WWWWolf's Temple And Hospital Prefab!"
}
}
},
{
"__struct_id": 1,
"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": ""
},
"Index": {
"type": "dword",
"value": 1
},
"IsChild": {
"type": "byte",
"value": 0
}
}
]
},
"Script": {
"type": "resref",
"value": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Speaker": {
"type": "cexostring",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "This temple was originally designed to be put to the city of Riverhome in a persistent NWN world of Dakanon. This is a part of an university project of mine."
}
}
},
{
"__struct_id": 2,
"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": ""
},
"Index": {
"type": "dword",
"value": 4
},
"IsChild": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 1,
"Active": {
"type": "resref",
"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": "Just slip back in character and talk to the friendly priestess to learn more of the temple."
}
}
},
{
"__struct_id": 3,
"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": ""
},
"Index": {
"type": "dword",
"value": 3
},
"IsChild": {
"type": "byte",
"value": 0
}
}
]
},
"Script": {
"type": "resref",
"value": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Speaker": {
"type": "cexostring",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "Go ahead. Have a nice <quarterday>."
}
}
},
{
"__struct_id": 4,
"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": ""
},
"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": "I built this thing!"
}
}
},
{
"__struct_id": 5,
"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": ""
},
"Index": {
"type": "dword",
"value": 6
},
"IsChild": {
"type": "byte",
"value": 0
}
}
]
},
"Script": {
"type": "resref",
"value": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Speaker": {
"type": "cexostring",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "To make people do minimal customization on the mod. People who use this prefab on their mods should remove me and my conversation, and do tweaks here and there."
}
}
},
{
"__struct_id": 6,
"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": ""
},
"Index": {
"type": "dword",
"value": 2
},
"IsChild": {
"type": "byte",
"value": 1
},
"LinkComment": {
"type": "cexostring",
"value": ""
}
}
]
},
"Script": {
"type": "resref",
"value": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Speaker": {
"type": "cexostring",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "Precisely. Either this is the demo mod I made, or... someone didn't read the README file, or was just plain careless. Hope they consider themselves clue-batted."
}
}
}
]
},
"NumWords": {
"type": "dword",
"value": 169
},
"PreventZoomIn": {
"type": "byte",
"value": 0
},
"ReplyList": {
"type": "list",
"value": [
{
"__struct_id": 0,
"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": ""
},
"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": "Okay, so what is this temple for?"
}
}
},
{
"__struct_id": 1,
"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": ""
},
"Index": {
"type": "dword",
"value": 2
},
"IsChild": {
"type": "byte",
"value": 0
}
}
]
},
"Quest": {
"type": "cexostring",
"value": ""
},
"Script": {
"type": "resref",
"value": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "What can I do here?"
}
}
},
{
"__struct_id": 2,
"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": ""
},
"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": "All right. I'm off to see how this temple looks like."
}
}
},
{
"__struct_id": 3,
"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": ""
}
}
},
{
"__struct_id": 4,
"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": ""
},
"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": "Who the heck are you?"
}
}
},
{
"__struct_id": 5,
"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": ""
},
"Index": {
"type": "dword",
"value": 5
},
"IsChild": {
"type": "byte",
"value": 0
}
}
]
},
"Quest": {
"type": "cexostring",
"value": ""
},
"Script": {
"type": "resref",
"value": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "Okay, *why* are you here? Mod authors shouldn't appear in random mods, dammit!"
}
}
},
{
"__struct_id": 6,
"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": ""
},
"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": "But since you *are* here, it means..."
}
}
}
]
},
"StartingList": {
"type": "list",
"value": [
{
"__struct_id": 0,
"Active": {
"type": "resref",
"value": ""
},
"Index": {
"type": "dword",
"value": 0
}
}
]
}
}

@ -0,0 +1,97 @@
{
"__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,
"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": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Speaker": {
"type": "cexostring",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "I can't talk to you right now! This is a delicate surgical operation! Stand aside!"
}
}
}
]
},
"NumWords": {
"type": "dword",
"value": 15
},
"PreventZoomIn": {
"type": "byte",
"value": 0
},
"ReplyList": {
"type": "list",
"value": []
},
"StartingList": {
"type": "list",
"value": [
{
"__struct_id": 0,
"Active": {
"type": "resref",
"value": ""
},
"Index": {
"type": "dword",
"value": 0
}
}
]
}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,821 @@
{
"__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,
"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": ""
},
"Index": {
"type": "dword",
"value": 5
},
"IsChild": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 1,
"Active": {
"type": "resref",
"value": ""
},
"Index": {
"type": "dword",
"value": 2
},
"IsChild": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 2,
"Active": {
"type": "resref",
"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": "Well met."
}
}
},
{
"__struct_id": 1,
"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": ""
},
"Index": {
"type": "dword",
"value": 1
},
"IsChild": {
"type": "byte",
"value": 0
}
}
]
},
"Script": {
"type": "resref",
"value": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Speaker": {
"type": "cexostring",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "Goodbye then."
}
}
},
{
"__struct_id": 2,
"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": ""
},
"Index": {
"type": "dword",
"value": 3
},
"IsChild": {
"type": "byte",
"value": 0
}
}
]
},
"Script": {
"type": "resref",
"value": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Speaker": {
"type": "cexostring",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "I am one of those who wish to seek spiritual understanding. I practice martial arts, study philosophy, and meditate. That is all I do. That is how I will find out the truth about this world."
}
}
},
{
"__struct_id": 3,
"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": ""
},
"Index": {
"type": "dword",
"value": 4
},
"IsChild": {
"type": "byte",
"value": 0
}
}
]
},
"Script": {
"type": "resref",
"value": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Speaker": {
"type": "cexostring",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "I haven't understood the yet. But I have some kind of idea where to look from. That is all I need. And I am certain I can find it there."
}
}
},
{
"__struct_id": 4,
"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": ""
},
"Index": {
"type": "dword",
"value": 5
},
"IsChild": {
"type": "byte",
"value": 1
},
"LinkComment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 1,
"Active": {
"type": "resref",
"value": ""
},
"Index": {
"type": "dword",
"value": 0
},
"IsChild": {
"type": "byte",
"value": 1
},
"LinkComment": {
"type": "cexostring",
"value": ""
}
}
]
},
"Script": {
"type": "resref",
"value": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Speaker": {
"type": "cexostring",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "Is there anything else you need to know?"
}
}
},
{
"__struct_id": 5,
"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": ""
},
"Index": {
"type": "dword",
"value": 2
},
"IsChild": {
"type": "byte",
"value": 1
},
"LinkComment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 1,
"Active": {
"type": "resref",
"value": ""
},
"Index": {
"type": "dword",
"value": 0
},
"IsChild": {
"type": "byte",
"value": 1
},
"LinkComment": {
"type": "cexostring",
"value": ""
}
}
]
},
"Script": {
"type": "resref",
"value": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Speaker": {
"type": "cexostring",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "I am but a humble monk."
}
}
}
]
},
"NumWords": {
"type": "dword",
"value": 101
},
"PreventZoomIn": {
"type": "byte",
"value": 0
},
"ReplyList": {
"type": "list",
"value": [
{
"__struct_id": 0,
"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": ""
},
"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": "Goodbye."
}
}
},
{
"__struct_id": 1,
"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": ""
}
}
},
{
"__struct_id": 2,
"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": ""
},
"Index": {
"type": "dword",
"value": 2
},
"IsChild": {
"type": "byte",
"value": 0
}
}
]
},
"Quest": {
"type": "cexostring",
"value": ""
},
"Script": {
"type": "resref",
"value": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "What do you do for living?"
}
}
},
{
"__struct_id": 3,
"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": ""
},
"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": "Do you know the truth?"
}
}
},
{
"__struct_id": 4,
"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": ""
},
"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": "I see."
}
}
},
{
"__struct_id": 5,
"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": ""
},
"Index": {
"type": "dword",
"value": 5
},
"IsChild": {
"type": "byte",
"value": 0
}
}
]
},
"Quest": {
"type": "cexostring",
"value": ""
},
"Script": {
"type": "resref",
"value": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "Who are you?"
}
}
}
]
},
"StartingList": {
"type": "list",
"value": [
{
"__struct_id": 0,
"Active": {
"type": "resref",
"value": ""
},
"Index": {
"type": "dword",
"value": 0
}
}
]
}
}

@ -0,0 +1,97 @@
{
"__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,
"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": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Speaker": {
"type": "cexostring",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "Hello to you. Excuse me, but I have no time to talk to you - I must tend the patients."
}
}
}
]
},
"NumWords": {
"type": "dword",
"value": 20
},
"PreventZoomIn": {
"type": "byte",
"value": 0
},
"ReplyList": {
"type": "list",
"value": []
},
"StartingList": {
"type": "list",
"value": [
{
"__struct_id": 0,
"Active": {
"type": "resref",
"value": ""
},
"Index": {
"type": "dword",
"value": 0
}
}
]
}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,97 @@
{
"__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,
"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": ""
},
"Sound": {
"type": "resref",
"value": ""
},
"Speaker": {
"type": "cexostring",
"value": ""
},
"Text": {
"type": "cexolocstring",
"value": {
"0": "Good <quarterday>."
}
}
}
]
},
"NumWords": {
"type": "dword",
"value": 2
},
"PreventZoomIn": {
"type": "byte",
"value": 0
},
"ReplyList": {
"type": "list",
"value": []
},
"StartingList": {
"type": "list",
"value": [
{
"__struct_id": 0,
"Active": {
"type": "resref",
"value": ""
},
"Index": {
"type": "dword",
"value": 0
}
}
]
}
}

File diff suppressed because it is too large Load Diff

@ -646,13 +646,6 @@
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
}
},
{
"__struct_id": 5,
"Comment": {
@ -1031,13 +1024,6 @@
"value": "This waypoint may be used to have a guard stand where it has been placed. \r\n1. Create a guard and either use the existing Tag or fill in a new one. \r\n2. Place this Waypoint with the Tag \"POST_\" + the NPC Tag.\r\n3. Place or make sure that WalkWayPoints() is within the On Spawn script for the NPC and after combat, the NPC shall return to it's \"POST\"."
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": "This waypoint may be used to have a guard stand where it has been placed. \r\n1. Create a guard and either use the existing Tag or fill in a new one. \r\n2. Place this Waypoint with the Tag \"POST_\" + the NPC Tag.\r\n3. Place or make sure that WalkWayPoints() is within the On Spawn script for the NPC and after combat, the NPC shall return to it's \"POST\"."
}
},
{
"__struct_id": 5,
"Comment": {

@ -0,0 +1,55 @@
{
"__data_type": "GIC ",
"Creature List": {
"type": "list",
"value": []
},
"Door List": {
"type": "list",
"value": [
{
"__struct_id": 8,
"Comment": {
"type": "cexostring",
"value": "Door"
}
}
]
},
"Encounter List": {
"type": "list",
"value": []
},
"List": {
"type": "list",
"value": []
},
"Placeable List": {
"type": "list",
"value": []
},
"SoundList": {
"type": "list",
"value": []
},
"StoreList": {
"type": "list",
"value": []
},
"TriggerList": {
"type": "list",
"value": []
},
"WaypointList": {
"type": "list",
"value": [
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": "On the Advanced tab, replace <Place text here> with whatever information you wish to appear on the Map of an area."
}
}
]
}
}

@ -0,0 +1,822 @@
{
"__data_type": "GIC ",
"Creature List": {
"type": "list",
"value": [
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
}
]
},
"Door List": {
"type": "list",
"value": [
{
"__struct_id": 8,
"Comment": {
"type": "cexostring",
"value": "A sturdy wooden door."
}
},
{
"__struct_id": 8,
"Comment": {
"type": "cexostring",
"value": "Cloth Curtain"
}
}
]
},
"Encounter List": {
"type": "list",
"value": []
},
"List": {
"type": "list",
"value": []
},
"Placeable List": {
"type": "list",
"value": [
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "This rug has a heartbeat script that makes the corpses, er, *patients* in the temple moan in pain. This is cooler than having a hb script for all corpses."
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Throw Rug"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Table"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Table"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Table"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Table"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Candelabra"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Candelabra"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Candelabra"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Candelabra"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Bookcase 3"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Bookcase 2"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Bookcase 2"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Candelabra"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Bench / Pew"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Rug Large"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Rug Large"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Rug Large"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Rug Large"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Table"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Table"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Table"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Tome"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Chandelier"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Chandelier"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Chandelier"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Chandelier"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Plate"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Plate"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Chair 2"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Table"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Painting"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Bed - Bedding Rolls"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Bed - Bedding Rolls"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Bed - Bedding Rolls"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Bed - Bedding Rolls"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Bed - Bedding Rolls"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Bed - Bedding Rolls"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Bed - Bedding Rolls"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Tome"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Bed - Cot"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "x0_cushions"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Splatter Pack v1.0 by Knat\r\n"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Splatter Pack v1.0 by Knat\r\n"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Vels Misc Placeables by Velmar\r\n"
}
}
]
},
"SoundList": {
"type": "list",
"value": [
{
"__struct_id": 6,
"Comment": {
"type": "cexostring",
"value": ""
},
"PlayInToolset": {
"type": "byte",
"value": 1
}
},
{
"__struct_id": 6,
"Comment": {
"type": "cexostring",
"value": ""
},
"PlayInToolset": {
"type": "byte",
"value": 1
}
}
]
},
"StoreList": {
"type": "list",
"value": []
},
"TriggerList": {
"type": "list",
"value": []
},
"WaypointList": {
"type": "list",
"value": [
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": "On the Advanced tab, replace <Place text here> with whatever information you wish to appear on the Map of an area."
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": "On the Advanced tab, replace <Place text here> with whatever information you wish to appear on the Map of an area."
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": "On the Advanced tab, replace <Place text here> with whatever information you wish to appear on the Map of an area."
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
}
}
]
}
}

@ -91,6 +91,20 @@
"type": "cexostring",
"value": "Jeweled Door"
}
},
{
"__struct_id": 8,
"Comment": {
"type": "cexostring",
"value": "Temple2Hospital"
}
},
{
"__struct_id": 8,
"Comment": {
"type": "cexostring",
"value": "Temple2Library"
}
}
]
},

@ -18191,66 +18191,6 @@
"WaypointList": {
"type": "list",
"value": [
{
"__struct_id": 5,
"Appearance": {
"type": "byte",
"value": 1
},
"Description": {
"type": "cexolocstring",
"value": {}
},
"HasMapNote": {
"type": "byte",
"value": 0
},
"LinkedTo": {
"type": "cexostring",
"value": ""
},
"LocalizedName": {
"id": 14817,
"type": "cexolocstring",
"value": {}
},
"MapNote": {
"type": "cexolocstring",
"value": {}
},
"MapNoteEnabled": {
"type": "byte",
"value": 1
},
"Tag": {
"type": "cexostring",
"value": "townport"
},
"TemplateResRef": {
"type": "resref",
"value": "nw_waypoint001"
},
"XOrientation": {
"type": "float",
"value": 0.0
},
"XPosition": {
"type": "float",
"value": 75.25265502929688
},
"YOrientation": {
"type": "float",
"value": 1.0
},
"YPosition": {
"type": "float",
"value": 95.59759521484375
},
"ZPosition": {
"type": "float",
"value": -5.222045729169622e-006
}
},
{
"__struct_id": 5,
"Appearance": {
@ -21358,7 +21298,7 @@
},
"XPosition": {
"type": "float",
"value": 80.04289245605469
"value": 80.04264831542969
},
"YOrientation": {
"type": "float",
@ -21366,7 +21306,7 @@
},
"YPosition": {
"type": "float",
"value": 152.4160003662109
"value": 152.7678833007813
},
"ZPosition": {
"type": "float",
@ -21625,68 +21565,6 @@
"value": -5.222045729169622e-006
}
},
{
"__struct_id": 5,
"Appearance": {
"type": "byte",
"value": 4
},
"Description": {
"type": "cexolocstring",
"value": {}
},
"HasMapNote": {
"type": "byte",
"value": 0
},
"LinkedTo": {
"type": "cexostring",
"value": ""
},
"LocalizedName": {
"id": 14816,
"type": "cexolocstring",
"value": {
"0": "Post - Grogar"
}
},
"MapNote": {
"type": "cexolocstring",
"value": {}
},
"MapNoteEnabled": {
"type": "byte",
"value": 1
},
"Tag": {
"type": "cexostring",
"value": "POST_NPC_GROGAR"
},
"TemplateResRef": {
"type": "resref",
"value": "nw_post001"
},
"XOrientation": {
"type": "float",
"value": 3.894143674187944e-007
},
"XPosition": {
"type": "float",
"value": 80.01533508300781
},
"YOrientation": {
"type": "float",
"value": -1.0
},
"YPosition": {
"type": "float",
"value": 151.995361328125
},
"ZPosition": {
"type": "float",
"value": -5.7220458984375e-006
}
},
{
"__struct_id": 5,
"Appearance": {

@ -0,0 +1,370 @@
{
"__data_type": "GIT ",
"AreaProperties": {
"__struct_id": 100,
"type": "struct",
"value": {
"__struct_id": 100,
"AmbientSndDay": {
"type": "int",
"value": 66
},
"AmbientSndDayVol": {
"type": "int",
"value": 12
},
"AmbientSndNight": {
"type": "int",
"value": 66
},
"AmbientSndNitVol": {
"type": "int",
"value": 6
},
"EnvAudio": {
"type": "int",
"value": 0
},
"MusicBattle": {
"type": "int",
"value": 41
},
"MusicDay": {
"type": "int",
"value": 27
},
"MusicDelay": {
"type": "int",
"value": 90000
},
"MusicNight": {
"type": "int",
"value": 49
}
}
},
"Creature List": {
"type": "list",
"value": []
},
"Door List": {
"type": "list",
"value": [
{
"__struct_id": 8,
"AnimationState": {
"type": "byte",
"value": 0
},
"Appearance": {
"type": "dword",
"value": 0
},
"AutoRemoveKey": {
"type": "byte",
"value": 0
},
"Bearing": {
"type": "float",
"value": 1.570796012878418
},
"CloseLockDC": {
"type": "byte",
"value": 0
},
"Conversation": {
"type": "resref",
"value": ""
},
"CurrentHP": {
"type": "short",
"value": 60
},
"Description": {
"id": 9070,
"type": "cexolocstring",
"value": {
"0": "A sturdy wooden door."
}
},
"DisarmDC": {
"type": "byte",
"value": 28
},
"Faction": {
"type": "dword",
"value": 1
},
"Fort": {
"type": "byte",
"value": 28
},
"GenericType_New": {
"type": "dword",
"value": 1
},
"Hardness": {
"type": "byte",
"value": 10
},
"HP": {
"type": "short",
"value": 60
},
"Interruptable": {
"type": "byte",
"value": 1
},
"KeyName": {
"type": "cexostring",
"value": ""
},
"KeyRequired": {
"type": "byte",
"value": 0
},
"LinkedTo": {
"type": "cexostring",
"value": "Temple2Library"
},
"LinkedToFlags": {
"type": "byte",
"value": 1
},
"LoadScreenID": {
"type": "word",
"value": 0
},
"Lockable": {
"type": "byte",
"value": 0
},
"Locked": {
"type": "byte",
"value": 0
},
"LocName": {
"id": 5349,
"type": "cexolocstring",
"value": {
"0": "Door"
}
},
"OnClick": {
"type": "resref",
"value": "door_area_trans"
},
"OnClosed": {
"type": "resref",
"value": ""
},
"OnDamaged": {
"type": "resref",
"value": ""
},
"OnDeath": {
"type": "resref",
"value": "se_door_death"
},
"OnDisarm": {
"type": "resref",
"value": ""
},
"OnFailToOpen": {
"type": "resref",
"value": "door_fail2open"
},
"OnHeartbeat": {
"type": "resref",
"value": ""
},
"OnLock": {
"type": "resref",
"value": ""
},
"OnMeleeAttacked": {
"type": "resref",
"value": ""
},
"OnOpen": {
"type": "resref",
"value": "ra_close_door"
},
"OnSpellCastAt": {
"type": "resref",
"value": ""
},
"OnTrapTriggered": {
"type": "resref",
"value": ""
},
"OnUnlock": {
"type": "resref",
"value": ""
},
"OnUserDefined": {
"type": "resref",
"value": ""
},
"OpenLockDC": {
"type": "byte",
"value": 28
},
"Plot": {
"type": "byte",
"value": 1
},
"PortraitId": {
"type": "word",
"value": 2624
},
"Ref": {
"type": "byte",
"value": 0
},
"Tag": {
"type": "cexostring",
"value": "Library2Temple"
},
"TemplateResRef": {
"type": "resref",
"value": "nw_door_metal"
},
"TrapDetectable": {
"type": "byte",
"value": 1
},
"TrapDetectDC": {
"type": "byte",
"value": 0
},
"TrapDisarmable": {
"type": "byte",
"value": 1
},
"TrapFlag": {
"type": "byte",
"value": 0
},
"TrapOneShot": {
"type": "byte",
"value": 1
},
"TrapType": {
"type": "byte",
"value": 2
},
"Will": {
"type": "byte",
"value": 0
},
"X": {
"type": "float",
"value": 5.0
},
"Y": {
"type": "float",
"value": 5.0
},
"Z": {
"type": "float",
"value": 1.399999976158142
}
}
]
},
"Encounter List": {
"type": "list",
"value": []
},
"List": {
"type": "list",
"value": []
},
"Placeable List": {
"type": "list",
"value": []
},
"SoundList": {
"type": "list",
"value": []
},
"StoreList": {
"type": "list",
"value": []
},
"TriggerList": {
"type": "list",
"value": []
},
"WaypointList": {
"type": "list",
"value": [
{
"__struct_id": 5,
"Appearance": {
"type": "byte",
"value": 1
},
"Description": {
"type": "cexolocstring",
"value": {}
},
"HasMapNote": {
"type": "byte",
"value": 1
},
"LinkedTo": {
"type": "cexostring",
"value": ""
},
"LocalizedName": {
"id": 14814,
"type": "cexolocstring",
"value": {
"0": "Map Note"
}
},
"MapNote": {
"id": 14815,
"type": "cexolocstring",
"value": {
"0": "Exit"
}
},
"MapNoteEnabled": {
"type": "byte",
"value": 1
},
"Tag": {
"type": "cexostring",
"value": "MapNote_Out"
},
"TemplateResRef": {
"type": "resref",
"value": "nw_mapnote001"
},
"XOrientation": {
"type": "float",
"value": 0.9972904324531555
},
"XPosition": {
"type": "float",
"value": 5.613179206848145
},
"YOrientation": {
"type": "float",
"value": 0.07356484979391098
},
"YPosition": {
"type": "float",
"value": 4.792923927307129
},
"ZPosition": {
"type": "float",
"value": 1.399997115135193
}
}
]
}
}

File diff suppressed because it is too large Load Diff

@ -2830,7 +2830,7 @@
},
"Ref": {
"type": "byte",
"value": 2
"value": 1
},
"Static": {
"type": "byte",
@ -2878,7 +2878,7 @@
},
"Will": {
"type": "byte",
"value": 10
"value": 8
},
"X": {
"type": "float",

@ -17332,6 +17332,444 @@
"type": "float",
"value": -0.009999999776482582
}
},
{
"__struct_id": 8,
"AnimationState": {
"type": "byte",
"value": 0
},
"Appearance": {
"type": "dword",
"value": 0
},
"AutoRemoveKey": {
"type": "byte",
"value": 0
},
"Bearing": {
"type": "float",
"value": 1.570796370506287
},
"CloseLockDC": {
"type": "byte",
"value": 0
},
"Conversation": {
"type": "resref",
"value": ""
},
"CurrentHP": {
"type": "short",
"value": 80
},
"Description": {
"type": "cexolocstring",
"value": {
"0": "A sturdy wooden door."
}
},
"DisarmDC": {
"type": "byte",
"value": 15
},
"Faction": {
"type": "dword",
"value": 1
},
"Fort": {
"type": "byte",
"value": 16
},
"GenericType_New": {
"type": "dword",
"value": 1
},
"Hardness": {
"type": "byte",
"value": 5
},
"HP": {
"type": "short",
"value": 80
},
"Interruptable": {
"type": "byte",
"value": 1
},
"KeyName": {
"type": "cexostring",
"value": ""
},
"KeyRequired": {
"type": "byte",
"value": 0
},
"LinkedTo": {
"type": "cexostring",
"value": "Hospital2Temple"
},
"LinkedToFlags": {
"type": "byte",
"value": 1
},
"LoadScreenID": {
"type": "word",
"value": 0
},
"Lockable": {
"type": "byte",
"value": 0
},
"Locked": {
"type": "byte",
"value": 0
},
"LocName": {
"id": 5349,
"type": "cexolocstring",
"value": {}
},
"OnClick": {
"type": "resref",
"value": "door_area_trans"
},
"OnClosed": {
"type": "resref",
"value": ""
},
"OnDamaged": {
"type": "resref",
"value": ""
},
"OnDeath": {
"type": "resref",
"value": "se_door_death"
},
"OnDisarm": {
"type": "resref",
"value": ""
},
"OnFailToOpen": {
"type": "resref",
"value": "door_fail2open"
},
"OnHeartbeat": {
"type": "resref",
"value": ""
},
"OnLock": {
"type": "resref",
"value": ""
},
"OnMeleeAttacked": {
"type": "resref",
"value": ""
},
"OnOpen": {
"type": "resref",
"value": "ra_close_door"
},
"OnSpellCastAt": {
"type": "resref",
"value": ""
},
"OnTrapTriggered": {
"type": "resref",
"value": ""
},
"OnUnlock": {
"type": "resref",
"value": ""
},
"OnUserDefined": {
"type": "resref",
"value": ""
},
"OpenLockDC": {
"type": "byte",
"value": 18
},
"Plot": {
"type": "byte",
"value": 1
},
"PortraitId": {
"type": "word",
"value": 2624
},
"Ref": {
"type": "byte",
"value": 0
},
"Tag": {
"type": "cexostring",
"value": "Temple2Hospital"
},
"TemplateResRef": {
"type": "resref",
"value": "nw_door_ttr_02"
},
"TrapDetectable": {
"type": "byte",
"value": 1
},
"TrapDetectDC": {
"type": "byte",
"value": 0
},
"TrapDisarmable": {
"type": "byte",
"value": 1
},
"TrapFlag": {
"type": "byte",
"value": 0
},
"TrapOneShot": {
"type": "byte",
"value": 1
},
"TrapType": {
"type": "byte",
"value": 0
},
"Will": {
"type": "byte",
"value": 0
},
"X": {
"type": "float",
"value": 64.37000274658203
},
"Y": {
"type": "float",
"value": 58.97999954223633
},
"Z": {
"type": "float",
"value": -0.009999999776482582
}
},
{
"__struct_id": 8,
"AnimationState": {
"type": "byte",
"value": 0
},
"Appearance": {
"type": "dword",
"value": 0
},
"AutoRemoveKey": {
"type": "byte",
"value": 0
},
"Bearing": {
"type": "float",
"value": -1.570796251296997
},
"CloseLockDC": {
"type": "byte",
"value": 0
},
"Conversation": {
"type": "resref",
"value": ""
},
"CurrentHP": {
"type": "short",
"value": 80
},
"Description": {
"type": "cexolocstring",
"value": {
"0": "A sturdy wooden door."
}
},
"DisarmDC": {
"type": "byte",
"value": 15
},
"Faction": {
"type": "dword",
"value": 1
},
"Fort": {
"type": "byte",
"value": 16
},
"GenericType_New": {
"type": "dword",
"value": 1
},
"Hardness": {
"type": "byte",
"value": 5
},
"HP": {
"type": "short",
"value": 80
},
"Interruptable": {
"type": "byte",
"value": 1
},
"KeyName": {
"type": "cexostring",
"value": ""
},
"KeyRequired": {
"type": "byte",
"value": 0
},
"LinkedTo": {
"type": "cexostring",
"value": "Library2Temple"
},
"LinkedToFlags": {
"type": "byte",
"value": 1
},
"LoadScreenID": {
"type": "word",
"value": 0
},
"Lockable": {
"type": "byte",
"value": 0
},
"Locked": {
"type": "byte",
"value": 0
},
"LocName": {
"id": 5349,
"type": "cexolocstring",
"value": {
"0": "Door"
}
},
"OnClick": {
"type": "resref",
"value": "door_area_trans"
},
"OnClosed": {
"type": "resref",
"value": ""
},
"OnDamaged": {
"type": "resref",
"value": ""
},
"OnDeath": {
"type": "resref",
"value": "se_door_death"
},
"OnDisarm": {
"type": "resref",
"value": ""
},
"OnFailToOpen": {
"type": "resref",
"value": "door_fail2open"
},
"OnHeartbeat": {
"type": "resref",
"value": ""
},
"OnLock": {
"type": "resref",
"value": ""
},
"OnMeleeAttacked": {
"type": "resref",
"value": ""
},
"OnOpen": {
"type": "resref",
"value": "ra_close_door"
},
"OnSpellCastAt": {
"type": "resref",
"value": ""
},
"OnTrapTriggered": {
"type": "resref",
"value": ""
},
"OnUnlock": {
"type": "resref",
"value": ""
},
"OnUserDefined": {
"type": "resref",
"value": ""
},
"OpenLockDC": {
"type": "byte",
"value": 18
},
"Plot": {
"type": "byte",
"value": 1
},
"PortraitId": {
"type": "word",
"value": 2624
},
"Ref": {
"type": "byte",
"value": 0
},
"Tag": {
"type": "cexostring",
"value": "Temple2Library"
},
"TemplateResRef": {
"type": "resref",
"value": "nw_door_ttr_01"
},
"TrapDetectable": {
"type": "byte",
"value": 1
},
"TrapDetectDC": {
"type": "byte",
"value": 0
},
"TrapDisarmable": {
"type": "byte",
"value": 1
},
"TrapFlag": {
"type": "byte",
"value": 0
},
"TrapOneShot": {
"type": "byte",
"value": 1
},
"TrapType": {
"type": "byte",
"value": 0
},
"Will": {
"type": "byte",
"value": 0
},
"X": {
"type": "float",
"value": 95.12000274658203
},
"Y": {
"type": "float",
"value": 58.97999954223633
},
"Z": {
"type": "float",
"value": -0.009999999776482582
}
}
]
},

@ -1679,6 +1679,20 @@
"type": "resref",
"value": "area500sparky"
}
},
{
"__struct_id": 6,
"Area_Name": {
"type": "resref",
"value": "healerlibrary"
}
},
{
"__struct_id": 6,
"Area_Name": {
"type": "resref",
"value": "healerthospital"
}
}
]
},
@ -2036,11 +2050,11 @@
},
"Mod_OnPlrDeath": {
"type": "resref",
"value": "hif_onplayerdeat"
"value": "prc_ondeath"
},
"Mod_OnPlrDying": {
"type": "resref",
"value": "hif_onplayerdyin"
"value": "prc_ondying"
},
"Mod_OnPlrEqItm": {
"type": "resref",
@ -3212,7 +3226,7 @@
},
"Value": {
"type": "int",
"value": 1
"value": 0
}
},
{
@ -3289,6 +3303,36 @@
"type": "int",
"value": 1
}
},
{
"__struct_id": 0,
"Name": {
"type": "cexostring",
"value": "PRC_XP_USE_SETXP"
},
"Type": {
"type": "dword",
"value": 1
},
"Value": {
"type": "int",
"value": 1
}
},
{
"__struct_id": 0,
"Name": {
"type": "cexostring",
"value": "PRC_XP_DISABLE_SPAM"
},
"Type": {
"type": "dword",
"value": 1
},
"Value": {
"type": "int",
"value": 1
}
}
]
}

@ -135,6 +135,22 @@
"type": "byte",
"value": 9
},
"LIST": {
"type": "list",
"value": [
{
"__struct_id": 0,
"NAME": {
"type": "cexostring",
"value": "Cloth Curtain"
},
"RESREF": {
"type": "resref",
"value": "clothcurtain"
}
}
]
},
"STRREF": {
"type": "dword",
"value": 201

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,12 @@
// Starts the Good Temple Store.
#include "nw_i0_plot"
void main()
{
object oStore = GetNearestObjectByTag("GoodTempleStore");
if(GetObjectType(oStore) == OBJECT_TYPE_STORE)
gplotAppraiseOpenStore(oStore, GetPCSpeaker());
else
ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK);
}

@ -0,0 +1,23 @@
/*
Conversation: persuade check with difficulty class of 25
(Pretty Damn Tricky). However, if PC is very low on hit points,
the difficulty drops to 12 (Rather Simple).
By WWWWolf 2003-10-29
*/
int StartingConditional()
{
object pc = GetPCSpeaker();
float hpratio = ( IntToFloat(GetCurrentHitPoints(pc)) /
IntToFloat(GetMaxHitPoints(pc)) );
int dc = 25; // Normal difficulty class
if(hpratio < 0.15f)
dc = 12; // Low-HP difficulty class
if(GetIsSkillSuccessful(pc, SKILL_PERSUADE, dc))
return TRUE;
return FALSE;
}

@ -149,6 +149,9 @@ void main()
}
// Signal the death event.
FireUserEvent(AI_FLAG_UDE_DEATH_EVENT, EVENT_DEATH_EVENT);
ExecuteScript("prc_npc_death", OBJECT_SELF);
ExecuteScript("prc_pwondeath", OBJECT_SELF);
}
// We need a wrapper. If the amount of deaths, got in this, is not equal to iDeaths,

@ -0,0 +1,17 @@
/**
* Custom PW OnDeath script to be used with the PRC and pwfxp system.
* Created by: fluffyamoeba
* Created on: 2007-11-14
*
* Usage: put in your PW's module.
*
* This script is executed by nw_c2_default7 (the default NPC OnDeath script)
* if using the PRC.
*/
// calls the pwfxp script.
void main ()
{
ExecuteScript("pwfxp", OBJECT_SELF);
}

@ -9,14 +9,14 @@ changes: 2007-11-14
- pwfxp_prc_race now reads the 2da cache directly.
- the race LA is done entirely through this script. DO NOT set PRC_XP_USE_SIMPLE_LA
- the race LA is done entirely through this script. DO NOT set PRC_XP_USE_SIMPLE_LA
or the XP penalty will be applied twice
- if using this with the supplied prc_pwondeath script, you don't need to make any
changes to nw_c2_default7 (the OnDeath script)
- prc_racial_const no longer used
=================
Include added for prc races: pwfxp_prc_race, modify this file if you want to
@ -92,7 +92,7 @@ Silvercloud
ExecuteScript("pwfxp",OBJECT_SELF);
Don't forget to set the XP-Scale slider to 0 (module properties)
*note* if using your own prc_pwondeath script add this to that script instead.
ATTENTION: HOW TO REMOVE THE DOUBLE XP MESSAGE !

@ -21,7 +21,7 @@
//
// you can further scale the leveling progress more precisely with the PWFXP_LEVEL_MODIFIERS constant
// just continue to read my comments...
const float PWFXP_GLOBAL_MODIFIER = 10.0;
const float PWFXP_GLOBAL_MODIFIER = 15.0;
// displays one-line XP status info after each kill
// useful while you fine tune the system.
@ -239,11 +239,11 @@ const float PWFXP_GROUPBONUS_MODIFIER = 0.1;
// groub members need to be within this distance to the dead creature
// if they want to get any XP during fights
const float PWFXP_MAXIMUM_DISTANCE_TO_GROUP = 30.0; // meters
const float PWFXP_MAXIMUM_DISTANCE_TO_GROUP = 70.0; // meters
// safety mechanism
// minimum XP for a kill
const int PWFXP_MINIMUM_XP = 0;
const int PWFXP_MINIMUM_XP = 1;
// safety mechanism
// maximum XP for a kill

@ -1,15 +1,14 @@
#include "nw_i0_plot"
/* Script generated by
Lilac Soul's NWN Script Generator, v. 2.1
For download info, please visit:
http://nwvault.ign.com/View.php?view=Other.Detail&id=4683&id=625 */
//Goes OnPlayerRespawn of the module properties
void main()
{
object oPC = GetLastRespawnButtonPresser();
object oTarget;
location lTarget;
oTarget = GetWaypointByTag("townport");
lTarget = GetLocation(oTarget);
if (!GetIsPC(oPC)) return;
@ -19,11 +18,6 @@ ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oPC)), oPC)
RemoveEffects(oPC);
object oTarget;
location lTarget;
oTarget = GetWaypointByTag("townport");
lTarget = GetLocation(oTarget);
//only do the jump if the location is valid.
//though not flawless, we just check if it is in a valid area.
@ -35,9 +29,7 @@ if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return;
AssignCommand(oPC, ClearAllActions());
DelayCommand(3.0, AssignCommand(oPC, ActionJumpToLocation(lTarget)));
oTarget = oPC;
DelayCommand(0.1, AssignCommand(oPC, ActionJumpToLocation(lTarget)));
//Visual effects can't be applied to waypoints, so if it is a WP
//apply to the WP's location instead
@ -45,7 +37,7 @@ oTarget = oPC;
int nInt;
nInt = GetObjectType(oTarget);
if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), oTarget);
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), GetLocation(oTarget));
if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), oPC);
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), GetLocation(oPC));
}

@ -0,0 +1,16 @@
/*
Operation assistant heartbeat.
WWWWolf 2003-10-09
*/
#include "temple_fun"
void main()
{
NormalHeartbeat();
if(TooBusyToConverse())
return;
FaceToMyLocation();
}

@ -0,0 +1,7 @@
#include "temple_fun"
void main()
{
CastSpellOnPC(SPELL_CURE_CRITICAL_WOUNDS, 200);
}

@ -0,0 +1,7 @@
#include "temple_fun"
void main()
{
CastSpellOnPC(SPELL_CURE_LIGHT_WOUNDS, 50);
}

@ -0,0 +1,7 @@
#include "temple_fun"
void main()
{
CastSpellOnPC(SPELL_CURE_CRITICAL_WOUNDS, 0);
}

@ -0,0 +1,7 @@
#include "temple_fun"
void main()
{
CastSpellOnPC(SPELL_CURE_LIGHT_WOUNDS, 0);
}

@ -0,0 +1,7 @@
#include "temple_fun"
void main()
{
CastSpellOnPC(SPELL_LESSER_RESTORATION, 0);
}

@ -0,0 +1,7 @@
#include "temple_fun"
void main()
{
CastSpellOnPC(SPELL_NEUTRALIZE_POISON, 0);
}

@ -0,0 +1,45 @@
/*
Temple functions include file.
WWWWolf 2003-11-09
*/
string CASTER = "Marleta";
void CastSpellOnPC(int spell, int cost)
{
object pc = GetPCSpeaker();
object caster = GetObjectByTag(CASTER);
if(cost > 0) {
TakeGoldFromCreature(cost, pc, TRUE);
}
AssignCommand(caster, ActionPauseConversation());
AssignCommand(caster, ActionCastSpellAtObject(spell, pc, METAMAGIC_NONE,
TRUE, 5, TRUE));
AssignCommand(caster, ActionResumeConversation());
}
void NormalHeartbeat()
{
// Run normal heartbeat stuff
ExecuteScript("nw_c2_default1",OBJECT_SELF);
}
int TooBusyToConverse()
{
return(GetIsInCombat() || IsInConversation(OBJECT_SELF));
}
// Create a waypoint called <creaturetag>Location.
// Subject will take the waypoint's location and walk there,
// and face where the waypoint is pointing.
void FaceToMyLocation()
{
object wp = GetObjectByTag(GetTag(OBJECT_SELF)+"Location");
location here = GetLocation(wp);
ActionMoveToLocation(here);
SetFacing(GetFacing(wp)); // Turn to the direction of the waypoint
}

@ -0,0 +1,6 @@
int StartingConditional()
{
if(GetGold(GetPCSpeaker()) >= 100)
return TRUE;
return FALSE;
}

@ -0,0 +1,6 @@
int StartingConditional()
{
if(GetGold(GetPCSpeaker()) >= 200)
return TRUE;
return FALSE;
}

@ -0,0 +1,6 @@
int StartingConditional()
{
if(GetGold(GetPCSpeaker()) >= 50)
return TRUE;
return FALSE;
}

@ -0,0 +1,7 @@
#include "temple_fun"
void main()
{
CastSpellOnPC(SPELL_LESSER_RESTORATION, 100);
}

@ -0,0 +1,104 @@
/*
Make the patients moan. This is a heartbeat script, placed not on
any of the individual patients, but rather, on some innocuous
placeable object (rug, scorchmark, blood puddle, etc...)
No need to make millions of heartbeat scripts =)
WWWWolf 2003-11-09
*/
// Patient tag.
const string PATIENT = "Patient";
// NOTE: BROKEN (below code uses a brute-force approach.)
// Causes "TOO MANY INSTRUCTIONS" error.
int HowManyWithTag(string sTag) {
object obj;
int n = 0;
do {
obj = GetObjectByTag(sTag,n);
} while (obj != OBJECT_INVALID);
return n;
}
object RandomPatient() {
object x;
/* // Optimal solution
x = GetObjectByTag(PATIENT, Random(n));
if(x == OBJECT_INVALID)
continue;
*/
/* // Brute force but safe solution
int z;
for(z = 0; z < 10; z++) { // 10 tries
x = GetObjectByTag(PATIENT,Random(40));
if(x != OBJECT_INVALID)
break;
}
if(x == OBJECT_INVALID)
continue;
*/
// Lightweight brute force solution
x = GetObjectByTag(PATIENT,Random(40));
/* if(x == OBJECT_INVALID)
continue; */
return x;
}
string RandomMoaning() {
// Pick a random moaning
switch(d6(1)) {
default:
case 1:
return "Aaaaargh!";
break;
case 2:
return "Oooooh my head!";
break;
case 3:
return "Aaaaargh my legs!";
break;
case 4:
return "Uuuuaaaargh! Ooh!";
break;
case 5:
return "Ooooaaaargh!";
break;
case 6:
return "Make this pain stop, please!";
break;
}
// This is an impossible case. Just here to keep the compiler happy.
return "This moan script sucks and WWWWolf is an idiot! AAAAaaaaAargh!";
}
void main()
{
object x;
int n;
int a;
string moan;
// Count the patients.
// n = HowManyWithTag(PATIENT);
// Let's do 1d4 moaning patients
int nmoans = d4(1);
for(a = 0; a < nmoans; a++) {
// Get a random patient
x = RandomPatient();
if(x == OBJECT_INVALID)
continue;
// Pick a random moaning
moan = RandomMoaning();
// Make the patient moan.
// AssignCommand(x, ActionSpeakString(moan));
AssignCommand(x, SpeakString(moan));
}
}

@ -0,0 +1,77 @@
/* Temple monk heartbeat script. Makes the monk do various combat
exercises, and meditate. Hiyyyyaaaaaaaa---ha! *CRACK* *CRASH*
Most of the ActionSpeakString()s in this thing are for debugging
purposes only and are not especially interesting for other uses.
WWWWolf 2003-10-29, for Dakanon
*/
#include "temple_fun"
const string STAFF = "TempleMonkStaff";
const string TARGET = "TempleMonkDummy";
void main()
{
/* Run normal heartbeat stuff */
NormalHeartbeat();
//ExecuteScript("nw_c2_default1",OBJECT_SELF);
/* This is the Staff. */
object staff = GetObjectByTag(STAFF);
/* This is the Target. */
object target = GetObjectByTag(TARGET);
/* Are we in combat? */
int incombat = GetIsInCombat();
/* Are we in conversation? Let's return, if so... */
if(IsInConversation(OBJECT_SELF)) {
return;
}
/* Equip/Unequip the staff ocassionally. */
if(d10(1) == 1) {
if(incombat)
ClearAllActions(TRUE); /* Quit attacking for a while */
//ActionSpeakString("To staff or not to staff, that is the question!");
if(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND) != staff)
ActionEquipItem(staff,INVENTORY_SLOT_RIGHTHAND);
else
ActionUnequipItem(staff);
if(incombat) /* Okay, switched, keep attacking... */
ActionAttack(target);
}
/* Attack - or quit attacking - the dummy ocassionally. */
if(!incombat) {
if(d10(1) == 1) {
//ActionSpeakString("Ryaaaaagh! Die, dummy!");
/* Attack the dummy. */
ActionAttack(target);
} else {
//ActionSpeakString("Cannot kill a harmless dummy!");
if(d6(1) <= 2) {
/* Sometimes, sit down and meditate. */
ActionSpeakString("Ommmmmmmmmmmmm....");
ActionPlayAnimation(ANIMATION_LOOPING_SIT_CROSS,1.0, 8.0);
}
}
} else {
ActionAttack(target);
if(d10(1) == 1) {
/* Quit attacking the dummy. */
ClearAllActions(TRUE);
//ActionSpeakString("Shan't attack no more!");
} else {
//ActionSpeakString("Move like the water, strike like the thunder! "+
// "Attack like a raging bull!");
}
}
}

@ -0,0 +1,7 @@
#include "temple_fun"
void main()
{
CastSpellOnPC(SPELL_NEUTRALIZE_POISON, 200);
}

@ -0,0 +1,4 @@
void main()
{
PlayAnimation(ANIMATION_LOOPING_DEAD_FRONT,1.0,8.0);
}

@ -0,0 +1,59 @@
//:://////////////////////////////////////////////////
//:: CUSTOM OnSpawn handler.
#include "x0_i0_anims"
//#include "x0_i0_walkway"
#include "x0_i0_treasure"
void main()
{
// SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);
// SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);
// SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
// SetSpawnInCondition(NW_FLAG_STEALTH);
// SetSpawnInCondition(NW_FLAG_SEARCH);
// SetSpawnInCondition(NW_FLAG_SET_WARNINGS);
// SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);
// SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
// SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
// SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
// SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
// SetCombatCondition(X0_COMBAT_FLAG_RANGED);
// SetCombatCondition(X0_COMBAT_FLAG_DEFENSIVE);
// SetCombatCondition(X0_COMBAT_FLAG_AMBUSHER);
// SetCombatCondition(X0_COMBAT_FLAG_COWARDLY);
// SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN);
// SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE);
// SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE);
// SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN);
// SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT);
// SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT);
// SetSpawnInCondition(NW_FLAG_ATTACK_EVENT);
// SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT);
// SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT);
// SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT);
// SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT);
SetListeningPatterns();
// WalkWayPoints();
CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF);
// ***** ADD ANY CUSTOM ON-SPAWN CODE HERE ***** //
ApplyEffectToObject(DURATION_TYPE_INSTANT,
EffectDamage(GetCurrentHitPoints(OBJECT_SELF)-1, DAMAGE_TYPE_DIVINE),
OBJECT_SELF);
// Will this make it less laggy?
//PlayAnimation(ANIMATION_LOOPING_DEAD_FRONT,1.0,8.0);
}

@ -0,0 +1,6 @@
// Patient conversation script.
void main()
{
// Normal conversation isn't launched.
ActionSpeakString("Aaaaaaaargh.");
}

@ -0,0 +1,4 @@
void main()
{
PlayAnimation(ANIMATION_LOOPING_DEAD_BACK,1.0,8.0);
}

@ -0,0 +1,59 @@
//:://////////////////////////////////////////////////
//:: CUSTOM OnSpawn handler.
#include "x0_i0_anims"
//#include "x0_i0_walkway"
#include "x0_i0_treasure"
void main()
{
// SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);
// SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);
// SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
// SetSpawnInCondition(NW_FLAG_STEALTH);
// SetSpawnInCondition(NW_FLAG_SEARCH);
// SetSpawnInCondition(NW_FLAG_SET_WARNINGS);
// SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);
// SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
// SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
// SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
// SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
// SetCombatCondition(X0_COMBAT_FLAG_RANGED);
// SetCombatCondition(X0_COMBAT_FLAG_DEFENSIVE);
// SetCombatCondition(X0_COMBAT_FLAG_AMBUSHER);
// SetCombatCondition(X0_COMBAT_FLAG_COWARDLY);
// SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN);
// SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE);
// SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE);
// SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN);
// SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT);
// SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT);
// SetSpawnInCondition(NW_FLAG_ATTACK_EVENT);
// SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT);
// SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT);
// SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT);
// SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT);
SetListeningPatterns();
// WalkWayPoints();
CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF);
// ***** ADD ANY CUSTOM ON-SPAWN CODE HERE ***** //
ApplyEffectToObject(DURATION_TYPE_INSTANT,
EffectDamage(GetCurrentHitPoints(OBJECT_SELF)-1, DAMAGE_TYPE_DIVINE),
OBJECT_SELF);
// Will this make it less laggy?
//PlayAnimation(ANIMATION_LOOPING_DEAD_FRONT,1.0,8.0);
}

@ -0,0 +1,20 @@
/*
Sickbay receptionist heartbeat
Make her sit on the chair.
WWWWolf 2003-11-09
*/
#include "temple_fun"
void main()
{
NormalHeartbeat();
if(TooBusyToConverse())
return;
object chair = GetObjectByTag("NurseChair");
ActionSit(chair);
SetFacing(GetFacing(chair)); // Strange rotations and stuff.
}

@ -0,0 +1,67 @@
/*
Surgeon heartbeat. Make sure the dude is facing the operation table
and spouts random jargon.
WWWWolf 2003-11-09
*/
#include "temple_fun"
void main()
{
NormalHeartbeat();
if(TooBusyToConverse())
return;
// Make sure the surgeon is at his waypoint - to make sure he
// keeps smashing his hands to correct direction
// even if he turns around to babble.
FaceToMyLocation();
// Mutter various pieces of surgical jargon.
switch(d12(1)) {
default:
case 1:
ActionSpeakString("Scissors.");
break;
case 2:
ActionSpeakString("Scalpel.");
ActionPlayAnimation(ANIMATION_FIREFORGET_STEAL);
break;
case 3:
ActionSpeakString("Bone saw.");
ActionPlayAnimation(ANIMATION_FIREFORGET_STEAL);
break;
case 4:
ActionSpeakString("Hammer.");
break;
case 5:
ActionSpeakString("*tsk* *tsk* Axe, please.");
break;
case 6:
ActionSpeakString("Knife.");
ActionPlayAnimation(ANIMATION_FIREFORGET_STEAL);
break;
case 7:
ActionSpeakString("3/8 size gouger.");
ActionPlayAnimation(ANIMATION_FIREFORGET_STEAL);
break;
case 8:
ActionSpeakString("Hook.");
ActionPlayAnimation(ANIMATION_FIREFORGET_STEAL);
break;
case 9:
ActionSpeakString("Lancet.");
break;
case 10:
ActionSpeakString("Needle and thread.");
break;
case 11:
ActionSpeakString("Okay, prepare for amputation.");
break;
case 12:
ActionSpeakString("Could you sharpen this one?");
break;
}
}

@ -0,0 +1,15 @@
/*
Random wandering.
WWWWolf 2003-10
*/
void main()
{
// Usual heartbeat stuff
ExecuteScript("nw_c2_default1",OBJECT_SELF);
// Walk wherever you want
if(!IsInConversation(OBJECT_SELF) && !GetIsInCombat())
ActionRandomWalk();
}

Binary file not shown.

@ -0,0 +1,212 @@
{
"__data_type": "UTD ",
"AnimationState": {
"type": "byte",
"value": 0
},
"Appearance": {
"type": "dword",
"value": 0
},
"AutoRemoveKey": {
"type": "byte",
"value": 0
},
"CloseLockDC": {
"type": "byte",
"value": 0
},
"Comment": {
"type": "cexostring",
"value": "Cloth Curtain"
},
"Conversation": {
"type": "resref",
"value": ""
},
"CurrentHP": {
"type": "short",
"value": 15
},
"Description": {
"type": "cexolocstring",
"value": {
"0": "A cloth curtain to separate the rooms."
}
},
"DisarmDC": {
"type": "byte",
"value": 15
},
"Faction": {
"type": "dword",
"value": 1
},
"Fort": {
"type": "byte",
"value": 16
},
"GenericType_New": {
"type": "dword",
"value": 25
},
"Hardness": {
"type": "byte",
"value": 5
},
"HP": {
"type": "short",
"value": 15
},
"Interruptable": {
"type": "byte",
"value": 1
},
"KeyName": {
"type": "cexostring",
"value": ""
},
"KeyRequired": {
"type": "byte",
"value": 0
},
"LinkedTo": {
"type": "cexostring",
"value": ""
},
"LinkedToFlags": {
"type": "byte",
"value": 0
},
"LoadScreenID": {
"type": "word",
"value": 0
},
"Lockable": {
"type": "byte",
"value": 0
},
"Locked": {
"type": "byte",
"value": 0
},
"LocName": {
"id": 5349,
"type": "cexolocstring",
"value": {
"0": "Cloth Curtain"
}
},
"OnClick": {
"type": "resref",
"value": "door_area_trans"
},
"OnClosed": {
"type": "resref",
"value": ""
},
"OnDamaged": {
"type": "resref",
"value": ""
},
"OnDeath": {
"type": "resref",
"value": "se_door_death"
},
"OnDisarm": {
"type": "resref",
"value": ""
},
"OnFailToOpen": {
"type": "resref",
"value": "door_fail2open"
},
"OnHeartbeat": {
"type": "resref",
"value": ""
},
"OnLock": {
"type": "resref",
"value": ""
},
"OnMeleeAttacked": {
"type": "resref",
"value": ""
},
"OnOpen": {
"type": "resref",
"value": "ra_close_door"
},
"OnSpellCastAt": {
"type": "resref",
"value": ""
},
"OnTrapTriggered": {
"type": "resref",
"value": ""
},
"OnUnlock": {
"type": "resref",
"value": ""
},
"OnUserDefined": {
"type": "resref",
"value": ""
},
"OpenLockDC": {
"type": "byte",
"value": 18
},
"PaletteID": {
"type": "byte",
"value": 9
},
"Plot": {
"type": "byte",
"value": 1
},
"PortraitId": {
"type": "word",
"value": 1202
},
"Ref": {
"type": "byte",
"value": 0
},
"Tag": {
"type": "cexostring",
"value": "ClothCurtain"
},
"TemplateResRef": {
"type": "resref",
"value": "clothcurtain"
},
"TrapDetectable": {
"type": "byte",
"value": 1
},
"TrapDetectDC": {
"type": "byte",
"value": 0
},
"TrapDisarmable": {
"type": "byte",
"value": 1
},
"TrapFlag": {
"type": "byte",
"value": 0
},
"TrapOneShot": {
"type": "byte",
"value": 1
},
"TrapType": {
"type": "byte",
"value": 0
},
"Will": {
"type": "byte",
"value": 0
}
}