From a005da6b51b2ceb2619a83be4c62fc89392f7ba1 Mon Sep 17 00:00:00 2001 From: Jaysyn904 <68194417+Jaysyn904@users.noreply.github.com> Date: Sun, 19 Feb 2023 01:10:48 -0500 Subject: [PATCH] Added Daz's persistent NUI storage Added Daz's persistent NUI storage. Added instanced player room at the Inn of the Flying Monkey. Added PnP cockatrice & dire weasel. Full compile. --- _module/are/adventurers_inn.are.json | 2 +- _module/are/faction_zoo.are.json | 2 +- _module/are/ifm_pc_rooms.are.json | 346 ++ _module/are/innoftheflyingmo.are.json | 4 +- _module/are/starting_area.are.json | 2 +- _module/dlg/doorcv_inn_room.dlg.json | 235 + _module/gic/adventurers_inn.gic.json | 62 +- _module/gic/ifm_pc_rooms.gic.json | 111 + _module/gic/innoftheflyingmo.gic.json | 14 + _module/git/adventurers_inn.git.json | 6524 ++++++++++++++++++++++++- _module/git/ifm_pc_rooms.git.json | 2342 +++++++++ _module/git/innoftheflyingmo.git.json | 283 ++ _module/ifo/module.ifo.json | 73 +- _module/itp/creaturepalcus.itp.json | 135 +- _module/itp/itempalcus.itp.json | 55 +- _module/itp/placeablepalcus.itp.json | 22 +- _module/ncs/10aboat1.ncs | Bin 125 -> 157 bytes _module/ncs/10ariver1.ncs | Bin 427 -> 443 bytes _module/ncs/10ariver2.ncs | Bin 427 -> 443 bytes _module/ncs/10ariver3.ncs | Bin 427 -> 443 bytes _module/ncs/10ariver4.ncs | Bin 427 -> 443 bytes _module/ncs/10ariver5.ncs | Bin 427 -> 443 bytes _module/ncs/10ariver6.ncs | Bin 427 -> 443 bytes _module/ncs/10asmlaked1.ncs | Bin 125 -> 157 bytes _module/ncs/10asmlaked2.ncs | Bin 125 -> 157 bytes _module/ncs/11diving.ncs | Bin 419 -> 435 bytes _module/ncs/11river1.ncs | Bin 426 -> 442 bytes _module/ncs/11river2.ncs | Bin 426 -> 442 bytes _module/ncs/11river3.ncs | Bin 426 -> 442 bytes _module/ncs/11river4.ncs | Bin 426 -> 442 bytes _module/ncs/12aboat2.ncs | Bin 126 -> 158 bytes _module/ncs/12ahermit1.ncs | Bin 425 -> 441 bytes _module/ncs/12ahermit2.ncs | Bin 425 -> 441 bytes _module/ncs/12totarpit.ncs | Bin 128 -> 160 bytes _module/ncs/1riverto9.ncs | Bin 422 -> 438 bytes _module/ncs/3aholedoor.ncs | Bin 162 -> 178 bytes _module/ncs/3holesdoor.ncs | Bin 123 -> 155 bytes _module/ncs/3holesdoor2.ncs | Bin 123 -> 155 bytes _module/ncs/3statued.ncs | Bin 125 -> 157 bytes _module/ncs/3statuesid1.ncs | Bin 167 -> 183 bytes _module/ncs/3statuesid2.ncs | Bin 167 -> 183 bytes _module/ncs/3statuesid3.ncs | Bin 167 -> 183 bytes _module/ncs/3statuesidx.ncs | Bin 167 -> 183 bytes _module/ncs/4ariver1.ncs | Bin 426 -> 442 bytes _module/ncs/5to14jump.ncs | Bin 123 -> 155 bytes _module/ncs/69_henchrt_enter.ncs | Bin 8924 -> 8396 bytes _module/ncs/at_enter_pc_room.ncs | Bin 0 -> 734 bytes _module/ncs/cv_inn_door.ncs | Bin 0 -> 112 bytes _module/ncs/gobsgone.ncs | Bin 316 -> 300 bytes _module/ncs/hif_onleave.ncs | Bin 0 -> 3393 bytes _module/ncs/mod_gui.ncs | Bin 0 -> 16377 bytes _module/ncs/mod_nui.ncs | Bin 0 -> 32862 bytes _module/ncs/mod_target.ncs | Bin 0 -> 6378 bytes _module/ncs/obj_us_chest.ncs | Bin 0 -> 8915 bytes _module/ncs/oc_persist.ncs | Bin 0 -> 511 bytes _module/ncs/oo_persist.ncs | Bin 0 -> 402 bytes _module/ncs/ra_ai_heartbeat.ncs | Bin 1002 -> 938 bytes _module/ncs/ra_ai_ondamaged.ncs | Bin 1255 -> 1181 bytes _module/ncs/ra_cocktrc_bite.ncs | Bin 0 -> 719 bytes _module/ncs/ra_mod_onenter.ncs | Bin 7225 -> 7246 bytes _module/ncs/sob_examine001.ncs | Bin 0 -> 116 bytes _module/ncs/sob_examine002.ncs | Bin 0 -> 92 bytes _module/ncs/sob_examine003.ncs | Bin 0 -> 116 bytes _module/ncs/sob_examine004.ncs | Bin 0 -> 187 bytes _module/ncs/x2_def_spawn.ncs | Bin 16941 -> 16914 bytes _module/ncs/x2_mod_def_load.ncs | Bin 2608 -> 2710 bytes _module/nss/at_enter_pc_room.nss | 52 + _module/nss/cv_inn_door.nss | 10 + _module/nss/hif_onleave.nss | 10 + _module/nss/inc_blackjack.nss | 1104 +++++ _module/nss/inc_examine.nss | 494 ++ _module/nss/inc_gennui.nss | 300 ++ _module/nss/inc_nui.nss | 68 + _module/nss/inc_perchest.nss | 561 +++ _module/nss/inc_tictactoe.nss | 660 +++ _module/nss/inc_transform.nss | 305 ++ _module/nss/inc_util.nss | 129 + _module/nss/mod_gui.nss | 19 + _module/nss/mod_nui.nss | 33 + _module/nss/mod_target.nss | 12 + _module/nss/obj_us_chest.nss | 8 + _module/nss/oc_persist.nss | 28 + _module/nss/oo_persist.nss | 25 + _module/nss/ra_cocktrc_bite.nss | 46 + _module/nss/ra_mod_onenter.nss | 10 +- _module/nss/sob_examine001.nss | 8 + _module/nss/sob_examine002.nss | 7 + _module/nss/sob_examine003.nss | 8 + _module/nss/sob_examine004.nss | 12 + _module/nss/x2_def_spawn.nss | 2 +- _module/nss/x2_mod_def_load.nss | 5 + _module/ra_tdog.mod | Bin 66714129 -> 67030554 bytes _module/utc/DIREWEASEL002.utc.json | 740 +++ _module/utc/DIREWEASEL003.utc.json | 747 +++ _module/utc/direweasel001.utc.json | 733 +++ _module/utc/ra_cockatrice001.utc.json | 656 +++ _module/utc/ra_cockatrice002.utc.json | 670 +++ _module/utc/ra_cockatrice003.utc.json | 684 +++ _module/utc/ra_imp001.utc.json | 798 +++ _module/utc/ra_imp_marty.utc.json | 126 +- _module/uti/cr_bite_weasel01.uti.json | 145 + _module/uti/ra_cocktrc_bite.uti.json | 145 + _module/uti/ra_cocktrc_bite2.uti.json | 145 + _module/utp/persist_chest.utp.json | 219 + 104 files changed, 19760 insertions(+), 176 deletions(-) create mode 100644 _module/are/ifm_pc_rooms.are.json create mode 100644 _module/dlg/doorcv_inn_room.dlg.json create mode 100644 _module/gic/ifm_pc_rooms.gic.json create mode 100644 _module/git/ifm_pc_rooms.git.json create mode 100644 _module/ncs/at_enter_pc_room.ncs create mode 100644 _module/ncs/cv_inn_door.ncs create mode 100644 _module/ncs/hif_onleave.ncs create mode 100644 _module/ncs/mod_gui.ncs create mode 100644 _module/ncs/mod_nui.ncs create mode 100644 _module/ncs/mod_target.ncs create mode 100644 _module/ncs/obj_us_chest.ncs create mode 100644 _module/ncs/oc_persist.ncs create mode 100644 _module/ncs/oo_persist.ncs create mode 100644 _module/ncs/ra_cocktrc_bite.ncs create mode 100644 _module/ncs/sob_examine001.ncs create mode 100644 _module/ncs/sob_examine002.ncs create mode 100644 _module/ncs/sob_examine003.ncs create mode 100644 _module/ncs/sob_examine004.ncs create mode 100644 _module/nss/at_enter_pc_room.nss create mode 100644 _module/nss/cv_inn_door.nss create mode 100644 _module/nss/hif_onleave.nss create mode 100644 _module/nss/inc_blackjack.nss create mode 100644 _module/nss/inc_examine.nss create mode 100644 _module/nss/inc_gennui.nss create mode 100644 _module/nss/inc_nui.nss create mode 100644 _module/nss/inc_perchest.nss create mode 100644 _module/nss/inc_tictactoe.nss create mode 100644 _module/nss/inc_transform.nss create mode 100644 _module/nss/inc_util.nss create mode 100644 _module/nss/mod_gui.nss create mode 100644 _module/nss/mod_nui.nss create mode 100644 _module/nss/mod_target.nss create mode 100644 _module/nss/obj_us_chest.nss create mode 100644 _module/nss/oc_persist.nss create mode 100644 _module/nss/oo_persist.nss create mode 100644 _module/nss/ra_cocktrc_bite.nss create mode 100644 _module/nss/sob_examine001.nss create mode 100644 _module/nss/sob_examine002.nss create mode 100644 _module/nss/sob_examine003.nss create mode 100644 _module/nss/sob_examine004.nss create mode 100644 _module/utc/DIREWEASEL002.utc.json create mode 100644 _module/utc/DIREWEASEL003.utc.json create mode 100644 _module/utc/direweasel001.utc.json create mode 100644 _module/utc/ra_cockatrice001.utc.json create mode 100644 _module/utc/ra_cockatrice002.utc.json create mode 100644 _module/utc/ra_cockatrice003.utc.json create mode 100644 _module/utc/ra_imp001.utc.json create mode 100644 _module/uti/cr_bite_weasel01.uti.json create mode 100644 _module/uti/ra_cocktrc_bite.uti.json create mode 100644 _module/uti/ra_cocktrc_bite2.uti.json create mode 100644 _module/utp/persist_chest.utp.json diff --git a/_module/are/adventurers_inn.are.json b/_module/are/adventurers_inn.are.json index ca3f81c9..c6fb493a 100644 --- a/_module/are/adventurers_inn.are.json +++ b/_module/are/adventurers_inn.are.json @@ -677,7 +677,7 @@ }, "Version": { "type": "dword", - "value": 77 + "value": 80 }, "Width": { "type": "int", diff --git a/_module/are/faction_zoo.are.json b/_module/are/faction_zoo.are.json index 637a3338..f6d4dd43 100644 --- a/_module/are/faction_zoo.are.json +++ b/_module/are/faction_zoo.are.json @@ -2913,7 +2913,7 @@ }, "Version": { "type": "dword", - "value": 22 + "value": 23 }, "Width": { "type": "int", diff --git a/_module/are/ifm_pc_rooms.are.json b/_module/are/ifm_pc_rooms.are.json new file mode 100644 index 00000000..2a79d2f9 --- /dev/null +++ b/_module/are/ifm_pc_rooms.are.json @@ -0,0 +1,346 @@ +{ + "__data_type": "ARE ", + "ChanceLightning": { + "type": "int", + "value": 0 + }, + "ChanceRain": { + "type": "int", + "value": 0 + }, + "ChanceSnow": { + "type": "int", + "value": 0 + }, + "Comments": { + "type": "cexostring", + "value": "City of Baleas: Inn of the Flying Monkey - Your Room" + }, + "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": 13 + }, + "LoadScreenID": { + "type": "word", + "value": 47 + }, + "ModListenCheck": { + "type": "int", + "value": 0 + }, + "ModSpotCheck": { + "type": "int", + "value": 0 + }, + "MoonAmbientColor": { + "type": "dword", + "value": 2960685 + }, + "MoonDiffuseColor": { + "type": "dword", + "value": 6457991 + }, + "MoonFogAmount": { + "type": "byte", + "value": 5 + }, + "MoonFogColor": { + "type": "dword", + "value": 0 + }, + "MoonShadows": { + "type": "byte", + "value": 0 + }, + "Name": { + "type": "cexolocstring", + "value": { + "0": "City of Baleas: Inn of the Flying Monkey, Your Room" + } + }, + "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": 0 + }, + "ResRef": { + "type": "resref", + "value": "ifm_pc_rooms" + }, + "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": "IFM_PC_ROOMS" + }, + "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": 94 + }, + "Tile_MainLight1": { + "type": "byte", + "value": 4 + }, + "Tile_MainLight2": { + "type": "byte", + "value": 13 + }, + "Tile_Orientation": { + "type": "int", + "value": 0 + }, + "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": 94 + }, + "Tile_MainLight1": { + "type": "byte", + "value": 30 + }, + "Tile_MainLight2": { + "type": "byte", + "value": 13 + }, + "Tile_Orientation": { + "type": "int", + "value": 0 + }, + "Tile_SrcLight1": { + "type": "byte", + "value": 2 + }, + "Tile_SrcLight2": { + "type": "byte", + "value": 2 + } + }, + { + "__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": 94 + }, + "Tile_MainLight1": { + "type": "byte", + "value": 4 + }, + "Tile_MainLight2": { + "type": "byte", + "value": 13 + }, + "Tile_Orientation": { + "type": "int", + "value": 3 + }, + "Tile_SrcLight1": { + "type": "byte", + "value": 2 + }, + "Tile_SrcLight2": { + "type": "byte", + "value": 2 + } + }, + { + "__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": 191 + }, + "Tile_MainLight1": { + "type": "byte", + "value": 30 + }, + "Tile_MainLight2": { + "type": "byte", + "value": 14 + }, + "Tile_Orientation": { + "type": "int", + "value": 0 + }, + "Tile_SrcLight1": { + "type": "byte", + "value": 3 + }, + "Tile_SrcLight2": { + "type": "byte", + "value": 3 + } + } + ] + }, + "Tileset": { + "type": "resref", + "value": "tin01" + }, + "Version": { + "type": "dword", + "value": 9 + }, + "Width": { + "type": "int", + "value": 2 + }, + "WindPower": { + "type": "int", + "value": 0 + } +} diff --git a/_module/are/innoftheflyingmo.are.json b/_module/are/innoftheflyingmo.are.json index 3a11826d..1b92aa1d 100644 --- a/_module/are/innoftheflyingmo.are.json +++ b/_module/are/innoftheflyingmo.are.json @@ -92,7 +92,7 @@ }, "NoRest": { "type": "byte", - "value": 0 + "value": 1 }, "OnEnter": { "type": "resref", @@ -2913,7 +2913,7 @@ }, "Version": { "type": "dword", - "value": 14 + "value": 17 }, "Width": { "type": "int", diff --git a/_module/are/starting_area.are.json b/_module/are/starting_area.are.json index 81f65848..814744b3 100644 --- a/_module/are/starting_area.are.json +++ b/_module/are/starting_area.are.json @@ -1709,7 +1709,7 @@ }, "Version": { "type": "dword", - "value": 83 + "value": 84 }, "Width": { "type": "int", diff --git a/_module/dlg/doorcv_inn_room.dlg.json b/_module/dlg/doorcv_inn_room.dlg.json new file mode 100644 index 00000000..06e76d2a --- /dev/null +++ b/_module/dlg/doorcv_inn_room.dlg.json @@ -0,0 +1,235 @@ +{ + "__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": 1 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 1, + "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": "This door leads up to your room, would you like to go there now?" + } + } + } + ] + }, + "NumWords": { + "type": "dword", + "value": 26 + }, + "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": "No, not just yet." + } + } + }, + { + "__struct_id": 1, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "at_enter_pc_room" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Yes, I think it's time for some rest." + } + } + } + ] + }, + "StartingList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 0 + } + } + ] + } +} diff --git a/_module/gic/adventurers_inn.gic.json b/_module/gic/adventurers_inn.gic.json index 2a84fc71..302bf4aa 100644 --- a/_module/gic/adventurers_inn.gic.json +++ b/_module/gic/adventurers_inn.gic.json @@ -2,7 +2,57 @@ "__data_type": "GIC ", "Creature List": { "type": "list", - "value": [] + "value": [ + { + "__struct_id": 4, + "Comment": { + "type": "cexostring", + "value": "" + } + }, + { + "__struct_id": 4, + "Comment": { + "type": "cexostring", + "value": "" + } + }, + { + "__struct_id": 4, + "Comment": { + "type": "cexostring", + "value": "" + } + }, + { + "__struct_id": 4, + "Comment": { + "type": "cexostring", + "value": "" + } + }, + { + "__struct_id": 4, + "Comment": { + "type": "cexostring", + "value": "" + } + }, + { + "__struct_id": 4, + "Comment": { + "type": "cexostring", + "value": "" + } + }, + { + "__struct_id": 4, + "Comment": { + "type": "cexostring", + "value": "" + } + } + ] }, "Door List": { "type": "list", @@ -183,14 +233,6 @@ }, "WaypointList": { "type": "list", - "value": [ - { - "__struct_id": 5, - "Comment": { - "type": "cexostring", - "value": "This waypoint is used for respawning a PC if the option of a custom location is set." - } - } - ] + "value": [] } } diff --git a/_module/gic/ifm_pc_rooms.gic.json b/_module/gic/ifm_pc_rooms.gic.json new file mode 100644 index 00000000..bbdc1ede --- /dev/null +++ b/_module/gic/ifm_pc_rooms.gic.json @@ -0,0 +1,111 @@ +{ + "__data_type": "GIC ", + "Creature List": { + "type": "list", + "value": [] + }, + "Door List": { + "type": "list", + "value": [ + { + "__struct_id": 8, + "Comment": { + "type": "cexostring", + "value": "Strong Door" + } + } + ] + }, + "Encounter List": { + "type": "list", + "value": [] + }, + "List": { + "type": "list", + "value": [] + }, + "Placeable List": { + "type": "list", + "value": [ + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "volition's Bio Placeables by volition\r\n" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Low treasure script." + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Chair that one can sit on.\r\n\r\nCreated by Shir'le E. Illios\r\nshirle@drowwanderer.com\r\nhttp://chosen.drowwanderer.com\r\n" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "TCC - Interiors\r\nby The_NWNCCC" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Source: Bathroom Fixtures by Lisa" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Charlie's Oriental Placables v1.0 by Charlie\r\n" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "" + } + } + ] + }, + "SoundList": { + "type": "list", + "value": [] + }, + "StoreList": { + "type": "list", + "value": [] + }, + "TriggerList": { + "type": "list", + "value": [] + }, + "WaypointList": { + "type": "list", + "value": [] + } +} diff --git a/_module/gic/innoftheflyingmo.gic.json b/_module/gic/innoftheflyingmo.gic.json index 384642dc..1e1aa1ce 100644 --- a/_module/gic/innoftheflyingmo.gic.json +++ b/_module/gic/innoftheflyingmo.gic.json @@ -22,6 +22,13 @@ "Door List": { "type": "list", "value": [ + { + "__struct_id": 8, + "Comment": { + "type": "cexostring", + "value": "Strong Door" + } + }, { "__struct_id": 8, "Comment": { @@ -143,6 +150,13 @@ "type": "cexostring", "value": "This is the default waypoint you may place to set a Spawn point for the BESIE PW Spawner tool.\r\n1. Place a PW Spawner tool anywhere in the area.\r\n2. Set all other parameters on the PW Spawner tool according to the instructions found in the comments sections on that tool.\r\n3. Change the tag of this waypoint to match the Will Save number of the tool. ie. if the Will Save of the PW Spawner is 2 then change the tag of this Waypoint to \"PWS02\"\r\n4. Add any special behavior designators to the end of the tag ie. \"PWS02s2s1\". See the following table for behavior designators:\r\n\r\nBehavior designators:\r\ns1 - Do not return to spawn point after chasing an enemy (or moving for any other reason). This should be set if the creature spawned here has waypoints to walk or to POST.\r\ns2 - Random Walk. This creature will randomly walk a small patrol area via the RandomWalk() function.\r\ns3 - Sit. The creature will sit on the ground instead of standing (provided he has a sitting animation).\r\ns4 - No Regeneration. The Creature will not regenerate hitpoints. Note, this does NOT prevent a creature who regenerates naturally or due to some other source from regenerating.\r\ns5 - Only at day. Only spawn this creature during dawn or day.\r\ns6 - Only at night. Only spawn this creature during dusk or night.\r\nb## - Begin Time. Spawn in at this time.\r\ne## - End Time - Spawn out at this time.\r\n(note: do not use e or b with s5 or s6)\r\nt## - Territroy. If the creature goes outside of this territory range it will teleport back to the spawn point when not in combat. NOTE: Can NOT be set below 30 meters. If set below 30 meters it will default to 30." } + }, + { + "__struct_id": 5, + "Comment": { + "type": "cexostring", + "value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive." + } } ] } diff --git a/_module/git/adventurers_inn.git.json b/_module/git/adventurers_inn.git.json index d9be4cff..da7c0db3 100644 --- a/_module/git/adventurers_inn.git.json +++ b/_module/git/adventurers_inn.git.json @@ -45,7 +45,6464 @@ }, "Creature List": { "type": "list", - "value": [] + "value": [ + { + "__struct_id": 4, + "Appearance_Type": { + "type": "word", + "value": 348 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "Cha": { + "type": "byte", + "value": 6 + }, + "ChallengeRating": { + "type": "float", + "value": 2.0 + }, + "ClassList": { + "type": "list", + "value": [ + { + "__struct_id": 2, + "Class": { + "type": "int", + "value": 12 + }, + "ClassLevel": { + "type": "short", + "value": 3 + } + } + ] + }, + "Con": { + "type": "byte", + "value": 15 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CRAdjust": { + "type": "int", + "value": 0 + }, + "CurrentHitPoints": { + "type": "short", + "value": 13 + }, + "DecayTime": { + "type": "dword", + "value": 0 + }, + "Deity": { + "type": "cexostring", + "value": "" + }, + "Description": { + "id": 12381, + "type": "cexolocstring", + "value": {} + }, + "Dex": { + "type": "byte", + "value": 13 + }, + "Disarmable": { + "type": "byte", + "value": 0 + }, + "Equip_ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 16384, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 72 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 320 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13284, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPSP026" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewpsp026" + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } + }, + { + "__struct_id": 32768, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 72 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 320 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13284, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPSP026" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewpsp026" + }, + "XOrientation": { + "type": "float", + "value": 7.353306974588865e-024 + }, + "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": 65536, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 69 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 500 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13238, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPS005" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewps005" + }, + "XOrientation": { + "type": "float", + "value": 7.349911717252794e-024 + }, + "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": 1 + }, + "FeatList": { + "type": "list", + "value": [ + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 291 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 289 + } + } + ] + }, + "FirstName": { + "id": 12382, + "type": "cexolocstring", + "value": {} + }, + "fortbonus": { + "type": "short", + "value": 0 + }, + "Gender": { + "type": "byte", + "value": 2 + }, + "GoodEvil": { + "type": "byte", + "value": 50 + }, + "HitPoints": { + "type": "short", + "value": 13 + }, + "Int": { + "type": "byte", + "value": 3 + }, + "Interruptable": { + "type": "byte", + "value": 1 + }, + "IsImmortal": { + "type": "byte", + "value": 0 + }, + "IsPC": { + "type": "byte", + "value": 0 + }, + "LastName": { + "type": "cexolocstring", + "value": {} + }, + "LawfulChaotic": { + "type": "byte", + "value": 50 + }, + "Lootable": { + "type": "byte", + "value": 0 + }, + "MaxHitPoints": { + "type": "short", + "value": 19 + }, + "NaturalAC": { + "type": "byte", + "value": 2 + }, + "NoPermDeath": { + "type": "byte", + "value": 0 + }, + "PerceptionRange": { + "type": "byte", + "value": 11 + }, + "Phenotype": { + "type": "int", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 578 + }, + "Race": { + "type": "byte", + "value": 8 + }, + "refbonus": { + "type": "short", + "value": 0 + }, + "ScriptAttacked": { + "type": "resref", + "value": "nw_c2_default5" + }, + "ScriptDamaged": { + "type": "resref", + "value": "nw_c2_default6" + }, + "ScriptDeath": { + "type": "resref", + "value": "nw_c2_default7" + }, + "ScriptDialogue": { + "type": "resref", + "value": "nw_c2_default4" + }, + "ScriptDisturbed": { + "type": "resref", + "value": "nw_c2_default8" + }, + "ScriptEndRound": { + "type": "resref", + "value": "nw_c2_default3" + }, + "ScriptHeartbeat": { + "type": "resref", + "value": "nw_c2_default1" + }, + "ScriptOnBlocked": { + "type": "resref", + "value": "nw_c2_defaulte" + }, + "ScriptOnNotice": { + "type": "resref", + "value": "nw_c2_default2" + }, + "ScriptRested": { + "type": "resref", + "value": "nw_c2_defaulta" + }, + "ScriptSpawn": { + "type": "resref", + "value": "nw_c2_default9" + }, + "ScriptSpellAt": { + "type": "resref", + "value": "nw_c2_defaultb" + }, + "ScriptUserDefine": { + "type": "resref", + "value": "nw_c2_defaultd" + }, + "SkillList": { + "type": "list", + "value": [ + { + "__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": 4 + } + }, + { + "__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": 7 + } + }, + { + "__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 + } + }, + { + "__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": 7 + }, + "SpecAbilityList": { + "type": "list", + "value": [] + }, + "StartingPackage": { + "type": "byte", + "value": 0 + }, + "Str": { + "type": "byte", + "value": 19 + }, + "Subrace": { + "type": "cexostring", + "value": "" + }, + "Tag": { + "type": "cexostring", + "value": "NW_BEARBLCK" + }, + "Tail_New": { + "type": "dword", + "value": 0 + }, + "TemplateList": { + "type": "list", + "value": [] + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_bearblck" + }, + "WalkRate": { + "type": "int", + "value": 7 + }, + "willbonus": { + "type": "short", + "value": 0 + }, + "Wings_New": { + "type": "dword", + "value": 0 + }, + "Wis": { + "type": "byte", + "value": 12 + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": 18.43215751647949 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": 14.77241039276123 + }, + "ZPosition": { + "type": "float", + "value": 1.9073486328125e-006 + } + }, + { + "__struct_id": 4, + "Appearance_Type": { + "type": "word", + "value": 86 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "Cha": { + "type": "byte", + "value": 8 + }, + "ChallengeRating": { + "type": "float", + "value": 0.25 + }, + "ClassList": { + "type": "list", + "value": [ + { + "__struct_id": 2, + "Class": { + "type": "int", + "value": 14 + }, + "ClassLevel": { + "type": "short", + "value": 1 + } + } + ] + }, + "Con": { + "type": "byte", + "value": 11 + }, + "Conversation": { + "type": "resref", + "value": "cv_charmed" + }, + "CRAdjust": { + "type": "int", + "value": 0 + }, + "CurrentHitPoints": { + "type": "short", + "value": 4 + }, + "DecayTime": { + "type": "dword", + "value": 5000 + }, + "Deity": { + "type": "cexostring", + "value": "" + }, + "Description": { + "id": 12565, + "type": "cexolocstring", + "value": {} + }, + "Dex": { + "type": "byte", + "value": 8 + }, + "Disarmable": { + "type": "byte", + "value": 1 + }, + "Equip_ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 16, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 47 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 16 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "id": 1541, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 11 + }, + "ModelPart2": { + "type": "byte", + "value": 11 + }, + "ModelPart3": { + "type": "byte", + "value": 11 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_WBLMS001" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_wblms001" + }, + "XOrientation": { + "type": "float", + "value": 7.01069621701706e-042 + }, + "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": 8 + }, + "FeatList": { + "type": "list", + "value": [ + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 289 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 46 + } + } + ] + }, + "FirstName": { + "id": 12567, + "type": "cexolocstring", + "value": {} + }, + "fortbonus": { + "type": "short", + "value": 0 + }, + "Gender": { + "type": "byte", + "value": 0 + }, + "GoodEvil": { + "type": "byte", + "value": 0 + }, + "HitPoints": { + "type": "short", + "value": 4 + }, + "Int": { + "type": "byte", + "value": 10 + }, + "Interruptable": { + "type": "byte", + "value": 1 + }, + "IsImmortal": { + "type": "byte", + "value": 0 + }, + "IsPC": { + "type": "byte", + "value": 0 + }, + "LastName": { + "type": "cexolocstring", + "value": {} + }, + "LawfulChaotic": { + "type": "byte", + "value": 50 + }, + "Lootable": { + "type": "byte", + "value": 0 + }, + "MaxHitPoints": { + "type": "short", + "value": 4 + }, + "NaturalAC": { + "type": "byte", + "value": 0 + }, + "NoPermDeath": { + "type": "byte", + "value": 0 + }, + "PerceptionRange": { + "type": "byte", + "value": 11 + }, + "Phenotype": { + "type": "int", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 222 + }, + "Race": { + "type": "byte", + "value": 12 + }, + "refbonus": { + "type": "short", + "value": 0 + }, + "ScriptAttacked": { + "type": "resref", + "value": "nw_c2_default5" + }, + "ScriptDamaged": { + "type": "resref", + "value": "nw_c2_default6" + }, + "ScriptDeath": { + "type": "resref", + "value": "nw_c2_default7" + }, + "ScriptDialogue": { + "type": "resref", + "value": "nw_c2_default4" + }, + "ScriptDisturbed": { + "type": "resref", + "value": "nw_c2_default8" + }, + "ScriptEndRound": { + "type": "resref", + "value": "nw_c2_default3" + }, + "ScriptHeartbeat": { + "type": "resref", + "value": "nw_c2_default1" + }, + "ScriptOnBlocked": { + "type": "resref", + "value": "nw_c2_defaulte" + }, + "ScriptOnNotice": { + "type": "resref", + "value": "nw_c2_default2" + }, + "ScriptRested": { + "type": "resref", + "value": "nw_c2_defaulta" + }, + "ScriptSpawn": { + "type": "resref", + "value": "nw_c2_default9" + }, + "ScriptSpellAt": { + "type": "resref", + "value": "nw_c2_defaultb" + }, + "ScriptUserDefine": { + "type": "resref", + "value": "nw_c2_defaultd" + }, + "SkillList": { + "type": "list", + "value": [ + { + "__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": 6 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 3 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 4 + } + }, + { + "__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": 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": 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": 44 + }, + "SpecAbilityList": { + "type": "list", + "value": [] + }, + "StartingPackage": { + "type": "byte", + "value": 0 + }, + "Str": { + "type": "byte", + "value": 8 + }, + "Subrace": { + "type": "cexostring", + "value": "" + }, + "Tag": { + "type": "cexostring", + "value": "NW_GOBLINA" + }, + "Tail_New": { + "type": "dword", + "value": 0 + }, + "TemplateList": { + "type": "list", + "value": [] + }, + "TemplateResRef": { + "type": "resref", + "value": "goblina001" + }, + "WalkRate": { + "type": "int", + "value": 7 + }, + "willbonus": { + "type": "short", + "value": 0 + }, + "Wings_New": { + "type": "dword", + "value": 0 + }, + "Wis": { + "type": "byte", + "value": 11 + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": 17.34973907470703 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": 14.54048347473145 + }, + "ZPosition": { + "type": "float", + "value": 0.0 + } + }, + { + "__struct_id": 4, + "Appearance_Type": { + "type": "word", + "value": 347 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "Cha": { + "type": "byte", + "value": 6 + }, + "ChallengeRating": { + "type": "float", + "value": 2.0 + }, + "ClassList": { + "type": "list", + "value": [ + { + "__struct_id": 2, + "Class": { + "type": "int", + "value": 12 + }, + "ClassLevel": { + "type": "short", + "value": 3 + } + } + ] + }, + "Con": { + "type": "byte", + "value": 15 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CRAdjust": { + "type": "int", + "value": 0 + }, + "CurrentHitPoints": { + "type": "short", + "value": 13 + }, + "DecayTime": { + "type": "dword", + "value": 0 + }, + "Deity": { + "type": "cexostring", + "value": "" + }, + "Description": { + "id": 12381, + "type": "cexolocstring", + "value": {} + }, + "Dex": { + "type": "byte", + "value": 13 + }, + "Disarmable": { + "type": "byte", + "value": 0 + }, + "Equip_ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 16384, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 72 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 320 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13284, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPSP026" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewpsp026" + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } + }, + { + "__struct_id": 32768, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 72 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 320 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13284, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPSP026" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewpsp026" + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } + }, + { + "__struct_id": 65536, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 69 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 500 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13238, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPS005" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewps005" + }, + "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": 1 + }, + "FeatList": { + "type": "list", + "value": [ + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 291 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 289 + } + } + ] + }, + "FirstName": { + "id": 12382, + "type": "cexolocstring", + "value": {} + }, + "fortbonus": { + "type": "short", + "value": 0 + }, + "Gender": { + "type": "byte", + "value": 2 + }, + "GoodEvil": { + "type": "byte", + "value": 50 + }, + "HitPoints": { + "type": "short", + "value": 13 + }, + "Int": { + "type": "byte", + "value": 3 + }, + "Interruptable": { + "type": "byte", + "value": 1 + }, + "IsImmortal": { + "type": "byte", + "value": 0 + }, + "IsPC": { + "type": "byte", + "value": 0 + }, + "LastName": { + "type": "cexolocstring", + "value": {} + }, + "LawfulChaotic": { + "type": "byte", + "value": 50 + }, + "Lootable": { + "type": "byte", + "value": 0 + }, + "MaxHitPoints": { + "type": "short", + "value": 19 + }, + "NaturalAC": { + "type": "byte", + "value": 2 + }, + "NoPermDeath": { + "type": "byte", + "value": 0 + }, + "PerceptionRange": { + "type": "byte", + "value": 11 + }, + "Phenotype": { + "type": "int", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 577 + }, + "Race": { + "type": "byte", + "value": 8 + }, + "refbonus": { + "type": "short", + "value": 0 + }, + "ScriptAttacked": { + "type": "resref", + "value": "nw_c2_default5" + }, + "ScriptDamaged": { + "type": "resref", + "value": "nw_c2_default6" + }, + "ScriptDeath": { + "type": "resref", + "value": "nw_c2_default7" + }, + "ScriptDialogue": { + "type": "resref", + "value": "nw_c2_default4" + }, + "ScriptDisturbed": { + "type": "resref", + "value": "nw_c2_default8" + }, + "ScriptEndRound": { + "type": "resref", + "value": "nw_c2_default3" + }, + "ScriptHeartbeat": { + "type": "resref", + "value": "nw_c2_default1" + }, + "ScriptOnBlocked": { + "type": "resref", + "value": "nw_c2_defaulte" + }, + "ScriptOnNotice": { + "type": "resref", + "value": "nw_c2_default2" + }, + "ScriptRested": { + "type": "resref", + "value": "nw_c2_defaulta" + }, + "ScriptSpawn": { + "type": "resref", + "value": "nw_c2_default9" + }, + "ScriptSpellAt": { + "type": "resref", + "value": "nw_c2_defaultb" + }, + "ScriptUserDefine": { + "type": "resref", + "value": "nw_c2_defaultd" + }, + "SkillList": { + "type": "list", + "value": [ + { + "__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": 4 + } + }, + { + "__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": 7 + } + }, + { + "__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 + } + }, + { + "__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": 7 + }, + "SpecAbilityList": { + "type": "list", + "value": [] + }, + "StartingPackage": { + "type": "byte", + "value": 0 + }, + "Str": { + "type": "byte", + "value": 19 + }, + "Subrace": { + "type": "cexostring", + "value": "" + }, + "Tag": { + "type": "cexostring", + "value": "NW_BEARBLCK" + }, + "Tail_New": { + "type": "dword", + "value": 0 + }, + "TemplateList": { + "type": "list", + "value": [] + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_bearblck" + }, + "WalkRate": { + "type": "int", + "value": 7 + }, + "willbonus": { + "type": "short", + "value": 0 + }, + "Wings_New": { + "type": "dword", + "value": 0 + }, + "Wis": { + "type": "byte", + "value": 12 + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": 19.54906463623047 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": 14.65606498718262 + }, + "ZPosition": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 4, + "Appearance_Type": { + "type": "word", + "value": 346 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "Cha": { + "type": "byte", + "value": 6 + }, + "ChallengeRating": { + "type": "float", + "value": 2.0 + }, + "ClassList": { + "type": "list", + "value": [ + { + "__struct_id": 2, + "Class": { + "type": "int", + "value": 12 + }, + "ClassLevel": { + "type": "short", + "value": 3 + } + } + ] + }, + "Con": { + "type": "byte", + "value": 15 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CRAdjust": { + "type": "int", + "value": 0 + }, + "CurrentHitPoints": { + "type": "short", + "value": 13 + }, + "DecayTime": { + "type": "dword", + "value": 0 + }, + "Deity": { + "type": "cexostring", + "value": "" + }, + "Description": { + "id": 12381, + "type": "cexolocstring", + "value": {} + }, + "Dex": { + "type": "byte", + "value": 13 + }, + "Disarmable": { + "type": "byte", + "value": 0 + }, + "Equip_ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 16384, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 72 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 320 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13284, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPSP026" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewpsp026" + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } + }, + { + "__struct_id": 32768, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 72 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 320 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13284, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPSP026" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewpsp026" + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } + }, + { + "__struct_id": 65536, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 69 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 500 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13238, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPS005" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewps005" + }, + "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": 1 + }, + "FeatList": { + "type": "list", + "value": [ + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 291 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 289 + } + } + ] + }, + "FirstName": { + "id": 12382, + "type": "cexolocstring", + "value": {} + }, + "fortbonus": { + "type": "short", + "value": 0 + }, + "Gender": { + "type": "byte", + "value": 2 + }, + "GoodEvil": { + "type": "byte", + "value": 50 + }, + "HitPoints": { + "type": "short", + "value": 13 + }, + "Int": { + "type": "byte", + "value": 3 + }, + "Interruptable": { + "type": "byte", + "value": 1 + }, + "IsImmortal": { + "type": "byte", + "value": 0 + }, + "IsPC": { + "type": "byte", + "value": 0 + }, + "LastName": { + "type": "cexolocstring", + "value": {} + }, + "LawfulChaotic": { + "type": "byte", + "value": 50 + }, + "Lootable": { + "type": "byte", + "value": 0 + }, + "MaxHitPoints": { + "type": "short", + "value": 19 + }, + "NaturalAC": { + "type": "byte", + "value": 2 + }, + "NoPermDeath": { + "type": "byte", + "value": 0 + }, + "PerceptionRange": { + "type": "byte", + "value": 11 + }, + "Phenotype": { + "type": "int", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 577 + }, + "Race": { + "type": "byte", + "value": 8 + }, + "refbonus": { + "type": "short", + "value": 0 + }, + "ScriptAttacked": { + "type": "resref", + "value": "nw_c2_default5" + }, + "ScriptDamaged": { + "type": "resref", + "value": "nw_c2_default6" + }, + "ScriptDeath": { + "type": "resref", + "value": "nw_c2_default7" + }, + "ScriptDialogue": { + "type": "resref", + "value": "nw_c2_default4" + }, + "ScriptDisturbed": { + "type": "resref", + "value": "nw_c2_default8" + }, + "ScriptEndRound": { + "type": "resref", + "value": "nw_c2_default3" + }, + "ScriptHeartbeat": { + "type": "resref", + "value": "nw_c2_default1" + }, + "ScriptOnBlocked": { + "type": "resref", + "value": "nw_c2_defaulte" + }, + "ScriptOnNotice": { + "type": "resref", + "value": "nw_c2_default2" + }, + "ScriptRested": { + "type": "resref", + "value": "nw_c2_defaulta" + }, + "ScriptSpawn": { + "type": "resref", + "value": "nw_c2_default9" + }, + "ScriptSpellAt": { + "type": "resref", + "value": "nw_c2_defaultb" + }, + "ScriptUserDefine": { + "type": "resref", + "value": "nw_c2_defaultd" + }, + "SkillList": { + "type": "list", + "value": [ + { + "__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": 4 + } + }, + { + "__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": 7 + } + }, + { + "__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 + } + }, + { + "__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": 7 + }, + "SpecAbilityList": { + "type": "list", + "value": [] + }, + "StartingPackage": { + "type": "byte", + "value": 0 + }, + "Str": { + "type": "byte", + "value": 19 + }, + "Subrace": { + "type": "cexostring", + "value": "" + }, + "Tag": { + "type": "cexostring", + "value": "NW_BEARBLCK" + }, + "Tail_New": { + "type": "dword", + "value": 0 + }, + "TemplateList": { + "type": "list", + "value": [] + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_bearblck" + }, + "WalkRate": { + "type": "int", + "value": 7 + }, + "willbonus": { + "type": "short", + "value": 0 + }, + "Wings_New": { + "type": "dword", + "value": 0 + }, + "Wis": { + "type": "byte", + "value": 12 + }, + "XOrientation": { + "type": "float", + "value": 1.754501778013256e-021 + }, + "XPosition": { + "type": "float", + "value": 20.64703178405762 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": 14.71267032623291 + }, + "ZPosition": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 4, + "Appearance_Type": { + "type": "word", + "value": 345 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "Cha": { + "type": "byte", + "value": 6 + }, + "ChallengeRating": { + "type": "float", + "value": 2.0 + }, + "ClassList": { + "type": "list", + "value": [ + { + "__struct_id": 2, + "Class": { + "type": "int", + "value": 12 + }, + "ClassLevel": { + "type": "short", + "value": 3 + } + } + ] + }, + "Con": { + "type": "byte", + "value": 15 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CRAdjust": { + "type": "int", + "value": 0 + }, + "CurrentHitPoints": { + "type": "short", + "value": 13 + }, + "DecayTime": { + "type": "dword", + "value": 0 + }, + "Deity": { + "type": "cexostring", + "value": "" + }, + "Description": { + "id": 12381, + "type": "cexolocstring", + "value": {} + }, + "Dex": { + "type": "byte", + "value": 13 + }, + "Disarmable": { + "type": "byte", + "value": 0 + }, + "Equip_ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 16384, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 72 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 320 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13284, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPSP026" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewpsp026" + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } + }, + { + "__struct_id": 32768, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 72 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 320 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13284, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPSP026" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewpsp026" + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } + }, + { + "__struct_id": 65536, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 69 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 500 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13238, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPS005" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewps005" + }, + "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": 1 + }, + "FeatList": { + "type": "list", + "value": [ + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 291 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 289 + } + } + ] + }, + "FirstName": { + "id": 12382, + "type": "cexolocstring", + "value": {} + }, + "fortbonus": { + "type": "short", + "value": 0 + }, + "Gender": { + "type": "byte", + "value": 2 + }, + "GoodEvil": { + "type": "byte", + "value": 50 + }, + "HitPoints": { + "type": "short", + "value": 13 + }, + "Int": { + "type": "byte", + "value": 3 + }, + "Interruptable": { + "type": "byte", + "value": 1 + }, + "IsImmortal": { + "type": "byte", + "value": 0 + }, + "IsPC": { + "type": "byte", + "value": 0 + }, + "LastName": { + "type": "cexolocstring", + "value": {} + }, + "LawfulChaotic": { + "type": "byte", + "value": 50 + }, + "Lootable": { + "type": "byte", + "value": 0 + }, + "MaxHitPoints": { + "type": "short", + "value": 19 + }, + "NaturalAC": { + "type": "byte", + "value": 2 + }, + "NoPermDeath": { + "type": "byte", + "value": 0 + }, + "PerceptionRange": { + "type": "byte", + "value": 11 + }, + "Phenotype": { + "type": "int", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 577 + }, + "Race": { + "type": "byte", + "value": 8 + }, + "refbonus": { + "type": "short", + "value": 0 + }, + "ScriptAttacked": { + "type": "resref", + "value": "nw_c2_default5" + }, + "ScriptDamaged": { + "type": "resref", + "value": "nw_c2_default6" + }, + "ScriptDeath": { + "type": "resref", + "value": "nw_c2_default7" + }, + "ScriptDialogue": { + "type": "resref", + "value": "nw_c2_default4" + }, + "ScriptDisturbed": { + "type": "resref", + "value": "nw_c2_default8" + }, + "ScriptEndRound": { + "type": "resref", + "value": "nw_c2_default3" + }, + "ScriptHeartbeat": { + "type": "resref", + "value": "nw_c2_default1" + }, + "ScriptOnBlocked": { + "type": "resref", + "value": "nw_c2_defaulte" + }, + "ScriptOnNotice": { + "type": "resref", + "value": "nw_c2_default2" + }, + "ScriptRested": { + "type": "resref", + "value": "nw_c2_defaulta" + }, + "ScriptSpawn": { + "type": "resref", + "value": "nw_c2_default9" + }, + "ScriptSpellAt": { + "type": "resref", + "value": "nw_c2_defaultb" + }, + "ScriptUserDefine": { + "type": "resref", + "value": "nw_c2_defaultd" + }, + "SkillList": { + "type": "list", + "value": [ + { + "__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": 4 + } + }, + { + "__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": 7 + } + }, + { + "__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 + } + }, + { + "__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": 7 + }, + "SpecAbilityList": { + "type": "list", + "value": [] + }, + "StartingPackage": { + "type": "byte", + "value": 0 + }, + "Str": { + "type": "byte", + "value": 19 + }, + "Subrace": { + "type": "cexostring", + "value": "" + }, + "Tag": { + "type": "cexostring", + "value": "NW_BEARBLCK" + }, + "Tail_New": { + "type": "dword", + "value": 0 + }, + "TemplateList": { + "type": "list", + "value": [] + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_bearblck" + }, + "WalkRate": { + "type": "int", + "value": 7 + }, + "willbonus": { + "type": "short", + "value": 0 + }, + "Wings_New": { + "type": "dword", + "value": 0 + }, + "Wis": { + "type": "byte", + "value": 12 + }, + "XOrientation": { + "type": "float", + "value": 2.426705579160499e-021 + }, + "XPosition": { + "type": "float", + "value": 21.87508583068848 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": 14.7796688079834 + }, + "ZPosition": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 4, + "Appearance_Type": { + "type": "word", + "value": 344 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "Cha": { + "type": "byte", + "value": 6 + }, + "ChallengeRating": { + "type": "float", + "value": 2.0 + }, + "ClassList": { + "type": "list", + "value": [ + { + "__struct_id": 2, + "Class": { + "type": "int", + "value": 12 + }, + "ClassLevel": { + "type": "short", + "value": 3 + } + } + ] + }, + "Con": { + "type": "byte", + "value": 15 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CRAdjust": { + "type": "int", + "value": 0 + }, + "CurrentHitPoints": { + "type": "short", + "value": 13 + }, + "DecayTime": { + "type": "dword", + "value": 0 + }, + "Deity": { + "type": "cexostring", + "value": "" + }, + "Description": { + "id": 12381, + "type": "cexolocstring", + "value": {} + }, + "Dex": { + "type": "byte", + "value": 13 + }, + "Disarmable": { + "type": "byte", + "value": 0 + }, + "Equip_ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 16384, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 72 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 320 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13284, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPSP026" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewpsp026" + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } + }, + { + "__struct_id": 32768, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 72 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 320 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13284, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPSP026" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewpsp026" + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } + }, + { + "__struct_id": 65536, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 69 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 500 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13238, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPS005" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewps005" + }, + "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": 1 + }, + "FeatList": { + "type": "list", + "value": [ + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 291 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 289 + } + } + ] + }, + "FirstName": { + "id": 12382, + "type": "cexolocstring", + "value": {} + }, + "fortbonus": { + "type": "short", + "value": 0 + }, + "Gender": { + "type": "byte", + "value": 2 + }, + "GoodEvil": { + "type": "byte", + "value": 50 + }, + "HitPoints": { + "type": "short", + "value": 13 + }, + "Int": { + "type": "byte", + "value": 3 + }, + "Interruptable": { + "type": "byte", + "value": 1 + }, + "IsImmortal": { + "type": "byte", + "value": 0 + }, + "IsPC": { + "type": "byte", + "value": 0 + }, + "LastName": { + "type": "cexolocstring", + "value": {} + }, + "LawfulChaotic": { + "type": "byte", + "value": 50 + }, + "Lootable": { + "type": "byte", + "value": 0 + }, + "MaxHitPoints": { + "type": "short", + "value": 19 + }, + "NaturalAC": { + "type": "byte", + "value": 2 + }, + "NoPermDeath": { + "type": "byte", + "value": 0 + }, + "PerceptionRange": { + "type": "byte", + "value": 11 + }, + "Phenotype": { + "type": "int", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 577 + }, + "Race": { + "type": "byte", + "value": 8 + }, + "refbonus": { + "type": "short", + "value": 0 + }, + "ScriptAttacked": { + "type": "resref", + "value": "nw_c2_default5" + }, + "ScriptDamaged": { + "type": "resref", + "value": "nw_c2_default6" + }, + "ScriptDeath": { + "type": "resref", + "value": "nw_c2_default7" + }, + "ScriptDialogue": { + "type": "resref", + "value": "nw_c2_default4" + }, + "ScriptDisturbed": { + "type": "resref", + "value": "nw_c2_default8" + }, + "ScriptEndRound": { + "type": "resref", + "value": "nw_c2_default3" + }, + "ScriptHeartbeat": { + "type": "resref", + "value": "nw_c2_default1" + }, + "ScriptOnBlocked": { + "type": "resref", + "value": "nw_c2_defaulte" + }, + "ScriptOnNotice": { + "type": "resref", + "value": "nw_c2_default2" + }, + "ScriptRested": { + "type": "resref", + "value": "nw_c2_defaulta" + }, + "ScriptSpawn": { + "type": "resref", + "value": "nw_c2_default9" + }, + "ScriptSpellAt": { + "type": "resref", + "value": "nw_c2_defaultb" + }, + "ScriptUserDefine": { + "type": "resref", + "value": "nw_c2_defaultd" + }, + "SkillList": { + "type": "list", + "value": [ + { + "__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": 4 + } + }, + { + "__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": 7 + } + }, + { + "__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 + } + }, + { + "__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": 7 + }, + "SpecAbilityList": { + "type": "list", + "value": [] + }, + "StartingPackage": { + "type": "byte", + "value": 0 + }, + "Str": { + "type": "byte", + "value": 19 + }, + "Subrace": { + "type": "cexostring", + "value": "" + }, + "Tag": { + "type": "cexostring", + "value": "NW_BEARBLCK" + }, + "Tail_New": { + "type": "dword", + "value": 0 + }, + "TemplateList": { + "type": "list", + "value": [] + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_bearblck" + }, + "WalkRate": { + "type": "int", + "value": 7 + }, + "willbonus": { + "type": "short", + "value": 0 + }, + "Wings_New": { + "type": "dword", + "value": 0 + }, + "Wis": { + "type": "byte", + "value": 12 + }, + "XOrientation": { + "type": "float", + "value": 1.270696439310635e-021 + }, + "XPosition": { + "type": "float", + "value": 16.30051040649414 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": 14.72562313079834 + }, + "ZPosition": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 4, + "Appearance_Type": { + "type": "word", + "value": 343 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "Cha": { + "type": "byte", + "value": 6 + }, + "ChallengeRating": { + "type": "float", + "value": 2.0 + }, + "ClassList": { + "type": "list", + "value": [ + { + "__struct_id": 2, + "Class": { + "type": "int", + "value": 12 + }, + "ClassLevel": { + "type": "short", + "value": 3 + } + } + ] + }, + "Con": { + "type": "byte", + "value": 15 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CRAdjust": { + "type": "int", + "value": 0 + }, + "CurrentHitPoints": { + "type": "short", + "value": 13 + }, + "DecayTime": { + "type": "dword", + "value": 0 + }, + "Deity": { + "type": "cexostring", + "value": "" + }, + "Description": { + "id": 12381, + "type": "cexolocstring", + "value": {} + }, + "Dex": { + "type": "byte", + "value": 13 + }, + "Disarmable": { + "type": "byte", + "value": 0 + }, + "Equip_ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 16384, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 72 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 320 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13284, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPSP026" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewpsp026" + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } + }, + { + "__struct_id": 32768, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 72 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 320 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13284, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPSP026" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewpsp026" + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } + }, + { + "__struct_id": 65536, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 69 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 500 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "id": 13238, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_IT_CREWPS005" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_it_crewps005" + }, + "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": 1 + }, + "FeatList": { + "type": "list", + "value": [ + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 291 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 289 + } + } + ] + }, + "FirstName": { + "id": 12382, + "type": "cexolocstring", + "value": {} + }, + "fortbonus": { + "type": "short", + "value": 0 + }, + "Gender": { + "type": "byte", + "value": 2 + }, + "GoodEvil": { + "type": "byte", + "value": 50 + }, + "HitPoints": { + "type": "short", + "value": 13 + }, + "Int": { + "type": "byte", + "value": 3 + }, + "Interruptable": { + "type": "byte", + "value": 1 + }, + "IsImmortal": { + "type": "byte", + "value": 0 + }, + "IsPC": { + "type": "byte", + "value": 0 + }, + "LastName": { + "type": "cexolocstring", + "value": {} + }, + "LawfulChaotic": { + "type": "byte", + "value": 50 + }, + "Lootable": { + "type": "byte", + "value": 0 + }, + "MaxHitPoints": { + "type": "short", + "value": 19 + }, + "NaturalAC": { + "type": "byte", + "value": 2 + }, + "NoPermDeath": { + "type": "byte", + "value": 0 + }, + "PerceptionRange": { + "type": "byte", + "value": 11 + }, + "Phenotype": { + "type": "int", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 577 + }, + "Race": { + "type": "byte", + "value": 8 + }, + "refbonus": { + "type": "short", + "value": 0 + }, + "ScriptAttacked": { + "type": "resref", + "value": "nw_c2_default5" + }, + "ScriptDamaged": { + "type": "resref", + "value": "nw_c2_default6" + }, + "ScriptDeath": { + "type": "resref", + "value": "nw_c2_default7" + }, + "ScriptDialogue": { + "type": "resref", + "value": "nw_c2_default4" + }, + "ScriptDisturbed": { + "type": "resref", + "value": "nw_c2_default8" + }, + "ScriptEndRound": { + "type": "resref", + "value": "nw_c2_default3" + }, + "ScriptHeartbeat": { + "type": "resref", + "value": "nw_c2_default1" + }, + "ScriptOnBlocked": { + "type": "resref", + "value": "nw_c2_defaulte" + }, + "ScriptOnNotice": { + "type": "resref", + "value": "nw_c2_default2" + }, + "ScriptRested": { + "type": "resref", + "value": "nw_c2_defaulta" + }, + "ScriptSpawn": { + "type": "resref", + "value": "nw_c2_default9" + }, + "ScriptSpellAt": { + "type": "resref", + "value": "nw_c2_defaultb" + }, + "ScriptUserDefine": { + "type": "resref", + "value": "nw_c2_defaultd" + }, + "SkillList": { + "type": "list", + "value": [ + { + "__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": 4 + } + }, + { + "__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": 7 + } + }, + { + "__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 + } + }, + { + "__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": 7 + }, + "SpecAbilityList": { + "type": "list", + "value": [] + }, + "StartingPackage": { + "type": "byte", + "value": 0 + }, + "Str": { + "type": "byte", + "value": 19 + }, + "Subrace": { + "type": "cexostring", + "value": "" + }, + "Tag": { + "type": "cexostring", + "value": "NW_BEARBLCK" + }, + "Tail_New": { + "type": "dword", + "value": 0 + }, + "TemplateList": { + "type": "list", + "value": [] + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_bearblck" + }, + "WalkRate": { + "type": "int", + "value": 7 + }, + "willbonus": { + "type": "short", + "value": 0 + }, + "Wings_New": { + "type": "dword", + "value": 0 + }, + "Wis": { + "type": "byte", + "value": 12 + }, + "XOrientation": { + "type": "float", + "value": 5.056861141363303e-019 + }, + "XPosition": { + "type": "float", + "value": 23.44981384277344 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": 16.29898262023926 + }, + "ZPosition": { + "type": "float", + "value": -5.7220458984375e-006 + } + } + ] }, "Door List": { "type": "list", @@ -4118,69 +10575,6 @@ }, "WaypointList": { "type": "list", - "value": [ - { - "__struct_id": 5, - "Appearance": { - "type": "byte", - "value": 1 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "HasMapNote": { - "type": "byte", - "value": 0 - }, - "LinkedTo": { - "type": "cexostring", - "value": "" - }, - "LocalizedName": { - "id": 14817, - "type": "cexolocstring", - "value": { - "0": "Respawn Location" - } - }, - "MapNote": { - "type": "cexolocstring", - "value": {} - }, - "MapNoteEnabled": { - "type": "byte", - "value": 1 - }, - "Tag": { - "type": "cexostring", - "value": "wp_respawn_loc" - }, - "TemplateResRef": { - "type": "resref", - "value": "waypoint001" - }, - "XOrientation": { - "type": "float", - "value": -5.157785835763207e-006 - }, - "XPosition": { - "type": "float", - "value": 16.56000137329102 - }, - "YOrientation": { - "type": "float", - "value": -1.0 - }, - "YPosition": { - "type": "float", - "value": 15.8717794418335 - }, - "ZPosition": { - "type": "float", - "value": -5.7220458984375e-006 - } - } - ] + "value": [] } } diff --git a/_module/git/ifm_pc_rooms.git.json b/_module/git/ifm_pc_rooms.git.json new file mode 100644 index 00000000..e4503714 --- /dev/null +++ b/_module/git/ifm_pc_rooms.git.json @@ -0,0 +1,2342 @@ +{ + "__data_type": "GIT ", + "AreaProperties": { + "__struct_id": 100, + "type": "struct", + "value": { + "__struct_id": 100, + "AmbientSndDay": { + "type": "int", + "value": 72 + }, + "AmbientSndDayVol": { + "type": "int", + "value": 32 + }, + "AmbientSndNight": { + "type": "int", + "value": 107 + }, + "AmbientSndNitVol": { + "type": "int", + "value": 12 + }, + "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": [] + }, + "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": 0.0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 9078, + "type": "cexolocstring", + "value": { + "0": "The only exit from your room at the Flying Monkey." + } + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "GenericType_New": { + "type": "dword", + "value": 12 + }, + "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": "pcrooms2inn" + }, + "LinkedToFlags": { + "type": "byte", + "value": 2 + }, + "LoadScreenID": { + "type": "word", + "value": 42 + }, + "Lockable": { + "type": "byte", + "value": 0 + }, + "Locked": { + "type": "byte", + "value": 0 + }, + "LocName": { + "id": 5349, + "type": "cexolocstring", + "value": { + "0": "Door" + } + }, + "OnClick": { + "type": "resref", + "value": "" + }, + "OnClosed": { + "type": "resref", + "value": "" + }, + "OnDamaged": { + "type": "resref", + "value": "" + }, + "OnDeath": { + "type": "resref", + "value": "se_door_death" + }, + "OnDisarm": { + "type": "resref", + "value": "" + }, + "OnFailToOpen": { + "type": "resref", + "value": "door_fail2open" + }, + "OnHeartbeat": { + "type": "resref", + "value": "" + }, + "OnLock": { + "type": "resref", + "value": "" + }, + "OnMeleeAttacked": { + "type": "resref", + "value": "" + }, + "OnOpen": { + "type": "resref", + "value": "ra_close_door" + }, + "OnSpellCastAt": { + "type": "resref", + "value": "" + }, + "OnTrapTriggered": { + "type": "resref", + "value": "" + }, + "OnUnlock": { + "type": "resref", + "value": "" + }, + "OnUserDefined": { + "type": "resref", + "value": "" + }, + "OpenLockDC": { + "type": "byte", + "value": 18 + }, + "Plot": { + "type": "byte", + "value": 1 + }, + "PortraitId": { + "type": "word", + "value": 0 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "pcrooms2inn" + }, + "TemplateResRef": { + "type": "resref", + "value": "x3_door_wood002" + }, + "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": 20.0 + }, + "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": 0 + }, + "Appearance": { + "type": "dword", + "value": 2802 + }, + "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": 10 + }, + "Description": { + "id": 16813643, + "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": { + "id": 16811120, + "type": "cexolocstring", + "value": {} + }, + "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": 408 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "ZEP_BED002" + }, + "TemplateResRef": { + "type": "resref", + "value": "zep_bed002" + }, + "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.78469085693359 + }, + "Y": { + "type": "float", + "value": 13.20924949645996 + }, + "Z": { + "type": "float", + "value": 0.009990006685256958 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 0 + }, + "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": { + "id": 14548, + "type": "cexolocstring", + "value": { + "0": "This looks like a safe place to stoe your belongings, for now." + } + }, + "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": { + "id": 14549, + "type": "cexolocstring", + "value": {} + }, + "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": "obj_us_chest" + }, + "OnUserDefined": { + "type": "resref", + "value": "" + }, + "OpenLockDC": { + "type": "byte", + "value": 18 + }, + "Plot": { + "type": "byte", + "value": 1 + }, + "PortraitId": { + "type": "word", + "value": 358 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "Armoire" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_armoire" + }, + "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": 11.45763397216797 + }, + "Y": { + "type": "float", + "value": 16.69826316833496 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 2207 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 0.8590291738510132 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 16810932, + "type": "cexolocstring", + "value": { + "0": "You see yourself in the mirror." + } + }, + "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": { + "id": 16812334, + "type": "cexolocstring", + "value": { + "0": "Mirror" + } + }, + "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": "sob_examine002" + }, + "OnUserDefined": { + "type": "resref", + "value": "" + }, + "OpenLockDC": { + "type": "byte", + "value": 18 + }, + "Plot": { + "type": "byte", + "value": 1 + }, + "PortraitId": { + "type": "word", + "value": 2558 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "ZEP_MIRROR005" + }, + "TemplateResRef": { + "type": "resref", + "value": "zep_mirror005" + }, + "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": 11.54697418212891 + }, + "Y": { + "type": "float", + "value": 18.48270606994629 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 12 + }, + "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": { + "id": 14607, + "type": "cexolocstring", + "value": {} + }, + "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": { + "id": 5655, + "type": "cexolocstring", + "value": {} + }, + "OnClick": { + "type": "resref", + "value": "" + }, + "OnClosed": { + "type": "resref", + "value": "" + }, + "OnDamaged": { + "type": "resref", + "value": "" + }, + "OnDeath": { + "type": "resref", + "value": "nw_o2_generallow" + }, + "OnDisarm": { + "type": "resref", + "value": "" + }, + "OnHeartbeat": { + "type": "resref", + "value": "" + }, + "OnInvDisturbed": { + "type": "resref", + "value": "" + }, + "OnLock": { + "type": "resref", + "value": "" + }, + "OnMeleeAttacked": { + "type": "resref", + "value": "" + }, + "OnOpen": { + "type": "resref", + "value": "nw_o2_generallow" + }, + "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": 370 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "Desk" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_desk" + }, + "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.48391151428223 + }, + "Y": { + "type": "float", + "value": 17.2309455871582 + }, + "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.006291270256043 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14593, + "type": "cexolocstring", + "value": { + "0": "It is a simple chair but the grace of its lines speaks to the quality of its craftmanship." + } + }, + "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": { + "id": 5822, + "type": "cexolocstring", + "value": { + "0": "Chair" + } + }, + "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": "sei_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": "chair001" + }, + "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": 17.41463851928711 + }, + "Y": { + "type": "float", + "value": 17.40582275390625 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 2813 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 2.012582778930664 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 10 + }, + "Description": { + "id": 16813707, + "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": { + "id": 16813470, + "type": "cexolocstring", + "value": {} + }, + "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": 2564 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "ZEP_TUB002" + }, + "TemplateResRef": { + "type": "resref", + "value": "zep_tub002" + }, + "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.91908931732178 + }, + "Y": { + "type": "float", + "value": 11.65272808074951 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 2298 + }, + "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": { + "id": 16810931, + "type": "cexolocstring", + "value": {} + }, + "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": { + "id": 16813468, + "type": "cexolocstring", + "value": {} + }, + "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": 2563 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "ZEP_STONEBSIN003" + }, + "TemplateResRef": { + "type": "resref", + "value": "zep_stonebsin003" + }, + "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.57714176177979 + }, + "Y": { + "type": "float", + "value": 11.53489303588867 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 2976 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 0.3681553304195404 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 2 + }, + "Description": { + "id": 16813656, + "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": 2 + }, + "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": { + "id": 16812700, + "type": "cexolocstring", + "value": {} + }, + "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": 2500 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "ZEP_SCREEN014" + }, + "TemplateResRef": { + "type": "resref", + "value": "zep_screen014" + }, + "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.03563499450684 + }, + "Y": { + "type": "float", + "value": 13.57882213592529 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 1914 + }, + "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": { + "id": 16813674, + "type": "cexolocstring", + "value": { + "0": "A simple throw rug adorns the floor, faded and worn with use." + } + }, + "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": { + "id": 16813108, + "type": "cexolocstring", + "value": {} + }, + "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": 533 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "PC_ROOM_MAT" + }, + "TemplateResRef": { + "type": "resref", + "value": "zep_throwrug058" + }, + "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.99641227722168 + }, + "Y": { + "type": "float", + "value": 18.76378059387207 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + } + ] + }, + "SoundList": { + "type": "list", + "value": [] + }, + "StoreList": { + "type": "list", + "value": [] + }, + "TriggerList": { + "type": "list", + "value": [] + }, + "WaypointList": { + "type": "list", + "value": [] + } +} diff --git a/_module/git/innoftheflyingmo.git.json b/_module/git/innoftheflyingmo.git.json index c584d010..da829a27 100644 --- a/_module/git/innoftheflyingmo.git.json +++ b/_module/git/innoftheflyingmo.git.json @@ -1718,6 +1718,227 @@ "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": -3.141592264175415 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "doorcv_inn_room" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 9078, + "type": "cexolocstring", + "value": { + "0": "This door leads to the inn rooms above." + } + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "GenericType_New": { + "type": "dword", + "value": 12 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HP": { + "type": "short", + "value": 15 + }, + "Interruptable": { + "type": "byte", + "value": 1 + }, + "KeyName": { + "type": "cexostring", + "value": "" + }, + "KeyRequired": { + "type": "byte", + "value": 1 + }, + "LinkedTo": { + "type": "cexostring", + "value": "" + }, + "LinkedToFlags": { + "type": "byte", + "value": 0 + }, + "LoadScreenID": { + "type": "word", + "value": 0 + }, + "Lockable": { + "type": "byte", + "value": 0 + }, + "Locked": { + "type": "byte", + "value": 1 + }, + "LocName": { + "id": 5349, + "type": "cexolocstring", + "value": { + "0": "Door" + } + }, + "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": "cv_inn_door" + }, + "OnHeartbeat": { + "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": "" + }, + "OnUserDefined": { + "type": "resref", + "value": "" + }, + "OpenLockDC": { + "type": "byte", + "value": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 2624 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "inn2pcrooms" + }, + "TemplateResRef": { + "type": "resref", + "value": "x3_door_wood002" + }, + "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": 65.0 + }, + "Y": { + "type": "float", + "value": 15.01000022888184 + }, + "Z": { + "type": "float", + "value": 1.399999976158142 + } } ] }, @@ -4103,6 +4324,68 @@ "type": "float", "value": 0.009992599487304688 } + }, + { + "__struct_id": 5, + "Appearance": { + "type": "byte", + "value": 1 + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "HasMapNote": { + "type": "byte", + "value": 1 + }, + "LinkedTo": { + "type": "cexostring", + "value": "" + }, + "LocalizedName": { + "id": 14817, + "type": "cexolocstring", + "value": {} + }, + "MapNote": { + "type": "cexolocstring", + "value": { + "0": "Rooms" + } + }, + "MapNoteEnabled": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "pcrooms2inn" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_waypoint001" + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": 64.93525695800781 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": 18.06479835510254 + }, + "ZPosition": { + "type": "float", + "value": 0.002738118171691895 + } } ] } diff --git a/_module/ifo/module.ifo.json b/_module/ifo/module.ifo.json index a09ff71e..b943ca5b 100644 --- a/_module/ifo/module.ifo.json +++ b/_module/ifo/module.ifo.json @@ -1749,6 +1749,13 @@ "type": "resref", "value": "dml_trollmound" } + }, + { + "__struct_id": 6, + "Area_Name": { + "type": "resref", + "value": "ifm_pc_rooms" + } } ] }, @@ -2152,7 +2159,7 @@ }, "Mod_OnClientLeav": { "type": "resref", - "value": "prc_onleave" + "value": "hif_onleave" }, "Mod_OnCutsnAbort": { "type": "resref", @@ -2992,7 +2999,7 @@ }, "Value": { "type": "int", - "value": 0 + "value": 1 } }, { @@ -3172,7 +3179,7 @@ }, "Value": { "type": "int", - "value": 1 + "value": 0 } }, { @@ -3235,51 +3242,6 @@ "value": 0 } }, - { - "__struct_id": 0, - "Name": { - "type": "cexostring", - "value": "PRC_XP_GROUP_BONUS" - }, - "Type": { - "type": "dword", - "value": 1 - }, - "Value": { - "type": "int", - "value": 10 - } - }, - { - "__struct_id": 0, - "Name": { - "type": "cexostring", - "value": "PRC_XP_MUST_BE_IN_AREA" - }, - "Type": { - "type": "dword", - "value": 1 - }, - "Value": { - "type": "int", - "value": 1 - } - }, - { - "__struct_id": 0, - "Name": { - "type": "cexostring", - "value": "PRC_XP_MAX_LEVEL_DIFF" - }, - "Type": { - "type": "dword", - "value": 1 - }, - "Value": { - "type": "int", - "value": 7 - } - }, { "__struct_id": 0, "Name": { @@ -3549,6 +3511,21 @@ "type": "int", "value": 0 } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "PRC_DISABLE_SWITCH_CHANGING_CONVO" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 1 + } } ] } diff --git a/_module/itp/creaturepalcus.itp.json b/_module/itp/creaturepalcus.itp.json index b072c25c..8274fecb 100644 --- a/_module/itp/creaturepalcus.itp.json +++ b/_module/itp/creaturepalcus.itp.json @@ -2756,6 +2756,63 @@ "value": 16816496 } }, + { + "__struct_id": 0, + "CR": { + "type": "float", + "value": 3.0 + }, + "FACTION": { + "type": "cexostring", + "value": "Hostile" + }, + "NAME": { + "type": "cexostring", + "value": "Weasel, Dire: 03 HD" + }, + "RESREF": { + "type": "resref", + "value": "direweasel001" + } + }, + { + "__struct_id": 0, + "CR": { + "type": "float", + "value": 4.0 + }, + "FACTION": { + "type": "cexostring", + "value": "Hostile" + }, + "NAME": { + "type": "cexostring", + "value": "Weasel, Dire: 06 HD" + }, + "RESREF": { + "type": "resref", + "value": "direweasel002" + } + }, + { + "__struct_id": 0, + "CR": { + "type": "float", + "value": 8.0 + }, + "FACTION": { + "type": "cexostring", + "value": "Hostile" + }, + "NAME": { + "type": "cexostring", + "value": "Weasel, Dire: 10 HD" + }, + "RESREF": { + "type": "resref", + "value": "direweasel003" + } + }, { "__struct_id": 0, "CR": { @@ -10707,6 +10764,63 @@ "value": "ra_basilisk001" } }, + { + "__struct_id": 0, + "CR": { + "type": "float", + "value": 4.0 + }, + "FACTION": { + "type": "cexostring", + "value": "Hostile" + }, + "NAME": { + "type": "cexostring", + "value": "Cockatrice [RA]: 05 HD" + }, + "RESREF": { + "type": "resref", + "value": "ra_cockatrice001" + } + }, + { + "__struct_id": 0, + "CR": { + "type": "float", + "value": 8.0 + }, + "FACTION": { + "type": "cexostring", + "value": "Hostile" + }, + "NAME": { + "type": "cexostring", + "value": "Cockatrice [RA]: 10 HD" + }, + "RESREF": { + "type": "resref", + "value": "ra_cockatrice002" + } + }, + { + "__struct_id": 0, + "CR": { + "type": "float", + "value": 12.0 + }, + "FACTION": { + "type": "cexostring", + "value": "Hostile" + }, + "NAME": { + "type": "cexostring", + "value": "Cockatrice [RA]: 15 HD" + }, + "RESREF": { + "type": "resref", + "value": "ra_cockatrice003" + } + }, { "__struct_id": 0, "CR": { @@ -13643,7 +13757,26 @@ "__struct_id": 0, "CR": { "type": "float", - "value": 4.0 + "value": 5.0 + }, + "FACTION": { + "type": "cexostring", + "value": "Hostile" + }, + "NAME": { + "type": "cexostring", + "value": "Imp: 03 HD" + }, + "RESREF": { + "type": "resref", + "value": "ra_imp001" + } + }, + { + "__struct_id": 0, + "CR": { + "type": "float", + "value": 5.0 }, "FACTION": { "type": "cexostring", diff --git a/_module/itp/itempalcus.itp.json b/_module/itp/itempalcus.itp.json index e2c14988..a19096d9 100644 --- a/_module/itp/itempalcus.itp.json +++ b/_module/itp/itempalcus.itp.json @@ -4101,6 +4101,28 @@ "value": "cobra_c_bite_40" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Cockatrice Bite" + }, + "RESREF": { + "type": "resref", + "value": "ra_cocktrc_bite" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Cockatrice Bite (Medium)" + }, + "RESREF": { + "type": "resref", + "value": "ra_cocktrc_bite2" + } + }, { "__struct_id": 0, "NAME": { @@ -4145,6 +4167,17 @@ "value": 16807404 } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Dire Weasel Bite" + }, + "RESREF": { + "type": "resref", + "value": "cr_bite_weasel01" + } + }, { "__struct_id": 0, "NAME": { @@ -36154,6 +36187,17 @@ "value": 191 } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Dagger of Collision +5" + }, + "RESREF": { + "type": "resref", + "value": "ra_wpswdg_collis" + } + }, { "__struct_id": 0, "NAME": { @@ -36209,17 +36253,6 @@ "value": "ra_wmswdg_slkeen" } }, - { - "__struct_id": 0, - "NAME": { - "type": "cexostring", - "value": "RA_WPSWDG_COLLIS" - }, - "RESREF": { - "type": "resref", - "value": "ra_wpswdg_collis" - } - }, { "__struct_id": 0, "NAME": { diff --git a/_module/itp/placeablepalcus.itp.json b/_module/itp/placeablepalcus.itp.json index 12f1066d..0d9bf41b 100644 --- a/_module/itp/placeablepalcus.itp.json +++ b/_module/itp/placeablepalcus.itp.json @@ -8698,6 +8698,17 @@ "value": 5348 } }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "persist_chest" + }, + "STRREF": { + "type": "dword", + "value": 5348 + } + }, { "__struct_id": 0, "RESREF": { @@ -11875,17 +11886,6 @@ "value": 52998 } }, - { - "__struct_id": 0, - "NAME": { - "type": "cexostring", - "value": "Boulder" - }, - "RESREF": { - "type": "resref", - "value": "boulder003" - } - }, { "__struct_id": 0, "RESREF": { diff --git a/_module/ncs/10aboat1.ncs b/_module/ncs/10aboat1.ncs index aa35e60e361455b04fdae99b726be3dfdd4a7302..79de2e340b9cb5c37d151843c7036b1a1943fc67 100644 GIT binary patch delta 87 zcmb=O%NXG29IOy#sAu5Bz`!t94oEO?C@?Uwu`)1vF)%Xz|Ns971B)~Rkp9EO#=;De aXJKVvH#A7hEY3+~WnehLgsN(yfiD1;R2f?U delta 55 zcmbQsSZm diff --git a/_module/ncs/10ariver1.ncs b/_module/ncs/10ariver1.ncs index c8be58a3678fc4e6a4f0790e64dba6aa49b9e854..78e8c78beea07db8f103aaac22ddd017702c382d 100644 GIT binary patch delta 47 zcmZ3@yqlTV&pB8j%uvt3iGhJ}_e5S9Q6@H421YLiM#lgD|NmfMk!AqWe>UpXG6Dc2 CwGQ+E delta 31 mcmdnZyqcNU&pB8j%uvt3iGhJ}^+aA7R#pZ^FNTeFwTu9DwFb=q diff --git a/_module/ncs/10ariver2.ncs b/_module/ncs/10ariver2.ncs index 840106aa10ac0bbe74ce9e69d7abe8551a58086f..53f8da2c2fd67773cbbbb557c5f53074543b4763 100644 GIT binary patch delta 47 zcmZ3@yqlTV&pB8j%uvt3iGhJ}_e5S9Q6@H421YLiM#lgD|NmfMk!AqWe>UpXG6Dc2 CwGQ+E delta 31 mcmdnZyqcNU&pB8j%uvt3iGhJ}^+aA7R#pZ^FNTeFwTu9DwFb=q diff --git a/_module/ncs/10ariver3.ncs b/_module/ncs/10ariver3.ncs index 76242cdc5316c78b1e38c7aa997428f2137febbd..b7721f594d4128114a7688c953a501113060979e 100644 GIT binary patch delta 47 zcmZ3@yqlTV&pB8j%uvt3iGhJ}_e5S9Q6@H421YLiM#lgD|NmfMk!AqWe>UpXG6Dc2 CwGQ+E delta 31 mcmdnZyqcNU&pB8j%uvt3iGhJ}^+aA7R#pZ^FNTeFwTu9DwFb=q diff --git a/_module/ncs/10ariver4.ncs b/_module/ncs/10ariver4.ncs index b3ff470131f2b8de923a6a7b98aefa9b7002d725..5113f06b6866d718dd4c8b2abd165f2f8585d9af 100644 GIT binary patch delta 47 zcmZ3@yqlTV&pB8j%uvt3iGhJ}_e5S9Q6@H421YLiM#lgD|NmfMk!AqWe>UpXG6Dc2 CwGQ+E delta 31 mcmdnZyqcNU&pB8j%uvt3iGhJ}^+aA7R#pZ^FNTeFwTu9DwFb=q diff --git a/_module/ncs/10ariver5.ncs b/_module/ncs/10ariver5.ncs index a52378555b430c560a77438bb64e1e00cface9ab..216fa3a88851059eaea8fe97feab6f19583093a2 100644 GIT binary patch delta 47 zcmZ3@yqlTV&pB8j%uvt3iGhJ}_e5S9Q6@H421YLiM#lgD|NmfMk!AqWe>UpXG6Dc2 CwGQ+E delta 31 mcmdnZyqcNU&pB8j%uvt3iGhJ}^+aA7R#pZ^FNTeFwTu9DwFb=q diff --git a/_module/ncs/10ariver6.ncs b/_module/ncs/10ariver6.ncs index 393cfb848c9d8e75e35db489b131e5c0dab8ccf2..d34d152cdcb1fef6a47745f4162329fb6d71becd 100644 GIT binary patch delta 47 zcmZ3@yqlTV&pB8j%uvt3iGhJ}_e5S9Q6@H421YLiM#lgD|NmfMk!AqWe>UpXG6Dc2 CwGQ+E delta 31 mcmdnZyqcNU&pB8j%uvt3iGhJ}^+aA7R#pZ^FNTeFwTu9DwFb=q diff --git a/_module/ncs/10asmlaked1.ncs b/_module/ncs/10asmlaked1.ncs index d66c1773fefbe05f16b69a004b1f60db7a691ec5..7cff340dc8b0882b2498a1bebe46ff0522318b3d 100644 GIT binary patch delta 87 zcmb=O%NXG29IOy#sAu5Bz`!t94oEO?C@?Uwu`)1vF)%Xz|Ns971B)~Rkp9EO#=;De aXJKVvH#A5r&do7oWnehLgsN(yfiD1)78xr5 delta 55 zcmbQsSZmUpXFaiK0 CIS%ju delta 31 mcmdnRyo#CE&pB8j%uvt3iGhJ})kIzyR#pZ^FNTeFHH-jtX$Hvv diff --git a/_module/ncs/11river2.ncs b/_module/ncs/11river2.ncs index 555c14e1209d83729a9a92e4b530906cc9ebf0ff..2831aac3b3d0de001777f48ee8bd14384b8684cd 100644 GIT binary patch delta 47 zcmZ3*yo;IF&pB8j%uvt3iGhJ}*F;_!Q6@H421YLiM#lgD|NmfMk!AqWe>UpXFaiK0 CIS%ju delta 31 mcmdnRyo#CE&pB8j%uvt3iGhJ})kIzyR#pZ^FNTeFHH-jtX$Hvv diff --git a/_module/ncs/11river3.ncs b/_module/ncs/11river3.ncs index 3df36a1e34235f3d79cd79f57b7c64264575c283..efb82e8e82ef947af7dd34bb25ce3d4318ff4766 100644 GIT binary patch delta 47 zcmZ3*yo;IF&pB8j%uvt3iGhJ}*F;_!Q6@H421YLiM#lgD|NmfMk!AqWe>UpXFaiK0 CIS%ju delta 31 mcmdnRyo#CE&pB8j%uvt3iGhJ})kIzyR#pZ^FNTeFHH-jtX$Hvv diff --git a/_module/ncs/11river4.ncs b/_module/ncs/11river4.ncs index 5a12c92e0b1ce9f84250e84da92c29548051d0ec..4b667b58bdf87228a975ea61abe8ba783993b270 100644 GIT binary patch delta 47 zcmZ3*yo;IF&pB8j%uvt3iGhJ}*F;_!Q6@H421YLiM#lgD|NmfMk!AqWe>UpXFaiK0 CIS%ju delta 31 mcmdnRyo#CE&pB8j%uvt3iGhJ})kIzyR#pZ^FNTeFHH-jtX$Hvv diff --git a/_module/ncs/12aboat2.ncs b/_module/ncs/12aboat2.ncs index 64cf844c58ef4ecd795f04d28ff7abe763620b40..3f0d7cd6e75c8e4e1dbada9ffa2a207d4d294329 100644 GIT binary patch delta 88 zcmb=M#~A469IOy#sAu5Bz`!t14oEO?C@?Uwu`)1vF)%Xz|Ns971B)~Rkp9EO#=;De bXJKXFFf>X`%1Un>GXel2 Cy$Un>GXel2 Cy$I7 z85))3mn0SyWR|cpFq~jQRmcq029&zVC=b$Np(6mIfPh05L`s8AVnirpY-CbkKyVq@ Ln80@aP+$N6>X9ny delta 37 rcmZ3$*uW^|=NzmMW~gW2#K6GNAO|EEI20II85q47ChAB|4E6;8f#C*) diff --git a/_module/ncs/1riverto9.ncs b/_module/ncs/1riverto9.ncs index 9b6b6c23b75f708d783716dac94fd5cd0eba972d..072485aae24148f6a632d088afe8a9c45263f0ac 100644 GIT binary patch delta 47 zcmZ3+yp5UH&pB8j%uvt3iGhJ}+eBU&Q6@H421YLiM#lgD|NmfMk!AqWe>Un>FaiJ} CNe;80*-Vq;}sc*nrV`2YX^9}Fzg3_$wNM5zt{ DBT)|F delta 34 ocmdnQxQJ28&pB8j%uvt3iGhJ(ksOd<;80*-Wng&6Fj1=m0DHa$x&QzG diff --git a/_module/ncs/3holesdoor.ncs b/_module/ncs/3holesdoor.ncs index e5b3dc576b4599999a2d23e9348a1c427ff71640..23dc00fd5b05436b52345ebacd10d320aa024fe3 100644 GIT binary patch delta 85 zcmb=P&FJUn9IOy#sAu5Bz`!tD4oEO?C@?Uwu`)1vF)%Xz|Ns971B)~Rkp9EO#=;De YXJKVvtxCOcVWl E0pw~3c>n+a diff --git a/_module/ncs/3holesdoor2.ncs b/_module/ncs/3holesdoor2.ncs index 922bc8a9124f465ba5d8a29022e5ecd27166bc73..039bca6942ace3cfd0c21c8b6df213ee5958d997 100644 GIT binary patch delta 85 zcmb=P&FJUn9IOy#sAu5Bz`!tD4oEO?C@?Uwu`)1vF)%Xz|Ns971B)~Rkp9EO#=;De YXJKVvtxCOcVWl E0pxQCdH?_b diff --git a/_module/ncs/3statued.ncs b/_module/ncs/3statued.ncs index a8587c7752b97b6e8e15302e568d7131f1fc2940..e87187b4e5c6d9c543e6d0c12153f537a9c312b8 100644 GIT binary patch delta 87 zcmb=O%NXG29IOy#sAu5Bz`!t94oEO?C@?Uwu`)1vF)%Xz|Ns971B)~Rkp9EO#=;De aXJKVvH#9O%$`p-m} FZU8UH4*UQB delta 36 qcmdnaxSUbO&pB8j%uvt3iGhJ(ITN!SkYeCaU|?lnc*ihNryBr`p-m} FZU8UH4*UQB delta 36 qcmdnaxSUbO&pB8j%uvt3iGhJ(ITN!SkYeCaU|?lnc*ihNryBr`p-m} FZU8UH4*UQB delta 36 qcmdnaxSUbO&pB8j%uvt3iGhJ(ITN!SkYeCaU|?lnc*ihNryBr`p-m} FZU8UH4*UQB delta 36 qcmdnaxSUbO&pB8j%uvt3iGhJ(ITN!SkYeCaU|?lnc*ihNryBrUpXFaiK0 CIS%ju delta 31 mcmdnRyo#CE&pB8j%uvt3iGhJ})kIzyR#pZ^FNTeFHH-jtX$Hvv diff --git a/_module/ncs/5to14jump.ncs b/_module/ncs/5to14jump.ncs index 636d2c3cc1c9986422109e49bdf5b1272f7a9070..d6f16c7e75717e0cda67eb32d5670b257ad956a7 100644 GIT binary patch delta 85 zcmb=P&FJUn9IOy#sAu5Bz`!tD4oEO?C@?Uwu`)1vF)%Xz|Ns971B)~Rkp9EO#=;De YXJKVvH7&_EG+||6IKhOfW}==i0AcbNT>t<8 delta 53 zcmbQuSgq&h9IOy#sAu5Bz`#%~2P7Cc6c|_;7`+%+m_a-iRt8qnl6*rGRtAO>OcVWl E0pFDf4*&oF diff --git a/_module/ncs/69_henchrt_enter.ncs b/_module/ncs/69_henchrt_enter.ncs index bd251035a0240835edba86a27123f78ce46a4252..6d915970d0fd10aadf7b83bfa008dc26f96e2ccd 100644 GIT binary patch delta 803 zcmZuv&ubGw6rMNxBk6A1B$_6htk_i)!K$^?wt|Ax+L%Kc4T6+X32PJ6lr{vbs0R^m z3O(39^eSG8M`f@16I#)O;K4&KUTnnFdMHweGcPVwaR+90zVH3~=6#-69~;PxUvsVx zo;rPzF=zcC6JO9_s>b5gdxcqdvF29F)k5)Rp;)@*-d(t}G8Ru9XJi-YXEtlM+dB@^ z7)!F1;Xq1bd{Z)k%tUTHGj&zi{E(hQ93MdxC+Etaa}{gb?hI9+y_sw$#$Fr7ZBKz>gfGk{I~l}6>@RxlA1#^N%}@k3ys z=a}y=px1!;sO60WM_alI)H8%&%x zmwW&JEOsb;W!euQI$Q%`7bG3CZkdS2KROa9B^-dMalG>sGoaKIz3VrtQrZ## delta 1334 zcmb7EOK1~O6n*#2C!c9P6+4Mdn#R()u*Fu>SSSdlv9&@If&~es5XL696&r$8{A_~Y zrlMfITR{a85fNq3jdd^Rwjh{|JHdilM7pTNH?K34d94dG@E+XHx%b?2Up{6UqnUhm zGI{3kp@9)Xx*7?>e%>UZimVX5dZjdDEYyto*=nhLwp6a1GcI4a1kh|YH;5b~?B1lx za=)H-+YS_v zzI0-QC9D&6q^Xc4DTIC#YEg*+c*aNb+3{k*$xP9(n2G_242edTs#PZ{M!9lvac;i0 zo$e0AW6%TFa0Ys*GK_a&v4bj{-5OyCWLjWnhA9I4HXln-fIs+7Hfj7l=9ErcR??J8 zRx3x`6*vnmXIvexRA=TEDpd~ugTtrnF(3rn4uF>Iw4^lb4wziKbbxX7QG`pgE{;pV zpPq>Ri>HYL#xH7rV#r3`3VAAULn9P5k9vlne$$dqmaJx+X07Fr#5HoFz?m42%Dee< zALGKUtg^j=y9sVCy#q1!l2 zoET08rl12~2VOxp&IbFSi7$gOIB%V;OZM0pVT%ZTgN@)IT*ubXez=3FPh sqG^Qgsh;mI*k3|k#tFR(y{Vl~HnQUT3wYz(CjbBd diff --git a/_module/ncs/at_enter_pc_room.ncs b/_module/ncs/at_enter_pc_room.ncs new file mode 100644 index 0000000000000000000000000000000000000000..9c8ac9bf236ecfe284f353b81454209ba036b07d GIT binary patch literal 734 zcmaJSQex9AZl=7F2Ei4&A%^E3mM%LD{|xQGzwkOqCiD73WlG5B7ZpQ0*8Z0fn@=o(LF#YP4b#76 zriMj2cHxj^=<}E;L|NA>P8=kY8|jw<5ownP#4jO)FS$W2hls=3&uuPAt^gz$# z2)~P*NFA*zK~J)xWQ6hvxcO+ATS`j@S{O`kg5!9vq>@ig#S=m#Nsw~bb~ u&fEvZ6*rQdx>?0M*;-H=EsM{K(Z$GORv<8|%Z{c@OfHSYc}mVk4hTR0wf4XO literal 0 HcmV?d00001 diff --git a/_module/ncs/cv_inn_door.ncs b/_module/ncs/cv_inn_door.ncs new file mode 100644 index 0000000000000000000000000000000000000000..182d664db837b825ead138fe8c1b81fd2108503b GIT binary patch literal 112 zcmeZs4ps;=)H85mU|=Ya0}>1z3JgqatPG5942+Eb|NsBNz#`26r2jC3cz+mJSQ!{@ kGAc34gVYK^q+~&CO%`S#$p|LFs=yjPfSG5YW+*TK050eq>i_@% literal 0 HcmV?d00001 diff --git a/_module/ncs/gobsgone.ncs b/_module/ncs/gobsgone.ncs index e3f9f2e5302138ebb151d13dddcf0b9f01fbc1a3..4347d0ea9c434395b7b0cddc80b2b06651b81692 100644 GIT binary patch delta 35 pcmdnPw1!E_&pB8j%uvt3iGhJpM~(pqI20II85rI%Y}68B1OR-#1_l5C delta 51 zcmZ3(w1-K{&pB8j%uvt3iGhL9MvegpI20I|*jO1D-Z3yT{{R2~2Lp>V1Cai+QA&sr E049hIEdT%j diff --git a/_module/ncs/hif_onleave.ncs b/_module/ncs/hif_onleave.ncs new file mode 100644 index 0000000000000000000000000000000000000000..dac3c095941d1aeb75e5e2808e34ca01e1dabece GIT binary patch literal 3393 zcmb_e&2Jl35Z@2ma%#6oU@0`DWl1WE3b9%wK8lbcHw~!BB$ewDRiLh1cS{3~ZLPNz zRmF(|2ZY3(3m0zu69@?o900)q2_Xt|0qn4?X4ZO=&$HmP9bkuGnQ?SMx&vXd&HvWwyUIVD+i?`BIWW{sUNoe zUbhppt_EaRbXcFaGusQ#za(~(>I0d}l)bFon#338Q_CtxMJlXGZ1c^f!ip^%z zf4TPRvRLIUchiAm3d4#ARQN)|Xi6EKSgkcq##Yv|6RmVgfKKK30EQ${xPKfcFCy}N zUc5rOXh;J?dLN*Mp7OI-fjV8Uom+1Br;@;)nFvh$$un=+Wo`t!&B|3YwkHO*OXG$T zJnD-oBf>}nUxK8m;Z7UUuSuyelaz`T=>^_W%gO&fX{3LqS!;4TQD5shW)lgbj=DBQ z0x-Aafn^>fTh5fGQwITN7m_JxZaPN+Wz*xt=q)w$Tbq8T*1MN_eiXbD!Iz}GPdX-V z<>?e83Ejih6;9$W&Gx#&V%J4qp7+=_*H&>Rb`{uh$p~jmMDc)X)RFz6c*2a+Pf>w# zuAm@bIR4HU4kFBWM(G?L=n4Prj9I0|6EBW%u}J`ghhu;TX?<+B3LZ=;9WEV1VFnn* zOpHFc)#JDePGFPxi0eD98F}lEY{<}lQj#;CLNUThG}zJW10YR?e6JW%x)62!Fc?Iw zFu{@0Xy;E!%b6xO-=x;5Y@9lootYbbtK^0nsnKZb3k~iz?LQ2rPH~ou%Ke^y`HH{cA3yGIAXna?q)UEl zihlM+I`aMYC(Myd_7JFkr*$m|kKyP?PUP<0bjq>f(}v=AXv$4)4K15#hrb!JTz@kw znVe|C@HKC)ac>i2WR8K5ot}D-t~+^M9O5S+aUp+l$nOs}Hryv>a3d!OVtP}r#M_() z&L|WnZ8^?%QCV#|4DK_^t$xbQTv6rJ9xZipRq(&J!83+o03& zr7Q&b4O=sHmng|T!~c!!R-oaw{?MPJB&OF|>(P4mP47}K^m_e%uN!ouYPHIWK%n>0 zosZ)$BSQQVr$C>?uaNfZ3w#Sul~$J>M~7NsrfCoGNH$+mW;+g{C>|bo(Uq|KSY@8g zjKFiu2>w-{Z?XUnQj3#ngKEBakA^HtoyxFP@h0^wW7W!4M2hkGF7?G0D)XX!0$ETg zpi7p>V2DC}gx|Lo=(>=~CWZCR+W&|&HzCsF8CMp@P&VrdA2dsZ=RtLoTsqrmEU(Cg X8mClYYS|0puh;}t45eH_c46(mP^82r literal 0 HcmV?d00001 diff --git a/_module/ncs/mod_gui.ncs b/_module/ncs/mod_gui.ncs new file mode 100644 index 0000000000000000000000000000000000000000..2609e4cf2bd8a40408a0f0a14eee2fbfe06a122a GIT binary patch literal 16377 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 literal 0 HcmV?d00001 diff --git a/_module/ncs/mod_nui.ncs b/_module/ncs/mod_nui.ncs new file mode 100644 index 0000000000000000000000000000000000000000..0e955a0d7739afb172ab557d23ee424ae5a8c946 GIT binary patch literal 32862 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 CDWQV^ literal 0 HcmV?d00001 diff --git a/_module/ncs/oo_persist.ncs b/_module/ncs/oo_persist.ncs new file mode 100644 index 0000000000000000000000000000000000000000..0671c782e4a36aed7908f4085a087768dbf1b930 GIT binary patch literal 402 zcmeZs4ps;=)H85mU|^gi#{dKz3JgqatPG4542+Eb|NsBNz#`26r2jCnvM__>nL(mo z7+8Qx3Ym~N#f&1#XgZi7Ixs}p;O2Z_U;!G$;^G+M2sY{k1B-|ykT8XivY_y_1hYRVFaQ9PcZoIt literal 0 HcmV?d00001 diff --git a/_module/ncs/ra_ai_heartbeat.ncs b/_module/ncs/ra_ai_heartbeat.ncs index ce0b2ccfd7da11efa500932039406b3ac60d7d55..cb30e17b0b8e78c8187c898197e86c4a9050aef8 100644 GIT binary patch delta 122 zcmaFGzKWgK&pB8j%uvt3iGhK6)kNN6HdO{7P@FhL8NyPYcv^|kWU@b_@~ diff --git a/_module/ncs/ra_ai_ondamaged.ncs b/_module/ncs/ra_ai_ondamaged.ncs index c298ffb003b50272ce4d969d2fbdfe494617e10e..68df56e640ad0e032bf24e1fc0cb1c96ecd72f2e 100644 GIT binary patch delta 193 zcmaFPIhT{y&pB8j%uvt3iGhJ-?nK_5yh73p|NsAgBFn(QzY57fjc$;_hw)~?FJ4CFGfGB8FkGJ;Hc!oUKy z?GMBrkTin;SQ^Yk(+QOV>wJN#lZhGZGN5@dT0{Y)ZZbF1KSuk>T+GI75Gy7xWEP(s w!Yst;0#^8ifdwqm#w-a_FrT@W(POeKiwvXoWGfbVA&5S(Gv7eXh-a|_024(^?EnA( diff --git a/_module/ncs/ra_cocktrc_bite.ncs b/_module/ncs/ra_cocktrc_bite.ncs new file mode 100644 index 0000000000000000000000000000000000000000..aa5fd55faaa5651e4bd0f1c54a63edcd160d178c GIT binary patch literal 719 zcmbVKJxc^J6r6p@E`Bt}abO{*!2=5gKe%4uPB}pkQMC0B_y_F#HTHt|H*77ou&@xc z5U~)sV||%yM8ksM7B6HnGnu@%2g74`y1BM70OW1~`b{~A5o2>qA07?Qc6J9RBOWYg zSyfdZu=CJ$yaJ+Is|b4sYMPJwwV9BVA>LWX^S5gae}bed)N=fuvVhPips+)D7?X?trv%$S94~verNA zueyDy9G@}NO8a$_ClUT<_1Rz*-?Hd0?1yZ`9`t%YHXTw(qvA45xa7R9>yVt49!?|x xRF&-PL}q(5ZgaLlcR|8qw2eEi_mrL6B}3U>L!P?t@c&V18wfA8v-}9`@CCkL#)|*| literal 0 HcmV?d00001 diff --git a/_module/ncs/ra_mod_onenter.ncs b/_module/ncs/ra_mod_onenter.ncs index 95046e849f52530c58a24c9870ef145945257373..12ff2f9cf54fb7440fd451b3100dbd707e7ad172 100644 GIT binary patch delta 48 zcmdmKan6F*&pB8j%uvt3iGe}JZz8Yk E041jk9smFU delta 31 mcmX?SvD1Rr&pB8j%uvt3iGe}Jaw4xRD=PzoB*R7*E*SuS7zTa- diff --git a/_module/ncs/sob_examine001.ncs b/_module/ncs/sob_examine001.ncs new file mode 100644 index 0000000000000000000000000000000000000000..c4791cae460858f404f41c5dea79b440bb8b2043 GIT binary patch literal 116 zcmeZs4ps;=)H85mU|=Yb0}>1z3JgqatPG4^42+Eb|NsBNz#`26r2jCnv9N*UQAKqG oKw?0^Aqyf!nL&E~FtD&PFg;>aU;uN0MzAt4urYzn`Juo70L_LWDF6Tf literal 0 HcmV?d00001 diff --git a/_module/ncs/sob_examine002.ncs b/_module/ncs/sob_examine002.ncs new file mode 100644 index 0000000000000000000000000000000000000000..26d4486a941a93e6e7f812320d414244ff995df7 GIT binary patch literal 92 zcmeZs4ps;=)H85mU|@)m0}>1z3JgqatPG4^42+Eb|NsBNz#`26r2ps$fMkJyMHWN~ ev#^0ERtBa=j0z0QAf1z3JgqatPG5942+Eb|NsBNz#`26r2jCnv9N*UQAKqG oKw?0^Aqyf!nL&E~FtD&PFg;>aU;uN0MzAt4urYzn`Juo70L&gCB>(^b literal 0 HcmV?d00001 diff --git a/_module/ncs/sob_examine004.ncs b/_module/ncs/sob_examine004.ncs new file mode 100644 index 0000000000000000000000000000000000000000..d1cf0b41613c05d77fcb6439601cc49503df9f2e GIT binary patch literal 187 zcmeZs4ps;=)H85mU|`rS2P7Cc6d0J;SlB>JM#lgD|NmfMk!AqWf0$TVm_dSIl7Sf{ z_kn?hm4VrX8BHNGP?R$`z}3;)#ox~rp_0Lv2~{On>JI}8#9(d(d62C_VC%lfg4ps% QmVE(P#&DMjBCWsx017=gV*mgE literal 0 HcmV?d00001 diff --git a/_module/ncs/x2_def_spawn.ncs b/_module/ncs/x2_def_spawn.ncs index 403d7ece833b8300aa2ce7a1be74f09c63826e11..300898bc30bcea94878ebc79981a28847c9e52c6 100644 GIT binary patch delta 124 zcmZ46!Z@jgk=M^TSRu?%&%lX+!AWQ%?`bAR<;gdhVuW|GFf%YPFoH=AIUrMY#bgiW zXc-?QaTc(+6%#WHD+9B?kMHD#I%< zXqj{*aTc(6C=)XaD+9B?kMHD#Y BJ_BLACKJACK_VALUE) + { + BJ_SetGameState(oPlayer, BJ_GAME_STATE_GAME_OVER, "Bust! You lose!", 0.0f); + } + else + { + BJ_UpdateCards(oPlayer, nToken); + BJ_UpdatePoints(oPlayer, nToken); + } + + } + else if (sElement == BJ_ID_BUTTON_STAND) + { + if (nGameState != BJ_GAME_STATE_PLAYER_TURN) + return; + + BJ_SetGameState(oPlayer, BJ_GAME_STATE_DEALER_TURN); + } + else if (sElement == BJ_ID_BUTTON_DEAL) + { + if (nGameState != BJ_GAME_STATE_NONE && nGameState != BJ_GAME_STATE_GAME_OVER) + return; + + BJ_SetGameState(oPlayer, BJ_GAME_STATE_DEAL_CARDS); + } + else if (sElement == BJ_ID_BUTTON_BET) + { + if (nGameState != BJ_GAME_STATE_NONE && nGameState != BJ_GAME_STATE_GAME_OVER) + return; + + int nAmount = StringToInt(JsonGetString(NuiGetBind(oPlayer, nToken, BJ_BIND_BET_AMOUNT))); + if (nAmount > 0) + { + int nGold = GetGold(oPlayer); + int nMaxBetLeft = BJ_MAX_BET - BJ_GetBet(oPlayer); + nAmount = nAmount > nGold ? nGold : nAmount; + nAmount = nAmount > BJ_MAX_BET ? BJ_MAX_BET : nAmount; + nAmount = nAmount > nMaxBetLeft ? nMaxBetLeft : nAmount; + + if (nAmount > 0) + { + AssignCommand(oPlayer, TakeGoldFromCreature(nAmount, oPlayer, TRUE)); + BJ_IncreaseBet(oPlayer, nAmount); + } + } + + NuiSetBind(oPlayer, nToken, BJ_BIND_BET_AMOUNT, JsonString("")); + } + else if (sElement == BJ_ID_BUTTON_DOUBLE_DOWN) + { + if (nGameState != BJ_GAME_STATE_PLAYER_TURN || !BJ_GetPlayerCanDoubleDown(oPlayer)) + return; + + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_DOUBLE_DOWN, FALSE); + + int nBet = BJ_GetBet(oPlayer); + BJ_IncreaseBet(oPlayer, nBet); + AssignCommand(oPlayer, TakeGoldFromCreature(nBet, oPlayer, TRUE)); + + BJ_DrawCard(oPlayer, BJ_PLAYER_HAND); + + if (BJ_GetHandPoints(oPlayer, BJ_PLAYER_HAND) > BJ_BLACKJACK_VALUE) + BJ_SetGameState(oPlayer, BJ_GAME_STATE_GAME_OVER, "Bust! You lose!", 0.0f); + else + BJ_SetGameState(oPlayer, BJ_GAME_STATE_DEALER_TURN); + } + } + else if (sType == NUI_EVENT_CLOSE) + { + if (sElement == NUI_WINDOW_ROOT_GROUP) + { + BJ_EndGame(oPlayer); + } + } + else if (sType == NUI_EVENT_WATCH) + { + if (sElement == NUI_WINDOW_GEOMETRY_BIND) + { + SetLocalJson(oPlayer, BJ_WINDOW_GEOMETRY, NuiGetBind(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND)); + } + } +} + +void BJ_SetGameState(object oPlayer, int nState, string sInfoText = "", float fBetResultMultiplier = 0.0f) +{ + BJ_SetUserData(oPlayer, "gamestate", JsonInt(nState)); + int nToken = BJ_GetWindowId(oPlayer); + BJ_SetInfoText(oPlayer, nToken, sInfoText); + + switch (nState) + { + case BJ_GAME_STATE_NONE: + { + BJ_BlankCards(oPlayer, nToken); + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_DEAL, TRUE); + BJ_SetBet(oPlayer, 0); + BJ_ToggleBetInput(oPlayer, nToken, TRUE); + BJ_UpdatePoints(oPlayer, nToken); + BJ_UpdateStatsTooltip(oPlayer, nToken); + break; + } + + case BJ_GAME_STATE_DEAL_CARDS: + { + BJ_HandleDealCards(oPlayer, nToken, BJ_DEAL_CARDS_START); + break; + } + + case BJ_GAME_STATE_PLAYER_TURN: + { + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_DEAL, FALSE); + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_HIT, TRUE); + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_STAND, TRUE); + if (BJ_GetPlayerCanDoubleDown(oPlayer)) + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_DOUBLE_DOWN, TRUE); + break; + } + + case BJ_GAME_STATE_DEALER_TURN: + { + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_DEAL, FALSE); + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_HIT, FALSE); + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_STAND, FALSE); + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_DOUBLE_DOWN, FALSE); + + DelayCommand(BJ_GetDealerTurnDelay(), BJ_HandleDealerTurn(oPlayer, nToken, BJ_DEALER_TURN_REVEAL_CARD)); + break; + } + + case BJ_GAME_STATE_GAME_OVER: + { + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_DEAL, TRUE); + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_HIT, FALSE); + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_STAND, FALSE); + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_DOUBLE_DOWN, FALSE); + + BJ_SettleBet(oPlayer, nToken, fBetResultMultiplier); + BJ_SetBet(oPlayer, 0); + BJ_ToggleBetInput(oPlayer, nToken, TRUE); + + BJ_UpdateCards(oPlayer, nToken); + BJ_UpdatePoints(oPlayer, nToken); + + int nStatsType = fBetResultMultiplier == 1.0f ? BJ_STATS_TYPE_DRAWS : fBetResultMultiplier == 0.0f ? BJ_STATS_TYPE_LOSSES : BJ_STATS_TYPE_WINS; + BJ_UpdateStats(oPlayer, nStatsType); + BJ_UpdateStatsTooltip(oPlayer, nToken); + break; + } + } +} + +int BJ_GetGameState(object oPlayer) +{ + return JsonGetInt(JsonObjectGet(BJ_GetUserData(oPlayer), "gamestate")); +} + +void BJ_DeleteGameState(object oPlayer) +{ + BJ_DeleteUserData(oPlayer, "gamestate"); +} + +float BJ_GetDealerTurnDelay() +{ + return BJ_DEALER_TURN_DELAY_MIN + (IntToFloat(Random(BJ_DEALER_TURN_DELAY_RANDOM)) / 100.0f); +} + +void BJ_HandleDealerTurn(object oPlayer, int nToken, int nCurrentState) +{ + if (BJ_GetGameState(oPlayer) != BJ_GAME_STATE_DEALER_TURN || BJ_GetWindowId(oPlayer) != nToken) + return; + + int nNextState = BJ_DEALER_TURN_NONE; + + if (nCurrentState == BJ_DEALER_TURN_REVEAL_CARD) + { + BJ_UpdateCards(oPlayer, nToken); + BJ_UpdatePoints(oPlayer, nToken); + nNextState = BJ_GetHandPoints(oPlayer, BJ_DEALER_HAND) < BJ_DEALER_STAND_VALUE ? BJ_DEALER_TURN_DRAW_CARD : BJ_DEALER_TURN_CHECK_POINTS; + } + else if (nCurrentState == BJ_DEALER_TURN_DRAW_CARD) + { + BJ_DrawCard(oPlayer, BJ_DEALER_HAND); + BJ_UpdateCards(oPlayer, nToken); + BJ_UpdatePoints(oPlayer, nToken); + + nNextState = BJ_GetHandPoints(oPlayer, BJ_DEALER_HAND) < BJ_DEALER_STAND_VALUE ? BJ_DEALER_TURN_DRAW_CARD : BJ_DEALER_TURN_CHECK_POINTS; + } + else if (nCurrentState == BJ_DEALER_TURN_CHECK_POINTS) + { + int nDealerPoints = BJ_GetHandPoints(oPlayer, BJ_DEALER_HAND); + if (nDealerPoints > BJ_BLACKJACK_VALUE) + { + BJ_SetGameState(oPlayer, BJ_GAME_STATE_GAME_OVER, BJ_GetDealerName(oPlayer) + " busts! You win!", 2.0f); + } + else + { + int nPlayerPoints = BJ_GetHandPoints(oPlayer, BJ_PLAYER_HAND); + + if (nDealerPoints == nPlayerPoints) + { + BJ_SetGameState(oPlayer, BJ_GAME_STATE_GAME_OVER, "Push! Nobody wins or loses!", 1.0f); + } + else if (nDealerPoints > nPlayerPoints) + { + BJ_SetGameState(oPlayer, BJ_GAME_STATE_GAME_OVER, BJ_GetDealerName(oPlayer) + " wins!", 0.0f); + } + else + { + BJ_SetGameState(oPlayer, BJ_GAME_STATE_GAME_OVER, "You win!", 2.0f); + } + } + } + + if (nNextState) + DelayCommand(BJ_GetDealerTurnDelay(), BJ_HandleDealerTurn(oPlayer, nToken, nNextState)); +} + +void BJ_HandleDealCards(object oPlayer, int nToken, int nCurrentState) +{ + if (BJ_GetGameState(oPlayer) != BJ_GAME_STATE_DEAL_CARDS || BJ_GetWindowId(oPlayer) != nToken) + return; + + switch (nCurrentState) + { + case BJ_DEAL_CARDS_START: + { + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_DEAL, FALSE); + BJ_ToggleBetInput(oPlayer, nToken, FALSE); + BJ_BlankCards(oPlayer, nToken); + BJ_SetGoldResultText(oPlayer, nToken, ""); + BJ_SetDeck(oPlayer, BJ_CreateDeck()); + BJ_ShuffleDeck(oPlayer); + BJ_ResetHands(oPlayer); + break; + } + + case 1: + case 2: + case 3: + case 4: + { + string sHand = nCurrentState > 2 ? BJ_DEALER_HAND : BJ_PLAYER_HAND; + BJ_DrawCard(oPlayer, sHand); + BJ_UpdateCards(oPlayer, nToken); + BJ_UpdatePoints(oPlayer, nToken); + break; + } + + case BJ_DEAL_CARDS_PEEK: + { + float fDelay = 0.0f; + + if (BJ_GetHandPoints(oPlayer, BJ_DEALER_HAND) >= 10) + { + fDelay = BJ_GetDealerTurnDelay() + 0.5f; + string sDealerName = BJ_GetDealerName(oPlayer); + BJ_SetInfoText(oPlayer, nToken, sDealerName + " peeks at their card..."); + + if (BJ_GetHandIsBlackjack(oPlayer, BJ_DEALER_HAND)) + { + if (BJ_GetHandIsBlackjack(oPlayer, BJ_PLAYER_HAND)) + DelayCommand(fDelay, BJ_SetGameState(oPlayer, BJ_GAME_STATE_GAME_OVER, "Push! Nobody wins or loses!", 1.0f)); + else + DelayCommand(fDelay, BJ_SetGameState(oPlayer, BJ_GAME_STATE_GAME_OVER, sDealerName + " has a Blackjack! You lose!", 0.0f)); + + return; + } + } + + if (BJ_GetHandIsBlackjack(oPlayer, BJ_PLAYER_HAND)) + { + if (fDelay > 0.0f) + DelayCommand(fDelay, BJ_SetGameState(oPlayer, BJ_GAME_STATE_GAME_OVER, "Blackjack! You win!", 2.5f)); + else + BJ_SetGameState(oPlayer, BJ_GAME_STATE_GAME_OVER, "Blackjack! You win!", 2.5f); + } + else + { + if (fDelay > 0.0f) + DelayCommand(fDelay, BJ_SetGameState(oPlayer, BJ_GAME_STATE_PLAYER_TURN)); + else + BJ_SetGameState(oPlayer, BJ_GAME_STATE_PLAYER_TURN); + } + + return; + } + } + + if (nCurrentState < BJ_DEAL_CARDS_PEEK) + DelayCommand(BJ_GetDealerTurnDelay(), BJ_HandleDealCards(oPlayer, nToken, ++nCurrentState)); +} + +void BJ_UpdateCards(object oPlayer, int nToken) +{ + int nGameState = BJ_GetGameState(oPlayer); + json jPlayerHand = BJ_GetHand(oPlayer, BJ_PLAYER_HAND); + json jDealerHand = BJ_GetHand(oPlayer, BJ_DEALER_HAND); + + int nCard, nNumCards = JsonGetLength(jPlayerHand); + for (nCard = 0; nCard < nNumCards; nCard++) + { + BJ_SetCard(oPlayer, nToken, BJ_PLAYER_CARD_PREFIX, nCard, BJ_GetCardImage(JsonArrayGet(jPlayerHand, nCard))); + } + + nNumCards = JsonGetLength(jDealerHand); + for (nCard = 0; nCard < nNumCards; nCard++) + { + if (nCard > 0 && (nGameState == BJ_GAME_STATE_DEAL_CARDS || nGameState == BJ_GAME_STATE_PLAYER_TURN)) + BJ_SetCard(oPlayer, nToken, BJ_DEALER_CARD_PREFIX, nCard, BJ_CARD_BACK); + else + BJ_SetCard(oPlayer, nToken, BJ_DEALER_CARD_PREFIX, nCard, BJ_GetCardImage(JsonArrayGet(jDealerHand, nCard))); + } +} + +int BJ_GetCardValue(json jCard) +{ + string sValue = JsonGetString(JsonObjectGet(jCard, "value")); + + if (sValue == "a") + return 11; + else if (sValue == "k" || sValue == "q" || sValue == "j") + return 10; + else + return StringToInt(sValue); +} + +int BJ_GetHandPoints(object oPlayer, string sHand) +{ + int nGameState = BJ_GetGameState(oPlayer); + json jHand = BJ_GetHand(oPlayer, sHand); + + if (sHand == BJ_DEALER_HAND && (nGameState == BJ_GAME_STATE_DEAL_CARDS || nGameState == BJ_GAME_STATE_PLAYER_TURN)) + { + return BJ_GetCardValue(JsonArrayGet(jHand, 0)); + } + + int nPoints = 0, nCard, nNumCards = JsonGetLength(jHand); + for (nCard = 0; nCard < nNumCards; nCard++) + { + nPoints += BJ_GetCardValue(JsonArrayGet(jHand, nCard)); + } + + int nNumAces = BJ_GetHandAces(oPlayer, sHand); + while (nNumAces > 0 && nPoints > BJ_BLACKJACK_VALUE) + { + nPoints -= 10; + nNumAces--; + } + + return nPoints; +} + +void BJ_UpdatePoints(object oPlayer, int nToken) +{ + BJ_SetPlayerPoints(oPlayer, nToken, BJ_GetHandPoints(oPlayer, BJ_PLAYER_HAND)); + BJ_SetDealerPoints(oPlayer, nToken, BJ_GetHandPoints(oPlayer, BJ_DEALER_HAND)); +} + +void BJ_ToggleBetInput(object oPlayer, int nToken, int bVisible) +{ + if (bVisible) + bVisible = GetGold(oPlayer); + + BJ_ToggleButton(oPlayer, BJ_ID_BUTTON_BET, bVisible); + NuiSetBind(oPlayer, nToken, BJ_BIND_BET_AMOUNT_VISIBLE, JsonBool(bVisible)); +} + +int BJ_GetBet(object oPlayer) +{ + return JsonGetInt(JsonObjectGet(BJ_GetUserData(oPlayer), "bet")); +} + +void BJ_SetBet(object oPlayer, int nBet) +{ + BJ_SetUserData(oPlayer, "bet", JsonInt(nBet)); + BJ_SetCurrentBetText(oPlayer, BJ_GetWindowId(oPlayer), "Bet: " + IntToString(nBet)); +} + +void BJ_DeleteBet(object oPlayer) +{ + BJ_DeleteUserData(oPlayer, "bet"); +} + +void BJ_IncreaseBet(object oPlayer, int nIncrease) +{ + BJ_SetBet(oPlayer, BJ_GetBet(oPlayer) + nIncrease); +} + +void BJ_SettleBet(object oPlayer, int nToken, float fMultiplier) +{ + int nBet = BJ_GetBet(oPlayer); + + if (nBet > 0) + { + int nResult = FloatToInt(nBet * fMultiplier); + + if (nResult) + { + BJ_SetGoldResultText(oPlayer, nToken, "Gold: +" + IntToString(nResult)); + GiveGoldToCreature(oPlayer, nResult); + BJ_PlaySound(oPlayer, "it_coins"); + } + else + { + BJ_SetGoldResultText(oPlayer, nToken, "Gold: -" + IntToString(nBet)); + } + } +} + +void BJ_PlaySound(object oPlayer, string sSound) +{ + AssignCommand(oPlayer, PlaySound(sSound)); +} + +int BJ_GetPlayerCanDoubleDown(object oPlayer) +{ + int nBet = BJ_GetBet(oPlayer); + int nHandValue = BJ_GetHandPoints(oPlayer, BJ_PLAYER_HAND); + int nGold = GetGold(oPlayer); + + return nBet > 0 && + nGold >= nBet && + (nHandValue >= BJ_DOUBLE_DOWN_MIN_POINTS && nHandValue <= BJ_DOUBLE_DOWN_MAX_POINTS) && + (BJ_DOUBLE_DOWN_EXCEED_MAX_BET || ((nBet * 2) <= BJ_MAX_BET)); +} + +json BJ_CreateStatsObject() +{ + json jStats = JsonArray(); + jStats = JsonArrayInsert(jStats, JsonInt(0)); + jStats = JsonArrayInsert(jStats, JsonInt(0)); + jStats = JsonArrayInsert(jStats, JsonInt(0)); + jStats = JsonArrayInsert(jStats, JsonInt(0)); + + return jStats; +} + +json BJ_GetStats(object oPlayer) +{ + json jStats = GetCampaignJson("BJ_" + GetPCPublicCDKey(oPlayer, TRUE), BJ_PLAYER_STATS); + return !JsonGetType(jStats) ? BJ_CreateStatsObject() : jStats; +} + +void BJ_SetStats(object oPlayer, json jStats) +{ + SetCampaignJson("BJ_" + GetPCPublicCDKey(oPlayer, TRUE), BJ_PLAYER_STATS, jStats); +} + +void BJ_UpdateStats(object oPlayer, int nType) +{ + json jStats = BJ_GetStats(oPlayer); + jStats = JsonArraySet(jStats, BJ_STATS_TYPE_TOTAL, JsonInt(JsonGetInt(JsonArrayGet(jStats, BJ_STATS_TYPE_TOTAL)) + 1)); + jStats = JsonArraySet(jStats, nType, JsonInt(JsonGetInt(JsonArrayGet(jStats, nType)) + 1)); + BJ_SetStats(oPlayer, jStats); +} + +void BJ_UpdateStatsTooltip(object oPlayer, int nToken) +{ + json jStats = BJ_GetStats(oPlayer); + int nTotal = JsonGetInt(JsonArrayGet(jStats, BJ_STATS_TYPE_TOTAL)); + int nWins = JsonGetInt(JsonArrayGet(jStats, BJ_STATS_TYPE_WINS)); + int nDraws = JsonGetInt(JsonArrayGet(jStats, BJ_STATS_TYPE_DRAWS)); + int nLosses = JsonGetInt(JsonArrayGet(jStats, BJ_STATS_TYPE_LOSSES)); + + string sStats = "Total: 0 | Wins: 0 (0.00%) | Draws: 0 (0.00%) | Losses: 0 (0.00%)"; + + if (nTotal) + { + sStats = "Total: " + IntToString(nTotal) + + " | Wins: " + IntToString(nWins) + " (" + FloatToString((IntToFloat(nWins) / IntToFloat(nTotal)) * 100.0f , 0, 2) + "%)" + + " | Draws: " + IntToString(nDraws) + " (" + FloatToString((IntToFloat(nDraws) / IntToFloat(nTotal)) * 100.0f , 0, 2) + "%)" + + " | Losses: " + IntToString(nLosses) + " (" + FloatToString((IntToFloat(nLosses) / IntToFloat(nTotal)) * 100.0f , 0, 2) + "%)"; + } + + NuiSetBind(oPlayer, nToken, BJ_BIND_STATS_TOOLTIP, JsonString(sStats)); +} + diff --git a/_module/nss/inc_examine.nss b/_module/nss/inc_examine.nss new file mode 100644 index 00000000..2a296480 --- /dev/null +++ b/_module/nss/inc_examine.nss @@ -0,0 +1,494 @@ +/* + Examine NUI Windows + Created By: Daz +*/ + +#include "inc_nui" +#include "inc_util" + +const string EXAMINE_NUI_WINDOW_ID = "EXAMINEWINDOW"; +const string EXAMINE_WINDOW_GEOMETRY_JSON = "EXAMINE_WINDOW_GEOMETRY_JSON"; +const string EXAMINE_GENERIC_WINDOW_JSON = "EXAMINE_GENERIC_WINDOW_JSON"; +const string EXAMINE_ITEM_WINDOW_JSON = "EXAMINE_ITEM_WINDOW_JSON"; + +const string EXAMINE_CURRENT_WINDOW_TYPE = "EXAMINE_CURRENT_WINDOW_TYPE"; +const string EXAMINE_CURRENT_OBJECT = "EXAMINE_CURRENT_OBJECT"; + +const float EXAMINE_GENERIC_WINDOW_WIDTH = 500.0f; +const float EXAMINE_GENERIC_WINDOW_HEIGHT = 255.0f; + +const float EXAMINE_ITEM_WINDOW_WIDTH = 500.0f; +const float EXAMINE_ITEM_WINDOW_HEIGHT = 400.0f; + +void Examine_DisablePanels(object oPlayer); +json Examine_GetWindowJson(int nPanel); +json Examine_GetGenericWindowJson(); +json Examine_GetItemWindowJson(); +float Examine_GetWindowWidth(int nPanel); +float Examine_GetWindowHeight(int nPanel); + +void Examine_HandleGUIEvents(object oPlayer, object oTarget, int nPanel); +void Examine_HandleNUIEvents(object oPlayer, int nToken, string sType, string sElement, int nArrayIndex); + +void Examine_SetData(object oPlayer, int nToken, object oTarget, int nPanel); +void Examine_SetGenericData(object oPlayer, int nToken, object oTarget, int nPanel); +string Examine_GetItemPropertyString(itemproperty ip); +void Examine_SetItemData(object oPlayer, int nToken, object oItem); + + +void Examine_DisablePanels(object oPlayer) +{ + SetGuiPanelDisabled(oPlayer, GUI_PANEL_EXAMINE_CREATURE, TRUE); + SetGuiPanelDisabled(oPlayer, GUI_PANEL_EXAMINE_ITEM, TRUE); + SetGuiPanelDisabled(oPlayer, GUI_PANEL_EXAMINE_PLACEABLE, TRUE); + SetGuiPanelDisabled(oPlayer, GUI_PANEL_EXAMINE_DOOR, TRUE); +} + +json Examine_GetWindowJson(int nPanel) +{ + json jWindow; + switch (nPanel) + { + case GUI_PANEL_EXAMINE_CREATURE: + case GUI_PANEL_EXAMINE_PLACEABLE: + case GUI_PANEL_EXAMINE_DOOR: + jWindow = Examine_GetGenericWindowJson(); + break; + case GUI_PANEL_EXAMINE_ITEM: + jWindow = Examine_GetItemWindowJson(); + break; + } + + return jWindow; +} + +json Examine_GetGenericWindowJson() +{ + json jRoot = GetLocalJson(GetModule(), EXAMINE_GENERIC_WINDOW_JSON); + if (jRoot == JsonNull()) + { + json jCol = JsonArray(), jRow; + jRow = JsonArray(); + { + json jSubCol, jSubRow; + + jSubCol = JsonArray(); + // Image + jSubRow = JsonArray(); + { + json jImage = NuiImage(NuiBind("image_1"), JsonInt(NUI_ASPECT_EXACTSCALED), JsonInt(NUI_HALIGN_CENTER), JsonInt(NUI_VALIGN_TOP)); + jImage = NuiWidth(jImage, 64.0f); + jImage = NuiHeight(jImage, 100.0f); + jSubRow = JsonArrayInsert(jSubRow, jImage); + } + jSubCol = NuiInsertRow(jSubCol, jSubRow); + + // Spacer + jSubRow = JsonArray(); + { + jSubRow = JsonArrayInsert(jSubRow, NuiSpacer()); + } + jSubCol = NuiInsertRow(jSubCol, jSubRow); + jRow = JsonArrayInsert(jRow, NuiCol(jSubCol)); + + jSubCol = JsonArray(); + // Description Label + jSubRow = JsonArray(); + { + json jHeader = NuiHeader(JsonString("Description")); + jSubRow = JsonArrayInsert(jSubRow, jHeader); + } + jSubCol = NuiInsertRow(jSubCol, jSubRow); + + // Description Text + jSubRow = JsonArray(); + { + json jDescription = NuiText(NuiBind("description")); + jDescription = NuiHeight(jDescription, 160.0f); + jSubRow = JsonArrayInsert(jSubRow, jDescription); + } + jSubCol = NuiInsertRow(jSubCol, jSubRow); + + // Spacer + jSubRow = JsonArray(); + { + jSubRow = JsonArrayInsert(jSubRow, NuiSpacer()); + } + jSubCol = NuiInsertRow(jSubCol, jSubRow); + jRow = JsonArrayInsert(jRow, NuiCol(jSubCol)); + } + jCol = NuiInsertRow(jCol, jRow); + + jRoot = NuiCol(jCol); + SetLocalJson(GetModule(), EXAMINE_GENERIC_WINDOW_JSON, jRoot); + } + + return jRoot; +} + +json Examine_GetItemWindowJson() +{ + json jRoot = GetLocalJson(GetModule(), EXAMINE_ITEM_WINDOW_JSON); + if (jRoot == JsonNull()) + { + json jCol = JsonArray(), jRow; + jRow = JsonArray(); + { + json jSubCol, jSubRow; + + jSubCol = JsonArray(); + // Image + jSubRow = JsonArray(); + { + json jImage = NuiImage(NuiBind("image_1"), JsonInt(NUI_ASPECT_EXACTSCALED), JsonInt(NUI_HALIGN_CENTER), JsonInt(NUI_VALIGN_TOP)); + json jRect = NuiRect(0.0f, 0.0f, 64.0f, 192.0f); + json jDrawList = JsonArray(); + jDrawList = JsonArrayInsert(jDrawList, NuiDrawListImage(NuiBind("complex_item"), NuiBind("image_2"), jRect, JsonInt(NUI_ASPECT_EXACTSCALED), JsonInt(NUI_HALIGN_CENTER), JsonInt(NUI_VALIGN_TOP))); + jDrawList = JsonArrayInsert(jDrawList, NuiDrawListImage(NuiBind("complex_item"), NuiBind("image_3"), jRect, JsonInt(NUI_ASPECT_EXACTSCALED), JsonInt(NUI_HALIGN_CENTER), JsonInt(NUI_VALIGN_TOP))); + jImage = NuiDrawList(jImage, JsonBool(TRUE), jDrawList); + jImage = NuiWidth(jImage, 64.0f); + jImage = NuiHeight(jImage, 192.0f); + jSubRow = JsonArrayInsert(jSubRow, jImage); + } + jSubCol = NuiInsertRow(jSubCol, jSubRow); + + // Button? + jSubRow = JsonArray(); + { + json jButton = NuiButton(JsonString("Button?")); + jButton = NuiId(jButton, "btn_button"); + jButton = NuiWidth(jButton, 64.0f); + jButton = NuiHeight(jButton, 35.0f); + jSubRow = JsonArrayInsert(jSubRow, jButton); + } + //jSubCol = NuiInsertRow(jSubCol, jSubRow); + + // Spacer + jSubRow = JsonArray(); + { + jSubRow = JsonArrayInsert(jSubRow, NuiSpacer()); + } + jSubCol = NuiInsertRow(jSubCol, jSubRow); + jRow = JsonArrayInsert(jRow, NuiCol(jSubCol)); + + jSubCol = JsonArray(); + // Description Label + jSubRow = JsonArray(); + { + json jHeader = NuiHeader(JsonString("Description")); + jSubRow = JsonArrayInsert(jSubRow, jHeader); + } + jSubCol = NuiInsertRow(jSubCol, jSubRow); + + // Description Text + jSubRow = JsonArray(); + { + json jDescription = NuiText(NuiBind("description")); + jDescription = NuiHeight(jDescription, 160.0f); + jSubRow = JsonArrayInsert(jSubRow, jDescription); + } + jSubCol = NuiInsertRow(jSubCol, jSubRow); + + // Item Properties Label + jSubRow = JsonArray(); + { + json jHeader = NuiHeader(JsonString("Item Properties")); + jSubRow = JsonArrayInsert(jSubRow, jHeader); + } + jSubCol = NuiInsertRow(jSubCol, jSubRow); + + // Item Properties List + jSubRow = JsonArray(); + { + json jListTemplate = JsonArray(); + { + json jLabel = NuiLabel(NuiBind("property"), JsonInt(NUI_HALIGN_LEFT), JsonInt(NUI_VALIGN_MIDDLE)); + jLabel = NuiStyleForegroundColor(jLabel, NuiBind("color")); + jListTemplate = JsonArrayInsert(jListTemplate, NuiListTemplateCell(jLabel, 0.0f, TRUE)); + } + json jList = NuiList(jListTemplate, NuiBind("property"), 16.0f); + jList = NuiHeight(jList, 105.0f); + jSubRow = JsonArrayInsert(jSubRow, jList); + } + jSubCol = NuiInsertRow(jSubCol, jSubRow); + + // Spacer + jSubRow = JsonArray(); + { + jSubRow = JsonArrayInsert(jSubRow, NuiSpacer()); + } + jSubCol = NuiInsertRow(jSubCol, jSubRow); + jRow = JsonArrayInsert(jRow, NuiCol(jSubCol)); + } + jCol = NuiInsertRow(jCol, jRow); + + jRoot = NuiCol(jCol); + SetLocalJson(GetModule(), EXAMINE_ITEM_WINDOW_JSON, jRoot); + } + + return jRoot; +} + +float Examine_GetWindowWidth(int nPanel) +{ + float fWidth; + switch (nPanel) + { + case GUI_PANEL_EXAMINE_CREATURE: + case GUI_PANEL_EXAMINE_PLACEABLE: + case GUI_PANEL_EXAMINE_DOOR: + fWidth = EXAMINE_GENERIC_WINDOW_WIDTH; + break; + case GUI_PANEL_EXAMINE_ITEM: + fWidth = EXAMINE_ITEM_WINDOW_WIDTH; + break; + } + + return fWidth; +} + +float Examine_GetWindowHeight(int nPanel) +{ + float fHeight; + switch (nPanel) + { + case GUI_PANEL_EXAMINE_CREATURE: + case GUI_PANEL_EXAMINE_PLACEABLE: + case GUI_PANEL_EXAMINE_DOOR: + fHeight = EXAMINE_GENERIC_WINDOW_HEIGHT; + break; + case GUI_PANEL_EXAMINE_ITEM: + fHeight = EXAMINE_ITEM_WINDOW_HEIGHT; + break; + } + + return fHeight; +} + +void Examine_HandleGUIEvents(object oPlayer, object oTarget, int nPanel) +{ + json jGeometry = GetLocalJson(oPlayer, EXAMINE_WINDOW_GEOMETRY_JSON); + + int nToken = NuiFindWindow(oPlayer, EXAMINE_NUI_WINDOW_ID); + if (nToken) + { + if (GetLocalObject(oPlayer, EXAMINE_CURRENT_OBJECT) == oTarget) + return; + + int bIsItemExamine = nPanel == GUI_PANEL_EXAMINE_ITEM; + int nCurrentWindowType = GetLocalInt(oPlayer, EXAMINE_CURRENT_WINDOW_TYPE); + + if (bIsItemExamine && nCurrentWindowType != GUI_PANEL_EXAMINE_ITEM) + { + NuiSetGroupLayout(oPlayer, nToken, NUI_WINDOW_ROOT_GROUP, Examine_GetWindowJson(nPanel)); + NuiSetBind(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND, NuiSetRectHeight(jGeometry, Examine_GetWindowHeight(nPanel))); + } + else if (!bIsItemExamine && nCurrentWindowType == GUI_PANEL_EXAMINE_ITEM) + { + NuiSetGroupLayout(oPlayer, nToken, NUI_WINDOW_ROOT_GROUP, Examine_GetWindowJson(nPanel)); + NuiSetBind(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND, NuiSetRectHeight(jGeometry, Examine_GetWindowHeight(nPanel))); + } + + Examine_SetData(oPlayer, nToken, oTarget, nPanel); + + SetLocalInt(oPlayer, EXAMINE_CURRENT_WINDOW_TYPE, nPanel); + SetLocalObject(oPlayer, EXAMINE_CURRENT_OBJECT, oTarget); + + return; + } + + json jRoot = Examine_GetWindowJson(nPanel); + json jWindow = NuiWindow(jRoot, NuiBind(NUI_WINDOW_TITLE_BIND), NuiBind(NUI_WINDOW_GEOMETRY_BIND), JsonBool(FALSE), JsonNull(), JsonBool(TRUE), JsonBool(FALSE), JsonBool(TRUE)); + + float fWidth = Examine_GetWindowWidth(nPanel); + float fHeight = Examine_GetWindowHeight(nPanel); + + if (jGeometry == JsonNull()) + jGeometry = NuiGetCenteredGeometryRect(oPlayer, fWidth, fHeight); + else + { + jGeometry = NuiSetRectWidth(jGeometry, fWidth); + jGeometry = NuiSetRectHeight(jGeometry, fHeight); + } + + nToken = NuiCreate(oPlayer, jWindow, EXAMINE_NUI_WINDOW_ID); + + NuiSetBindWatch(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND, TRUE); + NuiSetBind(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND, jGeometry); + + Examine_SetData(oPlayer, nToken, oTarget, nPanel); + + SetLocalInt(oPlayer, EXAMINE_CURRENT_WINDOW_TYPE, nPanel); + SetLocalObject(oPlayer, EXAMINE_CURRENT_OBJECT, oTarget); +} + +void Examine_HandleNUIEvents(object oPlayer, int nToken, string sType, string sElement, int nArrayIndex) +{ + if (sType == NUI_EVENT_CLOSE) + { + DeleteLocalInt(oPlayer, EXAMINE_CURRENT_WINDOW_TYPE); + DeleteLocalObject(oPlayer, EXAMINE_CURRENT_OBJECT); + } + else if (sType == NUI_EVENT_WATCH) + { + if (sElement == NUI_WINDOW_GEOMETRY_BIND) + { + SetLocalJson(oPlayer, EXAMINE_WINDOW_GEOMETRY_JSON, NuiGetBind(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND)); + } + } +} + +int Examine_HandleIdentifyItem(object oPlayer, object oItem) +{ + int bIdentified = GetIdentified(oItem); + + if (!bIdentified) + { + int nIdentifySkillRank = GetSkillRank(SKILL_LORE, oPlayer); + + if (nIdentifySkillRank < 0) + return FALSE; + if (nIdentifySkillRank > 55) + { + SetIdentified(oItem, TRUE); + return TRUE; + } + + int nMaxItemGPValue = StringToInt(Get2DAString("skillvsitemcost", "DeviceCostMax", nIdentifySkillRank)); + + SetIdentified(oItem, TRUE); + bIdentified = GetGoldPieceValue(oItem) <= nMaxItemGPValue; + SetIdentified(oItem, bIdentified); + } + + return bIdentified; +} + +void Examine_SetData(object oPlayer, int nToken, object oTarget, int nPanel) +{ + Examine_SetGenericData(oPlayer, nToken, oTarget, nPanel); + + if (nPanel == GUI_PANEL_EXAMINE_ITEM) + Examine_SetItemData(oPlayer, nToken, oTarget); +} + +void Examine_SetGenericData(object oPlayer, int nToken, object oTarget, int nPanel) +{ + string sTitle, sDescription; + json jImage1, jImage2, jImage3; + int bComplexItem = FALSE; + switch (nPanel) + { + case GUI_PANEL_EXAMINE_CREATURE: + case GUI_PANEL_EXAMINE_PLACEABLE: + case GUI_PANEL_EXAMINE_DOOR: + { + sTitle = GetName(oTarget); + jImage1 = JsonString(GetPortraitResRef(oTarget) + "m"); + sDescription = GetDescription(oTarget); + break; + } + + case GUI_PANEL_EXAMINE_ITEM: + { + int bIdentified = Examine_HandleIdentifyItem(oPlayer, oTarget); + int nBaseItemType = GetBaseItemType(oTarget); + sTitle = Util_GetItemName(oTarget, bIdentified); + + json jItem = ObjectToJson(oTarget); + json jComplexIconData = Util_GetComplexIconData(jItem, nBaseItemType); + + if (JsonGetType(jComplexIconData)) + { + jImage1 = JsonObjectGet(jComplexIconData, "bottom"); + jImage2 = JsonObjectGet(jComplexIconData, "middle"); + jImage3 = JsonObjectGet(jComplexIconData, "top"); + bComplexItem = TRUE; + } + else + { + jImage1 = JsonString(Util_GetIconResref(oTarget, jItem, nBaseItemType)); + } + + sDescription = GetDescription(oTarget, FALSE, bIdentified); + + int nStatsStrRef = StringToInt(Get2DAString("baseitems", "BaseItemStatRef", nBaseItemType)); + if (nStatsStrRef) + { + sDescription += "\n\n" + GetStringByStrRef(nStatsStrRef); + } + break; + } + } + + NuiSetBind(oPlayer, nToken, NUI_WINDOW_TITLE_BIND, JsonString(sTitle)); + NuiSetBind(oPlayer, nToken, "image_1", jImage1); + + if (bComplexItem) + { + NuiSetBind(oPlayer, nToken, "image_2", jImage2); + NuiSetBind(oPlayer, nToken, "image_3", jImage3); + } + + NuiSetBind(oPlayer, nToken, "complex_item", JsonBool(bComplexItem)); + NuiSetBind(oPlayer, nToken, "description", JsonString(sDescription)); +} + +string Examine_GetItemPropertyString(itemproperty ip) +{ + int nType = GetItemPropertyType(ip); + string sName = GetStringByStrRef(StringToInt(Get2DAString("itempropdef", "GameStrRef", nType))); + + int nSubType = GetItemPropertySubType(ip); + if(nSubType != -1) + { + string sSubTypeResRef = Get2DAString("itempropdef", "SubTypeResRef", nType); + int nStrRef = StringToInt(Get2DAString(sSubTypeResRef, "Name", nSubType)); + if(nStrRef) + sName += " " + GetStringByStrRef(nStrRef); + } + + int nParam1 = GetItemPropertyParam1(ip); + if(nParam1 != -1) + { + string sParamResRef = Get2DAString("iprp_paramtable", "TableResRef", nParam1); + string sSubTypeResRef = Get2DAString("itempropdef", "SubTypeResRef", nType); + string sTableResRef = Get2DAString(sSubTypeResRef, "TableResRef", nParam1); + int nStrRef = StringToInt(Get2DAString(sParamResRef, "Name", GetItemPropertyParam1Value(ip))); + if(nStrRef) + sName += " " + GetStringByStrRef(nStrRef); + } + + int nCostTable = GetItemPropertyCostTable(ip); + if(nCostTable != -1) + { + string sCostTableResRef = Get2DAString("iprp_costtable", "Name", nCostTable); + int nStrRef = StringToInt(Get2DAString(sCostTableResRef, "Name", GetItemPropertyCostTableValue(ip))); + if(nStrRef) + sName += " " + GetStringByStrRef(nStrRef); + } + + return sName; +} + +void Examine_SetItemData(object oPlayer, int nToken, object oItem) +{ + int bIdentified = GetIdentified(oItem); + json jProperties = JsonArray(); + json jColors = JsonArray(); + + if (bIdentified) + { + itemproperty ip = GetFirstItemProperty(oItem); + while (GetIsItemPropertyValid(ip)) + { + jProperties = JsonArrayInsert(jProperties, JsonString(Examine_GetItemPropertyString(ip))); + jColors = JsonArrayInsert(jColors, GetItemPropertyDurationType(ip) == DURATION_TYPE_TEMPORARY ? NuiColor(0, 0, 255) : NuiColor(255, 255, 255)); + ip = GetNextItemProperty(oItem); + } + } + + NuiSetBind(oPlayer, nToken, "property", jProperties); + NuiSetBind(oPlayer, nToken, "color", jColors); +} + diff --git a/_module/nss/inc_gennui.nss b/_module/nss/inc_gennui.nss new file mode 100644 index 00000000..a77ac8e4 --- /dev/null +++ b/_module/nss/inc_gennui.nss @@ -0,0 +1,300 @@ +/* + Generic NUI Windows + Created By: Daz +*/ + +#include "inc_nui" + +const string GNW_WINDOW_PREFIX = "GNW"; +const string GNW_OK_CANCEL_WINDOW = "OKCANCEL"; +const string GNW_OPTIONS_WINDOW = "OPTIONS"; +const string GNW_INFO_WINDOW = "INFO"; +const string GNW_MENU_WINDOW = "MENU"; + +// Call this in your EVENT_SCRIPT_MODULE_ON_NUI_EVENT script +void GNW_HandleNUIEvents(); +void GNW_ShowOkCancelWindow(object oPlayer, string sText, string sOkAction, string sCancelAction); +json GNW_AddOption(json jOptions, string sLabel, string sVarName, object oTarget); +void GNW_ShowOptionsWindow(object oPlayer, string sTitle, json jOptions); +void GNW_ShowInfoWindow(object oPlayer, string sTitle, string sText); + +void GNW_HandleNUIEvents() +{ + object oPlayer = NuiGetEventPlayer(); + int nToken = NuiGetEventWindow(); + string sWindowId = NuiGetWindowId(oPlayer, nToken); + + if (GetStringLeft(sWindowId, GetStringLength(GNW_WINDOW_PREFIX)) != GNW_WINDOW_PREFIX) + return; + + string sType = NuiGetEventType(); + string sElement = NuiGetEventElement(); + + if (sWindowId == GNW_WINDOW_PREFIX + GNW_OK_CANCEL_WINDOW) + { + if (sType == "click") + { + if (sElement == "btn_ok") + { + ExecuteScriptChunk(GetLocalString(oPlayer, GNW_WINDOW_PREFIX + GNW_OK_CANCEL_WINDOW + "_OKACTION"), oPlayer); + NuiDestroy(oPlayer, nToken); + } + else if (sElement == "btn_cancel") + { + ExecuteScriptChunk(GetLocalString(oPlayer, GNW_WINDOW_PREFIX + GNW_OK_CANCEL_WINDOW + "_CANCELACTION"), oPlayer); + NuiDestroy(oPlayer, nToken); + } + } + else if (sType == "close") + { + ExecuteScriptChunk(GetLocalString(oPlayer, GNW_WINDOW_PREFIX + GNW_OK_CANCEL_WINDOW + "_CANCELACTION"), oPlayer); + } + } + else if (sWindowId == GNW_WINDOW_PREFIX + GNW_OPTIONS_WINDOW) + { + if (sType == "click") + { + if (sElement == "btn_ok") + { + NuiDestroy(oPlayer, nToken); + } + } + else if (sType == "watch") + { + json jOptions = GetLocalJson(oPlayer, GNW_WINDOW_PREFIX + GNW_OPTIONS_WINDOW); + json jChecked = NuiGetBind(oPlayer, nToken, "checked"); + int nOption, nNumOptions = JsonGetLength(jOptions); + + for (nOption = 0; nOption < nNumOptions; nOption++) + { + json jOption = JsonArrayGet(jOptions, nOption); + string sVarName = JsonGetString(JsonObjectGet(jOption, "varname")); + object oTarget = StringToObject(JsonGetString(JsonObjectGet(jOption, "target"))); + int bCurrentValue = GetLocalInt(oTarget, sVarName); + int bNewValue = JsonGetInt(JsonArrayGet(jChecked, nOption)); + + if (bCurrentValue != bNewValue) + { + SetLocalInt(oTarget, sVarName, bNewValue); + SendMessageToPC(oPlayer, "Setting '" + sVarName + "' on " + GetName(oTarget) + " to " + IntToString(bNewValue)); + } + } + } + } + else if (sWindowId == GNW_WINDOW_PREFIX + GNW_INFO_WINDOW) + { + if (sType == "click") + { + if (sElement == "btn_ok") + { + NuiDestroy(oPlayer, nToken); + } + } + } + else if (sWindowId == GNW_WINDOW_PREFIX + GNW_MENU_WINDOW) + { + if (sType == "click") + { + if (sElement == "btn_menu") + { + int bSelected = JsonGetInt(NuiGetBind(oPlayer, nToken, "btn_menu")); + + SendMessageToPC(oPlayer, "Menu: " + (bSelected ? "Open" : "Close")); + } + } + } + +} + +void GNW_ShowOkCancelWindow(object oPlayer, string sText, string sOkAction, string sCancelAction) +{ + object oModule = GetModule(); + json jWindow = GetLocalJson(oModule, GNW_WINDOW_PREFIX + GNW_OK_CANCEL_WINDOW); + if (jWindow == JsonNull()) + { + json jCol; + json jRow; + + jCol = JsonArray(); + + jRow = JsonArray(); + { + json jText = NuiText(NuiBind("text")); + jRow = JsonArrayInsert(jRow, jText); + } + jCol = JsonArrayInsert(jCol, NuiRow(jRow)); + + jRow = JsonArray(); + { + json jButtonCancel = NuiButton(JsonString("Cancel")); + jButtonCancel = NuiId(jButtonCancel, "btn_cancel"); + jButtonCancel = NuiWidth(jButtonCancel, 100.0f); + jButtonCancel = NuiHeight(jButtonCancel, 35.0f); + jRow = JsonArrayInsert(jRow, jButtonCancel); + + jRow = JsonArrayInsert(jRow, NuiSpacer()); + + json jButtonOK = NuiButton(JsonString("OK")); + jButtonOK = NuiId(jButtonOK, "btn_ok"); + jButtonOK = NuiWidth(jButtonOK, 100.0f); + jButtonOK = NuiHeight(jButtonOK, 35.0f); + jRow = JsonArrayInsert(jRow, jButtonOK); + + } + jCol = JsonArrayInsert(jCol, NuiRow(jRow)); + + json jRoot = NuiCol(jCol); + jWindow = NuiWindow(jRoot, JsonBool(FALSE), NuiRect(-1.0f, -1.0f, 400.0f, 200.0f), JsonBool(FALSE), JsonBool(FALSE), JsonBool(FALSE), JsonBool(FALSE), JsonBool(TRUE)); + SetLocalJson(oModule, GNW_WINDOW_PREFIX + GNW_OK_CANCEL_WINDOW, jWindow); + } + + int nToken = NuiCreate(oPlayer, jWindow, GNW_WINDOW_PREFIX + GNW_OK_CANCEL_WINDOW); + + NuiSetBind(oPlayer, nToken, "text", JsonString(sText)); + SetLocalString(oPlayer, GNW_WINDOW_PREFIX + GNW_OK_CANCEL_WINDOW + "_OKACTION", sOkAction); + SetLocalString(oPlayer, GNW_WINDOW_PREFIX + GNW_OK_CANCEL_WINDOW + "_CANCELACTION", sCancelAction); +} + +json GNW_AddOption(json jOptions, string sLabel, string sVarName, object oTarget) +{ + json jOption = JsonObject(); + jOption = JsonObjectSet(jOption, "label", JsonString(sLabel)); + jOption = JsonObjectSet(jOption, "varname", JsonString(sVarName)); + jOption = JsonObjectSet(jOption, "target", JsonString(ObjectToString(oTarget))); + return JsonArrayInsert(jOptions, jOption); +} + +void GNW_ShowOptionsWindow(object oPlayer, string sTitle, json jOptions) +{ + object oModule = GetModule(); + json jWindow = GetLocalJson(oModule, GNW_WINDOW_PREFIX + GNW_OPTIONS_WINDOW); + if (jWindow == JsonNull()) + { + json jCol; + json jRow; + + jCol = JsonArray(); + + jRow = JsonArray(); + { + json jListTemplate = JsonArray(); + { + json jCheck = NuiCheck(NuiBind("labels"), NuiBind("checked")); + jListTemplate = JsonArrayInsert(jListTemplate, NuiListTemplateCell(jCheck, 0.0f, TRUE)); + } + jRow = JsonArrayInsert(jRow, NuiList(jListTemplate, NuiBind("checked"), 15.0f)); + } + jCol = JsonArrayInsert(jCol, NuiRow(jRow)); + + jRow = JsonArray(); + { + jRow = JsonArrayInsert(jRow, NuiSpacer()); + json jButtonOK = NuiButton(JsonString("OK")); + jButtonOK = NuiId(jButtonOK, "btn_ok"); + jButtonOK = NuiWidth(jButtonOK, 100.0f); + jButtonOK = NuiHeight(jButtonOK, 35.0f); + jRow = JsonArrayInsert(jRow, jButtonOK); + + } + jCol = JsonArrayInsert(jCol, NuiRow(jRow)); + + json jRoot = NuiCol(jCol); + jWindow = NuiWindow(jRoot, NuiBind("title"), NuiRect(-1.0f, -1.0f, 350.0f, 300.0f), JsonBool(FALSE), JsonNull(), JsonBool(TRUE), JsonBool(FALSE), JsonBool(TRUE)); + SetLocalJson(oModule, GNW_WINDOW_PREFIX + GNW_OPTIONS_WINDOW, jWindow); + } + + int nToken = NuiCreate(oPlayer, jWindow, GNW_WINDOW_PREFIX + GNW_OPTIONS_WINDOW); + + SetLocalJson(oPlayer, GNW_WINDOW_PREFIX + GNW_OPTIONS_WINDOW, jOptions); + NuiSetBind(oPlayer, nToken, "title", JsonString(sTitle)); + + json jLabels = JsonArray(); + json jChecked = JsonArray(); + int nOption, nNumOptions = JsonGetLength(jOptions); + for (nOption = 0; nOption < nNumOptions; nOption++) + { + json jOption = JsonArrayGet(jOptions, nOption); + json jLabel = JsonObjectGet(jOption, "label"); + string sVarName = JsonGetString(JsonObjectGet(jOption, "varname")); + object oTarget = StringToObject(JsonGetString(JsonObjectGet(jOption, "target"))); + + jLabels = JsonArrayInsert(jLabels, jLabel); + jChecked = JsonArrayInsert(jChecked, JsonBool(GetLocalInt(oTarget, sVarName))); + } + + NuiSetBind(oPlayer, nToken, "labels", jLabels); + NuiSetBind(oPlayer, nToken, "checked", jChecked); + NuiSetBindWatch(oPlayer, nToken, "checked", TRUE); +} + +void GNW_ShowInfoWindow(object oPlayer, string sTitle, string sText) +{ + object oModule = GetModule(); + json jWindow = GetLocalJson(oModule, GNW_WINDOW_PREFIX + GNW_INFO_WINDOW); + if (jWindow == JsonNull()) + { + json jCol; + json jRow; + + jCol = JsonArray(); + + jRow = JsonArray(); + { + json jText = NuiText(NuiBind("text")); + jRow = JsonArrayInsert(jRow, jText); + } + jCol = JsonArrayInsert(jCol, NuiRow(jRow)); + + jRow = JsonArray(); + { + jRow = JsonArrayInsert(jRow, NuiSpacer()); + + json jButtonOK = NuiButton(JsonString("OK")); + jButtonOK = NuiId(jButtonOK, "btn_ok"); + jButtonOK = NuiWidth(jButtonOK, 100.0f); + jButtonOK = NuiHeight(jButtonOK, 35.0f); + jRow = JsonArrayInsert(jRow, jButtonOK); + + jRow = JsonArrayInsert(jRow, NuiSpacer()); + } + jCol = JsonArrayInsert(jCol, NuiRow(jRow)); + + json jRoot = NuiCol(jCol); + jWindow = NuiWindow(jRoot, NuiBind("title"), NuiRect(-1.0f, -1.0f, 400.0f, 200.0f), JsonBool(FALSE), JsonNull(), JsonBool(TRUE), JsonBool(FALSE), JsonBool(TRUE)); + SetLocalJson(oModule, GNW_WINDOW_PREFIX + GNW_INFO_WINDOW, jWindow); + } + + int nToken = NuiCreate(oPlayer, jWindow, GNW_WINDOW_PREFIX + GNW_INFO_WINDOW); + + NuiSetBind(oPlayer, nToken, "title", JsonString(sTitle)); + NuiSetBind(oPlayer, nToken, "text", JsonString(sText)); +} + + +void GNW_ShowMenuButton(object oPlayer) +{ + object oModule = GetModule(); + json jWindow = GetLocalJson(oModule, GNW_WINDOW_PREFIX + GNW_MENU_WINDOW); + if (jWindow == JsonNull()) + { + json jButton = NuiButtonSelect(JsonString("Menu"), NuiBind("btn_menu")); + jButton = NuiId(jButton, "btn_menu"); + jButton = NuiMargin(jButton, 0.0f); + jButton = NuiWidth(jButton, 72.0f); + jButton = NuiHeight(jButton, 28.0f); + jButton = NuiGroup(jButton, FALSE, NUI_SCROLLBARS_NONE); + jButton = NuiMargin(jButton, 0.0f); + + jWindow = NuiWindow(jButton, JsonBool(FALSE), NuiBind(NUI_WINDOW_GEOMETRY_BIND), JsonBool(FALSE), JsonBool(FALSE), JsonBool(FALSE), JsonBool(TRUE), JsonBool(FALSE)); + SetLocalJson(oModule, GNW_WINDOW_PREFIX + GNW_INFO_WINDOW, jWindow); + } + + int nToken = NuiCreate(oPlayer, jWindow, GNW_WINDOW_PREFIX + GNW_MENU_WINDOW); + + float fGuiScale = IntToFloat(GetPlayerDeviceProperty(oPlayer, PLAYER_DEVICE_PROPERTY_GUI_SCALE)) / 100.0f; + float fX = IntToFloat(GetPlayerDeviceProperty(oPlayer, PLAYER_DEVICE_PROPERTY_GUI_WIDTH)) - (80.0f * fGuiScale); + float fY = IntToFloat(GetPlayerDeviceProperty(oPlayer, PLAYER_DEVICE_PROPERTY_GUI_HEIGHT)) - (166.0f * fGuiScale); + + NuiSetBind(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND, NuiRect(fX, fY, 80.0f, 36.0f)); +} + diff --git a/_module/nss/inc_nui.nss b/_module/nss/inc_nui.nss new file mode 100644 index 00000000..9a7264ae --- /dev/null +++ b/_module/nss/inc_nui.nss @@ -0,0 +1,68 @@ +/* + Various NUI Helpers + Created By: Daz +*/ + +#include "nw_inc_nui" + +const string NUI_WINDOW_ROOT_GROUP = "_window_"; + +const string NUI_WINDOW_TITLE_BIND = "wd_title"; +const string NUI_WINDOW_GEOMETRY_BIND = "wd_geometry"; + +const string NUI_EVENT_OPEN = "open"; +const string NUI_EVENT_CLOSE = "close"; +const string NUI_EVENT_CLICK = "click"; +const string NUI_EVENT_WATCH = "watch"; +const string NUI_EVENT_MOUSEDOWN = "mousedown"; +const string NUI_EVENT_MOUSEUP = "mouseup"; +const string NUI_EVENT_MOUSESCROLL = "mousescroll"; + +json NuiGetCenteredGeometryRect(object oPlayer, float fWindowWidth, float fWindowHeight); +json NuiSetRectWidth(json jRect, float fWidth); +json NuiSetRectHeight(json jRect, float fHeight); +json NuiInsertRow(json jCol, json jRow); +json NuiHeader(json jHeader, float fHeight = 24.0f, float fWidth = 0.0f); +float NuiGetMouseScrollDelta(json jPayload); + +json NuiGetCenteredGeometryRect(object oPlayer, float fWindowWidth, float fWindowHeight) +{ + float fGuiScale = IntToFloat(GetPlayerDeviceProperty(oPlayer, PLAYER_DEVICE_PROPERTY_GUI_SCALE)) / 100.0f; + + float fX = IntToFloat(GetPlayerDeviceProperty(oPlayer, PLAYER_DEVICE_PROPERTY_GUI_WIDTH) / 2) - ((fWindowWidth * 0.5f) * fGuiScale); + float fY = IntToFloat(GetPlayerDeviceProperty(oPlayer, PLAYER_DEVICE_PROPERTY_GUI_HEIGHT) / 2) - ((fWindowHeight * 0.5f) * fGuiScale); + + return NuiRect(fX, fY, fWindowWidth, fWindowHeight); +} + +json NuiSetRectWidth(json jRect, float fWidth) +{ + return JsonObjectSet(jRect, "w", JsonFloat(fWidth)); +} + +json NuiSetRectHeight(json jRect, float fHeight) +{ + return JsonObjectSet(jRect, "h", JsonFloat(fHeight)); +} + +json NuiInsertRow(json jCol, json jRow) +{ + return JsonArrayInsert(jCol, NuiRow(jRow)); +} + +json NuiHeader(json jHeader, float fHeight = 24.0f, float fWidth = 0.0f) +{ + json jLabel = NuiLabel(jHeader, JsonInt(NUI_HALIGN_CENTER), JsonInt(NUI_VALIGN_MIDDLE)); + jLabel = NuiGroup(jLabel, TRUE, NUI_SCROLLBARS_NONE); + jLabel = NuiHeight(jLabel, fHeight); + + if (fWidth > 0.0f) + jLabel = NuiWidth(jLabel, fWidth); + + return jLabel; +} + +float NuiGetMouseScrollDelta(json jPayload) +{ + return JsonGetFloat(JsonObjectGet(JsonObjectGet(jPayload, "mouse_scroll"), "y")); +} diff --git a/_module/nss/inc_perchest.nss b/_module/nss/inc_perchest.nss new file mode 100644 index 00000000..28f65cca --- /dev/null +++ b/_module/nss/inc_perchest.nss @@ -0,0 +1,561 @@ +/* + NUI Persistent Chest System + Created By: Daz +*/ + +#include "inc_nui" +#include "inc_util" + +//void main (){} + +const string PC_NUI_WINDOW_ID = "PCWINDOW"; +const string PC_NUI_GOLD_WINDOW_ID = "PCGOLDWINDOW"; +const string PC_UUID_ARRAY = "PC_UUID_ARRAY"; +const string PC_WINDOW_JSON = "PC_WINDOW_JSON"; +const string PC_GOLD_WINDOW_JSON = "PC_GOLD_WINDOW_JSON"; +const string PC_TARGETING_MODE = "PC_TARGETING_MODE"; +const string PC_GEOMETRY_JSON = "PC_GEOMETRY_JSON"; +const string PC_SEARCH_STRING = "PC_SEARCH_STRING"; + +const int PC_MAX_ITEMS = 500; // The max number of items a player can store in their chest +const int PC_ITEM_WITHDRAW_BATCH = 5; // How many items to deserialize at the same time +const float PC_ITEM_WITHDRAW_DELAY = 0.25f; // The delay between deserialization batches +const int PC_USE_SEARCH_BUTTON = FALSE; // Set to true to use a Search button instead of searching on text change +const int PC_SAVE_ITEM_OBJECT_STATE = TRUE; // Save local variables / temporary itemproperties when serializing items +const int PC_OPEN_INVENTORY_WINDOW = TRUE; // Open the inventory when opening a persistent chest + +string PC_GetDatabaseName(object oPlayer); +string PC_GetTableName(object oPlayer); +void PC_InitializeDatabase(object oPlayer); +void PC_CreateNUIWindow(object oPlayer, int bOpenInventory = PC_OPEN_INVENTORY_WINDOW); +void PC_EnterDepositMode(object oPlayer); +void PC_HandleNUIEvents(object oPlayer, string sWindowId, int nToken, string sType, string sElement, int nArrayIndex); +int PC_GetStoredItemAmount(object oPlayer); +void PC_HandleDepositEvent(object oPlayer, object oItem, vector vPosition); +void PC_UpdateItemList(object oPlayer, int nToken); +void PC_WithdrawItems(object oPlayer, int nToken); + +int PC_GetStoredGold(object oPlayer); +void PC_SetStoredGold(object oPlayer, int nGold); +void PC_ModifyStoredGold(object oPlayer, int nAmount); +void PC_UpdateGoldData(object oPlayer, int nToken); +void PC_CreateNUIGoldWindow(object oPlayer); + +string PC_GetDatabaseName(object oPlayer) +{ + return "PC_" + GetPCPublicCDKey(oPlayer, TRUE); +} + +string PC_GetTableName(object oPlayer) +{ + return "PC_ITEMS"; +} + +void PC_InitializeDatabase(object oPlayer) +{// Boring database stuff + string sDatabase = PC_GetDatabaseName(oPlayer); + string sTable = PC_GetTableName(oPlayer); + string sQuery = "SELECT name FROM sqlite_master WHERE type='table' AND name=@table;"; + sqlquery sql = SqlPrepareQueryCampaign(sDatabase, sQuery); + SqlBindString(sql, "@table", sTable); + + if (!SqlStep(sql)) + { + string sQuery = "CREATE TABLE IF NOT EXISTS " + sTable + " (" + + "item_uuid TEXT NOT NULL, " + + "item_name TEXT NOT NULL, " + + "item_baseitem INTEGER NOT NULL, " + + "item_stacksize INTEGER NOT NULL, " + + "item_iconresref TEXT NOT NULL, " + + "item_data TEXT_NOT NULL, " + + "PRIMARY KEY(item_uuid));"; + sqlquery sql = SqlPrepareQueryCampaign(sDatabase, sQuery); + SqlStep(sql); + } +} + +void PC_CreateNUIWindow(object oPlayer, int bOpenInventory = PC_OPEN_INVENTORY_WINDOW) +{ + if (NuiFindWindow(oPlayer, PC_NUI_WINDOW_ID)) + return;// Don't re-open the window if it is already open + + PC_InitializeDatabase(oPlayer); + + json jWindow = GetLocalJson(GetModule(), PC_WINDOW_JSON); + if (jWindow == JsonNull()) + {// For efficiency, we only build the window json once and store it in a local json on the module + json jCol;// Our main column to hold all the rows + json jRow;// A reusable row + + jCol = JsonArray();// Create an array to hold our rows + + jRow = JsonArray();// Create an array to hold our row elements + {// Our first row only has a progress bar to indicate the amount of items stored + json jProgress = NuiProgress(NuiBind("progress"));// The actual progress of the progress bar is bound to 'progress' + jProgress = NuiTooltip(jProgress, NuiBind("progress_tooltip"));// Here we add a tooltip and its bind to update it + jRow = JsonArrayInsert(jRow, jProgress); + + json jButtonGold = NuiButtonImage(JsonString("iit_gold_001")); + jButtonGold = NuiTooltip(jButtonGold, NuiBind("gold_tooltip")); + jButtonGold = NuiId(jButtonGold, "btn_gold"); + jButtonGold = NuiWidth(jButtonGold, 35.0f); + jButtonGold = NuiHeight(jButtonGold, 35.0f); + //jRow = JsonArrayInsert(jRow, jButtonGold); + } + jCol = JsonArrayInsert(jCol, NuiRow(jRow));// Add the row to the column + + jRow = JsonArray(); + {// The second row has the search bar, a clear button, and if enabled, a search button + json jSearch = NuiTextEdit(JsonString("Search..."), NuiBind("search"), 64, FALSE);// A simple search bar, we bind whatever the user types to 'search' + jRow = JsonArrayInsert(jRow, jSearch); + + json jClearButton = NuiButton(JsonString("X")); + jClearButton = NuiId(jClearButton, "btn_clear");// We give the button an id so we can get its click event + jClearButton = NuiEnabled(jClearButton, NuiBind("btn_clear"));// Here we enable the enabling or disabling of the button.. :D bound to 'btn_clear' + jClearButton = NuiWidth(jClearButton, 35.0f);// Width... + jClearButton = NuiHeight(jClearButton, 35.0f);// Height... + jRow = JsonArrayInsert(jRow, jClearButton); + + if (PC_USE_SEARCH_BUTTON) + { + json jSearchButton = NuiButton(JsonString("Search")); + jSearchButton = NuiId(jSearchButton, "btn_search"); + jSearchButton = NuiWidth(jSearchButton, 100.0f); + jSearchButton = NuiHeight(jSearchButton, 35.0f); + jRow = JsonArrayInsert(jRow, jSearchButton); + } + } + jCol = JsonArrayInsert(jCol, NuiRow(jRow)); + + jRow = JsonArray(); + {// The third row has the item list, here we also create the template for every list item to use + json jListTemplate = JsonArray(); + { + json jImage = NuiImage(NuiBind("icons"), JsonInt(NUI_ASPECT_FIT100), JsonInt(NUI_HALIGN_CENTER), JsonInt(NUI_VALIGN_TOP)); + jImage = NuiMargin(jImage, 0.0f); + jImage = NuiTooltip(jImage, NuiBind("tooltips")); + jImage = NuiGroup(jImage, TRUE, NUI_SCROLLBARS_NONE); + jListTemplate = JsonArrayInsert(jListTemplate, NuiListTemplateCell(jImage, 32.0f, FALSE)); + + json jCheck = NuiCheck(NuiBind("names"), NuiBind("selected")); + jListTemplate = JsonArrayInsert(jListTemplate, NuiListTemplateCell(jCheck, 0.0f, TRUE)); + } + json jList = NuiList(jListTemplate, NuiBind("icons"), 32.0f); + jRow = JsonArrayInsert(jRow, jList); + } + jCol = JsonArrayInsert(jCol, NuiRow(jRow)); + + jRow = JsonArray(); + {// The final row has a bunch of buttons, exciting + json jButtonWithdraw = NuiButton(JsonString("Withdraw")); + jButtonWithdraw = NuiId(jButtonWithdraw, "btn_withdraw"); + jButtonWithdraw = NuiEnabled(jButtonWithdraw, NuiBind("btn_withdraw")); + jButtonWithdraw = NuiWidth(jButtonWithdraw, 100.0f); + jButtonWithdraw = NuiHeight(jButtonWithdraw, 35.0f); + jRow = JsonArrayInsert(jRow, jButtonWithdraw); + + json jButtonDeposit = NuiButton(JsonString("Deposit")); + jButtonDeposit = NuiId(jButtonDeposit, "btn_deposit"); + jButtonDeposit = NuiEnabled(jButtonDeposit, NuiBind("btn_deposit")); + jButtonDeposit = NuiWidth(jButtonDeposit, 100.0f); + jButtonDeposit = NuiHeight(jButtonDeposit, 35.0f); + jRow = JsonArrayInsert(jRow, jButtonDeposit); + + jRow = JsonArrayInsert(jRow, NuiSpacer()); + + json jButtonClose = NuiButton(JsonString("Close")); + jButtonClose = NuiId(jButtonClose, "btn_close"); + jButtonClose = NuiWidth(jButtonClose, 100.0f); + jButtonClose = NuiHeight(jButtonClose, 35.0f); + jRow = JsonArrayInsert(jRow, jButtonClose); + } + jCol = JsonArrayInsert(jCol, NuiRow(jRow)); + + json jRoot = NuiCol(jCol);// Turn our column variable into a column + // Bind the window title and geometry, disable resizing and set collapsed to false + jWindow = NuiWindow(jRoot, NuiBind(NUI_WINDOW_TITLE_BIND), NuiBind(NUI_WINDOW_GEOMETRY_BIND), JsonBool(FALSE), JsonNull(), JsonBool(TRUE), JsonBool(FALSE), JsonBool(TRUE)); + SetLocalJson(GetModule(), PC_WINDOW_JSON, jWindow);// Store the created window for reuse + } + + // We let the user move the window and it'll save the position in a local + // In the case of the local not existing we position the window in its default position + json jGeometry = GetLocalJson(oPlayer, PC_GEOMETRY_JSON); + if (jGeometry == JsonNull()) + jGeometry = NuiRect(400.0f, 0.0f, 400.0f, 500.0f); + + // Actually create the window for the player! + int nToken = NuiCreate(oPlayer, jWindow, PC_NUI_WINDOW_ID); + + // If the search button is not enabled we watch the search bind for changes in the search box + NuiSetBindWatch(oPlayer, nToken, "search", !PC_USE_SEARCH_BUTTON); + // Watch for players moving the window + NuiSetBindWatch(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND, TRUE); + // Here we set the initial window position, either to the default position or wherever the player last left it + NuiSetBind(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND, jGeometry); + // Setting the window title + NuiSetBind(oPlayer, nToken, NUI_WINDOW_TITLE_BIND, JsonString(GetName(oPlayer) + "'s Persistent Chest")); + // We clear the search bar, this'll invoke the watch event, if enabled, where we do some other stuff + NuiSetBind(oPlayer, nToken, "search", JsonString("")); + // Enable or disable the clear button depending on if we have the search button enabled + // If the search button is disabled we only enable it if the search bar actually has text + NuiSetBind(oPlayer, nToken, "btn_clear", JsonBool(PC_USE_SEARCH_BUTTON)); + + if (PC_USE_SEARCH_BUTTON) + { + DeleteLocalString(oPlayer, PC_SEARCH_STRING); + PC_UpdateItemList(oPlayer, nToken); + } + + PC_UpdateGoldData(oPlayer, nToken); + + if (bOpenInventory) + PopUpGUIPanel(oPlayer, GUI_PANEL_INVENTORY); +} + +void PC_EnterDepositMode(object oPlayer) +{ + SetLocalInt(oPlayer, PC_TARGETING_MODE, TRUE); + EnterTargetingMode(oPlayer, OBJECT_TYPE_ITEM); +} + +void PC_HandleNUIEvents(object oPlayer, string sWindowId, int nToken, string sType, string sElement, int nArrayIndex) +{ + if (sWindowId == PC_NUI_WINDOW_ID) + { + if (sType == NUI_EVENT_CLICK) + { + if (sElement == "btn_withdraw") + {// The withdraw button is clicked, withdraw some items + PC_WithdrawItems(oPlayer, nToken); + } + else if (sElement == "btn_deposit") + {// The deposit button is clicked, enter deposit mode + PC_EnterDepositMode(oPlayer); + } + else if (sElement == "btn_close") + {// Murder the poor window + NuiDestroy(oPlayer, nToken); + + nToken = NuiFindWindow(oPlayer, PC_NUI_GOLD_WINDOW_ID); + if (nToken) + NuiDestroy(oPlayer, nToken); + } + else if (sElement == "btn_search") + {// Handle the search button if enabled + SetLocalString(oPlayer, PC_SEARCH_STRING, JsonGetString(NuiGetBind(oPlayer, nToken, "search"))); + PC_UpdateItemList(oPlayer, nToken); + } + else if (sElement == "btn_clear") + {// Handle the clear button + NuiSetBind(oPlayer, nToken, "search", JsonString("")); + + if (PC_USE_SEARCH_BUTTON) + { + DeleteLocalString(oPlayer, PC_SEARCH_STRING); + PC_UpdateItemList(oPlayer, nToken); + } + } + else if (sElement == "btn_gold") + { + PC_CreateNUIGoldWindow(oPlayer); + } + } + else if (sType == NUI_EVENT_WATCH) + { + if (sElement == NUI_WINDOW_GEOMETRY_BIND) + {// Whenever the geometry of the window changes this watch event will fire, we just get the bind's value and store it in a local + SetLocalJson(oPlayer, PC_GEOMETRY_JSON, NuiGetBind(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND)); + } + else if (sElement == "search") + {// Whenever the player types in the search bar this watch event fires, we enable or disable the clear button depending on string length and set the search string in a local + string sSearch = JsonGetString(NuiGetBind(oPlayer, nToken, "search")); + + NuiSetBind(oPlayer, nToken, "btn_clear", JsonBool(GetStringLength(sSearch))); + SetLocalString(oPlayer, PC_SEARCH_STRING, sSearch); + PC_UpdateItemList(oPlayer, nToken); + } + } + else if (sType == NUI_EVENT_CLOSE) + { + nToken = NuiFindWindow(oPlayer, PC_NUI_GOLD_WINDOW_ID); + if (nToken) + NuiDestroy(oPlayer, nToken); + } + } + else if (sWindowId == PC_NUI_GOLD_WINDOW_ID) + { + if (sType == NUI_EVENT_CLICK) + { + if (sElement == "btn_deposit") + { + //SendMessageToPC(oPlayer, "Depositing: " + JsonGetString(NuiGetBind(oPlayer, nToken, "amount")) + " gold"); + } + else if (sElement == "btn_close") + { + NuiDestroy(oPlayer, nToken); + } + } + } +} + +int PC_GetStoredItemAmount(object oPlayer) +{// Wrapper to get the number of stored items + string sQuery = "SELECT COUNT(*) FROM " + PC_GetTableName(oPlayer); + sqlquery sql = SqlPrepareQueryCampaign(PC_GetDatabaseName(oPlayer), sQuery); + return SqlStep(sql) ? SqlGetInt(sql, 0) : 0; +} + +void PC_HandleDepositEvent(object oPlayer, object oItem, vector vPosition) +{// This function is fired in the module on player target event + if (!GetLocalInt(oPlayer, PC_TARGETING_MODE))// Make sure it only fires if we're actually depositing an item + return; + + DeleteLocalInt(oPlayer, PC_TARGETING_MODE); + + if (!GetIsObjectValid(oItem) || GetLocalInt(oItem, "PC_ITEM_DESTROYED") || GetObjectType(oItem) != OBJECT_TYPE_ITEM) + return;// Check the validness of the item + + if (GetItemPossessor(oItem) != oPlayer) + {// Check if we actually own the item + SendMessageToPC(oPlayer, "You do not own '" + GetName(oItem) + "'"); + return; + } + + int nStoredItems = PC_GetStoredItemAmount(oPlayer); + if (nStoredItems >= PC_MAX_ITEMS) + {// Check if we have space... + SendMessageToPC(oPlayer, "Your persistent chest is full, withdraw an item first."); + return; + } + + // Here we grab a bunch of data and actually store stuff in the database + // We store the item as json because we need that to get some additional icon data anyway + string sItemUUID = GetObjectUUID(oItem); + int nItemBaseItem = GetBaseItemType(oItem); + string sItemName = Util_GetItemName(oItem, GetIdentified(oItem)); + int nItemStackSize = GetItemStackSize(oItem); + json jItemData = ObjectToJson(oItem, PC_SAVE_ITEM_OBJECT_STATE); + string sItemIconResRef = Util_GetIconResref(oItem, jItemData, nItemBaseItem); + string sQuery = "INSERT INTO " + PC_GetTableName(oPlayer) + + "(item_uuid, item_name, item_baseitem, item_stacksize, item_iconresref, item_data) " + + "VALUES(@item_uuid, @item_name, @item_baseitem, @item_stacksize, @item_iconresref, @item_data);"; + sqlquery sql = SqlPrepareQueryCampaign(PC_GetDatabaseName(oPlayer), sQuery); + + SqlBindString(sql, "@item_uuid", sItemUUID); + SqlBindString(sql, "@item_name", sItemName); + SqlBindInt(sql, "@item_baseitem", nItemBaseItem); + SqlBindInt(sql, "@item_stacksize", nItemStackSize); + SqlBindString(sql, "@item_iconresref", sItemIconResRef); + SqlBindJson(sql, "@item_data", jItemData); + SqlStep(sql); + + int nToken = NuiFindWindow(oPlayer, PC_NUI_WINDOW_ID); + if (nToken) + {// Check if the window is still open, if so update the item list and enter targeting mode again if we still have space + PC_UpdateItemList(oPlayer, nToken); + + if(++nStoredItems != PC_MAX_ITEMS) + { + PC_EnterDepositMode(oPlayer); + } + } + + // Dunno if this is needed but maybe somehow the player clicks on an item before it is destroyed, we'll try to prevent that + SetLocalInt(oItem, "PC_ITEM_DESTROYED", TRUE); + DestroyObject(oItem); +} + +void PC_UpdateItemList(object oPlayer, int nToken) +{ + json jUUIDArray = JsonArray();// This array is stored on the player so we can map an array index to an items UUID + json jNamesArray = JsonArray();// This array is for the list and stores all the names of the items + json jTooltipArray = JsonArray();// This array is for the list and stores all the baseitem tooltips of the items + json jIconsArray = JsonArray();// This array is for the list and stores all the icons of the items + json jSelectedArray = JsonArray();// This array is for the list and stores wether an item is selected or not + + int nNumItems = PC_GetStoredItemAmount(oPlayer); + string sSearch = GetLocalString(oPlayer, PC_SEARCH_STRING); + string sQuery = "SELECT item_uuid, item_name, item_baseitem, item_stacksize, item_iconresref FROM " + + PC_GetTableName(oPlayer) + (sSearch != "" ? " WHERE item_name LIKE @search" : "") +" ORDER BY item_baseitem ASC, item_name ASC;"; + sqlquery sql = SqlPrepareQueryCampaign(PC_GetDatabaseName(oPlayer), sQuery); + + if (sSearch != "") + SqlBindString(sql, "@search", "%" + sSearch + "%"); + + while (SqlStep(sql)) + {// Loop all items + string sUUID = SqlGetString(sql, 0); + string sName = SqlGetString(sql, 1); + int nBaseItem = SqlGetInt(sql, 2); + int nStackSize = SqlGetInt(sql, 3); + string sIconResRef = SqlGetString(sql, 4); + + jUUIDArray = JsonArrayInsert(jUUIDArray, JsonString(sUUID));// Store its UUId + jNamesArray = JsonArrayInsert(jNamesArray, JsonString(sName + (nStackSize > 1 ? " (x" + IntToString(nStackSize) + ")" : "")));// Store its name and stacksize if >1 + jTooltipArray = JsonArrayInsert(jTooltipArray, JsonString(GetStringByStrRef(StringToInt(Get2DAString("baseitems", "Name", nBaseItem)))));// Store the tooltip + jIconsArray = JsonArrayInsert(jIconsArray, JsonString(sIconResRef));// Store the icon + jSelectedArray = JsonArrayInsert(jSelectedArray, JsonBool(FALSE));// Set the item as not selected + } + + SetLocalJson(oPlayer, PC_UUID_ARRAY, jUUIDArray);// We save this array on the player for later use + // Set the list binds to the new arrays + NuiSetBind(oPlayer, nToken, "icons", jIconsArray); + NuiSetBind(oPlayer, nToken, "names", jNamesArray); + NuiSetBind(oPlayer, nToken, "tooltips", jTooltipArray); + NuiSetBind(oPlayer, nToken, "selected", jSelectedArray); + + // Update our progress tracker and its tooltip + NuiSetBind(oPlayer, nToken, "progress", JsonFloat(IntToFloat(nNumItems) / IntToFloat(PC_MAX_ITEMS))); + NuiSetBind(oPlayer, nToken, "progress_tooltip", JsonString(IntToString(nNumItems) + " / " + IntToString(PC_MAX_ITEMS) + " Items Stored")); + + // Disable or enable the withdraw and deposit buttons depending on item amounts + NuiSetBind(oPlayer, nToken, "btn_withdraw", JsonBool(nNumItems > 0)); + NuiSetBind(oPlayer, nToken, "btn_deposit", JsonBool(nNumItems < PC_MAX_ITEMS)); +} + +void VoidJsonToObject(json jObject, location locLocation, object oOwner = OBJECT_INVALID, int bLoadObjectState = FALSE) +{ + JsonToObject(jObject, locLocation, oOwner, bLoadObjectState); +} + +void PC_WithdrawItems(object oPlayer, int nToken) +{ + json jSelected = NuiGetBind(oPlayer, nToken, "selected");// This gets the array of selected items + + int nNumItems = JsonGetLength(jSelected); + if (!nNumItems)// Why bother doing anything if we have no items stored + return; + + string sDatabase = PC_GetDatabaseName(oPlayer); + string sTable = PC_GetTableName(oPlayer); + string sSelectQuery = "SELECT item_data FROM " + sTable + " WHERE item_uuid=@uuid;"; + string sDeleteQuery = "DELETE FROM " + sTable + " WHERE item_uuid=@uuid;"; + json jUUIDs = GetLocalJson(oPlayer, PC_UUID_ARRAY);// Get our array index <-> uuid map + location locPlayer = GetLocation(oPlayer); + int nItem, nWithdrawnItems = 0; + float fDelay = PC_ITEM_WITHDRAW_DELAY; + sqlquery sql; + + for (nItem = 0; nItem < nNumItems; nItem++) + {// Loop all items, this will need improving for big amounts of items + if (JsonGetInt(JsonArrayGet(jSelected, nItem))) + {// Check if the item is selected, if so we withdraw it + string sUUID = JsonGetString(JsonArrayGet(jUUIDs, nItem));// Use the index of the item to get its uuid from the array we stored earlier + sql = SqlPrepareQueryCampaign(sDatabase, sSelectQuery); + SqlBindString(sql, "@uuid", sUUID); + + if (SqlStep(sql)) + { + json jItem = SqlGetJson(sql, 0); + sql = SqlPrepareQueryCampaign(sDatabase, sDeleteQuery);// Delete the database entry of the item + SqlBindString(sql, "@uuid", sUUID); + SqlStep(sql); + + DelayCommand(fDelay, VoidJsonToObject(jItem, locPlayer, oPlayer, PC_SAVE_ITEM_OBJECT_STATE)); + nWithdrawnItems++; + } + } + + if (nWithdrawnItems == PC_ITEM_WITHDRAW_BATCH) + {// Here we do some stuff to not withdraw all items at once + nWithdrawnItems = 0; + fDelay += PC_ITEM_WITHDRAW_DELAY; + } + } + // Finally update the item list again + PC_UpdateItemList(oPlayer, nToken); +} + +int PC_GetStoredGold(object oPlayer) +{ + return GetCampaignInt(PC_GetTableName(oPlayer), "PC_GOLD"); +} + +void PC_SetStoredGold(object oPlayer, int nGold) +{ + SetCampaignInt(PC_GetTableName(oPlayer), "PC_GOLD", nGold); +} + +void PC_ModifyStoredGold(object oPlayer, int nAmount) +{ + PC_SetStoredGold(oPlayer, PC_GetStoredGold(oPlayer) + nAmount); +} + +void PC_UpdateGoldData(object oPlayer, int nToken) +{ + NuiSetBind(oPlayer, nToken, "gold_tooltip", JsonString("Gold: " + IntToString(PC_GetStoredGold(oPlayer)))); +} + +void PC_CreateNUIGoldWindow(object oPlayer) +{ + if (NuiFindWindow(oPlayer, PC_NUI_GOLD_WINDOW_ID)) + return; + + json jWindow = GetLocalJson(GetModule(), PC_GOLD_WINDOW_JSON); + if (jWindow == JsonNull()) + { + json jCol; + json jRow; + + jCol = JsonArray(); + + jRow = JsonArray(); + { + json jTextEdit = NuiTextEdit(JsonString("Amount..."), NuiBind("amount"), 10, FALSE); + jTextEdit = NuiWidth(jTextEdit, 110.0f); + jRow = JsonArrayInsert(jRow, jTextEdit); + + jRow = JsonArrayInsert(jRow, NuiSpacer()); + + json jButtonWithdraw = NuiButton(JsonString("Withdraw")); + jButtonWithdraw = NuiId(jButtonWithdraw, "btn_withdraw"); + jButtonWithdraw = NuiEnabled(jButtonWithdraw, NuiBind("btn_withdraw")); + jButtonWithdraw = NuiWidth(jButtonWithdraw, 90.0f); + jButtonWithdraw = NuiHeight(jButtonWithdraw, 35.0f); + jRow = JsonArrayInsert(jRow, jButtonWithdraw); + + json jButtonDeposit = NuiButton(JsonString("Deposit")); + jButtonDeposit = NuiId(jButtonDeposit, "btn_deposit"); + jButtonDeposit = NuiEnabled(jButtonDeposit, NuiBind("btn_deposit")); + jButtonDeposit = NuiWidth(jButtonDeposit, 90.0f); + jButtonDeposit = NuiHeight(jButtonDeposit, 35.0f); + jRow = JsonArrayInsert(jRow, jButtonDeposit); + } + jCol = JsonArrayInsert(jCol, NuiRow(jRow)); + + jRow = JsonArray(); + { + json jImage = NuiImage(JsonString("iit_gold_001"), JsonInt(NUI_ASPECT_FIT100), JsonInt(NUI_HALIGN_CENTER), JsonInt(NUI_VALIGN_TOP)); + jImage = NuiGroup(jImage, FALSE, NUI_SCROLLBARS_NONE); + jImage = NuiWidth(jImage, 35.0f); + jImage = NuiHeight(jImage, 35.0f); + jRow = JsonArrayInsert(jRow, jImage); + + json jLabel = NuiLabel(JsonString("Gold: "), JsonInt(NUI_HALIGN_LEFT), JsonInt(NUI_VALIGN_MIDDLE)); + jLabel = NuiWidth(jLabel, 40.0f); + jRow = JsonArrayInsert(jRow, jLabel); + + json jAmount = NuiLabel(NuiBind("stored_gold"), JsonInt(NUI_HALIGN_LEFT), JsonInt(NUI_VALIGN_MIDDLE)); + jAmount = NuiWidth(jAmount, 100.0f); + jRow = JsonArrayInsert(jRow, jAmount); + + jRow = JsonArrayInsert(jRow, NuiSpacer()); + + json jButtonDeposit = NuiButton(JsonString("Close")); + jButtonDeposit = NuiId(jButtonDeposit, "btn_close"); + jButtonDeposit = NuiWidth(jButtonDeposit, 90.0f); + jButtonDeposit = NuiHeight(jButtonDeposit, 35.0f); + jRow = JsonArrayInsert(jRow, jButtonDeposit); + } + jCol = JsonArrayInsert(jCol, NuiRow(jRow)); + + json jRoot = NuiCol(jCol); + jWindow = NuiWindow(jRoot, JsonBool(FALSE), NuiRect(-1.0f, -1.0f, 375.0f, 135.0f), JsonBool(FALSE), JsonBool(FALSE), JsonBool(FALSE), JsonBool(FALSE), JsonBool(TRUE)); + SetLocalJson(GetModule(), PC_GOLD_WINDOW_JSON, jWindow); + } + + int nToken = NuiCreate(oPlayer, jWindow, PC_NUI_GOLD_WINDOW_ID); + + NuiSetBind(oPlayer, nToken, "stored_gold", JsonString("5000000")); +} + diff --git a/_module/nss/inc_tictactoe.nss b/_module/nss/inc_tictactoe.nss new file mode 100644 index 00000000..f53d11b3 --- /dev/null +++ b/_module/nss/inc_tictactoe.nss @@ -0,0 +1,660 @@ +/* + Multiplayer TicTacToe NUI Game + Created By: Daz +*/ + +#include "inc_nui" +#include "inc_util" + +const string TTT_WINDOW_ID = "TTT_GAME"; +const string TTT_WINDOW_JSON = "TTT_WINDOW_JSON"; +const string TTT_WINDOW_GEOMETRY = "TTT_WINDOW_GEOMETRY"; +const float TTT_WINDOW_WIDTH = 400.0f; +const float TTT_WINDOW_HEIGHT = 340.0f; + +const float TTT_LINE_LENGTH = 50.0f; +const float TTT_LINE_THICKNESS = 10.0f; +const string TTT_GRID_LINE_LEFT = "ttt_ll"; +const string TTT_GRID_LINE_RIGHT = "ttt_lr"; +const string TTT_GRID_LINE_TOP = "ttt_lt"; +const string TTT_GRID_LINE_BOTTOM = "ttt_lb"; +const string TTT_GRID_LINE_CENTER = "ttt_lc"; +const string TTT_GRID_LINE_VERTICAL = "ttt_lmv"; +const string TTT_GRID_LINE_HORIZONTAL = "ttt_lmh"; + +const string TTT_BIND_HEADER_TEXT = "header_text"; +const string TTT_BIND_PORTRAIT_ONE = "po_player1"; +const string TTT_BIND_PORTRAIT_TWO = "po_player2"; +const string TTT_BIND_INFO_TEXT = "info_text"; +const string TTT_BIND_BUTTON_RESTART = "btn_restart"; + +const string TTT_IMAGE_BLANK = "ttt_blank"; +const string TTT_IMAGE_CIRCLE = "ttt_circle"; +const string TTT_IMAGE_CROSS = "ttt_cross"; + +const string TTT_CELL_PREFIX = "ttt_cell_"; +const int TTT_NUM_CELLS = 9; + +const string TTT_CELL_VALUE_BLANK = ""; +const string TTT_CELL_VALUE_CIRCLE = "O"; +const string TTT_CELL_VALUE_CROSS = "X"; + +const string TTT_BOARD = "TTT_BOARD"; +const string TTT_PLAYER_ID = "TTT_PLAYER_ID"; +const string TTT_PLAYER_ONE = "TTT_PLAYER_ONE"; +const string TTT_PLAYER_TWO = "TTT_PLAYER_TWO"; + +const string TTT_CURRENT_PLAYER = "TTT_CURRENT_PLAYER"; + +const string TTT_WIN_CONDITIONS = "TTT_WIN_CONDITIONS"; +const string TTT_GRID_STATE = "TTT_GRID_STATE"; + +const string TTT_GAME_STATE = "TTT_GAME_STATE"; +const int TTT_GAME_STATE_NONE = 0; +const int TTT_GAME_STATE_WAITING = 1; +const int TTT_GAME_STATE_PLAYING = 2; +const int TTT_GAME_STATE_GAME_OVER = 3; + +string TTT_IntToCellString(int nCell); +json TTT_InsertGridLine(json jCol, string sImage, float fWidth, float fHeight); +json TTT_InsertGridCell(json jCol, int nCell); +json TTT_GetTicTacToeGridJson(); +json TTT_GetWindowJson(); +void TTT_SetRestartButtonEnabled(object oGame, int bEnabled); +int TTT_GetPlayerWindowToken(object oPlayer); +void TTT_SetGame(object oPlayer, object oGame); +object TTT_GetGame(object oPlayer); +void TTT_DeleteGame(object oPlayer); +void TTT_SetPlayerId(object oPlayer, string sPlayerId); +string TTT_GetPlayerId(object oPlayer); +void TTT_DeletePlayerId(object oPlayer); +void TTT_SetPlayer(object oGame, string sPlayerId, object oPlayer); +object TTT_GetPlayer(object oGame, string sPlayerId); +void TTT_DeletePlayer(object oGame, string sPlayerId); +void TTT_SetCurrentPlayer(object oGame, object oPlayer); +object TTT_GetCurrentPlayer(object oGame); +string TTT_GetCurrentPlayerSymbol(object oGame); +object TTT_GetOpponent(object oGame); +object TTT_GetValidatedPlayer(object oGame, string sPlayerId); +int TTT_GetIsPlayerValid(object oGame, string sPlayerId); +int TTT_GetNumPlayers(object oGame); +string TTT_GetFreePlayerId(object oGame); +object TTT_GetSinglePlayer(object oGame); +void TTT_UpdateBind(object oPlayer, string sBindName, json jValue); +void TTT_UpdateBindsForPlayers(object oGame, string sBindName, json jValue); +int TTT_CreateGameWindow(object oPlayer); +void TTT_UpdateStaticBinds(object oGame); +void TTT_UpdateGridCellBind(object oGame, int nCell, json jImage); +string TTT_GetImageFromSymbol(string sSymbol); +void TTT_UpdateGridBinds(object oGame); +void TTT_UpdateInfoTextBind(object oGame, string sText); +void TTT_AddPlayerToGame(object oPlayer, object oGame = OBJECT_SELF); +void TTT_HandleNUIEvents(object oPlayer, int nToken, string sType, string sElement, int nArrayIndex, json jPayload); +json TTT_InsertWinCondition(json jWinConditions, int nValueA, int nValueB, int nValueC); +json TTT_GetWinConditions(); +json TTT_GetGridState(object oGame); +void TTT_SetGridState(object oGame, json jGridState); +void TTT_ClearGridState(object oGame); +string TTT_GetGridStateCell(object oGame, int nCell); +void TTT_SetGridStateCell(object oGame, int nCell, string sValue); +int TTT_GetGameState(object oGame); +void TTT_SetGameState(object oGame, int nGameState, string sInfoText); +void TTT_UpdateGameState(object oGame); +int TTT_GetIsDraw(object oGame); +int TTT_GetIsWin(object oGame); +void TTT_RestartGame(object oGame); +void TTT_RemovePlayerFromGame(object oGame, object oPlayer); +void TTT_HandlePlayerExit(object oPlayer); + +string TTT_IntToCellString(int nCell) +{ + return TTT_CELL_PREFIX + IntToString(nCell); +} + +json TTT_InsertGridLine(json jCol, string sImage, float fWidth, float fHeight) +{ + json jImage = NuiImage(JsonString(sImage), JsonInt(NUI_ASPECT_EXACT), JsonInt(NUI_HALIGN_CENTER), JsonInt(NUI_VALIGN_MIDDLE)); + jImage = NuiMargin(jImage, 0.0f); + jImage = NuiWidth(jImage, fWidth); + jImage = NuiHeight(jImage, fHeight); + return JsonArrayInsert(jCol, NuiMargin(NuiRow(JsonArrayInsert(JsonArray(), jImage)), 0.0f)); +} + +json TTT_InsertGridCell(json jCol, int nCell) +{ + string sCell = TTT_IntToCellString(nCell); + json jImage = NuiImage(NuiBind(sCell), JsonInt(NUI_ASPECT_EXACT), JsonInt(NUI_HALIGN_CENTER), JsonInt(NUI_VALIGN_MIDDLE)); + jImage = NuiId(jImage, sCell); + jImage = NuiMargin(jImage, 0.0f); + jImage = NuiWidth(jImage, TTT_LINE_LENGTH); + jImage = NuiHeight(jImage, TTT_LINE_LENGTH); + return JsonArrayInsert(jCol, NuiMargin(NuiRow(JsonArrayInsert(JsonArray(), jImage)), 0.0f)); +} + +json TTT_GetTicTacToeGridJson() +{ + json jCol = JsonArray(), jRow; + jRow = JsonArray(); + { + json jSubCol, jSubRow; + + jSubCol = JsonArray(); + jSubCol = TTT_InsertGridCell(jSubCol, 0); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_LEFT, TTT_LINE_LENGTH, TTT_LINE_THICKNESS); + jSubCol = TTT_InsertGridCell(jSubCol, 3); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_LEFT, TTT_LINE_LENGTH, TTT_LINE_THICKNESS); + jSubCol = TTT_InsertGridCell(jSubCol, 6); + jRow = JsonArrayInsert(jRow, NuiMargin(NuiCol(jSubCol), 0.0f)); + + jSubCol = JsonArray(); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_TOP, TTT_LINE_THICKNESS, TTT_LINE_LENGTH); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_CENTER, TTT_LINE_THICKNESS, TTT_LINE_THICKNESS); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_VERTICAL, TTT_LINE_THICKNESS, TTT_LINE_LENGTH); + jSubCol = TTT_InsertGridLine(jSubCol,TTT_GRID_LINE_CENTER, TTT_LINE_THICKNESS, TTT_LINE_THICKNESS); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_BOTTOM, TTT_LINE_THICKNESS, TTT_LINE_LENGTH); + jRow = JsonArrayInsert(jRow, NuiMargin(NuiCol(jSubCol), 0.0f)); + + jSubCol = JsonArray(); + jSubCol = TTT_InsertGridCell(jSubCol, 1); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_HORIZONTAL, TTT_LINE_LENGTH, TTT_LINE_THICKNESS); + jSubCol = TTT_InsertGridCell(jSubCol, 4); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_HORIZONTAL, TTT_LINE_LENGTH, TTT_LINE_THICKNESS); + jSubCol = TTT_InsertGridCell(jSubCol, 7); + jRow = JsonArrayInsert(jRow, NuiMargin(NuiCol(jSubCol), 0.0f)); + + jSubCol = JsonArray(); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_TOP, TTT_LINE_THICKNESS, TTT_LINE_LENGTH); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_CENTER, TTT_LINE_THICKNESS, TTT_LINE_THICKNESS); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_VERTICAL, TTT_LINE_THICKNESS, TTT_LINE_LENGTH); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_CENTER, TTT_LINE_THICKNESS, TTT_LINE_THICKNESS); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_BOTTOM, TTT_LINE_THICKNESS, TTT_LINE_LENGTH); + jRow = JsonArrayInsert(jRow, NuiMargin(NuiCol(jSubCol), 0.0f)); + + jSubCol = JsonArray(); + jSubCol = TTT_InsertGridCell(jSubCol, 2); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_RIGHT, TTT_LINE_LENGTH, TTT_LINE_THICKNESS); + jSubCol = TTT_InsertGridCell(jSubCol, 5); + jSubCol = TTT_InsertGridLine(jSubCol, TTT_GRID_LINE_RIGHT, TTT_LINE_LENGTH, TTT_LINE_THICKNESS); + jSubCol = TTT_InsertGridCell(jSubCol, 8); + jRow = JsonArrayInsert(jRow, NuiMargin(NuiCol(jSubCol), 0.0f)); + } + jCol = NuiInsertRow(jCol, jRow); + + return NuiCol(jCol); +} + +json TTT_GetWindowJson() +{ + json jWindow = GetLocalJson(GetModule(), TTT_WINDOW_JSON); + if (jWindow == JsonNull()) + { + json jCol; + json jRow; + + jCol = JsonArray(); + + jRow = JsonArray(); + { + json jHeader = NuiHeader(NuiBind(TTT_BIND_HEADER_TEXT)); + jRow = JsonArrayInsert(jRow, jHeader); + } + jCol = NuiInsertRow(jCol, jRow); + + jRow = JsonArray(); + { + jRow = JsonArrayInsert(jRow, NuiSpacer()); + + json jPlayer1 = NuiImage(NuiBind(TTT_BIND_PORTRAIT_ONE), JsonInt(NUI_ASPECT_EXACT), JsonInt(NUI_HALIGN_CENTER), JsonInt(NUI_VALIGN_TOP)); + jPlayer1 = NuiMargin(jPlayer1, 0.0f); + jPlayer1 = NuiGroup(jPlayer1, TRUE, NUI_SCROLLBARS_NONE); + jPlayer1 = NuiWidth(jPlayer1, 64.0f); + jPlayer1 = NuiHeight(jPlayer1, 100.0f); + jRow = JsonArrayInsert(jRow, jPlayer1); + + jRow = JsonArrayInsert(jRow, NuiSpacer()); + + json jTicTacToe = TTT_GetTicTacToeGridJson(); + jTicTacToe = NuiGroup(jTicTacToe, FALSE, NUI_SCROLLBARS_NONE); + jTicTacToe = NuiWidth(jTicTacToe, 182.0f); + jTicTacToe = NuiHeight(jTicTacToe, 182.0f); + jRow = JsonArrayInsert(jRow, jTicTacToe); + + jRow = JsonArrayInsert(jRow, NuiSpacer()); + + json jPlayer2 = NuiImage(NuiBind(TTT_BIND_PORTRAIT_TWO), JsonInt(NUI_ASPECT_EXACT), JsonInt(NUI_HALIGN_CENTER), JsonInt(NUI_VALIGN_TOP)); + jPlayer2 = NuiMargin(jPlayer2, 0.0f); + jPlayer2 = NuiGroup(jPlayer2, TRUE, NUI_SCROLLBARS_NONE); + jPlayer2 = NuiWidth(jPlayer2, 64.0f); + jPlayer2 = NuiHeight(jPlayer2, 100.0f); + jRow = JsonArrayInsert(jRow, jPlayer2); + + jRow = JsonArrayInsert(jRow, NuiSpacer()); + } + jCol = NuiInsertRow(jCol, jRow); + + jRow = JsonArray(); + { + json jHeader = NuiHeader(NuiBind(TTT_BIND_INFO_TEXT)); + jRow = JsonArrayInsert(jRow, jHeader); + } + jCol = NuiInsertRow(jCol, jRow); + + jRow = JsonArray(); + { + jRow = JsonArrayInsert(jRow, NuiSpacer()); + + json jButton = NuiButton(JsonString("Restart")); + jButton = NuiId(jButton, TTT_BIND_BUTTON_RESTART); + jButton = NuiEnabled(jButton, NuiBind(TTT_BIND_BUTTON_RESTART)); + jButton = NuiHeight(jButton, 30.0f); + jRow = JsonArrayInsert(jRow, jButton); + + jRow = JsonArrayInsert(jRow, NuiSpacer()); + } + jCol = NuiInsertRow(jCol, jRow); + + jRow = JsonArray(); + { + jRow = JsonArrayInsert(jRow, NuiSpacer()); + } + jCol = NuiInsertRow(jCol, jRow); + + json jRoot = NuiCol(jCol); + jWindow = NuiWindow(jRoot, JsonString("TicTacToe"), NuiBind(NUI_WINDOW_GEOMETRY_BIND), JsonBool(FALSE), JsonNull(), JsonBool(TRUE), JsonBool(FALSE), JsonBool(TRUE)); + SetLocalJson(GetModule(), TTT_WINDOW_JSON, jWindow); + } + + return jWindow; +} + +void TTT_SetRestartButtonEnabled(object oGame, int bEnabled) { TTT_UpdateBindsForPlayers(oGame, TTT_BIND_BUTTON_RESTART, JsonBool(bEnabled)); } +int TTT_GetPlayerWindowToken(object oPlayer) { return NuiFindWindow(oPlayer, TTT_WINDOW_ID); } +void TTT_SetGame(object oPlayer, object oGame) { SetLocalObject(oPlayer, TTT_BOARD, oGame); } +object TTT_GetGame(object oPlayer) { return GetLocalObject(oPlayer, TTT_BOARD); } +void TTT_DeleteGame(object oPlayer) { DeleteLocalObject(oPlayer, TTT_BOARD); } +void TTT_SetPlayerId(object oPlayer, string sPlayerId) { SetLocalString(oPlayer, TTT_PLAYER_ID, sPlayerId); } +string TTT_GetPlayerId(object oPlayer) { return GetLocalString(oPlayer, TTT_PLAYER_ID); } +void TTT_DeletePlayerId(object oPlayer) { DeleteLocalString(oPlayer, TTT_PLAYER_ID); } +void TTT_SetPlayer(object oGame, string sPlayerId, object oPlayer) { SetLocalObject(oGame, sPlayerId, oPlayer); } +object TTT_GetPlayer(object oGame, string sPlayerId) { return GetLocalObject(oGame, sPlayerId); } +void TTT_DeletePlayer(object oGame, string sPlayerId) { DeleteLocalObject(oGame, sPlayerId); } +void TTT_SetCurrentPlayer(object oGame, object oPlayer) { SetLocalObject(oGame, TTT_CURRENT_PLAYER, oPlayer); } +object TTT_GetCurrentPlayer(object oGame) { return GetLocalObject(oGame, TTT_CURRENT_PLAYER); } + +string TTT_GetCurrentPlayerSymbol(object oGame) +{ + return TTT_GetPlayerId(TTT_GetCurrentPlayer(oGame)) == TTT_PLAYER_ONE ? TTT_CELL_VALUE_CROSS : TTT_CELL_VALUE_CIRCLE; +} + +object TTT_GetOpponent(object oGame) +{ + return TTT_GetPlayerId(TTT_GetCurrentPlayer(oGame)) == TTT_PLAYER_ONE ? TTT_GetPlayer(oGame, TTT_PLAYER_TWO) : TTT_GetPlayer(oGame, TTT_PLAYER_ONE); +} + +object TTT_GetValidatedPlayer(object oGame, string sPlayerId) +{ + return TTT_GetIsPlayerValid(oGame, sPlayerId) ? TTT_GetPlayer(oGame, sPlayerId) : OBJECT_INVALID; +} + +int TTT_GetIsPlayerValid(object oGame, string sPlayerId) +{ + object oPlayer = TTT_GetPlayer(oGame, sPlayerId); + return GetIsObjectValid(oPlayer) && TTT_GetPlayerWindowToken(oPlayer); +} + +int TTT_GetNumPlayers(object oGame) +{ + return TTT_GetIsPlayerValid(oGame, TTT_PLAYER_ONE) + TTT_GetIsPlayerValid(oGame, TTT_PLAYER_TWO); +} + +string TTT_GetFreePlayerId(object oGame) +{ + if (!TTT_GetIsPlayerValid(oGame, TTT_PLAYER_ONE)) + return TTT_PLAYER_ONE; + else if (!TTT_GetIsPlayerValid(oGame, TTT_PLAYER_TWO)) + return TTT_PLAYER_TWO; + else + return "IF_THIS_HAPPENS_YOU_DID_SOMETHING_WRONG"; +} + +object TTT_GetSinglePlayer(object oGame) +{ + object oPlayer = TTT_GetValidatedPlayer(oGame, TTT_PLAYER_ONE); + if (oPlayer != OBJECT_INVALID) + return oPlayer; + else + { + oPlayer = TTT_GetValidatedPlayer(oGame, TTT_PLAYER_TWO); + if (oPlayer != OBJECT_INVALID) + return oPlayer; + } + + return OBJECT_INVALID; +} + +void TTT_UpdateBind(object oPlayer, string sBindName, json jValue) +{ + if (GetIsObjectValid(oPlayer)) + { + int nToken = TTT_GetPlayerWindowToken(oPlayer); + if (nToken) + NuiSetBind(oPlayer, nToken, sBindName, jValue); + } +} + +void TTT_UpdateBindsForPlayers(object oGame, string sBindName, json jValue) +{ + TTT_UpdateBind(TTT_GetValidatedPlayer(oGame, TTT_PLAYER_ONE), sBindName, jValue); + TTT_UpdateBind(TTT_GetValidatedPlayer(oGame, TTT_PLAYER_TWO), sBindName, jValue); +} + +int TTT_CreateGameWindow(object oPlayer) +{ + int nToken = NuiCreate(oPlayer, TTT_GetWindowJson(), TTT_WINDOW_ID); + + json jGeometry = GetLocalJson(oPlayer, TTT_WINDOW_GEOMETRY); + if (jGeometry == JsonNull()) + jGeometry = NuiRect(100.0f, 100.0f, TTT_WINDOW_WIDTH, TTT_WINDOW_HEIGHT); + + NuiSetBindWatch(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND, TRUE); + NuiSetBind(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND, jGeometry); + + return nToken; +} + +void TTT_UpdateStaticBinds(object oGame) +{ + object oPlayerOne = TTT_GetValidatedPlayer(oGame, TTT_PLAYER_ONE); + object oPlayerTwo = TTT_GetValidatedPlayer(oGame, TTT_PLAYER_TWO); + + string sNamePlayerOne = oPlayerOne == OBJECT_INVALID ? "???" : GetName(oPlayerOne); + string sNamePlayerTwo = oPlayerTwo == OBJECT_INVALID ? "???" : GetName(oPlayerTwo); + string sHeader = sNamePlayerOne + " vs. " + sNamePlayerTwo; + TTT_UpdateBindsForPlayers(oGame, TTT_BIND_HEADER_TEXT, JsonString(sHeader)); + + string sPortraitPlayerOne = oPlayerOne == OBJECT_INVALID ? "po_hu_m_99_m" : GetPortraitResRef(oPlayerOne) + "m"; + string sPortraitPlayerTwo = oPlayerTwo == OBJECT_INVALID ? "po_hu_m_99_m" : GetPortraitResRef(oPlayerTwo) + "m"; + TTT_UpdateBindsForPlayers(oGame, TTT_BIND_PORTRAIT_ONE, JsonString(sPortraitPlayerOne)); + TTT_UpdateBindsForPlayers(oGame, TTT_BIND_PORTRAIT_TWO, JsonString(sPortraitPlayerTwo)); +} + +void TTT_UpdateGridCellBind(object oGame, int nCell, json jImage) +{ + TTT_UpdateBindsForPlayers(oGame, TTT_IntToCellString(nCell), jImage); +} + +string TTT_GetImageFromSymbol(string sSymbol) +{ + return sSymbol == TTT_CELL_VALUE_BLANK ? TTT_IMAGE_BLANK : sSymbol == TTT_CELL_VALUE_CIRCLE ? TTT_IMAGE_CIRCLE : TTT_IMAGE_CROSS; +} + +void TTT_UpdateGridBinds(object oGame) +{ + json jGridState = TTT_GetGridState(oGame); + int nCell, nNumCells = JsonGetLength(jGridState); + for (nCell = 0; nCell < nNumCells; nCell++) + { + string sImage = TTT_GetImageFromSymbol(JsonGetString(JsonArrayGet(jGridState, nCell))); + TTT_UpdateGridCellBind(oGame, nCell, JsonString(sImage)); + } +} + +void TTT_UpdateInfoTextBind(object oGame, string sText) +{ + TTT_UpdateBindsForPlayers(oGame, TTT_BIND_INFO_TEXT, JsonString(sText)); +} + +void TTT_AddPlayerToGame(object oPlayer, object oGame = OBJECT_SELF) +{ + if (TTT_GetPlayerWindowToken(oPlayer)) + { + FloatingTextStringOnCreature("TicTacToe: Player Already In Game", oPlayer, FALSE); + return; + } + + int nNumPlayers = TTT_GetNumPlayers(oGame); + if (nNumPlayers == 2) + { + FloatingTextStringOnCreature("TicTacToe: Max Number Of Players Reached", oPlayer, FALSE); + return; + } + + if (!nNumPlayers) + { + TTT_ClearGridState(oGame); + TTT_SetGameState(oGame, TTT_GAME_STATE_NONE, ""); + TTT_DeletePlayer(oGame, TTT_PLAYER_ONE); + TTT_DeletePlayer(oGame, TTT_PLAYER_TWO); + } + + string sPlayerId = TTT_GetFreePlayerId(oGame); + TTT_SetPlayer(oGame, sPlayerId, oPlayer); + TTT_SetPlayerId(oPlayer, sPlayerId); + TTT_SetGame(oPlayer, oGame); + + TTT_CreateGameWindow(oPlayer); + TTT_UpdateStaticBinds(oGame); + TTT_UpdateGridBinds(oGame); + TTT_UpdateGameState(oGame); +} + +void TTT_HandleNUIEvents(object oPlayer, int nToken, string sType, string sElement, int nArrayIndex, json jPayload) +{ + if (sType == NUI_EVENT_MOUSEUP) + { + if (GetStringLeft(sElement, GetStringLength(TTT_CELL_PREFIX)) == TTT_CELL_PREFIX) + { + object oGame = TTT_GetGame(oPlayer); + object oCurrentPlayer = TTT_GetCurrentPlayer(oGame); + int nCell = StringToInt(GetStringRight(sElement, 1)); + int nGameState = TTT_GetGameState(oGame); + + if (nGameState != TTT_GAME_STATE_PLAYING || + oCurrentPlayer != oPlayer || + TTT_GetGridStateCell(oGame, nCell) != TTT_CELL_VALUE_BLANK) + return; + + string sSymbol = TTT_GetCurrentPlayerSymbol(oGame); + + TTT_SetGridStateCell(oGame, nCell, sSymbol); + TTT_UpdateGridCellBind(oGame, nCell, JsonString(TTT_GetImageFromSymbol(sSymbol))); + + if (TTT_GetIsWin(oGame)) + TTT_SetGameState(oGame, TTT_GAME_STATE_GAME_OVER, GetName(oCurrentPlayer) + " won!"); + else if (TTT_GetIsDraw(oGame)) + TTT_SetGameState(oGame, TTT_GAME_STATE_GAME_OVER, "Draw!"); + else + { + object oOpponent = TTT_GetOpponent(oGame); + TTT_SetGameState(oGame, TTT_GAME_STATE_PLAYING, GetName(oOpponent) + "'s turn!"); + TTT_SetCurrentPlayer(oGame, oOpponent); + } + } + } + else if (sType == NUI_EVENT_CLICK) + { + if (sElement == TTT_BIND_BUTTON_RESTART) + { + object oGame = TTT_GetGame(oPlayer); + if (TTT_GetGameState(oGame) == TTT_GAME_STATE_GAME_OVER) + TTT_RestartGame(oGame); + } + } + else if (sType == NUI_EVENT_CLOSE) + { + if (sElement == NUI_WINDOW_ROOT_GROUP) + { + object oGame = TTT_GetGame(oPlayer); + TTT_RemovePlayerFromGame(oGame, oPlayer); + TTT_RestartGame(oGame); + } + } + else if (sType == NUI_EVENT_WATCH) + { + if (sElement == NUI_WINDOW_GEOMETRY_BIND) + { + SetLocalJson(oPlayer, TTT_WINDOW_GEOMETRY, NuiGetBind(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND)); + } + } +} + +json TTT_InsertWinCondition(json jWinConditions, int nValueA, int nValueB, int nValueC) +{ + json jWinCondition = JsonArray(); + jWinCondition = JsonArrayInsert(jWinCondition, JsonInt(nValueA)); + jWinCondition = JsonArrayInsert(jWinCondition, JsonInt(nValueB)); + jWinCondition = JsonArrayInsert(jWinCondition, JsonInt(nValueC)); + return JsonArrayInsert(jWinConditions, jWinCondition); +} + +json TTT_GetWinConditions() +{ + json jWinConditions = GetLocalJson(GetModule(), TTT_WIN_CONDITIONS); + if (jWinConditions == JsonNull()) + { + jWinConditions = JsonArray(); + jWinConditions = TTT_InsertWinCondition(jWinConditions, 0, 1, 2); + jWinConditions = TTT_InsertWinCondition(jWinConditions, 3, 4, 5); + jWinConditions = TTT_InsertWinCondition(jWinConditions, 6, 7, 8); + jWinConditions = TTT_InsertWinCondition(jWinConditions, 0, 3, 6); + jWinConditions = TTT_InsertWinCondition(jWinConditions, 1, 4, 7); + jWinConditions = TTT_InsertWinCondition(jWinConditions, 2, 5, 8); + jWinConditions = TTT_InsertWinCondition(jWinConditions, 0, 4, 8); + jWinConditions = TTT_InsertWinCondition(jWinConditions, 2, 4, 6); + + SetLocalJson(GetModule(), TTT_WIN_CONDITIONS, jWinConditions); + } + + return jWinConditions; +} + +json TTT_GetGridState(object oGame) +{ + return GetLocalJson(oGame, TTT_GRID_STATE); +} + +void TTT_SetGridState(object oGame, json jGridState) +{ + SetLocalJson(oGame, TTT_GRID_STATE, jGridState); +} + +void TTT_ClearGridState(object oGame) +{ + json jGridState = JsonArray(); + int nCell; + for (nCell = 0; nCell < TTT_NUM_CELLS; nCell++) + { + jGridState = JsonArrayInsert(jGridState, JsonString(TTT_CELL_VALUE_BLANK)); + } + + TTT_SetGridState(oGame, jGridState); +} + +string TTT_GetGridStateCell(object oGame, int nCell) +{ + json jGridState = TTT_GetGridState(oGame); + return JsonGetString(JsonArrayGet(jGridState, nCell)); +} + +void TTT_SetGridStateCell(object oGame, int nCell, string sValue) +{ + json jGridState = TTT_GetGridState(oGame); + jGridState = JsonArraySet(jGridState, nCell, JsonString(sValue)); + TTT_SetGridState(oGame, jGridState); +} + +int TTT_GetGameState(object oGame) +{ + return GetLocalInt(oGame, TTT_GAME_STATE); +} + +void TTT_SetGameState(object oGame, int nGameState, string sInfoText) +{ + SetLocalInt(oGame, TTT_GAME_STATE, nGameState); + TTT_UpdateInfoTextBind(oGame, sInfoText); + + if (nGameState == TTT_GAME_STATE_GAME_OVER) + TTT_SetRestartButtonEnabled(oGame, TRUE); + else + TTT_SetRestartButtonEnabled(oGame, FALSE); +} + +void TTT_UpdateGameState(object oGame) +{ + int nNumPlayers = TTT_GetNumPlayers(oGame); + + if (nNumPlayers == 1) + { + TTT_SetGameState(oGame, TTT_GAME_STATE_WAITING, "Waiting for opponent..."); + TTT_SetCurrentPlayer(oGame, TTT_GetSinglePlayer(oGame)); + } + else if (nNumPlayers == 2) + { + TTT_SetGameState(oGame, TTT_GAME_STATE_PLAYING, GetName(TTT_GetCurrentPlayer(oGame)) + "'s turn!"); + } +} + +int TTT_GetIsDraw(object oGame) +{ + json jGridState = TTT_GetGridState(oGame); + int nCell, nNumCells = JsonGetLength(jGridState); + for (nCell = 0; nCell < nNumCells; nCell++) + { + if (JsonGetString(JsonArrayGet(jGridState, nCell)) == TTT_CELL_VALUE_BLANK) + return FALSE; + } + + return TRUE; +} + +int TTT_GetIsWin(object oGame) +{ + json jGridState = TTT_GetGridState(oGame); + json jWinConditions = TTT_GetWinConditions(); + int nWinCondition, nNumWinConditions = JsonGetLength(jWinConditions); + + for(nWinCondition = 0; nWinCondition < nNumWinConditions; nWinCondition++) + { + json jWinCondition = JsonArrayGet(jWinConditions, nWinCondition); + string sValueA = JsonGetString(JsonArrayGet(jGridState, JsonGetInt(JsonArrayGet(jWinCondition, 0)))); + string sValueB = JsonGetString(JsonArrayGet(jGridState, JsonGetInt(JsonArrayGet(jWinCondition, 1)))); + string sValueC = JsonGetString(JsonArrayGet(jGridState, JsonGetInt(JsonArrayGet(jWinCondition, 2)))); + + if (sValueA == TTT_CELL_VALUE_BLANK || sValueB == TTT_CELL_VALUE_BLANK ||sValueC == TTT_CELL_VALUE_BLANK) + continue; + + if (sValueA == sValueB && sValueB == sValueC) + return TRUE; + } + + return FALSE; +} + +void TTT_RestartGame(object oGame) +{ + TTT_SetGameState(oGame, TTT_GAME_STATE_NONE, ""); + TTT_ClearGridState(oGame); + TTT_UpdateStaticBinds(oGame); + TTT_UpdateGridBinds(oGame); + TTT_UpdateGameState(oGame); +} + +void TTT_RemovePlayerFromGame(object oGame, object oPlayer) +{ + NuiDestroy(oPlayer, TTT_GetPlayerWindowToken(oPlayer)); + + TTT_DeletePlayer(oGame, TTT_GetPlayerId(oPlayer)); + TTT_DeleteGame(oPlayer); + TTT_DeletePlayerId(oPlayer); +} + +void TTT_HandlePlayerExit(object oPlayer) +{ + if (TTT_GetPlayerWindowToken(oPlayer)) + { + object oGame = TTT_GetGame(oPlayer); + TTT_RemovePlayerFromGame(oGame, oPlayer); + TTT_RestartGame(oGame); + } +} + diff --git a/_module/nss/inc_transform.nss b/_module/nss/inc_transform.nss new file mode 100644 index 00000000..4f9d578b --- /dev/null +++ b/_module/nss/inc_transform.nss @@ -0,0 +1,305 @@ +/* + Visual Transform NUI Window + Created By: Daz +*/ + +#include "inc_nui" + +const string VT_WINDOW_ID = "VT"; +const string VT_WINDOW_JSON = "VT_WINDOW_JSON"; +const string VT_WINDOW_GEOMETRY = "VT_WINDOW_GEOMETRY"; + +const string VT_VALUE_BIND_PREFIX = "vt_value_"; +const string VT_DISPLAY_BIND_PREFIX = "vt_display_"; +const string VT_CLEAR_BUTTON_ID_PREFIX = "vt_btn_clear_"; + +const string VT_TARGET_BUTTON_ID = "vt_btn_target"; +const string VT_CURRENT_TARGET = "VT_CURRENT_TARGET"; +const string VT_TARGETING_MODE = "VT_TARGETING_MODE"; + +const float VT_SCALE_MIN = 1.0f; +const float VT_SCALE_MAX = 10.0f; +const float VT_SCALE_STEP = 0.1f; +const float VT_SCALE_DEFAULT = 1.0f; + +const float VT_ROTATE_MIN = 0.0f; +const float VT_ROTATE_MAX = 359.0f; +const float VT_ROTATE_STEP = 1.0f; + +const float VT_TRANSLATE_MIN = -10.0f; +const float VT_TRANSLATE_MAX = 10.0f; +const float VT_TRANSLATE_STEP = 0.1f; + +void VT_HandleNUIEvents(object oPlayer, int nToken, string sType, string sElement, int nArrayIndex, json jPayload); +string VT_GetValueBind(int nType); +string VT_GetDisplayBind(int nType); +string VT_GetClearButtonId(int nType); +json VT_CreateVisualTransformRow(string sName, int nType, float fMin, float fMax, float fStep); +void VT_SetValueBindToCurrentValue(object oPlayer, int nToken, int nType); +void VT_ShowWindow(object oPlayer); +void VT_SetCurrentTarget(object oPlayer, object oTarget); +object VT_GetCurrentTarget(object oPlayer); +void VT_DeleteCurrentTarget(object oPlayer); +void VT_EnterTargetMode(object oPlayer); +void VT_HandleTargetEvent(object oPlayer, object oTarget, vector vPosition); + +void VT_HandleNUIEvents(object oPlayer, int nToken, string sType, string sElement, int nArrayIndex, json jPayload) +{ + if (sType == NUI_EVENT_CLICK) + { + if (sElement == VT_TARGET_BUTTON_ID) + { + VT_EnterTargetMode(oPlayer); + } + else if (GetStringLeft(sElement, GetStringLength(VT_CLEAR_BUTTON_ID_PREFIX)) == VT_CLEAR_BUTTON_ID_PREFIX) + { + int nType = StringToInt(GetStringRight(sElement, 2)); + NuiSetBind(oPlayer, nToken, VT_GetValueBind(nType), JsonFloat(nType == OBJECT_VISUAL_TRANSFORM_SCALE ? VT_SCALE_DEFAULT : 0.0f)); + } + } + else if (sType == NUI_EVENT_WATCH) + { + if (GetStringLeft(sElement, GetStringLength(VT_VALUE_BIND_PREFIX)) == VT_VALUE_BIND_PREFIX) + { + int nType = StringToInt(GetStringRight(sElement, 2)); + float fValue = JsonGetFloat(NuiGetBind(oPlayer, nToken, VT_GetValueBind(nType))); + object oTarget = VT_GetCurrentTarget(oPlayer); + + SetObjectVisualTransform(oTarget, nType, fValue); + + NuiSetBind(oPlayer, nToken, VT_GetDisplayBind(nType), JsonString(FloatToString(fValue, 2, 1))); + } + else if (sElement == NUI_WINDOW_GEOMETRY_BIND) + { + SetLocalJson(oPlayer, VT_WINDOW_GEOMETRY, NuiGetBind(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND)); + } + } + else if (sType == NUI_EVENT_MOUSESCROLL) + { + if (GetStringLeft(sElement, GetStringLength(VT_VALUE_BIND_PREFIX)) == VT_VALUE_BIND_PREFIX) + { + int nType = StringToInt(GetStringRight(sElement, 2)); + float fDelta = NuiGetMouseScrollDelta(jPayload); + + float fStep; + switch (nType) + { + case OBJECT_VISUAL_TRANSFORM_SCALE: + fStep = VT_SCALE_STEP; + break; + case OBJECT_VISUAL_TRANSFORM_ROTATE_X: + case OBJECT_VISUAL_TRANSFORM_ROTATE_Y: + case OBJECT_VISUAL_TRANSFORM_ROTATE_Z: + fStep = VT_ROTATE_STEP; + break; + case OBJECT_VISUAL_TRANSFORM_TRANSLATE_X: + case OBJECT_VISUAL_TRANSFORM_TRANSLATE_Y: + case OBJECT_VISUAL_TRANSFORM_TRANSLATE_Z: + fStep = VT_TRANSLATE_STEP; + break; + } + + float fCurrentValue = JsonGetFloat(NuiGetBind(oPlayer, nToken, sElement)); + NuiSetBind(oPlayer, nToken, sElement, JsonFloat(fCurrentValue + (fDelta > 0.0f ? fStep : -fStep))); + } + } + else if (sType == NUI_EVENT_CLOSE) + { + if (sElement == NUI_WINDOW_ROOT_GROUP) + { + VT_DeleteCurrentTarget(oPlayer); + } + } +} + +string VT_GetValueBind(int nType) +{ + return VT_VALUE_BIND_PREFIX + IntToString(nType); +} + +string VT_GetDisplayBind(int nType) +{ + return VT_DISPLAY_BIND_PREFIX + IntToString(nType); +} + +string VT_GetClearButtonId(int nType) +{ + return VT_CLEAR_BUTTON_ID_PREFIX + IntToString(nType); +} + +json VT_CreateVisualTransformRow(string sName, int nType, float fMin, float fMax, float fStep) +{ + json jRow = JsonArray(); + + json jLabel = NuiLabel(JsonString(sName), JsonInt(NUI_HALIGN_LEFT), JsonInt(NUI_VALIGN_MIDDLE)); + jLabel = NuiWidth(jLabel, 100.0f); + jRow = JsonArrayInsert(jRow, jLabel); + + jRow = JsonArrayInsert(jRow, NuiSpacer()); + + json jSlider = NuiSliderFloat(NuiBind(VT_GetValueBind(nType)), JsonFloat(fMin), JsonFloat(fMax), JsonFloat(fStep)); + jSlider = NuiId(jSlider, VT_GetValueBind(nType)); + jSlider = NuiWidth(jSlider, 175.0f); + jRow = JsonArrayInsert(jRow, jSlider); + + json jText = NuiTextEdit(JsonString(""), NuiBind(VT_GetDisplayBind(nType)), 10, FALSE); + jText = NuiEnabled(jText, JsonBool(FALSE)); + jText = NuiWidth(jText, 75.0f); + jRow = JsonArrayInsert(jRow, jText); + + json jButtonClear = NuiButton(JsonString("X")); + jButtonClear = NuiId(jButtonClear, VT_GetClearButtonId(nType)); + jButtonClear = NuiWidth(jButtonClear, 35.0f); + jButtonClear = NuiHeight(jButtonClear, 35.0f); + jRow = JsonArrayInsert(jRow, jButtonClear); + + return NuiRow(jRow); +} + +void VT_SetValueBindToCurrentValue(object oPlayer, int nToken, int nType) +{ + object oTarget = VT_GetCurrentTarget(oPlayer); + NuiSetBind(oPlayer, nToken, VT_GetValueBind(nType), JsonFloat(GetObjectVisualTransform(oTarget, nType))); +} + +void VT_ShowWindow(object oPlayer) +{ + int nToken = NuiFindWindow(oPlayer, VT_WINDOW_ID); + + if (nToken) + return; + + object oModule = GetModule(); + json jWindow = GetLocalJson(oModule, VT_WINDOW_JSON); + if (!JsonGetType(jWindow)) + { + json jCol; + json jRow; + + jCol = JsonArray(); + + jRow = JsonArray(); + { + jRow = JsonArrayInsert(jRow, NuiSpacer()); + + json jButtonTarget = NuiButton(JsonString("Target")); + jButtonTarget = NuiId(jButtonTarget, VT_TARGET_BUTTON_ID); + jButtonTarget = NuiWidth(jButtonTarget, 100.0f); + jButtonTarget = NuiHeight(jButtonTarget, 35.0f); + jRow = JsonArrayInsert(jRow, jButtonTarget); + + } + jCol = JsonArrayInsert(jCol, NuiRow(jRow)); + + jCol = JsonArrayInsert(jCol, VT_CreateVisualTransformRow("Scale", OBJECT_VISUAL_TRANSFORM_SCALE, VT_SCALE_MIN, VT_SCALE_MAX, VT_SCALE_STEP)); + jCol = JsonArrayInsert(jCol, VT_CreateVisualTransformRow("Rotate X", OBJECT_VISUAL_TRANSFORM_ROTATE_X, VT_ROTATE_MIN, VT_ROTATE_MAX, VT_ROTATE_STEP)); + jCol = JsonArrayInsert(jCol, VT_CreateVisualTransformRow("Rotate Y", OBJECT_VISUAL_TRANSFORM_ROTATE_Y, VT_ROTATE_MIN, VT_ROTATE_MAX, VT_ROTATE_STEP)); + jCol = JsonArrayInsert(jCol, VT_CreateVisualTransformRow("Rotate Z", OBJECT_VISUAL_TRANSFORM_ROTATE_Z, VT_ROTATE_MIN, VT_ROTATE_MAX, VT_ROTATE_STEP)); + jCol = JsonArrayInsert(jCol, VT_CreateVisualTransformRow("Translate X", OBJECT_VISUAL_TRANSFORM_TRANSLATE_X, VT_TRANSLATE_MIN, VT_TRANSLATE_MAX, VT_TRANSLATE_STEP)); + jCol = JsonArrayInsert(jCol, VT_CreateVisualTransformRow("Translate Y", OBJECT_VISUAL_TRANSFORM_TRANSLATE_Y, VT_TRANSLATE_MIN, VT_TRANSLATE_MAX, VT_TRANSLATE_STEP)); + jCol = JsonArrayInsert(jCol, VT_CreateVisualTransformRow("Translate Z", OBJECT_VISUAL_TRANSFORM_TRANSLATE_Z, VT_TRANSLATE_MIN, VT_TRANSLATE_MAX, VT_TRANSLATE_STEP)); + + jRow = JsonArray(); + { + jRow = JsonArrayInsert(jRow, NuiSpacer()); + } + jCol = JsonArrayInsert(jCol, NuiRow(jRow)); + + json jRoot = NuiCol(jCol); + jWindow = NuiWindow(jRoot, NuiBind(NUI_WINDOW_TITLE_BIND), NuiBind(NUI_WINDOW_GEOMETRY_BIND), JsonBool(FALSE), JsonNull(), JsonBool(TRUE), JsonBool(FALSE), JsonBool(TRUE)); + SetLocalJson(oModule, VT_WINDOW_JSON, jWindow); + } + + nToken = NuiCreate(oPlayer, jWindow, VT_WINDOW_ID); + + json jGeometry = GetLocalJson(oPlayer, VT_WINDOW_GEOMETRY); + if (!JsonGetType(jGeometry)) + jGeometry = NuiGetCenteredGeometryRect(oPlayer, 450.0f, 425.0f); + + VT_SetCurrentTarget(oPlayer, oPlayer); + + NuiSetBindWatch(oPlayer, nToken, VT_GetValueBind(OBJECT_VISUAL_TRANSFORM_SCALE), TRUE); + NuiSetBindWatch(oPlayer, nToken, VT_GetValueBind(OBJECT_VISUAL_TRANSFORM_ROTATE_X), TRUE); + NuiSetBindWatch(oPlayer, nToken, VT_GetValueBind(OBJECT_VISUAL_TRANSFORM_ROTATE_Y), TRUE); + NuiSetBindWatch(oPlayer, nToken, VT_GetValueBind(OBJECT_VISUAL_TRANSFORM_ROTATE_Z), TRUE); + NuiSetBindWatch(oPlayer, nToken, VT_GetValueBind(OBJECT_VISUAL_TRANSFORM_TRANSLATE_X), TRUE); + NuiSetBindWatch(oPlayer, nToken, VT_GetValueBind(OBJECT_VISUAL_TRANSFORM_TRANSLATE_Y), TRUE); + NuiSetBindWatch(oPlayer, nToken, VT_GetValueBind(OBJECT_VISUAL_TRANSFORM_TRANSLATE_Z), TRUE); + + VT_SetValueBindToCurrentValue(oPlayer, nToken, OBJECT_VISUAL_TRANSFORM_SCALE); + VT_SetValueBindToCurrentValue(oPlayer, nToken, OBJECT_VISUAL_TRANSFORM_ROTATE_X); + VT_SetValueBindToCurrentValue(oPlayer, nToken, OBJECT_VISUAL_TRANSFORM_ROTATE_Y); + VT_SetValueBindToCurrentValue(oPlayer, nToken, OBJECT_VISUAL_TRANSFORM_ROTATE_Z); + VT_SetValueBindToCurrentValue(oPlayer, nToken, OBJECT_VISUAL_TRANSFORM_TRANSLATE_X); + VT_SetValueBindToCurrentValue(oPlayer, nToken, OBJECT_VISUAL_TRANSFORM_TRANSLATE_Y); + VT_SetValueBindToCurrentValue(oPlayer, nToken, OBJECT_VISUAL_TRANSFORM_TRANSLATE_Z); + + NuiSetBindWatch(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND, TRUE); + NuiSetBind(oPlayer, nToken, NUI_WINDOW_GEOMETRY_BIND, jGeometry); + NuiSetBind(oPlayer, nToken, NUI_WINDOW_TITLE_BIND, JsonString("Visually Transforming: " + GetName(oPlayer))); +} + +void VT_SetCurrentTarget(object oPlayer, object oTarget) +{ + SetLocalObject(oPlayer, VT_CURRENT_TARGET, oTarget); +} + +object VT_GetCurrentTarget(object oPlayer) +{ + return GetLocalObject(oPlayer, VT_CURRENT_TARGET); +} + +void VT_DeleteCurrentTarget(object oPlayer) +{ + DeleteLocalObject(oPlayer, VT_CURRENT_TARGET); +} + +void VT_EnterTargetMode(object oPlayer) +{ + SetLocalInt(oPlayer, VT_TARGETING_MODE, TRUE); + EnterTargetingMode(oPlayer, OBJECT_TYPE_CREATURE | OBJECT_TYPE_PLACEABLE | OBJECT_TYPE_DOOR | OBJECT_TYPE_TILE); +} + +void VT_HandleTargetEvent(object oPlayer, object oTarget, vector vPosition) +{ + if (!GetLocalInt(oPlayer, VT_TARGETING_MODE)) + return; + + DeleteLocalInt(oPlayer, VT_TARGETING_MODE); + + if (!GetIsObjectValid(oTarget)) + return; + + if (GetArea(oPlayer) == oTarget) + { + oTarget = GetNearestObjectToLocation(OBJECT_TYPE_CREATURE | OBJECT_TYPE_PLACEABLE | OBJECT_TYPE_DOOR, Location(oTarget, vPosition, 0.0f)); + + if (!GetIsObjectValid(oTarget)) + return; + } + else + { + int nObjectType = GetObjectType(oTarget); + + if (nObjectType != OBJECT_TYPE_CREATURE && + nObjectType != OBJECT_TYPE_PLACEABLE && + nObjectType != OBJECT_TYPE_DOOR) + return; + } + + int nToken = NuiFindWindow(oPlayer, VT_WINDOW_ID); + + if (!nToken) + return; + + VT_SetCurrentTarget(oPlayer, oTarget); + VT_SetValueBindToCurrentValue(oPlayer, nToken, OBJECT_VISUAL_TRANSFORM_SCALE); + VT_SetValueBindToCurrentValue(oPlayer, nToken, OBJECT_VISUAL_TRANSFORM_ROTATE_X); + VT_SetValueBindToCurrentValue(oPlayer, nToken, OBJECT_VISUAL_TRANSFORM_ROTATE_Y); + VT_SetValueBindToCurrentValue(oPlayer, nToken, OBJECT_VISUAL_TRANSFORM_ROTATE_Z); + VT_SetValueBindToCurrentValue(oPlayer, nToken, OBJECT_VISUAL_TRANSFORM_TRANSLATE_X); + VT_SetValueBindToCurrentValue(oPlayer, nToken, OBJECT_VISUAL_TRANSFORM_TRANSLATE_Y); + VT_SetValueBindToCurrentValue(oPlayer, nToken, OBJECT_VISUAL_TRANSFORM_TRANSLATE_Z); + NuiSetBind(oPlayer, nToken, NUI_WINDOW_TITLE_BIND, JsonString("Visually Transforming: " + GetName(oTarget))); +} + diff --git a/_module/nss/inc_util.nss b/_module/nss/inc_util.nss new file mode 100644 index 00000000..3a2aac15 --- /dev/null +++ b/_module/nss/inc_util.nss @@ -0,0 +1,129 @@ +/* + Utility Functions + Created By: Daz +*/ + +#include "nw_inc_gff" +#include "nw_inc_nui" + +string Util_GetIconResref(object oItem, json jItem, int nBaseItem); +string Util_GetIconResref(object oItem, json jItem, int nBaseItem) +{ + if (nBaseItem == BASE_ITEM_CLOAK) // Cloaks use PLTs so their default icon doesn't really work + return "iit_cloak"; + else if (nBaseItem == BASE_ITEM_SPELLSCROLL || nBaseItem == BASE_ITEM_ENCHANTED_SCROLL) + {// Scrolls get their icon from the cast spell property + if (GetItemHasItemProperty(oItem, ITEM_PROPERTY_CAST_SPELL)) + { + itemproperty ip = GetFirstItemProperty(oItem); + while (GetIsItemPropertyValid(ip)) + { + if (GetItemPropertyType(ip) == ITEM_PROPERTY_CAST_SPELL) + return Get2DAString("iprp_spells", "Icon", GetItemPropertySubType(ip)); + + ip = GetNextItemProperty(oItem); + } + } + } + else if (Get2DAString("baseitems", "ModelType", nBaseItem) == "0") + {// Create the icon resref for simple modeltype items + json jSimpleModel = GffGetByte(jItem, "ModelPart1"); + if (JsonGetType(jSimpleModel) == JSON_TYPE_INTEGER) + { + string sSimpleModelId = IntToString(JsonGetInt(jSimpleModel)); + while (GetStringLength(sSimpleModelId) < 3)// Padding... + { + sSimpleModelId = "0" + sSimpleModelId; + } + + string sDefaultIcon = Get2DAString("baseitems", "DefaultIcon", nBaseItem); + switch (nBaseItem) + { + case BASE_ITEM_MISCSMALL: + case BASE_ITEM_CRAFTMATERIALSML: + sDefaultIcon = "iit_smlmisc_" + sSimpleModelId; + break; + case BASE_ITEM_MISCMEDIUM: + case BASE_ITEM_CRAFTMATERIALMED: + case 112:/* Crafting Base Material */ + sDefaultIcon = "iit_midmisc_" + sSimpleModelId; + break; + case BASE_ITEM_MISCLARGE: + sDefaultIcon = "iit_talmisc_" + sSimpleModelId; + break; + case BASE_ITEM_MISCTHIN: + sDefaultIcon = "iit_thnmisc_" + sSimpleModelId; + break; + } + + int nLength = GetStringLength(sDefaultIcon); + if (GetSubString(sDefaultIcon, nLength - 4, 1) == "_")// Some items have a default icon of xx_yyy_001, we strip the last 4 symbols if that is the case + sDefaultIcon = GetStringLeft(sDefaultIcon, nLength - 4); + string sIcon = sDefaultIcon + "_" + sSimpleModelId; + if (ResManGetAliasFor(sIcon, RESTYPE_TGA) != "")// Check if the icon actually exists, if not, we'll fall through and return the default icon + return sIcon; + } + } + + // For everything else use the item's default icon + return Get2DAString("baseitems", "DefaultIcon", nBaseItem); +} + +json Util_GetModelPart(string sDefaultIcon, string sType, json jPart) +{ + if (JsonGetType(jPart) == JSON_TYPE_INTEGER) + { + string sModelPart = IntToString(JsonGetInt(jPart)); + while (GetStringLength(sModelPart) < 3) + { + sModelPart = "0" + sModelPart; + } + + string sIcon = sDefaultIcon + sType + sModelPart; + if (ResManGetAliasFor(sIcon, RESTYPE_TGA) != "") + return JsonString(sIcon); + } + + return JsonString(""); +} + +json Util_GetComplexIconData(json jItem, int nBaseItem); +json Util_GetComplexIconData(json jItem, int nBaseItem) +{ + if (Get2DAString("baseitems", "ModelType", nBaseItem) == "2") + { + string sDefaultIcon = Get2DAString("baseitems", "DefaultIcon", nBaseItem); + json jComplexIcon = JsonObject(); + jComplexIcon = JsonObjectSet(jComplexIcon, "top", Util_GetModelPart(sDefaultIcon, "_t_", GffGetByte(jItem, "ModelPart3"))); + jComplexIcon = JsonObjectSet(jComplexIcon, "middle", Util_GetModelPart(sDefaultIcon, "_m_", GffGetByte(jItem, "ModelPart2"))); + jComplexIcon = JsonObjectSet(jComplexIcon, "bottom", Util_GetModelPart(sDefaultIcon, "_b_", GffGetByte(jItem, "ModelPart1"))); + + return jComplexIcon; + } + + return JsonNull(); +} + +string Util_Get2DAStringByStrRef(string s2DA, string sColumn, int nRow); +string Util_Get2DAStringByStrRef(string s2DA, string sColumn, int nRow) +{ + return GetStringByStrRef(StringToInt(Get2DAString(s2DA, sColumn, nRow))); +} + +string Util_GetItemName(object oItem, int bIdentified); +string Util_GetItemName(object oItem, int bIdentified) +{ + return bIdentified ? GetName(oItem) : Util_Get2DAStringByStrRef("baseitems", "Name", GetBaseItemType(oItem)) + " (Unidentified)"; +} + +void Util_SendDebugMessage(string sMessage); +void Util_SendDebugMessage(string sMessage) +{ + object oPlayer = GetFirstPC(); + while (oPlayer != OBJECT_INVALID) + { + SendMessageToPC(oPlayer, sMessage); + oPlayer = GetNextPC(); + } +} + diff --git a/_module/nss/mod_gui.nss b/_module/nss/mod_gui.nss new file mode 100644 index 00000000..1b1a2300 --- /dev/null +++ b/_module/nss/mod_gui.nss @@ -0,0 +1,19 @@ +#include "inc_examine" + +void main() +{ + object oPlayer = GetLastGuiEventPlayer(); + int nType = GetLastGuiEventType(); + object oTarget = GetLastGuiEventObject(); + int nValue = GetLastGuiEventInteger(); + + if (nType == GUIEVENT_DISABLED_PANEL_ATTEMPT_OPEN) + { + if (nValue == GUI_PANEL_EXAMINE_CREATURE || nValue == GUI_PANEL_EXAMINE_ITEM || + nValue == GUI_PANEL_EXAMINE_PLACEABLE || nValue == GUI_PANEL_EXAMINE_DOOR) + { + Examine_HandleGUIEvents(oPlayer, oTarget, nValue); + } + } +} + diff --git a/_module/nss/mod_nui.nss b/_module/nss/mod_nui.nss new file mode 100644 index 00000000..13fe75e6 --- /dev/null +++ b/_module/nss/mod_nui.nss @@ -0,0 +1,33 @@ +#include "inc_perchest" +#include "inc_gennui" +#include "inc_examine" +#include "inc_tictactoe" +#include "inc_blackjack" +#include "inc_transform" + +void main() +{ + object oPlayer = NuiGetEventPlayer(); + int nToken = NuiGetEventWindow(); + string sWindowId = NuiGetWindowId(oPlayer, nToken); + string sType = NuiGetEventType(); + string sElement = NuiGetEventElement(); + int nArrayIndex = NuiGetEventArrayIndex(); + json jPayload = NuiGetEventPayload(); + + //SendMessageToPC(oPlayer, "(" + IntToString(nToken) + ":" + sWindowId + ") T: " + sType + ", E: " + sElement + ", AI: " + IntToString(nArrayIndex) + ", P: " + JsonDump(jPayload)); + + if (sWindowId == PC_NUI_WINDOW_ID || sWindowId == PC_NUI_GOLD_WINDOW_ID) + PC_HandleNUIEvents(oPlayer, sWindowId, nToken, sType, sElement, nArrayIndex); + else if (sWindowId == EXAMINE_NUI_WINDOW_ID) + Examine_HandleNUIEvents(oPlayer, nToken, sType, sElement, nArrayIndex); + else if (sWindowId == TTT_WINDOW_ID) + TTT_HandleNUIEvents(oPlayer, nToken, sType, sElement, nArrayIndex, jPayload); + else if (sWindowId == BJ_WINDOW_ID) + BJ_HandleNUIEvents(oPlayer, nToken, sType, sElement, nArrayIndex, jPayload); + else if (sWindowId == VT_WINDOW_ID) + VT_HandleNUIEvents(oPlayer, nToken, sType, sElement, nArrayIndex, jPayload); + else + GNW_HandleNUIEvents(); +} + diff --git a/_module/nss/mod_target.nss b/_module/nss/mod_target.nss new file mode 100644 index 00000000..0c6d9705 --- /dev/null +++ b/_module/nss/mod_target.nss @@ -0,0 +1,12 @@ +#include "inc_perchest" +#include "inc_transform" + +void main() +{ + object oPlayer = GetLastPlayerToSelectTarget(); + object oTarget = GetTargetingModeSelectedObject(); + vector vPosition = GetTargetingModeSelectedPosition(); + + PC_HandleDepositEvent(oPlayer, oTarget, vPosition); + VT_HandleTargetEvent(oPlayer, oTarget, vPosition); +} diff --git a/_module/nss/obj_us_chest.nss b/_module/nss/obj_us_chest.nss new file mode 100644 index 00000000..b08502d8 --- /dev/null +++ b/_module/nss/obj_us_chest.nss @@ -0,0 +1,8 @@ +#include "inc_perchest" + +void main() +{ + object oPlayer = GetLastUsedBy(); + + PC_CreateNUIWindow(oPlayer); +} diff --git a/_module/nss/oc_persist.nss b/_module/nss/oc_persist.nss new file mode 100644 index 00000000..39cf83fa --- /dev/null +++ b/_module/nss/oc_persist.nss @@ -0,0 +1,28 @@ +/* +Created by Omnifarious +Basically all of this is reverse engineered for my purposes. +I owe lots of credit to the Item Storage Device by Rusty Dios. +https://neverwintervault.org/project/nwn1/prefab/item/item-storage-device +*/ + +//This works to transfer items between charachters on the same CD key & Login Name. +void main() +{ + object oPC = GetLastClosedBy(); + string sUnique = (GetPCPublicCDKey(oPC) + GetPCPlayerName(oPC)); + + DestroyCampaignDatabase("DATA"+sUnique); + + int i = 0; + object oLoop = GetFirstItemInInventory(); + while(oLoop != OBJECT_INVALID) + { + SetCampaignString("DATA"+sUnique, sUnique+IntToString(i), GetResRef(oLoop), OBJECT_SELF); + SetCampaignInt("DATA"+sUnique, GetResRef(oLoop)+IntToString(i), GetNumStackedItems(oLoop), OBJECT_SELF); + i++; + DestroyObject(oLoop); + SendMessageToPC(oPC, GetName(oLoop) + " has been stored successfully"); + oLoop = GetNextItemInInventory(); + } + SetCampaignInt("DATA"+sUnique, sUnique, i, OBJECT_SELF); +} diff --git a/_module/nss/oo_persist.nss b/_module/nss/oo_persist.nss new file mode 100644 index 00000000..70f28d97 --- /dev/null +++ b/_module/nss/oo_persist.nss @@ -0,0 +1,25 @@ +/* +Created by Omnifarious +Basically all of this is reverse engineered for my purposes. +I owe lots of credit to the Item Storage Device by Rusty Dios. +https://neverwintervault.org/project/nwn1/prefab/item/item-storage-device +*/ + +//This works to transfer items between charachters on the same CD key & Login Name. +void main() +{ + object oPC = GetLastOpenedBy(); + string sUnique = (GetPCPublicCDKey(oPC) + GetPCPlayerName(oPC)); + + int i = 0; + int NumItems = GetCampaignInt("DATA"+sUnique, sUnique, OBJECT_SELF); + if(NumItems > 0) + { + while(i < NumItems) + { + string sResRef = GetCampaignString("DATA"+sUnique, sUnique+IntToString(i), OBJECT_SELF); + CreateItemOnObject(sResRef, OBJECT_SELF, GetCampaignInt("DATA"+sUnique, sResRef+IntToString(i), OBJECT_SELF)); + i++; + } + } +} diff --git a/_module/nss/ra_cocktrc_bite.nss b/_module/nss/ra_cocktrc_bite.nss new file mode 100644 index 00000000..01b7b5c4 --- /dev/null +++ b/_module/nss/ra_cocktrc_bite.nss @@ -0,0 +1,46 @@ +// Cockatrice Bite - Item Unique OnHit Script +// +// CON based petrification attack +// +// + +#include "prc_inc_spells" +//#include "x2_inc_spellhook" +#include "x2_inc_switches" + + +void main() +{ +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oItem = GetSpellCastItem(); + object oTarget = GetSpellTargetObject(); + + int oFort = GetFortitudeSavingThrow(oTarget); + int nDC = 10 + (GetHitDice(oNPC) / 2) + GetAbilityModifier(ABILITY_CONSTITUTION, oNPC); + int bImmune = GetHasFeat(FEAT_IMMUNE_PETRIFICATION, oTarget); + + effect ePetrify = EffectPetrify(); + effect ePetrifyVis = EffectVisualEffect(VFX_IMP_FORTITUDE_SAVING_THROW_USE); + effect eImmune = EffectVisualEffect(VFX_IMP_MAGIC_RESISTANCE_USE); + +//:: Respect Immunity to Petrification + if (bImmune) + { + //SendMessageToPC(OBJECT_SELF, "This creatrure is immune to petrification"); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImmune, oTarget); + return; + } + +//:: Cockatrice's are immune to their own petrification attack. + if (GetName(OBJECT_SELF) == GetName(oTarget)) + return; + +//:: See if the petrification is resisted. + if (!FortitudeSave(oTarget, nDC, SAVING_THROW_TYPE_ALL, oTarget)) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, ePetrifyVis, oTarget); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, ePetrify, oTarget); + } + + } \ No newline at end of file diff --git a/_module/nss/ra_mod_onenter.nss b/_module/nss/ra_mod_onenter.nss index 7c5913ed..5157a756 100644 --- a/_module/nss/ra_mod_onenter.nss +++ b/_module/nss/ra_mod_onenter.nss @@ -1,6 +1,8 @@ #include "prc_inc_racial" //#include "journal_include" #include "pqj_inc" +#include "inc_examine" +#include "inc_gennui" void GivePCWands(object oPC) @@ -130,9 +132,13 @@ void main() { //:: Set Major Variables object oPC = GetEnteringObject(); - + +//:: NUI Magic by Daz + //Examine_DisablePanels(oPC); + PrintString(GetObjectUUID(oPC)); + //:: Restore jounral entries - RebuildJournalQuestEntries(GetEnteringObject()); + RebuildJournalQuestEntries(oPC); // Make sure PC isn't set to Plot, for reasons SetPlotFlag(oPC, FALSE); diff --git a/_module/nss/sob_examine001.nss b/_module/nss/sob_examine001.nss new file mode 100644 index 00000000..d89ce570 --- /dev/null +++ b/_module/nss/sob_examine001.nss @@ -0,0 +1,8 @@ +//Make PC read the description on a placeable when he interacts with it +void main() +{ + object oPC=GetLastUsedBy(); + object oExamine=OBJECT_SELF; + + AssignCommand(oPC,ActionExamine(oExamine)); +} diff --git a/_module/nss/sob_examine002.nss b/_module/nss/sob_examine002.nss new file mode 100644 index 00000000..ecfa59a5 --- /dev/null +++ b/_module/nss/sob_examine002.nss @@ -0,0 +1,7 @@ +//Allow PC to see his description. +void main() +{ + object oPC=GetLastUsedBy(); + + AssignCommand(oPC,ActionExamine(OBJECT_SELF)); +} diff --git a/_module/nss/sob_examine003.nss b/_module/nss/sob_examine003.nss new file mode 100644 index 00000000..b9f8fb8b --- /dev/null +++ b/_module/nss/sob_examine003.nss @@ -0,0 +1,8 @@ +//Make PC read the description on a door when he interacts with it +void main() +{ + object oPC=GetClickingObject(); + object oExamine=OBJECT_SELF; + + AssignCommand(oPC,ActionExamine(oExamine)); +} diff --git a/_module/nss/sob_examine004.nss b/_module/nss/sob_examine004.nss new file mode 100644 index 00000000..aee861d7 --- /dev/null +++ b/_module/nss/sob_examine004.nss @@ -0,0 +1,12 @@ +//Gives placeable description when opened +void main() +{ + object oSelf=OBJECT_SELF; + string sDes=GetDescription(oSelf); + int nDone=GetLocalInt(oSelf,"SPEAKDONE"); + + if (nDone==TRUE) + return; + + SpeakString(sDes); +} diff --git a/_module/nss/x2_def_spawn.nss b/_module/nss/x2_def_spawn.nss index 58b943d0..8edcf4f4 100644 --- a/_module/nss/x2_def_spawn.nss +++ b/_module/nss/x2_def_spawn.nss @@ -154,7 +154,7 @@ void main() { effect eNatInvis = EffectInvisibility(4); eNatInvis = SupernaturalEffect(eNatInvis); - eNatInvis = ExtraordinaryEffect(eNatInvis); + //eNatInvis = ExtraordinaryEffect(eNatInvis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eNatInvis,OBJECT_SELF)); } diff --git a/_module/nss/x2_mod_def_load.nss b/_module/nss/x2_mod_def_load.nss index 694be466..4d0bca43 100644 --- a/_module/nss/x2_mod_def_load.nss +++ b/_module/nss/x2_mod_def_load.nss @@ -38,6 +38,11 @@ #include "x2_inc_restsys" void main() { + + SetEventScript(GetModule(), EVENT_SCRIPT_MODULE_ON_NUI_EVENT, "mod_nui"); + SetEventScript(GetModule(), EVENT_SCRIPT_MODULE_ON_PLAYER_TARGET, "mod_target"); + SetEventScript(GetModule(), EVENT_SCRIPT_MODULE_ON_PLAYER_GUIEVENT, "mod_gui"); + if (GetGameDifficulty() == GAME_DIFFICULTY_CORE_RULES || GetGameDifficulty() == GAME_DIFFICULTY_DIFFICULT) { // * Setting the switch below will enable a seperate Use Magic Device Skillcheck for diff --git a/_module/ra_tdog.mod b/_module/ra_tdog.mod index 9d4f96d6855d4882b3873e539f43f384bf711a8f..4a9d4c9d5dfb5cbcbef2e62dbbb16bbec40382fd 100644 GIT binary patch delta 551694 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%0Av2Dr^dBKxgPB)RZuyr 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

Y0Q@5GXTaUpse*m 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%0DCj}KhZOXr;3EopQP7)$J{0t&Ae4eI3i?sdpMn7t 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%0ACDzJ@5m-k1H;__1|E4r3}oyuILf? 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 diff --git a/_module/utc/DIREWEASEL002.utc.json b/_module/utc/DIREWEASEL002.utc.json new file mode 100644 index 00000000..49c4c1d4 --- /dev/null +++ b/_module/utc/DIREWEASEL002.utc.json @@ -0,0 +1,740 @@ +{ + "__data_type": "UTC ", + "Appearance_Type": { + "type": "word", + "value": 840 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "Cha": { + "type": "byte", + "value": 11 + }, + "ChallengeRating": { + "type": "float", + "value": 4.0 + }, + "ClassList": { + "type": "list", + "value": [ + { + "__struct_id": 2, + "Class": { + "type": "int", + "value": 12 + }, + "ClassLevel": { + "type": "short", + "value": 6 + } + } + ] + }, + "Comment": { + "type": "cexostring", + "value": "Weasel, Dire: 06 HD\r\n\r\nMonster Manual, pg. 65\r\n\r\n" + }, + "Con": { + "type": "byte", + "value": 10 + }, + "Conversation": { + "type": "resref", + "value": "cv_charmed" + }, + "CRAdjust": { + "type": "int", + "value": 0 + }, + "CurrentHitPoints": { + "type": "short", + "value": 28 + }, + "DecayTime": { + "type": "dword", + "value": 7000 + }, + "Deity": { + "type": "cexostring", + "value": "" + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "This sleek, fur-covered creature has a body longer than a human is tall. It has a wedged-shaped head crowned in short horns, four short legs, and a stumpy tail. Its movements are fluid and very quick." + } + }, + "Dex": { + "type": "byte", + "value": 20 + }, + "Disarmable": { + "type": "byte", + "value": 0 + }, + "Equip_ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 65536, + "EquippedRes": { + "type": "resref", + "value": "cr_bite_weasel01" + } + } + ] + }, + "FactionID": { + "type": "word", + "value": 1 + }, + "FeatList": { + "type": "list", + "value": [ + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 3112 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2898 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 5195 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2468 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2919 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 4095 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 4092 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2884 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 354 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 1089 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 3415 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2285 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 4795 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 387 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 4235 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 289 + } + } + ] + }, + "FirstName": { + "type": "cexolocstring", + "value": { + "0": "Weasel, Dire: 06 HD" + } + }, + "fortbonus": { + "type": "short", + "value": 0 + }, + "Gender": { + "type": "byte", + "value": 0 + }, + "GoodEvil": { + "type": "byte", + "value": 50 + }, + "HitPoints": { + "type": "short", + "value": 28 + }, + "Int": { + "type": "byte", + "value": 3 + }, + "Interruptable": { + "type": "byte", + "value": 0 + }, + "IsImmortal": { + "type": "byte", + "value": 0 + }, + "IsPC": { + "type": "byte", + "value": 0 + }, + "LastName": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "LawfulChaotic": { + "type": "byte", + "value": 50 + }, + "Lootable": { + "type": "byte", + "value": 0 + }, + "MaxHitPoints": { + "type": "short", + "value": 28 + }, + "NaturalAC": { + "type": "byte", + "value": 2 + }, + "NoPermDeath": { + "type": "byte", + "value": 0 + }, + "PaletteID": { + "type": "byte", + "value": 9 + }, + "PerceptionRange": { + "type": "byte", + "value": 11 + }, + "Phenotype": { + "type": "int", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 578 + }, + "Race": { + "type": "byte", + "value": 8 + }, + "refbonus": { + "type": "short", + "value": 0 + }, + "ScriptAttacked": { + "type": "resref", + "value": "ra_ai_attacked" + }, + "ScriptDamaged": { + "type": "resref", + "value": "ra_ai_ondamaged" + }, + "ScriptDeath": { + "type": "resref", + "value": "ra_ai_ondeath" + }, + "ScriptDialogue": { + "type": "resref", + "value": "ra_ai_onconverse" + }, + "ScriptDisturbed": { + "type": "resref", + "value": "ra_ai_ondisturb" + }, + "ScriptEndRound": { + "type": "resref", + "value": "ra_ai_endcmbtrnd" + }, + "ScriptHeartbeat": { + "type": "resref", + "value": "ra_ai_heartbeat" + }, + "ScriptOnBlocked": { + "type": "resref", + "value": "ra_ai_onblocked" + }, + "ScriptOnNotice": { + "type": "resref", + "value": "ra_ai_onpercept" + }, + "ScriptRested": { + "type": "resref", + "value": "ra_ai_onrested" + }, + "ScriptSpawn": { + "type": "resref", + "value": "ra_ai_onspawn" + }, + "ScriptSpellAt": { + "type": "resref", + "value": "ra_ai_onspelled" + }, + "ScriptUserDefine": { + "type": "resref", + "value": "ra_ai_userdef" + }, + "SkillList": { + "type": "list", + "value": [ + { + "__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": 6 + } + }, + { + "__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": 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": 5 + } + }, + { + "__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 + } + }, + { + "__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": 5 + }, + "SpecAbilityList": { + "type": "list", + "value": [] + }, + "StartingPackage": { + "type": "byte", + "value": 74 + }, + "Str": { + "type": "byte", + "value": 14 + }, + "Subrace": { + "type": "cexostring", + "value": "Animal" + }, + "Tag": { + "type": "cexostring", + "value": "DIREWEASEL002" + }, + "Tail_New": { + "type": "dword", + "value": 10348 + }, + "TemplateList": { + "type": "list", + "value": [] + }, + "TemplateResRef": { + "type": "resref", + "value": "direweasel002" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "SET_NAME" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dire Weasel" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "SPAWN_TYPE" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "no_spn_ftr" + } + } + ] + }, + "WalkRate": { + "type": "int", + "value": 7 + }, + "willbonus": { + "type": "short", + "value": 0 + }, + "Wings_New": { + "type": "dword", + "value": 0 + }, + "Wis": { + "type": "byte", + "value": 12 + } +} diff --git a/_module/utc/DIREWEASEL003.utc.json b/_module/utc/DIREWEASEL003.utc.json new file mode 100644 index 00000000..4164fe91 --- /dev/null +++ b/_module/utc/DIREWEASEL003.utc.json @@ -0,0 +1,747 @@ +{ + "__data_type": "UTC ", + "Appearance_Type": { + "type": "word", + "value": 5381 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "Cha": { + "type": "byte", + "value": 11 + }, + "ChallengeRating": { + "type": "float", + "value": 8.0 + }, + "ClassList": { + "type": "list", + "value": [ + { + "__struct_id": 2, + "Class": { + "type": "int", + "value": 12 + }, + "ClassLevel": { + "type": "short", + "value": 10 + } + } + ] + }, + "Comment": { + "type": "cexostring", + "value": "Weasel, Dire: 10 HD\r\n\r\nMonster Manual, pg. 65\r\n\r\n" + }, + "Con": { + "type": "byte", + "value": 14 + }, + "Conversation": { + "type": "resref", + "value": "cv_charmed" + }, + "CRAdjust": { + "type": "int", + "value": 0 + }, + "CurrentHitPoints": { + "type": "short", + "value": 44 + }, + "DecayTime": { + "type": "dword", + "value": 7000 + }, + "Deity": { + "type": "cexostring", + "value": "" + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "This sleek, fur-covered creature has a body longer than a human is tall. It has a wedged-shaped head crowned in short horns, four short legs, and a stumpy tail. Its movements are fluid and very quick." + } + }, + "Dex": { + "type": "byte", + "value": 18 + }, + "Disarmable": { + "type": "byte", + "value": 0 + }, + "Equip_ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 65536, + "EquippedRes": { + "type": "resref", + "value": "cr_bite_weasel01" + } + } + ] + }, + "FactionID": { + "type": "word", + "value": 1 + }, + "FeatList": { + "type": "list", + "value": [ + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 3112 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2898 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 5195 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2468 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2919 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 4095 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 4092 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2884 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 354 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 1089 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 3415 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2285 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 4795 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 387 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 4235 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 291 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 289 + } + } + ] + }, + "FirstName": { + "type": "cexolocstring", + "value": { + "0": "Weasel, Dire: 10 HD" + } + }, + "fortbonus": { + "type": "short", + "value": 0 + }, + "Gender": { + "type": "byte", + "value": 0 + }, + "GoodEvil": { + "type": "byte", + "value": 50 + }, + "HitPoints": { + "type": "short", + "value": 44 + }, + "Int": { + "type": "byte", + "value": 3 + }, + "Interruptable": { + "type": "byte", + "value": 0 + }, + "IsImmortal": { + "type": "byte", + "value": 0 + }, + "IsPC": { + "type": "byte", + "value": 0 + }, + "LastName": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "LawfulChaotic": { + "type": "byte", + "value": 50 + }, + "Lootable": { + "type": "byte", + "value": 0 + }, + "MaxHitPoints": { + "type": "short", + "value": 64 + }, + "NaturalAC": { + "type": "byte", + "value": 4 + }, + "NoPermDeath": { + "type": "byte", + "value": 0 + }, + "PaletteID": { + "type": "byte", + "value": 9 + }, + "PerceptionRange": { + "type": "byte", + "value": 11 + }, + "Phenotype": { + "type": "int", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 578 + }, + "Race": { + "type": "byte", + "value": 8 + }, + "refbonus": { + "type": "short", + "value": 0 + }, + "ScriptAttacked": { + "type": "resref", + "value": "ra_ai_attacked" + }, + "ScriptDamaged": { + "type": "resref", + "value": "ra_ai_ondamaged" + }, + "ScriptDeath": { + "type": "resref", + "value": "ra_ai_ondeath" + }, + "ScriptDialogue": { + "type": "resref", + "value": "ra_ai_onconverse" + }, + "ScriptDisturbed": { + "type": "resref", + "value": "ra_ai_ondisturb" + }, + "ScriptEndRound": { + "type": "resref", + "value": "ra_ai_endcmbtrnd" + }, + "ScriptHeartbeat": { + "type": "resref", + "value": "ra_ai_heartbeat" + }, + "ScriptOnBlocked": { + "type": "resref", + "value": "ra_ai_onblocked" + }, + "ScriptOnNotice": { + "type": "resref", + "value": "ra_ai_onpercept" + }, + "ScriptRested": { + "type": "resref", + "value": "ra_ai_onrested" + }, + "ScriptSpawn": { + "type": "resref", + "value": "ra_ai_onspawn" + }, + "ScriptSpellAt": { + "type": "resref", + "value": "ra_ai_onspelled" + }, + "ScriptUserDefine": { + "type": "resref", + "value": "ra_ai_userdef" + }, + "SkillList": { + "type": "list", + "value": [ + { + "__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": 10 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 4 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 4 + } + }, + { + "__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": 6 + } + }, + { + "__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 + } + }, + { + "__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": 5 + }, + "SpecAbilityList": { + "type": "list", + "value": [] + }, + "StartingPackage": { + "type": "byte", + "value": 74 + }, + "Str": { + "type": "byte", + "value": 22 + }, + "Subrace": { + "type": "cexostring", + "value": "Animal" + }, + "Tag": { + "type": "cexostring", + "value": "DIREWEASEL003" + }, + "Tail_New": { + "type": "dword", + "value": 10348 + }, + "TemplateList": { + "type": "list", + "value": [] + }, + "TemplateResRef": { + "type": "resref", + "value": "direweasel003" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "SET_NAME" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dire Weasel" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "SPAWN_TYPE" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "no_spn_ftr" + } + } + ] + }, + "WalkRate": { + "type": "int", + "value": 6 + }, + "willbonus": { + "type": "short", + "value": 0 + }, + "Wings_New": { + "type": "dword", + "value": 0 + }, + "Wis": { + "type": "byte", + "value": 12 + } +} diff --git a/_module/utc/direweasel001.utc.json b/_module/utc/direweasel001.utc.json new file mode 100644 index 00000000..22295ea9 --- /dev/null +++ b/_module/utc/direweasel001.utc.json @@ -0,0 +1,733 @@ +{ + "__data_type": "UTC ", + "Appearance_Type": { + "type": "word", + "value": 348 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "Cha": { + "type": "byte", + "value": 11 + }, + "ChallengeRating": { + "type": "float", + "value": 3.0 + }, + "ClassList": { + "type": "list", + "value": [ + { + "__struct_id": 2, + "Class": { + "type": "int", + "value": 12 + }, + "ClassLevel": { + "type": "short", + "value": 3 + } + } + ] + }, + "Comment": { + "type": "cexostring", + "value": "Weasel, Dire: 03 HD\r\n\r\nMonster Manual, pg. 65\r\n\r\n" + }, + "Con": { + "type": "byte", + "value": 10 + }, + "Conversation": { + "type": "resref", + "value": "cv_charmed" + }, + "CRAdjust": { + "type": "int", + "value": 0 + }, + "CurrentHitPoints": { + "type": "short", + "value": 16 + }, + "DecayTime": { + "type": "dword", + "value": 7000 + }, + "Deity": { + "type": "cexostring", + "value": "" + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "This sleek, fur-covered creature has a body longer than a human is tall. It has a wedged-shaped head crowned in short horns, four short legs, and a stumpy tail. Its movements are fluid and very quick." + } + }, + "Dex": { + "type": "byte", + "value": 19 + }, + "Disarmable": { + "type": "byte", + "value": 0 + }, + "Equip_ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 65536, + "EquippedRes": { + "type": "resref", + "value": "cr_bite_weasel01" + } + } + ] + }, + "FactionID": { + "type": "word", + "value": 1 + }, + "FeatList": { + "type": "list", + "value": [ + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 3112 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2898 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 5195 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2468 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2919 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 4095 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 4092 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2884 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 354 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 1089 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 3415 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 2285 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 4795 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 387 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 4235 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 289 + } + } + ] + }, + "FirstName": { + "type": "cexolocstring", + "value": { + "0": "Weasel, Dire: 03 HD" + } + }, + "fortbonus": { + "type": "short", + "value": 0 + }, + "Gender": { + "type": "byte", + "value": 0 + }, + "GoodEvil": { + "type": "byte", + "value": 50 + }, + "HitPoints": { + "type": "short", + "value": 16 + }, + "Int": { + "type": "byte", + "value": 3 + }, + "Interruptable": { + "type": "byte", + "value": 0 + }, + "IsImmortal": { + "type": "byte", + "value": 0 + }, + "IsPC": { + "type": "byte", + "value": 0 + }, + "LastName": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "LawfulChaotic": { + "type": "byte", + "value": 50 + }, + "Lootable": { + "type": "byte", + "value": 0 + }, + "MaxHitPoints": { + "type": "short", + "value": 16 + }, + "NaturalAC": { + "type": "byte", + "value": 2 + }, + "NoPermDeath": { + "type": "byte", + "value": 0 + }, + "PaletteID": { + "type": "byte", + "value": 9 + }, + "PerceptionRange": { + "type": "byte", + "value": 11 + }, + "Phenotype": { + "type": "int", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 578 + }, + "Race": { + "type": "byte", + "value": 8 + }, + "refbonus": { + "type": "short", + "value": 0 + }, + "ScriptAttacked": { + "type": "resref", + "value": "ra_ai_attacked" + }, + "ScriptDamaged": { + "type": "resref", + "value": "ra_ai_ondamaged" + }, + "ScriptDeath": { + "type": "resref", + "value": "ra_ai_ondeath" + }, + "ScriptDialogue": { + "type": "resref", + "value": "ra_ai_onconverse" + }, + "ScriptDisturbed": { + "type": "resref", + "value": "ra_ai_ondisturb" + }, + "ScriptEndRound": { + "type": "resref", + "value": "ra_ai_endcmbtrnd" + }, + "ScriptHeartbeat": { + "type": "resref", + "value": "ra_ai_heartbeat" + }, + "ScriptOnBlocked": { + "type": "resref", + "value": "ra_ai_onblocked" + }, + "ScriptOnNotice": { + "type": "resref", + "value": "ra_ai_onpercept" + }, + "ScriptRested": { + "type": "resref", + "value": "ra_ai_onrested" + }, + "ScriptSpawn": { + "type": "resref", + "value": "ra_ai_onspawn" + }, + "ScriptSpellAt": { + "type": "resref", + "value": "ra_ai_onspelled" + }, + "ScriptUserDefine": { + "type": "resref", + "value": "ra_ai_userdef" + }, + "SkillList": { + "type": "list", + "value": [ + { + "__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": 3 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 2 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 2 + } + }, + { + "__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": 4 + } + }, + { + "__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 + } + }, + { + "__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": 5 + }, + "SpecAbilityList": { + "type": "list", + "value": [] + }, + "StartingPackage": { + "type": "byte", + "value": 74 + }, + "Str": { + "type": "byte", + "value": 14 + }, + "Subrace": { + "type": "cexostring", + "value": "Animal" + }, + "Tag": { + "type": "cexostring", + "value": "DIREWEASEL001" + }, + "Tail_New": { + "type": "dword", + "value": 0 + }, + "TemplateList": { + "type": "list", + "value": [] + }, + "TemplateResRef": { + "type": "resref", + "value": "direweasel001" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "SET_NAME" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dire Weasel" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "SPAWN_TYPE" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "no_spn_ftr" + } + } + ] + }, + "WalkRate": { + "type": "int", + "value": 5 + }, + "willbonus": { + "type": "short", + "value": 0 + }, + "Wings_New": { + "type": "dword", + "value": 0 + }, + "Wis": { + "type": "byte", + "value": 12 + } +} diff --git a/_module/utc/ra_cockatrice001.utc.json b/_module/utc/ra_cockatrice001.utc.json new file mode 100644 index 00000000..9df15fe2 --- /dev/null +++ b/_module/utc/ra_cockatrice001.utc.json @@ -0,0 +1,656 @@ +{ + "__data_type": "UTC ", + "Appearance_Type": { + "type": "word", + "value": 368 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "Cha": { + "type": "byte", + "value": 9 + }, + "ChallengeRating": { + "type": "float", + "value": 4.0 + }, + "ClassList": { + "type": "list", + "value": [ + { + "__struct_id": 2, + "Class": { + "type": "int", + "value": 23 + }, + "ClassLevel": { + "type": "short", + "value": 5 + } + } + ] + }, + "Comment": { + "type": "cexostring", + "value": "Cockatrice [RA]: 05 HD\r\n\r\nMonster Manual I, pg. 37" + }, + "Con": { + "type": "byte", + "value": 11 + }, + "Conversation": { + "type": "resref", + "value": "cv_charmed" + }, + "CRAdjust": { + "type": "int", + "value": 0 + }, + "CurrentHitPoints": { + "type": "short", + "value": 50 + }, + "DecayTime": { + "type": "dword", + "value": 5000 + }, + "Deity": { + "type": "cexostring", + "value": "" + }, + "Description": { + "id": 40597, + "type": "cexolocstring", + "value": { + "0": "This avian creature is about the size of a large goose or turkey. It has the head and body of a cockerel, bat wings, and the long tail of a lizard. It's eyes glow with a dangerous-looking crimson sheen." + } + }, + "Dex": { + "type": "byte", + "value": 17 + }, + "Disarmable": { + "type": "byte", + "value": 0 + }, + "Equip_ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 65536, + "EquippedRes": { + "type": "resref", + "value": "ra_cocktrc_bite" + } + } + ] + }, + "FactionID": { + "type": "word", + "value": 1 + }, + "FeatList": { + "type": "list", + "value": [ + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 228 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 354 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 289 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 3920 + } + } + ] + }, + "FirstName": { + "id": 40596, + "type": "cexolocstring", + "value": { + "0": "Cockatrice [RA]: 05 HD" + } + }, + "fortbonus": { + "type": "short", + "value": 0 + }, + "Gender": { + "type": "byte", + "value": 0 + }, + "GoodEvil": { + "type": "byte", + "value": 50 + }, + "HitPoints": { + "type": "short", + "value": 50 + }, + "Int": { + "type": "byte", + "value": 3 + }, + "Interruptable": { + "type": "byte", + "value": 0 + }, + "IsImmortal": { + "type": "byte", + "value": 0 + }, + "IsPC": { + "type": "byte", + "value": 0 + }, + "LastName": { + "type": "cexolocstring", + "value": {} + }, + "LawfulChaotic": { + "type": "byte", + "value": 50 + }, + "Lootable": { + "type": "byte", + "value": 0 + }, + "MaxHitPoints": { + "type": "short", + "value": 50 + }, + "NaturalAC": { + "type": "byte", + "value": 0 + }, + "NoPermDeath": { + "type": "byte", + "value": 1 + }, + "PaletteID": { + "type": "byte", + "value": 49 + }, + "PerceptionRange": { + "type": "byte", + "value": 11 + }, + "Phenotype": { + "type": "int", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 624 + }, + "Race": { + "type": "byte", + "value": 19 + }, + "refbonus": { + "type": "short", + "value": 0 + }, + "ScriptAttacked": { + "type": "resref", + "value": "ra_ai_attacked" + }, + "ScriptDamaged": { + "type": "resref", + "value": "ra_ai_ondamaged" + }, + "ScriptDeath": { + "type": "resref", + "value": "ra_ai_ondeath" + }, + "ScriptDialogue": { + "type": "resref", + "value": "ra_ai_onconverse" + }, + "ScriptDisturbed": { + "type": "resref", + "value": "ra_ai_ondisturb" + }, + "ScriptEndRound": { + "type": "resref", + "value": "ra_ai_endcmbtrnd" + }, + "ScriptHeartbeat": { + "type": "resref", + "value": "ra_ai_heartbeat" + }, + "ScriptOnBlocked": { + "type": "resref", + "value": "ra_ai_onblocked" + }, + "ScriptOnNotice": { + "type": "resref", + "value": "ra_ai_onpercept" + }, + "ScriptRested": { + "type": "resref", + "value": "ra_ai_onrested" + }, + "ScriptSpawn": { + "type": "resref", + "value": "ra_ai_onspawn" + }, + "ScriptSpellAt": { + "type": "resref", + "value": "ra_ai_onspelled" + }, + "ScriptUserDefine": { + "type": "resref", + "value": "ra_ai_userdef" + }, + "SkillList": { + "type": "list", + "value": [ + { + "__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": 5 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 6 + } + }, + { + "__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": 6 + } + }, + { + "__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 + } + }, + { + "__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": 324 + }, + "SpecAbilityList": { + "type": "list", + "value": [] + }, + "StartingPackage": { + "type": "byte", + "value": 0 + }, + "Str": { + "type": "byte", + "value": 6 + }, + "Subrace": { + "type": "cexostring", + "value": "Magical Beast" + }, + "Tag": { + "type": "cexostring", + "value": "RA_COCKATRICE001" + }, + "Tail_New": { + "type": "dword", + "value": 0 + }, + "TemplateList": { + "type": "list", + "value": [] + }, + "TemplateResRef": { + "type": "resref", + "value": "ra_cockatrice001" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "SET_NAME" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Cockatrice" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "SPAWN_TYPE" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "no_spn_ftr" + } + } + ] + }, + "WalkRate": { + "type": "int", + "value": 4 + }, + "willbonus": { + "type": "short", + "value": 0 + }, + "Wings_New": { + "type": "dword", + "value": 0 + }, + "Wis": { + "type": "byte", + "value": 13 + } +} diff --git a/_module/utc/ra_cockatrice002.utc.json b/_module/utc/ra_cockatrice002.utc.json new file mode 100644 index 00000000..144ece97 --- /dev/null +++ b/_module/utc/ra_cockatrice002.utc.json @@ -0,0 +1,670 @@ +{ + "__data_type": "UTC ", + "Appearance_Type": { + "type": "word", + "value": 865 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "Cha": { + "type": "byte", + "value": 9 + }, + "ChallengeRating": { + "type": "float", + "value": 8.0 + }, + "ClassList": { + "type": "list", + "value": [ + { + "__struct_id": 2, + "Class": { + "type": "int", + "value": 23 + }, + "ClassLevel": { + "type": "short", + "value": 10 + } + } + ] + }, + "Comment": { + "type": "cexostring", + "value": "Cockatrice [RA]: 10 HD\r\n\r\nMonster Manual I, pg. 37" + }, + "Con": { + "type": "byte", + "value": 14 + }, + "Conversation": { + "type": "resref", + "value": "cv_charmed" + }, + "CRAdjust": { + "type": "int", + "value": 0 + }, + "CurrentHitPoints": { + "type": "short", + "value": 100 + }, + "DecayTime": { + "type": "dword", + "value": 5000 + }, + "Deity": { + "type": "cexostring", + "value": "" + }, + "Description": { + "id": 40597, + "type": "cexolocstring", + "value": { + "0": "This avian creature is about the size of a large goose or turkey. It has the head and body of a cockerel, bat wings, and the long tail of a lizard. It's eyes glow with a dangerous-looking crimson sheen." + } + }, + "Dex": { + "type": "byte", + "value": 15 + }, + "Disarmable": { + "type": "byte", + "value": 0 + }, + "Equip_ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 65536, + "EquippedRes": { + "type": "resref", + "value": "ra_cocktrc_bite2" + } + } + ] + }, + "FactionID": { + "type": "word", + "value": 1 + }, + "FeatList": { + "type": "list", + "value": [ + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 228 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 354 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 291 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 289 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 3920 + } + } + ] + }, + "FirstName": { + "id": 40596, + "type": "cexolocstring", + "value": { + "0": "Cockatrice [RA]: 10 HD" + } + }, + "fortbonus": { + "type": "short", + "value": 0 + }, + "Gender": { + "type": "byte", + "value": 0 + }, + "GoodEvil": { + "type": "byte", + "value": 50 + }, + "HitPoints": { + "type": "short", + "value": 100 + }, + "Int": { + "type": "byte", + "value": 3 + }, + "Interruptable": { + "type": "byte", + "value": 0 + }, + "IsImmortal": { + "type": "byte", + "value": 0 + }, + "IsPC": { + "type": "byte", + "value": 0 + }, + "LastName": { + "type": "cexolocstring", + "value": {} + }, + "LawfulChaotic": { + "type": "byte", + "value": 50 + }, + "Lootable": { + "type": "byte", + "value": 0 + }, + "MaxHitPoints": { + "type": "short", + "value": 120 + }, + "NaturalAC": { + "type": "byte", + "value": 0 + }, + "NoPermDeath": { + "type": "byte", + "value": 1 + }, + "PaletteID": { + "type": "byte", + "value": 49 + }, + "PerceptionRange": { + "type": "byte", + "value": 11 + }, + "Phenotype": { + "type": "int", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 624 + }, + "Race": { + "type": "byte", + "value": 19 + }, + "refbonus": { + "type": "short", + "value": 0 + }, + "ScriptAttacked": { + "type": "resref", + "value": "ra_ai_attacked" + }, + "ScriptDamaged": { + "type": "resref", + "value": "ra_ai_ondamaged" + }, + "ScriptDeath": { + "type": "resref", + "value": "ra_ai_ondeath" + }, + "ScriptDialogue": { + "type": "resref", + "value": "ra_ai_onconverse" + }, + "ScriptDisturbed": { + "type": "resref", + "value": "ra_ai_ondisturb" + }, + "ScriptEndRound": { + "type": "resref", + "value": "ra_ai_endcmbtrnd" + }, + "ScriptHeartbeat": { + "type": "resref", + "value": "ra_ai_heartbeat" + }, + "ScriptOnBlocked": { + "type": "resref", + "value": "ra_ai_onblocked" + }, + "ScriptOnNotice": { + "type": "resref", + "value": "ra_ai_onpercept" + }, + "ScriptRested": { + "type": "resref", + "value": "ra_ai_onrested" + }, + "ScriptSpawn": { + "type": "resref", + "value": "ra_ai_onspawn" + }, + "ScriptSpellAt": { + "type": "resref", + "value": "ra_ai_onspelled" + }, + "ScriptUserDefine": { + "type": "resref", + "value": "ra_ai_userdef" + }, + "SkillList": { + "type": "list", + "value": [ + { + "__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": 10 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 9 + } + }, + { + "__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": 8 + } + }, + { + "__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 + } + }, + { + "__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": 324 + }, + "SpecAbilityList": { + "type": "list", + "value": [] + }, + "StartingPackage": { + "type": "byte", + "value": 0 + }, + "Str": { + "type": "byte", + "value": 10 + }, + "Subrace": { + "type": "cexostring", + "value": "Magical Beast" + }, + "Tag": { + "type": "cexostring", + "value": "RA_COCKATRICE002" + }, + "Tail_New": { + "type": "dword", + "value": 416 + }, + "TemplateList": { + "type": "list", + "value": [] + }, + "TemplateResRef": { + "type": "resref", + "value": "ra_cockatrice002" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "SET_NAME" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Cockatrice" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "SPAWN_TYPE" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "no_spn_ftr" + } + } + ] + }, + "WalkRate": { + "type": "int", + "value": 7 + }, + "willbonus": { + "type": "short", + "value": 0 + }, + "Wings_New": { + "type": "dword", + "value": 0 + }, + "Wis": { + "type": "byte", + "value": 13 + } +} diff --git a/_module/utc/ra_cockatrice003.utc.json b/_module/utc/ra_cockatrice003.utc.json new file mode 100644 index 00000000..9dcf985d --- /dev/null +++ b/_module/utc/ra_cockatrice003.utc.json @@ -0,0 +1,684 @@ +{ + "__data_type": "UTC ", + "Appearance_Type": { + "type": "word", + "value": 868 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "Cha": { + "type": "byte", + "value": 9 + }, + "ChallengeRating": { + "type": "float", + "value": 12.0 + }, + "ClassList": { + "type": "list", + "value": [ + { + "__struct_id": 2, + "Class": { + "type": "int", + "value": 23 + }, + "ClassLevel": { + "type": "short", + "value": 15 + } + } + ] + }, + "Comment": { + "type": "cexostring", + "value": "Cockatrice [RA]: 15 HD\r\n\r\nMonster Manual I, pg. 37" + }, + "Con": { + "type": "byte", + "value": 14 + }, + "Conversation": { + "type": "resref", + "value": "cv_charmed" + }, + "CRAdjust": { + "type": "int", + "value": 0 + }, + "CurrentHitPoints": { + "type": "short", + "value": 150 + }, + "DecayTime": { + "type": "dword", + "value": 5000 + }, + "Deity": { + "type": "cexostring", + "value": "" + }, + "Description": { + "id": 40597, + "type": "cexolocstring", + "value": { + "0": "This avian creature is about the size of a large goose or turkey. It has the head and body of a cockerel, bat wings, and the long tail of a lizard. It's eyes glow with a dangerous-looking crimson sheen." + } + }, + "Dex": { + "type": "byte", + "value": 16 + }, + "Disarmable": { + "type": "byte", + "value": 0 + }, + "Equip_ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 65536, + "EquippedRes": { + "type": "resref", + "value": "ra_cocktrc_bite2" + } + } + ] + }, + "FactionID": { + "type": "word", + "value": 1 + }, + "FeatList": { + "type": "list", + "value": [ + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 408 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 228 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 354 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 291 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 289 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 3920 + } + } + ] + }, + "FirstName": { + "id": 40596, + "type": "cexolocstring", + "value": { + "0": "Cockatrice [RA]: 15 HD" + } + }, + "fortbonus": { + "type": "short", + "value": 0 + }, + "Gender": { + "type": "byte", + "value": 0 + }, + "GoodEvil": { + "type": "byte", + "value": 50 + }, + "HitPoints": { + "type": "short", + "value": 150 + }, + "Int": { + "type": "byte", + "value": 3 + }, + "Interruptable": { + "type": "byte", + "value": 0 + }, + "IsImmortal": { + "type": "byte", + "value": 0 + }, + "IsPC": { + "type": "byte", + "value": 0 + }, + "LastName": { + "type": "cexolocstring", + "value": {} + }, + "LawfulChaotic": { + "type": "byte", + "value": 50 + }, + "Lootable": { + "type": "byte", + "value": 0 + }, + "MaxHitPoints": { + "type": "short", + "value": 180 + }, + "NaturalAC": { + "type": "byte", + "value": 0 + }, + "NoPermDeath": { + "type": "byte", + "value": 1 + }, + "PaletteID": { + "type": "byte", + "value": 49 + }, + "PerceptionRange": { + "type": "byte", + "value": 11 + }, + "Phenotype": { + "type": "int", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 624 + }, + "Race": { + "type": "byte", + "value": 19 + }, + "refbonus": { + "type": "short", + "value": 0 + }, + "ScriptAttacked": { + "type": "resref", + "value": "ra_ai_attacked" + }, + "ScriptDamaged": { + "type": "resref", + "value": "ra_ai_ondamaged" + }, + "ScriptDeath": { + "type": "resref", + "value": "ra_ai_ondeath" + }, + "ScriptDialogue": { + "type": "resref", + "value": "ra_ai_onconverse" + }, + "ScriptDisturbed": { + "type": "resref", + "value": "ra_ai_ondisturb" + }, + "ScriptEndRound": { + "type": "resref", + "value": "ra_ai_endcmbtrnd" + }, + "ScriptHeartbeat": { + "type": "resref", + "value": "ra_ai_heartbeat" + }, + "ScriptOnBlocked": { + "type": "resref", + "value": "ra_ai_onblocked" + }, + "ScriptOnNotice": { + "type": "resref", + "value": "ra_ai_onpercept" + }, + "ScriptRested": { + "type": "resref", + "value": "ra_ai_onrested" + }, + "ScriptSpawn": { + "type": "resref", + "value": "ra_ai_onspawn" + }, + "ScriptSpellAt": { + "type": "resref", + "value": "ra_ai_onspelled" + }, + "ScriptUserDefine": { + "type": "resref", + "value": "ra_ai_userdef" + }, + "SkillList": { + "type": "list", + "value": [ + { + "__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": 15 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 12 + } + }, + { + "__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": 10 + } + }, + { + "__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 + } + }, + { + "__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": 324 + }, + "SpecAbilityList": { + "type": "list", + "value": [] + }, + "StartingPackage": { + "type": "byte", + "value": 0 + }, + "Str": { + "type": "byte", + "value": 10 + }, + "Subrace": { + "type": "cexostring", + "value": "Magical Beast" + }, + "Tag": { + "type": "cexostring", + "value": "RA_COCKATRICE003" + }, + "Tail_New": { + "type": "dword", + "value": 416 + }, + "TemplateList": { + "type": "list", + "value": [] + }, + "TemplateResRef": { + "type": "resref", + "value": "ra_cockatrice003" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "SET_NAME" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Cockatrice" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "SPAWN_TYPE" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "no_spn_ftr" + } + } + ] + }, + "WalkRate": { + "type": "int", + "value": 7 + }, + "willbonus": { + "type": "short", + "value": 0 + }, + "Wings_New": { + "type": "dword", + "value": 0 + }, + "Wis": { + "type": "byte", + "value": 13 + } +} diff --git a/_module/utc/ra_imp001.utc.json b/_module/utc/ra_imp001.utc.json new file mode 100644 index 00000000..2cb71767 --- /dev/null +++ b/_module/utc/ra_imp001.utc.json @@ -0,0 +1,798 @@ +{ + "__data_type": "UTC ", + "Appearance_Type": { + "type": "word", + "value": 105 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "Cha": { + "type": "byte", + "value": 10 + }, + "ChallengeRating": { + "type": "float", + "value": 5.0 + }, + "ClassList": { + "type": "list", + "value": [ + { + "__struct_id": 2, + "Class": { + "type": "int", + "value": 24 + }, + "ClassLevel": { + "type": "short", + "value": 3 + } + } + ] + }, + "Comment": { + "type": "cexostring", + "value": "Imp: 03 HD\r\n\r\nMonster Manual I, pg. 56\r\n\r\nCharm Monster = Suggestion" + }, + "Con": { + "type": "byte", + "value": 10 + }, + "Conversation": { + "type": "resref", + "value": "cv_charmed" + }, + "CRAdjust": { + "type": "int", + "value": 0 + }, + "CurrentHitPoints": { + "type": "short", + "value": 13 + }, + "DecayTime": { + "type": "dword", + "value": 5000 + }, + "Deity": { + "type": "cexostring", + "value": "" + }, + "Description": { + "id": 12543, + "type": "cexolocstring", + "value": {} + }, + "Dex": { + "type": "byte", + "value": 17 + }, + "Disarmable": { + "type": "byte", + "value": 0 + }, + "Equip_ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 16384, + "EquippedRes": { + "type": "resref", + "value": "nw_it_crewpp016" + } + }, + { + "__struct_id": 131072, + "EquippedRes": { + "type": "resref", + "value": "cr_hide_imp01" + } + } + ] + }, + "FactionID": { + "type": "word", + "value": 1 + }, + "FeatList": { + "type": "list", + "value": [ + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 228 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 289 + } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 3920 + } + } + ] + }, + "FirstName": { + "id": 5999, + "type": "cexolocstring", + "value": { + "0": "Imp: 03 HD" + } + }, + "fortbonus": { + "type": "short", + "value": 0 + }, + "Gender": { + "type": "byte", + "value": 0 + }, + "GoodEvil": { + "type": "byte", + "value": 0 + }, + "HitPoints": { + "type": "short", + "value": 13 + }, + "Int": { + "type": "byte", + "value": 10 + }, + "Interruptable": { + "type": "byte", + "value": 1 + }, + "IsImmortal": { + "type": "byte", + "value": 0 + }, + "IsPC": { + "type": "byte", + "value": 0 + }, + "LastName": { + "type": "cexolocstring", + "value": {} + }, + "LawfulChaotic": { + "type": "byte", + "value": 100 + }, + "Lootable": { + "type": "byte", + "value": 0 + }, + "MaxHitPoints": { + "type": "short", + "value": 13 + }, + "NaturalAC": { + "type": "byte", + "value": 5 + }, + "NoPermDeath": { + "type": "byte", + "value": 0 + }, + "PaletteID": { + "type": "byte", + "value": 25 + }, + "PerceptionRange": { + "type": "byte", + "value": 11 + }, + "Phenotype": { + "type": "int", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 185 + }, + "Race": { + "type": "byte", + "value": 20 + }, + "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": 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": 15 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 5 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 5 + } + }, + { + "__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": 5 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 5 + } + }, + { + "__struct_id": 0, + "Rank": { + "type": "byte", + "value": 5 + } + }, + { + "__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 + } + }, + { + "__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": 63 + }, + "SpecAbilityList": { + "type": "list", + "value": [ + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 15 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 11 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + } + ] + }, + "StartingPackage": { + "type": "byte", + "value": 86 + }, + "Str": { + "type": "byte", + "value": 10 + }, + "Subrace": { + "type": "cexostring", + "value": "Outsider (Evil, Extraplanar, Lawful)" + }, + "Tag": { + "type": "cexostring", + "value": "RA_IMP001" + }, + "Tail_New": { + "type": "dword", + "value": 0 + }, + "TemplateList": { + "type": "list", + "value": [] + }, + "TemplateResRef": { + "type": "resref", + "value": "ra_imp001" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "SET_NAME" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Marty the Imp" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "bFlying" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 1 + } + } + ] + }, + "WalkRate": { + "type": "int", + "value": 6 + }, + "willbonus": { + "type": "short", + "value": 0 + }, + "Wings_New": { + "type": "dword", + "value": 0 + }, + "Wis": { + "type": "byte", + "value": 12 + } +} diff --git a/_module/utc/ra_imp_marty.utc.json b/_module/utc/ra_imp_marty.utc.json index 736613cb..0e91f0f4 100644 --- a/_module/utc/ra_imp_marty.utc.json +++ b/_module/utc/ra_imp_marty.utc.json @@ -14,7 +14,7 @@ }, "ChallengeRating": { "type": "float", - "value": 4.0 + "value": 5.0 }, "ClassList": { "type": "list", @@ -126,6 +126,13 @@ "type": "word", "value": 289 } + }, + { + "__struct_id": 1, + "Feat": { + "type": "word", + "value": 3920 + } } ] }, @@ -576,11 +583,11 @@ "__struct_id": 4, "Spell": { "type": "word", - "value": 90 + "value": 799 }, "SpellCasterLevel": { "type": "byte", - "value": 6 + "value": 0 }, "SpellFlags": { "type": "byte", @@ -591,11 +598,11 @@ "__struct_id": 4, "Spell": { "type": "word", - "value": 90 + "value": 799 }, "SpellCasterLevel": { "type": "byte", - "value": 6 + "value": 0 }, "SpellFlags": { "type": "byte", @@ -606,11 +613,101 @@ "__struct_id": 4, "Spell": { "type": "word", - "value": 90 + "value": 799 }, "SpellCasterLevel": { "type": "byte", - "value": 6 + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 + }, + "SpellFlags": { + "type": "byte", + "value": 1 + } + }, + { + "__struct_id": 4, + "Spell": { + "type": "word", + "value": 799 + }, + "SpellCasterLevel": { + "type": "byte", + "value": 0 }, "SpellFlags": { "type": "byte", @@ -679,21 +776,6 @@ "type": "int", "value": 1 } - }, - { - "__struct_id": 0, - "Name": { - "type": "cexostring", - "value": "NATURAL_INVIS" - }, - "Type": { - "type": "dword", - "value": 1 - }, - "Value": { - "type": "int", - "value": 1 - } } ] }, diff --git a/_module/uti/cr_bite_weasel01.uti.json b/_module/uti/cr_bite_weasel01.uti.json new file mode 100644 index 00000000..ec61c255 --- /dev/null +++ b/_module/uti/cr_bite_weasel01.uti.json @@ -0,0 +1,145 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 69 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "Dire Weasel Bite" + }, + "Cost": { + "type": "dword", + "value": 844 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Dire Weasel Bite" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "Dire Weasel Bite" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "id": 13238, + "type": "cexolocstring", + "value": { + "0": "Dire Weasel Bite" + } + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "PaletteID": { + "type": "byte", + "value": 55 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 26 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 82 + }, + "Subtype": { + "type": "word", + "value": 125 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "CR_BITE_WEASEL01" + }, + "TemplateResRef": { + "type": "resref", + "value": "cr_bite_weasel01" + } +} diff --git a/_module/uti/ra_cocktrc_bite.uti.json b/_module/uti/ra_cocktrc_bite.uti.json new file mode 100644 index 00000000..c5bf2140 --- /dev/null +++ b/_module/uti/ra_cocktrc_bite.uti.json @@ -0,0 +1,145 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 70 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "Cockatrice Bite" + }, + "Cost": { + "type": "dword", + "value": 604 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Cockatrice Bite" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "Cockatrice Bite" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "id": 48250, + "type": "cexolocstring", + "value": { + "0": "Cockatrice Bite" + } + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "PaletteID": { + "type": "byte", + "value": 55 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 26 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 82 + }, + "Subtype": { + "type": "word", + "value": 125 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "RA_COCKTRC_BITE" + }, + "TemplateResRef": { + "type": "resref", + "value": "ra_cocktrc_bite" + } +} diff --git a/_module/uti/ra_cocktrc_bite2.uti.json b/_module/uti/ra_cocktrc_bite2.uti.json new file mode 100644 index 00000000..3bdcc07a --- /dev/null +++ b/_module/uti/ra_cocktrc_bite2.uti.json @@ -0,0 +1,145 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 70 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "Cockatrice Bite (Medium)" + }, + "Cost": { + "type": "dword", + "value": 844 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Cockatrice Bite (Medium)" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "Cockatrice Bite (Medium)" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "id": 48250, + "type": "cexolocstring", + "value": { + "0": "Cockatrice Bite (Medium)" + } + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "PaletteID": { + "type": "byte", + "value": 55 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 19 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 77 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 26 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 82 + }, + "Subtype": { + "type": "word", + "value": 125 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "RA_COCKTRC_BITE" + }, + "TemplateResRef": { + "type": "resref", + "value": "ra_cocktrc_bite2" + } +} diff --git a/_module/utp/persist_chest.utp.json b/_module/utp/persist_chest.utp.json new file mode 100644 index 00000000..f0badd98 --- /dev/null +++ b/_module/utp/persist_chest.utp.json @@ -0,0 +1,219 @@ +{ + "__data_type": "UTP ", + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 10 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "Daz's NUI Persistent Chest" + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14597, + "type": "cexolocstring", + "value": { + "0": "This looks like a safe place to store your belongings." + } + }, + "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": { + "id": 5348, + "type": "cexolocstring", + "value": {} + }, + "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": "obj_us_chest" + }, + "OnUserDefined": { + "type": "resref", + "value": "" + }, + "OpenLockDC": { + "type": "byte", + "value": 18 + }, + "PaletteID": { + "type": "byte", + "value": 6 + }, + "Plot": { + "type": "byte", + "value": 1 + }, + "PortraitId": { + "type": "word", + "value": 368 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "PERSIST_CHEST" + }, + "TemplateResRef": { + "type": "resref", + "value": "persist_chest" + }, + "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 + } +}