diff --git a/_module/are/magesmith.are.json b/_module/are/magesmith.are.json deleted file mode 100644 index 6e8a4e19..00000000 --- a/_module/are/magesmith.are.json +++ /dev/null @@ -1,350 +0,0 @@ -{ - "__data_type": "ARE ", - "ChanceLightning": { - "type": "int", - "value": 0 - }, - "ChanceRain": { - "type": "int", - "value": 0 - }, - "ChanceSnow": { - "type": "int", - "value": 0 - }, - "Comments": { - "type": "cexostring", - "value": "Murdoc's Magesmith" - }, - "Creator_ID": { - "type": "int", - "value": -1 - }, - "DayNightCycle": { - "type": "byte", - "value": 0 - }, - "Expansion_List": { - "type": "list", - "value": [] - }, - "Flags": { - "type": "dword", - "value": 1 - }, - "FogClipDist": { - "type": "float", - "value": 45.0 - }, - "Height": { - "type": "int", - "value": 2 - }, - "ID": { - "type": "int", - "value": -1 - }, - "IsNight": { - "type": "byte", - "value": 1 - }, - "LightingScheme": { - "type": "byte", - "value": 12 - }, - "LoadScreenID": { - "type": "word", - "value": 57 - }, - "ModListenCheck": { - "type": "int", - "value": 0 - }, - "ModSpotCheck": { - "type": "int", - "value": 0 - }, - "MoonAmbientColor": { - "type": "dword", - "value": 3947580 - }, - "MoonDiffuseColor": { - "type": "dword", - "value": 11184810 - }, - "MoonFogAmount": { - "type": "byte", - "value": 5 - }, - "MoonFogColor": { - "type": "dword", - "value": 0 - }, - "MoonShadows": { - "type": "byte", - "value": 0 - }, - "Name": { - "type": "cexolocstring", - "value": { - "0": "Murdoc's Magesmith" - } - }, - "NoRest": { - "type": "byte", - "value": 0 - }, - "OnEnter": { - "type": "resref", - "value": "" - }, - "OnExit": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "PlayerVsPlayer": { - "type": "byte", - "value": 3 - }, - "ResRef": { - "type": "resref", - "value": "magesmith" - }, - "ShadowOpacity": { - "type": "byte", - "value": 60 - }, - "SkyBox": { - "type": "byte", - "value": 0 - }, - "SunAmbientColor": { - "type": "dword", - "value": 0 - }, - "SunDiffuseColor": { - "type": "dword", - "value": 0 - }, - "SunFogAmount": { - "type": "byte", - "value": 0 - }, - "SunFogColor": { - "type": "dword", - "value": 0 - }, - "SunShadows": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "MAGESMITH" - }, - "Tile_List": { - "type": "list", - "value": [ - { - "__struct_id": 1, - "Tile_AnimLoop1": { - "type": "byte", - "value": 1 - }, - "Tile_AnimLoop2": { - "type": "byte", - "value": 1 - }, - "Tile_AnimLoop3": { - "type": "byte", - "value": 1 - }, - "Tile_Height": { - "type": "int", - "value": 0 - }, - "Tile_ID": { - "type": "int", - "value": 159 - }, - "Tile_MainLight1": { - "type": "byte", - "value": 30 - }, - "Tile_MainLight2": { - "type": "byte", - "value": 13 - }, - "Tile_Orientation": { - "type": "int", - "value": 2 - }, - "Tile_SrcLight1": { - "type": "byte", - "value": 3 - }, - "Tile_SrcLight2": { - "type": "byte", - "value": 3 - } - }, - { - "__struct_id": 1, - "Tile_AnimLoop1": { - "type": "byte", - "value": 1 - }, - "Tile_AnimLoop2": { - "type": "byte", - "value": 1 - }, - "Tile_AnimLoop3": { - "type": "byte", - "value": 1 - }, - "Tile_Height": { - "type": "int", - "value": 0 - }, - "Tile_ID": { - "type": "int", - "value": 75 - }, - "Tile_MainLight1": { - "type": "byte", - "value": 0 - }, - "Tile_MainLight2": { - "type": "byte", - "value": 13 - }, - "Tile_Orientation": { - "type": "int", - "value": 3 - }, - "Tile_SrcLight1": { - "type": "byte", - "value": 3 - }, - "Tile_SrcLight2": { - "type": "byte", - "value": 3 - } - }, - { - "__struct_id": 1, - "Tile_AnimLoop1": { - "type": "byte", - "value": 1 - }, - "Tile_AnimLoop2": { - "type": "byte", - "value": 1 - }, - "Tile_AnimLoop3": { - "type": "byte", - "value": 1 - }, - "Tile_Height": { - "type": "int", - "value": 0 - }, - "Tile_ID": { - "type": "int", - "value": 158 - }, - "Tile_MainLight1": { - "type": "byte", - "value": 0 - }, - "Tile_MainLight2": { - "type": "byte", - "value": 0 - }, - "Tile_Orientation": { - "type": "int", - "value": 1 - }, - "Tile_SrcLight1": { - "type": "byte", - "value": 3 - }, - "Tile_SrcLight2": { - "type": "byte", - "value": 3 - } - }, - { - "__struct_id": 1, - "Tile_AnimLoop1": { - "type": "byte", - "value": 1 - }, - "Tile_AnimLoop2": { - "type": "byte", - "value": 1 - }, - "Tile_AnimLoop3": { - "type": "byte", - "value": 1 - }, - "Tile_Height": { - "type": "int", - "value": 0 - }, - "Tile_ID": { - "type": "int", - "value": 158 - }, - "Tile_MainLight1": { - "type": "byte", - "value": 0 - }, - "Tile_MainLight2": { - "type": "byte", - "value": 0 - }, - "Tile_Orientation": { - "type": "int", - "value": 0 - }, - "Tile_SrcLight1": { - "type": "byte", - "value": 0 - }, - "Tile_SrcLight2": { - "type": "byte", - "value": 0 - } - } - ] - }, - "TileBrdrDisabled": { - "type": "byte", - "value": 0 - }, - "Tileset": { - "type": "resref", - "value": "tin01" - }, - "Version": { - "type": "dword", - "value": 14 - }, - "Width": { - "type": "int", - "value": 2 - }, - "WindPower": { - "type": "int", - "value": 0 - } -} diff --git a/_module/are/townofascension.are.json b/_module/are/townofascension.are.json index 2358ce6c..1d44c8c0 100644 --- a/_module/are/townofascension.are.json +++ b/_module/are/townofascension.are.json @@ -4860,7 +4860,7 @@ }, "Tile_ID": { "type": "int", - "value": 126 + "value": 129 }, "Tile_MainLight1": { "type": "byte", @@ -4872,7 +4872,7 @@ }, "Tile_Orientation": { "type": "int", - "value": 1 + "value": 0 }, "Tile_SrcLight1": { "type": "byte", @@ -4903,7 +4903,7 @@ }, "Tile_ID": { "type": "int", - "value": 233 + "value": 123 }, "Tile_MainLight1": { "type": "byte", @@ -4915,7 +4915,7 @@ }, "Tile_Orientation": { "type": "int", - "value": 1 + "value": 0 }, "Tile_SrcLight1": { "type": "byte", @@ -6357,7 +6357,7 @@ }, "Version": { "type": "dword", - "value": 516 + "value": 513 }, "Width": { "type": "int", diff --git a/_module/are/trespasserstaver.are.json b/_module/are/trespasserstaver.are.json index a78f74bd..5d0bbffa 100644 --- a/_module/are/trespasserstaver.are.json +++ b/_module/are/trespasserstaver.are.json @@ -1230,17 +1230,13 @@ } ] }, - "TileBrdrDisabled": { - "type": "byte", - "value": 0 - }, "Tileset": { "type": "resref", "value": "tin01" }, "Version": { "type": "dword", - "value": 210 + "value": 209 }, "Width": { "type": "int", diff --git a/_module/dlg/forge_journeyman.dlg.json b/_module/dlg/forge_journeyman.dlg.json deleted file mode 100644 index f09bbc1d..00000000 --- a/_module/dlg/forge_journeyman.dlg.json +++ /dev/null @@ -1,3583 +0,0 @@ -{ - "__data_type": "DLG ", - "DelayEntry": { - "type": "dword", - "value": 0 - }, - "DelayReply": { - "type": "dword", - "value": 0 - }, - "EndConverAbort": { - "type": "resref", - "value": "nw_walk_wp" - }, - "EndConversation": { - "type": "resref", - "value": "nw_walk_wp" - }, - "EntryList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 8 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 0 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Welcome, . Can I help you with reforging or breaking items today?" - } - } - }, - { - "__struct_id": 1, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 3 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 10 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 2 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "We're nearly ready to begin the process, . However, unlike the separation process, the merging will require additional energies to complete it. The cost in gold is worth it as you would have a guaranteed success, with a limit of 8 properties." - } - } - }, - { - "__struct_id": 2, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 4 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 2 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 10 - }, - "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": "The cost of the crafting looks like it'll run you gold. " - } - } - }, - { - "__struct_id": 3, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 8 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 0 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Script": { - "type": "resref", - "value": "forge_itemnorisk" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "As you wish...and it is done. Is there anything else I can do for you?" - } - } - }, - { - "__struct_id": 4, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 8 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "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'm sorry, you don't have enough gold. Is there something else I can help you with?" - } - } - }, - { - "__struct_id": 5, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 5 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "There is no item in the combine. Place an item there to begin, or this process is a waste of time." - } - } - }, - { - "__struct_id": 6, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 8 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "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": "Alright, what would you like to do?" - } - } - }, - { - "__struct_id": 7, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 6 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "There is no item on the . Place an item there to begin." - } - } - }, - { - "__struct_id": 8, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 8 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "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": "Alright, what would you like to do?" - } - } - }, - { - "__struct_id": 9, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 10 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 11 - }, - "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": "The items you've placed in the combine are not the right type of item. The items in the combine must match the forge type, and this forge only works on ." - } - } - }, - { - "__struct_id": 10, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 7 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 11 - }, - "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": "The item in the combine is a guardian upgrade type item. To strip such an item would allow those energies to escape. I cannot work on this." - } - } - }, - { - "__struct_id": 11, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 8 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "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": "Alright, what would you like to do?" - } - } - }, - { - "__struct_id": 12, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 10 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 11 - }, - "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": "The item you've placed on the is not the right type of item. This forge only works on ." - } - } - }, - { - "__struct_id": 13, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "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": "There is eight or more properties on this item. This item won't hold any more power. " - } - } - }, - { - "__struct_id": 14, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "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 cannot manipulate this item. I can only break down items that are not handmade.[Dropped Coloured Items Only.]" - } - } - }, - { - "__struct_id": 15, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 9 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 11 - }, - "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": "The item in the is a guardian upgrade type item. To strip such an item would allow those energies to escape. I cannot work on this." - } - } - }, - { - "__struct_id": 16, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 8 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "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": "Alright, what would you like to do?" - } - } - }, - { - "__struct_id": 17, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 10 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 11 - }, - "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": "The item you've placed on the is not the right type of item. This forge only works on ." - } - } - }, - { - "__struct_id": 18, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 10 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 11 - }, - "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 cannot manipulate this item. I can only break down items that are not handmade.[Dropped Coloured Items Only.]" - } - } - }, - { - "__struct_id": 19, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 8 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "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": "Alright, what would you like to do?" - } - } - }, - { - "__struct_id": 20, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 12 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 11 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 10 - }, - "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": "Alright, we can separate the weaves in the item. This will remove all properties from the item and store them individually on special crafting items. You may take the crafting items from the Combine when it is done." - } - } - }, - { - "__struct_id": 21, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 8 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "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": "That's done. Is there anything else right now?" - } - } - }, - { - "__struct_id": 22, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 13 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "There is no item on the . Place an item there to begin." - } - } - }, - { - "__struct_id": 23, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 8 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "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": "Alright, what would you like to do?" - } - } - }, - { - "__struct_id": 24, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "I am not doing business with you." - } - } - } - ] - }, - "NumWords": { - "type": "dword", - "value": 488 - }, - "PreventZoomIn": { - "type": "byte", - "value": 0 - }, - "ReplyList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Nothing for now.[Leave]" - } - } - }, - { - "__struct_id": 1, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "chk_prop_eight" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 13 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "forge_splitcheck" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 12 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "forge_fulmstrip" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 10 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "forge_mergecheck" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 9 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "forge_validcheck" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 7 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 5, - "Active": { - "type": "resref", - "value": "forge_combinechk" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 5 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 6, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "forge_custtokens" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "I want to reforge properties into an item.[Merge Item Properties]" - } - } - }, - { - "__struct_id": 2, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "I've changed my mind. Goodbye." - } - } - }, - { - "__struct_id": 3, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 2 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "forge_hicostcalc" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Lets begin." - } - } - }, - { - "__struct_id": 4, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "forge_chkpockets" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 4 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 3 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Yes, let's do it." - } - } - }, - { - "__struct_id": 5, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 6 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Let's try this again." - } - } - }, - { - "__struct_id": 6, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 8 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Let's try this again." - } - } - }, - { - "__struct_id": 7, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 11 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Let's try something else." - } - } - }, - { - "__struct_id": 8, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "forge_validcheck" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 22 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "forge_sdcheck" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 20 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "forge_guildcheck" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 18 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "forge_splitcheck" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 17 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "forge_fulmcheck" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 15 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 5, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 14 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "forge_custtokens" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "I want to break an item into its component abilities.[Break Down Items Into Transferable Properties.]" - } - } - }, - { - "__struct_id": 9, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 16 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Let's try something else." - } - } - }, - { - "__struct_id": 10, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 19 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Let's try something else." - } - } - }, - { - "__struct_id": 11, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "I've changed my mind. Goodbye." - } - } - }, - { - "__struct_id": 12, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 21 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "forge_itemsplit" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Yes, let's do it." - } - } - }, - { - "__struct_id": 13, - "ActionParams": { - "type": "list", - "value": [] - }, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 23 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Let's try this again." - } - } - } - ] - }, - "StartingList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "skullkeep_badchk" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 24 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "ConditionParams": { - "type": "list", - "value": [] - }, - "Index": { - "type": "dword", - "value": 0 - } - } - ] - } -} diff --git a/_module/gic/magesmith.gic.json b/_module/gic/magesmith.gic.json deleted file mode 100644 index db0f4fbe..00000000 --- a/_module/gic/magesmith.gic.json +++ /dev/null @@ -1,372 +0,0 @@ -{ - "__data_type": "GIC ", - "Creature List": { - "type": "list", - "value": [ - { - "__struct_id": 4, - "Comment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Door List": { - "type": "list", - "value": [ - { - "__struct_id": 8, - "Comment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Encounter List": { - "type": "list", - "value": [] - }, - "List": { - "type": "list", - "value": [] - }, - "Placeable List": { - "type": "list", - "value": [ - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Anvil required for custom item crafting. " - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Gnomish Contraption / Engine" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Chair" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Chair" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Chair" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Shield Rack" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Throw Rug" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Keg" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Throw Rug" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Couch" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "\r\n" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Footstool" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Wood Burning Oven" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Potted Plant" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Tome" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Stool" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Urn" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Sphinx Statue" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Bear Skin Rug 1" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Bed - Cot" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Anvil" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Alchemist's Apparatus" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Arcane Disposal System" - } - } - ] - }, - "SoundList": { - "type": "list", - "value": [] - }, - "StoreList": { - "type": "list", - "value": [] - }, - "TriggerList": { - "type": "list", - "value": [] - }, - "WaypointList": { - "type": "list", - "value": [ - { - "__struct_id": 5, - "Comment": { - "type": "cexostring", - "value": "This is a waypoint that can be placed in an interior area to mark it as a shop. This will affect the animations and behavior of NPCs using the PlayAmbientAnimations functions (see the OnSpawn script nw_c2_default9 and the library x0_i0_anims for details). \r\n\r\nNote that this feature will only work in modules that use the XP1 modified AI. " - } - } - ] - } -} diff --git a/_module/gic/townofascension.gic.json b/_module/gic/townofascension.gic.json index 7d4d0da1..4234f4a5 100644 --- a/_module/gic/townofascension.gic.json +++ b/_module/gic/townofascension.gic.json @@ -146,13 +146,6 @@ "type": "cexostring", "value": "This door is special, you must open the script in the OnFailToOpen an edit it to place the tagname for the key required to open this door. If you do it right, this door will auotmatically open if the PC has the key, otherwise it will tell them a specific key is needed to open the door.\r\n\r\nThis door automatically shuts and locks itself after a few seconds." } - }, - { - "__struct_id": 8, - "Comment": { - "type": "cexostring", - "value": "Fancy Door" - } } ] }, @@ -509,342 +502,6 @@ "type": "cexostring", "value": "Shaft of Light - Blue" } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Anvil" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Hay Bundle" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Hay Bundle" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Hay Bundle" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Pump" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Wheelbarrow" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Throw Rug" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Boulder" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Dead Tree" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Dirt Patch" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Fern" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Fern" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Dirt Patch" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Moss" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Stone patch" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Tree - Normal" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Magic Sparks - Red" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Magical Smoke" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Magical Smoke" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Magical Smoke" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Mist on the ground." - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Magical Smoke" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Woodpile" - } - }, - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Woodpile" - } } ] }, @@ -1543,13 +1200,6 @@ "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": { - "type": "cexostring", - "value": "On the Advanced tab, replace with whatever information you wish to appear on the Map of an area." - } } ] } diff --git a/_module/git/abyss.git.json b/_module/git/abyss.git.json index 04476fed..d39a2b09 100644 --- a/_module/git/abyss.git.json +++ b/_module/git/abyss.git.json @@ -346,7 +346,7 @@ }, "Orientation": { "type": "float", - "value": -3.141566038131714 + "value": -3.141565561294556 }, "X": { "type": "float", @@ -10202,7 +10202,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141566038131714 + "value": -3.141565561294556 }, "X": { "type": "float", diff --git a/_module/git/anduinschapel.git.json b/_module/git/anduinschapel.git.json index 511125cd..c55dcb09 100644 --- a/_module/git/anduinschapel.git.json +++ b/_module/git/anduinschapel.git.json @@ -3350,7 +3350,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092489719390869 + "value": -3.092489242553711 }, "X": { "type": "float", @@ -3998,7 +3998,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.748879194259644 + "value": 2.748878717422485 }, "X": { "type": "float", @@ -4616,7 +4616,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.914399266242981 + "value": 1.914399027824402 }, "X": { "type": "float", @@ -4822,7 +4822,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092489719390869 + "value": -3.092489242553711 }, "X": { "type": "float", diff --git a/_module/git/area001.git.json b/_module/git/area001.git.json index c90dc9d2..dd133fc7 100644 --- a/_module/git/area001.git.json +++ b/_module/git/area001.git.json @@ -2156,7 +2156,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.748879671096802 + "value": 2.748879194259644 }, "X": { "type": "float", @@ -2568,7 +2568,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.650704383850098 + "value": 2.65070390701294 }, "X": { "type": "float", @@ -3392,7 +3392,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 0.9326564073562622 + "value": 0.9326561689376831 }, "X": { "type": "float", diff --git a/_module/git/area002.git.json b/_module/git/area002.git.json index ca5f449a..e5ffa649 100644 --- a/_module/git/area002.git.json +++ b/_module/git/area002.git.json @@ -3330,7 +3330,7 @@ }, "Orientation": { "type": "float", - "value": -3.141576528549194 + "value": -3.141576051712036 }, "X": { "type": "float", @@ -4522,7 +4522,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.748446010196858e-007 + "value": 1.748445725979764e-007 }, "X": { "type": "float", diff --git a/_module/git/ascensionsewer.git.json b/_module/git/ascensionsewer.git.json index 0106e41b..4a432303 100644 --- a/_module/git/ascensionsewer.git.json +++ b/_module/git/ascensionsewer.git.json @@ -2957,7 +2957,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092489719390869 + "value": -3.092489242553711 }, "X": { "type": "float", @@ -3182,7 +3182,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092489242553711 + "value": 3.092488765716553 }, "X": { "type": "float", @@ -5267,7 +5267,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092489242553711 + "value": 3.092488765716553 }, "X": { "type": "float", @@ -5815,7 +5815,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092489719390869 + "value": -3.092489242553711 }, "X": { "type": "float", diff --git a/_module/git/banditcamp.git.json b/_module/git/banditcamp.git.json index 17b1df71..59e6afe7 100644 --- a/_module/git/banditcamp.git.json +++ b/_module/git/banditcamp.git.json @@ -905,7 +905,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.914399027824402 + "value": 1.914398789405823 }, "X": { "type": "float", @@ -1111,7 +1111,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.043401718139648 + "value": 3.043401479721069 }, "X": { "type": "float", diff --git a/_module/git/boatramp.git.json b/_module/git/boatramp.git.json index 7213ba65..a51a50c4 100644 --- a/_module/git/boatramp.git.json +++ b/_module/git/boatramp.git.json @@ -1412,7 +1412,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.994313955307007 + "value": 2.994313478469849 }, "X": { "type": "float", diff --git a/_module/git/bugbearcave.git.json b/_module/git/bugbearcave.git.json index 0a219fb4..ba22f142 100644 --- a/_module/git/bugbearcave.git.json +++ b/_module/git/bugbearcave.git.json @@ -2102,7 +2102,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.748879194259644 + "value": 2.748878717422485 }, "X": { "type": "float", @@ -3146,7 +3146,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.141576528549194 + "value": 3.141576051712036 }, "X": { "type": "float", @@ -3390,7 +3390,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092489242553711 + "value": 3.092488765716553 }, "X": { "type": "float", diff --git a/_module/git/cave002.git.json b/_module/git/cave002.git.json index 52a7ae1b..cd02ced8 100644 --- a/_module/git/cave002.git.json +++ b/_module/git/cave002.git.json @@ -953,7 +953,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.748877763748169 + "value": -2.748877286911011 }, "X": { "type": "float", @@ -1654,7 +1654,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.043400049209595 + "value": -3.043399572372437 }, "X": { "type": "float", @@ -2733,7 +2733,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.748877286911011 + "value": -2.748876810073853 }, "X": { "type": "float", @@ -2939,7 +2939,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.797963857650757 + "value": -2.797963380813599 }, "X": { "type": "float", @@ -3145,7 +3145,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.896137714385986 + "value": 2.896137475967407 }, "X": { "type": "float", diff --git a/_module/git/cave1.git.json b/_module/git/cave1.git.json index d5225978..49e3a545 100644 --- a/_module/git/cave1.git.json +++ b/_module/git/cave1.git.json @@ -473,7 +473,7 @@ }, "Orientation": { "type": "float", - "value": -3.141576528549194 + "value": -3.141576051712036 }, "X": { "type": "float", @@ -496,7 +496,7 @@ }, "Orientation": { "type": "float", - "value": 0.3926975429058075 + "value": 0.3926974534988403 }, "X": { "type": "float", @@ -1455,7 +1455,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -1.963485956192017 + "value": -1.963485717773438 }, "X": { "type": "float", diff --git a/_module/git/cavernsofstench.git.json b/_module/git/cavernsofstench.git.json index 81a330b7..12e95805 100644 --- a/_module/git/cavernsofstench.git.json +++ b/_module/git/cavernsofstench.git.json @@ -1405,7 +1405,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.791688323020935 + "value": 1.791688084602356 }, "X": { "type": "float", diff --git a/_module/git/cavernsofunderda.git.json b/_module/git/cavernsofunderda.git.json index 05581395..57e635b4 100644 --- a/_module/git/cavernsofunderda.git.json +++ b/_module/git/cavernsofunderda.git.json @@ -1608,7 +1608,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.6381351947784424 + "value": -0.6381351351737976 }, "X": { "type": "float", @@ -3410,7 +3410,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 0.1963492780923843 + "value": 0.1963492631912231 }, "X": { "type": "float", diff --git a/_module/git/cavetrolllair.git.json b/_module/git/cavetrolllair.git.json index cd2af608..a553a9dd 100644 --- a/_module/git/cavetrolllair.git.json +++ b/_module/git/cavetrolllair.git.json @@ -4155,7 +4155,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.963485956192017 + "value": 1.963485717773438 }, "X": { "type": "float", @@ -5009,7 +5009,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092488765716553 + "value": 3.092488288879395 }, "X": { "type": "float", diff --git a/_module/git/cellar2.git.json b/_module/git/cellar2.git.json index 0a09b3ea..2464ccec 100644 --- a/_module/git/cellar2.git.json +++ b/_module/git/cellar2.git.json @@ -1363,7 +1363,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.552539587020874 + "value": 2.552539348602295 }, "X": { "type": "float", @@ -1910,7 +1910,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.577083110809326 + "value": -2.577082633972168 }, "X": { "type": "float", diff --git a/_module/git/deepcaverns.git.json b/_module/git/deepcaverns.git.json index 1c7bc1b4..de0397f3 100644 --- a/_module/git/deepcaverns.git.json +++ b/_module/git/deepcaverns.git.json @@ -2376,7 +2376,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.117044925689697 + "value": -3.117044448852539 }, "X": { "type": "float", diff --git a/_module/git/deepdungeonofdes.git.json b/_module/git/deepdungeonofdes.git.json index 23074e65..005e55db 100644 --- a/_module/git/deepdungeonofdes.git.json +++ b/_module/git/deepdungeonofdes.git.json @@ -304,7 +304,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", @@ -1194,7 +1194,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", @@ -1400,7 +1400,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", @@ -1606,7 +1606,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", @@ -1812,7 +1812,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", @@ -2224,7 +2224,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", @@ -2460,7 +2460,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", diff --git a/_module/git/dreadcavern.git.json b/_module/git/dreadcavern.git.json index a0c270e8..52e0e0e4 100644 --- a/_module/git/dreadcavern.git.json +++ b/_module/git/dreadcavern.git.json @@ -714,7 +714,7 @@ }, "Orientation": { "type": "float", - "value": -3.141577482223511 + "value": -3.141577005386353 }, "X": { "type": "float", @@ -1193,7 +1193,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.896140336990356 + "value": -2.896140098571777 }, "X": { "type": "float", @@ -1868,7 +1868,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092490434646606 + "value": -3.092490196228027 }, "X": { "type": "float", @@ -2486,7 +2486,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141577482223511 + "value": -3.141577005386353 }, "X": { "type": "float", @@ -2692,7 +2692,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092490196228027 + "value": 3.092489719390869 }, "X": { "type": "float", @@ -2898,7 +2898,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.91439962387085 + "value": 1.914399385452271 }, "X": { "type": "float", @@ -3310,7 +3310,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.81622576713562 + "value": 1.816225528717041 }, "X": { "type": "float", @@ -3775,7 +3775,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.994315385818481 + "value": 2.994315147399902 }, "X": { "type": "float", @@ -3981,7 +3981,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141577482223511 + "value": -3.141577005386353 }, "X": { "type": "float", @@ -4644,7 +4644,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.748881340026856 + "value": -2.748881101608276 }, "X": { "type": "float", @@ -5146,7 +5146,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.99431586265564 + "value": -2.994315385818481 }, "X": { "type": "float", diff --git a/_module/git/drowarcaneacadem.git.json b/_module/git/drowarcaneacadem.git.json index ca8f5fef..da154aec 100644 --- a/_module/git/drowarcaneacadem.git.json +++ b/_module/git/drowarcaneacadem.git.json @@ -7439,7 +7439,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.994326829910278 + "value": -2.994326591491699 }, "X": { "type": "float", diff --git a/_module/git/drowsewers.git.json b/_module/git/drowsewers.git.json index 01382ef2..e8c7bb96 100644 --- a/_module/git/drowsewers.git.json +++ b/_module/git/drowsewers.git.json @@ -2765,7 +2765,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.043401002883911 + "value": 3.043400526046753 }, "X": { "type": "float", @@ -5002,7 +5002,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.896138429641724 + "value": 2.896137952804565 }, "X": { "type": "float", @@ -5523,7 +5523,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.847051620483398 + "value": -2.847051382064819 }, "X": { "type": "float", @@ -8246,7 +8246,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.847051382064819 + "value": 2.84705114364624 }, "X": { "type": "float", diff --git a/_module/git/drowslum.git.json b/_module/git/drowslum.git.json index 44115da3..5d1287f6 100644 --- a/_module/git/drowslum.git.json +++ b/_module/git/drowslum.git.json @@ -809,7 +809,7 @@ }, "Orientation": { "type": "float", - "value": -3.141579866409302 + "value": -3.141579389572144 }, "X": { "type": "float", @@ -1170,7 +1170,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141579866409302 + "value": -3.141579389572144 }, "X": { "type": "float", @@ -1568,7 +1568,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.896142959594727 + "value": 2.896142482757568 }, "X": { "type": "float", @@ -1606,7 +1606,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.994317770004273 + "value": 2.994317531585693 }, "X": { "type": "float", @@ -2496,7 +2496,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092492580413818 + "value": 3.092492341995239 }, "X": { "type": "float", diff --git a/_module/git/drowslum002.git.json b/_module/git/drowslum002.git.json index 47e150bb..979f2396 100644 --- a/_module/git/drowslum002.git.json +++ b/_module/git/drowslum002.git.json @@ -1027,7 +1027,7 @@ }, "Orientation": { "type": "float", - "value": -3.141579151153565 + "value": -3.141578912734985 }, "X": { "type": "float", @@ -1388,7 +1388,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141579151153565 + "value": -3.141578912734985 }, "X": { "type": "float", @@ -1786,7 +1786,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.896142244338989 + "value": 2.896141767501831 }, "X": { "type": "float", @@ -1824,7 +1824,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.994317293167114 + "value": 2.994316816329956 }, "X": { "type": "float", @@ -2714,7 +2714,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092491865158081 + "value": 3.092491388320923 }, "X": { "type": "float", diff --git a/_module/git/drowslum003.git.json b/_module/git/drowslum003.git.json index 05ba93ac..afc31a6a 100644 --- a/_module/git/drowslum003.git.json +++ b/_module/git/drowslum003.git.json @@ -809,7 +809,7 @@ }, "Orientation": { "type": "float", - "value": -3.14158034324646 + "value": -3.141579866409302 }, "X": { "type": "float", @@ -1170,7 +1170,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.14158034324646 + "value": -3.141579866409302 }, "X": { "type": "float", @@ -1568,7 +1568,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.896143436431885 + "value": 2.896142959594727 }, "X": { "type": "float", @@ -1606,7 +1606,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.994318246841431 + "value": 2.994317770004273 }, "X": { "type": "float", @@ -2496,7 +2496,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092492818832398 + "value": 3.092492580413818 }, "X": { "type": "float", diff --git a/_module/git/dungeonsofdispai.git.json b/_module/git/dungeonsofdispai.git.json index 3ab3e387..e3318a3a 100644 --- a/_module/git/dungeonsofdispai.git.json +++ b/_module/git/dungeonsofdispai.git.json @@ -525,7 +525,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", @@ -751,7 +751,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", @@ -972,7 +972,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", @@ -1223,7 +1223,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", @@ -1504,7 +1504,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", @@ -1755,7 +1755,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", @@ -2006,7 +2006,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", @@ -2242,7 +2242,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", diff --git a/_module/git/dustycrypt.git.json b/_module/git/dustycrypt.git.json index 8487ff5c..f9694111 100644 --- a/_module/git/dustycrypt.git.json +++ b/_module/git/dustycrypt.git.json @@ -578,7 +578,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 0.9817441701889038 + "value": 0.9817440509796143 }, "X": { "type": "float", @@ -597,7 +597,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.14158034324646 + "value": -3.141579866409302 }, "X": { "type": "float", diff --git a/_module/git/giantslair.git.json b/_module/git/giantslair.git.json index ef148bbb..111fcd93 100644 --- a/_module/git/giantslair.git.json +++ b/_module/git/giantslair.git.json @@ -1146,7 +1146,7 @@ }, "Orientation": { "type": "float", - "value": 2.847054719924927 + "value": 2.847054243087769 }, "X": { "type": "float", @@ -1974,7 +1974,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.945229530334473 + "value": -2.945229053497315 }, "X": { "type": "float", @@ -2592,7 +2592,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141578912734985 + "value": -3.141578435897827 }, "X": { "type": "float", diff --git a/_module/git/gloomywoods.git.json b/_module/git/gloomywoods.git.json index 39ece44a..67944039 100644 --- a/_module/git/gloomywoods.git.json +++ b/_module/git/gloomywoods.git.json @@ -1123,7 +1123,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.14158034324646 + "value": -3.141579866409302 }, "X": { "type": "float", @@ -1786,7 +1786,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.043406009674072 + "value": 3.043405532836914 }, "X": { "type": "float", @@ -2198,7 +2198,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.896143436431885 + "value": 2.896142959594727 }, "X": { "type": "float", diff --git a/_module/git/goblincamp.git.json b/_module/git/goblincamp.git.json index 49197b39..62fbf523 100644 --- a/_module/git/goblincamp.git.json +++ b/_module/git/goblincamp.git.json @@ -1344,7 +1344,7 @@ }, "Orientation": { "type": "float", - "value": -2.994314432144165 + "value": -2.994313955307007 }, "X": { "type": "float", @@ -2177,7 +2177,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.748446294413952e-007 + "value": 1.748446010196858e-007 }, "X": { "type": "float", @@ -2492,7 +2492,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.748446294413952e-007 + "value": 1.748446010196858e-007 }, "X": { "type": "float", @@ -2728,7 +2728,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092489242553711 + "value": -3.092488765716553 }, "X": { "type": "float", @@ -3197,7 +3197,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092489242553711 + "value": -3.092488765716553 }, "X": { "type": "float", diff --git a/_module/git/goblinden.git.json b/_module/git/goblinden.git.json index 9d6ad470..ea78fe86 100644 --- a/_module/git/goblinden.git.json +++ b/_module/git/goblinden.git.json @@ -506,7 +506,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092493772506714 + "value": -3.092493295669556 }, "X": { "type": "float", @@ -712,7 +712,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.994319200515747 + "value": -2.994318723678589 }, "X": { "type": "float", diff --git a/_module/git/hallofstatues.git.json b/_module/git/hallofstatues.git.json index 36d690c4..3d71f2b8 100644 --- a/_module/git/hallofstatues.git.json +++ b/_module/git/hallofstatues.git.json @@ -685,7 +685,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092490911483765 + "value": -3.092490434646606 }, "X": { "type": "float", @@ -891,7 +891,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092490434646606 + "value": 3.092490196228027 }, "X": { "type": "float", @@ -1097,7 +1097,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141577959060669 + "value": -3.141577482223511 }, "X": { "type": "float", @@ -1303,7 +1303,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.043403625488281 + "value": -3.043403148651123 }, "X": { "type": "float", @@ -1583,7 +1583,7 @@ }, "CR": { "type": "float", - "value": 16.0 + "value": 15.0 }, "ResRef": { "type": "resref", diff --git a/_module/git/hallsofdeath.git.json b/_module/git/hallsofdeath.git.json index 7a038ec1..20226495 100644 --- a/_module/git/hallsofdeath.git.json +++ b/_module/git/hallsofdeath.git.json @@ -5278,7 +5278,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 0.8344848155975342 + "value": 0.8344846963882446 }, "X": { "type": "float", @@ -6031,7 +6031,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.018871068954468 + "value": -3.018870830535889 }, "X": { "type": "float", @@ -6282,7 +6282,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.117046117782593 + "value": -3.117045879364014 }, "X": { "type": "float", diff --git a/_module/git/hell.git.json b/_module/git/hell.git.json index 491667dc..3c812498 100644 --- a/_module/git/hell.git.json +++ b/_module/git/hell.git.json @@ -255,7 +255,7 @@ }, "Orientation": { "type": "float", - "value": -3.141578435897827 + "value": -3.141577959060669 }, "X": { "type": "float", @@ -462,7 +462,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141578435897827 + "value": -3.141577959060669 }, "X": { "type": "float", @@ -669,7 +669,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141578435897827 + "value": -3.141577959060669 }, "X": { "type": "float", @@ -876,7 +876,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141578435897827 + "value": -3.141577959060669 }, "X": { "type": "float", @@ -1083,7 +1083,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141578435897827 + "value": -3.141577959060669 }, "X": { "type": "float", @@ -1290,7 +1290,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141578435897827 + "value": -3.141577959060669 }, "X": { "type": "float", @@ -1497,7 +1497,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141578435897827 + "value": -3.141577959060669 }, "X": { "type": "float", @@ -1689,7 +1689,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141578435897827 + "value": -3.141577959060669 }, "X": { "type": "float", diff --git a/_module/git/hobgoblinmines.git.json b/_module/git/hobgoblinmines.git.json index 00fc244c..f9a4e751 100644 --- a/_module/git/hobgoblinmines.git.json +++ b/_module/git/hobgoblinmines.git.json @@ -473,7 +473,7 @@ }, "Orientation": { "type": "float", - "value": -3.141577482223511 + "value": -3.141577005386353 }, "X": { "type": "float", @@ -695,7 +695,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.945228576660156 + "value": -2.945228099822998 }, "X": { "type": "float", @@ -1092,7 +1092,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.945228576660156 + "value": -2.945228099822998 }, "X": { "type": "float", @@ -1785,7 +1785,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.141577482223511 + "value": 3.141577005386353 }, "X": { "type": "float", @@ -1976,7 +1976,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.74888014793396 + "value": -2.748879671096802 }, "X": { "type": "float", @@ -2167,7 +2167,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.74888014793396 + "value": -2.748879671096802 }, "X": { "type": "float", @@ -2358,7 +2358,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141577482223511 + "value": -3.141577005386353 }, "X": { "type": "float", diff --git a/_module/git/housedenat.git.json b/_module/git/housedenat.git.json index 7ec7b837..73ce8585 100644 --- a/_module/git/housedenat.git.json +++ b/_module/git/housedenat.git.json @@ -1232,7 +1232,7 @@ }, "Orientation": { "type": "float", - "value": -3.141577005386353 + "value": -3.141576766967773 }, "X": { "type": "float", @@ -1949,7 +1949,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141577005386353 + "value": -3.141576766967773 }, "X": { "type": "float", @@ -2140,7 +2140,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.1963489353656769 + "value": -0.1963489055633545 }, "X": { "type": "float", @@ -2346,7 +2346,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.748446578631047e-007 + "value": 1.748446294413952e-007 }, "X": { "type": "float", @@ -2666,7 +2666,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141577005386353 + "value": -3.141576766967773 }, "X": { "type": "float", @@ -2929,7 +2929,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.04908663034439087 + "value": -0.04908662289381027 }, "X": { "type": "float", @@ -3569,7 +3569,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.4908718466758728 + "value": -0.490871787071228 }, "X": { "type": "float", @@ -3813,7 +3813,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141577005386353 + "value": -3.141576766967773 }, "X": { "type": "float", @@ -3832,7 +3832,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141577005386353 + "value": -3.141576766967773 }, "X": { "type": "float", @@ -4282,7 +4282,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.04908663034439087 + "value": -0.04908662289381027 }, "X": { "type": "float", @@ -4526,7 +4526,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.748446578631047e-007 + "value": 1.748446294413952e-007 }, "X": { "type": "float", @@ -4800,7 +4800,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141577005386353 + "value": -3.141576766967773 }, "X": { "type": "float", @@ -5618,7 +5618,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.4908718466758728 + "value": -0.490871787071228 }, "X": { "type": "float", @@ -6391,7 +6391,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141577005386353 + "value": -3.141576766967773 }, "X": { "type": "float", @@ -6818,7 +6818,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141577005386353 + "value": -3.141576766967773 }, "X": { "type": "float", @@ -7344,7 +7344,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.04908663034439087 + "value": -0.04908662289381027 }, "X": { "type": "float", diff --git a/_module/git/housefenliss.git.json b/_module/git/housefenliss.git.json index 8bb10bad..6399dbda 100644 --- a/_module/git/housefenliss.git.json +++ b/_module/git/housefenliss.git.json @@ -475,7 +475,7 @@ }, "Orientation": { "type": "float", - "value": 3.043401479721069 + "value": 3.043401002883911 }, "X": { "type": "float", @@ -2106,7 +2106,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.945226430892944 + "value": 2.945226192474365 }, "X": { "type": "float", @@ -2312,7 +2312,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141576051712036 + "value": -3.141575574874878 }, "X": { "type": "float", @@ -2613,7 +2613,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.748878479003906 + "value": 2.748878240585327 }, "X": { "type": "float", @@ -2895,7 +2895,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092488765716553 + "value": 3.092488288879395 }, "X": { "type": "float", @@ -3196,7 +3196,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.89613938331604 + "value": 2.896138906478882 }, "X": { "type": "float", @@ -4042,7 +4042,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.043401479721069 + "value": 3.043401002883911 }, "X": { "type": "float", @@ -4267,7 +4267,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092489242553711 + "value": -3.092488765716553 }, "X": { "type": "float", @@ -4511,7 +4511,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141576051712036 + "value": -3.141575574874878 }, "X": { "type": "float", @@ -4807,7 +4807,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.748878479003906 + "value": 2.748878240585327 }, "X": { "type": "float", @@ -5926,7 +5926,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.945226430892944 + "value": 2.945226192474365 }, "X": { "type": "float", @@ -6132,7 +6132,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092488765716553 + "value": 3.092488288879395 }, "X": { "type": "float", diff --git a/_module/git/koboldglade.git.json b/_module/git/koboldglade.git.json index 194db428..b9e07562 100644 --- a/_module/git/koboldglade.git.json +++ b/_module/git/koboldglade.git.json @@ -2522,7 +2522,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.816226482391357 + "value": 1.816226243972778 }, "X": { "type": "float", @@ -3048,7 +3048,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.914400339126587 + "value": 1.914400219917297 }, "X": { "type": "float", diff --git a/_module/git/koboldhill.git.json b/_module/git/koboldhill.git.json index 53b38887..600ae821 100644 --- a/_module/git/koboldhill.git.json +++ b/_module/git/koboldhill.git.json @@ -695,7 +695,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.748883008956909 + "value": 2.74888277053833 }, "X": { "type": "float", @@ -1961,7 +1961,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.945231199264526 + "value": 2.945230960845947 }, "X": { "type": "float", diff --git a/_module/git/lokishall.git.json b/_module/git/lokishall.git.json index c85e354f..bcbda42c 100644 --- a/_module/git/lokishall.git.json +++ b/_module/git/lokishall.git.json @@ -516,7 +516,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141579151153565 + "value": -3.141578912734985 }, "X": { "type": "float", @@ -1643,7 +1643,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", diff --git a/_module/git/lower_catacombs.git.json b/_module/git/lower_catacombs.git.json index aeb1d4bb..a26a4477 100644 --- a/_module/git/lower_catacombs.git.json +++ b/_module/git/lower_catacombs.git.json @@ -1467,7 +1467,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092487812042236 + "value": -3.092487335205078 }, "X": { "type": "float", @@ -1505,7 +1505,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 0.9817425608634949 + "value": 0.9817424416542053 }, "X": { "type": "float", @@ -2294,7 +2294,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.896137714385986 + "value": -2.896137475967407 }, "X": { "type": "float", @@ -2839,7 +2839,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.043400049209595 + "value": 3.043399572372437 }, "X": { "type": "float", @@ -3399,7 +3399,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141574621200562 + "value": -3.141574382781982 }, "X": { "type": "float", @@ -3662,7 +3662,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.896137714385986 + "value": 2.896137475967407 }, "X": { "type": "float", diff --git a/_module/git/magesmith.git.json b/_module/git/magesmith.git.json deleted file mode 100644 index 38eedac3..00000000 --- a/_module/git/magesmith.git.json +++ /dev/null @@ -1,11635 +0,0 @@ -{ - "__data_type": "GIT ", - "AreaProperties": { - "__struct_id": 100, - "type": "struct", - "value": { - "__struct_id": 100, - "AmbientSndDay": { - "type": "int", - "value": 82 - }, - "AmbientSndDayVol": { - "type": "int", - "value": 67 - }, - "AmbientSndNight": { - "type": "int", - "value": 82 - }, - "AmbientSndNitVol": { - "type": "int", - "value": 36 - }, - "EnvAudio": { - "type": "int", - "value": 2 - }, - "MusicBattle": { - "type": "int", - "value": 40 - }, - "MusicDay": { - "type": "int", - "value": 25 - }, - "MusicDelay": { - "type": "int", - "value": 45000 - }, - "MusicNight": { - "type": "int", - "value": 25 - } - } - }, - "Creature List": { - "type": "list", - "value": [ - { - "__struct_id": 4, - "Appearance_Head": { - "type": "byte", - "value": 11 - }, - "Appearance_Type": { - "type": "word", - "value": 0 - }, - "ArmorPart_RFoot": { - "type": "byte", - "value": 1 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "BodyPart_Belt": { - "type": "byte", - "value": 0 - }, - "BodyPart_LBicep": { - "type": "byte", - "value": 1 - }, - "BodyPart_LFArm": { - "type": "byte", - "value": 1 - }, - "BodyPart_LFoot": { - "type": "byte", - "value": 1 - }, - "BodyPart_LHand": { - "type": "byte", - "value": 1 - }, - "BodyPart_LShin": { - "type": "byte", - "value": 1 - }, - "BodyPart_LShoul": { - "type": "byte", - "value": 0 - }, - "BodyPart_LThigh": { - "type": "byte", - "value": 1 - }, - "BodyPart_Neck": { - "type": "byte", - "value": 1 - }, - "BodyPart_Pelvis": { - "type": "byte", - "value": 1 - }, - "BodyPart_RBicep": { - "type": "byte", - "value": 1 - }, - "BodyPart_RFArm": { - "type": "byte", - "value": 1 - }, - "BodyPart_RHand": { - "type": "byte", - "value": 1 - }, - "BodyPart_RShin": { - "type": "byte", - "value": 2 - }, - "BodyPart_RShoul": { - "type": "byte", - "value": 0 - }, - "BodyPart_RThigh": { - "type": "byte", - "value": 1 - }, - "BodyPart_Torso": { - "type": "byte", - "value": 1 - }, - "Cha": { - "type": "byte", - "value": 9 - }, - "ChallengeRating": { - "type": "float", - "value": 2.0 - }, - "ClassList": { - "type": "list", - "value": [ - { - "__struct_id": 2, - "Class": { - "type": "int", - "value": 4 - }, - "ClassLevel": { - "type": "short", - "value": 3 - } - } - ] - }, - "Color_Hair": { - "type": "byte", - "value": 18 - }, - "Color_Skin": { - "type": "byte", - "value": 4 - }, - "Color_Tattoo1": { - "type": "byte", - "value": 1 - }, - "Color_Tattoo2": { - "type": "byte", - "value": 1 - }, - "Con": { - "type": "byte", - "value": 16 - }, - "Conversation": { - "type": "resref", - "value": "forge_journeyman" - }, - "CRAdjust": { - "type": "int", - "value": 0 - }, - "CurrentHitPoints": { - "type": "short", - "value": 21 - }, - "DecayTime": { - "type": "dword", - "value": 5000 - }, - "Deity": { - "type": "cexostring", - "value": "" - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "This swarth dwarf carries himself with the confidence of a master of their craft." - } - }, - "Dex": { - "type": "byte", - "value": 13 - }, - "Disarmable": { - "type": "byte", - "value": 0 - }, - "Equip_ItemList": { - "type": "list", - "value": [ - { - "__struct_id": 2, - "AddCost": { - "type": "dword", - "value": 0 - }, - "ArmorPart_Belt": { - "type": "byte", - "value": 0 - }, - "ArmorPart_LBicep": { - "type": "byte", - "value": 5 - }, - "ArmorPart_LFArm": { - "type": "byte", - "value": 13 - }, - "ArmorPart_LFoot": { - "type": "byte", - "value": 6 - }, - "ArmorPart_LHand": { - "type": "byte", - "value": 4 - }, - "ArmorPart_LShin": { - "type": "byte", - "value": 1 - }, - "ArmorPart_LShoul": { - "type": "byte", - "value": 22 - }, - "ArmorPart_LThigh": { - "type": "byte", - "value": 12 - }, - "ArmorPart_Neck": { - "type": "byte", - "value": 1 - }, - "ArmorPart_Pelvis": { - "type": "byte", - "value": 4 - }, - "ArmorPart_RBicep": { - "type": "byte", - "value": 5 - }, - "ArmorPart_RFArm": { - "type": "byte", - "value": 13 - }, - "ArmorPart_RFoot": { - "type": "byte", - "value": 6 - }, - "ArmorPart_RHand": { - "type": "byte", - "value": 4 - }, - "ArmorPart_Robe": { - "type": "byte", - "value": 0 - }, - "ArmorPart_RShin": { - "type": "byte", - "value": 1 - }, - "ArmorPart_RShoul": { - "type": "byte", - "value": 22 - }, - "ArmorPart_RThigh": { - "type": "byte", - "value": 12 - }, - "ArmorPart_Torso": { - "type": "byte", - "value": 48 - }, - "BaseItem": { - "type": "int", - "value": 16 - }, - "Charges": { - "type": "byte", - "value": 0 - }, - "Cloth1Color": { - "type": "byte", - "value": 23 - }, - "Cloth2Color": { - "type": "byte", - "value": 23 - }, - "Cost": { - "type": "dword", - "value": 200 - }, - "Cursed": { - "type": "byte", - "value": 0 - }, - "DescIdentified": { - "type": "cexolocstring", - "value": {} - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 16807883 - } - }, - "Dropable": { - "type": "byte", - "value": 1 - }, - "Identified": { - "type": "byte", - "value": 1 - }, - "Leather1Color": { - "type": "byte", - "value": 52 - }, - "Leather2Color": { - "type": "byte", - "value": 45 - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "id": 16807476 - } - }, - "Metal1Color": { - "type": "byte", - "value": 35 - }, - "Metal2Color": { - "type": "byte", - "value": 3 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PropertiesList": { - "type": "list", - "value": [] - }, - "StackSize": { - "type": "word", - "value": 1 - }, - "Stolen": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "ZEP_GOBLIN" - }, - "TemplateResRef": { - "type": "resref", - "value": "zep_goblin" - }, - "xArmorPart_Belt": { - "type": "word", - "value": 0 - }, - "xArmorPart_LBice": { - "type": "word", - "value": 5 - }, - "xArmorPart_LFArm": { - "type": "word", - "value": 13 - }, - "xArmorPart_LFoot": { - "type": "word", - "value": 6 - }, - "xArmorPart_LHand": { - "type": "word", - "value": 4 - }, - "xArmorPart_LShin": { - "type": "word", - "value": 1 - }, - "xArmorPart_LShou": { - "type": "word", - "value": 22 - }, - "xArmorPart_LThig": { - "type": "word", - "value": 12 - }, - "xArmorPart_Neck": { - "type": "word", - "value": 1 - }, - "xArmorPart_Pelvi": { - "type": "word", - "value": 4 - }, - "xArmorPart_RBice": { - "type": "word", - "value": 5 - }, - "xArmorPart_RFArm": { - "type": "word", - "value": 13 - }, - "xArmorPart_RFoot": { - "type": "word", - "value": 6 - }, - "xArmorPart_RHand": { - "type": "word", - "value": 4 - }, - "xArmorPart_Robe": { - "type": "word", - "value": 0 - }, - "xArmorPart_RShin": { - "type": "word", - "value": 1 - }, - "xArmorPart_RShou": { - "type": "word", - "value": 22 - }, - "xArmorPart_RThig": { - "type": "word", - "value": 12 - }, - "xArmorPart_Torso": { - "type": "word", - "value": 48 - }, - "XOrientation": { - "type": "float", - "value": 9.112070743061495e-033 - }, - "XPosition": { - "type": "float", - "value": -1.0 - }, - "YOrientation": { - "type": "float", - "value": 1.0 - }, - "YPosition": { - "type": "float", - "value": -1.0 - }, - "ZPosition": { - "type": "float", - "value": -1.0 - } - }, - { - "__struct_id": 16, - "AddCost": { - "type": "dword", - "value": 0 - }, - "BaseItem": { - "type": "int", - "value": 37 - }, - "Charges": { - "type": "byte", - "value": 0 - }, - "Cost": { - "type": "dword", - "value": 7220 - }, - "Cursed": { - "type": "byte", - "value": 0 - }, - "DescIdentified": { - "type": "cexolocstring", - "value": { - "id": 13213 - } - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "Identified": { - "type": "byte", - "value": 1 - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "id": 13999 - } - }, - "ModelPart1": { - "type": "byte", - "value": 12 - }, - "ModelPart2": { - "type": "byte", - "value": 12 - }, - "ModelPart3": { - "type": "byte", - "value": 12 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PropertiesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "ChanceAppear": { - "type": "byte", - "value": 100 - }, - "CostTable": { - "type": "byte", - "value": 2 - }, - "CostValue": { - "type": "word", - "value": 2 - }, - "Param1": { - "type": "byte", - "value": 255 - }, - "Param1Value": { - "type": "byte", - "value": 255 - }, - "PropertyName": { - "type": "word", - "value": 6 - }, - "Subtype": { - "type": "word", - "value": 0 - } - } - ] - }, - "StackSize": { - "type": "word", - "value": 1 - }, - "Stolen": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "NW_WBLMHL010" - }, - "TemplateResRef": { - "type": "resref", - "value": "nw_wblmhl010" - }, - "xModelPart1": { - "type": "word", - "value": 12 - }, - "xModelPart2": { - "type": "word", - "value": 12 - }, - "xModelPart3": { - "type": "word", - "value": 12 - }, - "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 - } - } - ] - }, - "FactionID": { - "type": "word", - "value": 3 - }, - "FeatList": { - "type": "list", - "value": [ - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 2 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 3 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 4 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 233 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 232 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 231 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 6 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 228 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 10 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 229 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 230 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 28 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 32 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 234 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 227 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 106 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 45 - } - }, - { - "__struct_id": 1, - "Feat": { - "type": "word", - "value": 46 - } - } - ] - }, - "FirstName": { - "type": "cexolocstring", - "value": { - "0": "Murdoc" - } - }, - "fortbonus": { - "type": "short", - "value": 0 - }, - "Gender": { - "type": "byte", - "value": 0 - }, - "GoodEvil": { - "type": "byte", - "value": 100 - }, - "HitPoints": { - "type": "short", - "value": 21 - }, - "Int": { - "type": "byte", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "IsImmortal": { - "type": "byte", - "value": 0 - }, - "IsPC": { - "type": "byte", - "value": 0 - }, - "LastName": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "LawfulChaotic": { - "type": "byte", - "value": 100 - }, - "Lootable": { - "type": "byte", - "value": 0 - }, - "MaxHitPoints": { - "type": "short", - "value": 33 - }, - "NaturalAC": { - "type": "byte", - "value": 0 - }, - "NoPermDeath": { - "type": "byte", - "value": 1 - }, - "PerceptionRange": { - "type": "byte", - "value": 11 - }, - "Phenotype": { - "type": "int", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 1 - }, - "PortraitId": { - "type": "word", - "value": 12 - }, - "Race": { - "type": "byte", - "value": 0 - }, - "refbonus": { - "type": "short", - "value": 0 - }, - "ScriptAttacked": { - "type": "resref", - "value": "x2_def_attacked" - }, - "ScriptDamaged": { - "type": "resref", - "value": "x2_def_ondamage" - }, - "ScriptDeath": { - "type": "resref", - "value": "x2_def_ondeath" - }, - "ScriptDialogue": { - "type": "resref", - "value": "x2_def_onconv" - }, - "ScriptDisturbed": { - "type": "resref", - "value": "x2_def_ondisturb" - }, - "ScriptEndRound": { - "type": "resref", - "value": "x2_def_endcombat" - }, - "ScriptHeartbeat": { - "type": "resref", - "value": "x2_def_heartbeat" - }, - "ScriptOnBlocked": { - "type": "resref", - "value": "x2_def_onblocked" - }, - "ScriptOnNotice": { - "type": "resref", - "value": "x2_def_percept" - }, - "ScriptRested": { - "type": "resref", - "value": "x2_def_rested" - }, - "ScriptSpawn": { - "type": "resref", - "value": "x2_def_spawn" - }, - "ScriptSpellAt": { - "type": "resref", - "value": "x2_def_spellcast" - }, - "ScriptUserDefine": { - "type": "resref", - "value": "x2_def_userdef" - }, - "SkillList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 1 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 3 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 1 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 1 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 3 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 1 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 1 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 1 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 0, - "Rank": { - "type": "byte", - "value": 0 - } - } - ] - }, - "SoundSetFile": { - "type": "word", - "value": 163 - }, - "SpecAbilityList": { - "type": "list", - "value": [] - }, - "StartingPackage": { - "type": "byte", - "value": 4 - }, - "Str": { - "type": "byte", - "value": 16 - }, - "Subrace": { - "type": "cexostring", - "value": "" - }, - "Tag": { - "type": "cexostring", - "value": "MAGESMITH" - }, - "Tail_New": { - "type": "dword", - "value": 0 - }, - "TemplateList": { - "type": "list", - "value": [] - }, - "TemplateResRef": { - "type": "resref", - "value": "ronuld" - }, - "WalkRate": { - "type": "int", - "value": 4 - }, - "willbonus": { - "type": "short", - "value": 0 - }, - "Wings_New": { - "type": "dword", - "value": 4 - }, - "Wis": { - "type": "byte", - "value": 10 - }, - "xAppearance_Head": { - "type": "word", - "value": 11 - }, - "xArmorPart_RFoot": { - "type": "word", - "value": 1 - }, - "xBodyPart_Belt": { - "type": "word", - "value": 0 - }, - "xBodyPart_LBicep": { - "type": "word", - "value": 1 - }, - "xBodyPart_LFArm": { - "type": "word", - "value": 1 - }, - "xBodyPart_LFoot": { - "type": "word", - "value": 1 - }, - "xBodyPart_LHand": { - "type": "word", - "value": 1 - }, - "xBodyPart_LShin": { - "type": "word", - "value": 1 - }, - "xBodyPart_LShoul": { - "type": "word", - "value": 0 - }, - "xBodyPart_LThigh": { - "type": "word", - "value": 1 - }, - "xBodyPart_Neck": { - "type": "word", - "value": 1 - }, - "xBodyPart_Pelvis": { - "type": "word", - "value": 1 - }, - "xBodyPart_RBicep": { - "type": "word", - "value": 1 - }, - "xBodyPart_RFArm": { - "type": "word", - "value": 1 - }, - "xBodyPart_RHand": { - "type": "word", - "value": 1 - }, - "xBodyPart_RShin": { - "type": "word", - "value": 2 - }, - "xBodyPart_RShoul": { - "type": "word", - "value": 0 - }, - "xBodyPart_RThigh": { - "type": "word", - "value": 1 - }, - "xBodyPart_Torso": { - "type": "word", - "value": 1 - }, - "XOrientation": { - "type": "float", - "value": 0.4275550246238709 - }, - "XPosition": { - "type": "float", - "value": 8.791603088378906 - }, - "YOrientation": { - "type": "float", - "value": 0.903989315032959 - }, - "YPosition": { - "type": "float", - "value": 9.409318923950195 - }, - "ZPosition": { - "type": "float", - "value": -5.7220458984375e-006 - } - } - ] - }, - "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": -3.141592502593994 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "Etched and oiled, the carvings on this door lend depth to its prominent woodgrain." - } - }, - "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": 15 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "LinkedTo": { - "type": "cexostring", - "value": "DR_TOWN2MAGESMITH" - }, - "LinkedToFlags": { - "type": "byte", - "value": 1 - }, - "LoadScreenID": { - "type": "word", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Wooden Door", - "id": 5349 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "x2_door_death" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnFailToOpen": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "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": 0 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "DR_MAGESMITH2TOWN" - }, - "TemplateResRef": { - "type": "resref", - "value": "x2_dooreasy3" - }, - "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": 15.0 - }, - "Y": { - "type": "float", - "value": 4.76837158203125e-007 - }, - "Z": { - "type": "float", - "value": 0.0 - } - } - ] - }, - "Encounter List": { - "type": "list", - "value": [] - }, - "List": { - "type": "list", - "value": [] - }, - "Placeable List": { - "type": "list", - "value": [ - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 4 - }, - "Appearance": { - "type": "dword", - "value": 452 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.7853981852531433 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "Obviously different from a blacksmith's anvil, this utilitarian device bears the evidence of long years of use. The stains of leather dyes, and the peens of cobblers hammers adorn the surface of this anvil.", - "id": 14546 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 1 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Mystic Forge", - "id": 5690 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "forge_spititout" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 1 - }, - "PortraitId": { - "type": "word", - "value": 988 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "forge_custom" - }, - "TemplateResRef": { - "type": "resref", - "value": "forge_custom" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 1 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 3.980723857879639 - }, - "Y": { - "type": "float", - "value": 12.19020938873291 - }, - "Z": { - "type": "float", - "value": -5.483627319335938e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 66 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.7853981852531433 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14646 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 1 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Enchantment Combine", - "id": 14647 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 1 - }, - "PortraitId": { - "type": "word", - "value": 424 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "forge_combine" - }, - "TemplateResRef": { - "type": "resref", - "value": "forge_combine" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 1 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 6.112183570861816 - }, - "Y": { - "type": "float", - "value": 15.30196666717529 - }, - "Z": { - "type": "float", - "value": -5.483627319335938e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15180 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "This rug is beautifully woven, with intricate patterns that draw you in more the closer you look." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Rug, Oriental - Blue 2" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 515 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_rugoriblu2" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_rugoriblu2" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 4.908123970031738 - }, - "Y": { - "type": "float", - "value": 4.550480365753174 - }, - "Z": { - "type": "float", - "value": -3.874301910400391e-007 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 423 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 84163 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 83416 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "x2_o2_dead" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 906 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "X2_PLC_TABLERND" - }, - "TemplateResRef": { - "type": "resref", - "value": "x2_plc_tablernd" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 4.939207553863525 - }, - "Y": { - "type": "float", - "value": 5.464146137237549 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 179 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.570796251296997 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "It is a simple chair but the grace of its lines speaks to the quality of its craftmanship.", - "id": 14593 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Chair", - "id": 5822 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "ww_sit" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 1 - }, - "PortraitId": { - "type": "word", - "value": 537 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "Chair" - }, - "TemplateResRef": { - "type": "resref", - "value": "chair" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 1 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 3.614372491836548 - }, - "Y": { - "type": "float", - "value": 5.330474853515625 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 179 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "It is a simple chair but the grace of its lines speaks to the quality of its craftmanship.", - "id": 14593 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Chair", - "id": 5822 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "ww_sit" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 1 - }, - "PortraitId": { - "type": "word", - "value": 537 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "Chair" - }, - "TemplateResRef": { - "type": "resref", - "value": "chair" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 1 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 6.41664457321167 - }, - "Y": { - "type": "float", - "value": 2.768929958343506 - }, - "Z": { - "type": "float", - "value": -8.016824722290039e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 179 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -3.141592264175415 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "It is a simple chair but the grace of its lines speaks to the quality of its craftmanship.", - "id": 14593 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Chair", - "id": 5822 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "ww_sit" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 1 - }, - "PortraitId": { - "type": "word", - "value": 537 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "Chair" - }, - "TemplateResRef": { - "type": "resref", - "value": "chair" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 1 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 4.897865295410156 - }, - "Y": { - "type": "float", - "value": 3.99057674407959 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15031 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 2.142028475942923e-038 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "These comfortable-looking cushions have been arranged in a loose pile." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Cushions Stack - Round" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 515 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_cushstakrd" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_cushstakrd" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 1.8683180809021 - }, - "Y": { - "type": "float", - "value": 2.394367456436157 - }, - "Z": { - "type": "float", - "value": 2.980232238769531e-008 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15031 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -2.944370031356812 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "These comfortable-looking cushions have been arranged in a loose pile." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Cushions Stack - Round" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 515 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_cushstakrd" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_cushstakrd" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 1.909999966621399 - }, - "Y": { - "type": "float", - "value": 2.210000038146973 - }, - "Z": { - "type": "float", - "value": 0.4000000059604645 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15027 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.086607200116502e-019 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "Encased in a thick wax, this flavorful cheese is emitting a ripe odor to which some would turn their noses up at, or perhaps simply plug them." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Cheese Wheel - Yellow" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 0 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_chswhelyel" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_chswhelyel" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 4.626923561096191 - }, - "Y": { - "type": "float", - "value": 5.754366397857666 - }, - "Z": { - "type": "float", - "value": 0.786005437374115 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 4 - }, - "Appearance": { - "type": "dword", - "value": 15411 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 5.688133735511821e-021 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Candle 06 (Ambient)" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15213 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_candle06" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_candle06" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 3.348399162292481 - }, - "Y": { - "type": "float", - "value": 1.922167539596558 - }, - "Z": { - "type": "float", - "value": 0.8300000429153442 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15043 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Fireplace - Grey Stone" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 515 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_fireplace1" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_fireplace1" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 10.02281284332275 - }, - "Y": { - "type": "float", - "value": 17.0347785949707 - }, - "Z": { - "type": "float", - "value": -5.483627319335938e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 4 - }, - "Appearance": { - "type": "dword", - "value": 842 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Fire" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 1 - }, - "PortraitId": { - "type": "word", - "value": 508 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "VFX_PLC_FIRE" - }, - "TemplateResRef": { - "type": "resref", - "value": "vfx_plc_fire" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 10.04049491882324 - }, - "Y": { - "type": "float", - "value": 17.85873794555664 - }, - "Z": { - "type": "float", - "value": 0.2199944257736206 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 193 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Breastplate" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 0 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "ir_armour1" - }, - "TemplateResRef": { - "type": "resref", - "value": "ir_armour1" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 15.42104911804199 - }, - "Y": { - "type": "float", - "value": 6.619301319122315 - }, - "Z": { - "type": "float", - "value": 2.070000171661377 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 197 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Leather Jerkin" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 0 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "ir_armour2" - }, - "TemplateResRef": { - "type": "resref", - "value": "ir_armour2" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 16.12907028198242 - }, - "Y": { - "type": "float", - "value": 6.615777492523193 - }, - "Z": { - "type": "float", - "value": 2.069999694824219 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 632 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.570796251296997 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14752 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 111154 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1128 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x3_plc_srack001" - }, - "TemplateResRef": { - "type": "resref", - "value": "x3_plc_srack001" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 1.551722764968872 - }, - "Y": { - "type": "float", - "value": 9.924057006835938 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 175 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.570796012878418 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14743 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 5818 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 533 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Throw Rug" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_throwrug" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 15.01395225524902 - }, - "Y": { - "type": "float", - "value": 1.277510166168213 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 72 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -3.141592264175415 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14663 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 5714 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 430 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Keg" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_keg" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 14.0388879776001 - }, - "Y": { - "type": "float", - "value": 6.797650814056397 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 175 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.570796012878418 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14743 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 5818 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 533 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Throw Rug" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_throwrug" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 16.51078033447266 - }, - "Y": { - "type": "float", - "value": 7.787264823913574 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 4 - }, - "Appearance": { - "type": "dword", - "value": 15413 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Candle 07 (Ambient)" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15214 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_candle07" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_candle07" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 17.63503265380859 - }, - "Y": { - "type": "float", - "value": 6.938774585723877 - }, - "Z": { - "type": "float", - "value": 2.070000171661377 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 180 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -1.570796251296997 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14606 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 5823 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 538 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Couch" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_couch" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 11.95338344573975 - }, - "Y": { - "type": "float", - "value": 15.94357013702393 - }, - "Z": { - "type": "float", - "value": -5.483627319335938e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 801 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -1.570796251296997 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 6792 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 0 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 111324 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1109 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x3_plc_dartbrd" - }, - "TemplateResRef": { - "type": "resref", - "value": "x3_plc_dartbrd" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 18.48999977111816 - }, - "Y": { - "type": "float", - "value": 11.27000045776367 - }, - "Z": { - "type": "float", - "value": 1.0 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 258 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -1.570796251296997 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 76386 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 0 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 76385 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 811 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x0_hangshield" - }, - "TemplateResRef": { - "type": "resref", - "value": "x0_hangshield" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 14.34453582763672 - }, - "Y": { - "type": "float", - "value": 5.355402946472168 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 181 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14637 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 5824 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 539 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Footstool" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_footstool" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 12.18430042266846 - }, - "Y": { - "type": "float", - "value": 14.42638778686523 - }, - "Z": { - "type": "float", - "value": -5.483627319335938e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 447 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 84186 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 10 - }, - "Hardness": { - "type": "byte", - "value": 0 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 83444 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "x2_o2_dead" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 930 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "X2_PLC_MIRROR" - }, - "TemplateResRef": { - "type": "resref", - "value": "x2_plc_mirror" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 13.67298221588135 - }, - "Y": { - "type": "float", - "value": 18.4405574798584 - }, - "Z": { - "type": "float", - "value": 5.960464477539063e-008 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15142 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "This heavy earthenware mug is ideal for hot drinks on cold nights by the fireside." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Mug, Brown - Full" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15059 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_mugbrnfl" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_mugbrnfl" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 4.408116817474365 - }, - "Y": { - "type": "float", - "value": 4.983471393585205 - }, - "Z": { - "type": "float", - "value": 0.7860050201416016 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 107 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -3.141592264175415 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14756 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 14757 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 465 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Wood Burning Oven" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_woodoven" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 8.819584846496582 - }, - "Y": { - "type": "float", - "value": 1.708770990371704 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 83 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14702 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 5726 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 441 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Potted Plant" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_pottedplant" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 16.86716461181641 - }, - "Y": { - "type": "float", - "value": 4.228755950927734 - }, - "Z": { - "type": "float", - "value": 2.384185791015625e-007 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15203 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 6.553758571692481e-037 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "The tabletop of this magnificently built round table has finely inlaid patterns using several types of wood, making it a prized furnishing for anyone with an eye for decor." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Table - Round, Fancy" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15095 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_tablefancy" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_tablefancy" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 8.381319046020508 - }, - "Y": { - "type": "float", - "value": 11.89019775390625 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 279 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 68934 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 4294967295 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 68933 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 0 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x0_tome" - }, - "TemplateResRef": { - "type": "resref", - "value": "x0_tome" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 8.407550811767578 - }, - "Y": { - "type": "float", - "value": 11.80138778686523 - }, - "Z": { - "type": "float", - "value": 0.8199942111968994 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 182 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14737 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 5825 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 540 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Stool" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_stool" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 8.313676834106445 - }, - "Y": { - "type": "float", - "value": 10.37725830078125 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15100 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -1.570796251296997 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "The head of this dire boar has been mounted on a wooden plaque as a trophy. Even though the animal is long dead, the eyes still retain an eerie glow, giving the impression that it shall one day come alive and leap out from the wall." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Wall Trophy - Head, Dire Boar" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15082 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_trophyboar" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_trophyboar" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 1.309999942779541 - }, - "Y": { - "type": "float", - "value": 8.939999580383301 - }, - "Z": { - "type": "float", - "value": 0.5 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15098 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -1.570796251296997 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "The head of this bear has been mounted on a wooden plaque as a trophy." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Wall Trophy - Head, Bear" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15081 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_trophybear" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_trophybear" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 1.340000033378601 - }, - "Y": { - "type": "float", - "value": 11.09000015258789 - }, - "Z": { - "type": "float", - "value": 0.5 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 102 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -6.162975822039155e-033 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14748 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 5745 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 460 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Urn" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_urn" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 10.03823947906494 - }, - "Y": { - "type": "float", - "value": 1.849692583084106 - }, - "Z": { - "type": "float", - "value": -2.980232238769531e-008 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 464 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 84583 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 84568 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 0 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "X2_PLC_BOOK2" - }, - "TemplateResRef": { - "type": "resref", - "value": "x2_plc_book2" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 5.072727680206299 - }, - "Y": { - "type": "float", - "value": 5.448566436767578 - }, - "Z": { - "type": "float", - "value": 0.7860053777694702 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15402 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 2.755092910709023e-040 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Candle 01 (No Ambient)" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15208 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_candle01" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_candle01n" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 4.601442813873291 - }, - "Y": { - "type": "float", - "value": 5.350521087646484 - }, - "Z": { - "type": "float", - "value": 0.7860065698623657 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 527 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Basket" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1103 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_basket01" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_basket01" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 4.077260971069336 - }, - "Y": { - "type": "float", - "value": 1.901435017585754 - }, - "Z": { - "type": "float", - "value": 0.8299997448921204 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 523 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Barrel - Stack" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1102 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_brlstack1" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_brlstack1" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 18.06861686706543 - }, - "Y": { - "type": "float", - "value": 9.728532791137695 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 245 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 2.240820718327054e-038 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 66687 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 4294967295 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 66686 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 805 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x0_bearskinrug1" - }, - "TemplateResRef": { - "type": "resref", - "value": "x0_bearskinrug1" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 9.971098899841309 - }, - "Y": { - "type": "float", - "value": 15.09397029876709 - }, - "Z": { - "type": "float", - "value": -1.788139343261719e-007 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 52 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 3.930655364636677e-038 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14604 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 14605 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 410 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Bed - Cot" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_cot" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 17.2174072265625 - }, - "Y": { - "type": "float", - "value": 13.77133750915527 - }, - "Z": { - "type": "float", - "value": -5.483627319335938e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15173 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 5.718402972155649e-021 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "A large area throw rug." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Rug, Rectangular - Blue" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 515 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_rugrectblu" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_rugrectblu" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 17.17239570617676 - }, - "Y": { - "type": "float", - "value": 12.41064167022705 - }, - "Z": { - "type": "float", - "value": 0.0 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 48 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.889864087104797 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14546 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 5690 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 406 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Anvil" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_anvil" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 2.818811416625977 - }, - "Y": { - "type": "float", - "value": 8.355850219726563 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 43 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -1.44807767868042 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14539 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 5685 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 401 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "AlchemistsApparatus" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_alchapprtus" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 10.16585636138916 - }, - "Y": { - "type": "float", - "value": 10.25873756408691 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 463 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.644427299499512 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "A sign on the device reads: \"Items left in the arcane recycler for more than a half-day will be reduced to their constituent particles.", - "id": 84582 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 1 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Arcane Recycler", - "id": 84567 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "x2_o2_dead" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "arcane_recycler" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 1 - }, - "PortraitId": { - "type": "word", - "value": 999 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "X2_PLC_BBARREL" - }, - "TemplateResRef": { - "type": "resref", - "value": "x2_plc_bbarrel" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 1 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 5.391969203948975 - }, - "Y": { - "type": "float", - "value": 12.45245361328125 - }, - "Z": { - "type": "float", - "value": -5.483627319335938e-006 - } - } - ] - }, - "SoundList": { - "type": "list", - "value": [] - }, - "StoreList": { - "type": "list", - "value": [] - }, - "TriggerList": { - "type": "list", - "value": [] - }, - "WaypointList": { - "type": "list", - "value": [ - { - "__struct_id": 5, - "Appearance": { - "type": "byte", - "value": 3 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "HasMapNote": { - "type": "byte", - "value": 0 - }, - "LinkedTo": { - "type": "cexostring", - "value": "" - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "id": 69065 - } - }, - "MapNote": { - "type": "cexolocstring", - "value": {} - }, - "MapNoteEnabled": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "NW_SHOP" - }, - "TemplateResRef": { - "type": "resref", - "value": "nw_wp_shop" - }, - "XOrientation": { - "type": "float", - "value": 5.078947526109194e-021 - }, - "XPosition": { - "type": "float", - "value": 11.07582378387451 - }, - "YOrientation": { - "type": "float", - "value": 1.0 - }, - "YPosition": { - "type": "float", - "value": 6.987792015075684 - }, - "ZPosition": { - "type": "float", - "value": -4.76837158203125e-007 - } - } - ] - } -} diff --git a/_module/git/manatakloss.git.json b/_module/git/manatakloss.git.json index 480c4e17..01f35818 100644 --- a/_module/git/manatakloss.git.json +++ b/_module/git/manatakloss.git.json @@ -3860,7 +3860,7 @@ }, "Orientation": { "type": "float", - "value": 3.092485666275024 + "value": 3.092485189437866 }, "X": { "type": "float", @@ -4192,7 +4192,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.914397120475769 + "value": 1.91439688205719 }, "X": { "type": "float", @@ -4832,7 +4832,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.847048997879028 + "value": 2.847048759460449 }, "X": { "type": "float", @@ -5152,7 +5152,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141572952270508 + "value": -3.14157247543335 }, "X": { "type": "float", @@ -5734,7 +5734,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092485666275024 + "value": 3.092485189437866 }, "X": { "type": "float", @@ -7396,7 +7396,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092496156692505 + "value": -3.092495679855347 }, "X": { "type": "float", diff --git a/_module/git/minkeep.git.json b/_module/git/minkeep.git.json index 683e4354..dc328a3a 100644 --- a/_module/git/minkeep.git.json +++ b/_module/git/minkeep.git.json @@ -707,7 +707,7 @@ }, "Orientation": { "type": "float", - "value": -3.043406248092651 + "value": -3.043406009674072 }, "X": { "type": "float", @@ -941,7 +941,7 @@ }, "Orientation": { "type": "float", - "value": -1.865314722061157 + "value": -1.865314483642578 }, "X": { "type": "float", @@ -2795,7 +2795,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141580820083618 + "value": -3.14158034324646 }, "X": { "type": "float", @@ -3207,7 +3207,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092493295669556 + "value": 3.092492818832398 }, "X": { "type": "float", diff --git a/_module/git/motherslair.git.json b/_module/git/motherslair.git.json index 33fe2bb1..635f634a 100644 --- a/_module/git/motherslair.git.json +++ b/_module/git/motherslair.git.json @@ -2160,11 +2160,11 @@ "__struct_id": 0, "Appearance": { "type": "int", - "value": 45 + "value": 583 }, "CR": { "type": "float", - "value": 358.0 + "value": 175.0 }, "ResRef": { "type": "resref", diff --git a/_module/git/nethercaves2.git.json b/_module/git/nethercaves2.git.json index c8d9fe45..6fdfe303 100644 --- a/_module/git/nethercaves2.git.json +++ b/_module/git/nethercaves2.git.json @@ -1567,7 +1567,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.945230484008789 + "value": 2.945230007171631 }, "X": { "type": "float", @@ -1586,7 +1586,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -1.963488101959229 + "value": -1.963487863540649 }, "X": { "type": "float", @@ -2980,7 +2980,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141579866409302 + "value": -3.141579389572144 }, "X": { "type": "float", @@ -4035,7 +4035,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141579866409302 + "value": -3.141579389572144 }, "X": { "type": "float", @@ -4747,7 +4747,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.043406009674072 + "value": -3.043405532836914 }, "X": { "type": "float", @@ -4953,7 +4953,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -1.816227436065674 + "value": -1.816227316856384 }, "X": { "type": "float", @@ -5159,7 +5159,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.043405055999756 + "value": 3.043404579162598 }, "X": { "type": "float", @@ -5738,7 +5738,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141579866409302 + "value": -3.141579389572144 }, "X": { "type": "float", @@ -6077,7 +6077,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141579866409302 + "value": -3.141579389572144 }, "X": { "type": "float", @@ -6096,7 +6096,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.1963519304990768 + "value": -0.1963519006967545 }, "X": { "type": "float", @@ -6287,7 +6287,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.816226840019226 + "value": 1.816226720809937 }, "X": { "type": "float", @@ -6493,7 +6493,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141579866409302 + "value": -3.141579389572144 }, "X": { "type": "float", @@ -6512,7 +6512,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.1963519304990768 + "value": -0.1963519006967545 }, "X": { "type": "float", @@ -6737,7 +6737,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.1963519304990768 + "value": -0.1963519006967545 }, "X": { "type": "float", diff --git a/_module/git/northoftown.git.json b/_module/git/northoftown.git.json index 98bda5d6..82a7ec17 100644 --- a/_module/git/northoftown.git.json +++ b/_module/git/northoftown.git.json @@ -911,7 +911,7 @@ }, "Orientation": { "type": "float", - "value": -3.043405532836914 + "value": -3.043405055999756 }, "X": { "type": "float", @@ -1137,7 +1137,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.994317531585693 + "value": -2.994317293167114 }, "X": { "type": "float", @@ -1343,7 +1343,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.896143913269043 + "value": -2.896143436431885 }, "X": { "type": "float", @@ -1755,7 +1755,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.141579389572144 + "value": 3.141579151153565 }, "X": { "type": "float", @@ -2167,7 +2167,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.141579389572144 + "value": 3.141579151153565 }, "X": { "type": "float", @@ -2388,7 +2388,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -1.816227078437805 + "value": -1.816226840019226 }, "X": { "type": "float", @@ -2834,7 +2834,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.650707244873047 + "value": -2.650706768035889 }, "X": { "type": "float", @@ -3040,7 +3040,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.981744647026062 + "value": -0.9817445874214172 }, "X": { "type": "float", @@ -3246,7 +3246,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.945228099822998 + "value": -2.94522762298584 }, "X": { "type": "float", diff --git a/_module/git/ogrecaverns.git.json b/_module/git/ogrecaverns.git.json index e369f780..deeeacd6 100644 --- a/_module/git/ogrecaverns.git.json +++ b/_module/git/ogrecaverns.git.json @@ -955,7 +955,7 @@ }, "Orientation": { "type": "float", - "value": -0.245436891913414 + "value": -0.2454368621110916 }, "X": { "type": "float", @@ -1436,7 +1436,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.945231199264526 + "value": -2.945230960845947 }, "X": { "type": "float", @@ -1665,7 +1665,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.994317770004273 + "value": 2.994317531585693 }, "X": { "type": "float", @@ -2202,7 +2202,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.994318723678589 + "value": -2.994318246841431 }, "X": { "type": "float", @@ -2446,7 +2446,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.748883008956909 + "value": -2.74888277053833 }, "X": { "type": "float", @@ -2709,7 +2709,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.14158034324646 + "value": -3.141579866409302 }, "X": { "type": "float", @@ -3456,7 +3456,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -1.914401531219482 + "value": -1.914401054382324 }, "X": { "type": "float", diff --git a/_module/git/orcwarren.git.json b/_module/git/orcwarren.git.json index adf8ad49..21d02b17 100644 --- a/_module/git/orcwarren.git.json +++ b/_module/git/orcwarren.git.json @@ -744,7 +744,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.994317770004273 + "value": 2.994317531585693 }, "X": { "type": "float", diff --git a/_module/git/prieststorage.git.json b/_module/git/prieststorage.git.json index 02639fee..a4e55251 100644 --- a/_module/git/prieststorage.git.json +++ b/_module/git/prieststorage.git.json @@ -473,7 +473,7 @@ }, "Orientation": { "type": "float", - "value": 1.96348774433136 + "value": 1.963487505912781 }, "X": { "type": "float", @@ -1345,7 +1345,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.79796838760376 + "value": -2.797967910766602 }, "X": { "type": "float", @@ -1383,7 +1383,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092491865158081 + "value": 3.092491388320923 }, "X": { "type": "float", diff --git a/_module/git/queenspalace.git.json b/_module/git/queenspalace.git.json index 41574734..24cff779 100644 --- a/_module/git/queenspalace.git.json +++ b/_module/git/queenspalace.git.json @@ -6040,7 +6040,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.9817416667938232 + "value": -0.9817415475845337 }, "X": { "type": "float", @@ -6883,7 +6883,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.141572237014771 + "value": 3.141571998596191 }, "X": { "type": "float", diff --git a/_module/git/rakshashacoven.git.json b/_module/git/rakshashacoven.git.json index 69e50ab2..d2d29722 100644 --- a/_module/git/rakshashacoven.git.json +++ b/_module/git/rakshashacoven.git.json @@ -1128,7 +1128,7 @@ }, "Orientation": { "type": "float", - "value": -0.0006912354147061706 + "value": -0.0006912352982908487 }, "X": { "type": "float", @@ -1362,7 +1362,7 @@ }, "Orientation": { "type": "float", - "value": -0.0006912354147061706 + "value": -0.0006912352982908487 }, "X": { "type": "float", @@ -1568,7 +1568,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.0006912354147061706 + "value": -0.0006912352982908487 }, "X": { "type": "float", @@ -1789,7 +1789,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.0006912354147061706 + "value": -0.0006912352982908487 }, "X": { "type": "float", @@ -1995,7 +1995,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.0006912354147061706 + "value": -0.0006912352982908487 }, "X": { "type": "float", @@ -2201,7 +2201,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.0006912354147061706 + "value": -0.0006912352982908487 }, "X": { "type": "float", @@ -4070,7 +4070,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.0006912354147061706 + "value": -0.0006912352982908487 }, "X": { "type": "float", diff --git a/_module/git/rhazhidsburialch.git.json b/_module/git/rhazhidsburialch.git.json index 93f6835b..3f68e67d 100644 --- a/_module/git/rhazhidsburialch.git.json +++ b/_module/git/rhazhidsburialch.git.json @@ -2428,7 +2428,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.04340386390686 + "value": -3.043403625488281 }, "X": { "type": "float", @@ -2946,7 +2946,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.04340386390686 + "value": -3.043403625488281 }, "X": { "type": "float", diff --git a/_module/git/ruinsofanduin.git.json b/_module/git/ruinsofanduin.git.json index 74c53a75..3a8c4600 100644 --- a/_module/git/ruinsofanduin.git.json +++ b/_module/git/ruinsofanduin.git.json @@ -3774,7 +3774,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.748444873328481e-007 + "value": 1.748444589111386e-007 }, "X": { "type": "float", @@ -3793,7 +3793,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.945224761962891 + "value": 2.945224285125732 }, "X": { "type": "float", @@ -4300,7 +4300,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.09248685836792 + "value": 3.092486381530762 }, "X": { "type": "float", @@ -4544,7 +4544,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.994312763214111 + "value": -2.994312286376953 }, "X": { "type": "float", @@ -6225,7 +6225,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.09248685836792 + "value": 3.092486381530762 }, "X": { "type": "float", @@ -6244,7 +6244,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.748877286911011 + "value": -2.748876810073853 }, "X": { "type": "float", diff --git a/_module/git/shadowforest.git.json b/_module/git/shadowforest.git.json index a53762cf..57adf350 100644 --- a/_module/git/shadowforest.git.json +++ b/_module/git/shadowforest.git.json @@ -708,7 +708,7 @@ }, "Orientation": { "type": "float", - "value": -3.092493295669556 + "value": -3.092492818832398 }, "X": { "type": "float", @@ -1216,7 +1216,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.797969579696655 + "value": -2.797969341278076 }, "X": { "type": "float", @@ -1460,7 +1460,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.650707721710205 + "value": 2.650707244873047 }, "X": { "type": "float", @@ -2192,7 +2192,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.043406009674072 + "value": 3.043405532836914 }, "X": { "type": "float", @@ -3900,7 +3900,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.945230960845947 + "value": 2.945230484008789 }, "X": { "type": "float", @@ -4264,7 +4264,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092492818832398 + "value": 3.092492580413818 }, "X": { "type": "float", diff --git a/_module/git/spidercave.git.json b/_module/git/spidercave.git.json index 2d18bc88..40b0c889 100644 --- a/_module/git/spidercave.git.json +++ b/_module/git/spidercave.git.json @@ -675,7 +675,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.650705337524414 + "value": -2.650704860687256 }, "X": { "type": "float", @@ -881,7 +881,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.043403625488281 + "value": 3.043403148651123 }, "X": { "type": "float", diff --git a/_module/git/spidercave2.git.json b/_module/git/spidercave2.git.json index 3adaa3a7..5356f6c0 100644 --- a/_module/git/spidercave2.git.json +++ b/_module/git/spidercave2.git.json @@ -679,7 +679,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.650707721710205 + "value": -2.650707244873047 }, "X": { "type": "float", @@ -885,7 +885,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.043406009674072 + "value": 3.043405532836914 }, "X": { "type": "float", @@ -1934,7 +1934,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.748883008956909 + "value": -2.74888277053833 }, "X": { "type": "float", diff --git a/_module/git/stronghold.git.json b/_module/git/stronghold.git.json index 10af035e..55a68691 100644 --- a/_module/git/stronghold.git.json +++ b/_module/git/stronghold.git.json @@ -2704,7 +2704,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.04340386390686 + "value": 3.043403625488281 }, "X": { "type": "float", @@ -2910,7 +2910,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092491388320923 + "value": -3.092490911483765 }, "X": { "type": "float", @@ -3214,7 +3214,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092500686645508 + "value": -3.09250020980835 }, "X": { "type": "float", diff --git a/_module/git/templeentrance.git.json b/_module/git/templeentrance.git.json index a1fb1f78..5460e6ff 100644 --- a/_module/git/templeentrance.git.json +++ b/_module/git/templeentrance.git.json @@ -2634,7 +2634,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.650706768035889 + "value": -2.650706291198731 }, "X": { "type": "float", diff --git a/_module/git/theforgottenf001.git.json b/_module/git/theforgottenf001.git.json index fcaa8b5d..8cfbec09 100644 --- a/_module/git/theforgottenf001.git.json +++ b/_module/git/theforgottenf001.git.json @@ -811,7 +811,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.994319200515747 + "value": -2.994318723678589 }, "X": { "type": "float", @@ -1055,7 +1055,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.748883008956909 + "value": 2.74888277053833 }, "X": { "type": "float", @@ -1581,7 +1581,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.797970056533814 + "value": 2.797969579696655 }, "X": { "type": "float", @@ -2088,7 +2088,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.865314245223999 + "value": 1.86531400680542 }, "X": { "type": "float", diff --git a/_module/git/theforgottenf002.git.json b/_module/git/theforgottenf002.git.json index 4488d050..9a63973d 100644 --- a/_module/git/theforgottenf002.git.json +++ b/_module/git/theforgottenf002.git.json @@ -593,7 +593,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.994318723678589 + "value": -2.994318246841431 }, "X": { "type": "float", @@ -1080,7 +1080,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.945230960845947 + "value": 2.945230484008789 }, "X": { "type": "float", @@ -1343,7 +1343,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 0.4908724725246429 + "value": 0.4908724129199982 }, "X": { "type": "float", diff --git a/_module/git/theforgottenf003.git.json b/_module/git/theforgottenf003.git.json index 0ea8fb67..4451f0db 100644 --- a/_module/git/theforgottenf003.git.json +++ b/_module/git/theforgottenf003.git.json @@ -300,7 +300,7 @@ }, "Orientation": { "type": "float", - "value": -3.092493772506714 + "value": -3.092493295669556 }, "X": { "type": "float", @@ -1097,7 +1097,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.945231199264526 + "value": 2.945230960845947 }, "X": { "type": "float", @@ -1379,7 +1379,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 0.4908725619316101 + "value": 0.4908724725246429 }, "X": { "type": "float", @@ -1886,7 +1886,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.994318723678589 + "value": 2.994318246841431 }, "X": { "type": "float", @@ -2149,7 +2149,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.84705662727356 + "value": 2.847056150436401 }, "X": { "type": "float", @@ -2412,7 +2412,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 0.9326573610305786 + "value": 0.9326572418212891 }, "X": { "type": "float", diff --git a/_module/git/theforgottenf004.git.json b/_module/git/theforgottenf004.git.json index ed17728f..394655c6 100644 --- a/_module/git/theforgottenf004.git.json +++ b/_module/git/theforgottenf004.git.json @@ -1089,7 +1089,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092492818832398 + "value": 3.092492580413818 }, "X": { "type": "float", @@ -2160,7 +2160,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.945230960845947 + "value": 2.945230484008789 }, "X": { "type": "float", @@ -2423,7 +2423,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.74888277053833 + "value": 2.748882293701172 }, "X": { "type": "float", diff --git a/_module/git/theforgottenf005.git.json b/_module/git/theforgottenf005.git.json index e1edd0a5..84353c6a 100644 --- a/_module/git/theforgottenf005.git.json +++ b/_module/git/theforgottenf005.git.json @@ -1601,7 +1601,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.043405055999756 + "value": 3.043404579162598 }, "X": { "type": "float", @@ -1845,7 +1845,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 0.9326569437980652 + "value": 0.9326568841934204 }, "X": { "type": "float", @@ -1864,7 +1864,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.816226720809937 + "value": 1.816226482391357 }, "X": { "type": "float", @@ -2108,7 +2108,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.994317770004273 + "value": -2.994317531585693 }, "X": { "type": "float", @@ -2371,7 +2371,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141579389572144 + "value": -3.141579151153565 }, "X": { "type": "float", @@ -2897,7 +2897,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.797968864440918 + "value": 2.79796838760376 }, "X": { "type": "float", @@ -3160,7 +3160,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.896142482757568 + "value": -2.896142244338989 }, "X": { "type": "float", @@ -3404,7 +3404,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 0.9326569437980652 + "value": 0.9326568841934204 }, "X": { "type": "float", @@ -3930,7 +3930,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092492580413818 + "value": -3.092492341995239 }, "X": { "type": "float", diff --git a/_module/git/theforgottenf006.git.json b/_module/git/theforgottenf006.git.json index cfa1b048..92951cf9 100644 --- a/_module/git/theforgottenf006.git.json +++ b/_module/git/theforgottenf006.git.json @@ -519,7 +519,7 @@ }, "Orientation": { "type": "float", - "value": 3.043405532836914 + "value": 3.043405055999756 }, "X": { "type": "float", @@ -786,7 +786,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.896142959594727 + "value": 2.896142482757568 }, "X": { "type": "float", @@ -1068,7 +1068,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092492818832398 + "value": -3.092492580413818 }, "X": { "type": "float", @@ -1312,7 +1312,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.994318246841431 + "value": -2.994317770004273 }, "X": { "type": "float", @@ -1876,7 +1876,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.043405532836914 + "value": 3.043405055999756 }, "X": { "type": "float", @@ -1895,7 +1895,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.914400815963745 + "value": 1.914400577545166 }, "X": { "type": "float", @@ -2158,7 +2158,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 0.4908724129199982 + "value": 0.4908723533153534 }, "X": { "type": "float", @@ -2947,7 +2947,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.914400815963745 + "value": 1.914400577545166 }, "X": { "type": "float", diff --git a/_module/git/theforgottenfore.git.json b/_module/git/theforgottenfore.git.json index 50bba986..a53fdac2 100644 --- a/_module/git/theforgottenfore.git.json +++ b/_module/git/theforgottenfore.git.json @@ -742,7 +742,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092492818832398 + "value": 3.092492580413818 }, "X": { "type": "float", @@ -1177,7 +1177,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.74888277053833 + "value": 2.748882293701172 }, "X": { "type": "float", @@ -1402,7 +1402,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.945230960845947 + "value": 2.945230484008789 }, "X": { "type": "float", @@ -1593,7 +1593,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.650707721710205 + "value": 2.650707244873047 }, "X": { "type": "float", diff --git a/_module/git/thenethercaves.git.json b/_module/git/thenethercaves.git.json index 74222fb0..b7b7b836 100644 --- a/_module/git/thenethercaves.git.json +++ b/_module/git/thenethercaves.git.json @@ -1603,7 +1603,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.816226720809937 + "value": 1.816226482391357 }, "X": { "type": "float", @@ -3298,7 +3298,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.797968864440918 + "value": 2.79796838760376 }, "X": { "type": "float", @@ -5023,7 +5023,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 0.9326569437980652 + "value": 0.9326568841934204 }, "X": { "type": "float", @@ -9784,7 +9784,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.945230007171631 + "value": 2.945229530334473 }, "X": { "type": "float", @@ -10123,7 +10123,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 0.9817439913749695 + "value": 0.9817438125610352 }, "X": { "type": "float", diff --git a/_module/git/theplaneofshadow.git.json b/_module/git/theplaneofshadow.git.json index 02fefb50..85cb71a9 100644 --- a/_module/git/theplaneofshadow.git.json +++ b/_module/git/theplaneofshadow.git.json @@ -1440,7 +1440,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.896152019500732 + "value": -2.896151542663574 }, "X": { "type": "float", @@ -3834,7 +3834,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.04341459274292 + "value": -3.043414115905762 }, "X": { "type": "float", diff --git a/_module/git/theroadtotown.git.json b/_module/git/theroadtotown.git.json index 66775daa..761827c3 100644 --- a/_module/git/theroadtotown.git.json +++ b/_module/git/theroadtotown.git.json @@ -909,7 +909,7 @@ }, "Orientation": { "type": "float", - "value": 1.748446010196858e-007 + "value": 1.748445725979764e-007 }, "X": { "type": "float", @@ -1971,7 +1971,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.1963488757610321 + "value": -0.1963488459587097 }, "X": { "type": "float", @@ -2795,7 +2795,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.4908721745014191 + "value": -0.4908721148967743 }, "X": { "type": "float", @@ -4071,7 +4071,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.748879194259644 + "value": 2.748878717422485 }, "X": { "type": "float", diff --git a/_module/git/theshadowrealm.git.json b/_module/git/theshadowrealm.git.json index 290f234c..f347e19e 100644 --- a/_module/git/theshadowrealm.git.json +++ b/_module/git/theshadowrealm.git.json @@ -1853,7 +1853,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -1.767144560813904 + "value": -1.767144322395325 }, "X": { "type": "float", @@ -2104,7 +2104,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -1.570795178413391 + "value": -1.570795059204102 }, "X": { "type": "float", diff --git a/_module/git/theswampofdecay.git.json b/_module/git/theswampofdecay.git.json index aba66461..20eae62e 100644 --- a/_module/git/theswampofdecay.git.json +++ b/_module/git/theswampofdecay.git.json @@ -2599,7 +2599,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -1.86531400680542 + "value": -1.86531388759613 }, "X": { "type": "float", @@ -3331,7 +3331,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -1.963488340377808 + "value": -1.963488101959229 }, "X": { "type": "float", @@ -3575,7 +3575,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.650707721710205 + "value": 2.650707244873047 }, "X": { "type": "float", @@ -3819,7 +3819,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.9817453622817993 + "value": -0.981745183467865 }, "X": { "type": "float", diff --git a/_module/git/thievescamp.git.json b/_module/git/thievescamp.git.json index 4db8106b..28df4758 100644 --- a/_module/git/thievescamp.git.json +++ b/_module/git/thievescamp.git.json @@ -3711,7 +3711,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -1.816231369972229 + "value": -1.81623113155365 }, "X": { "type": "float", @@ -3962,7 +3962,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.896152019500732 + "value": 2.896151542663574 }, "X": { "type": "float", @@ -4228,7 +4228,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.797977924346924 + "value": 2.797977447509766 }, "X": { "type": "float", @@ -4760,7 +4760,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.969783306121826 + "value": -2.969782829284668 }, "X": { "type": "float", diff --git a/_module/git/townofascension.git.json b/_module/git/townofascension.git.json index 6bd1f262..c8934acf 100644 --- a/_module/git/townofascension.git.json +++ b/_module/git/townofascension.git.json @@ -4422,227 +4422,6 @@ "type": "float", "value": 0.0 } - }, - { - "__struct_id": 8, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 0 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "Etched and oiled, the carvings on this door lend depth to its prominent woodgrain.", - "id": 9077 - } - }, - "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": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "LinkedTo": { - "type": "cexostring", - "value": "DR_MAGESMITH2TOWN" - }, - "LinkedToFlags": { - "type": "byte", - "value": 1 - }, - "LoadScreenID": { - "type": "word", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Wooden Door", - "id": 5349 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "x2_door_death" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnFailToOpen": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "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": 0 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "DR_TOWN2MAGESMITH" - }, - "TemplateResRef": { - "type": "resref", - "value": "nw_door_fancy" - }, - "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": 26.0 - }, - "Y": { - "type": "float", - "value": 92.30000305175781 - }, - "Z": { - "type": "float", - "value": 0.0 - } } ] }, @@ -12712,7 +12491,7 @@ "LocName": { "type": "cexolocstring", "value": { - "0": "Rowan's Circle", + "0": "Rowans Circle", "id": 5800 } }, @@ -15957,10898 +15736,6 @@ "type": "float", "value": 1.111371278762817 } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15377 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -1.570796251296997 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Awning - Rough 1" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 1 - }, - "PortraitId": { - "type": "word", - "value": 15324 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_awningr1" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_awningr002" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 20.90867424011231 - }, - "Y": { - "type": "float", - "value": 94.55001068115234 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 48 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -1.570796251296997 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14546 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 5690 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 1 - }, - "PortraitId": { - "type": "word", - "value": 406 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Anvil" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_anvil" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 21.27917861938477 - }, - "Y": { - "type": "float", - "value": 93.76612091064453 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 69 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14653 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 14654 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 427 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Hay Bundle" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_haybundle" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 21.13664627075195 - }, - "Y": { - "type": "float", - "value": 97.1512451171875 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 69 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.374446630477905 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14653 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 14654 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 427 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Hay Bundle" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_haybundle" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 20.87148666381836 - }, - "Y": { - "type": "float", - "value": 95.88869476318359 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 69 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14653 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 14654 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 427 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Hay Bundle" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_haybundle" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 21.18000030517578 - }, - "Y": { - "type": "float", - "value": 97.09999847412109 - }, - "Z": { - "type": "float", - "value": 0.5 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 321 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 2.994330167770386 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 68888 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 68887 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 687 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Pump" - }, - "TemplateResRef": { - "type": "resref", - "value": "x0_pump" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 28.43457794189453 - }, - "Y": { - "type": "float", - "value": 97.95131683349609 - }, - "Z": { - "type": "float", - "value": 0.009999959729611874 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 350 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 68958 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 4294967295 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 9224 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 0 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Wheelbarrow" - }, - "TemplateResRef": { - "type": "resref", - "value": "x0_wheelbarrow" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 28.46844482421875 - }, - "Y": { - "type": "float", - "value": 94.83330535888672 - }, - "Z": { - "type": "float", - "value": 0.01000006217509508 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 529 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.570796251296997 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "Murdoc's Magesmithing", - "id": 14717 - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Murdoc's Magesmithing", - "id": 108418 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 1 - }, - "PortraitId": { - "type": "word", - "value": 1132 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "x3_plc_sign002" - }, - "TemplateResRef": { - "type": "resref", - "value": "x3_plc_sign002" - }, - "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": 1 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 27.28000068664551 - }, - "Y": { - "type": "float", - "value": 91.01000213623047 - }, - "Z": { - "type": "float", - "value": -0.75 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 533 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.32418191550399e-026 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14642 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 25127 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1141 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "x3_plc_torch002" - }, - "TemplateResRef": { - "type": "resref", - "value": "x3_plc_torch002" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 23.50022315979004 - }, - "Y": { - "type": "float", - "value": 91.72381591796875 - }, - "Z": { - "type": "float", - "value": 0.0 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 527 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Basket" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1103 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_basket01" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_basket01" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 21.38013458251953 - }, - "Y": { - "type": "float", - "value": 92.41989898681641 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 523 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.570796251296997 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Barrel - Stack" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1102 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_brlstack1" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_brlstack1" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 22.81384658813477 - }, - "Y": { - "type": "float", - "value": 91.32411956787109 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15073 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Floor Soot 1" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 0 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_flrsoot1" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_flrsoot1" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 20.77064514160156 - }, - "Y": { - "type": "float", - "value": 92.11208343505859 - }, - "Z": { - "type": "float", - "value": 0.0 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 175 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.570796251296997 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14743 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 5818 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 533 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Throw Rug" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_throwrug" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 26.01645278930664 - }, - "Y": { - "type": "float", - "value": 91.38750457763672 - }, - "Z": { - "type": "float", - "value": -5.7220458984375e-006 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 187 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.261168617892335e-044 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 66885 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 52998 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 550 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Boulder" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_boulder" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 6.22929859161377 - }, - "Y": { - "type": "float", - "value": 101.5570068359375 - }, - "Z": { - "type": "float", - "value": 0.01000001933425665 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 516 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Bush - Grass Tuft 01" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1192 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_bushgrs01" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_bushgrs01" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 28.01545143127441 - }, - "Y": { - "type": "float", - "value": 92.79231262207031 - }, - "Z": { - "type": "float", - "value": 0.005846023559570313 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 517 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Bush - Grass Tuft 02" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1192 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_bushgrs02" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_bushgrs02" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 21.8560791015625 - }, - "Y": { - "type": "float", - "value": 98.09906768798828 - }, - "Z": { - "type": "float", - "value": -1.192092895507813e-007 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 291 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 68817 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 4294967295 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 68816 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 0 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x0_deadtree" - }, - "TemplateResRef": { - "type": "resref", - "value": "x0_deadtree" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 12.00664329528809 - }, - "Y": { - "type": "float", - "value": 96.45265960693359 - }, - "Z": { - "type": "float", - "value": 1.192092895507813e-007 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 637 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 68824 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 9268 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1235 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x3_plc_dirt001" - }, - "TemplateResRef": { - "type": "resref", - "value": "x3_plc_dirt001" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 12.23323822021484 - }, - "Y": { - "type": "float", - "value": 96.47966766357422 - }, - "Z": { - "type": "float", - "value": 4.76837158203125e-007 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 803 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.374446630477905 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 66749 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 0 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 52999 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1110 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x3_plc_fern001" - }, - "TemplateResRef": { - "type": "resref", - "value": "x3_plc_fern001" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 5.838323593139648 - }, - "Y": { - "type": "float", - "value": 89.32232666015625 - }, - "Z": { - "type": "float", - "value": 0.4390995502471924 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 804 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.7853981852531433 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 66749 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 0 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 52999 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1111 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x3_plc_fern002" - }, - "TemplateResRef": { - "type": "resref", - "value": "x3_plc_fern002" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 16.0848560333252 - }, - "Y": { - "type": "float", - "value": 106.0250015258789 - }, - "Z": { - "type": "float", - "value": 0.009999975562095642 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15076 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 2.356194257736206 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "These lovely flowers are in bloom and give off a sweet scent." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Flowers - Daisies (Ground Cover)" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15077 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_fwrdaisy01" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_fwrdaisy01" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 12.26297664642334 - }, - "Y": { - "type": "float", - "value": 102.2168502807617 - }, - "Z": { - "type": "float", - "value": 0.009999729692935944 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15077 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.374446630477905 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "These lovely flowers are in bloom and give off a sweet scent." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Flowers - Purple (Ground Cover)" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15078 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_fwrpurp01" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_fwrpurp01" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 12.2424840927124 - }, - "Y": { - "type": "float", - "value": 101.8845825195313 - }, - "Z": { - "type": "float", - "value": 0.3609235882759094 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15078 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.1963495314121246 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "These lovely flowers are in bloom and give off a sweet scent." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Flowers - Red (Ground Cover)" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15079 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_fwrred01" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_fwrred01" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 8.356734275817871 - }, - "Y": { - "type": "float", - "value": 97.36594390869141 - }, - "Z": { - "type": "float", - "value": 1.192092895507813e-007 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15079 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -3.141592264175415 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "These lovely flowers are in bloom and give off a sweet scent." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Flowers - Yellow (Ground Cover)" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15080 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_fwryello01" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_fwryello01" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 8.487791061401367 - }, - "Y": { - "type": "float", - "value": 97.44114685058594 - }, - "Z": { - "type": "float", - "value": 0.1750245839357376 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 637 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 5.240856256574816e-043 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "A large patch of dirt, unsuitable for almost anything but getting dirty or making mud.", - "id": 68824 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Ground - Dirt, Patch 01", - "id": 9268 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1235 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_dirtpatch1" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_dirtpatch1" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 25.68488502502441 - }, - "Y": { - "type": "float", - "value": 88.78682708740234 - }, - "Z": { - "type": "float", - "value": 2.384185791015625e-007 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 335 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 68871 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 4294967295 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 9207 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 681 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Moss" - }, - "TemplateResRef": { - "type": "resref", - "value": "x0_moss" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 28.54513359069824 - }, - "Y": { - "type": "float", - "value": 97.06441497802734 - }, - "Z": { - "type": "float", - "value": 0.009999998845160008 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15415 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "The many leaves of this bush are so dense that it is almost impossible to see through the foliage." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Plant - Flowering 01" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15272 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_flower01" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_flower01" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 27.38698959350586 - }, - "Y": { - "type": "float", - "value": 98.40058898925781 - }, - "Z": { - "type": "float", - "value": 0.009999969974160194 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15416 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "The many leaves of this bush are so dense that it is almost impossible to see through the foliage." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Plant - Flowering 02" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15273 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_flower02" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_flower02" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 26.7765007019043 - }, - "Y": { - "type": "float", - "value": 98.50132751464844 - }, - "Z": { - "type": "float", - "value": 0.009999980218708515 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15417 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "The many leaves of this bush are so dense that it is almost impossible to see through the foliage." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Plant - Flowering 03" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15274 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_flower03" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_flower03" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 26.02887916564941 - }, - "Y": { - "type": "float", - "value": 98.59225463867188 - }, - "Z": { - "type": "float", - "value": 1.192092895507813e-007 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15418 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "The many leaves of this bush are so dense that it is almost impossible to see through the foliage." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Plant - Flowering 04" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15275 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_flower04" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_flower04" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 23.60421371459961 - }, - "Y": { - "type": "float", - "value": 98.60482788085938 - }, - "Z": { - "type": "float", - "value": 0.0 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15419 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "The many leaves of this bush are so dense that it is almost impossible to see through the foliage." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Plant - Flowering 05" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15276 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_flower05" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_flower05" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 22.94644165039063 - }, - "Y": { - "type": "float", - "value": 98.60329437255859 - }, - "Z": { - "type": "float", - "value": 1.192092895507813e-007 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15420 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 9.80908925027372e-045 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "The many leaves of this bush are so dense that it is almost impossible to see through the foliage." - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Plant - Flowering 06" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 15277 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_flower06" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_flower06" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 22.38716316223145 - }, - "Y": { - "type": "float", - "value": 98.47075653076172 - }, - "Z": { - "type": "float", - "value": 0.0 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 256 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 68921 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 0 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 9270 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 813 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x0_stonepatch" - }, - "TemplateResRef": { - "type": "resref", - "value": "x0_stonepatch" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 28.27066612243652 - }, - "Y": { - "type": "float", - "value": 93.90658569335938 - }, - "Z": { - "type": "float", - "value": 0.0 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 795 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 6792 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 111664 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1136 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x3_plc_stump003" - }, - "TemplateResRef": { - "type": "resref", - "value": "x3_plc_stump003" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 14.9638671875 - }, - "Y": { - "type": "float", - "value": 93.87896728515625 - }, - "Z": { - "type": "float", - "value": -2.384185791015625e-007 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15197 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Smoke Plume" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 515 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_smoke_plum" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_smoke_plum" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 24.77462959289551 - }, - "Y": { - "type": "float", - "value": 97.98790740966797 - }, - "Z": { - "type": "float", - "value": 6.159993171691895 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15197 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Smoke Plume" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 515 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_smoke_plum" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_smoke_plum" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 34.83891296386719 - }, - "Y": { - "type": "float", - "value": 55.02290725708008 - }, - "Z": { - "type": "float", - "value": 9.300006866455078 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15197 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Smoke Plume" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 515 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_smoke_plum" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_smoke_plum" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 57.47366714477539 - }, - "Y": { - "type": "float", - "value": 75.02768707275391 - }, - "Z": { - "type": "float", - "value": 8.270000457763672 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15197 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 7.346950395217979e-039 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Smoke Plume" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 515 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_smoke_plum" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_smoke_plum" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 74.98553466796875 - }, - "Y": { - "type": "float", - "value": 74.86421966552734 - }, - "Z": { - "type": "float", - "value": 9.299999237060547 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 164 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14678 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 14673 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 522 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Magic Sparks - Red" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_magicred" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 48.04925918579102 - }, - "Y": { - "type": "float", - "value": 94.93756103515625 - }, - "Z": { - "type": "float", - "value": 16.49999618530273 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15197 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 6.337064206718424e-010 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Smoke Plume" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 515 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_smoke_plum" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_smoke_plum" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 35.09896087646484 - }, - "Y": { - "type": "float", - "value": 24.98270988464356 - }, - "Z": { - "type": "float", - "value": 9.30000114440918 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 15197 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Smoke Plume" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 515 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "tm_pl_smoke_plum" - }, - "TemplateResRef": { - "type": "resref", - "value": "tm_pl_smoke_plum" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 25.15888023376465 - }, - "Y": { - "type": "float", - "value": 22.03339195251465 - }, - "Z": { - "type": "float", - "value": 6.159999847412109 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 723 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 6.712219644115874e-043 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14609 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 111246 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1172 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x3_plc_smokemag" - }, - "TemplateResRef": { - "type": "resref", - "value": "x3_plc_smokemag" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 91.93169403076172 - }, - "Y": { - "type": "float", - "value": 12.01341438293457 - }, - "Z": { - "type": "float", - "value": 5.5 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 723 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 1.590473757008667e-042 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14609 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 111246 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1172 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x3_plc_smokemag" - }, - "TemplateResRef": { - "type": "resref", - "value": "x3_plc_smokemag" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 97.94792175292969 - }, - "Y": { - "type": "float", - "value": 12.02026081085205 - }, - "Z": { - "type": "float", - "value": 5.5 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 723 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 2.299530779957025e-042 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14609 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 111246 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1172 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x3_plc_smokemag" - }, - "TemplateResRef": { - "type": "resref", - "value": "x3_plc_smokemag" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 97.94663238525391 - }, - "Y": { - "type": "float", - "value": 18.03818511962891 - }, - "Z": { - "type": "float", - "value": 5.5 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 791 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 6792 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 111696 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1212 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "x3_plc_mist" - }, - "TemplateResRef": { - "type": "resref", - "value": "x3_plc_mist" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 94.97000122070313 - }, - "Y": { - "type": "float", - "value": 15.0 - }, - "Z": { - "type": "float", - "value": 0.5 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 723 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": 0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14609 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 111246 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 1172 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "x3_plc_smokemag" - }, - "TemplateResRef": { - "type": "resref", - "value": "x3_plc_smokemag" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 91.96720886230469 - }, - "Y": { - "type": "float", - "value": 18.01691055297852 - }, - "Z": { - "type": "float", - "value": 5.5 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 108 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14758 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 5751 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 466 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Woodpile" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_woodpile" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 24.13683319091797 - }, - "Y": { - "type": "float", - "value": 106.6688461303711 - }, - "Z": { - "type": "float", - "value": 4.76837158203125e-007 - } - }, - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 108 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -0.809941828250885 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "type": "cexolocstring", - "value": { - "id": 14758 - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "id": 5751 - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 466 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "Woodpile" - }, - "TemplateResRef": { - "type": "resref", - "value": "plc_woodpile" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 26.12471771240234 - }, - "Y": { - "type": "float", - "value": 105.9741973876953 - }, - "Z": { - "type": "float", - "value": 0.01000607013702393 - } } ] }, @@ -33997,7 +22884,7 @@ }, "PointZ": { "type": "float", - "value": 0.02500000037252903 + "value": 0.0350000187754631 } }, { @@ -38954,7 +27841,7 @@ }, "Tag": { "type": "cexostring", - "value": "MAP_POTIONS" + "value": "NW_WAYPOINT001" }, "TemplateResRef": { "type": "resref", @@ -39018,7 +27905,7 @@ }, "Tag": { "type": "cexostring", - "value": "MAP_WEAPONS" + "value": "NW_WAYPOINT001" }, "TemplateResRef": { "type": "resref", @@ -39082,7 +27969,7 @@ }, "Tag": { "type": "cexostring", - "value": "MAP_ARMOR" + "value": "NW_WAYPOINT001" }, "TemplateResRef": { "type": "resref", @@ -39146,7 +28033,7 @@ }, "Tag": { "type": "cexostring", - "value": "MAP_TAVERN" + "value": "NW_WAYPOINT001" }, "TemplateResRef": { "type": "resref", @@ -41366,7 +30253,7 @@ }, "Tag": { "type": "cexostring", - "value": "MAP_CLOTHES" + "value": "NW_WAYPOINT001" }, "TemplateResRef": { "type": "resref", @@ -41378,7 +30265,7 @@ }, "XPosition": { "type": "float", - "value": 36.76689529418945 + "value": 37.27591705322266 }, "YOrientation": { "type": "float", @@ -41386,11 +30273,11 @@ }, "YPosition": { "type": "float", - "value": 28.74950790405273 + "value": 30.01319122314453 }, "ZPosition": { "type": "float", - "value": 9.5367431640625e-007 + "value": 0.004884839057922363 } }, { @@ -41430,7 +30317,7 @@ }, "Tag": { "type": "cexostring", - "value": "MAP_SAGE" + "value": "NW_WAYPOINT001" }, "TemplateResRef": { "type": "resref", @@ -41442,7 +30329,7 @@ }, "XPosition": { "type": "float", - "value": 23.85392189025879 + "value": 23.99193382263184 }, "YOrientation": { "type": "float", @@ -41450,7 +30337,7 @@ }, "YPosition": { "type": "float", - "value": 28.8012866973877 + "value": 29.60420227050781 }, "ZPosition": { "type": "float", @@ -41494,7 +30381,7 @@ }, "Tag": { "type": "cexostring", - "value": "MAP_MERCHANT" + "value": "NW_WAYPOINT001" }, "TemplateResRef": { "type": "resref", @@ -41506,7 +30393,7 @@ }, "XPosition": { "type": "float", - "value": 20.53764152526856 + "value": 18.99476623535156 }, "YOrientation": { "type": "float", @@ -41514,11 +30401,11 @@ }, "YPosition": { "type": "float", - "value": 53.15777206420898 + "value": 53.80063629150391 }, "ZPosition": { "type": "float", - "value": -5.7220458984375e-006 + "value": 0.01000607013702393 } }, { @@ -42105,7 +30992,7 @@ }, "XPosition": { "type": "float", - "value": 71.40484619140625 + "value": 70.3248291015625 }, "YOrientation": { "type": "float", @@ -42113,7 +31000,7 @@ }, "YPosition": { "type": "float", - "value": 106.8449859619141 + "value": 106.176399230957 }, "ZPosition": { "type": "float", @@ -42338,7 +31225,7 @@ }, "Tag": { "type": "cexostring", - "value": "MAP_BANK" + "value": "NW_MAPNOTE001" }, "TemplateResRef": { "type": "resref", @@ -42350,7 +31237,7 @@ }, "XPosition": { "type": "float", - "value": 71.34652709960938 + "value": 69.18457794189453 }, "YOrientation": { "type": "float", @@ -42358,11 +31245,11 @@ }, "YPosition": { "type": "float", - "value": 105.0457229614258 + "value": 105.0732421875 }, "ZPosition": { "type": "float", - "value": -0.1000003814697266 + "value": -5.7220458984375e-006 } }, { @@ -42447,7 +31334,6 @@ "LocalizedName": { "type": "cexolocstring", "value": { - "0": "Map Note", "id": 14814 } }, @@ -42464,7 +31350,7 @@ }, "Tag": { "type": "cexostring", - "value": "MAP_CELLAR" + "value": "NW_MAPNOTE001" }, "TemplateResRef": { "type": "resref", @@ -42472,19 +31358,19 @@ }, "XOrientation": { "type": "float", - "value": -1.0 + "value": -0.9972904920578003 }, "XPosition": { "type": "float", - "value": 55.30714797973633 + "value": 54.86586380004883 }, "YOrientation": { "type": "float", - "value": 7.549790126404332e-008 + "value": -0.07356434315443039 }, "YPosition": { "type": "float", - "value": 79.13570404052734 + "value": 79.65332794189453 }, "ZPosition": { "type": "float", @@ -42551,69 +31437,6 @@ "type": "float", "value": -5.7220458984375e-006 } - }, - { - "__struct_id": 5, - "Appearance": { - "type": "byte", - "value": 1 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "HasMapNote": { - "type": "byte", - "value": 1 - }, - "LinkedTo": { - "type": "cexostring", - "value": "" - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "id": 14814 - } - }, - "MapNote": { - "type": "cexolocstring", - "value": { - "id": 14815 - } - }, - "MapNoteEnabled": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "MAP_MAGESMITH" - }, - "TemplateResRef": { - "type": "resref", - "value": "nw_mapnote001" - }, - "XOrientation": { - "type": "float", - "value": 4.224568749218635e-039 - }, - "XPosition": { - "type": "float", - "value": 25.99561882019043 - }, - "YOrientation": { - "type": "float", - "value": 1.0 - }, - "YPosition": { - "type": "float", - "value": 90.85719299316406 - }, - "ZPosition": { - "type": "float", - "value": 9.5367431640625e-007 - } } ] } diff --git a/_module/git/tunnelsofunderda.git.json b/_module/git/tunnelsofunderda.git.json index 767dfcb9..f563e70b 100644 --- a/_module/git/tunnelsofunderda.git.json +++ b/_module/git/tunnelsofunderda.git.json @@ -1792,7 +1792,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.092487812042236 + "value": -3.092487335205078 }, "X": { "type": "float", @@ -2017,7 +2017,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.043400049209595 + "value": 3.043399572372437 }, "X": { "type": "float", @@ -2474,7 +2474,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 1.914398193359375 + "value": 1.914397954940796 }, "X": { "type": "float", diff --git a/_module/git/upper_catacombs.git.json b/_module/git/upper_catacombs.git.json index 56bf9afb..e8c24326 100644 --- a/_module/git/upper_catacombs.git.json +++ b/_module/git/upper_catacombs.git.json @@ -1196,7 +1196,7 @@ }, "Orientation": { "type": "float", - "value": 3.092487335205078 + "value": 3.09248685836792 }, "X": { "type": "float", @@ -2836,7 +2836,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.945225715637207 + "value": -2.945225238800049 }, "X": { "type": "float", @@ -3137,7 +3137,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141574621200562 + "value": -3.141574382781982 }, "X": { "type": "float", @@ -4189,7 +4189,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.99431300163269 + "value": -2.994312763214111 }, "X": { "type": "float", @@ -4715,7 +4715,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 2.797963857650757 + "value": 2.797963380813599 }, "X": { "type": "float", @@ -5260,7 +5260,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.092487335205078 + "value": 3.09248685836792 }, "X": { "type": "float", diff --git a/_module/git/valepass.git.json b/_module/git/valepass.git.json index 8895f20a..40d7e332 100644 --- a/_module/git/valepass.git.json +++ b/_module/git/valepass.git.json @@ -3082,7 +3082,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 3.117045879364014 + "value": 3.117045402526856 }, "X": { "type": "float", diff --git a/_module/git/wilderness.git.json b/_module/git/wilderness.git.json index c27df05d..2097f21e 100644 --- a/_module/git/wilderness.git.json +++ b/_module/git/wilderness.git.json @@ -473,7 +473,7 @@ }, "Orientation": { "type": "float", - "value": -2.945230960845947 + "value": -2.945230484008789 }, "X": { "type": "float", @@ -2356,7 +2356,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -3.141579866409302 + "value": -3.141579389572144 }, "X": { "type": "float", @@ -2989,7 +2989,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": 0.3926979899406433 + "value": 0.3926979601383209 }, "X": { "type": "float", @@ -3195,7 +3195,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -2.797969341278076 + "value": -2.797968864440918 }, "X": { "type": "float", diff --git a/_module/git/yuanticoven.git.json b/_module/git/yuanticoven.git.json index c7f1ddfa..6e445282 100644 --- a/_module/git/yuanticoven.git.json +++ b/_module/git/yuanticoven.git.json @@ -915,7 +915,7 @@ }, "Orientation": { "type": "float", - "value": -0.0006912352982908487 + "value": -0.0006912351818755269 }, "X": { "type": "float", @@ -1149,7 +1149,7 @@ }, "Orientation": { "type": "float", - "value": -0.0006912352982908487 + "value": -0.0006912351818755269 }, "X": { "type": "float", @@ -1363,7 +1363,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.0006912352982908487 + "value": -0.0006912351818755269 }, "X": { "type": "float", @@ -1569,7 +1569,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.0006912352982908487 + "value": -0.0006912351818755269 }, "X": { "type": "float", @@ -1790,7 +1790,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.0006912352982908487 + "value": -0.0006912351818755269 }, "X": { "type": "float", @@ -1996,7 +1996,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.0006912352982908487 + "value": -0.0006912351818755269 }, "X": { "type": "float", @@ -2202,7 +2202,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.0006912352982908487 + "value": -0.0006912351818755269 }, "X": { "type": "float", @@ -2408,7 +2408,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.0006912352982908487 + "value": -0.0006912351818755269 }, "X": { "type": "float", @@ -2614,7 +2614,7 @@ "__struct_id": 2, "Orientation": { "type": "float", - "value": -0.0006912352982908487 + "value": -0.0006912351818755269 }, "X": { "type": "float", diff --git a/_module/ifo/module.ifo.json b/_module/ifo/module.ifo.json index 7e0f56c9..048363ad 100644 --- a/_module/ifo/module.ifo.json +++ b/_module/ifo/module.ifo.json @@ -1154,13 +1154,6 @@ "type": "resref", "value": "upper_catacombs" } - }, - { - "__struct_id": 6, - "Area_Name": { - "type": "resref", - "value": "magesmith" - } } ] }, diff --git a/_module/itp/creaturepalcus.itp.json b/_module/itp/creaturepalcus.itp.json index accedfe2..f5a031e3 100644 --- a/_module/itp/creaturepalcus.itp.json +++ b/_module/itp/creaturepalcus.itp.json @@ -5319,7 +5319,7 @@ "__struct_id": 0, "CR": { "type": "float", - "value": 11.0 + "value": 12.0 }, "FACTION": { "type": "cexostring", diff --git a/_module/itp/itempalcus.itp.json b/_module/itp/itempalcus.itp.json index e71c2ff8..5cd0850e 100644 --- a/_module/itp/itempalcus.itp.json +++ b/_module/itp/itempalcus.itp.json @@ -34349,105 +34349,6 @@ "value": 68948 } }, - { - "__struct_id": 0, - "NAME": { - "type": "cexostring", - "value": "Crafting Belt" - }, - "RESREF": { - "type": "resref", - "value": "craftingbelt" - } - }, - { - "__struct_id": 0, - "NAME": { - "type": "cexostring", - "value": "Crafting Cloak" - }, - "RESREF": { - "type": "resref", - "value": "craftingcloak" - } - }, - { - "__struct_id": 0, - "NAME": { - "type": "cexostring", - "value": "Crafting Dagger" - }, - "RESREF": { - "type": "resref", - "value": "craftingdagger" - } - }, - { - "__struct_id": 0, - "NAME": { - "type": "cexostring", - "value": "Crafting Dart" - }, - "RESREF": { - "type": "resref", - "value": "craftingdart" - } - }, - { - "__struct_id": 0, - "NAME": { - "type": "cexostring", - "value": "Crafting Dirk" - }, - "RESREF": { - "type": "resref", - "value": "craftingdirk" - } - }, - { - "__struct_id": 0, - "NAME": { - "type": "cexostring", - "value": "Crafting Ring" - }, - "RESREF": { - "type": "resref", - "value": "craftingring" - } - }, - { - "__struct_id": 0, - "NAME": { - "type": "cexostring", - "value": "Crafting Shield" - }, - "RESREF": { - "type": "resref", - "value": "craftingshield" - } - }, - { - "__struct_id": 0, - "NAME": { - "type": "cexostring", - "value": "Crafting Sling" - }, - "RESREF": { - "type": "resref", - "value": "craftingsling" - } - }, - { - "__struct_id": 0, - "NAME": { - "type": "cexostring", - "value": "Crafting Stone" - }, - "RESREF": { - "type": "resref", - "value": "craftingtoken" - } - }, { "__struct_id": 0, "NAME": { diff --git a/_module/itp/placeablepalcus.itp.json b/_module/itp/placeablepalcus.itp.json index b229206d..5a30c1d1 100644 --- a/_module/itp/placeablepalcus.itp.json +++ b/_module/itp/placeablepalcus.itp.json @@ -4218,28 +4218,6 @@ "value": "darkmote001" } }, - { - "__struct_id": 0, - "NAME": { - "type": "cexostring", - "value": "Fire" - }, - "RESREF": { - "type": "resref", - "value": "fire" - } - }, - { - "__struct_id": 0, - "NAME": { - "type": "cexostring", - "value": "Fire" - }, - "RESREF": { - "type": "resref", - "value": "vfx_plc_fire" - } - }, { "__struct_id": 0, "NAME": { diff --git a/_module/ncs/arcane_recycler.ncs b/_module/ncs/arcane_recycler.ncs deleted file mode 100644 index 29f33b23..00000000 Binary files a/_module/ncs/arcane_recycler.ncs and /dev/null differ diff --git a/_module/ncs/chk_prop_eight.ncs b/_module/ncs/chk_prop_eight.ncs deleted file mode 100644 index 42c7c368..00000000 Binary files a/_module/ncs/chk_prop_eight.ncs and /dev/null differ diff --git a/_module/ncs/codi_spawn.ncs b/_module/ncs/codi_spawn.ncs index 13b0c632..c4c9d4d8 100644 Binary files a/_module/ncs/codi_spawn.ncs and b/_module/ncs/codi_spawn.ncs differ diff --git a/_module/ncs/darktrigger.ncs b/_module/ncs/darktrigger.ncs index a3f08a15..3678fcf3 100644 Binary files a/_module/ncs/darktrigger.ncs and b/_module/ncs/darktrigger.ncs differ diff --git a/_module/ncs/forge_chkpockets.ncs b/_module/ncs/forge_chkpockets.ncs deleted file mode 100644 index 0554d035..00000000 Binary files a/_module/ncs/forge_chkpockets.ncs and /dev/null differ diff --git a/_module/ncs/forge_combinechk.ncs b/_module/ncs/forge_combinechk.ncs deleted file mode 100644 index b5d0a427..00000000 Binary files a/_module/ncs/forge_combinechk.ncs and /dev/null differ diff --git a/_module/ncs/forge_custtokens.ncs b/_module/ncs/forge_custtokens.ncs deleted file mode 100644 index d6b2473b..00000000 Binary files a/_module/ncs/forge_custtokens.ncs and /dev/null differ diff --git a/_module/ncs/forge_fulmcheck.ncs b/_module/ncs/forge_fulmcheck.ncs deleted file mode 100644 index 089c7ee1..00000000 Binary files a/_module/ncs/forge_fulmcheck.ncs and /dev/null differ diff --git a/_module/ncs/forge_fulmstrip.ncs b/_module/ncs/forge_fulmstrip.ncs deleted file mode 100644 index 1b898b94..00000000 Binary files a/_module/ncs/forge_fulmstrip.ncs and /dev/null differ diff --git a/_module/ncs/forge_guildcheck.ncs b/_module/ncs/forge_guildcheck.ncs deleted file mode 100644 index dd84a855..00000000 Binary files a/_module/ncs/forge_guildcheck.ncs and /dev/null differ diff --git a/_module/ncs/forge_hicostcalc.ncs b/_module/ncs/forge_hicostcalc.ncs deleted file mode 100644 index 320d38d0..00000000 Binary files a/_module/ncs/forge_hicostcalc.ncs and /dev/null differ diff --git a/_module/ncs/forge_itemnorisk.ncs b/_module/ncs/forge_itemnorisk.ncs deleted file mode 100644 index 5eb89534..00000000 Binary files a/_module/ncs/forge_itemnorisk.ncs and /dev/null differ diff --git a/_module/ncs/forge_itemsplit.ncs b/_module/ncs/forge_itemsplit.ncs deleted file mode 100644 index cb258436..00000000 Binary files a/_module/ncs/forge_itemsplit.ncs and /dev/null differ diff --git a/_module/ncs/forge_mergecheck.ncs b/_module/ncs/forge_mergecheck.ncs deleted file mode 100644 index fc4262db..00000000 Binary files a/_module/ncs/forge_mergecheck.ncs and /dev/null differ diff --git a/_module/ncs/forge_sdcheck.ncs b/_module/ncs/forge_sdcheck.ncs deleted file mode 100644 index 0c8c052a..00000000 Binary files a/_module/ncs/forge_sdcheck.ncs and /dev/null differ diff --git a/_module/ncs/forge_spititout.ncs b/_module/ncs/forge_spititout.ncs deleted file mode 100644 index 24db9328..00000000 Binary files a/_module/ncs/forge_spititout.ncs and /dev/null differ diff --git a/_module/ncs/forge_splitcheck.ncs b/_module/ncs/forge_splitcheck.ncs deleted file mode 100644 index 227f41cb..00000000 Binary files a/_module/ncs/forge_splitcheck.ncs and /dev/null differ diff --git a/_module/ncs/forge_validcheck.ncs b/_module/ncs/forge_validcheck.ncs deleted file mode 100644 index 6eeb2225..00000000 Binary files a/_module/ncs/forge_validcheck.ncs and /dev/null differ diff --git a/_module/ncs/no_spn_a_buff.ncs b/_module/ncs/no_spn_a_buff.ncs new file mode 100644 index 00000000..9a6451f4 Binary files /dev/null and b/_module/ncs/no_spn_a_buff.ncs differ diff --git a/_module/ncs/no_spn_animalist.ncs b/_module/ncs/no_spn_animalist.ncs new file mode 100644 index 00000000..ad51a5fa Binary files /dev/null and b/_module/ncs/no_spn_animalist.ncs differ diff --git a/_module/ncs/no_spn_aoemage.ncs b/_module/ncs/no_spn_aoemage.ncs new file mode 100644 index 00000000..55c47d65 Binary files /dev/null and b/_module/ncs/no_spn_aoemage.ncs differ diff --git a/_module/ncs/no_spn_b_knight.ncs b/_module/ncs/no_spn_b_knight.ncs new file mode 100644 index 00000000..7735508f Binary files /dev/null and b/_module/ncs/no_spn_b_knight.ncs differ diff --git a/_module/ncs/no_spn_barb.ncs b/_module/ncs/no_spn_barb.ncs new file mode 100644 index 00000000..0346b7c3 Binary files /dev/null and b/_module/ncs/no_spn_barb.ncs differ diff --git a/_module/ncs/no_spn_bard.ncs b/_module/ncs/no_spn_bard.ncs new file mode 100644 index 00000000..94134fcd Binary files /dev/null and b/_module/ncs/no_spn_bard.ncs differ diff --git a/_module/ncs/no_spn_bard2.ncs b/_module/ncs/no_spn_bard2.ncs new file mode 100644 index 00000000..dd6bda32 Binary files /dev/null and b/_module/ncs/no_spn_bard2.ncs differ diff --git a/_module/ncs/no_spn_blank.ncs b/_module/ncs/no_spn_blank.ncs new file mode 100644 index 00000000..592086c9 Binary files /dev/null and b/_module/ncs/no_spn_blank.ncs differ diff --git a/_module/ncs/no_spn_bow.ncs b/_module/ncs/no_spn_bow.ncs new file mode 100644 index 00000000..3c885b9c Binary files /dev/null and b/_module/ncs/no_spn_bow.ncs differ diff --git a/_module/ncs/no_spn_cleric.ncs b/_module/ncs/no_spn_cleric.ncs new file mode 100644 index 00000000..a9728221 Binary files /dev/null and b/_module/ncs/no_spn_cleric.ncs differ diff --git a/_module/ncs/no_spn_conqr.ncs b/_module/ncs/no_spn_conqr.ncs new file mode 100644 index 00000000..40a09e1f Binary files /dev/null and b/_module/ncs/no_spn_conqr.ncs differ diff --git a/_module/ncs/no_spn_dcaller.ncs b/_module/ncs/no_spn_dcaller.ncs new file mode 100644 index 00000000..86d650ad Binary files /dev/null and b/_module/ncs/no_spn_dcaller.ncs differ diff --git a/_module/ncs/no_spn_dgoon.ncs b/_module/ncs/no_spn_dgoon.ncs new file mode 100644 index 00000000..b3b3a0fd Binary files /dev/null and b/_module/ncs/no_spn_dgoon.ncs differ diff --git a/_module/ncs/no_spn_dpally.ncs b/_module/ncs/no_spn_dpally.ncs new file mode 100644 index 00000000..7de8d368 Binary files /dev/null and b/_module/ncs/no_spn_dpally.ncs differ diff --git a/_module/ncs/no_spn_dragon.ncs b/_module/ncs/no_spn_dragon.ncs index e32d1ac2..f12afc5d 100644 Binary files a/_module/ncs/no_spn_dragon.ncs and b/_module/ncs/no_spn_dragon.ncs differ diff --git a/_module/ncs/no_spn_druid.ncs b/_module/ncs/no_spn_druid.ncs new file mode 100644 index 00000000..f5a9b12d Binary files /dev/null and b/_module/ncs/no_spn_druid.ncs differ diff --git a/_module/ncs/no_spn_druid2.ncs b/_module/ncs/no_spn_druid2.ncs new file mode 100644 index 00000000..5fbec959 Binary files /dev/null and b/_module/ncs/no_spn_druid2.ncs differ diff --git a/_module/ncs/no_spn_en4cast1.ncs b/_module/ncs/no_spn_en4cast1.ncs new file mode 100644 index 00000000..27419580 Binary files /dev/null and b/_module/ncs/no_spn_en4cast1.ncs differ diff --git a/_module/ncs/no_spn_en4rog.ncs b/_module/ncs/no_spn_en4rog.ncs new file mode 100644 index 00000000..674305b8 Binary files /dev/null and b/_module/ncs/no_spn_en4rog.ncs differ diff --git a/_module/ncs/no_spn_heal.ncs b/_module/ncs/no_spn_heal.ncs new file mode 100644 index 00000000..57a23fce Binary files /dev/null and b/_module/ncs/no_spn_heal.ncs differ diff --git a/_module/ncs/no_spn_healdruid.ncs b/_module/ncs/no_spn_healdruid.ncs new file mode 100644 index 00000000..a45d0590 Binary files /dev/null and b/_module/ncs/no_spn_healdruid.ncs differ diff --git a/_module/ncs/no_spn_immortus.ncs b/_module/ncs/no_spn_immortus.ncs new file mode 100644 index 00000000..0b355ec0 Binary files /dev/null and b/_module/ncs/no_spn_immortus.ncs differ diff --git a/_module/ncs/no_spn_infern.ncs b/_module/ncs/no_spn_infern.ncs new file mode 100644 index 00000000..c5496624 Binary files /dev/null and b/_module/ncs/no_spn_infern.ncs differ diff --git a/_module/ncs/no_spn_mage.ncs b/_module/ncs/no_spn_mage.ncs new file mode 100644 index 00000000..f47215c9 Binary files /dev/null and b/_module/ncs/no_spn_mage.ncs differ diff --git a/_module/ncs/no_spn_mino.ncs b/_module/ncs/no_spn_mino.ncs new file mode 100644 index 00000000..c30d5ced Binary files /dev/null and b/_module/ncs/no_spn_mino.ncs differ diff --git a/_module/ncs/no_spn_mino_wiz.ncs b/_module/ncs/no_spn_mino_wiz.ncs new file mode 100644 index 00000000..88ddbf27 Binary files /dev/null and b/_module/ncs/no_spn_mino_wiz.ncs differ diff --git a/_module/ncs/no_spn_minsage.ncs b/_module/ncs/no_spn_minsage.ncs new file mode 100644 index 00000000..e96fa8ed Binary files /dev/null and b/_module/ncs/no_spn_minsage.ncs differ diff --git a/_module/ncs/no_spn_mummy.ncs b/_module/ncs/no_spn_mummy.ncs new file mode 100644 index 00000000..d3aaba54 Binary files /dev/null and b/_module/ncs/no_spn_mummy.ncs differ diff --git a/_module/ncs/no_spn_necr_boss.ncs b/_module/ncs/no_spn_necr_boss.ncs new file mode 100644 index 00000000..740edf81 Binary files /dev/null and b/_module/ncs/no_spn_necr_boss.ncs differ diff --git a/_module/ncs/no_spn_necro.ncs b/_module/ncs/no_spn_necro.ncs new file mode 100644 index 00000000..b66bd19d Binary files /dev/null and b/_module/ncs/no_spn_necro.ncs differ diff --git a/_module/ncs/no_spn_nmncr.ncs b/_module/ncs/no_spn_nmncr.ncs new file mode 100644 index 00000000..c5ecf139 Binary files /dev/null and b/_module/ncs/no_spn_nmncr.ncs differ diff --git a/_module/ncs/no_spn_orc_mys.ncs b/_module/ncs/no_spn_orc_mys.ncs new file mode 100644 index 00000000..db03a6de Binary files /dev/null and b/_module/ncs/no_spn_orc_mys.ncs differ diff --git a/_module/ncs/no_spn_pally.ncs b/_module/ncs/no_spn_pally.ncs new file mode 100644 index 00000000..fb1d3e01 Binary files /dev/null and b/_module/ncs/no_spn_pally.ncs differ diff --git a/_module/ncs/no_spn_pally2.ncs b/_module/ncs/no_spn_pally2.ncs new file mode 100644 index 00000000..c5a81174 Binary files /dev/null and b/_module/ncs/no_spn_pally2.ncs differ diff --git a/_module/ncs/no_spn_pkeeper.ncs b/_module/ncs/no_spn_pkeeper.ncs new file mode 100644 index 00000000..8d5dd552 Binary files /dev/null and b/_module/ncs/no_spn_pkeeper.ncs differ diff --git a/_module/ncs/no_spn_poltgst.ncs b/_module/ncs/no_spn_poltgst.ncs new file mode 100644 index 00000000..8b50c9af Binary files /dev/null and b/_module/ncs/no_spn_poltgst.ncs differ diff --git a/_module/ncs/no_spn_pureheal.ncs b/_module/ncs/no_spn_pureheal.ncs new file mode 100644 index 00000000..5443f4c9 Binary files /dev/null and b/_module/ncs/no_spn_pureheal.ncs differ diff --git a/_module/ncs/no_spn_r_fig.ncs b/_module/ncs/no_spn_r_fig.ncs new file mode 100644 index 00000000..1b7f425d Binary files /dev/null and b/_module/ncs/no_spn_r_fig.ncs differ diff --git a/_module/ncs/no_spn_ranged.ncs b/_module/ncs/no_spn_ranged.ncs new file mode 100644 index 00000000..35effaa9 Binary files /dev/null and b/_module/ncs/no_spn_ranged.ncs differ diff --git a/_module/ncs/no_spn_s_knight.ncs b/_module/ncs/no_spn_s_knight.ncs new file mode 100644 index 00000000..c5dcb3d0 Binary files /dev/null and b/_module/ncs/no_spn_s_knight.ncs differ diff --git a/_module/ncs/no_spn_satdruid.ncs b/_module/ncs/no_spn_satdruid.ncs new file mode 100644 index 00000000..25428a5e Binary files /dev/null and b/_module/ncs/no_spn_satdruid.ncs differ diff --git a/_module/ncs/no_spn_satyrbard.ncs b/_module/ncs/no_spn_satyrbard.ncs new file mode 100644 index 00000000..b324c275 Binary files /dev/null and b/_module/ncs/no_spn_satyrbard.ncs differ diff --git a/_module/ncs/no_spn_sbss.ncs b/_module/ncs/no_spn_sbss.ncs new file mode 100644 index 00000000..5cb82ff6 Binary files /dev/null and b/_module/ncs/no_spn_sbss.ncs differ diff --git a/_module/ncs/no_spn_sham.ncs b/_module/ncs/no_spn_sham.ncs new file mode 100644 index 00000000..bb994791 Binary files /dev/null and b/_module/ncs/no_spn_sham.ncs differ diff --git a/_module/ncs/no_spn_singer.ncs b/_module/ncs/no_spn_singer.ncs new file mode 100644 index 00000000..94030f90 Binary files /dev/null and b/_module/ncs/no_spn_singer.ncs differ diff --git a/_module/ncs/no_spn_sneaker.ncs b/_module/ncs/no_spn_sneaker.ncs new file mode 100644 index 00000000..23f14c6e Binary files /dev/null and b/_module/ncs/no_spn_sneaker.ncs differ diff --git a/_module/ncs/no_spn_sneaker2.ncs b/_module/ncs/no_spn_sneaker2.ncs new file mode 100644 index 00000000..2aa25189 Binary files /dev/null and b/_module/ncs/no_spn_sneaker2.ncs differ diff --git a/_module/ncs/no_spn_sneakrog.ncs b/_module/ncs/no_spn_sneakrog.ncs new file mode 100644 index 00000000..673c0f18 Binary files /dev/null and b/_module/ncs/no_spn_sneakrog.ncs differ diff --git a/_module/ncs/no_spn_sorc.ncs b/_module/ncs/no_spn_sorc.ncs new file mode 100644 index 00000000..afbab5ea Binary files /dev/null and b/_module/ncs/no_spn_sorc.ncs differ diff --git a/_module/ncs/no_spn_tank.ncs b/_module/ncs/no_spn_tank.ncs new file mode 100644 index 00000000..7ec5333d Binary files /dev/null and b/_module/ncs/no_spn_tank.ncs differ diff --git a/_module/ncs/no_spn_warrior.ncs b/_module/ncs/no_spn_warrior.ncs new file mode 100644 index 00000000..38538943 Binary files /dev/null and b/_module/ncs/no_spn_warrior.ncs differ diff --git a/_module/ncs/no_spn_warrior_b.ncs b/_module/ncs/no_spn_warrior_b.ncs new file mode 100644 index 00000000..231a9323 Binary files /dev/null and b/_module/ncs/no_spn_warrior_b.ncs differ diff --git a/_module/ncs/no_spn_warrior_c.ncs b/_module/ncs/no_spn_warrior_c.ncs new file mode 100644 index 00000000..34292240 Binary files /dev/null and b/_module/ncs/no_spn_warrior_c.ncs differ diff --git a/_module/ncs/no_spn_wiz2.ncs b/_module/ncs/no_spn_wiz2.ncs new file mode 100644 index 00000000..2dcbbcbc Binary files /dev/null and b/_module/ncs/no_spn_wiz2.ncs differ diff --git a/_module/ncs/prc_pwonspawn.ncs b/_module/ncs/prc_pwonspawn.ncs index 7833e5ad..81b12c5c 100644 Binary files a/_module/ncs/prc_pwonspawn.ncs and b/_module/ncs/prc_pwonspawn.ncs differ diff --git a/_module/ncs/silenttrigger2.ncs b/_module/ncs/silenttrigger2.ncs index 90e8f4e5..2274260f 100644 Binary files a/_module/ncs/silenttrigger2.ncs and b/_module/ncs/silenttrigger2.ncs differ diff --git a/_module/ncs/skullkeep_badchk.ncs b/_module/ncs/skullkeep_badchk.ncs deleted file mode 100644 index f10f9882..00000000 Binary files a/_module/ncs/skullkeep_badchk.ncs and /dev/null differ diff --git a/_module/ncs/spawnb_cc_activ.ncs b/_module/ncs/spawnb_cc_activ.ncs index de4d1662..b571555b 100644 Binary files a/_module/ncs/spawnb_cc_activ.ncs and b/_module/ncs/spawnb_cc_activ.ncs differ diff --git a/_module/ncs/spawnb_cc_dactiv.ncs b/_module/ncs/spawnb_cc_dactiv.ncs index 77e80d77..7e94385e 100644 Binary files a/_module/ncs/spawnb_cc_dactiv.ncs and b/_module/ncs/spawnb_cc_dactiv.ncs differ diff --git a/_module/nss/arcane_recycler.nss b/_module/nss/arcane_recycler.nss deleted file mode 100644 index 400a1aea..00000000 --- a/_module/nss/arcane_recycler.nss +++ /dev/null @@ -1,40 +0,0 @@ -// Trash can script that only destroys items placed in the inventory -// for more than HOURS_TO_DESTROY in-game hours. - -const string VAR_ITEM_TIMESTAMP = "TRASH_VINTAGE"; // Variable to store the time an item was placed -const int HOURS_TO_DESTROY = 12; // Hours an item must remain in the container - -int GetCurrentGameTimeInSeconds() -{ - // Get the current game time in hours, minutes, and seconds - int nHours = GetTimeHour(); - int nMinutes = GetTimeMinute(); - int nSeconds = GetTimeSecond(); - - // Convert to total seconds for easy comparison - return (nHours * 3600) + (nMinutes * 60) + nSeconds; -} - -void main() -{ - object oItem = GetFirstItemInInventory(OBJECT_SELF); - int nCurrentTime = GetCurrentGameTimeInSeconds(); // Current in-game time in seconds - int nTimeThreshold = FloatToInt(HoursToSeconds(HOURS_TO_DESTROY)); // Convert hours to seconds for comparison - - while (GetIsObjectValid(oItem)) - { - int nItemTime = GetLocalInt(oItem, VAR_ITEM_TIMESTAMP); - - // If the item has no timestamp, assign the current time - if (nItemTime == 0) - { - SetLocalInt(oItem, VAR_ITEM_TIMESTAMP, nCurrentTime); - } - else if (nCurrentTime - nItemTime >= nTimeThreshold) // Check if item has been in container for required hours - { - DestroyObject(oItem); - } - - oItem = GetNextItemInInventory(OBJECT_SELF); - } -} \ No newline at end of file diff --git a/_module/nss/chk_prop_eight.nss b/_module/nss/chk_prop_eight.nss deleted file mode 100644 index 71bdbcf0..00000000 --- a/_module/nss/chk_prop_eight.nss +++ /dev/null @@ -1,19 +0,0 @@ -#include "prc_x2_itemprop" - -int StartingConditional() -{ - object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1); - object oItem = GetFirstItemInInventory(oForge); - int nCount = IPGetNumberOfItemProperties(oItem); - int nProps; - - if (nCount > 7) - - { - return TRUE; - } - - return FALSE; - - -} diff --git a/_module/nss/codi_spawn.nss b/_module/nss/codi_spawn.nss index 8d30862a..1ae1fb25 100644 --- a/_module/nss/codi_spawn.nss +++ b/_module/nss/codi_spawn.nss @@ -576,7 +576,10 @@ void main() ApplyEffectToObject(DURATION_TYPE_PERMANENT, eConceal, OBJECT_SELF); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eGhost, OBJECT_SELF); } - + +//:: Set or Randomize name + ms_Nomenclature(OBJECT_SELF); + //:: Execute OnSpawn script. int nSpider = GetStringLeft(GetTag(OBJECT_SELF), 12) == "MONST_SPIDER" ? TRUE : FALSE; if(nSpider) @@ -594,11 +597,7 @@ void main() ExecuteScript("prc_pwonspawn", OBJECT_SELF); //:: Execute PRC OnSpawn script. ExecuteScript("prc_npc_spawn", OBJECT_SELF); - } - -//:: Set or Randomize name - ms_Nomenclature(OBJECT_SELF); - + } //:: Post Spawn event requested if (nSpecEvent == 2 || nSpecEvent == 3) diff --git a/_module/nss/forge_chkpockets.nss b/_module/nss/forge_chkpockets.nss deleted file mode 100644 index 797bedf9..00000000 --- a/_module/nss/forge_chkpockets.nss +++ /dev/null @@ -1,14 +0,0 @@ -//:://///////////////////////////////////////////// -//:: FileName forge_chkpockets -//::////////////////////////////////////////////// -//::////////////////////////////////////////////// -//:: Created By: Script Wizard -//:: Created On: 2/19/2006 1:12:53 AM -//::////////////////////////////////////////////// -int StartingConditional() -{ - if((GetLocalInt(OBJECT_SELF, "ItemCost")) <= GetGold(GetPCSpeaker())) - return FALSE; - - return TRUE; -} diff --git a/_module/nss/forge_combinechk.nss b/_module/nss/forge_combinechk.nss deleted file mode 100644 index 3b5ecfb2..00000000 --- a/_module/nss/forge_combinechk.nss +++ /dev/null @@ -1,15 +0,0 @@ -/////:://///////////////////////////////////////////// -/////:: forge_combinecheck script - check to make sure items in combine are correct -/////:: Written by Winterknight on 2/17/06 -/////::////////////////////////////////////////////// -#include "nw_i0_tool" - -int StartingConditional() -{ - object oForge = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1); - object oItem = GetFirstItemInInventory(oForge); - if (!GetIsObjectValid(oItem)) - return TRUE; - - return FALSE; -} diff --git a/_module/nss/forge_custtokens.nss b/_module/nss/forge_custtokens.nss deleted file mode 100644 index 1b82c160..00000000 --- a/_module/nss/forge_custtokens.nss +++ /dev/null @@ -1,177 +0,0 @@ -/////:://///////////////////////////////////////////// -/////:: forge_custtokens script - set custom tokens for forge conversation -/////:: Written by Winterknight on 2/17/06 -/////:: This script also is used to set up the basics for the forge. -/////:: this script as necessary to change the basic type of forge. -/////:: -/////:: Updated for Path of Ascension / PRC8 by Jaysyn -/////::////////////////////////////////////////////// -#include "prc_misc_const" - -void main() -{ - object oForge = GetNearestObjectByTag("forge_custom", OBJECT_SELF, 1); - object oItem = GetFirstItemInInventory(oForge); - - // Store the forge name for display - SetCustomToken(101, GetName(oForge)); // Name of Forge - SetLocalString(OBJECT_SELF, "ForgeName", GetName(oForge)); - - string sTypes = "Unsupported Item Type"; // Default message - int nType = 0; - - // Check the base item type of oItem and assign corresponding sTypes and nType - if (oItem != OBJECT_INVALID) - { - int nBaseItemType = GetBaseItemType(oItem); - - switch (nBaseItemType) - { - case BASE_ITEM_BOOTS: - case BASE_ITEM_BELT: - sTypes = "Belts and Boots"; - nType = 1; - break; - - case BASE_ITEM_ARMOR: - case BASE_ITEM_BRACER: - case BASE_ITEM_HELMET: - case BASE_ITEM_LARGESHIELD: - case BASE_ITEM_SMALLSHIELD: - case BASE_ITEM_TOWERSHIELD: - sTypes = "Armor, Helms and Shields"; - nType = 2; - break; - - case BASE_ITEM_BASTARDSWORD: - case BASE_ITEM_BATTLEAXE: - case BASE_ITEM_CLUB: - case BASE_ITEM_DAGGER: - case BASE_ITEM_DIREMACE: - case BASE_ITEM_DOUBLEAXE: - case BASE_ITEM_DOUBLE_SCIMITAR: - case BASE_ITEM_DWARVENWARAXE: - case BASE_ITEM_EAGLE_CLAW: - case BASE_ITEM_ELVEN_COURTBLADE: - case BASE_ITEM_ELVEN_LIGHTBLADE: - case BASE_ITEM_ELVEN_THINBLADE: - case BASE_ITEM_FALCHION: - case BASE_ITEM_GLOVES: - case BASE_ITEM_GOAD: - case BASE_ITEM_GREATAXE: - case BASE_ITEM_GREATSWORD: - case BASE_ITEM_HALBERD: - case BASE_ITEM_HANDAXE: - case BASE_ITEM_HEAVYFLAIL: - case BASE_ITEM_HEAVY_MACE: - case BASE_ITEM_HEAVY_PICK: - case BASE_ITEM_KAMA: - case BASE_ITEM_KATANA: - case BASE_ITEM_KATAR: - case BASE_ITEM_KUKRI: - case BASE_ITEM_LIGHTFLAIL: - case BASE_ITEM_LIGHTHAMMER: - case BASE_ITEM_LIGHTMACE: - case BASE_ITEM_LIGHT_PICK: - case BASE_ITEM_LONGSWORD: - case BASE_ITEM_MAUL: - case BASE_ITEM_MORNINGSTAR: - case BASE_ITEM_NUNCHAKU: - case BASE_ITEM_QUARTERSTAFF: - case BASE_ITEM_RAPIER: - case BASE_ITEM_SAI: - case BASE_ITEM_SAP: - case BASE_ITEM_SCIMITAR: - case BASE_ITEM_SCYTHE: - case BASE_ITEM_SHORTSPEAR: - case BASE_ITEM_SHORTSWORD: - case BASE_ITEM_SICKLE: - case BASE_ITEM_SLING: - case BASE_ITEM_TRIDENT: - case BASE_ITEM_TWOBLADEDSWORD: - case BASE_ITEM_WARHAMMER: - case BASE_ITEM_WHIP: - sTypes = "Melee Weapons and Gloves"; - nType = 3; - break; - - case BASE_ITEM_CLOAK: - sTypes = "Cloaks"; - nType = 4; - break; - - case BASE_ITEM_AMULET: - case BASE_ITEM_RING: - sTypes = "Rings and Amulets"; - nType = 5; - break; - - case BASE_ITEM_SHORTBOW: - case BASE_ITEM_HEAVYCROSSBOW: - case BASE_ITEM_LIGHTCROSSBOW: - case BASE_ITEM_LONGBOW: - sTypes = "Bows and Crossbows"; - nType = 6; - break; - - case BASE_ITEM_ARROW: - case BASE_ITEM_BOLT: - case BASE_ITEM_BULLET: - case BASE_ITEM_GRENADE: - case BASE_ITEM_DART: - case BASE_ITEM_SHURIKEN: - case BASE_ITEM_THROWINGAXE: - sTypes = "Thrown Weapons and Ammunition"; - nType = 7; - break; - - case BASE_ITEM_MISCLARGE: - case BASE_ITEM_MISCMEDIUM: - case BASE_ITEM_MISCSMALL: - case BASE_ITEM_MISCTALL: - case BASE_ITEM_MISCTHIN: - case BASE_ITEM_MISCWIDE: - case BASE_ITEM_MAGICWAND: - case BASE_ITEM_MAGICSTAFF: - case BASE_ITEM_MAGICROD: - case BASE_ITEM_BOOK: - case BASE_ITEM_LARGEBOX: - sTypes = "Miscellaneous Items"; - nType = 8; - break; - } - } - - // Update tokens and local variables based on selected item type - SetCustomToken(102, sTypes); // Type of item that will work here. - SetLocalInt(OBJECT_SELF, "ItemType", nType); - SetLocalInt(OBJECT_SELF, "ItemCost", 0); -} - - -/* void main() -{ - object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1); - object oItem = GetFirstItemInInventory(oForge); - - SetCustomToken(101,GetName(oForge)); // Name of Forge - SetLocalString(OBJECT_SELF, "ForgeName", GetName(oForge)); - - string sTypes; - int nType; - string sForgeLeft = GetStringLeft(GetName(oForge),6); - - if (sForgeLeft == "Cobble") {sTypes = "Belts and Boots"; nType = 1;} - if (sForgeLeft == "Armour") {sTypes = "Armor, Helms and Shields"; nType = 2;} - if (sForgeLeft == "Weapon") {sTypes = "Melee Weapons and Gloves"; nType = 3;} - if (sForgeLeft == "Tailor") {sTypes = "Cloaks"; nType = 4;} - if (sForgeLeft == "Jewele") {sTypes = "Rings and Amulets"; nType = 5;} - if (sForgeLeft == "Bowyer") {sTypes = "Bows and Crossbows"; nType = 6;} - if (sForgeLeft == "Fletch") {sTypes = "Thrown Weapons and Ammunition"; nType = 7;} - if (sForgeLeft == "Common") {sTypes = "Common Items (not equipped)"; nType = 8;} - if (sForgeLeft == "Mystic") {sTypes = "any Magical Items"; nType = 9;} - - SetCustomToken(102,sTypes); // Type of item that will work here. - SetLocalInt(OBJECT_SELF, "ItemType", nType); - SetLocalInt(OBJECT_SELF, "ItemCost", 0); -} */ \ No newline at end of file diff --git a/_module/nss/forge_fulmcheck.nss b/_module/nss/forge_fulmcheck.nss deleted file mode 100644 index b869b6ca..00000000 --- a/_module/nss/forge_fulmcheck.nss +++ /dev/null @@ -1,23 +0,0 @@ -/////:://///////////////////////////////////////////// -/////:: forge_guildcheck script - check to make sure not splitting a guild item -/////:: Written by Winterknight on 2/17/06 -/////::////////////////////////////////////////////// -#include "nw_i0_tool" - -int StartingConditional() -{ - object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1); - object oItem = GetFirstItemInInventory(oForge); - string sCheck = GetTag(oItem); - if (sCheck == "fulminate" || - sCheck == "magestaff" || - sCheck == "innerpath" || - sCheck == "harmonics" || - sCheck == "whitegold" || - sCheck == "vesperbel") - { - return TRUE; - } - - return FALSE; -} diff --git a/_module/nss/forge_fulmstrip.nss b/_module/nss/forge_fulmstrip.nss deleted file mode 100644 index a80073ce..00000000 --- a/_module/nss/forge_fulmstrip.nss +++ /dev/null @@ -1,23 +0,0 @@ -/////:://///////////////////////////////////////////// -/////:: forge_guildcheck script - check to make sure not splitting a guild item -/////:: Written by Winterknight on 2/17/06 -/////::////////////////////////////////////////////// -#include "nw_i0_tool" - -int StartingConditional() -{ - object oForge = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1); - object oItem = GetFirstItemInInventory(oForge); - string sCheck = GetTag(oItem); - if (sCheck == "fulminate" || - sCheck == "magestaff" || - sCheck == "innerpath" || - sCheck == "harmonics" || - sCheck == "whitegold" || - sCheck == "vesperbel") - { - return TRUE; - } - - return FALSE; -} diff --git a/_module/nss/forge_guildcheck.nss b/_module/nss/forge_guildcheck.nss deleted file mode 100644 index de29aa99..00000000 --- a/_module/nss/forge_guildcheck.nss +++ /dev/null @@ -1,26 +0,0 @@ -/////:://///////////////////////////////////////////// -/////:: forge_guildcheck script - check to make sure not splitting a guild item -/////:: Written by Winterknight on 2/17/06 -/////::////////////////////////////////////////////// -#include "nw_i0_tool" - -int StartingConditional() -{ - object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1); - object oItem = GetFirstItemInInventory(oForge); - string sCheck = GetStringLeft(GetTag(oItem), 5); - if (sCheck == "HELM_" || - sCheck == "ARMR_" || - sCheck == "SHLD_" || - sCheck == "ammy_" || - sCheck == "ring_" || - sCheck == "WEAP_" || - sCheck == "BOOT_" || - sCheck == "BELT_") - - { - return TRUE; - } - - return FALSE; -} diff --git a/_module/nss/forge_hicostcalc.nss b/_module/nss/forge_hicostcalc.nss deleted file mode 100644 index 4e118f98..00000000 --- a/_module/nss/forge_hicostcalc.nss +++ /dev/null @@ -1,168 +0,0 @@ -/////:://///////////////////////////////////////////// -/////:: forge_costcheck - determine cost of perfect transferance to new item. -/////:: Modified by Winterknight on 2/18/06 -/////:: Original scripts by Asbury -/////::////////////////////////////////////////////// - - -#include "prc_x2_itemprop" - -void SafeAddItemProperty(int nDurationType, itemproperty ipProperty, object oItem, float fDuration=0.0f) -{ - int nPropType = GetItemPropertyType(ipProperty); - if (!GetItemHasItemProperty(oItem,nPropType)) //already exist - { - AddItemProperty(nDurationType, ipProperty, oItem, fDuration); - return; - } - else if (nPropType==ITEM_PROPERTY_BONUS_SPELL_SLOT_OF_LEVEL_N || - nPropType==ITEM_PROPERTY_CAST_SPELL) - { - AddItemProperty(nDurationType, ipProperty, oItem, fDuration); - return; - } - else if (nPropType==ITEM_PROPERTY_DAMAGE_BONUS || - nPropType==ITEM_PROPERTY_DAMAGE_RESISTANCE || - nPropType==ITEM_PROPERTY_ABILITY_BONUS || - nPropType==ITEM_PROPERTY_IMMUNITY_DAMAGE_TYPE || - nPropType==ITEM_PROPERTY_IMMUNITY_MISCELLANEOUS || - nPropType==ITEM_PROPERTY_DAMAGE_VULNERABILITY || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE || - nPropType==ITEM_PROPERTY_DECREASED_ABILITY_SCORE || - nPropType==ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE || - nPropType==ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE) - { - IPSafeAddItemProperty(oItem, ipProperty, 0.0f, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE); - } - - else if (nPropType==ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT || - nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP || - nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP || - nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_SPECIFIC_ALIGNMENT || - nPropType==ITEM_PROPERTY_BONUS_FEAT || - nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP || - nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP || - nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_SPECIFIC_ALIGNMENT || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT || - nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP || - nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP || - nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_SPECIFIC_ALIGNEMENT || - nPropType==ITEM_PROPERTY_IMMUNITY_SPELLS_BY_LEVEL || - nPropType==ITEM_PROPERTY_IMMUNITY_SPELL_SCHOOL || - nPropType==ITEM_PROPERTY_ON_HIT_PROPERTIES || - nPropType==ITEM_PROPERTY_ONHITCASTSPELL || - nPropType==ITEM_PROPERTY_SAVING_THROW_BONUS_SPECIFIC || - nPropType==ITEM_PROPERTY_SKILL_BONUS ) - { - int nSub1 = GetItemPropertySubType(ipProperty); - if (nSub1 > -1) - { - itemproperty ipCheck = GetFirstItemProperty(oItem); - while (GetIsItemPropertyValid(ipCheck)) - { - int nSub2 = GetItemPropertySubType(ipCheck); - if (nSub2 != nSub1) - { - AddItemProperty(nDurationType, ipProperty, oItem, fDuration); - return; - } - ipCheck = GetNextItemProperty(oItem); - } - } - } -} -//****************************************************************************** - -void main() -{ - itemproperty ipFItem; - object oPC = GetPCSpeaker(); - - object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1); - - object oCombine = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1); - - string sCraft; - int nType = GetLocalInt(OBJECT_SELF, "ItemType"); //check for type for crafting - if (nType == 1) sCraft = "craftingbelt"; // belts and boots - if (nType == 2) sCraft = "craftingshield"; // armor, helm, shield - if (nType == 3) sCraft = "craftingdagger"; // melee weapons - if (nType == 4) sCraft = "craftingcloak"; // cloaks - if (nType == 5) sCraft = "craftingring"; // rings and ammys - if (nType == 6) sCraft = "craftingsling"; // bows, x-bows, slings - if (nType == 7) sCraft = "craftingdart"; // thrown and ammo - if (nType == 8) sCraft = "craftingtoken"; // miscellaneous, common - - if (!GetIsObjectValid(oForge)) return; //must have Forge - if (!GetIsObjectValid(oCombine)) return; //must have Combining chamber - - object oItem = GetFirstItemInInventory(oForge); //get the item on Forge - if (GetIdentified(oItem)==FALSE) SetIdentified (oItem, TRUE); - if (GetPlotFlag(oItem)==TRUE) - { - SetPlotFlag (oItem, FALSE); - SetLocalInt(OBJECT_SELF,"PlotItem",TRUE); - } - object oCraft = GetFirstItemInInventory(oCombine); //get the first item in the combining chamber - object oCopy = CopyItem(oItem, OBJECT_SELF, FALSE); - int nCount = IPGetNumberOfItemProperties(oCopy); - int nProps; - int nTally = nCount; - - -// First - we add the goodies from the combine to the base item - - while (GetIsObjectValid(oCraft)) - { - ipFItem = GetFirstItemProperty(oCraft);//Loop for as long as the ipLoop variable is valid - while (GetIsItemPropertyValid(ipFItem)) - { - nProps++; - if (nCount < 8) - { - SafeAddItemProperty(DURATION_TYPE_PERMANENT,ipFItem,oCopy); //put property on copy - nCount++; - } - ipFItem=GetNextItemProperty(oCraft); - } - oCraft = GetNextItemInInventory(oCombine); - } - - nTally = nTally + nProps; - if (nTally > nCount) SendMessageToPC(oPC,"You are attempting to add more than 8 properties to the item. Any additional past the limit will be lost."); - -// Then we find the actual cost of the new item. Then we screw them on price. - int nValue2 = GetGoldPieceValue(oItem); - int nValue1 = GetGoldPieceValue(oCopy); - int nDiff = nValue1 - nValue2; - int nIncrease; - string sValue = ""; - if (nDiff > 0) - { - nIncrease = nDiff * 2; - sValue = IntToString(nIncrease); - } - else - { - nIncrease = 0; - sValue = "nothing in "; - } - - SetCustomToken(103,sValue); - SetLocalInt (OBJECT_SELF,"ItemCost",nIncrease); - -// Then we remove destroy the copy - DestroyObject(oCopy,0.5f); - - if (GetLocalInt(OBJECT_SELF,"PlotItem")==TRUE) // Reset variables and plot - { - SetPlotFlag (oItem, TRUE); - SetLocalInt(OBJECT_SELF,"PlotItem",FALSE); - } -} diff --git a/_module/nss/forge_itemnorisk.nss b/_module/nss/forge_itemnorisk.nss deleted file mode 100644 index 5e4f2063..00000000 --- a/_module/nss/forge_itemnorisk.nss +++ /dev/null @@ -1,199 +0,0 @@ -/////:://///////////////////////////////////////////// -/////:: forge_itemmerge - Forge properties onto item from components. -/////:: Modified by Winterknight on 2/18/06 -/////:: Original script written by Asbury -/////::////////////////////////////////////////////// -#include "sd_lootsystem" -#include "prc_x2_itemprop" - -void SafeAddItemProperty(int nDurationType, itemproperty ipProperty, object oItem, float fDuration=0.0f) -{ - int nPropType = GetItemPropertyType(ipProperty); - if (!GetItemHasItemProperty(oItem,nPropType)) //already exist - { - AddItemProperty(nDurationType, ipProperty, oItem, fDuration); - return; - } - else if (nPropType==ITEM_PROPERTY_BONUS_SPELL_SLOT_OF_LEVEL_N || - nPropType==ITEM_PROPERTY_CAST_SPELL) - { - AddItemProperty(nDurationType, ipProperty, oItem, fDuration); - return; - } - else if (nPropType==ITEM_PROPERTY_DAMAGE_BONUS || - nPropType==ITEM_PROPERTY_DAMAGE_RESISTANCE || - nPropType==ITEM_PROPERTY_ABILITY_BONUS || - nPropType==ITEM_PROPERTY_IMMUNITY_DAMAGE_TYPE || - nPropType==ITEM_PROPERTY_IMMUNITY_MISCELLANEOUS || - nPropType==ITEM_PROPERTY_DAMAGE_VULNERABILITY || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE || - nPropType==ITEM_PROPERTY_DECREASED_ABILITY_SCORE || - nPropType==ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE || - nPropType==ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE) - { - IPSafeAddItemProperty(oItem, ipProperty, 0.0f, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE); - } - - else if (nPropType==ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT || - nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP || - nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP || - nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_SPECIFIC_ALIGNMENT || - nPropType==ITEM_PROPERTY_BONUS_FEAT || - nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP || - nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP || - nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_SPECIFIC_ALIGNMENT || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP || - nPropType==ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT || - nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP || - nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP || - nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_SPECIFIC_ALIGNEMENT || - nPropType==ITEM_PROPERTY_IMMUNITY_SPELLS_BY_LEVEL || - nPropType==ITEM_PROPERTY_IMMUNITY_SPELL_SCHOOL || - nPropType==ITEM_PROPERTY_ON_HIT_PROPERTIES || - nPropType==ITEM_PROPERTY_ONHITCASTSPELL || - nPropType==ITEM_PROPERTY_SAVING_THROW_BONUS_SPECIFIC || - nPropType==ITEM_PROPERTY_SKILL_BONUS ) - { - int nSub1 = GetItemPropertySubType(ipProperty); - if (nSub1 > -1) - { - itemproperty ipCheck = GetFirstItemProperty(oItem); - while (GetIsItemPropertyValid(ipCheck)) - { - int nSub2 = GetItemPropertySubType(ipCheck); - if (nSub2 != nSub1) - { - AddItemProperty(nDurationType, ipProperty, oItem, fDuration); - return; - } - ipCheck = GetNextItemProperty(oItem); - } - } - } -} -//****************************************************************************** - -void main() -{ - itemproperty ipFItem; - effect eTel1 = EffectVisualEffect(VFX_IMP_KNOCK,FALSE); - effect eTel2 = EffectVisualEffect(VFX_IMP_PDK_INSPIRE_COURAGE,FALSE); - effect eUtter = EffectVisualEffect(VFX_FNF_MYSTICAL_EXPLOSION,FALSE); - - object oPC = GetPCSpeaker(); - - object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1); - object oCombine = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1); - location lTrig1 = GetLocation(oForge); - location lTrig2 = GetLocation(oCombine); - - if (!GetIsObjectValid(oForge)) return; //must have Forge - if (!GetIsObjectValid(oCombine)) return; //must have Combining chamber - - object oArea = GetArea(oForge); - object oItem = GetFirstItemInInventory(oForge); //get the first item on Forge - - if (!GetIsObjectValid(oItem)) - { - SendMessageToPC(oPC,"You must have a valid item in the Forge."); - return; //must have something there - } - - int nLoop = IPGetNumberOfItemProperties(oItem); - object oCraft = GetFirstItemInInventory(oCombine); //get the first item in the combining chamber - int nTally = nLoop; - - while (GetIsObjectValid(oCraft)) - { - ipFItem = GetFirstItemProperty(oCraft); //Loop for as long as the ipLoop variable is valid - while (GetIsItemPropertyValid(ipFItem)) - { - nTally++; - if (nLoop < 8) - { - SafeAddItemProperty(DURATION_TYPE_PERMANENT,ipFItem,oItem); //put property on - nLoop++; - } - if (nTally > 8) - { - SendMessageToPC(oPC,"You have attempted to add more than 8 properties to the item. This can cause errors in transfer. Some item properties have been lost."); - } - RemoveItemProperty(oCraft, ipFItem); //take the magic away from object - ipFItem=GetNextItemProperty(oCraft); - } - DestroyObject(oCraft); //remove the object - oCraft = GetNextItemInInventory(oCombine); - } - - int iQual = nTally; - string sName; - string cName; - string sCheck = GetStringLeft(GetTag(oItem), 5); - string oName = GetName(oItem); - - switch(iQual) - { - case 1: cName = ColorString("[Enchanted] ", 255, 255, 255); break; - case 2: cName = ColorString("[Enchanted] ", 30, 180, 30); break; - case 3: cName = ColorString("[Enchanted] ", 30, 180, 30); break; - case 4: cName = ColorString("[Bewitched] ", 5, 90, 255); break; - case 5: cName = ColorString("[Bewitched] ", 5, 90, 255); break; - case 6: cName = ColorString("[Spellbound] ", 185, 1, 200); break; - case 7: cName = ColorString("[Archforged] ", 255, 245, 210); break; - case 8: cName = ColorString("[Ancient] ", 180, 180, 80); break; - } - - switch(iQual) - { - case 1: sName = ColorString("Reforged Magical "+ RandomName(200),255, 255, 255); break; - case 2: sName = ColorString("Reforged Enchanted "+ RandomName(200), 30, 180, 30); break; - case 3: sName = ColorString("Reforged Enchanted "+ RandomName(200), 30, 180, 30); break; - case 4: sName = ColorString("Reforged Imbued "+ RandomName(200), 5, 90, 255); break; - case 5: sName = ColorString("Reforged Imbued "+ RandomName(200), 5, 90, 255); break; - case 6: sName = ColorString("Reforged Planar "+ RandomName(200), 185, 1, 200); break; - case 7: sName = ColorString("Reforged Divine "+ RandomName(200), 255, 245, 210); break; - case 8: sName = ColorString("Reforged Ancient's "+ RandomName(200), 180, 180, 80); break; - } - - switch(iQual) - { - case 1: FloatingTextStringOnCreature("You have reforged a Magical Quality item!", oPC); break; - case 2: FloatingTextStringOnCreature("You have reforged a Enchanted Quality item!", oPC); break; - case 3: FloatingTextStringOnCreature("You have reforged a Enchanted Quality item!", oPC); break; - case 4: FloatingTextStringOnCreature("You have reforged a Imbued Quality item!", oPC); break; - case 5: FloatingTextStringOnCreature("You have reforged a Imbued Quality item!", oPC); break; - case 6: FloatingTextStringOnCreature("You have reforged a Planar Quality item!", oPC); break; - case 7: FloatingTextStringOnCreature("You have reforged a Divine Quality item!", oPC); break; - case 8: FloatingTextStringOnCreature("You have reforged a Ancient Quality item!", oPC); break; - } - - if (sCheck == "HELM_" || - sCheck == "ARMR_" || - sCheck == "SHLD_" || - sCheck == "ammy_" || - sCheck == "ring_" || - sCheck == "WEAP_" || - sCheck == "BOOT_" || - sCheck == "BELT_") - { - SetName (oItem, cName + oName); - } - else - { - SetName(oItem, sName); - } - - - ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eTel2,lTrig2,0.0); - DelayCommand(0.3,ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eTel1,lTrig1,0.0)); - RecomputeStaticLighting(oArea); - - int nGold = GetLocalInt (OBJECT_SELF,"ItemCost"); - TakeGoldFromCreature(nGold,oPC,TRUE); - -} diff --git a/_module/nss/forge_itemsplit.nss b/_module/nss/forge_itemsplit.nss deleted file mode 100644 index 392be498..00000000 --- a/_module/nss/forge_itemsplit.nss +++ /dev/null @@ -1,109 +0,0 @@ -/////:://///////////////////////////////////////////// -/////:: forge_itemsplit - Separate into component properties -/////:: Modified by Winterknight on 2/18/06 -/////:: Original script written by Asbury -/////::////////////////////////////////////////////// -#include "sd_lootsystem" - -void main() -{ -//:: Declare major variables. - effect eTel1 = EffectVisualEffect(VFX_IMP_FROST_L,FALSE); - effect eTel2 = EffectVisualEffect(VFX_IMP_ELEMENTAL_PROTECTION,FALSE); - - object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1); - object oCombine = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1); - - object oArea = GetArea(oForge); - - location lTrig1 = GetLocation(oForge); - location lTrig2 = GetLocation(oCombine); - -//:: Get only the first item on forge. - object oItem = GetFirstItemInInventory(oForge); - -//:: Must have something in the forge. - if (!GetIsObjectValid(oItem)) return; - -//:: Identify item - if (GetIdentified(oItem)==FALSE) SetIdentified (oItem, TRUE); - -//:: Check for type for crafting - string sCraft; - int nType = GetLocalInt(OBJECT_SELF, "ItemType"); - - if (nType == 1) sCraft = "craftingbelt"; // belts and boots - else if (nType == 2) sCraft = "craftingshield"; // armor, helm, shield - else if (nType == 3) sCraft = "craftingdagger"; // melee weapons - else if (nType == 4) sCraft = "craftingcloak"; // cloaks - else if (nType == 5) sCraft = "craftingring"; // rings and ammys - else if (nType == 6) sCraft = "craftingsling"; // bows, x-bows, slings - else if (nType == 7) sCraft = "craftingdirk"; // thrown and ammo - //else if (nType == 8) sCraft = "craftingtoken"; // miscellaneous, common - else sCraft = "craftingtoken"; // anything else - - itemproperty ipForgeItemIP; - int nIPDuration, nCheck, nParam1, nIPType; - ipForgeItemIP = GetFirstItemProperty(oItem); - - //:: Loop for as long as the ipLoop variable is valid - while (GetIsItemPropertyValid(ipForgeItemIP)) - { - nCheck = 0; - //:: Check for temporary itemprops - nIPDuration = GetItemPropertyDurationType(ipForgeItemIP); - - //:: Check to see if we can prevent the unique mithril powers from being removed. - nParam1 = GetItemPropertySubType(ipForgeItemIP); - nIPType = GetItemPropertyType(ipForgeItemIP); - if (nIPType == ITEM_PROPERTY_ONHITCASTSPELL) - { - if (nParam1 == 125) - nCheck = 1; - } - if (nIPType == ITEM_PROPERTY_CAST_SPELL) - { - if (nParam1 == 329 || - nParam1 == 335 || - nParam1 == 359 || - nParam1 == 537 || - nParam1 == 513) - nCheck = 1; - } - if (Random(100) != 1 & nIPDuration == DURATION_TYPE_PERMANENT & nCheck != 1) - { - //:: Create receptacle item on Combine - object oCraft = CreateItemOnObject(sCraft, oCombine); - if (GetIsObjectValid(oCraft)) - { - //:: Remove itemprop from item - RemoveItemProperty(oItem, ipForgeItemIP); - //:: Add property to crafting item - AddItemProperty(DURATION_TYPE_PERMANENT, ipForgeItemIP, oCraft); - } - } - else - { - if (nCheck == 1) - { - SendMessageToPC(GetPCSpeaker(),"Unique powers not removed."); - } - else - { - SendMessageToPC(GetPCSpeaker(),"An item property was lost during the separation."); - RemoveItemProperty(oItem, ipForgeItemIP); - } - } - - //:: Next itemproperty on the item - ipForgeItemIP = GetNextItemProperty(oItem); - } - - string sName; - - sName = ColorString("Disenchanted Item" ,80, 80, 80); - SetName(oItem, sName); - ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eTel1,lTrig1,0.0); - DelayCommand(0.3,ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eTel2, lTrig2, 0.0)); - RecomputeStaticLighting(oArea); -} \ No newline at end of file diff --git a/_module/nss/forge_mergecheck.nss b/_module/nss/forge_mergecheck.nss deleted file mode 100644 index d912ee61..00000000 --- a/_module/nss/forge_mergecheck.nss +++ /dev/null @@ -1,74 +0,0 @@ -/////:://///////////////////////////////////////////// -/////:: forge_guildcheck script - check to make sure not splitting a guild item -/////:: Written by Winterknight on 2/17/06 -/////::////////////////////////////////////////////// -#include "nw_i0_tool" - -int StartingConditional() -{ - object oCombine = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1); - object oItem = GetFirstItemInInventory(oCombine); - string sMerge = GetTag(oItem); - int nType = GetLocalInt(OBJECT_SELF, "ItemType"); - /*while (GetIsObjectValid(oItem)) - { - if (nType == 1) // Belts and Boots - { - if (sMerge == "craftingbelt" || - sMerge == "craftingtoken" ) - return FALSE; - } - - if (nType == 2) // Armor, Helms, Shields - { - if (sMerge == "craftingshield" || - sMerge == "craftingtoken" ) - return FALSE; - } - - if (nType == 3) // Melee Weapons - { - if (sMerge == "craftingdagger" || - sMerge == "craftingtoken" ) - return FALSE; - } - - if (nType == 4) // Cloaks - { - if (sMerge == "craftingcloak" || - sMerge == "craftingtoken" ) - return FALSE; - } - - if (nType == 5) // Rings and Amulets - { - if (sMerge == "craftingring" || - sMerge == "craftingtoken" ) - return FALSE; - } - - if (nType == 6) // Bows and Crossbows/slings - { - if (sMerge == "craftingsling" || - sMerge == "craftingtoken" ) - return FALSE; - } - - if (nType == 7) // Thrown weapons and ammunition - { - if (sMerge == "craftingdirk" || - sMerge == "craftingtoken" ) - return FALSE; - } - - if (nType == 8) // Common items (miscellaneous or not already covered) - { - if (sMerge == "craftingtoken" ) - return FALSE; - } - oItem = GetNextItemInInventory(oCombine); - } - return TRUE; */ - - return FALSE; -} diff --git a/_module/nss/forge_sdcheck.nss b/_module/nss/forge_sdcheck.nss deleted file mode 100644 index 6a763d94..00000000 --- a/_module/nss/forge_sdcheck.nss +++ /dev/null @@ -1,19 +0,0 @@ -/////:://///////////////////////////////////////////// -/////:: forge_guildcheck script - check to make sure not splitting a guild item -/////:: Written by Winterknight on 2/17/06 -/////::////////////////////////////////////////////// -#include "nw_i0_tool" - -int StartingConditional() -{ - object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1); - object oItem = GetFirstItemInInventory(oForge); - string sCheck = GetStringLowerCase(GetStringLeft(GetResRef(oItem), 2)); - if (sCheck == "sd" || sCheck == "nw" || sCheck == "x2") - - { - return TRUE; - } - - return FALSE; -} diff --git a/_module/nss/forge_spititout.nss b/_module/nss/forge_spititout.nss deleted file mode 100644 index dd4d6c33..00000000 --- a/_module/nss/forge_spititout.nss +++ /dev/null @@ -1,22 +0,0 @@ -/////:://///////////////////////////////////////////// -/////:: forge_spititout script - check to make sure no more than one item in forge. -/////:: Written by Winterknight on 2/20/06 -/////::////////////////////////////////////////////// - -void main() -{ - object oFifo2 = GetFirstItemInInventory(OBJECT_SELF); - - if (GetInventoryDisturbType() == INVENTORY_DISTURB_TYPE_ADDED) - { - oFifo2 = GetNextItemInInventory(OBJECT_SELF); - if (GetIsObjectValid(oFifo2)) - { - location lDrop = GetLocation(GetNearestObjectByTag("forge_spitpoint", OBJECT_SELF,1)); - object oCopy = CopyObject(oFifo2, lDrop, OBJECT_INVALID, ""); - DestroyObject(oFifo2,0.3); - effect eEff1 = EffectVisualEffect(VFX_FNF_SMOKE_PUFF, FALSE); - ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEff1, lDrop, 0.0); - } - } -} diff --git a/_module/nss/forge_splitcheck.nss b/_module/nss/forge_splitcheck.nss deleted file mode 100644 index 8723f3f9..00000000 --- a/_module/nss/forge_splitcheck.nss +++ /dev/null @@ -1,183 +0,0 @@ -/////:://///////////////////////////////////////////// -/////:: forge_guildcheck script - check to make sure not splitting a guild item -/////:: Written by Winterknight on 2/17/06 -/////::////////////////////////////////////////////// -#include "nw_i0_tool" -#include "prc_misc_const" - -int StartingConditional() -{ - object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1); - object oItem = GetFirstItemInInventory(oForge); - int nBase = GetBaseItemType (oItem); - int nType = GetLocalInt(OBJECT_SELF, "ItemType"); - - return FALSE; - - if (nType == 1) // Belts and Boots - { - if (nBase == BASE_ITEM_BOOTS || - nBase == BASE_ITEM_MISCLARGE || - nBase == BASE_ITEM_MISCMEDIUM|| - nBase == BASE_ITEM_MISCSMALL || - nBase == BASE_ITEM_MISCTALL || - nBase == BASE_ITEM_MISCTHIN || - nBase == BASE_ITEM_MISCWIDE || - nBase == BASE_ITEM_BELT) - return FALSE; - } - - if (nType == 2) // Armor, Helms, Shields - { - if (nBase == BASE_ITEM_TOWERSHIELD || - nBase == BASE_ITEM_MISCLARGE || - nBase == BASE_ITEM_MISCMEDIUM|| - nBase == BASE_ITEM_MISCSMALL || - nBase == BASE_ITEM_MISCTALL || - nBase == BASE_ITEM_MISCTHIN || - nBase == BASE_ITEM_MISCWIDE || - nBase == BASE_ITEM_SMALLSHIELD || - nBase == BASE_ITEM_HELMET || - nBase == BASE_ITEM_ARMOR || - nBase == BASE_ITEM_BRACER || - nBase == BASE_ITEM_LARGESHIELD) - return FALSE; - } - - if (nType == 3) // Melee Weapons - { - if (nBase == BASE_ITEM_BASTARDSWORD || - nBase == BASE_ITEM_BATTLEAXE || - nBase == BASE_ITEM_CLUB || - nBase == BASE_ITEM_DAGGER || - nBase == BASE_ITEM_DIREMACE || - nBase == BASE_ITEM_DOUBLEAXE || - nBase == BASE_ITEM_DOUBLE_SCIMITAR || - nBase == BASE_ITEM_DWARVENWARAXE || - nBase == BASE_ITEM_EAGLE_CLAW || - nBase == BASE_ITEM_ELVEN_COURTBLADE || - nBase == BASE_ITEM_ELVEN_LIGHTBLADE || - nBase == BASE_ITEM_ELVEN_THINBLADE || - nBase == BASE_ITEM_FALCHION || - nBase == BASE_ITEM_GLOVES || - nBase == BASE_ITEM_GOAD || - nBase == BASE_ITEM_GREATAXE || - nBase == BASE_ITEM_GREATSWORD || - nBase == BASE_ITEM_HALBERD || - nBase == BASE_ITEM_HANDAXE || - nBase == BASE_ITEM_HEAVYCROSSBOW || - nBase == BASE_ITEM_HEAVYFLAIL || - nBase == BASE_ITEM_HEAVY_MACE || - nBase == BASE_ITEM_HEAVY_PICK || - nBase == BASE_ITEM_KAMA || - nBase == BASE_ITEM_KATANA || - nBase == BASE_ITEM_KATAR || - nBase == BASE_ITEM_KUKRI || - nBase == BASE_ITEM_LIGHTFLAIL || - nBase == BASE_ITEM_LIGHTHAMMER || - nBase == BASE_ITEM_LIGHTMACE || - nBase == BASE_ITEM_LIGHT_PICK || - nBase == BASE_ITEM_LONGSWORD || - nBase == BASE_ITEM_MAUL || - nBase == BASE_ITEM_MISCLARGE || - nBase == BASE_ITEM_MISCMEDIUM|| - nBase == BASE_ITEM_MISCSMALL || - nBase == BASE_ITEM_MISCTALL || - nBase == BASE_ITEM_MISCTHIN || - nBase == BASE_ITEM_MISCWIDE || - nBase == BASE_ITEM_MORNINGSTAR || - nBase == BASE_ITEM_NUNCHAKU || - nBase == BASE_ITEM_QUARTERSTAFF || - nBase == BASE_ITEM_RAPIER || - nBase == BASE_ITEM_SAI || - nBase == BASE_ITEM_SAP || - nBase == BASE_ITEM_SCIMITAR || - nBase == BASE_ITEM_SCYTHE || - nBase == BASE_ITEM_SHORTSPEAR || - nBase == BASE_ITEM_SHORTSWORD || - nBase == BASE_ITEM_SICKLE || - nBase == BASE_ITEM_SLING || - nBase == BASE_ITEM_TRIDENT || - nBase == BASE_ITEM_TWOBLADEDSWORD || - nBase == BASE_ITEM_WARHAMMER || - nBase == BASE_ITEM_WHIP) - return FALSE; - } - - if (nType == 4) // Cloaks - { - if (nBase == BASE_ITEM_CLOAK || - nBase == BASE_ITEM_MISCLARGE || - nBase == BASE_ITEM_MISCMEDIUM|| - nBase == BASE_ITEM_MISCSMALL || - nBase == BASE_ITEM_MISCTALL || - nBase == BASE_ITEM_MISCTHIN || - nBase == BASE_ITEM_MISCWIDE ) - return FALSE; - } - - if (nType == 5) // Rings and Amulets - { - if (nBase == BASE_ITEM_RING || - nBase == BASE_ITEM_MISCLARGE || - nBase == BASE_ITEM_MISCMEDIUM|| - nBase == BASE_ITEM_MISCSMALL || - nBase == BASE_ITEM_MISCTALL || - nBase == BASE_ITEM_MISCTHIN || - nBase == BASE_ITEM_MISCWIDE || - nBase == BASE_ITEM_AMULET) - return FALSE; - } - - if (nType == 6) // Bows and Crossbows/slings - { - if (nBase == BASE_ITEM_LONGBOW || - nBase == BASE_ITEM_MISCLARGE || - nBase == BASE_ITEM_MISCMEDIUM|| - nBase == BASE_ITEM_MISCSMALL || - nBase == BASE_ITEM_MISCTALL || - nBase == BASE_ITEM_MISCTHIN || - nBase == BASE_ITEM_MISCWIDE || - nBase == BASE_ITEM_LIGHTCROSSBOW || - nBase == BASE_ITEM_HEAVYCROSSBOW|| - nBase == BASE_ITEM_SHORTBOW || - nBase == BASE_ITEM_SLING ) - return FALSE; - } - - if (nType == 7) // Thrown weapons and ammunition - { - if (nBase == BASE_ITEM_ARROW || - nBase == BASE_ITEM_MISCLARGE || - nBase == BASE_ITEM_MISCMEDIUM|| - nBase == BASE_ITEM_MISCSMALL || - nBase == BASE_ITEM_MISCTALL || - nBase == BASE_ITEM_MISCTHIN || - nBase == BASE_ITEM_MISCWIDE || - nBase == BASE_ITEM_BOLT || - nBase == BASE_ITEM_BULLET|| - nBase == BASE_ITEM_DART || - nBase == BASE_ITEM_GRENADE || - nBase == BASE_ITEM_SHURIKEN || - nBase == BASE_ITEM_THROWINGAXE ) - return FALSE; - } - - if (nType == 8) // Common items (miscellaneous or not already covered) - { - if (nBase == BASE_ITEM_BOOK || - nBase == BASE_ITEM_MISCLARGE || - nBase == BASE_ITEM_MISCMEDIUM|| - nBase == BASE_ITEM_MISCSMALL || - nBase == BASE_ITEM_MISCTALL || - nBase == BASE_ITEM_MISCTHIN || - nBase == BASE_ITEM_MISCWIDE || - nBase == BASE_ITEM_MAGICROD|| - nBase == BASE_ITEM_LARGEBOX || - nBase == BASE_ITEM_MAGICSTAFF || - nBase == BASE_ITEM_MAGICWAND ) - return FALSE; - } - - return TRUE; -} \ No newline at end of file diff --git a/_module/nss/forge_validcheck.nss b/_module/nss/forge_validcheck.nss deleted file mode 100644 index cfa2d516..00000000 --- a/_module/nss/forge_validcheck.nss +++ /dev/null @@ -1,15 +0,0 @@ -/////:://///////////////////////////////////////////// -/////:: forge_guildcheck script - check to make sure not splitting a guild item -/////:: Written by Winterknight on 2/17/06 -/////::////////////////////////////////////////////// -#include "nw_i0_tool" - -int StartingConditional() -{ - object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1); - object oItem = GetFirstItemInInventory(oForge); - if (!GetIsObjectValid(oItem)) - return TRUE; - - return FALSE; -} diff --git a/_module/nss/no_spn_a_buff.nss b/_module/nss/no_spn_a_buff.nss new file mode 100644 index 00000000..1022eed5 --- /dev/null +++ b/_module/nss/no_spn_a_buff.nss @@ -0,0 +1,175 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Bard (buffer) config + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] + +AddBehaviour( "+DEFSING", 90 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 90 ); //enhancing spells [single allies] + +AddBehaviour( "+DEFSELF", 50); //defensive [self] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee + +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack + +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + //CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF); //* Use this to create a small amount of treasure on the creature +ExecuteScript ("cd_helper_func", OBJECT_SELF); +} diff --git a/_module/nss/no_spn_animalist.nss b/_module/nss/no_spn_animalist.nss new file mode 100644 index 00000000..db8b8e48 --- /dev/null +++ b/_module/nss/no_spn_animalist.nss @@ -0,0 +1,181 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ +//// SetThreatLevel(OBJECT_SELF); + + //Wizard config + +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +AddBehaviour( "+EVACAOE", 100); //evac AOEs + +AddBehaviour( "+HEAL", 80 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 85 ); //heal self +AddBehaviour( "+GROUPHEAL", 90 ); //AOE heal [Allies] + +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +AddBehaviour( "+ENHANCESING", 80 ); //enhancing spells [single allies] +AddBehaviour( "+DEFSELF", 90 ); //defensive [self] + +AddBehaviour( "+DIRECT", 90 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 50 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 80 ); //AOEs + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. +int iDice = d100(); +if (iDice<80)ExecuteScript ("cd_helper_func", OBJECT_SELF); + +//InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_aoemage.nss b/_module/nss/no_spn_aoemage.nss new file mode 100644 index 00000000..15a35990 --- /dev/null +++ b/_module/nss/no_spn_aoemage.nss @@ -0,0 +1,177 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //AOE Mage config + + +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] + +AddBehaviour( "+AREA", 100); //AOE +AddBehaviour( "+DIRECT", 95 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 90 ); //touch attack spells [single enemy] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee + +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack + +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. +ExecuteScript ("cd_helper_func", OBJECT_SELF); + +//InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_b_knight.nss b/_module/nss/no_spn_b_knight.nss new file mode 100644 index 00000000..a09a139f --- /dev/null +++ b/_module/nss/no_spn_b_knight.nss @@ -0,0 +1,175 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Pally config + +AddBehaviour( "+EVACAOE", 80); //evac AOEs + +AddBehaviour( "+FEATENHANCE", 60 ); //feat enhance [self] + +AddBehaviour( "+AREA", 30 ); //AOEs +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + +// Opening Taunt to player + +object oTaunt = GetObjectByTag("sd_bknight_taunt"); +SoundObjectPlay(oTaunt); +} diff --git a/_module/nss/no_spn_barb.nss b/_module/nss/no_spn_barb.nss new file mode 100644 index 00000000..3d89f76d --- /dev/null +++ b/_module/nss/no_spn_barb.nss @@ -0,0 +1,174 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + //Blank config +// SetThreatLevel(OBJECT_SELF); + + +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] + +AddBehaviour( "+MELEEASSIST", 80 ); //assist allies in melee +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51; + if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51; + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_bard.nss b/_module/nss/no_spn_bard.nss new file mode 100644 index 00000000..cb2af40d --- /dev/null +++ b/_module/nss/no_spn_bard.nss @@ -0,0 +1,178 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Bard (buffer) config + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] + +AddBehaviour( "+DEFSING", 90 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 90 ); //enhancing spells [single allies] + +AddBehaviour( "+DEFSELF", 50); //defensive [self] +AddBehaviour( "+AREA", 20); //AOE +AddBehaviour( "+DIRECT", 20 ); // attack spells [single enemy] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee + +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack + +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. +ExecuteScript ("cd_helper_func", OBJECT_SELF); + +//InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_bard2.nss b/_module/nss/no_spn_bard2.nss new file mode 100644 index 00000000..a8531f53 --- /dev/null +++ b/_module/nss/no_spn_bard2.nss @@ -0,0 +1,183 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Bard (buffer) config + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] + +AddBehaviour( "+DEFSING", 90 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 90 ); //enhancing spells [single allies] + +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +AddBehaviour( "+DEFSELF", 80); //defensive [self] +AddBehaviour( "+AREA", 95); //AOE +AddBehaviour( "+DIRECT", 60 ); // attack spells [single enemy] + +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee + +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack + +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. +int iDice = d100(); + if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51; + if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51; + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + +//InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_blank.nss b/_module/nss/no_spn_blank.nss new file mode 100644 index 00000000..5967ac06 --- /dev/null +++ b/_module/nss/no_spn_blank.nss @@ -0,0 +1,170 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + //Blank config + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+MELEEASSIST", 70 ); //assist allies in melee +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +AddBehaviour( "+FLANK", 100 ); //flank +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_bow.nss b/_module/nss/no_spn_bow.nss new file mode 100644 index 00000000..1b808f5d --- /dev/null +++ b/_module/nss/no_spn_bow.nss @@ -0,0 +1,168 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + //Blank config + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +//AddBehaviour( "+AVOIDENEMY", 80 ); //Keep away from enemies + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +AddBehaviour( "+FLANK", 100 ); //flank +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_cleric.nss b/_module/nss/no_spn_cleric.nss new file mode 100644 index 00000000..588973f2 --- /dev/null +++ b/_module/nss/no_spn_cleric.nss @@ -0,0 +1,207 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + +void SF_SPECBUFF() +{ + ClearAllActions(); + ActionCastSpellAtObject(VFX_IMP_MAGIC_PROTECTION, OBJECT_SELF, + METAMAGIC_NONE, TRUE); + SetLocalInt(OBJECT_SELF, "sr_buffed", 1); +} + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + object oPC = GetFirstPC(); + object oH1 = GetHenchman(oPC); + object oH2 = GetHenchman(oPC, 2); + object oH3 = GetHenchman(oPC, 3); + object oH4 = GetHenchman(oPC, 4); + + // if any mages in player's party (or player is a mage): buff spell res + // Flag set to only do this once + + if ((GetIsCaster(oPC)||GetIsCaster(oH1)>3||GetIsCaster(oH2)>3|| + GetIsCaster(oH3)>3||GetIsCaster(oH4)>3)&& + GetLocalInt(OBJECT_SELF, "sr_buffed")==0) SF_SPECBUFF(); + + //Cleric config + +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] + +AddBehaviour( "+EVACAOE", 100); //evac AOEs + +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] + +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] + +AddBehaviour( "+DEFSELF", 80 ); //defensive [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +AddBehaviour( "+ENHANCESELF", 70 ); //enhancing spells [self] + +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51; + if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51; + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + +//InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_conqr.nss b/_module/nss/no_spn_conqr.nss new file mode 100644 index 00000000..956efc36 --- /dev/null +++ b/_module/nss/no_spn_conqr.nss @@ -0,0 +1,171 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //BOSS: Juggernaut config + +AddBehaviour( "+EVACAOE", 80); //evac AOEs +AddBehaviour( "+ENHANCESELF", 85 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 60 ); //feat enhance [self] +AddBehaviour( "+DIRECT", 30 ); // attack spells [single enemy] +AddBehaviour( "+AREA", 35 ); //AOEs +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + +} diff --git a/_module/nss/no_spn_dcaller.nss b/_module/nss/no_spn_dcaller.nss new file mode 100644 index 00000000..216da12e --- /dev/null +++ b/_module/nss/no_spn_dcaller.nss @@ -0,0 +1,176 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Wizard config + +AddBehaviour( "+HEALSELF", 100 ); //heal self + +AddBehaviour( "+SUMMON", 100 ); //Summon allies + +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+DIRECT", 80 ); // attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+TOUCH", 70 ); //touch attack spells [single enemy] + + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. +int iDice = d100(); +if (iDice<70)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_dgoon.nss b/_module/nss/no_spn_dgoon.nss new file mode 100644 index 00000000..914ede33 --- /dev/null +++ b/_module/nss/no_spn_dgoon.nss @@ -0,0 +1,179 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Dragoon config + +AddBehaviour( "+EVACAOE", 80); //evac AOEs + +AddBehaviour( "+FEATENHANCE", 90 ); //feat enhance [self] + +AddBehaviour( "+HEAL", 80 ); //heal [self/allies] +AddBehaviour( "+BREATH", 50 ); //breath weapons + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + // Set Flaming eyes + effect eGlow = EffectVisualEffect(VFX_EYES_RED_FLAME_HUMAN_MALE); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eGlow, OBJECT_SELF); + + ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_dpally.nss b/_module/nss/no_spn_dpally.nss new file mode 100644 index 00000000..744161cb --- /dev/null +++ b/_module/nss/no_spn_dpally.nss @@ -0,0 +1,180 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Pally config + +AddBehaviour( "+EVACAOE", 80); //evac AOEs + +AddBehaviour( "+FEATENHANCE", 90 ); //feat enhance [self] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +AddBehaviour( "+HEAL", 80 ); //heal [self/allies] + +AddBehaviour( "+ENHANCESELF", 80 ); //enhancing spells [self] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + // Set Flaming eyes + effect eGlow = EffectVisualEffect(VFX_EYES_RED_FLAME_HUMAN_MALE); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eGlow, OBJECT_SELF); + + ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_dragon.nss b/_module/nss/no_spn_dragon.nss index 76fdd343..6530804a 100644 --- a/_module/nss/no_spn_dragon.nss +++ b/_module/nss/no_spn_dragon.nss @@ -13,7 +13,7 @@ void main() { -SetThreatLevel(OBJECT_SELF); +// SetThreatLevel(OBJECT_SELF); //Dragon config diff --git a/_module/nss/no_spn_druid.nss b/_module/nss/no_spn_druid.nss new file mode 100644 index 00000000..10753803 --- /dev/null +++ b/_module/nss/no_spn_druid.nss @@ -0,0 +1,188 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + //Bard (buffer) config + +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+SUMMON", 100 ); //Summon allies +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] + +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+DEFSING", 30 ); //defensive [single allies] + + +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 40 ); //Dispel [enemies] + +AddBehaviour( "+HEAL", 90 ); //heal [self/allies] +AddBehaviour( "+GROUPHEAL", 90 ); //AOE heal [Allies] + +AddBehaviour( "+DEFSELF", 50); //defensive [self] +AddBehaviour( "+AREA", 80); //AOE +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee + +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack + +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<60)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_druid2.nss b/_module/nss/no_spn_druid2.nss new file mode 100644 index 00000000..e3d2f35e --- /dev/null +++ b/_module/nss/no_spn_druid2.nss @@ -0,0 +1,190 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + //Bard (buffer) config + +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+SUMMON", 100 ); //Summon allies +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] + +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+DEFSING", 70 ); //defensive [single allies] + + +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 40 ); //Dispel [enemies] + +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] + +AddBehaviour( "+DEFSELF", 80); //defensive [self] +AddBehaviour( "+AREA", 95); //AOE +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee + +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack + +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51; + if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51; + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_en4cast1.nss b/_module/nss/no_spn_en4cast1.nss new file mode 100644 index 00000000..187254f0 --- /dev/null +++ b/_module/nss/no_spn_en4cast1.nss @@ -0,0 +1,202 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" +#include "nw_o2_coninclude" +#include "x0_i0_treasure" +#include "prc_inc_racial" + +void main() +{ + +if (GetLocalInt(GetModule(),"NoAI") == 1) + SetLocalInt(OBJECT_SELF,"NoAI",1); + +if (GetLocalInt(GetModule(),"NoAI") == 2 && Random(2) == 0) + SetLocalInt(OBJECT_SELF,"NoAI",1); + +if (GetLocalInt(OBJECT_SELF,"NoAI") == 1) + { + ExecuteScript("en3_boss_spawn",OBJECT_SELF); + } else { + + //Behaviour config + if (MyPRCGetRacialType(OBJECT_SELF) != RACIAL_TYPE_UNDEAD) + AddBehaviour( "+HEALSELF", 100 ); + else + AddBehaviour( "+UNDEADHEALSELF", 100 ); + + AddBehaviour( "+REGROUP", 80 ); + AddBehaviour( "+FLANK", 20 ); + AddBehaviour( "+SUMMON", 30 + Random(40)); + + if (GetLevelByClass(CLASS_TYPE_CLERIC, OBJECT_SELF) >= 1) + AddBehaviour( "+RAISE", 60 ); + + if (GetLevelByClass(CLASS_TYPE_BARD, OBJECT_SELF) >= 1) + AddBehaviour( "+EN4DMGSHIELD", 50 ); + +if (Random(3)==0) + { + AddBehaviour( "+DEFSELF", 20 + Random(40)); + AddBehaviour( "+ENHANCESELF", 20 + Random(40)); + AddBehaviour( "+TURN", 50 ); + AddBehaviour( "+AREA", 20 + Random(40) ); + AddBehaviour( "+DIRECT", 20 + Random(40) ); + AddBehaviour( "+TOUCH", 20 + Random(40) ); + AddBehaviour( "+DISPEL", 25 ); + AddBehaviour( "+DISPELAOE", 25 ); + AddBehaviour( "+DISMISSAL", 25 ); + if (MyPRCGetRacialType(OBJECT_SELF) != RACIAL_TYPE_UNDEAD) + AddBehaviour( "+HEAL", 50 + Random(40) ); + else + AddBehaviour( "+UNDEADHEAL", 50 + Random(40) ); + AddBehaviour( "+VIS", 50 ); + AddBehaviour( "+DEFSING", 40 ); + AddBehaviour( "+GROUPENHANCE", 40 ); + AddBehaviour( "+ENHANCESING", 40 ); + AddBehaviour( "+FEATENHANCE", 40 ); + AddBehaviour( "+HELP", 60 ); + if (MyPRCGetRacialType(OBJECT_SELF) != RACIAL_TYPE_UNDEAD) + AddBehaviour( "+GROUPHEAL", 60 ); + + } else { + if (MyPRCGetRacialType(OBJECT_SELF) != RACIAL_TYPE_UNDEAD) + { + AddBehaviour( "+GROUPHEAL", 40 + Random(40)); + AddBehaviour( "+HEAL", 40 + Random(40) ); + } else { + AddBehaviour( "+UNDEADHEAL", 50 + Random(40) ); + } + + AddBehaviour( "+HELP", 40 + Random(40) ); + AddBehaviour( "+VIS", 40 + Random(40) ); + AddBehaviour( "+DEFSELF", 40 + Random(40) ); + AddBehaviour( "+DEFSING", 40 + Random(40) ); + AddBehaviour( "+GROUPENHANCE", 40 + Random(40) ); + AddBehaviour( "+ENHANCESING", 40 + Random(40) ); + AddBehaviour( "+ENHANCESELF", 40 + Random(40) ); + AddBehaviour( "+FEATENHANCE", 40 + Random(40) ); + AddBehaviour( "+DISPEL", 40 ); + AddBehaviour( "+DISPELAOE", 40 ); + AddBehaviour( "+DISMISSAL", 40 ); + AddBehaviour( "+TURN", 40 ); + AddBehaviour( "+AREA", 40 ); + AddBehaviour( "+DIRECT", 40 ); + AddBehaviour( "+TOUCH", 40 ); + } + + AddBehaviour( "+EVACAOE", 50 ); + AddBehaviour( "+ATKMELEE", 100 ); + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + DelayCommand(3.0f,ExecuteScript( "no_scr_logeq", OBJECT_SELF )); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING); + //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION); + //SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + if (Random(3)==0) + 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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. +int iRandom; +iRandom = Random(100)+1; +if (iRandom<94) + DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF)); +else if (iRandom<97) + DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_MED, OBJECT_SELF)); +else if (iRandom<100) + DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_HIGH, OBJECT_SELF)); +else + DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_UNIQUE, OBJECT_SELF)); + + } +} diff --git a/_module/nss/no_spn_en4rog.nss b/_module/nss/no_spn_en4rog.nss new file mode 100644 index 00000000..5e13e61a --- /dev/null +++ b/_module/nss/no_spn_en4rog.nss @@ -0,0 +1,159 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" +#include "nw_o2_coninclude" +#include "x0_i0_treasure" + +void main() +{ + +if (GetLocalInt(GetModule(),"NoAI") == 1) + SetLocalInt(OBJECT_SELF,"NoAI",1); + +if (GetLocalInt(GetModule(),"NoAI") == 2 && Random(3) > 0) + SetLocalInt(OBJECT_SELF,"NoAI",1); + +if (GetLocalInt(OBJECT_SELF,"NoAI") == 1) + { + SetSpawnInCondition(NW_FLAG_STEALTH); + ExecuteScript("en3_boss_spawn",OBJECT_SELF); + } else { + + //Behaviour config + AddBehaviour( "+HEALSELF", 100 ); //heal self + AddBehaviour( "+FEATENHANCE", 80 ); //enhance self via feats + AddBehaviour( "+REGROUP", 60 ); //regroup + AddBehaviour( "+FLANK", 60 ); //flank + AddBehaviour( "+AREA", 60 ); //area attack spells + AddBehaviour( "+EVACAOE", 50 ); //evac AOEs + AddBehaviour( "+EN4INVIS", 50 ); + if (GetLevelByClass(CLASS_TYPE_RANGER, OBJECT_SELF) >= 1) + { + AddBehaviour( "+ENHANCESELF", 25 + Random(25) ); + AddBehaviour( "+SUMMON", 50 ); + AddBehaviour( "+DIRECT", 25 ); + AddBehaviour( "+HELP", 30 ); + AddBehaviour( "+HEAL", 30 ); + AddBehaviour( "+MELEEASSIST", 25 ); //assist allies in melee + } else { + AddBehaviour( "+MELEEASSIST", 100 ); //assist allies in melee + } + AddBehaviour( "+ATKRANGED", 100 ); //ranged attack + AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + DelayCommand(3.0f,ExecuteScript( "no_scr_logeq", OBJECT_SELF )); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + if (Random(2)==0) + SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. +int iRandom; +iRandom = Random(100)+1; +if (iRandom<94) + DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF)); +else if (iRandom<97) + DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_MED, OBJECT_SELF)); +else if (iRandom<100) + DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_HIGH, OBJECT_SELF)); +else + DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_UNIQUE, OBJECT_SELF)); + + + } +} diff --git a/_module/nss/no_spn_heal.nss b/_module/nss/no_spn_heal.nss new file mode 100644 index 00000000..0758c1c2 --- /dev/null +++ b/_module/nss/no_spn_heal.nss @@ -0,0 +1,182 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + //Blank config + +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+GROUPHEAL", 90 ); //AOE heal [Allies] + +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] + +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+AREA", 80 ); //AOEs + +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +AddBehaviour( "+FLANK", 100 ); //flank +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_healdruid.nss b/_module/nss/no_spn_healdruid.nss new file mode 100644 index 00000000..e0801237 --- /dev/null +++ b/_module/nss/no_spn_healdruid.nss @@ -0,0 +1,176 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + //Bard (buffer) config + +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] + +AddBehaviour( "+AREA", 80); //AOE +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee + +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack + +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<60)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_immortus.nss b/_module/nss/no_spn_immortus.nss new file mode 100644 index 00000000..8f93024f --- /dev/null +++ b/_module/nss/no_spn_immortus.nss @@ -0,0 +1,178 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + //Blank config + + + + +// SetThreatLevel(OBJECT_SELF); + + +AddBehaviour( "+SUMMON", 100 ); //Summon allies +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] + +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] + +AddBehaviour( "+AREA", 90); //AOE +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +AddBehaviour( "+FLANK", 100 ); //flank +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_infern.nss b/_module/nss/no_spn_infern.nss new file mode 100644 index 00000000..1bba1183 --- /dev/null +++ b/_module/nss/no_spn_infern.nss @@ -0,0 +1,177 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Wizard config + +AddBehaviour( "+HEALSELF", 100 ); //heal self + +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+AREA", 60 ); //AOEs + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + +effect eGlow = EffectVisualEffect(VFX_EYES_RED_FLAME_HALFORC_MALE); + DelayCommand(0.3, ApplyEffectToObject + (DURATION_TYPE_PERMANENT, eGlow, OBJECT_SELF)); +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + + + + //ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); + + +} diff --git a/_module/nss/no_spn_mage.nss b/_module/nss/no_spn_mage.nss new file mode 100644 index 00000000..5be1b83a --- /dev/null +++ b/_module/nss/no_spn_mage.nss @@ -0,0 +1,178 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Wizard config + +AddBehaviour( "+EVACAOE", 100); //evac AOEs +AddBehaviour( "+HEALSELF", 100 ); //heal self + +AddBehaviour( "+SUMMON", 60 ); //Summon allies +AddBehaviour( "+DEFSELF", 90 ); //defensive [self] +AddBehaviour( "+DIRECT", 95 ); // attack spells [single enemy] + + +AddBehaviour( "+TOUCH", 80 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs + +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<80)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_mino.nss b/_module/nss/no_spn_mino.nss new file mode 100644 index 00000000..a2d611f8 --- /dev/null +++ b/_module/nss/no_spn_mino.nss @@ -0,0 +1,171 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //BOSS: Mino config + +AddBehaviour( "+EVACAOE", 100); //evac AOEs + +AddBehaviour( "+AREA", 65 ); //AOEs +AddBehaviour( "+BREATH", 80 ); //breath weapons + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + +} diff --git a/_module/nss/no_spn_mino_wiz.nss b/_module/nss/no_spn_mino_wiz.nss new file mode 100644 index 00000000..4a744c26 --- /dev/null +++ b/_module/nss/no_spn_mino_wiz.nss @@ -0,0 +1,172 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //BOSS: Mino mage config + +AddBehaviour( "+EVACAOE", 100); //evac AOEs +AddBehaviour( "+AVOIDENEMY", 20 ); //Keep away from enemies + +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 80 ); //enhancing spells [self] + +AddBehaviour( "+AREA", 90 ); //AOEs +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] + +AddBehaviour( "+DISPEL", 90 ); //Dispel [enemies] +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + +} diff --git a/_module/nss/no_spn_minsage.nss b/_module/nss/no_spn_minsage.nss new file mode 100644 index 00000000..d311861d --- /dev/null +++ b/_module/nss/no_spn_minsage.nss @@ -0,0 +1,180 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Wizard config + +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +AddBehaviour( "+EVACAOE", 100); //evac AOEs + +AddBehaviour( "+HEAL", 80 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 85 ); //heal self +AddBehaviour( "+GROUPHEAL", 90 ); //AOE heal [Allies] + +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +AddBehaviour( "+ENHANCESING", 80 ); //enhancing spells [single allies] +AddBehaviour( "+DEFSELF", 90 ); //defensive [self] + +AddBehaviour( "+DIRECT", 80 ); // attack spells [single enemy] +AddBehaviour( "+AREA", 90 ); //AOEs + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. +int iDice = d100(); +if (iDice<80)ExecuteScript ("cd_helper_func", OBJECT_SELF); + +//InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_mummy.nss b/_module/nss/no_spn_mummy.nss new file mode 100644 index 00000000..1c0c7891 --- /dev/null +++ b/_module/nss/no_spn_mummy.nss @@ -0,0 +1,173 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Bard (buffer) config + +AddBehaviour( "+EVACAOE", 50 ); //evac AOEs + +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] + +AddBehaviour( "+AREA", 50); //AOE +AddBehaviour( "+DIRECT", 20 ); // attack spells [single enemy] + +AddBehaviour( "+BREATH", 30 ); //breath weapons +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee + +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack + +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + //CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF); //* Use this to create a small amount of treasure on the creature +} diff --git a/_module/nss/no_spn_necr_boss.nss b/_module/nss/no_spn_necr_boss.nss new file mode 100644 index 00000000..2bf10b1c --- /dev/null +++ b/_module/nss/no_spn_necr_boss.nss @@ -0,0 +1,204 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" +#include "x2_inc_switches" +#include "sd_lootsystem" + +void SF_SPECBUFF() +{ + ClearAllActions(); + ActionCastSpellAtObject(VFX_IMP_MAGIC_PROTECTION, OBJECT_SELF, + METAMAGIC_NONE, TRUE); + SetLocalInt(OBJECT_SELF, "sr_buffed", 1); +} + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + object oPC = GetFirstPC(); + object oH1 = GetHenchman(oPC); + object oH2 = GetHenchman(oPC, 2); + object oH3 = GetHenchman(oPC, 3); + object oH4 = GetHenchman(oPC, 4); + + // if any mages in player's party (or player is a mage): buff spell res + // Flag set to only do this once + + if ((GetIsCaster(oPC)||GetIsCaster(oH1)>3||GetIsCaster(oH2)>3|| + GetIsCaster(oH3)>3||GetIsCaster(oH4)>3)&& + GetLocalInt(OBJECT_SELF, "sr_buffed")==0) SF_SPECBUFF(); + + //Necromancer config + +AddBehaviour( "+SUMMON", 100 ); //Summon allies +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] + +AddBehaviour( "+EVACAOE", 100); //evac AOEs +AddBehaviour( "+DISPEL", 80 ); //Dispel [enemies] + +AddBehaviour( "+DIRECT", 80 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 30 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 60 ); //AOEs + +AddBehaviour( "+HEAL", 90 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + +//int iDice = d100(); +//if (iDice<40)ExecuteScript ("cd_helper_func", OBJECT_SELF); + +////InvClr(OBJECT_SELF); + +SetEyes(VFX_EYES_GREEN_HUMAN_MALE, OBJECT_SELF); +} diff --git a/_module/nss/no_spn_necro.nss b/_module/nss/no_spn_necro.nss new file mode 100644 index 00000000..b7a8cbde --- /dev/null +++ b/_module/nss/no_spn_necro.nss @@ -0,0 +1,178 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Wizard config + +AddBehaviour( "+EVACAOE", 100); //evac AOEs +AddBehaviour( "+HEALSELF", 100 ); //heal self + +AddBehaviour( "+SUMMON", 60 ); //Summon allies +AddBehaviour( "+DEFSELF", 90 ); //defensive [self] +AddBehaviour( "+DIRECT", 90 ); // attack spells [single enemy] + + +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs + +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<80)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_nmncr.nss b/_module/nss/no_spn_nmncr.nss new file mode 100644 index 00000000..11f118a8 --- /dev/null +++ b/_module/nss/no_spn_nmncr.nss @@ -0,0 +1,202 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" +#include "x2_inc_switches" +#include "sd_lootsystem" + +void SF_SPECBUFF() +{ + ClearAllActions(); + ActionCastSpellAtObject(VFX_IMP_MAGIC_PROTECTION, OBJECT_SELF, + METAMAGIC_NONE, TRUE); + SetLocalInt(OBJECT_SELF, "sr_buffed", 1); +} + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + object oPC = GetFirstPC(); + object oH1 = GetHenchman(oPC); + object oH2 = GetHenchman(oPC, 2); + object oH3 = GetHenchman(oPC, 3); + object oH4 = GetHenchman(oPC, 4); + + // if any mages in player's party (or player is a mage): buff spell res + // Flag set to only do this once + + if ((GetIsCaster(oPC)||GetIsCaster(oH1)>3||GetIsCaster(oH2)>3|| + GetIsCaster(oH3)>3||GetIsCaster(oH4)>3)&& + GetLocalInt(OBJECT_SELF, "sr_buffed")==0) SF_SPECBUFF(); + + //Necromancer config + +AddBehaviour( "+SUMMON", 100 ); //Summon allies +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] + +AddBehaviour( "+EVACAOE", 100); //evac AOEs +AddBehaviour( "+TOUCH", 30 ); //touch attack spells [single enemy] +AddBehaviour( "+GROUPENHANCE", 90 ); //enhancing spells [AOE] +AddBehaviour( "+DEFSELF", 80 ); //defensive [self] +AddBehaviour( "+DEFSING", 90 ); //defensive [single allies] + +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + +int iDice = d100(); +if (iDice<40)ExecuteScript ("cd_helper_func", OBJECT_SELF); + +//InvClr(OBJECT_SELF); + +SetEyes(VFX_EYES_RED_FLAME_HUMAN_MALE, OBJECT_SELF); +} diff --git a/_module/nss/no_spn_orc_mys.nss b/_module/nss/no_spn_orc_mys.nss new file mode 100644 index 00000000..1ef23723 --- /dev/null +++ b/_module/nss/no_spn_orc_mys.nss @@ -0,0 +1,175 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Wizard config + +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+AREA", 70 ); //AOEs + +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] + +AddBehaviour( "+DIRECT", 90 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 80 ); // touch attack spells [single enemy] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<90)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_pally.nss b/_module/nss/no_spn_pally.nss new file mode 100644 index 00000000..051c4d33 --- /dev/null +++ b/_module/nss/no_spn_pally.nss @@ -0,0 +1,178 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Pally config + +AddBehaviour( "+EVACAOE", 80); //evac AOEs + +AddBehaviour( "+FEATENHANCE", 90 ); //feat enhance [self] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +AddBehaviour( "+HEAL", 80 ); //heal [self/allies] + +AddBehaviour( "+ENHANCESELF", 80 ); //enhancing spells [self] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + + + ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_pally2.nss b/_module/nss/no_spn_pally2.nss new file mode 100644 index 00000000..9548c6cb --- /dev/null +++ b/_module/nss/no_spn_pally2.nss @@ -0,0 +1,183 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Pally config + +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +AddBehaviour( "+EVACAOE", 80); //evac AOEs + +AddBehaviour( "+FEATENHANCE", 90 ); //feat enhance [self] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] + +AddBehaviour( "+ENHANCESELF", 80 ); //enhancing spells [self] + +AddBehaviour( "+MELEEASSIST", 80 ); //Melee Assist [allies] +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + + + int iDice = d100(); + if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51; + if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51; + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_pkeeper.nss b/_module/nss/no_spn_pkeeper.nss new file mode 100644 index 00000000..2b215979 --- /dev/null +++ b/_module/nss/no_spn_pkeeper.nss @@ -0,0 +1,140 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" +#include "nw_o2_coninclude" +#include "x0_i0_treasure" + +void main() +{ + //Behaviour config + AddBehaviour( "+AVOIDMELEE", 50 ); //avoid melee + AddBehaviour( "+EVACAOE", 80 ); //evac AOEs + AddBehaviour( "+HEALSELF", 100 ); //heal self + AddBehaviour( "+REGROUP", 20 ); //regroup + AddBehaviour( "+FEATENHANCE", 10 ); //enhance self via feats + AddBehaviour( "+CENTRALEYE", 10 ); //beholder antimagic cone + AddBehaviour( "+EYERAYS", 50 ); + AddBehaviour( "+GROUPHEAL", 60 ); + AddBehaviour( "+HELP", 60 ); + AddBehaviour( "+HEAL", 60 ); + AddBehaviour( "+VIS", 60 ); + AddBehaviour( "+DEFSELF", 40 ); + AddBehaviour( "+DEFSING", 40 ); + AddBehaviour( "+GROUPENHANCE", 40 ); + AddBehaviour( "+ENHANCESING", 40 ); + AddBehaviour( "+ENHANCESELF", 40 ); + AddBehaviour( "+FEATENHANCE", 40 ); + AddBehaviour( "+DISPEL", 40 ); + AddBehaviour( "+DISPELAOE", 40 ); + AddBehaviour( "+DISMISSAL", 40 ); + AddBehaviour( "+TURN", 40 ); + AddBehaviour( "+AREA", 40 ); + AddBehaviour( "+DIRECT", 40 ); + AddBehaviour( "+TOUCH", 40 ); + AddBehaviour( "+EVACAOE", 50 ); + AddBehaviour( "+EYERAYS", 100 ); //beholder eye rays + AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF); //* Use this to create a small amount of treasure on the creature +} diff --git a/_module/nss/no_spn_poltgst.nss b/_module/nss/no_spn_poltgst.nss new file mode 100644 index 00000000..de47b7ec --- /dev/null +++ b/_module/nss/no_spn_poltgst.nss @@ -0,0 +1,174 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Bard (buffer) config + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] + +AddBehaviour( "+DEFSELF", 80); //defensive [self] +AddBehaviour( "+AREA", 40); //AOE +AddBehaviour( "+DIRECT", 90 ); // attack spells [single enemy] + +AddBehaviour( "+ATKMELEE", 70 ); //melee attack + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee + +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack + +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<40)ExecuteScript ("cd_helper_func", OBJECT_SELF); +} diff --git a/_module/nss/no_spn_pureheal.nss b/_module/nss/no_spn_pureheal.nss new file mode 100644 index 00000000..c281a647 --- /dev/null +++ b/_module/nss/no_spn_pureheal.nss @@ -0,0 +1,176 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + //Blank config + +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] + +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] + +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +AddBehaviour( "+FLANK", 100 ); //flank +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_r_fig.nss b/_module/nss/no_spn_r_fig.nss new file mode 100644 index 00000000..453a8d39 --- /dev/null +++ b/_module/nss/no_spn_r_fig.nss @@ -0,0 +1,172 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + +void main() +{ +object oPC = GetFirstPC(); +// SetThreatLevel(OBJECT_SELF); + + //Blank config + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+MELEEASSIST", 90 ); //assist allies in melee +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +AddBehaviour( "+REGROUP", 40 ); //regroup +DelayCommand(3.0, ActionAttack(oPC)); +/* +// Movement +AddBehaviour( "+REGROUP", 20 ); //regroup +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51; + if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51; + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_ranged.nss b/_module/nss/no_spn_ranged.nss new file mode 100644 index 00000000..ca288282 --- /dev/null +++ b/_module/nss/no_spn_ranged.nss @@ -0,0 +1,174 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + //Blank config + +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +AddBehaviour( "+FLANK", 100 ); //flank + +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack + + +//AddBehaviour( "+AVOIDENEMY", 80 ); //Keep away from enemies + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +AddBehaviour( "+FLANK", 100 ); //flank +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_s_knight.nss b/_module/nss/no_spn_s_knight.nss new file mode 100644 index 00000000..2e8a4bd8 --- /dev/null +++ b/_module/nss/no_spn_s_knight.nss @@ -0,0 +1,171 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Pally config + +AddBehaviour( "+EVACAOE", 80); //evac AOEs + +AddBehaviour( "+FEATENHANCE", 60 ); //feat enhance [self] + +AddBehaviour( "+AREA", 30 ); //AOEs +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + +} diff --git a/_module/nss/no_spn_satdruid.nss b/_module/nss/no_spn_satdruid.nss new file mode 100644 index 00000000..8ba63738 --- /dev/null +++ b/_module/nss/no_spn_satdruid.nss @@ -0,0 +1,179 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + //Blank config + +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+ENHANCESELF", 60 ); //enhancing spells [self] + +AddBehaviour( "+DIRECT", 95 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 70 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 90 ); //AOEs + +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +AddBehaviour( "+FLANK", 100 ); //flank +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_satyrbard.nss b/_module/nss/no_spn_satyrbard.nss new file mode 100644 index 00000000..edd60f95 --- /dev/null +++ b/_module/nss/no_spn_satyrbard.nss @@ -0,0 +1,180 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Bard (buffer) config + + +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] + +AddBehaviour( "+DEFSELF", 80); //defensive [self] + +AddBehaviour( "+AREA", 95); //AOE +AddBehaviour( "+DIRECT", 80 ); // attack spells [single enemy] + +AddBehaviour( "+TOUCH", 80 ); //touch attack spells [single enemy] +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee + +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack + +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. +ExecuteScript ("cd_helper_func", OBJECT_SELF); + +//InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_sbss.nss b/_module/nss/no_spn_sbss.nss new file mode 100644 index 00000000..17f8bcdf --- /dev/null +++ b/_module/nss/no_spn_sbss.nss @@ -0,0 +1,168 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + //Blank config + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs +AddBehaviour( "+AREA", 100 ); //AOEs + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_sham.nss b/_module/nss/no_spn_sham.nss new file mode 100644 index 00000000..5f4974a1 --- /dev/null +++ b/_module/nss/no_spn_sham.nss @@ -0,0 +1,180 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + //Bard (buffer) config + +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] + +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] + +AddBehaviour( "+DEFSING", 30 ); //defensive [single allies] + +AddBehaviour( "+HEAL", 90 ); //heal [self/allies] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] + +AddBehaviour( "+DEFSELF", 100); //defensive [self] +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] + +AddBehaviour( "+ATKMELEE", 80 ); //melee attack + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee + +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack + +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<60)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_singer.nss b/_module/nss/no_spn_singer.nss new file mode 100644 index 00000000..c203003c --- /dev/null +++ b/_module/nss/no_spn_singer.nss @@ -0,0 +1,178 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ +//Bard (buffer) config + +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] + +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] + +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] + +AddBehaviour( "+DEFSELF", 50); //defensive [self] +AddBehaviour( "+AREA", 30); //AOE +AddBehaviour( "+DIRECT", 30 ); // attack spells [single enemy] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee + +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack + +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. +ExecuteScript ("cd_helper_func", OBJECT_SELF); + +//InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_sneaker.nss b/_module/nss/no_spn_sneaker.nss new file mode 100644 index 00000000..cbdebd07 --- /dev/null +++ b/_module/nss/no_spn_sneaker.nss @@ -0,0 +1,175 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + //Blank config + +AddBehaviour( "+HEALSELF", 60 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +AddBehaviour( "+FLANK", 90 ); //flank + +AddBehaviour( "+MELEEASSIST", 70 ); //assist allies in melee +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + +AddBehaviour( "+AREA", 50 ); //AOEs + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+REGROUP", 80 ); //regroup +AddBehaviour( "+FLANK", 20 ); //flank + +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_sneaker2.nss b/_module/nss/no_spn_sneaker2.nss new file mode 100644 index 00000000..701b3983 --- /dev/null +++ b/_module/nss/no_spn_sneaker2.nss @@ -0,0 +1,177 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + //Blank config +// SetThreatLevel(OBJECT_SELF); + +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +AddBehaviour( "+FLANK", 100 ); //flank +AddBehaviour( "+AREA", 80 ); //AOEs + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +AddBehaviour( "+MELEEASSIST", 80 ); //assist allies in melee + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+REGROUP", 80 ); //regroup +AddBehaviour( "+FLANK", 20 ); //flank + +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51; + if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51; + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_sneakrog.nss b/_module/nss/no_spn_sneakrog.nss new file mode 100644 index 00000000..4e254ed8 --- /dev/null +++ b/_module/nss/no_spn_sneakrog.nss @@ -0,0 +1,120 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" +#include "nw_o2_coninclude" +#include "x0_i0_treasure" + +void main() +{ + //Behaviour config + AddBehaviour( "+HEALSELF", 100 ); //heal self + AddBehaviour( "+FEATENHANCE", 100 ); //enhance self via feats + AddBehaviour( "+REGROUP", 80 ); //regroup + AddBehaviour( "+FLANK", 90 ); //flank + AddBehaviour( "+EVACAOE", 70 ); //evac AOEs + AddBehaviour( "+MELEEASSIST", 75 ); //assist allies in melee + AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF); //* Use this to create a small amount of treasure on the creature +} diff --git a/_module/nss/no_spn_sorc.nss b/_module/nss/no_spn_sorc.nss new file mode 100644 index 00000000..1c6e225f --- /dev/null +++ b/_module/nss/no_spn_sorc.nss @@ -0,0 +1,176 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + //Blank config + +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs +AddBehaviour( "+SUMMON", 90 ); + +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] + +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+AREA", 90 ); //AOEs + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +AddBehaviour( "+FLANK", 100 ); //flank +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51; + if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51; + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_tank.nss b/_module/nss/no_spn_tank.nss new file mode 100644 index 00000000..3e97a41a --- /dev/null +++ b/_module/nss/no_spn_tank.nss @@ -0,0 +1,170 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + //Blank config +// SetThreatLevel(OBJECT_SELF); + +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs +AddBehaviour( "+MELEEASSIST", 100 ); //assist allies in melee + +AddBehaviour( "+TOUCH", 80 ); //touch attack spells [single enemy] +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + +object oPC = GetFirstPC(); +AssignCommand(OBJECT_SELF, ActionAttack(oPC)); +/* +// Movement + AddBehaviour( "+FLANK", 100 ); //flank +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_warrior.nss b/_module/nss/no_spn_warrior.nss new file mode 100644 index 00000000..9e3914d2 --- /dev/null +++ b/_module/nss/no_spn_warrior.nss @@ -0,0 +1,171 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ +object oPC = GetFirstPC(); +// SetThreatLevel(OBJECT_SELF); + + //Blank config + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+MELEEASSIST", 90 ); //assist allies in melee +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +AddBehaviour( "+REGROUP", 40 ); //regroup +DelayCommand(3.0, ActionAttack(oPC)); +/* +// Movement +AddBehaviour( "+REGROUP", 20 ); //regroup +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_warrior_b.nss b/_module/nss/no_spn_warrior_b.nss new file mode 100644 index 00000000..932487ac --- /dev/null +++ b/_module/nss/no_spn_warrior_b.nss @@ -0,0 +1,171 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + //Blank config +// SetThreatLevel(OBJECT_SELF); + + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+MELEEASSIST", 100 ); //assist allies in melee +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + +object oPC = GetFirstPC(); +AssignCommand(OBJECT_SELF, ActionAttack(oPC)); +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_warrior_c.nss b/_module/nss/no_spn_warrior_c.nss new file mode 100644 index 00000000..b47f981e --- /dev/null +++ b/_module/nss/no_spn_warrior_c.nss @@ -0,0 +1,170 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + //Blank config +// SetThreatLevel(OBJECT_SELF); + + +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+EVACAOE", 100 ); //evac AOEs + +AddBehaviour( "+MELEEASSIST", 100 ); //assist allies in melee +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/no_spn_wiz2.nss b/_module/nss/no_spn_wiz2.nss new file mode 100644 index 00000000..2360e012 --- /dev/null +++ b/_module/nss/no_spn_wiz2.nss @@ -0,0 +1,173 @@ +//:://///////////////////////////////////////////// +//:: On Spawn In +//:: +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// + +#include "no_lib_data" +#include "no_inc" + + +void main() +{ + // SetThreatLevel(OBJECT_SELF); + + //Wizard config + +AddBehaviour( "+SUMMON", 100 ); //Summon allies +AddBehaviour( "+HEALSELF", 100 ); //heal self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 80 ); //touch attack spells [single enemy] + +AddBehaviour( "+ATKMELEE", 100 ); //melee attack + + +/* +// Movement + +AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies +AddBehaviour( "+AVOIDMELEE", 100 ); //Flee +//Melee +AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies] +AddBehaviour( "+ATKRANGED", 100 ); //ranged attack +AddBehaviour( "+ATKMELEE", 100 ); //melee attack +// Buffs self +AddBehaviour( "+DEFSELF", 100 ); //defensive [self] +AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self] +AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self] +// Buffs party +AddBehaviour( "+DEFSING", 100 ); //defensive [single allies] +AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies] +AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies] +AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE] +// Curing +AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies] +AddBehaviour( "+RAISE", 100 ); //Ressurect [allies] +// Healing +AddBehaviour( "+HEAL", 100 ); //heal [self/allies] +AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self] +AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies] +// Off casting +AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy] +AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy] +AddBehaviour( "+AREA", 100 ); //AOEs +AddBehaviour( "+SUMMON", 100 ); //Summon allies +//Def casting +AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy] +AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs +AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies] +AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies] +AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy] +// Special +AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop +AddBehaviour( "+BREATH", 100 ); //breath weapons +AddBehaviour( "+TURN", 100 ); //Turn Undead + +AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders +AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders + +*/ + + //Other config + //Corpse decay set up and exclusions + SetCorpseDelay(); + + //Set whether the creature can use EffectDisappearAppear when moving + SetIsFlier(); + + if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) + { + //I am probably a summoned creature, possibly a henchman + SetAssociateListenPatterns(); + } + + //set voice chat config + SetVoiceChat( NO_VC_DEFAULT, 10 ); + + //configure perception ranges + SetPerceptionRanges(); + + //set response range for fighting broadcast + SetResponseRange( BC_FIGHTING, 50.0 ); + + //tell creature it is ready to act + //SetReadyStatus(); + + //set fastbuffer status, should always be left on + SetIsFastBuffer( TRUE ); + //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); + //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); + + //log starting location + ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); + + //log loaded melee weapons + ExecuteScript( "no_scr_logeq", OBJECT_SELF ); + + // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //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); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + + // CUSTOM USER DEFINED EVENTS + /* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 + */ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + int iDice = d100(); + if (iDice<90)ExecuteScript ("cd_helper_func", OBJECT_SELF); + + //InvClr(OBJECT_SELF); +} diff --git a/_module/nss/prc_pwonspawn.nss b/_module/nss/prc_pwonspawn.nss index 74e10b7f..051536e6 100644 --- a/_module/nss/prc_pwonspawn.nss +++ b/_module/nss/prc_pwonspawn.nss @@ -13,6 +13,7 @@ #include "inc_debug" #include "prc_inc_racial" #include "sd_lootsystem" +#include "prc_inc_spells" void ReallyEquipItemInSlot(object oNPC, object oItem, int nSlot); @@ -35,7 +36,9 @@ void main() int nTotalPCLevel; int nAveragePCLevel; int iRacial = GetRacialType(OBJECT_SELF); - int nCommoner = GetLevelByClass(CLASS_TYPE_COMMONER, OBJECT_SELF); + int nCommoner = GetLevelByClass(CLASS_TYPE_COMMONER, OBJECT_SELF); + int nInt = GetAbilityScore(OBJECT_SELF, ABILITY_INTELLIGENCE); + int nGhost = GetIsIncorporeal(OBJECT_SELF); string sCurrentDate = SQLite_GetSystemDate(); string sMonthDay = GetSubString(sCurrentDate, 0, 5); @@ -43,20 +46,36 @@ void main() object oArea = GetArea(OBJECT_SELF); object oSkelly; object oPC = GetFirstObjectInArea(oArea); + +//:: Set threatlevel name text + SetThreatLevel(OBJECT_SELF); -//:: Testing OnSpawn loot system. + +//:: Check if the creature is an animal, beast, construct, or ooze, which should never carry treasure if (iRacial == RACIAL_TYPE_ANIMAL || iRacial == RACIAL_TYPE_BEAST || iRacial == RACIAL_TYPE_CONSTRUCT || - iRacial == RACIAL_TYPE_OOZE || - iRacial == RACIAL_TYPE_PLANT || - iRacial == RACIAL_TYPE_VERMIN) + iRacial == RACIAL_TYPE_OOZE) { - if(DEBUG) {FloatingTextStringOnCreature("Creature doesn't carry treasure", GetFirstPC(), FALSE);} + if (DEBUG) { FloatingTextStringOnCreature("Creature doesn't carry treasure", GetFirstPC(), FALSE); } + } + else if ((iRacial == RACIAL_TYPE_UNDEAD || + iRacial == RACIAL_TYPE_PLANT || + iRacial == RACIAL_TYPE_VERMIN) && + nInt <= 4) + { + //:: If the creature is undead, plant, or vermin with intelligence 4 or less, it does not carry treasure + if (DEBUG) { FloatingTextStringOnCreature("Creature is not intelligent enough to carry treasure", GetFirstPC(), FALSE); } + } + else if(nGhost) + { +//:: If the creature is undead, plant, or vermin with intelligence 4 or less, it does not carry treasure + if (DEBUG) { FloatingTextStringOnCreature("Creature is incorporeal and can't carry treasure", GetFirstPC(), FALSE); } } else { - sd_droploot(OBJECT_SELF, OBJECT_SELF); + //:: All other creatures, including undead, plants, and vermin with intelligence > 4, will drop loot + sd_droploot(OBJECT_SELF, OBJECT_SELF); } //:: Get average PC level for area @@ -93,55 +112,54 @@ void main() (sMonthDay == "10/30") || (sMonthDay == "10/31") || (sMonthDay == "11/01")) - { - //: Don't spawn skeletons from skeletons or commoners - if (GetResRef(OBJECT_SELF) == "pa_skeleton" || GetResRef(OBJECT_SELF) == "nw_skeleton" || nCommoner > 0) - return; + { +//: Don't spawn skeletons from skeletons or commoners + if (GetResRef(OBJECT_SELF) == "pa_skeleton" || GetResRef(OBJECT_SELF) == "nw_skeleton" || nCommoner > 0) + return; + +//:: 33% chance to spawn + if ( Random(100) < 33 ) + { + //:: Spawn Skeleton. + eVFX = EffectVisualEffect(VFX_IMP_EVIL_HELP); + oSkelly = CreateObject(OBJECT_TYPE_CREATURE, "nw_skeleton", GetLocation(OBJECT_SELF)); + DelayCommand(0.0, ActionDoLevelUp(oSkelly, nAveragePCLevel)); - //:: 33% chance to spawn - if ( Random(100) < 33 ) - { - //:: Spawn Skeleton. - eVFX = EffectVisualEffect(VFX_IMP_EVIL_HELP); - oSkelly = CreateObject(OBJECT_TYPE_CREATURE, "nw_skeleton", GetLocation(OBJECT_SELF)); - DelayCommand(0.0, ActionDoLevelUp(oSkelly, nAveragePCLevel)); - //:: Assign Weapon - int nResult = d6(1); - int nStackSize = 1; // Create 1 items; - string sItem; + int nResult = d6(1); + int nStackSize = 1; // Create 1 items; + string sItem; - if (nResult == 1) - { - sItem = "nw_wplhb001"; //:: Halberd - } - else if(nResult == 2) - { - sItem = "nw_wplsc001"; //:: Scythe - } - else if(nResult == 3) - { - sItem = "nw_wplss001"; //:: Spear - } - else if(nResult ==4) - { - sItem = "nw_wblfh001"; //:: Heavy Flail - } - else if(nResult == 5) - { - sItem = "nw_wswgs001"; //:: Greatsword - } - else - - sItem = "nw_waxgr001"; //:: Greataxe - - object oWeapon = CreateItemOnObject(sItem, oSkelly, nStackSize); - ReallyEquipItemInSlot(oSkelly, oWeapon, INVENTORY_SLOT_RIGHTHAND); - - //:: Apply VFX & Attack - AssignCommand(oSkelly, DetermineCombatRound(OBJECT_SELF)); - DelayCommand(0.3, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSkelly)); + if (nResult == 1) + { + sItem = "nw_wplhb001"; //:: Halberd } - - } + else if(nResult == 2) + { + sItem = "nw_wplsc001"; //:: Scythe + } + else if(nResult == 3) + { + sItem = "nw_wplss001"; //:: Spear + } + else if(nResult ==4) + { + sItem = "nw_wblfh001"; //:: Heavy Flail + } + else if(nResult == 5) + { + sItem = "nw_wswgs001"; //:: Greatsword + } + else + + sItem = "nw_waxgr001"; //:: Greataxe + + object oWeapon = CreateItemOnObject(sItem, oSkelly, nStackSize); + ReallyEquipItemInSlot(oSkelly, oWeapon, INVENTORY_SLOT_RIGHTHAND); + + //:: Apply VFX & Attack + AssignCommand(oSkelly, DetermineCombatRound(OBJECT_SELF)); + DelayCommand(0.3, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSkelly)); + } + } } \ No newline at end of file diff --git a/_module/nss/sd_lootsys_tools.nss b/_module/nss/sd_lootsys_tools.nss index d4ebcf50..191b65a5 100644 --- a/_module/nss/sd_lootsys_tools.nss +++ b/_module/nss/sd_lootsys_tools.nss @@ -195,6 +195,7 @@ void InvClear (object oMob) oItem = GetNextItemInInventory(oMob); } } + void LootClear (object oMob) { object oItem = GetFirstItemInInventory(oMob); diff --git a/_module/nss/sd_lootsystem.nss b/_module/nss/sd_lootsystem.nss index ef4dedae..6c216af1 100644 --- a/_module/nss/sd_lootsystem.nss +++ b/_module/nss/sd_lootsystem.nss @@ -11,7 +11,7 @@ #include "prc_x2_itemprop" #include "prc_inc_newip" -#include "nw_i0_generic" +//#include "nw_i0_generic" #include "inc_itm_appear" #include "inc_epicspells" @@ -217,26 +217,42 @@ void SetThreatLevel(object oMob) string sName; string cName = GetName(oMob); - if (iHD>0&&iHD<11) iRange=1; // lvl 1-10 - if (iHD>10&&iHD<19) iRange=2; // lvl 11-18 - if (iHD>18&&iHD<28) iRange=3; // lvl 19-27 - if (iHD>27&&iHD<36) iRange=4; // lvl 28-35 - if (iHD>35/* &&iHD<61 */) iRange=5; // lvl 36+ +//:: Define new ranges for each threat level + if (iHD > 0 && iHD <= 10) iRange = 1; // lvl 1-10 + if (iHD > 10 && iHD <= 20) iRange = 2; // lvl 11-20 + if (iHD > 20 && iHD <= 30) iRange = 3; // lvl 21-30 + if (iHD > 30 && iHD <= 40) iRange = 4; // lvl 31-40 + if (iHD > 40 && iHD <= 50) iRange = 5; // lvl 41-50 + if (iHD > 50 && iHD <= 60) iRange = 6; // lvl 51-60 + if (iHD > 60 && iHD <= 70) iRange = 7; // lvl 61-70 + if (iHD > 70 /* && iHD <= 80 */) iRange = 8; // lvl 71-80+ +//:: Assign colors for each tier switch(iRange) { - case 1: sName = ColorString(cName,255, 255, 255); break; - case 2: sName = ColorString(cName,189, 183, 107); break; - case 3: sName = ColorString(cName,218, 165, 32); break; - case 4: sName = ColorString(cName,210, 105, 30); break; - case 5: sName = ColorString(cName,255, 0, 0); break; - + case 1: sName = ColorString(cName, 255, 255, 255); break; // White - Low threat + case 2: sName = ColorString(cName, 255, 255, 0); break; // Yellow - Slightly higher threat + case 3: sName = ColorString(cName, 255, 165, 0); break; // Orange - Moderate threat + case 4: sName = ColorString(cName, 255, 100, 0); break; // Deep Orange - Medium threat + case 5: sName = ColorString(cName, 255, 69, 69); break; // Light Red - Higher medium threat + case 6: sName = ColorString(cName, 255, 0, 255); break; // Magenta - High threat + case 7: sName = ColorString(cName, 180, 0, 255); break; // Purple - Very high threat + case 8: sName = ColorString(cName, 153, 0, 153); break; // Bright Purple - Highest regular threat } - - if (GetLocalInt(OBJECT_SELF, "BOSS")==1)sName = ColorString(cName,255, 255, 0); + +//:: Boss enemies use red regardless of HD + if (GetLocalInt(OBJECT_SELF, "BOSS") == 1) + sName = ColorString(cName, 255, 0, 0); // Red - Boss + SetName(oMob, sName); } +void SetEyes(int iType, object oMob) +{ + effect eVis = EffectVisualEffect(iType); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis, oMob); +} + void NameSack(object oSack) { string sName = GetName(OBJECT_SELF); diff --git a/_module/nss/skullkeep_badchk.nss b/_module/nss/skullkeep_badchk.nss deleted file mode 100644 index fdc731f4..00000000 --- a/_module/nss/skullkeep_badchk.nss +++ /dev/null @@ -1,9 +0,0 @@ -int StartingConditional() -{ - int skullkeep =GetCampaignInt("SK_Factions", "Skullkeep", GetPCSpeaker()); - if (skullkeep < -5001) - return TRUE; - - return FALSE; - -} diff --git a/_module/utc/poa_hezrou01.utc.json b/_module/utc/poa_hezrou01.utc.json index a0d2d2c1..5a4848b8 100644 --- a/_module/utc/poa_hezrou01.utc.json +++ b/_module/utc/poa_hezrou01.utc.json @@ -14,7 +14,7 @@ }, "ChallengeRating": { "type": "float", - "value": 11.0 + "value": 12.0 }, "ClassList": { "type": "list", diff --git a/_module/utc/superbmage.utc.json b/_module/utc/superbmage.utc.json index 04fcee20..ceabbd55 100644 --- a/_module/utc/superbmage.utc.json +++ b/_module/utc/superbmage.utc.json @@ -170,101 +170,6 @@ } ] }, - "MemorizedList5": { - "type": "list", - "value": [ - { - "__struct_id": 3, - "Spell": { - "type": "word", - "value": 188 - }, - "SpellFlags": { - "type": "byte", - "value": 0 - }, - "SpellMetaMagic": { - "type": "byte", - "value": 1 - } - }, - { - "__struct_id": 3, - "Spell": { - "type": "word", - "value": 188 - }, - "SpellFlags": { - "type": "byte", - "value": 0 - }, - "SpellMetaMagic": { - "type": "byte", - "value": 1 - } - }, - { - "__struct_id": 3, - "Spell": { - "type": "word", - "value": 188 - }, - "SpellFlags": { - "type": "byte", - "value": 0 - }, - "SpellMetaMagic": { - "type": "byte", - "value": 1 - } - }, - { - "__struct_id": 3, - "Spell": { - "type": "word", - "value": 188 - }, - "SpellFlags": { - "type": "byte", - "value": 0 - }, - "SpellMetaMagic": { - "type": "byte", - "value": 1 - } - }, - { - "__struct_id": 3, - "Spell": { - "type": "word", - "value": 188 - }, - "SpellFlags": { - "type": "byte", - "value": 0 - }, - "SpellMetaMagic": { - "type": "byte", - "value": 1 - } - }, - { - "__struct_id": 3, - "Spell": { - "type": "word", - "value": 188 - }, - "SpellFlags": { - "type": "byte", - "value": 0 - }, - "SpellMetaMagic": { - "type": "byte", - "value": 1 - } - } - ] - }, "MemorizedList6": { "type": "list", "value": [ @@ -363,6 +268,96 @@ "MemorizedList7": { "type": "list", "value": [ + { + "__struct_id": 3, + "Spell": { + "type": "word", + "value": 188 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + }, + "SpellMetaMagic": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 3, + "Spell": { + "type": "word", + "value": 188 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + }, + "SpellMetaMagic": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 3, + "Spell": { + "type": "word", + "value": 188 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + }, + "SpellMetaMagic": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 3, + "Spell": { + "type": "word", + "value": 188 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + }, + "SpellMetaMagic": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 3, + "Spell": { + "type": "word", + "value": 188 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + }, + "SpellMetaMagic": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 3, + "Spell": { + "type": "word", + "value": 188 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + }, + "SpellMetaMagic": { + "type": "byte", + "value": 1 + } + }, { "__struct_id": 3, "Spell": { @@ -422,12 +417,7 @@ "type": "byte", "value": 0 } - } - ] - }, - "MemorizedList8": { - "type": "list", - "value": [ + }, { "__struct_id": 3, "Spell": { @@ -436,7 +426,7 @@ }, "SpellFlags": { "type": "byte", - "value": 0 + "value": 1 }, "SpellMetaMagic": { "type": "byte", @@ -451,7 +441,7 @@ }, "SpellFlags": { "type": "byte", - "value": 0 + "value": 1 }, "SpellMetaMagic": { "type": "byte", @@ -466,7 +456,7 @@ }, "SpellFlags": { "type": "byte", - "value": 0 + "value": 1 }, "SpellMetaMagic": { "type": "byte", @@ -486,7 +476,7 @@ }, "SpellFlags": { "type": "byte", - "value": 0 + "value": 1 }, "SpellMetaMagic": { "type": "byte", @@ -501,7 +491,7 @@ }, "SpellFlags": { "type": "byte", - "value": 0 + "value": 1 }, "SpellMetaMagic": { "type": "byte", @@ -516,7 +506,7 @@ }, "SpellFlags": { "type": "byte", - "value": 0 + "value": 1 }, "SpellMetaMagic": { "type": "byte", @@ -531,7 +521,7 @@ }, "SpellFlags": { "type": "byte", - "value": 0 + "value": 1 }, "SpellMetaMagic": { "type": "byte", diff --git a/_module/ute/beholderspawn.ute.json b/_module/ute/beholderspawn.ute.json index 6b1097fc..21db2d82 100644 --- a/_module/ute/beholderspawn.ute.json +++ b/_module/ute/beholderspawn.ute.json @@ -19,7 +19,7 @@ }, "CR": { "type": "float", - "value": 51.0 + "value": 50.0 }, "ResRef": { "type": "resref", diff --git a/_module/ute/drowwarriors001.ute.json b/_module/ute/drowwarriors001.ute.json index c75d395f..441bb79f 100644 --- a/_module/ute/drowwarriors001.ute.json +++ b/_module/ute/drowwarriors001.ute.json @@ -19,7 +19,7 @@ }, "CR": { "type": "float", - "value": 16.0 + "value": 15.0 }, "ResRef": { "type": "resref", diff --git a/_module/uti/aodhide.uti.json b/_module/uti/aodhide.uti.json index 00fa3306..5cb5cdae 100644 --- a/_module/uti/aodhide.uti.json +++ b/_module/uti/aodhide.uti.json @@ -446,5 +446,9 @@ "TemplateResRef": { "type": "resref", "value": "aodhide" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/aodrottingtou001.uti.json b/_module/uti/aodrottingtou001.uti.json index 2a4c3765..3b81ef1a 100644 --- a/_module/uti/aodrottingtou001.uti.json +++ b/_module/uti/aodrottingtou001.uti.json @@ -140,5 +140,9 @@ "TemplateResRef": { "type": "resref", "value": "aodrottingtou001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/aodrottingtouch.uti.json b/_module/uti/aodrottingtouch.uti.json index 12db0e11..20b08620 100644 --- a/_module/uti/aodrottingtouch.uti.json +++ b/_module/uti/aodrottingtouch.uti.json @@ -140,5 +140,9 @@ "TemplateResRef": { "type": "resref", "value": "aodrottingtouch" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/aodwingslam.uti.json b/_module/uti/aodwingslam.uti.json index 0555d6fb..b829c045 100644 --- a/_module/uti/aodwingslam.uti.json +++ b/_module/uti/aodwingslam.uti.json @@ -141,5 +141,9 @@ "TemplateResRef": { "type": "resref", "value": "aodwingslam" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/aodwingslam002.uti.json b/_module/uti/aodwingslam002.uti.json index 6befc65c..82b75db2 100644 --- a/_module/uti/aodwingslam002.uti.json +++ b/_module/uti/aodwingslam002.uti.json @@ -141,5 +141,9 @@ "TemplateResRef": { "type": "resref", "value": "aodwingslam002" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/atropalhide001.uti.json b/_module/uti/atropalhide001.uti.json index a660cf07..91773718 100644 --- a/_module/uti/atropalhide001.uti.json +++ b/_module/uti/atropalhide001.uti.json @@ -759,5 +759,9 @@ "TemplateResRef": { "type": "resref", "value": "atropalhide001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/atropalscion.uti.json b/_module/uti/atropalscion.uti.json index de1bde4b..018f8ccc 100644 --- a/_module/uti/atropalscion.uti.json +++ b/_module/uti/atropalscion.uti.json @@ -508,5 +508,9 @@ "TemplateResRef": { "type": "resref", "value": "atropalscion" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/atropaltouch.uti.json b/_module/uti/atropaltouch.uti.json index 057160b1..8344a635 100644 --- a/_module/uti/atropaltouch.uti.json +++ b/_module/uti/atropaltouch.uti.json @@ -200,5 +200,9 @@ "TemplateResRef": { "type": "resref", "value": "atropaltouch" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/bite3d6.uti.json b/_module/uti/bite3d6.uti.json index ff0a16b3..0adf9fc1 100644 --- a/_module/uti/bite3d6.uti.json +++ b/_module/uti/bite3d6.uti.json @@ -108,5 +108,9 @@ "TemplateResRef": { "type": "resref", "value": "bite3d6" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/blasphemebite.uti.json b/_module/uti/blasphemebite.uti.json index b70996a0..d4ec1b0a 100644 --- a/_module/uti/blasphemebite.uti.json +++ b/_module/uti/blasphemebite.uti.json @@ -137,5 +137,9 @@ "TemplateResRef": { "type": "resref", "value": "blasphemebite" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/blasphemehide.uti.json b/_module/uti/blasphemehide.uti.json index 1931b1f2..c2e4e5a9 100644 --- a/_module/uti/blasphemehide.uti.json +++ b/_module/uti/blasphemehide.uti.json @@ -418,5 +418,9 @@ "TemplateResRef": { "type": "resref", "value": "blasphemehide" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/bleakbornhide.uti.json b/_module/uti/bleakbornhide.uti.json index 9e7a65dc..fd5120f8 100644 --- a/_module/uti/bleakbornhide.uti.json +++ b/_module/uti/bleakbornhide.uti.json @@ -387,5 +387,9 @@ "TemplateResRef": { "type": "resref", "value": "bleakbornhide" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/bleakbornslam.uti.json b/_module/uti/bleakbornslam.uti.json index e3f4c3ff..596908b6 100644 --- a/_module/uti/bleakbornslam.uti.json +++ b/_module/uti/bleakbornslam.uti.json @@ -167,5 +167,9 @@ "TemplateResRef": { "type": "resref", "value": "bleakbornslam" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/bloodamniotehi.uti.json b/_module/uti/bloodamniotehi.uti.json index e2474fd1..c74662b5 100644 --- a/_module/uti/bloodamniotehi.uti.json +++ b/_module/uti/bloodamniotehi.uti.json @@ -544,5 +544,9 @@ "TemplateResRef": { "type": "resref", "value": "bloodamniotehi" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/bloodcall.uti.json b/_module/uti/bloodcall.uti.json index 186788d7..64e188e9 100644 --- a/_module/uti/bloodcall.uti.json +++ b/_module/uti/bloodcall.uti.json @@ -137,5 +137,9 @@ "TemplateResRef": { "type": "resref", "value": "bloodcall" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/bonebatprop.uti.json b/_module/uti/bonebatprop.uti.json index 750818a0..073dcdbd 100644 --- a/_module/uti/bonebatprop.uti.json +++ b/_module/uti/bonebatprop.uti.json @@ -389,5 +389,9 @@ "TemplateResRef": { "type": "resref", "value": "bonebatprop" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/boneclawhide.uti.json b/_module/uti/boneclawhide.uti.json index bea3bec9..db561ab4 100644 --- a/_module/uti/boneclawhide.uti.json +++ b/_module/uti/boneclawhide.uti.json @@ -480,5 +480,9 @@ "TemplateResRef": { "type": "resref", "value": "boneclawhide" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/bonesubsumpti001.uti.json b/_module/uti/bonesubsumpti001.uti.json index d333a2ae..e36cae90 100644 --- a/_module/uti/bonesubsumpti001.uti.json +++ b/_module/uti/bonesubsumpti001.uti.json @@ -136,5 +136,9 @@ "TemplateResRef": { "type": "resref", "value": "bonesubsumpti001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/boneyardhide.uti.json b/_module/uti/boneyardhide.uti.json index bc1a8aca..52e560e5 100644 --- a/_module/uti/boneyardhide.uti.json +++ b/_module/uti/boneyardhide.uti.json @@ -570,5 +570,9 @@ "TemplateResRef": { "type": "resref", "value": "boneyardhide" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/cinderspawnslam.uti.json b/_module/uti/cinderspawnslam.uti.json index d1de6941..fdb24713 100644 --- a/_module/uti/cinderspawnslam.uti.json +++ b/_module/uti/cinderspawnslam.uti.json @@ -172,5 +172,9 @@ "TemplateResRef": { "type": "resref", "value": "cinderspawnslam" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/cr_hide_dretch01.uti.json b/_module/uti/cr_hide_dretch01.uti.json index 7e10102d..e54ce4e9 100644 --- a/_module/uti/cr_hide_dretch01.uti.json +++ b/_module/uti/cr_hide_dretch01.uti.json @@ -18,7 +18,7 @@ }, "Cost": { "type": "dword", - "value": 356265 + "value": 0 }, "Cursed": { "type": "byte", diff --git a/_module/uti/cr_hide_hezrou01.uti.json b/_module/uti/cr_hide_hezrou01.uti.json index 8ba95f73..92da70df 100644 --- a/_module/uti/cr_hide_hezrou01.uti.json +++ b/_module/uti/cr_hide_hezrou01.uti.json @@ -18,7 +18,7 @@ }, "Cost": { "type": "dword", - "value": 628755 + "value": 0 }, "Cursed": { "type": "byte", diff --git a/_module/uti/cr_ring_dream18.uti.json b/_module/uti/cr_ring_dream18.uti.json index 8075c101..79cb3e3f 100644 --- a/_module/uti/cr_ring_dream18.uti.json +++ b/_module/uti/cr_ring_dream18.uti.json @@ -142,5 +142,9 @@ "TemplateResRef": { "type": "resref", "value": "cr_ring_dream18" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/craftingbelt.uti.json b/_module/uti/craftingbelt.uti.json deleted file mode 100644 index f5d049e0..00000000 --- a/_module/uti/craftingbelt.uti.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "__data_type": "UTI ", - "AddCost": { - "type": "dword", - "value": 0 - }, - "BaseItem": { - "type": "int", - "value": 21 - }, - "Charges": { - "type": "byte", - "value": 0 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Cost": { - "type": "dword", - "value": 1 - }, - "Cursed": { - "type": "byte", - "value": 0 - }, - "DescIdentified": { - "type": "cexolocstring", - "value": { - "0": "A special belt, used by those in the magical crafting trade, which can be used to store a single item property. " - } - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "Identified": { - "type": "byte", - "value": 1 - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "0": "Crafting Belt" - } - }, - "ModelPart1": { - "type": "byte", - "value": 1 - }, - "PaletteID": { - "type": "byte", - "value": 53 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PropertiesList": { - "type": "list", - "value": [] - }, - "StackSize": { - "type": "word", - "value": 1 - }, - "Stolen": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "craftingbelt" - }, - "TemplateResRef": { - "type": "resref", - "value": "craftingbelt" - } -} diff --git a/_module/uti/craftingcloak.uti.json b/_module/uti/craftingcloak.uti.json deleted file mode 100644 index 358b16c3..00000000 --- a/_module/uti/craftingcloak.uti.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "__data_type": "UTI ", - "AddCost": { - "type": "dword", - "value": 0 - }, - "BaseItem": { - "type": "int", - "value": 80 - }, - "Charges": { - "type": "byte", - "value": 0 - }, - "Cloth1Color": { - "type": "byte", - "value": 7 - }, - "Cloth2Color": { - "type": "byte", - "value": 7 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Cost": { - "type": "dword", - "value": 1 - }, - "Cursed": { - "type": "byte", - "value": 0 - }, - "DescIdentified": { - "type": "cexolocstring", - "value": { - "0": "Not much more than a draping of cloth, these are woven of a specially infused thread that allows the warp and weft to contain the essences of distilled items. They are useful only to the magical crafting process." - } - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "Identified": { - "type": "byte", - "value": 1 - }, - "Leather1Color": { - "type": "byte", - "value": 88 - }, - "Leather2Color": { - "type": "byte", - "value": 88 - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "0": "Crafting Cloak" - } - }, - "Metal1Color": { - "type": "byte", - "value": 0 - }, - "Metal2Color": { - "type": "byte", - "value": 0 - }, - "ModelPart1": { - "type": "byte", - "value": 3 - }, - "PaletteID": { - "type": "byte", - "value": 53 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PropertiesList": { - "type": "list", - "value": [] - }, - "StackSize": { - "type": "word", - "value": 1 - }, - "Stolen": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "craftingcloak" - }, - "TemplateResRef": { - "type": "resref", - "value": "craftingcloak" - } -} diff --git a/_module/uti/craftingdagger.uti.json b/_module/uti/craftingdagger.uti.json deleted file mode 100644 index 219bdd1c..00000000 --- a/_module/uti/craftingdagger.uti.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "__data_type": "UTI ", - "AddCost": { - "type": "dword", - "value": 0 - }, - "BaseItem": { - "type": "int", - "value": 22 - }, - "Charges": { - "type": "byte", - "value": 0 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Cost": { - "type": "dword", - "value": 4 - }, - "Cursed": { - "type": "byte", - "value": 0 - }, - "DescIdentified": { - "type": "cexolocstring", - "value": { - "0": "Created as a by-product of the smithing craft, these daggers act as a storage matrix for the energies needed to enchant melee weapons." - } - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "Identified": { - "type": "byte", - "value": 1 - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "0": "Crafting Dagger" - } - }, - "ModelPart1": { - "type": "byte", - "value": 52 - }, - "ModelPart2": { - "type": "byte", - "value": 62 - }, - "ModelPart3": { - "type": "byte", - "value": 52 - }, - "PaletteID": { - "type": "byte", - "value": 53 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PropertiesList": { - "type": "list", - "value": [] - }, - "StackSize": { - "type": "word", - "value": 1 - }, - "Stolen": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "craftingdagger" - }, - "TemplateResRef": { - "type": "resref", - "value": "craftingdagger" - } -} diff --git a/_module/uti/craftingdart.uti.json b/_module/uti/craftingdart.uti.json deleted file mode 100644 index 226898ef..00000000 --- a/_module/uti/craftingdart.uti.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "__data_type": "UTI ", - "AddCost": { - "type": "dword", - "value": 0 - }, - "BaseItem": { - "type": "int", - "value": 31 - }, - "Charges": { - "type": "byte", - "value": 0 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Cost": { - "type": "dword", - "value": 0 - }, - "Cursed": { - "type": "byte", - "value": 0 - }, - "DescIdentified": { - "type": "cexolocstring", - "value": { - "0": "A specialized dart that contains the distilled essence of a magical item. Each dart has a single property imbued within it, and though stackable, they should be separated to be more easily managed." - } - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "Identified": { - "type": "byte", - "value": 1 - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "0": "Crafting Dart" - } - }, - "ModelPart1": { - "type": "byte", - "value": 13 - }, - "PaletteID": { - "type": "byte", - "value": 53 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PropertiesList": { - "type": "list", - "value": [] - }, - "StackSize": { - "type": "word", - "value": 50 - }, - "Stolen": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "craftingdart" - }, - "TemplateResRef": { - "type": "resref", - "value": "craftingdart" - } -} diff --git a/_module/uti/craftingdirk.uti.json b/_module/uti/craftingdirk.uti.json deleted file mode 100644 index 061f9bc7..00000000 --- a/_module/uti/craftingdirk.uti.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "__data_type": "UTI ", - "AddCost": { - "type": "dword", - "value": 0 - }, - "BaseItem": { - "type": "int", - "value": 22 - }, - "Charges": { - "type": "byte", - "value": 0 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Cost": { - "type": "dword", - "value": 4 - }, - "Cursed": { - "type": "byte", - "value": 0 - }, - "DescIdentified": { - "type": "cexolocstring", - "value": { - "0": "A throwing dagger, this item is specially enchanted to allow properties from the magical crafting forges to be placed upon it." - } - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "Identified": { - "type": "byte", - "value": 1 - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "0": "Crafting Dirk" - } - }, - "ModelPart1": { - "type": "byte", - "value": 52 - }, - "ModelPart2": { - "type": "byte", - "value": 32 - }, - "ModelPart3": { - "type": "byte", - "value": 12 - }, - "PaletteID": { - "type": "byte", - "value": 53 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PropertiesList": { - "type": "list", - "value": [] - }, - "StackSize": { - "type": "word", - "value": 1 - }, - "Stolen": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "craftingdirk" - }, - "TemplateResRef": { - "type": "resref", - "value": "craftingdirk" - } -} diff --git a/_module/uti/craftingring.uti.json b/_module/uti/craftingring.uti.json deleted file mode 100644 index a574fd03..00000000 --- a/_module/uti/craftingring.uti.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "__data_type": "UTI ", - "AddCost": { - "type": "dword", - "value": 0 - }, - "BaseItem": { - "type": "int", - "value": 52 - }, - "Charges": { - "type": "byte", - "value": 0 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Cost": { - "type": "dword", - "value": 1 - }, - "Cursed": { - "type": "byte", - "value": 0 - }, - "DescIdentified": { - "type": "cexolocstring", - "value": { - "0": "A ring of a silvered alloy, this device is useful as a magical tool, and nothing else. The alloy allows the ring to store the essence of a magical property, thus aiding the crafting of various magic items." - } - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "Identified": { - "type": "byte", - "value": 1 - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "0": "Crafting Ring" - } - }, - "ModelPart1": { - "type": "byte", - "value": 11 - }, - "PaletteID": { - "type": "byte", - "value": 53 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PropertiesList": { - "type": "list", - "value": [] - }, - "StackSize": { - "type": "word", - "value": 1 - }, - "Stolen": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "craftingring" - }, - "TemplateResRef": { - "type": "resref", - "value": "craftingring" - } -} diff --git a/_module/uti/craftingshield.uti.json b/_module/uti/craftingshield.uti.json deleted file mode 100644 index 9926b4cd..00000000 --- a/_module/uti/craftingshield.uti.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "__data_type": "UTI ", - "AddCost": { - "type": "dword", - "value": 0 - }, - "BaseItem": { - "type": "int", - "value": 14 - }, - "Charges": { - "type": "byte", - "value": 0 - }, - "Comment": { - "type": "cexostring", - "value": "1" - }, - "Cost": { - "type": "dword", - "value": 9 - }, - "Cursed": { - "type": "byte", - "value": 0 - }, - "DescIdentified": { - "type": "cexolocstring", - "value": { - "0": "A shield made of specialized wood construction, these are useful only in the manufacture of armors and gear during the magical forging process.", - "id": 12863 - } - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "Identified": { - "type": "byte", - "value": 1 - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "0": "Crafting Shield", - "id": 12876 - } - }, - "ModelPart1": { - "type": "byte", - "value": 12 - }, - "PaletteID": { - "type": "byte", - "value": 53 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PropertiesList": { - "type": "list", - "value": [] - }, - "StackSize": { - "type": "word", - "value": 1 - }, - "Stolen": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "craftingshield" - }, - "TemplateResRef": { - "type": "resref", - "value": "craftingshield" - } -} diff --git a/_module/uti/craftingsling.uti.json b/_module/uti/craftingsling.uti.json deleted file mode 100644 index 4cda671a..00000000 --- a/_module/uti/craftingsling.uti.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "__data_type": "UTI ", - "AddCost": { - "type": "dword", - "value": 0 - }, - "BaseItem": { - "type": "int", - "value": 61 - }, - "Charges": { - "type": "byte", - "value": 0 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Cost": { - "type": "dword", - "value": 2 - }, - "Cursed": { - "type": "byte", - "value": 0 - }, - "DescIdentified": { - "type": "cexolocstring", - "value": { - "0": "A specialized sling, made of unknown leathers. Its unusual nature allows it to be used by magic smiths to store the properties of enchanted items, thereby facilitating the crafting process." - } - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "Identified": { - "type": "byte", - "value": 1 - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "0": "Crafting Sling" - } - }, - "ModelPart1": { - "type": "byte", - "value": 12 - }, - "PaletteID": { - "type": "byte", - "value": 53 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PropertiesList": { - "type": "list", - "value": [] - }, - "StackSize": { - "type": "word", - "value": 1 - }, - "Stolen": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "craftingsling" - }, - "TemplateResRef": { - "type": "resref", - "value": "craftingsling" - } -} diff --git a/_module/uti/craftingtoken.uti.json b/_module/uti/craftingtoken.uti.json deleted file mode 100644 index 3331b639..00000000 --- a/_module/uti/craftingtoken.uti.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "__data_type": "UTI ", - "AddCost": { - "type": "dword", - "value": 0 - }, - "BaseItem": { - "type": "int", - "value": 24 - }, - "Charges": { - "type": "byte", - "value": 0 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Cost": { - "type": "dword", - "value": 0 - }, - "Cursed": { - "type": "byte", - "value": 0 - }, - "DescIdentified": { - "type": "cexolocstring", - "value": { - "0": "A crystalline object, perhaps of some magical organic nature, upon which can be placed the distilled property of a magical item. They are useful in the manufacture of magic items." - } - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "Identified": { - "type": "byte", - "value": 1 - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "0": "Crafting Stone" - } - }, - "ModelPart1": { - "type": "byte", - "value": 56 - }, - "PaletteID": { - "type": "byte", - "value": 53 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PropertiesList": { - "type": "list", - "value": [] - }, - "StackSize": { - "type": "word", - "value": 1 - }, - "Stolen": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "craftingtoken" - }, - "TemplateResRef": { - "type": "resref", - "value": "craftingtoken" - } -} diff --git a/_module/uti/cryptchanthide01.uti.json b/_module/uti/cryptchanthide01.uti.json index 1d6afdec..c84f8c30 100644 --- a/_module/uti/cryptchanthide01.uti.json +++ b/_module/uti/cryptchanthide01.uti.json @@ -761,5 +761,9 @@ "TemplateResRef": { "type": "resref", "value": "cryptchanthide01" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/dreamtendril.uti.json b/_module/uti/dreamtendril.uti.json index 97e10c7d..cbbf3c57 100644 --- a/_module/uti/dreamtendril.uti.json +++ b/_module/uti/dreamtendril.uti.json @@ -169,5 +169,9 @@ "TemplateResRef": { "type": "resref", "value": "dreamtendril" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/drm_vestigehide.uti.json b/_module/uti/drm_vestigehide.uti.json index 5b31bc24..69a6dada 100644 --- a/_module/uti/drm_vestigehide.uti.json +++ b/_module/uti/drm_vestigehide.uti.json @@ -821,5 +821,9 @@ "TemplateResRef": { "type": "resref", "value": "drm_vestigehide" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/dw_ghosthide001.uti.json b/_module/uti/dw_ghosthide001.uti.json index 76fc44b6..492f558f 100644 --- a/_module/uti/dw_ghosthide001.uti.json +++ b/_module/uti/dw_ghosthide001.uti.json @@ -761,5 +761,9 @@ "TemplateResRef": { "type": "resref", "value": "dw_ghosthide001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/dw_ghostslam001.uti.json b/_module/uti/dw_ghostslam001.uti.json index 0553435b..39e4dce1 100644 --- a/_module/uti/dw_ghostslam001.uti.json +++ b/_module/uti/dw_ghostslam001.uti.json @@ -170,5 +170,9 @@ "TemplateResRef": { "type": "resref", "value": "dw_ghostslam001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/firesubtypeund.uti.json b/_module/uti/firesubtypeund.uti.json index 2fc4e3df..86f310d3 100644 --- a/_module/uti/firesubtypeund.uti.json +++ b/_module/uti/firesubtypeund.uti.json @@ -385,5 +385,9 @@ "TemplateResRef": { "type": "resref", "value": "firesubtypeund" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/ghastbite001.uti.json b/_module/uti/ghastbite001.uti.json index af9ded94..fac05cb0 100644 --- a/_module/uti/ghastbite001.uti.json +++ b/_module/uti/ghastbite001.uti.json @@ -139,5 +139,9 @@ "TemplateResRef": { "type": "resref", "value": "ghastbite001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/ghastclaw001.uti.json b/_module/uti/ghastclaw001.uti.json index fd4b13fd..0bb59d60 100644 --- a/_module/uti/ghastclaw001.uti.json +++ b/_module/uti/ghastclaw001.uti.json @@ -139,5 +139,9 @@ "TemplateResRef": { "type": "resref", "value": "ghastclaw001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/ghoulbite001.uti.json b/_module/uti/ghoulbite001.uti.json index 6fe696e2..7a0bfe8c 100644 --- a/_module/uti/ghoulbite001.uti.json +++ b/_module/uti/ghoulbite001.uti.json @@ -139,5 +139,9 @@ "TemplateResRef": { "type": "resref", "value": "ghoulbite001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/ghoulclaw001.uti.json b/_module/uti/ghoulclaw001.uti.json index 9871cff3..12dcfa5c 100644 --- a/_module/uti/ghoulclaw001.uti.json +++ b/_module/uti/ghoulclaw001.uti.json @@ -137,5 +137,9 @@ "TemplateResRef": { "type": "resref", "value": "ghoulclaw001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/hulkingcorspeh.uti.json b/_module/uti/hulkingcorspeh.uti.json index 742cb7ad..d6ccee45 100644 --- a/_module/uti/hulkingcorspeh.uti.json +++ b/_module/uti/hulkingcorspeh.uti.json @@ -416,5 +416,9 @@ "TemplateResRef": { "type": "resref", "value": "hulkingcorspeh" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/huneferhide.uti.json b/_module/uti/huneferhide.uti.json index feb02603..ce90a62f 100644 --- a/_module/uti/huneferhide.uti.json +++ b/_module/uti/huneferhide.uti.json @@ -544,5 +544,9 @@ "TemplateResRef": { "type": "resref", "value": "huneferhide" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/huneferslam.uti.json b/_module/uti/huneferslam.uti.json index 041e95a3..b04dafd4 100644 --- a/_module/uti/huneferslam.uti.json +++ b/_module/uti/huneferslam.uti.json @@ -136,5 +136,9 @@ "TemplateResRef": { "type": "resref", "value": "huneferslam" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/impgrabclaw_1d8.uti.json b/_module/uti/impgrabclaw_1d8.uti.json index 34efb6d8..41efa38f 100644 --- a/_module/uti/impgrabclaw_1d8.uti.json +++ b/_module/uti/impgrabclaw_1d8.uti.json @@ -141,5 +141,9 @@ "TemplateResRef": { "type": "resref", "value": "impgrabclaw_1d8" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/nightcrawlerhid.uti.json b/_module/uti/nightcrawlerhid.uti.json index fed924fc..a6a5ab26 100644 --- a/_module/uti/nightcrawlerhid.uti.json +++ b/_module/uti/nightcrawlerhid.uti.json @@ -416,5 +416,9 @@ "TemplateResRef": { "type": "resref", "value": "nightcrawlerhid" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/plagueblighthide.uti.json b/_module/uti/plagueblighthide.uti.json index b4bb2af8..ce43fec9 100644 --- a/_module/uti/plagueblighthide.uti.json +++ b/_module/uti/plagueblighthide.uti.json @@ -511,5 +511,9 @@ "TemplateResRef": { "type": "resref", "value": "plagueblighthide" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/plagueblightslam.uti.json b/_module/uti/plagueblightslam.uti.json index ee15b126..da684910 100644 --- a/_module/uti/plagueblightslam.uti.json +++ b/_module/uti/plagueblightslam.uti.json @@ -203,5 +203,9 @@ "TemplateResRef": { "type": "resref", "value": "plagueblightslam" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/plagueblightslm2.uti.json b/_module/uti/plagueblightslm2.uti.json index d042680f..d84847b0 100644 --- a/_module/uti/plagueblightslm2.uti.json +++ b/_module/uti/plagueblightslm2.uti.json @@ -203,5 +203,9 @@ "TemplateResRef": { "type": "resref", "value": "plagueblightslm2" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/sd_barb_s1.uti.json b/_module/uti/sd_barb_s1.uti.json index 5001bcab..e1858e3c 100644 --- a/_module/uti/sd_barb_s1.uti.json +++ b/_module/uti/sd_barb_s1.uti.json @@ -278,5 +278,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 26 } } diff --git a/_module/uti/sd_barb_s2.uti.json b/_module/uti/sd_barb_s2.uti.json index d22ce0f6..c45301de 100644 --- a/_module/uti/sd_barb_s2.uti.json +++ b/_module/uti/sd_barb_s2.uti.json @@ -380,5 +380,81 @@ } } ] + }, + "xArmorPart_Belt": { + "type": "word", + "value": 15 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 1 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 4 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 10 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 8 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 0 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 1 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 1 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 36 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 1 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 4 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 10 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 0 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 8 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 0 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 1 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 7 } } diff --git a/_module/uti/sd_barb_s3.uti.json b/_module/uti/sd_barb_s3.uti.json index c3fdf216..87e304b6 100644 --- a/_module/uti/sd_barb_s3.uti.json +++ b/_module/uti/sd_barb_s3.uti.json @@ -316,5 +316,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/sd_barb_s4.uti.json b/_module/uti/sd_barb_s4.uti.json index 757012a9..3cd7e5d5 100644 --- a/_module/uti/sd_barb_s4.uti.json +++ b/_module/uti/sd_barb_s4.uti.json @@ -309,5 +309,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 4 } } diff --git a/_module/uti/sd_barb_s5.uti.json b/_module/uti/sd_barb_s5.uti.json index 75cc5d06..d8a2e9c9 100644 --- a/_module/uti/sd_barb_s5.uti.json +++ b/_module/uti/sd_barb_s5.uti.json @@ -293,5 +293,17 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 12 + }, + "xModelPart2": { + "type": "word", + "value": 32 + }, + "xModelPart3": { + "type": "word", + "value": 22 } } diff --git a/_module/uti/sd_barb_s6.uti.json b/_module/uti/sd_barb_s6.uti.json index 5dedb765..3dcfd052 100644 --- a/_module/uti/sd_barb_s6.uti.json +++ b/_module/uti/sd_barb_s6.uti.json @@ -285,5 +285,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/sd_bastard.uti.json b/_module/uti/sd_bastard.uti.json index 724c8b53..3f3a6fa3 100644 --- a/_module/uti/sd_bastard.uti.json +++ b/_module/uti/sd_bastard.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sd_bastard" + }, + "xModelPart1": { + "type": "word", + "value": 12 + }, + "xModelPart2": { + "type": "word", + "value": 14 + }, + "xModelPart3": { + "type": "word", + "value": 64 } } diff --git a/_module/uti/sd_cleric_s1_1.uti.json b/_module/uti/sd_cleric_s1_1.uti.json index 717e970a..1a909c13 100644 --- a/_module/uti/sd_cleric_s1_1.uti.json +++ b/_module/uti/sd_cleric_s1_1.uti.json @@ -254,5 +254,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 8 } } diff --git a/_module/uti/sd_cleric_s1_2.uti.json b/_module/uti/sd_cleric_s1_2.uti.json index dbf605b4..e28ee624 100644 --- a/_module/uti/sd_cleric_s1_2.uti.json +++ b/_module/uti/sd_cleric_s1_2.uti.json @@ -293,5 +293,17 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 33 + }, + "xModelPart2": { + "type": "word", + "value": 41 + }, + "xModelPart3": { + "type": "word", + "value": 44 } } diff --git a/_module/uti/sd_cleric_s1_3.uti.json b/_module/uti/sd_cleric_s1_3.uti.json index 721b8f06..fb59e4a4 100644 --- a/_module/uti/sd_cleric_s1_3.uti.json +++ b/_module/uti/sd_cleric_s1_3.uti.json @@ -309,5 +309,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 27 } } diff --git a/_module/uti/sd_cleric_s1_4.uti.json b/_module/uti/sd_cleric_s1_4.uti.json index 29eec168..519d4d4e 100644 --- a/_module/uti/sd_cleric_s1_4.uti.json +++ b/_module/uti/sd_cleric_s1_4.uti.json @@ -380,5 +380,81 @@ } } ] + }, + "xArmorPart_Belt": { + "type": "word", + "value": 8 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 7 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 17 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 10 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 1 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 11 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 19 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 9 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 3 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 6 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 7 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 17 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 10 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 1 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 33 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 11 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 15 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 9 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 61 } } diff --git a/_module/uti/sd_cleric_s1_5.uti.json b/_module/uti/sd_cleric_s1_5.uti.json index 794fdaa0..6eeef8c2 100644 --- a/_module/uti/sd_cleric_s1_5.uti.json +++ b/_module/uti/sd_cleric_s1_5.uti.json @@ -278,5 +278,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 4 } } diff --git a/_module/uti/sd_cleric_s1_6.uti.json b/_module/uti/sd_cleric_s1_6.uti.json index 9fbc4d72..da634db4 100644 --- a/_module/uti/sd_cleric_s1_6.uti.json +++ b/_module/uti/sd_cleric_s1_6.uti.json @@ -378,5 +378,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 8 } } diff --git a/_module/uti/sd_druid_s1_1.uti.json b/_module/uti/sd_druid_s1_1.uti.json index feadd47b..98ae4144 100644 --- a/_module/uti/sd_druid_s1_1.uti.json +++ b/_module/uti/sd_druid_s1_1.uti.json @@ -340,5 +340,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 11 } } diff --git a/_module/uti/sd_druid_s1_2.uti.json b/_module/uti/sd_druid_s1_2.uti.json index c975c43a..9df16f48 100644 --- a/_module/uti/sd_druid_s1_2.uti.json +++ b/_module/uti/sd_druid_s1_2.uti.json @@ -411,5 +411,81 @@ } } ] + }, + "xArmorPart_Belt": { + "type": "word", + "value": 8 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 15 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 12 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 1 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 11 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 19 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 9 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 1 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 6 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 15 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 12 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 1 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 4 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 11 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 15 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 9 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 6 } } diff --git a/_module/uti/sd_druid_s1_3.uti.json b/_module/uti/sd_druid_s1_3.uti.json index f84f9bf3..2daacef8 100644 --- a/_module/uti/sd_druid_s1_3.uti.json +++ b/_module/uti/sd_druid_s1_3.uti.json @@ -293,5 +293,17 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 43 + }, + "xModelPart2": { + "type": "word", + "value": 34 + }, + "xModelPart3": { + "type": "word", + "value": 34 } } diff --git a/_module/uti/sd_druid_s1_4.uti.json b/_module/uti/sd_druid_s1_4.uti.json index eef1516b..713bc446 100644 --- a/_module/uti/sd_druid_s1_4.uti.json +++ b/_module/uti/sd_druid_s1_4.uti.json @@ -440,5 +440,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 7 } } diff --git a/_module/uti/sd_druid_s1_5.uti.json b/_module/uti/sd_druid_s1_5.uti.json index 1022f32f..2efd6d1c 100644 --- a/_module/uti/sd_druid_s1_5.uti.json +++ b/_module/uti/sd_druid_s1_5.uti.json @@ -309,5 +309,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 2 } } diff --git a/_module/uti/sd_druid_s1_6.uti.json b/_module/uti/sd_druid_s1_6.uti.json index 54cbbe3f..03bbd869 100644 --- a/_module/uti/sd_druid_s1_6.uti.json +++ b/_module/uti/sd_druid_s1_6.uti.json @@ -285,5 +285,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 5 } } diff --git a/_module/uti/sd_fighter_s1_1.uti.json b/_module/uti/sd_fighter_s1_1.uti.json index daabb957..19fea362 100644 --- a/_module/uti/sd_fighter_s1_1.uti.json +++ b/_module/uti/sd_fighter_s1_1.uti.json @@ -411,5 +411,81 @@ } } ] + }, + "xArmorPart_Belt": { + "type": "word", + "value": 8 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 7 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 17 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 5 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 5 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 11 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 19 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 9 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 3 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 6 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 7 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 17 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 5 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 5 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 0 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 11 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 15 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 9 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 53 } } diff --git a/_module/uti/sd_fighter_s1_2.uti.json b/_module/uti/sd_fighter_s1_2.uti.json index 7beb87d6..44ef6fb4 100644 --- a/_module/uti/sd_fighter_s1_2.uti.json +++ b/_module/uti/sd_fighter_s1_2.uti.json @@ -313,5 +313,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 31 } } diff --git a/_module/uti/sd_fighter_s1_3.uti.json b/_module/uti/sd_fighter_s1_3.uti.json index d0399a82..ef6d862c 100644 --- a/_module/uti/sd_fighter_s1_3.uti.json +++ b/_module/uti/sd_fighter_s1_3.uti.json @@ -371,5 +371,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 16 } } diff --git a/_module/uti/sd_fighter_s1_4.uti.json b/_module/uti/sd_fighter_s1_4.uti.json index d582a0a2..cb4d86de 100644 --- a/_module/uti/sd_fighter_s1_4.uti.json +++ b/_module/uti/sd_fighter_s1_4.uti.json @@ -345,5 +345,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/sd_fighter_s1_5.uti.json b/_module/uti/sd_fighter_s1_5.uti.json index fea39745..f5e834fc 100644 --- a/_module/uti/sd_fighter_s1_5.uti.json +++ b/_module/uti/sd_fighter_s1_5.uti.json @@ -285,5 +285,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 3 } } diff --git a/_module/uti/sd_fighter_s1_6.uti.json b/_module/uti/sd_fighter_s1_6.uti.json index 56863785..08ea9b13 100644 --- a/_module/uti/sd_fighter_s1_6.uti.json +++ b/_module/uti/sd_fighter_s1_6.uti.json @@ -386,5 +386,17 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 33 + }, + "xModelPart2": { + "type": "word", + "value": 11 + }, + "xModelPart3": { + "type": "word", + "value": 11 } } diff --git a/_module/uti/sd_fighter_s2_1.uti.json b/_module/uti/sd_fighter_s2_1.uti.json index 4ebce0c2..d398b3d8 100644 --- a/_module/uti/sd_fighter_s2_1.uti.json +++ b/_module/uti/sd_fighter_s2_1.uti.json @@ -378,5 +378,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 4 } } diff --git a/_module/uti/sd_fighter_s2_2.uti.json b/_module/uti/sd_fighter_s2_2.uti.json index 62709472..53933693 100644 --- a/_module/uti/sd_fighter_s2_2.uti.json +++ b/_module/uti/sd_fighter_s2_2.uti.json @@ -371,5 +371,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 29 } } diff --git a/_module/uti/sd_fighter_s2_3.uti.json b/_module/uti/sd_fighter_s2_3.uti.json index 96241536..bc68c83a 100644 --- a/_module/uti/sd_fighter_s2_3.uti.json +++ b/_module/uti/sd_fighter_s2_3.uti.json @@ -442,5 +442,81 @@ } } ] + }, + "xArmorPart_Belt": { + "type": "word", + "value": 8 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 7 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 17 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 10 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 11 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 19 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 9 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 1 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 6 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 7 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 17 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 10 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 4 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 11 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 15 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 9 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 6 } } diff --git a/_module/uti/sd_fighter_s2_4.uti.json b/_module/uti/sd_fighter_s2_4.uti.json index 6e95d04a..8184151c 100644 --- a/_module/uti/sd_fighter_s2_4.uti.json +++ b/_module/uti/sd_fighter_s2_4.uti.json @@ -324,5 +324,17 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 33 + }, + "xModelPart2": { + "type": "word", + "value": 12 + }, + "xModelPart3": { + "type": "word", + "value": 41 } } diff --git a/_module/uti/sd_fighter_s2_5.uti.json b/_module/uti/sd_fighter_s2_5.uti.json index 7d437436..cd218c3c 100644 --- a/_module/uti/sd_fighter_s2_5.uti.json +++ b/_module/uti/sd_fighter_s2_5.uti.json @@ -378,5 +378,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 4 } } diff --git a/_module/uti/sd_fighter_s2_6.uti.json b/_module/uti/sd_fighter_s2_6.uti.json index 14917267..212e7142 100644 --- a/_module/uti/sd_fighter_s2_6.uti.json +++ b/_module/uti/sd_fighter_s2_6.uti.json @@ -371,5 +371,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 5 } } diff --git a/_module/uti/sd_mgloves.uti.json b/_module/uti/sd_mgloves.uti.json index f69253c5..e0d9d774 100644 --- a/_module/uti/sd_mgloves.uti.json +++ b/_module/uti/sd_mgloves.uti.json @@ -107,5 +107,9 @@ "TemplateResRef": { "type": "resref", "value": "sd_mgloves" + }, + "xModelPart1": { + "type": "word", + "value": 2 } } diff --git a/_module/uti/sd_mgloves1.uti.json b/_module/uti/sd_mgloves1.uti.json index 72b525e3..2fbb08bb 100644 --- a/_module/uti/sd_mgloves1.uti.json +++ b/_module/uti/sd_mgloves1.uti.json @@ -107,5 +107,9 @@ "TemplateResRef": { "type": "resref", "value": "sd_mgloves1" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/sd_mgloves2.uti.json b/_module/uti/sd_mgloves2.uti.json index a2cecf16..a8960e8d 100644 --- a/_module/uti/sd_mgloves2.uti.json +++ b/_module/uti/sd_mgloves2.uti.json @@ -107,5 +107,9 @@ "TemplateResRef": { "type": "resref", "value": "sd_mgloves2" + }, + "xModelPart1": { + "type": "word", + "value": 11 } } diff --git a/_module/uti/sd_mgloves3.uti.json b/_module/uti/sd_mgloves3.uti.json index 2fb414e7..3bc3dcd5 100644 --- a/_module/uti/sd_mgloves3.uti.json +++ b/_module/uti/sd_mgloves3.uti.json @@ -107,5 +107,9 @@ "TemplateResRef": { "type": "resref", "value": "sd_mgloves3" + }, + "xModelPart1": { + "type": "word", + "value": 6 } } diff --git a/_module/uti/sd_mgloves4.uti.json b/_module/uti/sd_mgloves4.uti.json index d18785f1..6cebeabb 100644 --- a/_module/uti/sd_mgloves4.uti.json +++ b/_module/uti/sd_mgloves4.uti.json @@ -107,5 +107,9 @@ "TemplateResRef": { "type": "resref", "value": "sd_mgloves4" + }, + "xModelPart1": { + "type": "word", + "value": 5 } } diff --git a/_module/uti/sd_mgloves5.uti.json b/_module/uti/sd_mgloves5.uti.json index cf91d837..7982b5b5 100644 --- a/_module/uti/sd_mgloves5.uti.json +++ b/_module/uti/sd_mgloves5.uti.json @@ -107,5 +107,9 @@ "TemplateResRef": { "type": "resref", "value": "sd_mgloves5" + }, + "xModelPart1": { + "type": "word", + "value": 3 } } diff --git a/_module/uti/sd_monk_s1_1.uti.json b/_module/uti/sd_monk_s1_1.uti.json index d4189857..4f3b18d2 100644 --- a/_module/uti/sd_monk_s1_1.uti.json +++ b/_module/uti/sd_monk_s1_1.uti.json @@ -309,5 +309,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 28 } } diff --git a/_module/uti/sd_monk_s1_2.uti.json b/_module/uti/sd_monk_s1_2.uti.json index 39d93ea7..e30dc9c6 100644 --- a/_module/uti/sd_monk_s1_2.uti.json +++ b/_module/uti/sd_monk_s1_2.uti.json @@ -411,5 +411,81 @@ } } ] + }, + "xArmorPart_Belt": { + "type": "word", + "value": 16 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 1 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 17 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 10 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 16 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 0 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 8 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 1 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 31 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 1 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 17 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 10 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 0 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 16 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 0 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 8 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 6 } } diff --git a/_module/uti/sd_monk_s1_3.uti.json b/_module/uti/sd_monk_s1_3.uti.json index fcf7758d..c1ca8660 100644 --- a/_module/uti/sd_monk_s1_3.uti.json +++ b/_module/uti/sd_monk_s1_3.uti.json @@ -316,5 +316,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 9 } } diff --git a/_module/uti/sd_monk_s1_4.uti.json b/_module/uti/sd_monk_s1_4.uti.json index e332150f..c10e4746 100644 --- a/_module/uti/sd_monk_s1_4.uti.json +++ b/_module/uti/sd_monk_s1_4.uti.json @@ -340,5 +340,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 8 } } diff --git a/_module/uti/sd_monk_s1_5.uti.json b/_module/uti/sd_monk_s1_5.uti.json index a4e34148..01d4aad1 100644 --- a/_module/uti/sd_monk_s1_5.uti.json +++ b/_module/uti/sd_monk_s1_5.uti.json @@ -293,5 +293,17 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 33 + }, + "xModelPart2": { + "type": "word", + "value": 42 + }, + "xModelPart3": { + "type": "word", + "value": 22 } } diff --git a/_module/uti/sd_monk_s1_6.uti.json b/_module/uti/sd_monk_s1_6.uti.json index cce0339b..1bfd6aa4 100644 --- a/_module/uti/sd_monk_s1_6.uti.json +++ b/_module/uti/sd_monk_s1_6.uti.json @@ -314,5 +314,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 2 } } diff --git a/_module/uti/sd_paladin_s1_1.uti.json b/_module/uti/sd_paladin_s1_1.uti.json index 7b09e513..55d336d2 100644 --- a/_module/uti/sd_paladin_s1_1.uti.json +++ b/_module/uti/sd_paladin_s1_1.uti.json @@ -316,5 +316,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 2 } } diff --git a/_module/uti/sd_paladin_s1_2.uti.json b/_module/uti/sd_paladin_s1_2.uti.json index 4042f30c..cb63505d 100644 --- a/_module/uti/sd_paladin_s1_2.uti.json +++ b/_module/uti/sd_paladin_s1_2.uti.json @@ -324,5 +324,17 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 33 + }, + "xModelPart2": { + "type": "word", + "value": 23 + }, + "xModelPart3": { + "type": "word", + "value": 11 } } diff --git a/_module/uti/sd_paladin_s1_3.uti.json b/_module/uti/sd_paladin_s1_3.uti.json index 7606c24b..9125cd3b 100644 --- a/_module/uti/sd_paladin_s1_3.uti.json +++ b/_module/uti/sd_paladin_s1_3.uti.json @@ -315,5 +315,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 41 } } diff --git a/_module/uti/sd_paladin_s1_4.uti.json b/_module/uti/sd_paladin_s1_4.uti.json index 6496bf47..0a0974dc 100644 --- a/_module/uti/sd_paladin_s1_4.uti.json +++ b/_module/uti/sd_paladin_s1_4.uti.json @@ -371,5 +371,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 31 } } diff --git a/_module/uti/sd_paladin_s1_5.uti.json b/_module/uti/sd_paladin_s1_5.uti.json index 600c2b71..a142f592 100644 --- a/_module/uti/sd_paladin_s1_5.uti.json +++ b/_module/uti/sd_paladin_s1_5.uti.json @@ -442,5 +442,81 @@ } } ] + }, + "xArmorPart_Belt": { + "type": "word", + "value": 8 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 7 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 20 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 5 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 5 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 17 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 8 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 9 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 1 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 8 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 7 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 20 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 5 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 5 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 0 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 17 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 8 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 9 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 23 } } diff --git a/_module/uti/sd_paladin_s1_6.uti.json b/_module/uti/sd_paladin_s1_6.uti.json index a6e78a2f..804542fc 100644 --- a/_module/uti/sd_paladin_s1_6.uti.json +++ b/_module/uti/sd_paladin_s1_6.uti.json @@ -502,5 +502,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 6 } } diff --git a/_module/uti/sd_rune.uti.json b/_module/uti/sd_rune.uti.json index fed47581..af15bbab 100644 --- a/_module/uti/sd_rune.uti.json +++ b/_module/uti/sd_rune.uti.json @@ -77,5 +77,9 @@ "TemplateResRef": { "type": "resref", "value": "sd_rune" + }, + "xModelPart1": { + "type": "word", + "value": 49 } } diff --git a/_module/uti/sd_rune2.uti.json b/_module/uti/sd_rune2.uti.json index 8be0f710..e79527c6 100644 --- a/_module/uti/sd_rune2.uti.json +++ b/_module/uti/sd_rune2.uti.json @@ -77,5 +77,9 @@ "TemplateResRef": { "type": "resref", "value": "sd_rune2" + }, + "xModelPart1": { + "type": "word", + "value": 68 } } diff --git a/_module/uti/sd_rune3.uti.json b/_module/uti/sd_rune3.uti.json index 4841e13b..db347d5e 100644 --- a/_module/uti/sd_rune3.uti.json +++ b/_module/uti/sd_rune3.uti.json @@ -77,5 +77,9 @@ "TemplateResRef": { "type": "resref", "value": "sd_rune3" + }, + "xModelPart1": { + "type": "word", + "value": 73 } } diff --git a/_module/uti/sd_skin.uti.json b/_module/uti/sd_skin.uti.json index 9f8036b6..7854882a 100644 --- a/_module/uti/sd_skin.uti.json +++ b/_module/uti/sd_skin.uti.json @@ -77,5 +77,9 @@ "TemplateResRef": { "type": "resref", "value": "sd_skin" + }, + "xModelPart1": { + "type": "word", + "value": 89 } } diff --git a/_module/uti/sd_sorc_s1_1.uti.json b/_module/uti/sd_sorc_s1_1.uti.json index 1e5d3bea..7e42986f 100644 --- a/_module/uti/sd_sorc_s1_1.uti.json +++ b/_module/uti/sd_sorc_s1_1.uti.json @@ -442,5 +442,81 @@ } } ] + }, + "xArmorPart_Belt": { + "type": "word", + "value": 8 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 8 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 13 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 5 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 11 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 19 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 9 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 3 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 6 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 8 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 13 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 5 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 5 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 11 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 15 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 9 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 6 } } diff --git a/_module/uti/sd_sorc_s1_2.uti.json b/_module/uti/sd_sorc_s1_2.uti.json index 5410dd0e..177ff2cf 100644 --- a/_module/uti/sd_sorc_s1_2.uti.json +++ b/_module/uti/sd_sorc_s1_2.uti.json @@ -371,5 +371,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 9 } } diff --git a/_module/uti/sd_sorc_s1_3.uti.json b/_module/uti/sd_sorc_s1_3.uti.json index bffee1fc..fd782708 100644 --- a/_module/uti/sd_sorc_s1_3.uti.json +++ b/_module/uti/sd_sorc_s1_3.uti.json @@ -409,5 +409,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 6 } } diff --git a/_module/uti/sd_sorc_s1_4.uti.json b/_module/uti/sd_sorc_s1_4.uti.json index f1c3741b..1cfbc63c 100644 --- a/_module/uti/sd_sorc_s1_4.uti.json +++ b/_module/uti/sd_sorc_s1_4.uti.json @@ -324,5 +324,17 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 42 + }, + "xModelPart2": { + "type": "word", + "value": 32 + }, + "xModelPart3": { + "type": "word", + "value": 32 } } diff --git a/_module/uti/sd_sorc_s1_5.uti.json b/_module/uti/sd_sorc_s1_5.uti.json index 518382ec..7a9a9e34 100644 --- a/_module/uti/sd_sorc_s1_5.uti.json +++ b/_module/uti/sd_sorc_s1_5.uti.json @@ -371,5 +371,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 13 } } diff --git a/_module/uti/sd_sorc_s1_6.uti.json b/_module/uti/sd_sorc_s1_6.uti.json index 6e3420ec..4ed735ad 100644 --- a/_module/uti/sd_sorc_s1_6.uti.json +++ b/_module/uti/sd_sorc_s1_6.uti.json @@ -347,5 +347,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 9 } } diff --git a/_module/uti/sd_wizard_s1_1.uti.json b/_module/uti/sd_wizard_s1_1.uti.json index ab457156..12c1d287 100644 --- a/_module/uti/sd_wizard_s1_1.uti.json +++ b/_module/uti/sd_wizard_s1_1.uti.json @@ -316,5 +316,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 10 } } diff --git a/_module/uti/sd_wizard_s1_2.uti.json b/_module/uti/sd_wizard_s1_2.uti.json index 735cc77c..9f7dfa63 100644 --- a/_module/uti/sd_wizard_s1_2.uti.json +++ b/_module/uti/sd_wizard_s1_2.uti.json @@ -411,5 +411,81 @@ } } ] + }, + "xArmorPart_Belt": { + "type": "word", + "value": 8 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 15 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 13 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 5 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 5 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 11 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 19 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 9 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 3 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 6 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 15 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 13 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 5 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 5 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 5 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 11 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 15 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 9 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 6 } } diff --git a/_module/uti/sd_wizard_s1_3.uti.json b/_module/uti/sd_wizard_s1_3.uti.json index 2282b691..de0ac18c 100644 --- a/_module/uti/sd_wizard_s1_3.uti.json +++ b/_module/uti/sd_wizard_s1_3.uti.json @@ -340,5 +340,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 13 } } diff --git a/_module/uti/sd_wizard_s1_4.uti.json b/_module/uti/sd_wizard_s1_4.uti.json index 3f599aa2..da76b061 100644 --- a/_module/uti/sd_wizard_s1_4.uti.json +++ b/_module/uti/sd_wizard_s1_4.uti.json @@ -378,5 +378,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 2 } } diff --git a/_module/uti/sd_wizard_s1_5.uti.json b/_module/uti/sd_wizard_s1_5.uti.json index e4ed3f5b..f2428d85 100644 --- a/_module/uti/sd_wizard_s1_5.uti.json +++ b/_module/uti/sd_wizard_s1_5.uti.json @@ -340,5 +340,9 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 9 } } diff --git a/_module/uti/sd_wizard_s1_6.uti.json b/_module/uti/sd_wizard_s1_6.uti.json index 96ef17e4..52e13f2a 100644 --- a/_module/uti/sd_wizard_s1_6.uti.json +++ b/_module/uti/sd_wizard_s1_6.uti.json @@ -293,5 +293,17 @@ } } ] + }, + "xModelPart1": { + "type": "word", + "value": 43 + }, + "xModelPart2": { + "type": "word", + "value": 34 + }, + "xModelPart3": { + "type": "word", + "value": 34 } } diff --git a/_module/uti/sdammy1.uti.json b/_module/uti/sdammy1.uti.json index d12be365..67b24ec2 100644 --- a/_module/uti/sdammy1.uti.json +++ b/_module/uti/sdammy1.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdammy1" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/sdammy2.uti.json b/_module/uti/sdammy2.uti.json index ed6d8ff4..db377268 100644 --- a/_module/uti/sdammy2.uti.json +++ b/_module/uti/sdammy2.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdammy2" + }, + "xModelPart1": { + "type": "word", + "value": 3 } } diff --git a/_module/uti/sdammy3.uti.json b/_module/uti/sdammy3.uti.json index 3dae3a23..7907cd78 100644 --- a/_module/uti/sdammy3.uti.json +++ b/_module/uti/sdammy3.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdammy3" + }, + "xModelPart1": { + "type": "word", + "value": 8 } } diff --git a/_module/uti/sdarmor0.uti.json b/_module/uti/sdarmor0.uti.json index 31335071..10a8171d 100644 --- a/_module/uti/sdarmor0.uti.json +++ b/_module/uti/sdarmor0.uti.json @@ -170,5 +170,81 @@ "TemplateResRef": { "type": "resref", "value": "sdarmor0" + }, + "xArmorPart_Belt": { + "type": "word", + "value": 0 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 1 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 1 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 6 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 1 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 17 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 4 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 3 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 1 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 37 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 1 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 1 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 6 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 1 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 0 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 17 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 4 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 3 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 12 } } diff --git a/_module/uti/sdarmor1.uti.json b/_module/uti/sdarmor1.uti.json index ac4a60bc..508f30aa 100644 --- a/_module/uti/sdarmor1.uti.json +++ b/_module/uti/sdarmor1.uti.json @@ -172,5 +172,81 @@ "TemplateResRef": { "type": "resref", "value": "sdarmor1" + }, + "xArmorPart_Belt": { + "type": "word", + "value": 11 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 10 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 10 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 4 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 4 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 9 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 6 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 8 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 1 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 3 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 10 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 10 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 4 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 4 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 0 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 9 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 20 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 8 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 28 } } diff --git a/_module/uti/sdarmor2.uti.json b/_module/uti/sdarmor2.uti.json index 7cc880ec..ebe49b0f 100644 --- a/_module/uti/sdarmor2.uti.json +++ b/_module/uti/sdarmor2.uti.json @@ -170,5 +170,81 @@ "TemplateResRef": { "type": "resref", "value": "sdarmor2" + }, + "xArmorPart_Belt": { + "type": "word", + "value": 11 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 15 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 16 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 6 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 3 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 8 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 11 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 4 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 1 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 37 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 15 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 16 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 6 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 3 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 0 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 8 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 11 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 4 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 27 } } diff --git a/_module/uti/sdarmor3.uti.json b/_module/uti/sdarmor3.uti.json index 0ece0304..bed8246c 100644 --- a/_module/uti/sdarmor3.uti.json +++ b/_module/uti/sdarmor3.uti.json @@ -170,5 +170,81 @@ "TemplateResRef": { "type": "resref", "value": "sdarmor3" + }, + "xArmorPart_Belt": { + "type": "word", + "value": 11 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 1 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 14 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 6 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 17 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 18 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 16 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 1 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 23 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 1 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 14 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 6 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 0 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 17 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 18 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 16 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 29 } } diff --git a/_module/uti/sdarmor4.uti.json b/_module/uti/sdarmor4.uti.json index 002f94ed..ae69860c 100644 --- a/_module/uti/sdarmor4.uti.json +++ b/_module/uti/sdarmor4.uti.json @@ -170,5 +170,81 @@ "TemplateResRef": { "type": "resref", "value": "sdarmor4" + }, + "xArmorPart_Belt": { + "type": "word", + "value": 0 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 4 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 13 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 6 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 17 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 14 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 3 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 1 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 37 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 4 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 13 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 6 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 0 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 17 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 14 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 3 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 38 } } diff --git a/_module/uti/sdarmor5.uti.json b/_module/uti/sdarmor5.uti.json index c51d6c20..5c0fef51 100644 --- a/_module/uti/sdarmor5.uti.json +++ b/_module/uti/sdarmor5.uti.json @@ -170,5 +170,81 @@ "TemplateResRef": { "type": "resref", "value": "sdarmor5" + }, + "xArmorPart_Belt": { + "type": "word", + "value": 6 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 4 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 15 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 6 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 11 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 19 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 3 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 1 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 37 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 4 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 15 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 6 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 8 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 0 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 11 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 19 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 3 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 26 } } diff --git a/_module/uti/sdarmor6.uti.json b/_module/uti/sdarmor6.uti.json index 1097006a..096af803 100644 --- a/_module/uti/sdarmor6.uti.json +++ b/_module/uti/sdarmor6.uti.json @@ -170,5 +170,81 @@ "TemplateResRef": { "type": "resref", "value": "sdarmor6" + }, + "xArmorPart_Belt": { + "type": "word", + "value": 3 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 4 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 14 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 6 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 4 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 17 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 16 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 16 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 1 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 35 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 4 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 14 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 6 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 4 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 0 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 17 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 16 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 16 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 15 } } diff --git a/_module/uti/sdarmor7.uti.json b/_module/uti/sdarmor7.uti.json index fc0858d4..4842afec 100644 --- a/_module/uti/sdarmor7.uti.json +++ b/_module/uti/sdarmor7.uti.json @@ -170,5 +170,81 @@ "TemplateResRef": { "type": "resref", "value": "sdarmor7" + }, + "xArmorPart_Belt": { + "type": "word", + "value": 3 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 4 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 14 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 6 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 4 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 17 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 17 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 12 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 1 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 35 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 4 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 14 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 6 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 4 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 0 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 17 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 17 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 12 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 47 } } diff --git a/_module/uti/sdarmor8.uti.json b/_module/uti/sdarmor8.uti.json index 0d616440..af3eb050 100644 --- a/_module/uti/sdarmor8.uti.json +++ b/_module/uti/sdarmor8.uti.json @@ -170,5 +170,81 @@ "TemplateResRef": { "type": "resref", "value": "sdarmor8" + }, + "xArmorPart_Belt": { + "type": "word", + "value": 10 + }, + "xArmorPart_LBice": { + "type": "word", + "value": 5 + }, + "xArmorPart_LFArm": { + "type": "word", + "value": 13 + }, + "xArmorPart_LFoot": { + "type": "word", + "value": 186 + }, + "xArmorPart_LHand": { + "type": "word", + "value": 4 + }, + "xArmorPart_LShin": { + "type": "word", + "value": 17 + }, + "xArmorPart_LShou": { + "type": "word", + "value": 20 + }, + "xArmorPart_LThig": { + "type": "word", + "value": 12 + }, + "xArmorPart_Neck": { + "type": "word", + "value": 1 + }, + "xArmorPart_Pelvi": { + "type": "word", + "value": 5 + }, + "xArmorPart_RBice": { + "type": "word", + "value": 5 + }, + "xArmorPart_RFArm": { + "type": "word", + "value": 13 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 186 + }, + "xArmorPart_RHand": { + "type": "word", + "value": 4 + }, + "xArmorPart_Robe": { + "type": "word", + "value": 0 + }, + "xArmorPart_RShin": { + "type": "word", + "value": 17 + }, + "xArmorPart_RShou": { + "type": "word", + "value": 20 + }, + "xArmorPart_RThig": { + "type": "word", + "value": 12 + }, + "xArmorPart_Torso": { + "type": "word", + "value": 23 } } diff --git a/_module/uti/sdarrow.uti.json b/_module/uti/sdarrow.uti.json index d05e34e1..a6627884 100644 --- a/_module/uti/sdarrow.uti.json +++ b/_module/uti/sdarrow.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdarrow" + }, + "xModelPart1": { + "type": "word", + "value": 11 + }, + "xModelPart2": { + "type": "word", + "value": 11 + }, + "xModelPart3": { + "type": "word", + "value": 11 } } diff --git a/_module/uti/sdbaxe.uti.json b/_module/uti/sdbaxe.uti.json index 966ae56c..fa463879 100644 --- a/_module/uti/sdbaxe.uti.json +++ b/_module/uti/sdbaxe.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdbaxe" + }, + "xModelPart1": { + "type": "word", + "value": 14 + }, + "xModelPart2": { + "type": "word", + "value": 52 + }, + "xModelPart3": { + "type": "word", + "value": 44 } } diff --git a/_module/uti/sdbelt1.uti.json b/_module/uti/sdbelt1.uti.json index dbae06d2..00c4d639 100644 --- a/_module/uti/sdbelt1.uti.json +++ b/_module/uti/sdbelt1.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdbelt1" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/sdbelt2.uti.json b/_module/uti/sdbelt2.uti.json index 65a8468b..0b9e7cca 100644 --- a/_module/uti/sdbelt2.uti.json +++ b/_module/uti/sdbelt2.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdbelt2" + }, + "xModelPart1": { + "type": "word", + "value": 2 } } diff --git a/_module/uti/sdbolt.uti.json b/_module/uti/sdbolt.uti.json index 52b3d58b..e5e23fb1 100644 --- a/_module/uti/sdbolt.uti.json +++ b/_module/uti/sdbolt.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdbolt" + }, + "xModelPart1": { + "type": "word", + "value": 11 + }, + "xModelPart2": { + "type": "word", + "value": 11 + }, + "xModelPart3": { + "type": "word", + "value": 11 } } diff --git a/_module/uti/sdboots1.uti.json b/_module/uti/sdboots1.uti.json index f92f7d56..28a8105c 100644 --- a/_module/uti/sdboots1.uti.json +++ b/_module/uti/sdboots1.uti.json @@ -84,5 +84,17 @@ "TemplateResRef": { "type": "resref", "value": "sdboots1" + }, + "xModelPart1": { + "type": "word", + "value": 13 + }, + "xModelPart2": { + "type": "word", + "value": 33 + }, + "xModelPart3": { + "type": "word", + "value": 32 } } diff --git a/_module/uti/sdboots2.uti.json b/_module/uti/sdboots2.uti.json index 1e738ee7..3a071b43 100644 --- a/_module/uti/sdboots2.uti.json +++ b/_module/uti/sdboots2.uti.json @@ -84,5 +84,17 @@ "TemplateResRef": { "type": "resref", "value": "sdboots2" + }, + "xModelPart1": { + "type": "word", + "value": 43 + }, + "xModelPart2": { + "type": "word", + "value": 12 + }, + "xModelPart3": { + "type": "word", + "value": 32 } } diff --git a/_module/uti/sdboots3.uti.json b/_module/uti/sdboots3.uti.json index 43d6ab1c..816144fd 100644 --- a/_module/uti/sdboots3.uti.json +++ b/_module/uti/sdboots3.uti.json @@ -84,5 +84,17 @@ "TemplateResRef": { "type": "resref", "value": "sdboots3" + }, + "xModelPart1": { + "type": "word", + "value": 12 + }, + "xModelPart2": { + "type": "word", + "value": 23 + }, + "xModelPart3": { + "type": "word", + "value": 43 } } diff --git a/_module/uti/sdbracers1.uti.json b/_module/uti/sdbracers1.uti.json index 78916c5d..fd05bd35 100644 --- a/_module/uti/sdbracers1.uti.json +++ b/_module/uti/sdbracers1.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdbracers1" + }, + "xModelPart1": { + "type": "word", + "value": 11 } } diff --git a/_module/uti/sdbracers2.uti.json b/_module/uti/sdbracers2.uti.json index 1b2cf0c6..55479e4d 100644 --- a/_module/uti/sdbracers2.uti.json +++ b/_module/uti/sdbracers2.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdbracers2" + }, + "xModelPart1": { + "type": "word", + "value": 2 } } diff --git a/_module/uti/sdbracers3.uti.json b/_module/uti/sdbracers3.uti.json index 737bad20..f84d2d6f 100644 --- a/_module/uti/sdbracers3.uti.json +++ b/_module/uti/sdbracers3.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdbracers3" + }, + "xModelPart1": { + "type": "word", + "value": 9 } } diff --git a/_module/uti/sdcloak1.uti.json b/_module/uti/sdcloak1.uti.json index 3fe915e8..6dc8a255 100644 --- a/_module/uti/sdcloak1.uti.json +++ b/_module/uti/sdcloak1.uti.json @@ -100,5 +100,9 @@ "TemplateResRef": { "type": "resref", "value": "sdcloak1" + }, + "xModelPart1": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sdcloak2.uti.json b/_module/uti/sdcloak2.uti.json index 7f86b21b..ead9dce7 100644 --- a/_module/uti/sdcloak2.uti.json +++ b/_module/uti/sdcloak2.uti.json @@ -100,5 +100,9 @@ "TemplateResRef": { "type": "resref", "value": "sdcloak2" + }, + "xModelPart1": { + "type": "word", + "value": 2 } } diff --git a/_module/uti/sdcloak3.uti.json b/_module/uti/sdcloak3.uti.json index 6a4d130c..65bc3f56 100644 --- a/_module/uti/sdcloak3.uti.json +++ b/_module/uti/sdcloak3.uti.json @@ -100,5 +100,9 @@ "TemplateResRef": { "type": "resref", "value": "sdcloak3" + }, + "xModelPart1": { + "type": "word", + "value": 3 } } diff --git a/_module/uti/sdclub.uti.json b/_module/uti/sdclub.uti.json index 7cc73809..ab85a01d 100644 --- a/_module/uti/sdclub.uti.json +++ b/_module/uti/sdclub.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdclub" + }, + "xModelPart1": { + "type": "word", + "value": 14 + }, + "xModelPart2": { + "type": "word", + "value": 21 + }, + "xModelPart3": { + "type": "word", + "value": 24 } } diff --git a/_module/uti/sddagger.uti.json b/_module/uti/sddagger.uti.json index 9bb1fc56..99c2ae16 100644 --- a/_module/uti/sddagger.uti.json +++ b/_module/uti/sddagger.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sddagger" + }, + "xModelPart1": { + "type": "word", + "value": 42 + }, + "xModelPart2": { + "type": "word", + "value": 44 + }, + "xModelPart3": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sddbsword.uti.json b/_module/uti/sddbsword.uti.json index 796b8854..9092ba29 100644 --- a/_module/uti/sddbsword.uti.json +++ b/_module/uti/sddbsword.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sddbsword" + }, + "xModelPart1": { + "type": "word", + "value": 24 + }, + "xModelPart2": { + "type": "word", + "value": 32 + }, + "xModelPart3": { + "type": "word", + "value": 24 } } diff --git a/_module/uti/sddsaxe.uti.json b/_module/uti/sddsaxe.uti.json index ea31f81a..5603cf46 100644 --- a/_module/uti/sddsaxe.uti.json +++ b/_module/uti/sddsaxe.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sddsaxe" + }, + "xModelPart1": { + "type": "word", + "value": 12 + }, + "xModelPart2": { + "type": "word", + "value": 34 + }, + "xModelPart3": { + "type": "word", + "value": 34 } } diff --git a/_module/uti/sddsmace.uti.json b/_module/uti/sddsmace.uti.json index c7e8f288..1a45544f 100644 --- a/_module/uti/sddsmace.uti.json +++ b/_module/uti/sddsmace.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sddsmace" + }, + "xModelPart1": { + "type": "word", + "value": 14 + }, + "xModelPart2": { + "type": "word", + "value": 32 + }, + "xModelPart3": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sdgaxe.uti.json b/_module/uti/sdgaxe.uti.json index bce20017..6b3c7c5a 100644 --- a/_module/uti/sdgaxe.uti.json +++ b/_module/uti/sdgaxe.uti.json @@ -84,5 +84,17 @@ "TemplateResRef": { "type": "resref", "value": "sdgaxe" + }, + "xModelPart1": { + "type": "word", + "value": 24 + }, + "xModelPart2": { + "type": "word", + "value": 34 + }, + "xModelPart3": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sdgsword.uti.json b/_module/uti/sdgsword.uti.json index e0f90c90..71dc9d6e 100644 --- a/_module/uti/sdgsword.uti.json +++ b/_module/uti/sdgsword.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdgsword" + }, + "xModelPart1": { + "type": "word", + "value": 44 + }, + "xModelPart2": { + "type": "word", + "value": 14 + }, + "xModelPart3": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sdhalberd.uti.json b/_module/uti/sdhalberd.uti.json index fee09554..4f50d304 100644 --- a/_module/uti/sdhalberd.uti.json +++ b/_module/uti/sdhalberd.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdhalberd" + }, + "xModelPart1": { + "type": "word", + "value": 14 + }, + "xModelPart2": { + "type": "word", + "value": 12 + }, + "xModelPart3": { + "type": "word", + "value": 34 } } diff --git a/_module/uti/sdhaxe.uti.json b/_module/uti/sdhaxe.uti.json index 8fcf2a3d..66cfc3d9 100644 --- a/_module/uti/sdhaxe.uti.json +++ b/_module/uti/sdhaxe.uti.json @@ -82,5 +82,17 @@ "TemplateResRef": { "type": "resref", "value": "sdhaxe" + }, + "xModelPart1": { + "type": "word", + "value": 12 + }, + "xModelPart2": { + "type": "word", + "value": 14 + }, + "xModelPart3": { + "type": "word", + "value": 24 } } diff --git a/_module/uti/sdhcbow.uti.json b/_module/uti/sdhcbow.uti.json index 016e15e6..f48726e5 100644 --- a/_module/uti/sdhcbow.uti.json +++ b/_module/uti/sdhcbow.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdhcbow" + }, + "xModelPart1": { + "type": "word", + "value": 44 + }, + "xModelPart2": { + "type": "word", + "value": 34 + }, + "xModelPart3": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sdhelm1.uti.json b/_module/uti/sdhelm1.uti.json index b8f6bbcc..249ef441 100644 --- a/_module/uti/sdhelm1.uti.json +++ b/_module/uti/sdhelm1.uti.json @@ -98,5 +98,9 @@ "TemplateResRef": { "type": "resref", "value": "sdhelm1" + }, + "xModelPart1": { + "type": "word", + "value": 35 } } diff --git a/_module/uti/sdhelm2.uti.json b/_module/uti/sdhelm2.uti.json index 3c8aecd1..58a9ba5c 100644 --- a/_module/uti/sdhelm2.uti.json +++ b/_module/uti/sdhelm2.uti.json @@ -98,5 +98,9 @@ "TemplateResRef": { "type": "resref", "value": "sdhelm2" + }, + "xModelPart1": { + "type": "word", + "value": 19 } } diff --git a/_module/uti/sdhelm3.uti.json b/_module/uti/sdhelm3.uti.json index 2566145f..742faba2 100644 --- a/_module/uti/sdhelm3.uti.json +++ b/_module/uti/sdhelm3.uti.json @@ -98,5 +98,9 @@ "TemplateResRef": { "type": "resref", "value": "sdhelm3" + }, + "xModelPart1": { + "type": "word", + "value": 22 } } diff --git a/_module/uti/sdhflail.uti.json b/_module/uti/sdhflail.uti.json index 9b8a8649..5baad9d3 100644 --- a/_module/uti/sdhflail.uti.json +++ b/_module/uti/sdhflail.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdhflail" + }, + "xModelPart1": { + "type": "word", + "value": 44 + }, + "xModelPart2": { + "type": "word", + "value": 32 + }, + "xModelPart3": { + "type": "word", + "value": 34 } } diff --git a/_module/uti/sdkama.uti.json b/_module/uti/sdkama.uti.json index 8100a008..dc428437 100644 --- a/_module/uti/sdkama.uti.json +++ b/_module/uti/sdkama.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdkama" + }, + "xModelPart1": { + "type": "word", + "value": 12 + }, + "xModelPart2": { + "type": "word", + "value": 14 + }, + "xModelPart3": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sdkatana.uti.json b/_module/uti/sdkatana.uti.json index b19915a0..11fefed6 100644 --- a/_module/uti/sdkatana.uti.json +++ b/_module/uti/sdkatana.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdkatana" + }, + "xModelPart1": { + "type": "word", + "value": 12 + }, + "xModelPart2": { + "type": "word", + "value": 12 + }, + "xModelPart3": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sdkukri.uti.json b/_module/uti/sdkukri.uti.json index a908b5f5..1b4b6444 100644 --- a/_module/uti/sdkukri.uti.json +++ b/_module/uti/sdkukri.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdkukri" + }, + "xModelPart1": { + "type": "word", + "value": 12 + }, + "xModelPart2": { + "type": "word", + "value": 14 + }, + "xModelPart3": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sdlarge1.uti.json b/_module/uti/sdlarge1.uti.json index 7899c0b6..09347ee3 100644 --- a/_module/uti/sdlarge1.uti.json +++ b/_module/uti/sdlarge1.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdlarge1" + }, + "xModelPart1": { + "type": "word", + "value": 51 } } diff --git a/_module/uti/sdlarge10.uti.json b/_module/uti/sdlarge10.uti.json index bdbfdc1c..d234f619 100644 --- a/_module/uti/sdlarge10.uti.json +++ b/_module/uti/sdlarge10.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdlarge10" + }, + "xModelPart1": { + "type": "word", + "value": 64 } } diff --git a/_module/uti/sdlarge2.uti.json b/_module/uti/sdlarge2.uti.json index 3824d702..f30c882d 100644 --- a/_module/uti/sdlarge2.uti.json +++ b/_module/uti/sdlarge2.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdlarge2" + }, + "xModelPart1": { + "type": "word", + "value": 52 } } diff --git a/_module/uti/sdlarge3.uti.json b/_module/uti/sdlarge3.uti.json index a050075b..8174cb1c 100644 --- a/_module/uti/sdlarge3.uti.json +++ b/_module/uti/sdlarge3.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdlarge3" + }, + "xModelPart1": { + "type": "word", + "value": 53 } } diff --git a/_module/uti/sdlarge4.uti.json b/_module/uti/sdlarge4.uti.json index 13536e9c..d9d9de1b 100644 --- a/_module/uti/sdlarge4.uti.json +++ b/_module/uti/sdlarge4.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdlarge4" + }, + "xModelPart1": { + "type": "word", + "value": 53 } } diff --git a/_module/uti/sdlarge5.uti.json b/_module/uti/sdlarge5.uti.json index a14022a8..798bd79d 100644 --- a/_module/uti/sdlarge5.uti.json +++ b/_module/uti/sdlarge5.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdlarge5" + }, + "xModelPart1": { + "type": "word", + "value": 54 } } diff --git a/_module/uti/sdlarge6.uti.json b/_module/uti/sdlarge6.uti.json index 16f7b6e3..3438c7e6 100644 --- a/_module/uti/sdlarge6.uti.json +++ b/_module/uti/sdlarge6.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdlarge6" + }, + "xModelPart1": { + "type": "word", + "value": 55 } } diff --git a/_module/uti/sdlarge7.uti.json b/_module/uti/sdlarge7.uti.json index f3533663..54d78c2e 100644 --- a/_module/uti/sdlarge7.uti.json +++ b/_module/uti/sdlarge7.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdlarge7" + }, + "xModelPart1": { + "type": "word", + "value": 56 } } diff --git a/_module/uti/sdlarge8.uti.json b/_module/uti/sdlarge8.uti.json index dcdf8193..c0f7c847 100644 --- a/_module/uti/sdlarge8.uti.json +++ b/_module/uti/sdlarge8.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdlarge8" + }, + "xModelPart1": { + "type": "word", + "value": 65 } } diff --git a/_module/uti/sdlarge9.uti.json b/_module/uti/sdlarge9.uti.json index 382e55ea..01d34e7f 100644 --- a/_module/uti/sdlarge9.uti.json +++ b/_module/uti/sdlarge9.uti.json @@ -76,5 +76,9 @@ "TemplateResRef": { "type": "resref", "value": "sdlarge9" + }, + "xModelPart1": { + "type": "word", + "value": 75 } } diff --git a/_module/uti/sdlbow.uti.json b/_module/uti/sdlbow.uti.json index 359812e7..5b6b6f86 100644 --- a/_module/uti/sdlbow.uti.json +++ b/_module/uti/sdlbow.uti.json @@ -84,5 +84,17 @@ "TemplateResRef": { "type": "resref", "value": "sdlbow" + }, + "xModelPart1": { + "type": "word", + "value": 52 + }, + "xModelPart2": { + "type": "word", + "value": 74 + }, + "xModelPart3": { + "type": "word", + "value": 44 } } diff --git a/_module/uti/sdlcbow.uti.json b/_module/uti/sdlcbow.uti.json index ecf94d26..330c59d0 100644 --- a/_module/uti/sdlcbow.uti.json +++ b/_module/uti/sdlcbow.uti.json @@ -82,5 +82,17 @@ "TemplateResRef": { "type": "resref", "value": "sdlcbow" + }, + "xModelPart1": { + "type": "word", + "value": 34 + }, + "xModelPart2": { + "type": "word", + "value": 14 + }, + "xModelPart3": { + "type": "word", + "value": 34 } } diff --git a/_module/uti/sdlflail.uti.json b/_module/uti/sdlflail.uti.json index f61411c9..a46559a9 100644 --- a/_module/uti/sdlflail.uti.json +++ b/_module/uti/sdlflail.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdlflail" + }, + "xModelPart1": { + "type": "word", + "value": 12 + }, + "xModelPart2": { + "type": "word", + "value": 34 + }, + "xModelPart3": { + "type": "word", + "value": 44 } } diff --git a/_module/uti/sdlhamm.uti.json b/_module/uti/sdlhamm.uti.json index 05669a2b..d282ec05 100644 --- a/_module/uti/sdlhamm.uti.json +++ b/_module/uti/sdlhamm.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdlhamm" + }, + "xModelPart1": { + "type": "word", + "value": 22 + }, + "xModelPart2": { + "type": "word", + "value": 24 + }, + "xModelPart3": { + "type": "word", + "value": 34 } } diff --git a/_module/uti/sdlsword.uti.json b/_module/uti/sdlsword.uti.json index d6878fff..2f1a32fa 100644 --- a/_module/uti/sdlsword.uti.json +++ b/_module/uti/sdlsword.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdlsword" + }, + "xModelPart1": { + "type": "word", + "value": 12 + }, + "xModelPart2": { + "type": "word", + "value": 24 + }, + "xModelPart3": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sdmace.uti.json b/_module/uti/sdmace.uti.json index f1bb056e..86bc51f9 100644 --- a/_module/uti/sdmace.uti.json +++ b/_module/uti/sdmace.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdmace" + }, + "xModelPart1": { + "type": "word", + "value": 22 + }, + "xModelPart2": { + "type": "word", + "value": 34 + }, + "xModelPart3": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sdmstar.uti.json b/_module/uti/sdmstar.uti.json index 37ebd4de..1c760e8b 100644 --- a/_module/uti/sdmstar.uti.json +++ b/_module/uti/sdmstar.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdmstar" + }, + "xModelPart1": { + "type": "word", + "value": 22 + }, + "xModelPart2": { + "type": "word", + "value": 44 + }, + "xModelPart3": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sdqstaff.uti.json b/_module/uti/sdqstaff.uti.json index 85ab3d96..122bd541 100644 --- a/_module/uti/sdqstaff.uti.json +++ b/_module/uti/sdqstaff.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdqstaff" + }, + "xModelPart1": { + "type": "word", + "value": 24 + }, + "xModelPart2": { + "type": "word", + "value": 24 + }, + "xModelPart3": { + "type": "word", + "value": 32 } } diff --git a/_module/uti/sdrapier.uti.json b/_module/uti/sdrapier.uti.json index 350050ec..758c8a01 100644 --- a/_module/uti/sdrapier.uti.json +++ b/_module/uti/sdrapier.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdrapier" + }, + "xModelPart1": { + "type": "word", + "value": 22 + }, + "xModelPart2": { + "type": "word", + "value": 34 + }, + "xModelPart3": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sdring1.uti.json b/_module/uti/sdring1.uti.json index 01d919de..ad316218 100644 --- a/_module/uti/sdring1.uti.json +++ b/_module/uti/sdring1.uti.json @@ -74,5 +74,9 @@ "TemplateResRef": { "type": "resref", "value": "sdring1" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/sdring2.uti.json b/_module/uti/sdring2.uti.json index 6241bd14..ed564aba 100644 --- a/_module/uti/sdring2.uti.json +++ b/_module/uti/sdring2.uti.json @@ -74,5 +74,9 @@ "TemplateResRef": { "type": "resref", "value": "sdring2" + }, + "xModelPart1": { + "type": "word", + "value": 7 } } diff --git a/_module/uti/sdring3.uti.json b/_module/uti/sdring3.uti.json index 289f4ded..132bc913 100644 --- a/_module/uti/sdring3.uti.json +++ b/_module/uti/sdring3.uti.json @@ -74,5 +74,9 @@ "TemplateResRef": { "type": "resref", "value": "sdring3" + }, + "xModelPart1": { + "type": "word", + "value": 20 } } diff --git a/_module/uti/sdring4.uti.json b/_module/uti/sdring4.uti.json index ce2fe2f6..740134f0 100644 --- a/_module/uti/sdring4.uti.json +++ b/_module/uti/sdring4.uti.json @@ -74,5 +74,9 @@ "TemplateResRef": { "type": "resref", "value": "sdring4" + }, + "xModelPart1": { + "type": "word", + "value": 27 } } diff --git a/_module/uti/sdsbow.uti.json b/_module/uti/sdsbow.uti.json index 004498d8..6c24b140 100644 --- a/_module/uti/sdsbow.uti.json +++ b/_module/uti/sdsbow.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdsbow" + }, + "xModelPart1": { + "type": "word", + "value": 52 + }, + "xModelPart2": { + "type": "word", + "value": 64 + }, + "xModelPart3": { + "type": "word", + "value": 24 } } diff --git a/_module/uti/sdscim.uti.json b/_module/uti/sdscim.uti.json index 31a46381..1a85b438 100644 --- a/_module/uti/sdscim.uti.json +++ b/_module/uti/sdscim.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdscim" + }, + "xModelPart1": { + "type": "word", + "value": 22 + }, + "xModelPart2": { + "type": "word", + "value": 34 + }, + "xModelPart3": { + "type": "word", + "value": 34 } } diff --git a/_module/uti/sdscythe.uti.json b/_module/uti/sdscythe.uti.json index 8d811881..7f5a09d9 100644 --- a/_module/uti/sdscythe.uti.json +++ b/_module/uti/sdscythe.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdscythe" + }, + "xModelPart1": { + "type": "word", + "value": 14 + }, + "xModelPart2": { + "type": "word", + "value": 14 + }, + "xModelPart3": { + "type": "word", + "value": 34 } } diff --git a/_module/uti/sdsickle.uti.json b/_module/uti/sdsickle.uti.json index 65d1d9aa..78e6fbaf 100644 --- a/_module/uti/sdsickle.uti.json +++ b/_module/uti/sdsickle.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdsickle" + }, + "xModelPart1": { + "type": "word", + "value": 12 + }, + "xModelPart2": { + "type": "word", + "value": 14 + }, + "xModelPart3": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sdsmall1.uti.json b/_module/uti/sdsmall1.uti.json index 7752b263..dcc07eaf 100644 --- a/_module/uti/sdsmall1.uti.json +++ b/_module/uti/sdsmall1.uti.json @@ -78,5 +78,9 @@ "TemplateResRef": { "type": "resref", "value": "sdsmall1" + }, + "xModelPart1": { + "type": "word", + "value": 12 } } diff --git a/_module/uti/sdsmall2.uti.json b/_module/uti/sdsmall2.uti.json index 92216ca9..6634e65c 100644 --- a/_module/uti/sdsmall2.uti.json +++ b/_module/uti/sdsmall2.uti.json @@ -78,5 +78,9 @@ "TemplateResRef": { "type": "resref", "value": "sdsmall2" + }, + "xModelPart1": { + "type": "word", + "value": 22 } } diff --git a/_module/uti/sdsmall3.uti.json b/_module/uti/sdsmall3.uti.json index ce753cac..b7aa2038 100644 --- a/_module/uti/sdsmall3.uti.json +++ b/_module/uti/sdsmall3.uti.json @@ -78,5 +78,9 @@ "TemplateResRef": { "type": "resref", "value": "sdsmall3" + }, + "xModelPart1": { + "type": "word", + "value": 42 } } diff --git a/_module/uti/sdspear.uti.json b/_module/uti/sdspear.uti.json index 3434c8b5..6d6f89fc 100644 --- a/_module/uti/sdspear.uti.json +++ b/_module/uti/sdspear.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdspear" + }, + "xModelPart1": { + "type": "word", + "value": 32 + }, + "xModelPart2": { + "type": "word", + "value": 24 + }, + "xModelPart3": { + "type": "word", + "value": 14 } } diff --git a/_module/uti/sdssword.uti.json b/_module/uti/sdssword.uti.json index 1601440e..81cdda76 100644 --- a/_module/uti/sdssword.uti.json +++ b/_module/uti/sdssword.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdssword" + }, + "xModelPart1": { + "type": "word", + "value": 42 + }, + "xModelPart2": { + "type": "word", + "value": 14 + }, + "xModelPart3": { + "type": "word", + "value": 44 } } diff --git a/_module/uti/sdstaff1.uti.json b/_module/uti/sdstaff1.uti.json index ca7b70d8..0fb106df 100644 --- a/_module/uti/sdstaff1.uti.json +++ b/_module/uti/sdstaff1.uti.json @@ -240,5 +240,17 @@ "TemplateResRef": { "type": "resref", "value": "sdstaff1" + }, + "xModelPart1": { + "type": "word", + "value": 24 + }, + "xModelPart2": { + "type": "word", + "value": 23 + }, + "xModelPart3": { + "type": "word", + "value": 63 } } diff --git a/_module/uti/sdstaff2.uti.json b/_module/uti/sdstaff2.uti.json index 6995b251..563b23eb 100644 --- a/_module/uti/sdstaff2.uti.json +++ b/_module/uti/sdstaff2.uti.json @@ -240,5 +240,17 @@ "TemplateResRef": { "type": "resref", "value": "sdstaff2" + }, + "xModelPart1": { + "type": "word", + "value": 64 + }, + "xModelPart2": { + "type": "word", + "value": 21 + }, + "xModelPart3": { + "type": "word", + "value": 53 } } diff --git a/_module/uti/sdstaff3.uti.json b/_module/uti/sdstaff3.uti.json index be9ce919..d3c824cb 100644 --- a/_module/uti/sdstaff3.uti.json +++ b/_module/uti/sdstaff3.uti.json @@ -240,5 +240,17 @@ "TemplateResRef": { "type": "resref", "value": "sdstaff3" + }, + "xModelPart1": { + "type": "word", + "value": 34 + }, + "xModelPart2": { + "type": "word", + "value": 34 + }, + "xModelPart3": { + "type": "word", + "value": 31 } } diff --git a/_module/uti/sdtower1.uti.json b/_module/uti/sdtower1.uti.json index 1c9663af..6b7324b4 100644 --- a/_module/uti/sdtower1.uti.json +++ b/_module/uti/sdtower1.uti.json @@ -74,5 +74,9 @@ "TemplateResRef": { "type": "resref", "value": "sdtower1" + }, + "xModelPart1": { + "type": "word", + "value": 21 } } diff --git a/_module/uti/sdtower2.uti.json b/_module/uti/sdtower2.uti.json index 1d9c25a3..4fa5b2d0 100644 --- a/_module/uti/sdtower2.uti.json +++ b/_module/uti/sdtower2.uti.json @@ -74,5 +74,9 @@ "TemplateResRef": { "type": "resref", "value": "sdtower2" + }, + "xModelPart1": { + "type": "word", + "value": 51 } } diff --git a/_module/uti/sdtower3.uti.json b/_module/uti/sdtower3.uti.json index c0bd40eb..633da73e 100644 --- a/_module/uti/sdtower3.uti.json +++ b/_module/uti/sdtower3.uti.json @@ -74,5 +74,9 @@ "TemplateResRef": { "type": "resref", "value": "sdtower3" + }, + "xModelPart1": { + "type": "word", + "value": 63 } } diff --git a/_module/uti/sdwaxe.uti.json b/_module/uti/sdwaxe.uti.json index 18f174a6..8058ebc9 100644 --- a/_module/uti/sdwaxe.uti.json +++ b/_module/uti/sdwaxe.uti.json @@ -82,5 +82,17 @@ "TemplateResRef": { "type": "resref", "value": "sdwaxe" + }, + "xModelPart1": { + "type": "word", + "value": 14 + }, + "xModelPart2": { + "type": "word", + "value": 52 + }, + "xModelPart3": { + "type": "word", + "value": 34 } } diff --git a/_module/uti/sdwhamm.uti.json b/_module/uti/sdwhamm.uti.json index 8f337bbc..4320457e 100644 --- a/_module/uti/sdwhamm.uti.json +++ b/_module/uti/sdwhamm.uti.json @@ -81,5 +81,17 @@ "TemplateResRef": { "type": "resref", "value": "sdwhamm" + }, + "xModelPart1": { + "type": "word", + "value": 14 + }, + "xModelPart2": { + "type": "word", + "value": 44 + }, + "xModelPart3": { + "type": "word", + "value": 11 } } diff --git a/_module/uti/sdwhip.uti.json b/_module/uti/sdwhip.uti.json index d7e28efe..4a1c5211 100644 --- a/_module/uti/sdwhip.uti.json +++ b/_module/uti/sdwhip.uti.json @@ -113,5 +113,17 @@ "TemplateResRef": { "type": "resref", "value": "sdwhip" + }, + "xModelPart1": { + "type": "word", + "value": 11 + }, + "xModelPart2": { + "type": "word", + "value": 11 + }, + "xModelPart3": { + "type": "word", + "value": 11 } } diff --git a/_module/uti/shadowhide001.uti.json b/_module/uti/shadowhide001.uti.json index c7985ce1..958d8025 100644 --- a/_module/uti/shadowhide001.uti.json +++ b/_module/uti/shadowhide001.uti.json @@ -482,5 +482,9 @@ "TemplateResRef": { "type": "resref", "value": "shadowhide001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/shadowhide003.uti.json b/_module/uti/shadowhide003.uti.json index 5e49ad79..b1b720c4 100644 --- a/_module/uti/shadowhide003.uti.json +++ b/_module/uti/shadowhide003.uti.json @@ -451,5 +451,9 @@ "TemplateResRef": { "type": "resref", "value": "shadowhide003" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/shadowratbite.uti.json b/_module/uti/shadowratbite.uti.json index 09d5805b..f1bfc6af 100644 --- a/_module/uti/shadowratbite.uti.json +++ b/_module/uti/shadowratbite.uti.json @@ -139,5 +139,9 @@ "TemplateResRef": { "type": "resref", "value": "shadowratbite" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/shadowratbite002.uti.json b/_module/uti/shadowratbite002.uti.json index 03e43cfb..11952ae4 100644 --- a/_module/uti/shadowratbite002.uti.json +++ b/_module/uti/shadowratbite002.uti.json @@ -170,5 +170,9 @@ "TemplateResRef": { "type": "resref", "value": "shadowratbite002" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/shadowratbite_m.uti.json b/_module/uti/shadowratbite_m.uti.json index 303462ab..8e13e3c3 100644 --- a/_module/uti/shadowratbite_m.uti.json +++ b/_module/uti/shadowratbite_m.uti.json @@ -172,5 +172,9 @@ "TemplateResRef": { "type": "resref", "value": "shadowratbite_m" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/shadowtouch001.uti.json b/_module/uti/shadowtouch001.uti.json index d48f3c7c..5cd3b94b 100644 --- a/_module/uti/shadowtouch001.uti.json +++ b/_module/uti/shadowtouch001.uti.json @@ -170,5 +170,9 @@ "TemplateResRef": { "type": "resref", "value": "shadowtouch001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/spawn_ban_rod.uti.json b/_module/uti/spawn_ban_rod.uti.json index 09b69910..ad7a4b36 100644 --- a/_module/uti/spawn_ban_rod.uti.json +++ b/_module/uti/spawn_ban_rod.uti.json @@ -117,5 +117,17 @@ "TemplateResRef": { "type": "resref", "value": "spawn_ban_rod" + }, + "xModelPart1": { + "type": "word", + "value": 33 + }, + "xModelPart2": { + "type": "word", + "value": 43 + }, + "xModelPart3": { + "type": "word", + "value": 43 } } diff --git a/_module/uti/swightslam.uti.json b/_module/uti/swightslam.uti.json index f5d290ce..4fad9fd6 100644 --- a/_module/uti/swightslam.uti.json +++ b/_module/uti/swightslam.uti.json @@ -201,5 +201,9 @@ "TemplateResRef": { "type": "resref", "value": "swightslam" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/undeadhide001.uti.json b/_module/uti/undeadhide001.uti.json index 03e35628..4834abd8 100644 --- a/_module/uti/undeadhide001.uti.json +++ b/_module/uti/undeadhide001.uti.json @@ -358,5 +358,9 @@ "TemplateResRef": { "type": "resref", "value": "undeadhide001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/voidwraithhide01.uti.json b/_module/uti/voidwraithhide01.uti.json index 6596d49b..f371aae7 100644 --- a/_module/uti/voidwraithhide01.uti.json +++ b/_module/uti/voidwraithhide01.uti.json @@ -699,5 +699,9 @@ "TemplateResRef": { "type": "resref", "value": "voidwraithhide01" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/voidwrathslam.uti.json b/_module/uti/voidwrathslam.uti.json index 110e2c9a..7feff7b4 100644 --- a/_module/uti/voidwrathslam.uti.json +++ b/_module/uti/voidwrathslam.uti.json @@ -167,5 +167,9 @@ "TemplateResRef": { "type": "resref", "value": "voidwrathslam" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/voidwrathslam2.uti.json b/_module/uti/voidwrathslam2.uti.json index 662678db..b4da688a 100644 --- a/_module/uti/voidwrathslam2.uti.json +++ b/_module/uti/voidwrathslam2.uti.json @@ -171,5 +171,9 @@ "TemplateResRef": { "type": "resref", "value": "voidwrathslam2" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/voidwrathslam3.uti.json b/_module/uti/voidwrathslam3.uti.json index 722bd697..8cbfd4f2 100644 --- a/_module/uti/voidwrathslam3.uti.json +++ b/_module/uti/voidwrathslam3.uti.json @@ -171,5 +171,9 @@ "TemplateResRef": { "type": "resref", "value": "voidwrathslam3" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/wheepbite001.uti.json b/_module/uti/wheepbite001.uti.json index 95870635..80a8320d 100644 --- a/_module/uti/wheepbite001.uti.json +++ b/_module/uti/wheepbite001.uti.json @@ -168,5 +168,9 @@ "TemplateResRef": { "type": "resref", "value": "wheepbite001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/wheepclaw001.uti.json b/_module/uti/wheepclaw001.uti.json index 051478ba..d4f6f85a 100644 --- a/_module/uti/wheepclaw001.uti.json +++ b/_module/uti/wheepclaw001.uti.json @@ -167,5 +167,9 @@ "TemplateResRef": { "type": "resref", "value": "wheepclaw001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/wheephide001.uti.json b/_module/uti/wheephide001.uti.json index 8d336db9..94fa2a88 100644 --- a/_module/uti/wheephide001.uti.json +++ b/_module/uti/wheephide001.uti.json @@ -511,5 +511,9 @@ "TemplateResRef": { "type": "resref", "value": "wheephide001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/winwightclaw001.uti.json b/_module/uti/winwightclaw001.uti.json index db5b52e2..f7801a58 100644 --- a/_module/uti/winwightclaw001.uti.json +++ b/_module/uti/winwightclaw001.uti.json @@ -169,5 +169,9 @@ "TemplateResRef": { "type": "resref", "value": "winwightclaw001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/winwighthide001.uti.json b/_module/uti/winwighthide001.uti.json index d47aa0f0..81ffffa7 100644 --- a/_module/uti/winwighthide001.uti.json +++ b/_module/uti/winwighthide001.uti.json @@ -573,5 +573,9 @@ "TemplateResRef": { "type": "resref", "value": "winwighthide001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/wraithhide001.uti.json b/_module/uti/wraithhide001.uti.json index c0981d5f..11b4031d 100644 --- a/_module/uti/wraithhide001.uti.json +++ b/_module/uti/wraithhide001.uti.json @@ -730,5 +730,9 @@ "TemplateResRef": { "type": "resref", "value": "wraithhide001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/wraithhide002.uti.json b/_module/uti/wraithhide002.uti.json index 66270531..5470927b 100644 --- a/_module/uti/wraithhide002.uti.json +++ b/_module/uti/wraithhide002.uti.json @@ -637,5 +637,9 @@ "TemplateResRef": { "type": "resref", "value": "wraithhide002" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/wraithtouch001.uti.json b/_module/uti/wraithtouch001.uti.json index 974adb74..ac618276 100644 --- a/_module/uti/wraithtouch001.uti.json +++ b/_module/uti/wraithtouch001.uti.json @@ -139,5 +139,9 @@ "TemplateResRef": { "type": "resref", "value": "wraithtouch001" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/wraithtouch002.uti.json b/_module/uti/wraithtouch002.uti.json index 24133d9f..7bf8adf6 100644 --- a/_module/uti/wraithtouch002.uti.json +++ b/_module/uti/wraithtouch002.uti.json @@ -139,5 +139,9 @@ "TemplateResRef": { "type": "resref", "value": "wraithtouch002" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/uti/zep_cre_bonebb.uti.json b/_module/uti/zep_cre_bonebb.uti.json index b281aeb5..af546936 100644 --- a/_module/uti/zep_cre_bonebb.uti.json +++ b/_module/uti/zep_cre_bonebb.uti.json @@ -141,5 +141,9 @@ "TemplateResRef": { "type": "resref", "value": "zep_cre_bonebb" + }, + "xModelPart1": { + "type": "word", + "value": 1 } } diff --git a/_module/utp/vfx_plc_fire.utp.json b/_module/utp/vfx_plc_fire.utp.json deleted file mode 100644 index ab77a87b..00000000 --- a/_module/utp/vfx_plc_fire.utp.json +++ /dev/null @@ -1,219 +0,0 @@ -{ - "__data_type": "UTP ", - "AnimationState": { - "type": "byte", - "value": 4 - }, - "Appearance": { - "type": "dword", - "value": 842 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 10 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "DisarmDC": { - "type": "byte", - "value": 0 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 5 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 10 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "Lockable": { - "type": "byte", - "value": 1 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "type": "cexolocstring", - "value": { - "0": "Fire" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "" - }, - "OnInvDisturbed": { - "type": "resref", - "value": "" - }, - "OnLock": { - "type": "resref", - "value": "" - }, - "OnMeleeAttacked": { - "type": "resref", - "value": "" - }, - "OnOpen": { - "type": "resref", - "value": "" - }, - "OnSpellCastAt": { - "type": "resref", - "value": "" - }, - "OnTrapTriggered": { - "type": "resref", - "value": "" - }, - "OnUnlock": { - "type": "resref", - "value": "" - }, - "OnUsed": { - "type": "resref", - "value": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 0 - }, - "PaletteID": { - "type": "byte", - "value": 5 - }, - "Plot": { - "type": "byte", - "value": 1 - }, - "PortraitId": { - "type": "word", - "value": 508 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "VFX_PLC_FIRE" - }, - "TemplateResRef": { - "type": "resref", - "value": "vfx_plc_fire" - }, - "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 - }, - "Type": { - "type": "byte", - "value": 0 - }, - "Useable": { - "type": "byte", - "value": 0 - }, - "Will": { - "type": "byte", - "value": 0 - } -} diff --git a/_release/Path of Ascension [PRC8-CEP3].7z b/_release/Path of Ascension [PRC8-CEP3].7z index cb688a3b..629e045a 100644 Binary files a/_release/Path of Ascension [PRC8-CEP3].7z and b/_release/Path of Ascension [PRC8-CEP3].7z differ