diff --git a/README.md b/README.md index 3f4e13c6..2108f263 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,11 @@ # Anphillia Unlimited -Repository for the development of the PRC'd version of the Anphillia PW for Neverwinter Nights. \ No newline at end of file +Repository for the development of the PRC'd version of the Anphillia PW for Neverwinter Nights. + +## Requirements + +PRC8 + +CEP 2 + +ACP v4.1 \ No newline at end of file diff --git a/_module/ifo/module.ifo.json b/_module/ifo/module.ifo.json index 264f473c..ace346df 100644 --- a/_module/ifo/module.ifo.json +++ b/_module/ifo/module.ifo.json @@ -2356,7 +2356,7 @@ "Mod_Description": { "type": "cexolocstring", "value": { - "0": "[anphillia.pw]\n\nAnphillia is a low magic RP faction based PVP persistent world featuring 'Craftable Natural Resources' which allows players to gather resources to create weapons, items and armour.\n\nAnphillia uses CEP3, available to download here: https://neverwintervault.org/cep\n" + "0": "Anphillia Unlimited [PRC8-CEP3]\n\nAnphillia is a low magic RP faction based PVP persistent world featuring 'Craftable Natural Resources' which allows players to gather resources to create weapons, items and armour.\n\nAnphillia uses CEP3, available to download here: https://neverwintervault.org/cep\n" } }, "Mod_DuskHour": { @@ -2586,6 +2586,13 @@ "type": "cexostring", "value": "cep3_tiles" } + }, + { + "__struct_id": 8, + "Mod_Hak": { + "type": "cexostring", + "value": "acp_v4.1" + } } ] }, @@ -2599,7 +2606,7 @@ }, "Mod_MinGameVer": { "type": "cexostring", - "value": "1.87" + "value": "1.88" }, "Mod_MinPerHour": { "type": "byte", @@ -2727,6 +2734,10 @@ "type": "cexostring", "value": "Anphilliav7_X" }, + "Mod_UUID": { + "type": "cexostring", + "value": "" + }, "Mod_Version": { "type": "dword", "value": 3 @@ -2932,6 +2943,96 @@ "type": "int", "value": 1 } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "PRC_MULTISUMMON" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 1 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "PRC_XP_USE_SIMPLE_LA" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 1 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "PRC_XP_USE_SIMPLE_RACIAL_HD" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 1 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "PRC_XP_USE_SIMPLE_RACIAL_HD_NO_FREE_XP" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 1 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "PRC_ACP_MANUAL" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 1 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "PRC_ACP_AUTOMATIC" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 1 + } } ] } diff --git a/_module/ncs/_area_scripts.ncs b/_module/ncs/_area_scripts.ncs index 931cb583..b8a6b715 100644 Binary files a/_module/ncs/_area_scripts.ncs and b/_module/ncs/_area_scripts.ncs differ diff --git a/_module/ncs/_item_migrate.ncs b/_module/ncs/_item_migrate.ncs index f63b066d..38a48c2b 100644 Binary files a/_module/ncs/_item_migrate.ncs and b/_module/ncs/_item_migrate.ncs differ diff --git a/_module/ncs/_migrate_pc.ncs b/_module/ncs/_migrate_pc.ncs index 4646e4de..c54e83f8 100644 Binary files a/_module/ncs/_migrate_pc.ncs and b/_module/ncs/_migrate_pc.ncs differ diff --git a/_module/ncs/anph_act_likeme.ncs b/_module/ncs/anph_act_likeme.ncs index e25fba0a..a939ad24 100644 Binary files a/_module/ncs/anph_act_likeme.ncs and b/_module/ncs/anph_act_likeme.ncs differ diff --git a/_module/ncs/anph_altar_close.ncs b/_module/ncs/anph_altar_close.ncs index b145407d..2c89bd7a 100644 Binary files a/_module/ncs/anph_altar_close.ncs and b/_module/ncs/anph_altar_close.ncs differ diff --git a/_module/ncs/anph_area_enter.ncs b/_module/ncs/anph_area_enter.ncs index 4d1c670f..d682931b 100644 Binary files a/_module/ncs/anph_area_enter.ncs and b/_module/ncs/anph_area_enter.ncs differ diff --git a/_module/ncs/anph_area_exit.ncs b/_module/ncs/anph_area_exit.ncs index abefdee2..3d81fe8d 100644 Binary files a/_module/ncs/anph_area_exit.ncs and b/_module/ncs/anph_area_exit.ncs differ diff --git a/_module/ncs/anph_area_hb.ncs b/_module/ncs/anph_area_hb.ncs index 4aa72eac..725e29d1 100644 Binary files a/_module/ncs/anph_area_hb.ncs and b/_module/ncs/anph_area_hb.ncs differ diff --git a/_module/ncs/anph_ax_enter.ncs b/_module/ncs/anph_ax_enter.ncs index b58d49a0..14f63b74 100644 Binary files a/_module/ncs/anph_ax_enter.ncs and b/_module/ncs/anph_ax_enter.ncs differ diff --git a/_module/ncs/anph_clv_enter.ncs b/_module/ncs/anph_clv_enter.ncs index 929dd2ab..5b1666fe 100644 Binary files a/_module/ncs/anph_clv_enter.ncs and b/_module/ncs/anph_clv_enter.ncs differ diff --git a/_module/ncs/anph_config_inc.ncs b/_module/ncs/anph_config_inc.ncs index 11b2ec34..7bcdefd9 100644 Binary files a/_module/ncs/anph_config_inc.ncs and b/_module/ncs/anph_config_inc.ncs differ diff --git a/_module/ncs/anph_conv_chk.ncs b/_module/ncs/anph_conv_chk.ncs index f353d0f2..6d0a41db 100644 Binary files a/_module/ncs/anph_conv_chk.ncs and b/_module/ncs/anph_conv_chk.ncs differ diff --git a/_module/ncs/anph_fishing.ncs b/_module/ncs/anph_fishing.ncs index 91851965..1b58dd98 100644 Binary files a/_module/ncs/anph_fishing.ncs and b/_module/ncs/anph_fishing.ncs differ diff --git a/_module/ncs/anph_fugue_rez.ncs b/_module/ncs/anph_fugue_rez.ncs index 4885c930..d437d379 100644 Binary files a/_module/ncs/anph_fugue_rez.ncs and b/_module/ncs/anph_fugue_rez.ncs differ diff --git a/_module/ncs/anph_gate_ondmg.ncs b/_module/ncs/anph_gate_ondmg.ncs index bbe7daba..6d213fd6 100644 Binary files a/_module/ncs/anph_gate_ondmg.ncs and b/_module/ncs/anph_gate_ondmg.ncs differ diff --git a/_module/ncs/anph_go_field.ncs b/_module/ncs/anph_go_field.ncs index 9d370d64..83f62299 100644 Binary files a/_module/ncs/anph_go_field.ncs and b/_module/ncs/anph_go_field.ncs differ diff --git a/_module/ncs/anph_go_loriette.ncs b/_module/ncs/anph_go_loriette.ncs index 83094d87..38deca9c 100644 Binary files a/_module/ncs/anph_go_loriette.ncs and b/_module/ncs/anph_go_loriette.ncs differ diff --git a/_module/ncs/anph_god_spawn.ncs b/_module/ncs/anph_god_spawn.ncs index c4959285..60719c5f 100644 Binary files a/_module/ncs/anph_god_spawn.ncs and b/_module/ncs/anph_god_spawn.ncs differ diff --git a/_module/ncs/anph_goinroll10.ncs b/_module/ncs/anph_goinroll10.ncs index 18b0fe90..ffe5f17a 100644 Binary files a/_module/ncs/anph_goinroll10.ncs and b/_module/ncs/anph_goinroll10.ncs differ diff --git a/_module/ncs/anph_goinroll15.ncs b/_module/ncs/anph_goinroll15.ncs index b5c18b83..0b9b0090 100644 Binary files a/_module/ncs/anph_goinroll15.ncs and b/_module/ncs/anph_goinroll15.ncs differ diff --git a/_module/ncs/anph_goinroll5.ncs b/_module/ncs/anph_goinroll5.ncs index 54d36fc2..f40feb7c 100644 Binary files a/_module/ncs/anph_goinroll5.ncs and b/_module/ncs/anph_goinroll5.ncs differ diff --git a/_module/ncs/anph_has_hides.ncs b/_module/ncs/anph_has_hides.ncs index d75c4194..32123acb 100644 Binary files a/_module/ncs/anph_has_hides.ncs and b/_module/ncs/anph_has_hides.ncs differ diff --git a/_module/ncs/anph_hb_bpack.ncs b/_module/ncs/anph_hb_bpack.ncs index 5b307482..c1dc2870 100644 Binary files a/_module/ncs/anph_hb_bpack.ncs and b/_module/ncs/anph_hb_bpack.ncs differ diff --git a/_module/ncs/anph_hb_dc.ncs b/_module/ncs/anph_hb_dc.ncs index 198b6d53..0d033bf1 100644 Binary files a/_module/ncs/anph_hb_dc.ncs and b/_module/ncs/anph_hb_dc.ncs differ diff --git a/_module/ncs/anph_hench_spawn.ncs b/_module/ncs/anph_hench_spawn.ncs index 4da18af9..a66b9450 100644 Binary files a/_module/ncs/anph_hench_spawn.ncs and b/_module/ncs/anph_hench_spawn.ncs differ diff --git a/_module/ncs/anph_lamir_dmgd.ncs b/_module/ncs/anph_lamir_dmgd.ncs index d14888e7..0cdd037e 100644 Binary files a/_module/ncs/anph_lamir_dmgd.ncs and b/_module/ncs/anph_lamir_dmgd.ncs differ diff --git a/_module/ncs/anph_merc_join.ncs b/_module/ncs/anph_merc_join.ncs index 17d726cb..6bb32872 100644 Binary files a/_module/ncs/anph_merc_join.ncs and b/_module/ncs/anph_merc_join.ncs differ diff --git a/_module/ncs/anph_merc_spawn.ncs b/_module/ncs/anph_merc_spawn.ncs index 8051192f..feb2c65c 100644 Binary files a/_module/ncs/anph_merc_spawn.ncs and b/_module/ncs/anph_merc_spawn.ncs differ diff --git a/_module/ncs/anph_merc_surndr.ncs b/_module/ncs/anph_merc_surndr.ncs index 208e992c..f1453fc4 100644 Binary files a/_module/ncs/anph_merc_surndr.ncs and b/_module/ncs/anph_merc_surndr.ncs differ diff --git a/_module/ncs/anph_on_area_ent.ncs b/_module/ncs/anph_on_area_ent.ncs index 1ce69ef8..466f9201 100644 Binary files a/_module/ncs/anph_on_area_ent.ncs and b/_module/ncs/anph_on_area_ent.ncs differ diff --git a/_module/ncs/anph_open_store.ncs b/_module/ncs/anph_open_store.ncs index bf84cb3c..1bc00d79 100644 Binary files a/_module/ncs/anph_open_store.ncs and b/_module/ncs/anph_open_store.ncs differ diff --git a/_module/ncs/anph_open_store2.ncs b/_module/ncs/anph_open_store2.ncs index 6994a23f..ffe132bf 100644 Binary files a/_module/ncs/anph_open_store2.ncs and b/_module/ncs/anph_open_store2.ncs differ diff --git a/_module/ncs/anph_payout.ncs b/_module/ncs/anph_payout.ncs index 4cb33302..5d26bacb 100644 Binary files a/_module/ncs/anph_payout.ncs and b/_module/ncs/anph_payout.ncs differ diff --git a/_module/ncs/anph_raceeval.ncs b/_module/ncs/anph_raceeval.ncs index 0b9b926b..a8b5f6bb 100644 Binary files a/_module/ncs/anph_raceeval.ncs and b/_module/ncs/anph_raceeval.ncs differ diff --git a/_module/ncs/anph_ranz_gong.ncs b/_module/ncs/anph_ranz_gong.ncs index d45f51f3..45c2d4e7 100644 Binary files a/_module/ncs/anph_ranz_gong.ncs and b/_module/ncs/anph_ranz_gong.ncs differ diff --git a/_module/ncs/anph_raut_surndr.ncs b/_module/ncs/anph_raut_surndr.ncs index 583948db..79fd393c 100644 Binary files a/_module/ncs/anph_raut_surndr.ncs and b/_module/ncs/anph_raut_surndr.ncs differ diff --git a/_module/ncs/anph_start_trig.ncs b/_module/ncs/anph_start_trig.ncs index 8b6c5c74..f921f280 100644 Binary files a/_module/ncs/anph_start_trig.ncs and b/_module/ncs/anph_start_trig.ncs differ diff --git a/_module/ncs/anph_sw_toggle.ncs b/_module/ncs/anph_sw_toggle.ncs index 31f94829..058f745a 100644 Binary files a/_module/ncs/anph_sw_toggle.ncs and b/_module/ncs/anph_sw_toggle.ncs differ diff --git a/_module/ncs/anph_take_fbb.ncs b/_module/ncs/anph_take_fbb.ncs index 234aa7df..f515f04a 100644 Binary files a/_module/ncs/anph_take_fbb.ncs and b/_module/ncs/anph_take_fbb.ncs differ diff --git a/_module/ncs/anph_take_hides.ncs b/_module/ncs/anph_take_hides.ncs index 39acdb2e..f1a6d3b7 100644 Binary files a/_module/ncs/anph_take_hides.ncs and b/_module/ncs/anph_take_hides.ncs differ diff --git a/_module/ncs/anph_take_nuts.ncs b/_module/ncs/anph_take_nuts.ncs index 3d2d4658..f5bfcd8a 100644 Binary files a/_module/ncs/anph_take_nuts.ncs and b/_module/ncs/anph_take_nuts.ncs differ diff --git a/_module/ncs/anph_take_rothe.ncs b/_module/ncs/anph_take_rothe.ncs index 1913bb2d..2ff0cded 100644 Binary files a/_module/ncs/anph_take_rothe.ncs and b/_module/ncs/anph_take_rothe.ncs differ diff --git a/_module/ncs/anph_team_cnt.ncs b/_module/ncs/anph_team_cnt.ncs index 2b2c0c89..3718844d 100644 Binary files a/_module/ncs/anph_team_cnt.ncs and b/_module/ncs/anph_team_cnt.ncs differ diff --git a/_module/ncs/anph_tell_area.ncs b/_module/ncs/anph_tell_area.ncs index 9bf20ddb..bd922f96 100644 Binary files a/_module/ncs/anph_tell_area.ncs and b/_module/ncs/anph_tell_area.ncs differ diff --git a/_module/ncs/anph_transition.ncs b/_module/ncs/anph_transition.ncs index d8ba379a..043c89fb 100644 Binary files a/_module/ncs/anph_transition.ncs and b/_module/ncs/anph_transition.ncs differ diff --git a/_module/ncs/anph_writesubrac.ncs b/_module/ncs/anph_writesubrac.ncs index e915b895..c302368c 100644 Binary files a/_module/ncs/anph_writesubrac.ncs and b/_module/ncs/anph_writesubrac.ncs differ diff --git a/_module/ncs/anph_xpw_grpq_l.ncs b/_module/ncs/anph_xpw_grpq_l.ncs index 3402ddae..ea03a290 100644 Binary files a/_module/ncs/anph_xpw_grpq_l.ncs and b/_module/ncs/anph_xpw_grpq_l.ncs differ diff --git a/_module/ncs/anph_xpw_grpq_m.ncs b/_module/ncs/anph_xpw_grpq_m.ncs index 7a417e4c..8996cd02 100644 Binary files a/_module/ncs/anph_xpw_grpq_m.ncs and b/_module/ncs/anph_xpw_grpq_m.ncs differ diff --git a/_module/ncs/anph_xpw_grpq_s.ncs b/_module/ncs/anph_xpw_grpq_s.ncs index 6e1978a1..0eff3f13 100644 Binary files a/_module/ncs/anph_xpw_grpq_s.ncs and b/_module/ncs/anph_xpw_grpq_s.ncs differ diff --git a/_module/ncs/anph_xpw_ooc.ncs b/_module/ncs/anph_xpw_ooc.ncs index 1457b19d..714041ec 100644 Binary files a/_module/ncs/anph_xpw_ooc.ncs and b/_module/ncs/anph_xpw_ooc.ncs differ diff --git a/_module/ncs/anph_xpw_quest_l.ncs b/_module/ncs/anph_xpw_quest_l.ncs index 7a471106..108a7cfb 100644 Binary files a/_module/ncs/anph_xpw_quest_l.ncs and b/_module/ncs/anph_xpw_quest_l.ncs differ diff --git a/_module/ncs/anph_xpw_quest_m.ncs b/_module/ncs/anph_xpw_quest_m.ncs index ae533ff4..9b86eb4b 100644 Binary files a/_module/ncs/anph_xpw_quest_m.ncs and b/_module/ncs/anph_xpw_quest_m.ncs differ diff --git a/_module/ncs/anph_xpw_quest_s.ncs b/_module/ncs/anph_xpw_quest_s.ncs index 3dce1d7a..d58889d0 100644 Binary files a/_module/ncs/anph_xpw_quest_s.ncs and b/_module/ncs/anph_xpw_quest_s.ncs differ diff --git a/_module/ncs/anph_xpw_rp_l.ncs b/_module/ncs/anph_xpw_rp_l.ncs index 27b44613..f5d484b4 100644 Binary files a/_module/ncs/anph_xpw_rp_l.ncs and b/_module/ncs/anph_xpw_rp_l.ncs differ diff --git a/_module/ncs/anph_xpw_rp_m.ncs b/_module/ncs/anph_xpw_rp_m.ncs index 69cbbb1a..ccea19f5 100644 Binary files a/_module/ncs/anph_xpw_rp_m.ncs and b/_module/ncs/anph_xpw_rp_m.ncs differ diff --git a/_module/ncs/anph_xpw_rp_s.ncs b/_module/ncs/anph_xpw_rp_s.ncs index b395620b..a7cf482d 100644 Binary files a/_module/ncs/anph_xpw_rp_s.ncs and b/_module/ncs/anph_xpw_rp_s.ncs differ diff --git a/_module/ncs/apl_use_jumptowp.ncs b/_module/ncs/apl_use_jumptowp.ncs index 6e563741..b4b7b541 100644 Binary files a/_module/ncs/apl_use_jumptowp.ncs and b/_module/ncs/apl_use_jumptowp.ncs differ diff --git a/_module/ncs/array_example.ncs b/_module/ncs/array_example.ncs new file mode 100644 index 00000000..4515ec5d Binary files /dev/null and b/_module/ncs/array_example.ncs differ diff --git a/_module/ncs/at_001.ncs b/_module/ncs/at_001.ncs index 06df660c..5e9fb4c0 100644 Binary files a/_module/ncs/at_001.ncs and b/_module/ncs/at_001.ncs differ diff --git a/_module/ncs/at_002.ncs b/_module/ncs/at_002.ncs index 41fed16c..b3d755d5 100644 Binary files a/_module/ncs/at_002.ncs and b/_module/ncs/at_002.ncs differ diff --git a/_module/ncs/at_007.ncs b/_module/ncs/at_007.ncs index 8d13a7cf..bb997951 100644 Binary files a/_module/ncs/at_007.ncs and b/_module/ncs/at_007.ncs differ diff --git a/_module/ncs/at_008.ncs b/_module/ncs/at_008.ncs index 545e57bc..8f5738b2 100644 Binary files a/_module/ncs/at_008.ncs and b/_module/ncs/at_008.ncs differ diff --git a/_module/ncs/at_027.ncs b/_module/ncs/at_027.ncs index b4af0c08..4ae77b5e 100644 Binary files a/_module/ncs/at_027.ncs and b/_module/ncs/at_027.ncs differ diff --git a/_module/ncs/at_028.ncs b/_module/ncs/at_028.ncs index 04e5609d..273ff41d 100644 Binary files a/_module/ncs/at_028.ncs and b/_module/ncs/at_028.ncs differ diff --git a/_module/ncs/at_029.ncs b/_module/ncs/at_029.ncs index e8ca1f1e..58ec6188 100644 Binary files a/_module/ncs/at_029.ncs and b/_module/ncs/at_029.ncs differ diff --git a/_module/ncs/atr_stripall.ncs b/_module/ncs/atr_stripall.ncs index 14ff0dd2..d8b35a7d 100644 Binary files a/_module/ncs/atr_stripall.ncs and b/_module/ncs/atr_stripall.ncs differ diff --git a/_module/ncs/awda.ncs b/_module/ncs/awda.ncs index 54a79349..6ee1d7e6 100644 Binary files a/_module/ncs/awda.ncs and b/_module/ncs/awda.ncs differ diff --git a/_module/ncs/blockdoor.ncs b/_module/ncs/blockdoor.ncs index adeabda9..52898472 100644 Binary files a/_module/ncs/blockdoor.ncs and b/_module/ncs/blockdoor.ncs differ diff --git a/_module/ncs/charbanelever.ncs b/_module/ncs/charbanelever.ncs index 742b5672..77b12273 100644 Binary files a/_module/ncs/charbanelever.ncs and b/_module/ncs/charbanelever.ncs differ diff --git a/_module/ncs/charlmeliah2.ncs b/_module/ncs/charlmeliah2.ncs index 41fed16c..b3d755d5 100644 Binary files a/_module/ncs/charlmeliah2.ncs and b/_module/ncs/charlmeliah2.ncs differ diff --git a/_module/ncs/charlmerchantatt.ncs b/_module/ncs/charlmerchantatt.ncs index 41fed16c..b3d755d5 100644 Binary files a/_module/ncs/charlmerchantatt.ncs and b/_module/ncs/charlmerchantatt.ncs differ diff --git a/_module/ncs/charnpcattack.ncs b/_module/ncs/charnpcattack.ncs index 41fed16c..b3d755d5 100644 Binary files a/_module/ncs/charnpcattack.ncs and b/_module/ncs/charnpcattack.ncs differ diff --git a/_module/ncs/chat_commands.ncs b/_module/ncs/chat_commands.ncs index 1a3e9083..2c2b092a 100644 Binary files a/_module/ncs/chat_commands.ncs and b/_module/ncs/chat_commands.ncs differ diff --git a/_module/ncs/chd_altar_used.ncs b/_module/ncs/chd_altar_used.ncs index f1f11e9d..41827c02 100644 Binary files a/_module/ncs/chd_altar_used.ncs and b/_module/ncs/chd_altar_used.ncs differ diff --git a/_module/ncs/chd_listen.ncs b/_module/ncs/chd_listen.ncs index 2fdbf2b8..4feab517 100644 Binary files a/_module/ncs/chd_listen.ncs and b/_module/ncs/chd_listen.ncs differ diff --git a/_module/ncs/chd_on_conver.ncs b/_module/ncs/chd_on_conver.ncs index 7d657b14..b348d5e3 100644 Binary files a/_module/ncs/chd_on_conver.ncs and b/_module/ncs/chd_on_conver.ncs differ diff --git a/_module/ncs/chd_on_spawn.ncs b/_module/ncs/chd_on_spawn.ncs index ad2a16ee..232cf49f 100644 Binary files a/_module/ncs/chd_on_spawn.ncs and b/_module/ncs/chd_on_spawn.ncs differ diff --git a/_module/ncs/chr_update_all.ncs b/_module/ncs/chr_update_all.ncs index 0028c3ea..7eeb374c 100644 Binary files a/_module/ncs/chr_update_all.ncs and b/_module/ncs/chr_update_all.ncs differ diff --git a/_module/ncs/cnr_alchemy_anim.ncs b/_module/ncs/cnr_alchemy_anim.ncs index 6ba69cfb..db5d4963 100644 Binary files a/_module/ncs/cnr_alchemy_anim.ncs and b/_module/ncs/cnr_alchemy_anim.ncs differ diff --git a/_module/ncs/cnr_anvil_anim.ncs b/_module/ncs/cnr_anvil_anim.ncs index 6d7db2f1..401ffeeb 100644 Binary files a/_module/ncs/cnr_anvil_anim.ncs and b/_module/ncs/cnr_anvil_anim.ncs differ diff --git a/_module/ncs/cnr_at_b_back.ncs b/_module/ncs/cnr_at_b_back.ncs index 16e329a2..780c6a63 100644 Binary files a/_module/ncs/cnr_at_b_back.ncs and b/_module/ncs/cnr_at_b_back.ncs differ diff --git a/_module/ncs/cnr_at_b_craft.ncs b/_module/ncs/cnr_at_b_craft.ncs index ac2dba51..9314c374 100644 Binary files a/_module/ncs/cnr_at_b_craft.ncs and b/_module/ncs/cnr_at_b_craft.ncs differ diff --git a/_module/ncs/cnr_at_b_next.ncs b/_module/ncs/cnr_at_b_next.ncs index 2880db08..cf95c8d0 100644 Binary files a/_module/ncs/cnr_at_b_next.ncs and b/_module/ncs/cnr_at_b_next.ncs differ diff --git a/_module/ncs/cnr_at_b_prev.ncs b/_module/ncs/cnr_at_b_prev.ncs index cf33cbd1..2ca7d8ff 100644 Binary files a/_module/ncs/cnr_at_b_prev.ncs and b/_module/ncs/cnr_at_b_prev.ncs differ diff --git a/_module/ncs/cnr_at_b_sel_1.ncs b/_module/ncs/cnr_at_b_sel_1.ncs index 153e0620..d2edf9c9 100644 Binary files a/_module/ncs/cnr_at_b_sel_1.ncs and b/_module/ncs/cnr_at_b_sel_1.ncs differ diff --git a/_module/ncs/cnr_at_b_sel_2.ncs b/_module/ncs/cnr_at_b_sel_2.ncs index 8c7b1290..8ced9b30 100644 Binary files a/_module/ncs/cnr_at_b_sel_2.ncs and b/_module/ncs/cnr_at_b_sel_2.ncs differ diff --git a/_module/ncs/cnr_at_b_sel_3.ncs b/_module/ncs/cnr_at_b_sel_3.ncs index 833ca8b8..fe54006e 100644 Binary files a/_module/ncs/cnr_at_b_sel_3.ncs and b/_module/ncs/cnr_at_b_sel_3.ncs differ diff --git a/_module/ncs/cnr_at_b_sel_4.ncs b/_module/ncs/cnr_at_b_sel_4.ncs index c1326669..e2f7d586 100644 Binary files a/_module/ncs/cnr_at_b_sel_4.ncs and b/_module/ncs/cnr_at_b_sel_4.ncs differ diff --git a/_module/ncs/cnr_at_b_sel_5.ncs b/_module/ncs/cnr_at_b_sel_5.ncs index 0e67520d..2e08409f 100644 Binary files a/_module/ncs/cnr_at_b_sel_5.ncs and b/_module/ncs/cnr_at_b_sel_5.ncs differ diff --git a/_module/ncs/cnr_at_b_sel_6.ncs b/_module/ncs/cnr_at_b_sel_6.ncs index 62969c1f..25085566 100644 Binary files a/_module/ncs/cnr_at_b_sel_6.ncs and b/_module/ncs/cnr_at_b_sel_6.ncs differ diff --git a/_module/ncs/cnr_at_cowchic_f.ncs b/_module/ncs/cnr_at_cowchic_f.ncs index ec5e7f70..8e324552 100644 Binary files a/_module/ncs/cnr_at_cowchic_f.ncs and b/_module/ncs/cnr_at_cowchic_f.ncs differ diff --git a/_module/ncs/cnr_at_j_next.ncs b/_module/ncs/cnr_at_j_next.ncs index e96c2353..849d36be 100644 Binary files a/_module/ncs/cnr_at_j_next.ncs and b/_module/ncs/cnr_at_j_next.ncs differ diff --git a/_module/ncs/cnr_at_j_nextxp.ncs b/_module/ncs/cnr_at_j_nextxp.ncs index 8361d2a4..fc8be06e 100644 Binary files a/_module/ncs/cnr_at_j_nextxp.ncs and b/_module/ncs/cnr_at_j_nextxp.ncs differ diff --git a/_module/ncs/cnr_at_j_prev.ncs b/_module/ncs/cnr_at_j_prev.ncs index dc28346b..7ea57f8e 100644 Binary files a/_module/ncs/cnr_at_j_prev.ncs and b/_module/ncs/cnr_at_j_prev.ncs differ diff --git a/_module/ncs/cnr_at_j_prevxp.ncs b/_module/ncs/cnr_at_j_prevxp.ncs index 996f9bf8..458fd255 100644 Binary files a/_module/ncs/cnr_at_j_prevxp.ncs and b/_module/ncs/cnr_at_j_prevxp.ncs differ diff --git a/_module/ncs/cnr_at_j_sel_1.ncs b/_module/ncs/cnr_at_j_sel_1.ncs index 3a16d1ab..5f35110c 100644 Binary files a/_module/ncs/cnr_at_j_sel_1.ncs and b/_module/ncs/cnr_at_j_sel_1.ncs differ diff --git a/_module/ncs/cnr_at_j_sel_10.ncs b/_module/ncs/cnr_at_j_sel_10.ncs index eb58e67e..169792e9 100644 Binary files a/_module/ncs/cnr_at_j_sel_10.ncs and b/_module/ncs/cnr_at_j_sel_10.ncs differ diff --git a/_module/ncs/cnr_at_j_sel_2.ncs b/_module/ncs/cnr_at_j_sel_2.ncs index 91985b5c..7bd4dfd5 100644 Binary files a/_module/ncs/cnr_at_j_sel_2.ncs and b/_module/ncs/cnr_at_j_sel_2.ncs differ diff --git a/_module/ncs/cnr_at_j_sel_3.ncs b/_module/ncs/cnr_at_j_sel_3.ncs index 9a6e6d12..d51bfd18 100644 Binary files a/_module/ncs/cnr_at_j_sel_3.ncs and b/_module/ncs/cnr_at_j_sel_3.ncs differ diff --git a/_module/ncs/cnr_at_j_sel_4.ncs b/_module/ncs/cnr_at_j_sel_4.ncs index 5b5db45e..87cd3f07 100644 Binary files a/_module/ncs/cnr_at_j_sel_4.ncs and b/_module/ncs/cnr_at_j_sel_4.ncs differ diff --git a/_module/ncs/cnr_at_j_sel_5.ncs b/_module/ncs/cnr_at_j_sel_5.ncs index 0af46c4e..f65781a4 100644 Binary files a/_module/ncs/cnr_at_j_sel_5.ncs and b/_module/ncs/cnr_at_j_sel_5.ncs differ diff --git a/_module/ncs/cnr_at_j_sel_6.ncs b/_module/ncs/cnr_at_j_sel_6.ncs index 77dcb6c2..f24eddab 100644 Binary files a/_module/ncs/cnr_at_j_sel_6.ncs and b/_module/ncs/cnr_at_j_sel_6.ncs differ diff --git a/_module/ncs/cnr_at_j_sel_7.ncs b/_module/ncs/cnr_at_j_sel_7.ncs index 4971b856..d4b58bc6 100644 Binary files a/_module/ncs/cnr_at_j_sel_7.ncs and b/_module/ncs/cnr_at_j_sel_7.ncs differ diff --git a/_module/ncs/cnr_at_j_sel_8.ncs b/_module/ncs/cnr_at_j_sel_8.ncs index b581c002..1e498b71 100644 Binary files a/_module/ncs/cnr_at_j_sel_8.ncs and b/_module/ncs/cnr_at_j_sel_8.ncs differ diff --git a/_module/ncs/cnr_at_j_sel_9.ncs b/_module/ncs/cnr_at_j_sel_9.ncs index f12127b6..6e097bdb 100644 Binary files a/_module/ncs/cnr_at_j_sel_9.ncs and b/_module/ncs/cnr_at_j_sel_9.ncs differ diff --git a/_module/ncs/cnr_at_r_back.ncs b/_module/ncs/cnr_at_r_back.ncs index 16e329a2..780c6a63 100644 Binary files a/_module/ncs/cnr_at_r_back.ncs and b/_module/ncs/cnr_at_r_back.ncs differ diff --git a/_module/ncs/cnr_at_r_craft.ncs b/_module/ncs/cnr_at_r_craft.ncs index ac2dba51..9314c374 100644 Binary files a/_module/ncs/cnr_at_r_craft.ncs and b/_module/ncs/cnr_at_r_craft.ncs differ diff --git a/_module/ncs/cnr_at_r_next.ncs b/_module/ncs/cnr_at_r_next.ncs index 2880db08..cf95c8d0 100644 Binary files a/_module/ncs/cnr_at_r_next.ncs and b/_module/ncs/cnr_at_r_next.ncs differ diff --git a/_module/ncs/cnr_at_r_prev.ncs b/_module/ncs/cnr_at_r_prev.ncs index cf33cbd1..2ca7d8ff 100644 Binary files a/_module/ncs/cnr_at_r_prev.ncs and b/_module/ncs/cnr_at_r_prev.ncs differ diff --git a/_module/ncs/cnr_at_r_sel_1.ncs b/_module/ncs/cnr_at_r_sel_1.ncs index 200fe1b2..f9b1e526 100644 Binary files a/_module/ncs/cnr_at_r_sel_1.ncs and b/_module/ncs/cnr_at_r_sel_1.ncs differ diff --git a/_module/ncs/cnr_at_r_sel_2.ncs b/_module/ncs/cnr_at_r_sel_2.ncs index 25dc1e4f..acc0b506 100644 Binary files a/_module/ncs/cnr_at_r_sel_2.ncs and b/_module/ncs/cnr_at_r_sel_2.ncs differ diff --git a/_module/ncs/cnr_at_r_sel_3.ncs b/_module/ncs/cnr_at_r_sel_3.ncs index 90b06ac4..87a0bd57 100644 Binary files a/_module/ncs/cnr_at_r_sel_3.ncs and b/_module/ncs/cnr_at_r_sel_3.ncs differ diff --git a/_module/ncs/cnr_at_r_sel_4.ncs b/_module/ncs/cnr_at_r_sel_4.ncs index 1d3d337e..0c5cd9e6 100644 Binary files a/_module/ncs/cnr_at_r_sel_4.ncs and b/_module/ncs/cnr_at_r_sel_4.ncs differ diff --git a/_module/ncs/cnr_at_r_sel_5.ncs b/_module/ncs/cnr_at_r_sel_5.ncs index b4861781..dfc4f0d1 100644 Binary files a/_module/ncs/cnr_at_r_sel_5.ncs and b/_module/ncs/cnr_at_r_sel_5.ncs differ diff --git a/_module/ncs/cnr_at_r_sel_6.ncs b/_module/ncs/cnr_at_r_sel_6.ncs index e6647311..ed7d4247 100644 Binary files a/_module/ncs/cnr_at_r_sel_6.ncs and b/_module/ncs/cnr_at_r_sel_6.ncs differ diff --git a/_module/ncs/cnr_bash_onused.ncs b/_module/ncs/cnr_bash_onused.ncs index 5d7247e5..6e5ddeb1 100644 Binary files a/_module/ncs/cnr_bash_onused.ncs and b/_module/ncs/cnr_bash_onused.ncs differ diff --git a/_module/ncs/cnr_bird_ondeath.ncs b/_module/ncs/cnr_bird_ondeath.ncs index 8c711473..d63a96b0 100644 Binary files a/_module/ncs/cnr_bird_ondeath.ncs and b/_module/ncs/cnr_bird_ondeath.ncs differ diff --git a/_module/ncs/cnr_brewkeg_anim.ncs b/_module/ncs/cnr_brewkeg_anim.ncs index 49fc2c0e..6d8ba227 100644 Binary files a/_module/ncs/cnr_brewkeg_anim.ncs and b/_module/ncs/cnr_brewkeg_anim.ncs differ diff --git a/_module/ncs/cnr_caldron_anim.ncs b/_module/ncs/cnr_caldron_anim.ncs index 5f45cf94..a5c3a819 100644 Binary files a/_module/ncs/cnr_caldron_anim.ncs and b/_module/ncs/cnr_caldron_anim.ncs differ diff --git a/_module/ncs/cnr_carp_anim.ncs b/_module/ncs/cnr_carp_anim.ncs index 78b1fc24..306a629d 100644 Binary files a/_module/ncs/cnr_carp_anim.ncs and b/_module/ncs/cnr_carp_anim.ncs differ diff --git a/_module/ncs/cnr_chic_userdef.ncs b/_module/ncs/cnr_chic_userdef.ncs index b3fade70..3283f7df 100644 Binary files a/_module/ncs/cnr_chic_userdef.ncs and b/_module/ncs/cnr_chic_userdef.ncs differ diff --git a/_module/ncs/cnr_cow_userdef.ncs b/_module/ncs/cnr_cow_userdef.ncs index 9a2fc693..18d9256e 100644 Binary files a/_module/ncs/cnr_cow_userdef.ncs and b/_module/ncs/cnr_cow_userdef.ncs differ diff --git a/_module/ncs/cnr_cowchic_oui.ncs b/_module/ncs/cnr_cowchic_oui.ncs index 0c50f907..113a7f94 100644 Binary files a/_module/ncs/cnr_cowchic_oui.ncs and b/_module/ncs/cnr_cowchic_oui.ncs differ diff --git a/_module/ncs/cnr_curing_anim.ncs b/_module/ncs/cnr_curing_anim.ncs index 78867bf7..154ae55c 100644 Binary files a/_module/ncs/cnr_curing_anim.ncs and b/_module/ncs/cnr_curing_anim.ncs differ diff --git a/_module/ncs/cnr_deposit_ou.ncs b/_module/ncs/cnr_deposit_ou.ncs index 92834946..8ff22b1d 100644 Binary files a/_module/ncs/cnr_deposit_ou.ncs and b/_module/ncs/cnr_deposit_ou.ncs differ diff --git a/_module/ncs/cnr_device_ou.ncs b/_module/ncs/cnr_device_ou.ncs index cb826edb..fa33c1e2 100644 Binary files a/_module/ncs/cnr_device_ou.ncs and b/_module/ncs/cnr_device_ou.ncs differ diff --git a/_module/ncs/cnr_enchant_anim.ncs b/_module/ncs/cnr_enchant_anim.ncs index a3b430d4..b89d23f9 100644 Binary files a/_module/ncs/cnr_enchant_anim.ncs and b/_module/ncs/cnr_enchant_anim.ncs differ diff --git a/_module/ncs/cnr_fixing_convo.ncs b/_module/ncs/cnr_fixing_convo.ncs index 1891d304..9e3fff4d 100644 Binary files a/_module/ncs/cnr_fixing_convo.ncs and b/_module/ncs/cnr_fixing_convo.ncs differ diff --git a/_module/ncs/cnr_forge_anim.ncs b/_module/ncs/cnr_forge_anim.ncs index 113feae1..7bf2d15a 100644 Binary files a/_module/ncs/cnr_forge_anim.ncs and b/_module/ncs/cnr_forge_anim.ncs differ diff --git a/_module/ncs/cnr_forge_od.ncs b/_module/ncs/cnr_forge_od.ncs index 8fd37a38..c410145e 100644 Binary files a/_module/ncs/cnr_forge_od.ncs and b/_module/ncs/cnr_forge_od.ncs differ diff --git a/_module/ncs/cnr_forge_ou.ncs b/_module/ncs/cnr_forge_ou.ncs index f7a3064a..1795f8c2 100644 Binary files a/_module/ncs/cnr_forge_ou.ncs and b/_module/ncs/cnr_forge_ou.ncs differ diff --git a/_module/ncs/cnr_gemcut_anim.ncs b/_module/ncs/cnr_gemcut_anim.ncs index 9d7b0311..5c78c61f 100644 Binary files a/_module/ncs/cnr_gemcut_anim.ncs and b/_module/ncs/cnr_gemcut_anim.ncs differ diff --git a/_module/ncs/cnr_gemdep_ou.ncs b/_module/ncs/cnr_gemdep_ou.ncs index 7a080217..81241dd3 100644 Binary files a/_module/ncs/cnr_gemdep_ou.ncs and b/_module/ncs/cnr_gemdep_ou.ncs differ diff --git a/_module/ncs/cnr_gempol_anim.ncs b/_module/ncs/cnr_gempol_anim.ncs index e72f7dd8..3ae20c07 100644 Binary files a/_module/ncs/cnr_gempol_anim.ncs and b/_module/ncs/cnr_gempol_anim.ncs differ diff --git a/_module/ncs/cnr_hide_anim.ncs b/_module/ncs/cnr_hide_anim.ncs index b260ccc1..8d737947 100644 Binary files a/_module/ncs/cnr_hide_anim.ncs and b/_module/ncs/cnr_hide_anim.ncs differ diff --git a/_module/ncs/cnr_jeweler_anim.ncs b/_module/ncs/cnr_jeweler_anim.ncs index 61c6c68b..6524281e 100644 Binary files a/_module/ncs/cnr_jeweler_anim.ncs and b/_module/ncs/cnr_jeweler_anim.ncs differ diff --git a/_module/ncs/cnr_minbath_ou.ncs b/_module/ncs/cnr_minbath_ou.ncs index 4a79695a..9c7f7ba3 100644 Binary files a/_module/ncs/cnr_minbath_ou.ncs and b/_module/ncs/cnr_minbath_ou.ncs differ diff --git a/_module/ncs/cnr_mob_ondeath.ncs b/_module/ncs/cnr_mob_ondeath.ncs index cb804cf3..f6a6cb43 100644 Binary files a/_module/ncs/cnr_mob_ondeath.ncs and b/_module/ncs/cnr_mob_ondeath.ncs differ diff --git a/_module/ncs/cnr_module_oce.ncs b/_module/ncs/cnr_module_oce.ncs index df7fd327..1ee3f3a7 100644 Binary files a/_module/ncs/cnr_module_oce.ncs and b/_module/ncs/cnr_module_oce.ncs differ diff --git a/_module/ncs/cnr_module_oml.ncs b/_module/ncs/cnr_module_oml.ncs index 2761f88e..552f43c4 100644 Binary files a/_module/ncs/cnr_module_oml.ncs and b/_module/ncs/cnr_module_oml.ncs differ diff --git a/_module/ncs/cnr_module_onact.ncs b/_module/ncs/cnr_module_onact.ncs index 4335ec50..d4f9c6b3 100644 Binary files a/_module/ncs/cnr_module_onact.ncs and b/_module/ncs/cnr_module_onact.ncs differ diff --git a/_module/ncs/cnr_module_oui.ncs b/_module/ncs/cnr_module_oui.ncs index 66cf5b92..f5059d4f 100644 Binary files a/_module/ncs/cnr_module_oui.ncs and b/_module/ncs/cnr_module_oui.ncs differ diff --git a/_module/ncs/cnr_plant_ondist.ncs b/_module/ncs/cnr_plant_ondist.ncs index 624b9e25..54ca8bd6 100644 Binary files a/_module/ncs/cnr_plant_ondist.ncs and b/_module/ncs/cnr_plant_ondist.ncs differ diff --git a/_module/ncs/cnr_recipe_init.ncs b/_module/ncs/cnr_recipe_init.ncs index 612b8143..1efd63c0 100644 Binary files a/_module/ncs/cnr_recipe_init.ncs and b/_module/ncs/cnr_recipe_init.ncs differ diff --git a/_module/ncs/cnr_recycle_anim.ncs b/_module/ncs/cnr_recycle_anim.ncs index 5f45cf94..a5c3a819 100644 Binary files a/_module/ncs/cnr_recycle_anim.ncs and b/_module/ncs/cnr_recycle_anim.ncs differ diff --git a/_module/ncs/cnr_recycler_ou.ncs b/_module/ncs/cnr_recycler_ou.ncs index 1d1a46fd..506623c9 100644 Binary files a/_module/ncs/cnr_recycler_ou.ncs and b/_module/ncs/cnr_recycler_ou.ncs differ diff --git a/_module/ncs/cnr_rock_ondam.ncs b/_module/ncs/cnr_rock_ondam.ncs index 55479daf..a5168d4a 100644 Binary files a/_module/ncs/cnr_rock_ondam.ncs and b/_module/ncs/cnr_rock_ondam.ncs differ diff --git a/_module/ncs/cnr_rock_opa.ncs b/_module/ncs/cnr_rock_opa.ncs index 5ddb4517..74663455 100644 Binary files a/_module/ncs/cnr_rock_opa.ncs and b/_module/ncs/cnr_rock_opa.ncs differ diff --git a/_module/ncs/cnr_rock_osca.ncs b/_module/ncs/cnr_rock_osca.ncs index 11874a6a..f9ed7b27 100644 Binary files a/_module/ncs/cnr_rock_osca.ncs and b/_module/ncs/cnr_rock_osca.ncs differ diff --git a/_module/ncs/cnr_scalp_ou.ncs b/_module/ncs/cnr_scalp_ou.ncs index 9dbfa819..4ab480c9 100644 Binary files a/_module/ncs/cnr_scalp_ou.ncs and b/_module/ncs/cnr_scalp_ou.ncs differ diff --git a/_module/ncs/cnr_silent_ou.ncs b/_module/ncs/cnr_silent_ou.ncs index 9ab477f6..0ddda8f1 100644 Binary files a/_module/ncs/cnr_silent_ou.ncs and b/_module/ncs/cnr_silent_ou.ncs differ diff --git a/_module/ncs/cnr_skin_ondeath.ncs b/_module/ncs/cnr_skin_ondeath.ncs index 2d8681a6..473881d0 100644 Binary files a/_module/ncs/cnr_skin_ondeath.ncs and b/_module/ncs/cnr_skin_ondeath.ncs differ diff --git a/_module/ncs/cnr_skin_onused.ncs b/_module/ncs/cnr_skin_onused.ncs index e2326e40..c5fd8912 100644 Binary files a/_module/ncs/cnr_skin_onused.ncs and b/_module/ncs/cnr_skin_onused.ncs differ diff --git a/_module/ncs/cnr_ta_b_back.ncs b/_module/ncs/cnr_ta_b_back.ncs index 26d3a19c..11319879 100644 Binary files a/_module/ncs/cnr_ta_b_back.ncs and b/_module/ncs/cnr_ta_b_back.ncs differ diff --git a/_module/ncs/cnr_ta_b_craft.ncs b/_module/ncs/cnr_ta_b_craft.ncs index dbf57c0c..f4d58060 100644 Binary files a/_module/ncs/cnr_ta_b_craft.ncs and b/_module/ncs/cnr_ta_b_craft.ncs differ diff --git a/_module/ncs/cnr_ta_b_grn.ncs b/_module/ncs/cnr_ta_b_grn.ncs index e033c082..b68aa6be 100644 Binary files a/_module/ncs/cnr_ta_b_grn.ncs and b/_module/ncs/cnr_ta_b_grn.ncs differ diff --git a/_module/ncs/cnr_ta_b_next.ncs b/_module/ncs/cnr_ta_b_next.ncs index 32e6aa31..1d7073cd 100644 Binary files a/_module/ncs/cnr_ta_b_next.ncs and b/_module/ncs/cnr_ta_b_next.ncs differ diff --git a/_module/ncs/cnr_ta_b_prev.ncs b/_module/ncs/cnr_ta_b_prev.ncs index 0bc47d21..6f86f39c 100644 Binary files a/_module/ncs/cnr_ta_b_prev.ncs and b/_module/ncs/cnr_ta_b_prev.ncs differ diff --git a/_module/ncs/cnr_ta_b_red.ncs b/_module/ncs/cnr_ta_b_red.ncs index e9097969..2893add6 100644 Binary files a/_module/ncs/cnr_ta_b_red.ncs and b/_module/ncs/cnr_ta_b_red.ncs differ diff --git a/_module/ncs/cnr_ta_b_submenu.ncs b/_module/ncs/cnr_ta_b_submenu.ncs index 15e3ffb0..f5d58a4f 100644 Binary files a/_module/ncs/cnr_ta_b_submenu.ncs and b/_module/ncs/cnr_ta_b_submenu.ncs differ diff --git a/_module/ncs/cnr_ta_b_top.ncs b/_module/ncs/cnr_ta_b_top.ncs index 8e87cb5b..14d9f336 100644 Binary files a/_module/ncs/cnr_ta_b_top.ncs and b/_module/ncs/cnr_ta_b_top.ncs differ diff --git a/_module/ncs/cnr_ta_cowchic.ncs b/_module/ncs/cnr_ta_cowchic.ncs index 85e69a3f..cc898fe8 100644 Binary files a/_module/ncs/cnr_ta_cowchic.ncs and b/_module/ncs/cnr_ta_cowchic.ncs differ diff --git a/_module/ncs/cnr_ta_cowchic_f.ncs b/_module/ncs/cnr_ta_cowchic_f.ncs index ca62919a..419670fd 100644 Binary files a/_module/ncs/cnr_ta_cowchic_f.ncs and b/_module/ncs/cnr_ta_cowchic_f.ncs differ diff --git a/_module/ncs/cnr_ta_j_main.ncs b/_module/ncs/cnr_ta_j_main.ncs index 1085fcd0..adadac56 100644 Binary files a/_module/ncs/cnr_ta_j_main.ncs and b/_module/ncs/cnr_ta_j_main.ncs differ diff --git a/_module/ncs/cnr_ta_j_next.ncs b/_module/ncs/cnr_ta_j_next.ncs index 338fc5e5..83ab6a8d 100644 Binary files a/_module/ncs/cnr_ta_j_next.ncs and b/_module/ncs/cnr_ta_j_next.ncs differ diff --git a/_module/ncs/cnr_ta_j_nextxp.ncs b/_module/ncs/cnr_ta_j_nextxp.ncs index cf205623..c9ea2bf4 100644 Binary files a/_module/ncs/cnr_ta_j_nextxp.ncs and b/_module/ncs/cnr_ta_j_nextxp.ncs differ diff --git a/_module/ncs/cnr_ta_j_prev.ncs b/_module/ncs/cnr_ta_j_prev.ncs index 0bc47d21..6f86f39c 100644 Binary files a/_module/ncs/cnr_ta_j_prev.ncs and b/_module/ncs/cnr_ta_j_prev.ncs differ diff --git a/_module/ncs/cnr_ta_j_prevxp.ncs b/_module/ncs/cnr_ta_j_prevxp.ncs index 4ca259e8..9254509b 100644 Binary files a/_module/ncs/cnr_ta_j_prevxp.ncs and b/_module/ncs/cnr_ta_j_prevxp.ncs differ diff --git a/_module/ncs/cnr_ta_j_topten.ncs b/_module/ncs/cnr_ta_j_topten.ncs index 7095570b..2d52acee 100644 Binary files a/_module/ncs/cnr_ta_j_topten.ncs and b/_module/ncs/cnr_ta_j_topten.ncs differ diff --git a/_module/ncs/cnr_ta_j_trade.ncs b/_module/ncs/cnr_ta_j_trade.ncs index 95ffb427..4e988026 100644 Binary files a/_module/ncs/cnr_ta_j_trade.ncs and b/_module/ncs/cnr_ta_j_trade.ncs differ diff --git a/_module/ncs/cnr_ta_r_back.ncs b/_module/ncs/cnr_ta_r_back.ncs index 0449ccfb..3e8c642a 100644 Binary files a/_module/ncs/cnr_ta_r_back.ncs and b/_module/ncs/cnr_ta_r_back.ncs differ diff --git a/_module/ncs/cnr_ta_r_grn.ncs b/_module/ncs/cnr_ta_r_grn.ncs index fac3e965..d1b8c605 100644 Binary files a/_module/ncs/cnr_ta_r_grn.ncs and b/_module/ncs/cnr_ta_r_grn.ncs differ diff --git a/_module/ncs/cnr_ta_r_next.ncs b/_module/ncs/cnr_ta_r_next.ncs index 32e6aa31..1d7073cd 100644 Binary files a/_module/ncs/cnr_ta_r_next.ncs and b/_module/ncs/cnr_ta_r_next.ncs differ diff --git a/_module/ncs/cnr_ta_r_prev.ncs b/_module/ncs/cnr_ta_r_prev.ncs index 0bc47d21..6f86f39c 100644 Binary files a/_module/ncs/cnr_ta_r_prev.ncs and b/_module/ncs/cnr_ta_r_prev.ncs differ diff --git a/_module/ncs/cnr_ta_r_red.ncs b/_module/ncs/cnr_ta_r_red.ncs index ec3d2db2..ee50e7df 100644 Binary files a/_module/ncs/cnr_ta_r_red.ncs and b/_module/ncs/cnr_ta_r_red.ncs differ diff --git a/_module/ncs/cnr_ta_r_submenu.ncs b/_module/ncs/cnr_ta_r_submenu.ncs index 15e3ffb0..f5d58a4f 100644 Binary files a/_module/ncs/cnr_ta_r_submenu.ncs and b/_module/ncs/cnr_ta_r_submenu.ncs differ diff --git a/_module/ncs/cnr_ta_r_top.ncs b/_module/ncs/cnr_ta_r_top.ncs index c1bd514e..b8535b8a 100644 Binary files a/_module/ncs/cnr_ta_r_top.ncs and b/_module/ncs/cnr_ta_r_top.ncs differ diff --git a/_module/ncs/cnr_ta_tok_22000.ncs b/_module/ncs/cnr_ta_tok_22000.ncs index 2d8a6102..249ee2fa 100644 Binary files a/_module/ncs/cnr_ta_tok_22000.ncs and b/_module/ncs/cnr_ta_tok_22000.ncs differ diff --git a/_module/ncs/cnr_tailor_anim.ncs b/_module/ncs/cnr_tailor_anim.ncs index b260ccc1..8d737947 100644 Binary files a/_module/ncs/cnr_tailor_anim.ncs and b/_module/ncs/cnr_tailor_anim.ncs differ diff --git a/_module/ncs/cnr_tinker_anim.ncs b/_module/ncs/cnr_tinker_anim.ncs index 32bec496..70b245fa 100644 Binary files a/_module/ncs/cnr_tinker_anim.ncs and b/_module/ncs/cnr_tinker_anim.ncs differ diff --git a/_module/ncs/cnr_tinker_ou.ncs b/_module/ncs/cnr_tinker_ou.ncs index 60b3cec5..1a2c0af5 100644 Binary files a/_module/ncs/cnr_tinker_ou.ncs and b/_module/ncs/cnr_tinker_ou.ncs differ diff --git a/_module/ncs/cnr_trade_init.ncs b/_module/ncs/cnr_trade_init.ncs index 426007f4..18f0abf0 100644 Binary files a/_module/ncs/cnr_trade_init.ncs and b/_module/ncs/cnr_trade_init.ncs differ diff --git a/_module/ncs/cnr_trade_lever.ncs b/_module/ncs/cnr_trade_lever.ncs index 3206d5d9..7ec4b922 100644 Binary files a/_module/ncs/cnr_trade_lever.ncs and b/_module/ncs/cnr_trade_lever.ncs differ diff --git a/_module/ncs/cnr_trashcan_ou.ncs b/_module/ncs/cnr_trashcan_ou.ncs index 17a151c3..17caf450 100644 Binary files a/_module/ncs/cnr_trashcan_ou.ncs and b/_module/ncs/cnr_trashcan_ou.ncs differ diff --git a/_module/ncs/cnr_tree_ondam.ncs b/_module/ncs/cnr_tree_ondam.ncs index 4cf0852d..fb9a9c75 100644 Binary files a/_module/ncs/cnr_tree_ondam.ncs and b/_module/ncs/cnr_tree_ondam.ncs differ diff --git a/_module/ncs/cnr_tree_opa.ncs b/_module/ncs/cnr_tree_opa.ncs index 5743ae4d..c6ef9b85 100644 Binary files a/_module/ncs/cnr_tree_opa.ncs and b/_module/ncs/cnr_tree_opa.ncs differ diff --git a/_module/ncs/cnr_tree_osca.ncs b/_module/ncs/cnr_tree_osca.ncs index 2fc1b9e4..b6e421f8 100644 Binary files a/_module/ncs/cnr_tree_osca.ncs and b/_module/ncs/cnr_tree_osca.ncs differ diff --git a/_module/ncs/cnraxfellarmor.ncs b/_module/ncs/cnraxfellarmor.ncs index ea23d446..d43fd007 100644 Binary files a/_module/ncs/cnraxfellarmor.ncs and b/_module/ncs/cnraxfellarmor.ncs differ diff --git a/_module/ncs/cnrbakersoven.ncs b/_module/ncs/cnrbakersoven.ncs index ae03d51a..54e7f0f1 100644 Binary files a/_module/ncs/cnrbakersoven.ncs and b/_module/ncs/cnrbakersoven.ncs differ diff --git a/_module/ncs/cnrbrewerskeg.ncs b/_module/ncs/cnrbrewerskeg.ncs index 4b152428..85c9fb7b 100644 Binary files a/_module/ncs/cnrbrewerskeg.ncs and b/_module/ncs/cnrbrewerskeg.ncs differ diff --git a/_module/ncs/cnrbrewerskettle.ncs b/_module/ncs/cnrbrewerskettle.ncs index 97dafec0..6833a30a 100644 Binary files a/_module/ncs/cnrbrewerskettle.ncs and b/_module/ncs/cnrbrewerskettle.ncs differ diff --git a/_module/ncs/cnrbrewersoven.ncs b/_module/ncs/cnrbrewersoven.ncs index 5ed27000..3fd632af 100644 Binary files a/_module/ncs/cnrbrewersoven.ncs and b/_module/ncs/cnrbrewersoven.ncs differ diff --git a/_module/ncs/cnrcleavenarmor.ncs b/_module/ncs/cnrcleavenarmor.ncs index cfcca680..3b8dd326 100644 Binary files a/_module/ncs/cnrcleavenarmor.ncs and b/_module/ncs/cnrcleavenarmor.ncs differ diff --git a/_module/ncs/cnrenchantpooldr.ncs b/_module/ncs/cnrenchantpooldr.ncs index 90869a96..3dd295ba 100644 Binary files a/_module/ncs/cnrenchantpooldr.ncs and b/_module/ncs/cnrenchantpooldr.ncs differ diff --git a/_module/ncs/cnrfarmersmill.ncs b/_module/ncs/cnrfarmersmill.ncs index d14185ea..959b5b48 100644 Binary files a/_module/ncs/cnrfarmersmill.ncs and b/_module/ncs/cnrfarmersmill.ncs differ diff --git a/_module/ncs/cnrfarmerspress.ncs b/_module/ncs/cnrfarmerspress.ncs index fcc85944..ea79ff56 100644 Binary files a/_module/ncs/cnrfarmerspress.ncs and b/_module/ncs/cnrfarmerspress.ncs differ diff --git a/_module/ncs/cnrforgepublic.ncs b/_module/ncs/cnrforgepublic.ncs index 6286c84e..2476ed7d 100644 Binary files a/_module/ncs/cnrforgepublic.ncs and b/_module/ncs/cnrforgepublic.ncs differ diff --git a/_module/ncs/cnrgemcrusher.ncs b/_module/ncs/cnrgemcrusher.ncs index 77ee2bf1..5b4b4036 100644 Binary files a/_module/ncs/cnrgemcrusher.ncs and b/_module/ncs/cnrgemcrusher.ncs differ diff --git a/_module/ncs/cnrgemstone.ncs b/_module/ncs/cnrgemstone.ncs index 5369365a..08d95d5a 100644 Binary files a/_module/ncs/cnrgemstone.ncs and b/_module/ncs/cnrgemstone.ncs differ diff --git a/_module/ncs/cnrgemtable.ncs b/_module/ncs/cnrgemtable.ncs index a9352c5d..24c680f4 100644 Binary files a/_module/ncs/cnrgemtable.ncs and b/_module/ncs/cnrgemtable.ncs differ diff --git a/_module/ncs/cnrtestscroll.ncs b/_module/ncs/cnrtestscroll.ncs index ca6db8a6..7bb5f21a 100644 Binary files a/_module/ncs/cnrtestscroll.ncs and b/_module/ncs/cnrtestscroll.ncs differ diff --git a/_module/ncs/cnrtinkerfurnace.ncs b/_module/ncs/cnrtinkerfurnace.ncs index 97515aaa..af60dae8 100644 Binary files a/_module/ncs/cnrtinkerfurnace.ncs and b/_module/ncs/cnrtinkerfurnace.ncs differ diff --git a/_module/ncs/cnrwatertub.ncs b/_module/ncs/cnrwatertub.ncs index ea6cf49e..f0d53499 100644 Binary files a/_module/ncs/cnrwatertub.ncs and b/_module/ncs/cnrwatertub.ncs differ diff --git a/_module/ncs/dae_demonsetup.ncs b/_module/ncs/dae_demonsetup.ncs index abd07929..400017d6 100644 Binary files a/_module/ncs/dae_demonsetup.ncs and b/_module/ncs/dae_demonsetup.ncs differ diff --git a/_module/ncs/dae_demonstatus.ncs b/_module/ncs/dae_demonstatus.ncs index 94582556..4d0960df 100644 Binary files a/_module/ncs/dae_demonstatus.ncs and b/_module/ncs/dae_demonstatus.ncs differ diff --git a/_module/ncs/dae_hbtick.ncs b/_module/ncs/dae_hbtick.ncs index c5d11eb4..31ac54f7 100644 Binary files a/_module/ncs/dae_hbtick.ncs and b/_module/ncs/dae_hbtick.ncs differ diff --git a/_module/ncs/dae_hbtickcold.ncs b/_module/ncs/dae_hbtickcold.ncs index f68cf343..ffe3578b 100644 Binary files a/_module/ncs/dae_hbtickcold.ncs and b/_module/ncs/dae_hbtickcold.ncs differ diff --git a/_module/ncs/dae_namer_convo.ncs b/_module/ncs/dae_namer_convo.ncs index 9b1315bc..ea006750 100644 Binary files a/_module/ncs/dae_namer_convo.ncs and b/_module/ncs/dae_namer_convo.ncs differ diff --git a/_module/ncs/dae_namer_give.ncs b/_module/ncs/dae_namer_give.ncs index dd20df14..16dd73d7 100644 Binary files a/_module/ncs/dae_namer_give.ncs and b/_module/ncs/dae_namer_give.ncs differ diff --git a/_module/ncs/dae_namer_spawn.ncs b/_module/ncs/dae_namer_spawn.ncs index df824b51..63e482a9 100644 Binary files a/_module/ncs/dae_namer_spawn.ncs and b/_module/ncs/dae_namer_spawn.ncs differ diff --git a/_module/ncs/dae_place_act.ncs b/_module/ncs/dae_place_act.ncs index 62d281dc..3230b6d7 100644 Binary files a/_module/ncs/dae_place_act.ncs and b/_module/ncs/dae_place_act.ncs differ diff --git a/_module/ncs/dae_place_death.ncs b/_module/ncs/dae_place_death.ncs index 8fae488c..40daee03 100644 Binary files a/_module/ncs/dae_place_death.ncs and b/_module/ncs/dae_place_death.ncs differ diff --git a/_module/ncs/dae_place_hb.ncs b/_module/ncs/dae_place_hb.ncs index 5a9e93ad..989c6b0d 100644 Binary files a/_module/ncs/dae_place_hb.ncs and b/_module/ncs/dae_place_hb.ncs differ diff --git a/_module/ncs/dae_pray.ncs b/_module/ncs/dae_pray.ncs index 4a459956..a55fc9fa 100644 Binary files a/_module/ncs/dae_pray.ncs and b/_module/ncs/dae_pray.ncs differ diff --git a/_module/ncs/datetime_ini.ncs b/_module/ncs/datetime_ini.ncs index 90fff151..6938344a 100644 Binary files a/_module/ncs/datetime_ini.ncs and b/_module/ncs/datetime_ini.ncs differ diff --git a/_module/ncs/dev_commands.ncs b/_module/ncs/dev_commands.ncs index f340fe2e..85a2fed9 100644 Binary files a/_module/ncs/dev_commands.ncs and b/_module/ncs/dev_commands.ncs differ diff --git a/_module/ncs/df.ncs b/_module/ncs/df.ncs index 17cfa485..6867cafa 100644 Binary files a/_module/ncs/df.ncs and b/_module/ncs/df.ncs differ diff --git a/_module/ncs/df_t0_camopita.ncs b/_module/ncs/df_t0_camopita.ncs index 2c2a8376..e5a84249 100644 Binary files a/_module/ncs/df_t0_camopita.ncs and b/_module/ncs/df_t0_camopita.ncs differ diff --git a/_module/ncs/df_t0_deeppita.ncs b/_module/ncs/df_t0_deeppita.ncs index fd6a719e..33de5d9d 100644 Binary files a/_module/ncs/df_t0_deeppita.ncs and b/_module/ncs/df_t0_deeppita.ncs differ diff --git a/_module/ncs/df_t0_whirlbldc.ncs b/_module/ncs/df_t0_whirlbldc.ncs index d70cd93d..570b11b3 100644 Binary files a/_module/ncs/df_t0_whirlbldc.ncs and b/_module/ncs/df_t0_whirlbldc.ncs differ diff --git a/_module/ncs/df_t1_bricks.ncs b/_module/ncs/df_t1_bricks.ncs index 036013e9..6d929cf8 100644 Binary files a/_module/ncs/df_t1_bricks.ncs and b/_module/ncs/df_t1_bricks.ncs differ diff --git a/_module/ncs/df_t1_camopit.ncs b/_module/ncs/df_t1_camopit.ncs index 8447a784..446069ed 100644 Binary files a/_module/ncs/df_t1_camopit.ncs and b/_module/ncs/df_t1_camopit.ncs differ diff --git a/_module/ncs/df_t1_ceilingbld.ncs b/_module/ncs/df_t1_ceilingbld.ncs index 37530903..7ca0e3ba 100644 Binary files a/_module/ncs/df_t1_ceilingbld.ncs and b/_module/ncs/df_t1_ceilingbld.ncs differ diff --git a/_module/ncs/df_t1_deeppit.ncs b/_module/ncs/df_t1_deeppit.ncs index 194aa8a1..b093d8da 100644 Binary files a/_module/ncs/df_t1_deeppit.ncs and b/_module/ncs/df_t1_deeppit.ncs differ diff --git a/_module/ncs/df_t1_floodroom.ncs b/_module/ncs/df_t1_floodroom.ncs index b3d1665f..6250603f 100644 Binary files a/_module/ncs/df_t1_floodroom.ncs and b/_module/ncs/df_t1_floodroom.ncs differ diff --git a/_module/ncs/df_t1_razorwire.ncs b/_module/ncs/df_t1_razorwire.ncs index 666df97e..5c7491ed 100644 Binary files a/_module/ncs/df_t1_razorwire.ncs and b/_module/ncs/df_t1_razorwire.ncs differ diff --git a/_module/ncs/df_t1_rollinrock.ncs b/_module/ncs/df_t1_rollinrock.ncs index 77c1aa54..627fa359 100644 Binary files a/_module/ncs/df_t1_rollinrock.ncs and b/_module/ncs/df_t1_rollinrock.ncs differ diff --git a/_module/ncs/df_t1_swingblock.ncs b/_module/ncs/df_t1_swingblock.ncs index 616ca8e0..c3a3fcf9 100644 Binary files a/_module/ncs/df_t1_swingblock.ncs and b/_module/ncs/df_t1_swingblock.ncs differ diff --git a/_module/ncs/df_t1_wallspike.ncs b/_module/ncs/df_t1_wallspike.ncs index eb5a15c3..562ea659 100644 Binary files a/_module/ncs/df_t1_wallspike.ncs and b/_module/ncs/df_t1_wallspike.ncs differ diff --git a/_module/ncs/df_t1_whirlblade.ncs b/_module/ncs/df_t1_whirlblade.ncs index 702708bf..3eca2a97 100644 Binary files a/_module/ncs/df_t1_whirlblade.ncs and b/_module/ncs/df_t1_whirlblade.ncs differ diff --git a/_module/ncs/dlg_act_back.ncs b/_module/ncs/dlg_act_back.ncs index c2939df2..d60fbdd0 100644 Binary files a/_module/ncs/dlg_act_back.ncs and b/_module/ncs/dlg_act_back.ncs differ diff --git a/_module/ncs/dlg_act_exit.ncs b/_module/ncs/dlg_act_exit.ncs index 2e04f03c..66467328 100644 Binary files a/_module/ncs/dlg_act_exit.ncs and b/_module/ncs/dlg_act_exit.ncs differ diff --git a/_module/ncs/dlg_act_next.ncs b/_module/ncs/dlg_act_next.ncs index 8a415673..a84545fd 100644 Binary files a/_module/ncs/dlg_act_next.ncs and b/_module/ncs/dlg_act_next.ncs differ diff --git a/_module/ncs/dlg_act_pc01.ncs b/_module/ncs/dlg_act_pc01.ncs index d06a5e45..0f59de5f 100644 Binary files a/_module/ncs/dlg_act_pc01.ncs and b/_module/ncs/dlg_act_pc01.ncs differ diff --git a/_module/ncs/dlg_act_pc02.ncs b/_module/ncs/dlg_act_pc02.ncs index de16045a..ed5393c7 100644 Binary files a/_module/ncs/dlg_act_pc02.ncs and b/_module/ncs/dlg_act_pc02.ncs differ diff --git a/_module/ncs/dlg_act_pc03.ncs b/_module/ncs/dlg_act_pc03.ncs index 9498c085..84aa032b 100644 Binary files a/_module/ncs/dlg_act_pc03.ncs and b/_module/ncs/dlg_act_pc03.ncs differ diff --git a/_module/ncs/dlg_act_pc04.ncs b/_module/ncs/dlg_act_pc04.ncs index 16e8b2e1..171d882c 100644 Binary files a/_module/ncs/dlg_act_pc04.ncs and b/_module/ncs/dlg_act_pc04.ncs differ diff --git a/_module/ncs/dlg_act_pc05.ncs b/_module/ncs/dlg_act_pc05.ncs index 152cd8b4..4422ebb0 100644 Binary files a/_module/ncs/dlg_act_pc05.ncs and b/_module/ncs/dlg_act_pc05.ncs differ diff --git a/_module/ncs/dlg_act_pc06.ncs b/_module/ncs/dlg_act_pc06.ncs index 224733ba..50e03dd2 100644 Binary files a/_module/ncs/dlg_act_pc06.ncs and b/_module/ncs/dlg_act_pc06.ncs differ diff --git a/_module/ncs/dlg_act_prev.ncs b/_module/ncs/dlg_act_prev.ncs index 4e6e9775..867ffe6d 100644 Binary files a/_module/ncs/dlg_act_prev.ncs and b/_module/ncs/dlg_act_prev.ncs differ diff --git a/_module/ncs/dlg_ini.ncs b/_module/ncs/dlg_ini.ncs index 10ea2afc..e016a2d4 100644 Binary files a/_module/ncs/dlg_ini.ncs and b/_module/ncs/dlg_ini.ncs differ diff --git a/_module/ncs/dlg_model.ncs b/_module/ncs/dlg_model.ncs index f8402f04..28903ca6 100644 Binary files a/_module/ncs/dlg_model.ncs and b/_module/ncs/dlg_model.ncs differ diff --git a/_module/ncs/dlg_start.ncs b/_module/ncs/dlg_start.ncs index 0a1252ff..6aef7dcf 100644 Binary files a/_module/ncs/dlg_start.ncs and b/_module/ncs/dlg_start.ncs differ diff --git a/_module/ncs/dlg_store.ncs b/_module/ncs/dlg_store.ncs index 9bc66659..27a3d06c 100644 Binary files a/_module/ncs/dlg_store.ncs and b/_module/ncs/dlg_store.ncs differ diff --git a/_module/ncs/dlg_store_ini.ncs b/_module/ncs/dlg_store_ini.ncs index b2dcf101..259673b0 100644 Binary files a/_module/ncs/dlg_store_ini.ncs and b/_module/ncs/dlg_store_ini.ncs differ diff --git a/_module/ncs/dlg_wand.ncs b/_module/ncs/dlg_wand.ncs index 859e5288..1a3c085a 100644 Binary files a/_module/ncs/dlg_wand.ncs and b/_module/ncs/dlg_wand.ncs differ diff --git a/_module/ncs/dmfi_activate.ncs b/_module/ncs/dmfi_activate.ncs index 2786a8d8..2538baf8 100644 Binary files a/_module/ncs/dmfi_activate.ncs and b/_module/ncs/dmfi_activate.ncs differ diff --git a/_module/ncs/dmfi_cond_dmw.ncs b/_module/ncs/dmfi_cond_dmw.ncs index 42bd7e1d..9f480d77 100644 Binary files a/_module/ncs/dmfi_cond_dmw.ncs and b/_module/ncs/dmfi_cond_dmw.ncs differ diff --git a/_module/ncs/dmfi_execute.ncs b/_module/ncs/dmfi_execute.ncs index d2802773..2e8c6596 100644 Binary files a/_module/ncs/dmfi_execute.ncs and b/_module/ncs/dmfi_execute.ncs differ diff --git a/_module/ncs/dmfi_univ_1.ncs b/_module/ncs/dmfi_univ_1.ncs index 56f47a01..82ad3c22 100644 Binary files a/_module/ncs/dmfi_univ_1.ncs and b/_module/ncs/dmfi_univ_1.ncs differ diff --git a/_module/ncs/dmfi_univ_10.ncs b/_module/ncs/dmfi_univ_10.ncs index b245c226..788e9ce0 100644 Binary files a/_module/ncs/dmfi_univ_10.ncs and b/_module/ncs/dmfi_univ_10.ncs differ diff --git a/_module/ncs/dmfi_univ_2.ncs b/_module/ncs/dmfi_univ_2.ncs index 3c21f9b3..4fa68008 100644 Binary files a/_module/ncs/dmfi_univ_2.ncs and b/_module/ncs/dmfi_univ_2.ncs differ diff --git a/_module/ncs/dmfi_univ_3.ncs b/_module/ncs/dmfi_univ_3.ncs index 4e23bd86..edd0e2a7 100644 Binary files a/_module/ncs/dmfi_univ_3.ncs and b/_module/ncs/dmfi_univ_3.ncs differ diff --git a/_module/ncs/dmfi_univ_4.ncs b/_module/ncs/dmfi_univ_4.ncs index 66fd8cd7..a81f2e2b 100644 Binary files a/_module/ncs/dmfi_univ_4.ncs and b/_module/ncs/dmfi_univ_4.ncs differ diff --git a/_module/ncs/dmfi_univ_5.ncs b/_module/ncs/dmfi_univ_5.ncs index 8efb3201..e061d53d 100644 Binary files a/_module/ncs/dmfi_univ_5.ncs and b/_module/ncs/dmfi_univ_5.ncs differ diff --git a/_module/ncs/dmfi_univ_6.ncs b/_module/ncs/dmfi_univ_6.ncs index afec9c41..5d762bd9 100644 Binary files a/_module/ncs/dmfi_univ_6.ncs and b/_module/ncs/dmfi_univ_6.ncs differ diff --git a/_module/ncs/dmfi_univ_7.ncs b/_module/ncs/dmfi_univ_7.ncs index 807fab96..8f6d5c33 100644 Binary files a/_module/ncs/dmfi_univ_7.ncs and b/_module/ncs/dmfi_univ_7.ncs differ diff --git a/_module/ncs/dmfi_univ_8.ncs b/_module/ncs/dmfi_univ_8.ncs index ca9aa2e8..949db550 100644 Binary files a/_module/ncs/dmfi_univ_8.ncs and b/_module/ncs/dmfi_univ_8.ncs differ diff --git a/_module/ncs/dmfi_univ_9.ncs b/_module/ncs/dmfi_univ_9.ncs index 77231072..f042da69 100644 Binary files a/_module/ncs/dmfi_univ_9.ncs and b/_module/ncs/dmfi_univ_9.ncs differ diff --git a/_module/ncs/dmfi_univ_cond.ncs b/_module/ncs/dmfi_univ_cond.ncs index 7951d3dd..81d3e11f 100644 Binary files a/_module/ncs/dmfi_univ_cond.ncs and b/_module/ncs/dmfi_univ_cond.ncs differ diff --git a/_module/ncs/dmfi_voice1.ncs b/_module/ncs/dmfi_voice1.ncs index 71d8bd68..a09aac8f 100644 Binary files a/_module/ncs/dmfi_voice1.ncs and b/_module/ncs/dmfi_voice1.ncs differ diff --git a/_module/ncs/dmfi_voice_exe.ncs b/_module/ncs/dmfi_voice_exe.ncs index 70b515bb..a953c779 100644 Binary files a/_module/ncs/dmfi_voice_exe.ncs and b/_module/ncs/dmfi_voice_exe.ncs differ diff --git a/_module/ncs/dmfxew_activate.ncs b/_module/ncs/dmfxew_activate.ncs index e4033182..fab81b42 100644 Binary files a/_module/ncs/dmfxew_activate.ncs and b/_module/ncs/dmfxew_activate.ncs differ diff --git a/_module/ncs/dmw_conv_end.ncs b/_module/ncs/dmw_conv_end.ncs index 925f3e5e..a38e2703 100644 Binary files a/_module/ncs/dmw_conv_end.ncs and b/_module/ncs/dmw_conv_end.ncs differ diff --git a/_module/ncs/dmw_do_dialog1.ncs b/_module/ncs/dmw_do_dialog1.ncs index eec962ea..631e4204 100644 Binary files a/_module/ncs/dmw_do_dialog1.ncs and b/_module/ncs/dmw_do_dialog1.ncs differ diff --git a/_module/ncs/dmw_do_dialog2.ncs b/_module/ncs/dmw_do_dialog2.ncs index e9f06bcc..6b6e0ada 100644 Binary files a/_module/ncs/dmw_do_dialog2.ncs and b/_module/ncs/dmw_do_dialog2.ncs differ diff --git a/_module/ncs/dmw_do_dialog3.ncs b/_module/ncs/dmw_do_dialog3.ncs index ab1e23d0..6aebfc04 100644 Binary files a/_module/ncs/dmw_do_dialog3.ncs and b/_module/ncs/dmw_do_dialog3.ncs differ diff --git a/_module/ncs/dmw_do_dialog4.ncs b/_module/ncs/dmw_do_dialog4.ncs index 74c9baf0..ca8af0bc 100644 Binary files a/_module/ncs/dmw_do_dialog4.ncs and b/_module/ncs/dmw_do_dialog4.ncs differ diff --git a/_module/ncs/dmw_do_dialog5.ncs b/_module/ncs/dmw_do_dialog5.ncs index 5fa11b62..7a5f7f86 100644 Binary files a/_module/ncs/dmw_do_dialog5.ncs and b/_module/ncs/dmw_do_dialog5.ncs differ diff --git a/_module/ncs/dmw_do_dialog6.ncs b/_module/ncs/dmw_do_dialog6.ncs index ba7061c8..f921d91e 100644 Binary files a/_module/ncs/dmw_do_dialog6.ncs and b/_module/ncs/dmw_do_dialog6.ncs differ diff --git a/_module/ncs/dmw_do_dialog7.ncs b/_module/ncs/dmw_do_dialog7.ncs index d371b1ae..dc683ea0 100644 Binary files a/_module/ncs/dmw_do_dialog7.ncs and b/_module/ncs/dmw_do_dialog7.ncs differ diff --git a/_module/ncs/dmw_do_dialog8.ncs b/_module/ncs/dmw_do_dialog8.ncs index d2cae3ff..c2657df1 100644 Binary files a/_module/ncs/dmw_do_dialog8.ncs and b/_module/ncs/dmw_do_dialog8.ncs differ diff --git a/_module/ncs/dmw_do_dialog9.ncs b/_module/ncs/dmw_do_dialog9.ncs index 10e67964..960088e9 100644 Binary files a/_module/ncs/dmw_do_dialog9.ncs and b/_module/ncs/dmw_do_dialog9.ncs differ diff --git a/_module/ncs/dmw_runscript.ncs b/_module/ncs/dmw_runscript.ncs index 62ebbc5d..56636695 100644 Binary files a/_module/ncs/dmw_runscript.ncs and b/_module/ncs/dmw_runscript.ncs differ diff --git a/_module/ncs/dmw_test_dialog0.ncs b/_module/ncs/dmw_test_dialog0.ncs index e555e76c..077df9b4 100644 Binary files a/_module/ncs/dmw_test_dialog0.ncs and b/_module/ncs/dmw_test_dialog0.ncs differ diff --git a/_module/ncs/dmw_test_dialog1.ncs b/_module/ncs/dmw_test_dialog1.ncs index 2b60fbe2..2db20fdf 100644 Binary files a/_module/ncs/dmw_test_dialog1.ncs and b/_module/ncs/dmw_test_dialog1.ncs differ diff --git a/_module/ncs/dmw_test_dialog2.ncs b/_module/ncs/dmw_test_dialog2.ncs index 55b1a2e2..aba01edb 100644 Binary files a/_module/ncs/dmw_test_dialog2.ncs and b/_module/ncs/dmw_test_dialog2.ncs differ diff --git a/_module/ncs/dmw_test_dialog3.ncs b/_module/ncs/dmw_test_dialog3.ncs index e730216c..6b9da4c1 100644 Binary files a/_module/ncs/dmw_test_dialog3.ncs and b/_module/ncs/dmw_test_dialog3.ncs differ diff --git a/_module/ncs/dmw_test_dialog4.ncs b/_module/ncs/dmw_test_dialog4.ncs index c4b7dc15..0b8d9e9d 100644 Binary files a/_module/ncs/dmw_test_dialog4.ncs and b/_module/ncs/dmw_test_dialog4.ncs differ diff --git a/_module/ncs/dmw_test_dialog5.ncs b/_module/ncs/dmw_test_dialog5.ncs index 8f0ec8f9..eb43e785 100644 Binary files a/_module/ncs/dmw_test_dialog5.ncs and b/_module/ncs/dmw_test_dialog5.ncs differ diff --git a/_module/ncs/dmw_test_dialog6.ncs b/_module/ncs/dmw_test_dialog6.ncs index b73e2271..5c6626eb 100644 Binary files a/_module/ncs/dmw_test_dialog6.ncs and b/_module/ncs/dmw_test_dialog6.ncs differ diff --git a/_module/ncs/dmw_test_dialog7.ncs b/_module/ncs/dmw_test_dialog7.ncs index b305dc62..dd3a270a 100644 Binary files a/_module/ncs/dmw_test_dialog7.ncs and b/_module/ncs/dmw_test_dialog7.ncs differ diff --git a/_module/ncs/dmw_test_dialog8.ncs b/_module/ncs/dmw_test_dialog8.ncs index 8dc87a7b..b69edaa4 100644 Binary files a/_module/ncs/dmw_test_dialog8.ncs and b/_module/ncs/dmw_test_dialog8.ncs differ diff --git a/_module/ncs/dmw_test_dialog9.ncs b/_module/ncs/dmw_test_dialog9.ncs index 8d871fa2..fde27c0c 100644 Binary files a/_module/ncs/dmw_test_dialog9.ncs and b/_module/ncs/dmw_test_dialog9.ncs differ diff --git a/_module/ncs/dnd_level.ncs b/_module/ncs/dnd_level.ncs index b76f607b..b0de972c 100644 Binary files a/_module/ncs/dnd_level.ncs and b/_module/ncs/dnd_level.ncs differ diff --git a/_module/ncs/dro_go_mine.ncs b/_module/ncs/dro_go_mine.ncs index 88fb0d87..b4a0ccbb 100644 Binary files a/_module/ncs/dro_go_mine.ncs and b/_module/ncs/dro_go_mine.ncs differ diff --git a/_module/ncs/dro_guard_on_con.ncs b/_module/ncs/dro_guard_on_con.ncs index 90b23858..3c08d300 100644 Binary files a/_module/ncs/dro_guard_on_con.ncs and b/_module/ncs/dro_guard_on_con.ncs differ diff --git a/_module/ncs/dro_only_priest.ncs b/_module/ncs/dro_only_priest.ncs index 1e3769c2..bb3a4983 100644 Binary files a/_module/ncs/dro_only_priest.ncs and b/_module/ncs/dro_only_priest.ncs differ diff --git a/_module/ncs/dro_priest_pray.ncs b/_module/ncs/dro_priest_pray.ncs index 9b28f152..a8243a22 100644 Binary files a/_module/ncs/dro_priest_pray.ncs and b/_module/ncs/dro_priest_pray.ncs differ diff --git a/_module/ncs/dro_slave.ncs b/_module/ncs/dro_slave.ncs index 13d779a9..f03737a3 100644 Binary files a/_module/ncs/dro_slave.ncs and b/_module/ncs/dro_slave.ncs differ diff --git a/_module/ncs/drowdarkness.ncs b/_module/ncs/drowdarkness.ncs index 081e2e34..8bf2a463 100644 Binary files a/_module/ncs/drowdarkness.ncs and b/_module/ncs/drowdarkness.ncs differ diff --git a/_module/ncs/ee_area_onenter.ncs b/_module/ncs/ee_area_onenter.ncs index b497d53d..e1662e99 100644 Binary files a/_module/ncs/ee_area_onenter.ncs and b/_module/ncs/ee_area_onenter.ncs differ diff --git a/_module/ncs/ee_area_onexit.ncs b/_module/ncs/ee_area_onexit.ncs index 235ab9dd..559d1b3f 100644 Binary files a/_module/ncs/ee_area_onexit.ncs and b/_module/ncs/ee_area_onexit.ncs differ diff --git a/_module/ncs/ee_cliententer.ncs b/_module/ncs/ee_cliententer.ncs index 16684d71..e19f18e2 100644 Binary files a/_module/ncs/ee_cliententer.ncs and b/_module/ncs/ee_cliententer.ncs differ diff --git a/_module/ncs/ee_clientleave.ncs b/_module/ncs/ee_clientleave.ncs index 06c4171c..0d2058b2 100644 Binary files a/_module/ncs/ee_clientleave.ncs and b/_module/ncs/ee_clientleave.ncs differ diff --git a/_module/ncs/ee_enc_end.ncs b/_module/ncs/ee_enc_end.ncs index 389574ba..b1d1c731 100644 Binary files a/_module/ncs/ee_enc_end.ncs and b/_module/ncs/ee_enc_end.ncs differ diff --git a/_module/ncs/ee_enc_init.ncs b/_module/ncs/ee_enc_init.ncs index 293cf19e..933e9de4 100644 Binary files a/_module/ncs/ee_enc_init.ncs and b/_module/ncs/ee_enc_init.ncs differ diff --git a/_module/ncs/ee_enc_onex.ncs b/_module/ncs/ee_enc_onex.ncs index ebc4fb8e..b681c880 100644 Binary files a/_module/ncs/ee_enc_onex.ncs and b/_module/ncs/ee_enc_onex.ncs differ diff --git a/_module/ncs/ee_enc_reset.ncs b/_module/ncs/ee_enc_reset.ncs index ef9c4388..a031d7c4 100644 Binary files a/_module/ncs/ee_enc_reset.ncs and b/_module/ncs/ee_enc_reset.ncs differ diff --git a/_module/ncs/ee_enc_start.ncs b/_module/ncs/ee_enc_start.ncs index c186b2a1..ea8f6151 100644 Binary files a/_module/ncs/ee_enc_start.ncs and b/_module/ncs/ee_enc_start.ncs differ diff --git a/_module/ncs/ee_enc_wipe.ncs b/_module/ncs/ee_enc_wipe.ncs index b3ace674..6504172a 100644 Binary files a/_module/ncs/ee_enc_wipe.ncs and b/_module/ncs/ee_enc_wipe.ncs differ diff --git a/_module/ncs/ee_ent_ondeath.ncs b/_module/ncs/ee_ent_ondeath.ncs index 1b7425f0..35489fa2 100644 Binary files a/_module/ncs/ee_ent_ondeath.ncs and b/_module/ncs/ee_ent_ondeath.ncs differ diff --git a/_module/ncs/ee_ent_ondmg.ncs b/_module/ncs/ee_ent_ondmg.ncs index deb32daf..e1c753f0 100644 Binary files a/_module/ncs/ee_ent_ondmg.ncs and b/_module/ncs/ee_ent_ondmg.ncs differ diff --git a/_module/ncs/ee_ent_onperc.ncs b/_module/ncs/ee_ent_onperc.ncs index 7b9d64ca..cbf2643e 100644 Binary files a/_module/ncs/ee_ent_onperc.ncs and b/_module/ncs/ee_ent_onperc.ncs differ diff --git a/_module/ncs/ee_ent_onspawn.ncs b/_module/ncs/ee_ent_onspawn.ncs index 515dcbbc..1af1eeea 100644 Binary files a/_module/ncs/ee_ent_onspawn.ncs and b/_module/ncs/ee_ent_onspawn.ncs differ diff --git a/_module/ncs/ee_evt_execute.ncs b/_module/ncs/ee_evt_execute.ncs index a4ef3519..a1edf008 100644 Binary files a/_module/ncs/ee_evt_execute.ncs and b/_module/ncs/ee_evt_execute.ncs differ diff --git a/_module/ncs/ee_evt_onex.ncs b/_module/ncs/ee_evt_onex.ncs index 8fad5cd0..d838de84 100644 Binary files a/_module/ncs/ee_evt_onex.ncs and b/_module/ncs/ee_evt_onex.ncs differ diff --git a/_module/ncs/ee_evtg_onex.ncs b/_module/ncs/ee_evtg_onex.ncs index dea2993f..f37d2f04 100644 Binary files a/_module/ncs/ee_evtg_onex.ncs and b/_module/ncs/ee_evtg_onex.ncs differ diff --git a/_module/ncs/ee_trig_init.ncs b/_module/ncs/ee_trig_init.ncs index 49352a8e..c7a37e06 100644 Binary files a/_module/ncs/ee_trig_init.ncs and b/_module/ncs/ee_trig_init.ncs differ diff --git a/_module/ncs/ee_trig_onenter.ncs b/_module/ncs/ee_trig_onenter.ncs index e403a03c..a39cbd71 100644 Binary files a/_module/ncs/ee_trig_onenter.ncs and b/_module/ncs/ee_trig_onenter.ncs differ diff --git a/_module/ncs/ee_trig_onexit.ncs b/_module/ncs/ee_trig_onexit.ncs index 28cb52e2..d0e19caf 100644 Binary files a/_module/ncs/ee_trig_onexit.ncs and b/_module/ncs/ee_trig_onexit.ncs differ diff --git a/_module/ncs/egs_tst.ncs b/_module/ncs/egs_tst.ncs index edd98fcb..cd6dc5f7 100644 Binary files a/_module/ncs/egs_tst.ncs and b/_module/ncs/egs_tst.ncs differ diff --git a/_module/ncs/esm_spuserdef.ncs b/_module/ncs/esm_spuserdef.ncs index 5a303373..c88cfbfa 100644 Binary files a/_module/ncs/esm_spuserdef.ncs and b/_module/ncs/esm_spuserdef.ncs differ diff --git a/_module/ncs/ew_chachecko.ncs b/_module/ncs/ew_chachecko.ncs index 1c1c5a55..41b87d00 100644 Binary files a/_module/ncs/ew_chachecko.ncs and b/_module/ncs/ew_chachecko.ncs differ diff --git a/_module/ncs/ew_conchecko.ncs b/_module/ncs/ew_conchecko.ncs index 2c54c616..75f8e38f 100644 Binary files a/_module/ncs/ew_conchecko.ncs and b/_module/ncs/ew_conchecko.ncs differ diff --git a/_module/ncs/ew_d100roll.ncs b/_module/ncs/ew_d100roll.ncs index 3486133f..539bd3e9 100644 Binary files a/_module/ncs/ew_d100roll.ncs and b/_module/ncs/ew_d100roll.ncs differ diff --git a/_module/ncs/ew_d10roll.ncs b/_module/ncs/ew_d10roll.ncs index 85afc66c..8ab80996 100644 Binary files a/_module/ncs/ew_d10roll.ncs and b/_module/ncs/ew_d10roll.ncs differ diff --git a/_module/ncs/ew_d12roll.ncs b/_module/ncs/ew_d12roll.ncs index 5eb3fdf7..7388c6c6 100644 Binary files a/_module/ncs/ew_d12roll.ncs and b/_module/ncs/ew_d12roll.ncs differ diff --git a/_module/ncs/ew_d20roll.ncs b/_module/ncs/ew_d20roll.ncs index 6034d547..c2b05908 100644 Binary files a/_module/ncs/ew_d20roll.ncs and b/_module/ncs/ew_d20roll.ncs differ diff --git a/_module/ncs/ew_d4roll.ncs b/_module/ncs/ew_d4roll.ncs index e126fa12..c04e8efb 100644 Binary files a/_module/ncs/ew_d4roll.ncs and b/_module/ncs/ew_d4roll.ncs differ diff --git a/_module/ncs/ew_d6roll.ncs b/_module/ncs/ew_d6roll.ncs index 514eceb7..f8257119 100644 Binary files a/_module/ncs/ew_d6roll.ncs and b/_module/ncs/ew_d6roll.ncs differ diff --git a/_module/ncs/ew_d8roll.ncs b/_module/ncs/ew_d8roll.ncs index ca640f93..dbcc450f 100644 Binary files a/_module/ncs/ew_d8roll.ncs and b/_module/ncs/ew_d8roll.ncs differ diff --git a/_module/ncs/ew_dance.ncs b/_module/ncs/ew_dance.ncs index 1cd76e5f..f96474ac 100644 Binary files a/_module/ncs/ew_dance.ncs and b/_module/ncs/ew_dance.ncs differ diff --git a/_module/ncs/ew_dexchecko.ncs b/_module/ncs/ew_dexchecko.ncs index cffb79da..eff7a6ad 100644 Binary files a/_module/ncs/ew_dexchecko.ncs and b/_module/ncs/ew_dexchecko.ncs differ diff --git a/_module/ncs/ew_discchecko.ncs b/_module/ncs/ew_discchecko.ncs index f78a55fb..13f3ae83 100644 Binary files a/_module/ncs/ew_discchecko.ncs and b/_module/ncs/ew_discchecko.ncs differ diff --git a/_module/ncs/ew_dtchecko.ncs b/_module/ncs/ew_dtchecko.ncs index 5afb7553..79be864b 100644 Binary files a/_module/ncs/ew_dtchecko.ncs and b/_module/ncs/ew_dtchecko.ncs differ diff --git a/_module/ncs/ew_intchecko.ncs b/_module/ncs/ew_intchecko.ncs index ed4fc5f2..7cb61ed4 100644 Binary files a/_module/ncs/ew_intchecko.ncs and b/_module/ncs/ew_intchecko.ncs differ diff --git a/_module/ncs/ew_listchecko.ncs b/_module/ncs/ew_listchecko.ncs index e1892c71..67a37b24 100644 Binary files a/_module/ncs/ew_listchecko.ncs and b/_module/ncs/ew_listchecko.ncs differ diff --git a/_module/ncs/ew_lorechecko.ncs b/_module/ncs/ew_lorechecko.ncs index a0c470c8..c03e02e6 100644 Binary files a/_module/ncs/ew_lorechecko.ncs and b/_module/ncs/ew_lorechecko.ncs differ diff --git a/_module/ncs/ew_meditate.ncs b/_module/ncs/ew_meditate.ncs index 7688ebd0..8083bd0c 100644 Binary files a/_module/ncs/ew_meditate.ncs and b/_module/ncs/ew_meditate.ncs differ diff --git a/_module/ncs/ew_olockchecko.ncs b/_module/ncs/ew_olockchecko.ncs index a2a47f3e..ec83574d 100644 Binary files a/_module/ncs/ew_olockchecko.ncs and b/_module/ncs/ew_olockchecko.ncs differ diff --git a/_module/ncs/ew_perfchecko.ncs b/_module/ncs/ew_perfchecko.ncs index d6850952..cec1f3cd 100644 Binary files a/_module/ncs/ew_perfchecko.ncs and b/_module/ncs/ew_perfchecko.ncs differ diff --git a/_module/ncs/ew_perschecko.ncs b/_module/ncs/ew_perschecko.ncs index e947bf2f..c38c6799 100644 Binary files a/_module/ncs/ew_perschecko.ncs and b/_module/ncs/ew_perschecko.ncs differ diff --git a/_module/ncs/ew_sbigcat.ncs b/_module/ncs/ew_sbigcat.ncs index 590ab9cb..1a8216df 100644 Binary files a/_module/ncs/ew_sbigcat.ncs and b/_module/ncs/ew_sbigcat.ncs differ diff --git a/_module/ncs/ew_sbranchsnap.ncs b/_module/ncs/ew_sbranchsnap.ncs index bc0cdffd..89d6d5b5 100644 Binary files a/_module/ncs/ew_sbranchsnap.ncs and b/_module/ncs/ew_sbranchsnap.ncs differ diff --git a/_module/ncs/ew_scoughmale.ncs b/_module/ncs/ew_scoughmale.ncs index 7fab4999..81cd9152 100644 Binary files a/_module/ncs/ew_scoughmale.ncs and b/_module/ncs/ew_scoughmale.ncs differ diff --git a/_module/ncs/ew_searchchecko.ncs b/_module/ncs/ew_searchchecko.ncs index ec97f8af..af1a859c 100644 Binary files a/_module/ncs/ew_searchchecko.ncs and b/_module/ncs/ew_searchchecko.ncs differ diff --git a/_module/ncs/ew_sfcrying.ncs b/_module/ncs/ew_sfcrying.ncs index a1401413..63c0b298 100644 Binary files a/_module/ncs/ew_sfcrying.ncs and b/_module/ncs/ew_sfcrying.ncs differ diff --git a/_module/ncs/ew_sfemalecough.ncs b/_module/ncs/ew_sfemalecough.ncs index 490dcee0..4ecef57b 100644 Binary files a/_module/ncs/ew_sfemalecough.ncs and b/_module/ncs/ew_sfemalecough.ncs differ diff --git a/_module/ncs/ew_sglassbreak.ncs b/_module/ncs/ew_sglassbreak.ncs index 3041ecbc..4555c3c4 100644 Binary files a/_module/ncs/ew_sglassbreak.ncs and b/_module/ncs/ew_sglassbreak.ncs differ diff --git a/_module/ncs/ew_sgrowling.ncs b/_module/ncs/ew_sgrowling.ncs index d6094760..4430f1f6 100644 Binary files a/_module/ncs/ew_sgrowling.ncs and b/_module/ncs/ew_sgrowling.ncs differ diff --git a/_module/ncs/ew_sitchair.ncs b/_module/ncs/ew_sitchair.ncs index 0d4c3478..2b40a75b 100644 Binary files a/_module/ncs/ew_sitchair.ncs and b/_module/ncs/ew_sitchair.ncs differ diff --git a/_module/ncs/ew_smaledies.ncs b/_module/ncs/ew_smaledies.ncs index b31c26fd..59bb7950 100644 Binary files a/_module/ncs/ew_smaledies.ncs and b/_module/ncs/ew_smaledies.ncs differ diff --git a/_module/ncs/ew_smcrying.ncs b/_module/ncs/ew_smcrying.ncs index 5cf21498..19b21855 100644 Binary files a/_module/ncs/ew_smcrying.ncs and b/_module/ncs/ew_smcrying.ncs differ diff --git a/_module/ncs/ew_spellchecko.ncs b/_module/ncs/ew_spellchecko.ncs index bcaf7daf..a1f9c79f 100644 Binary files a/_module/ncs/ew_spellchecko.ncs and b/_module/ncs/ew_spellchecko.ncs differ diff --git a/_module/ncs/ew_spotchecko.ncs b/_module/ncs/ew_spotchecko.ncs index fcfb17bc..5e208b43 100644 Binary files a/_module/ncs/ew_spotchecko.ncs and b/_module/ncs/ew_spotchecko.ncs differ diff --git a/_module/ncs/ew_sspooklaugh.ncs b/_module/ncs/ew_sspooklaugh.ncs index 2fa8ef73..4716520e 100644 Binary files a/_module/ncs/ew_sspooklaugh.ncs and b/_module/ncs/ew_sspooklaugh.ncs differ diff --git a/_module/ncs/ew_strchecko.ncs b/_module/ncs/ew_strchecko.ncs index 3926bdc8..95a6f4fc 100644 Binary files a/_module/ncs/ew_strchecko.ncs and b/_module/ncs/ew_strchecko.ncs differ diff --git a/_module/ncs/ew_thunder.ncs b/_module/ncs/ew_thunder.ncs index 5c63eb78..c0605618 100644 Binary files a/_module/ncs/ew_thunder.ncs and b/_module/ncs/ew_thunder.ncs differ diff --git a/_module/ncs/ew_wischecko.ncs b/_module/ncs/ew_wischecko.ncs index ad5e7c43..1691bbec 100644 Binary files a/_module/ncs/ew_wischecko.ncs and b/_module/ncs/ew_wischecko.ncs differ diff --git a/_module/ncs/eye_act_scalp.ncs b/_module/ncs/eye_act_scalp.ncs index cd6ea2e2..de2f66cf 100644 Binary files a/_module/ncs/eye_act_scalp.ncs and b/_module/ncs/eye_act_scalp.ncs differ diff --git a/_module/ncs/eye_batvamp_01.ncs b/_module/ncs/eye_batvamp_01.ncs index a1b8b37b..16311fcb 100644 Binary files a/_module/ncs/eye_batvamp_01.ncs and b/_module/ncs/eye_batvamp_01.ncs differ diff --git a/_module/ncs/eye_dm_showsubs.ncs b/_module/ncs/eye_dm_showsubs.ncs index aa8a4516..b3c9340a 100644 Binary files a/_module/ncs/eye_dm_showsubs.ncs and b/_module/ncs/eye_dm_showsubs.ncs differ diff --git a/_module/ncs/eye_dm_showunsub.ncs b/_module/ncs/eye_dm_showunsub.ncs index 2c353b9b..b35b7587 100644 Binary files a/_module/ncs/eye_dm_showunsub.ncs and b/_module/ncs/eye_dm_showunsub.ncs differ diff --git a/_module/ncs/eye_dm_sub1.ncs b/_module/ncs/eye_dm_sub1.ncs index fd3fe6f8..562d765c 100644 Binary files a/_module/ncs/eye_dm_sub1.ncs and b/_module/ncs/eye_dm_sub1.ncs differ diff --git a/_module/ncs/eye_dm_sub2.ncs b/_module/ncs/eye_dm_sub2.ncs index fb063ec3..e532d405 100644 Binary files a/_module/ncs/eye_dm_sub2.ncs and b/_module/ncs/eye_dm_sub2.ncs differ diff --git a/_module/ncs/eye_dm_sub3.ncs b/_module/ncs/eye_dm_sub3.ncs index 5e79346c..7f5d222f 100644 Binary files a/_module/ncs/eye_dm_sub3.ncs and b/_module/ncs/eye_dm_sub3.ncs differ diff --git a/_module/ncs/eye_dm_sub4.ncs b/_module/ncs/eye_dm_sub4.ncs index f398a637..1fe9c9da 100644 Binary files a/_module/ncs/eye_dm_sub4.ncs and b/_module/ncs/eye_dm_sub4.ncs differ diff --git a/_module/ncs/eye_dm_sub5.ncs b/_module/ncs/eye_dm_sub5.ncs index 02740e5e..57934966 100644 Binary files a/_module/ncs/eye_dm_sub5.ncs and b/_module/ncs/eye_dm_sub5.ncs differ diff --git a/_module/ncs/eye_elemdeath.ncs b/_module/ncs/eye_elemdeath.ncs index 265e75b9..39a42896 100644 Binary files a/_module/ncs/eye_elemdeath.ncs and b/_module/ncs/eye_elemdeath.ncs differ diff --git a/_module/ncs/eye_elemport.ncs b/_module/ncs/eye_elemport.ncs index ab826bc3..b0486892 100644 Binary files a/_module/ncs/eye_elemport.ncs and b/_module/ncs/eye_elemport.ncs differ diff --git a/_module/ncs/eye_ethfri_att.ncs b/_module/ncs/eye_ethfri_att.ncs index 50e4cea1..10de215c 100644 Binary files a/_module/ncs/eye_ethfri_att.ncs and b/_module/ncs/eye_ethfri_att.ncs differ diff --git a/_module/ncs/eye_has_scalps.ncs b/_module/ncs/eye_has_scalps.ncs index 59a2714a..c069cfda 100644 Binary files a/_module/ncs/eye_has_scalps.ncs and b/_module/ncs/eye_has_scalps.ncs differ diff --git a/_module/ncs/eye_kromm_attack.ncs b/_module/ncs/eye_kromm_attack.ncs index 41fed16c..b3d755d5 100644 Binary files a/_module/ncs/eye_kromm_attack.ncs and b/_module/ncs/eye_kromm_attack.ncs differ diff --git a/_module/ncs/eye_kromm_trigg.ncs b/_module/ncs/eye_kromm_trigg.ncs index 3eeda317..4a7c8718 100644 Binary files a/_module/ncs/eye_kromm_trigg.ncs and b/_module/ncs/eye_kromm_trigg.ncs differ diff --git a/_module/ncs/eye_portal.ncs b/_module/ncs/eye_portal.ncs index ca23e529..279514fd 100644 Binary files a/_module/ncs/eye_portal.ncs and b/_module/ncs/eye_portal.ncs differ diff --git a/_module/ncs/eye_portal01.ncs b/_module/ncs/eye_portal01.ncs index 044ab02c..9a4071ef 100644 Binary files a/_module/ncs/eye_portal01.ncs and b/_module/ncs/eye_portal01.ncs differ diff --git a/_module/ncs/eye_portaltrig.ncs b/_module/ncs/eye_portaltrig.ncs index e415d8b4..716109dd 100644 Binary files a/_module/ncs/eye_portaltrig.ncs and b/_module/ncs/eye_portaltrig.ncs differ diff --git a/_module/ncs/eye_portshaft.ncs b/_module/ncs/eye_portshaft.ncs index bda57b03..c673cb02 100644 Binary files a/_module/ncs/eye_portshaft.ncs and b/_module/ncs/eye_portshaft.ncs differ diff --git a/_module/ncs/eye_ranz_01.ncs b/_module/ncs/eye_ranz_01.ncs index a531fd61..9658e3c8 100644 Binary files a/_module/ncs/eye_ranz_01.ncs and b/_module/ncs/eye_ranz_01.ncs differ diff --git a/_module/ncs/eye_ranz_02.ncs b/_module/ncs/eye_ranz_02.ncs index 59e48556..36f543aa 100644 Binary files a/_module/ncs/eye_ranz_02.ncs and b/_module/ncs/eye_ranz_02.ncs differ diff --git a/_module/ncs/eye_ranz_05.ncs b/_module/ncs/eye_ranz_05.ncs index 1cb5c9ed..07dcd516 100644 Binary files a/_module/ncs/eye_ranz_05.ncs and b/_module/ncs/eye_ranz_05.ncs differ diff --git a/_module/ncs/eye_ranz_07.ncs b/_module/ncs/eye_ranz_07.ncs index 37140090..de7ac023 100644 Binary files a/_module/ncs/eye_ranz_07.ncs and b/_module/ncs/eye_ranz_07.ncs differ diff --git a/_module/ncs/eye_ranz_08.ncs b/_module/ncs/eye_ranz_08.ncs index 0759e2a0..004250a7 100644 Binary files a/_module/ncs/eye_ranz_08.ncs and b/_module/ncs/eye_ranz_08.ncs differ diff --git a/_module/ncs/eye_ranz_09.ncs b/_module/ncs/eye_ranz_09.ncs index 74b51f32..3eac904a 100644 Binary files a/_module/ncs/eye_ranz_09.ncs and b/_module/ncs/eye_ranz_09.ncs differ diff --git a/_module/ncs/eye_spiderstatue.ncs b/_module/ncs/eye_spiderstatue.ncs index df36e9bb..8176adfa 100644 Binary files a/_module/ncs/eye_spiderstatue.ncs and b/_module/ncs/eye_spiderstatue.ncs differ diff --git a/_module/ncs/eye_trialfail.ncs b/_module/ncs/eye_trialfail.ncs index bb2c737e..c59f1a84 100644 Binary files a/_module/ncs/eye_trialfail.ncs and b/_module/ncs/eye_trialfail.ncs differ diff --git a/_module/ncs/faction_donate.ncs b/_module/ncs/faction_donate.ncs index 3ee7c6fa..b30fb80c 100644 Binary files a/_module/ncs/faction_donate.ncs and b/_module/ncs/faction_donate.ncs differ diff --git a/_module/ncs/faction_init.ncs b/_module/ncs/faction_init.ncs index 5d9f6ede..b8a9e5fc 100644 Binary files a/_module/ncs/faction_init.ncs and b/_module/ncs/faction_init.ncs differ diff --git a/_module/ncs/faction_join.ncs b/_module/ncs/faction_join.ncs index ce80128a..30f3f241 100644 Binary files a/_module/ncs/faction_join.ncs and b/_module/ncs/faction_join.ncs differ diff --git a/_module/ncs/flavor_enter.ncs b/_module/ncs/flavor_enter.ncs index 0e84b23e..5d6d82fa 100644 Binary files a/_module/ncs/flavor_enter.ncs and b/_module/ncs/flavor_enter.ncs differ diff --git a/_module/ncs/foresttolair.ncs b/_module/ncs/foresttolair.ncs index 07b48329..d80f1ecc 100644 Binary files a/_module/ncs/foresttolair.ncs and b/_module/ncs/foresttolair.ncs differ diff --git a/_module/ncs/fortcleavenwestm.ncs b/_module/ncs/fortcleavenwestm.ncs index df9a200f..3b5a1c63 100644 Binary files a/_module/ncs/fortcleavenwestm.ncs and b/_module/ncs/fortcleavenwestm.ncs differ diff --git a/_module/ncs/fud_take_cshell.ncs b/_module/ncs/fud_take_cshell.ncs index fde953b5..de09cd13 100644 Binary files a/_module/ncs/fud_take_cshell.ncs and b/_module/ncs/fud_take_cshell.ncs differ diff --git a/_module/ncs/gf.ncs b/_module/ncs/gf.ncs index 778c1161..25467a7c 100644 Binary files a/_module/ncs/gf.ncs and b/_module/ncs/gf.ncs differ diff --git a/_module/ncs/hc_act_healkit.ncs b/_module/ncs/hc_act_healkit.ncs index 5a376643..6b3a5182 100644 Binary files a/_module/ncs/hc_act_healkit.ncs and b/_module/ncs/hc_act_healkit.ncs differ diff --git a/_module/ncs/hc_act_oilflask.ncs b/_module/ncs/hc_act_oilflask.ncs index 207a91b5..b4d290ea 100644 Binary files a/_module/ncs/hc_act_oilflask.ncs and b/_module/ncs/hc_act_oilflask.ncs differ diff --git a/_module/ncs/hc_act_others.ncs b/_module/ncs/hc_act_others.ncs index 271b5949..77d8901d 100644 Binary files a/_module/ncs/hc_act_others.ncs and b/_module/ncs/hc_act_others.ncs differ diff --git a/_module/ncs/hc_act_pct.ncs b/_module/ncs/hc_act_pct.ncs index b79e4ffb..c45acffc 100644 Binary files a/_module/ncs/hc_act_pct.ncs and b/_module/ncs/hc_act_pct.ncs differ diff --git a/_module/ncs/hc_act_potion.ncs b/_module/ncs/hc_act_potion.ncs index 084f6540..6bd5f26b 100644 Binary files a/_module/ncs/hc_act_potion.ncs and b/_module/ncs/hc_act_potion.ncs differ diff --git a/_module/ncs/hc_act_search.ncs b/_module/ncs/hc_act_search.ncs index 8df85ea7..9aa51f8b 100644 Binary files a/_module/ncs/hc_act_search.ncs and b/_module/ncs/hc_act_search.ncs differ diff --git a/_module/ncs/hc_act_skinning.ncs b/_module/ncs/hc_act_skinning.ncs index e86db26f..c0de5277 100644 Binary files a/_module/ncs/hc_act_skinning.ncs and b/_module/ncs/hc_act_skinning.ncs differ diff --git a/_module/ncs/hc_act_thieftool.ncs b/_module/ncs/hc_act_thieftool.ncs index ea82e6a3..556734e6 100644 Binary files a/_module/ncs/hc_act_thieftool.ncs and b/_module/ncs/hc_act_thieftool.ncs differ diff --git a/_module/ncs/hc_bleeding.ncs b/_module/ncs/hc_bleeding.ncs index 77183cb0..fbd01c7b 100644 Binary files a/_module/ncs/hc_bleeding.ncs and b/_module/ncs/hc_bleeding.ncs differ diff --git a/_module/ncs/hc_cat_tt_disarm.ncs b/_module/ncs/hc_cat_tt_disarm.ncs index 18eb8e62..55f78fc8 100644 Binary files a/_module/ncs/hc_cat_tt_disarm.ncs and b/_module/ncs/hc_cat_tt_disarm.ncs differ diff --git a/_module/ncs/hc_corpse_sound.ncs b/_module/ncs/hc_corpse_sound.ncs index 3d94674b..a7526931 100644 Binary files a/_module/ncs/hc_corpse_sound.ncs and b/_module/ncs/hc_corpse_sound.ncs differ diff --git a/_module/ncs/hc_csc_ttc_dangr.ncs b/_module/ncs/hc_csc_ttc_dangr.ncs index c675af9a..dcb246b2 100644 Binary files a/_module/ncs/hc_csc_ttc_dangr.ncs and b/_module/ncs/hc_csc_ttc_dangr.ncs differ diff --git a/_module/ncs/hc_csc_ttc_easy.ncs b/_module/ncs/hc_csc_ttc_easy.ncs index 4ecf2415..dcde8881 100644 Binary files a/_module/ncs/hc_csc_ttc_easy.ncs and b/_module/ncs/hc_csc_ttc_easy.ncs differ diff --git a/_module/ncs/hc_csc_ttc_risky.ncs b/_module/ncs/hc_csc_ttc_risky.ncs index ba82f69d..d6bd0586 100644 Binary files a/_module/ncs/hc_csc_ttc_risky.ncs and b/_module/ncs/hc_csc_ttc_risky.ncs differ diff --git a/_module/ncs/hc_csc_ttc_safe.ncs b/_module/ncs/hc_csc_ttc_safe.ncs index b46b212d..b4aa94ed 100644 Binary files a/_module/ncs/hc_csc_ttc_safe.ncs and b/_module/ncs/hc_csc_ttc_safe.ncs differ diff --git a/_module/ncs/hc_csc_ttc_vdang.ncs b/_module/ncs/hc_csc_ttc_vdang.ncs index 9ae3d3f5..dfc4c1f3 100644 Binary files a/_module/ncs/hc_csc_ttc_vdang.ncs and b/_module/ncs/hc_csc_ttc_vdang.ncs differ diff --git a/_module/ncs/hc_defaults.ncs b/_module/ncs/hc_defaults.ncs index 60361c80..0247a013 100644 Binary files a/_module/ncs/hc_defaults.ncs and b/_module/ncs/hc_defaults.ncs differ diff --git a/_module/ncs/hc_dist_npcorpse.ncs b/_module/ncs/hc_dist_npcorpse.ncs index 4d14573b..bbc4089c 100644 Binary files a/_module/ncs/hc_dist_npcorpse.ncs and b/_module/ncs/hc_dist_npcorpse.ncs differ diff --git a/_module/ncs/hc_fb_play_rest.ncs b/_module/ncs/hc_fb_play_rest.ncs index e09477c2..58338353 100644 Binary files a/_module/ncs/hc_fb_play_rest.ncs and b/_module/ncs/hc_fb_play_rest.ncs differ diff --git a/_module/ncs/hc_fugue_enter.ncs b/_module/ncs/hc_fugue_enter.ncs index 6b1202ad..80f67441 100644 Binary files a/_module/ncs/hc_fugue_enter.ncs and b/_module/ncs/hc_fugue_enter.ncs differ diff --git a/_module/ncs/hc_fugue_exit.ncs b/_module/ncs/hc_fugue_exit.ncs index 6f97fa71..9a187791 100644 Binary files a/_module/ncs/hc_fugue_exit.ncs and b/_module/ncs/hc_fugue_exit.ncs differ diff --git a/_module/ncs/hc_grenade.ncs b/_module/ncs/hc_grenade.ncs index eae78f0d..372b8555 100644 Binary files a/_module/ncs/hc_grenade.ncs and b/_module/ncs/hc_grenade.ncs differ diff --git a/_module/ncs/hc_hb_campfire.ncs b/_module/ncs/hc_hb_campfire.ncs index 7bcbe50c..a314d999 100644 Binary files a/_module/ncs/hc_hb_campfire.ncs and b/_module/ncs/hc_hb_campfire.ncs differ diff --git a/_module/ncs/hc_hb_deathcrps.ncs b/_module/ncs/hc_hb_deathcrps.ncs index ce22d6e7..78927c45 100644 Binary files a/_module/ncs/hc_hb_deathcrps.ncs and b/_module/ncs/hc_hb_deathcrps.ncs differ diff --git a/_module/ncs/hc_hb_sd_locate.ncs b/_module/ncs/hc_hb_sd_locate.ncs index f2e63f7d..254a55dc 100644 Binary files a/_module/ncs/hc_hb_sd_locate.ncs and b/_module/ncs/hc_hb_sd_locate.ncs differ diff --git a/_module/ncs/hc_on_acq_item.ncs b/_module/ncs/hc_on_acq_item.ncs index 76ccd5e9..9def42a3 100644 Binary files a/_module/ncs/hc_on_acq_item.ncs and b/_module/ncs/hc_on_acq_item.ncs differ diff --git a/_module/ncs/hc_on_act_item.ncs b/_module/ncs/hc_on_act_item.ncs index 56c96358..bdf88a1f 100644 Binary files a/_module/ncs/hc_on_act_item.ncs and b/_module/ncs/hc_on_act_item.ncs differ diff --git a/_module/ncs/hc_on_unacq_item.ncs b/_module/ncs/hc_on_unacq_item.ncs index a8ff506c..993a2d48 100644 Binary files a/_module/ncs/hc_on_unacq_item.ncs and b/_module/ncs/hc_on_unacq_item.ncs differ diff --git a/_module/ncs/hc_open_dthcrpse.ncs b/_module/ncs/hc_open_dthcrpse.ncs index bf302e7f..d49781ab 100644 Binary files a/_module/ncs/hc_open_dthcrpse.ncs and b/_module/ncs/hc_open_dthcrpse.ncs differ diff --git a/_module/ncs/hc_ou_secretd.ncs b/_module/ncs/hc_ou_secretd.ncs index 2b82aa56..d7da3ac5 100644 Binary files a/_module/ncs/hc_ou_secretd.ncs and b/_module/ncs/hc_ou_secretd.ncs differ diff --git a/_module/ncs/hc_pal_detevil.ncs b/_module/ncs/hc_pal_detevil.ncs index 5225ea54..f13c9c50 100644 Binary files a/_module/ncs/hc_pal_detevil.ncs and b/_module/ncs/hc_pal_detevil.ncs differ diff --git a/_module/ncs/hc_pc_sit_chair.ncs b/_module/ncs/hc_pc_sit_chair.ncs index e0dc2e4b..069e600a 100644 Binary files a/_module/ncs/hc_pc_sit_chair.ncs and b/_module/ncs/hc_pc_sit_chair.ncs differ diff --git a/_module/ncs/hc_track_start.ncs b/_module/ncs/hc_track_start.ncs index 78b0ee7b..a916c908 100644 Binary files a/_module/ncs/hc_track_start.ncs and b/_module/ncs/hc_track_start.ncs differ diff --git a/_module/ncs/hc_used_lvltrain.ncs b/_module/ncs/hc_used_lvltrain.ncs index 2daad103..9c05743c 100644 Binary files a/_module/ncs/hc_used_lvltrain.ncs and b/_module/ncs/hc_used_lvltrain.ncs differ diff --git a/_module/ncs/hc_used_npcorpse.ncs b/_module/ncs/hc_used_npcorpse.ncs index ddb4fa02..7b93683c 100644 Binary files a/_module/ncs/hc_used_npcorpse.ncs and b/_module/ncs/hc_used_npcorpse.ncs differ diff --git a/_module/ncs/hchtf_fooddrinkp.ncs b/_module/ncs/hchtf_fooddrinkp.ncs index 7aad37fb..6381cc54 100644 Binary files a/_module/ncs/hchtf_fooddrinkp.ncs and b/_module/ncs/hchtf_fooddrinkp.ncs differ diff --git a/_module/ncs/hcrh_banpc.ncs b/_module/ncs/hcrh_banpc.ncs index 832d76da..3c7dce7d 100644 Binary files a/_module/ncs/hcrh_banpc.ncs and b/_module/ncs/hcrh_banpc.ncs differ diff --git a/_module/ncs/hcrh_onconv.ncs b/_module/ncs/hcrh_onconv.ncs index 5d778e82..b9d7ebb2 100644 Binary files a/_module/ncs/hcrh_onconv.ncs and b/_module/ncs/hcrh_onconv.ncs differ diff --git a/_module/ncs/hcrh_resetpcreg.ncs b/_module/ncs/hcrh_resetpcreg.ncs index 6fbf767a..9bd4426a 100644 Binary files a/_module/ncs/hcrh_resetpcreg.ncs and b/_module/ncs/hcrh_resetpcreg.ncs differ diff --git a/_module/ncs/hcrh_setloginmsg.ncs b/_module/ncs/hcrh_setloginmsg.ncs index 13e3c5c1..1062d23d 100644 Binary files a/_module/ncs/hcrh_setloginmsg.ncs and b/_module/ncs/hcrh_setloginmsg.ncs differ diff --git a/_module/ncs/hcrh_setplayerdm.ncs b/_module/ncs/hcrh_setplayerdm.ncs index 7a6672aa..bfbe0a11 100644 Binary files a/_module/ncs/hcrh_setplayerdm.ncs and b/_module/ncs/hcrh_setplayerdm.ncs differ diff --git a/_module/ncs/hcrh_spawnin.ncs b/_module/ncs/hcrh_spawnin.ncs index c2d44c02..a1e11a66 100644 Binary files a/_module/ncs/hcrh_spawnin.ncs and b/_module/ncs/hcrh_spawnin.ncs differ diff --git a/_module/ncs/hcrh_status.ncs b/_module/ncs/hcrh_status.ncs index 3eacf58c..b536f80a 100644 Binary files a/_module/ncs/hcrh_status.ncs and b/_module/ncs/hcrh_status.ncs differ diff --git a/_module/ncs/hcrh_togbedroll.ncs b/_module/ncs/hcrh_togbedroll.ncs index 1f575f5a..9c90c383 100644 Binary files a/_module/ncs/hcrh_togbedroll.ncs and b/_module/ncs/hcrh_togbedroll.ncs differ diff --git a/_module/ncs/hcrh_togdeath.ncs b/_module/ncs/hcrh_togdeath.ncs index 8a8c1e63..170a20ea 100644 Binary files a/_module/ncs/hcrh_togdeath.ncs and b/_module/ncs/hcrh_togdeath.ncs differ diff --git a/_module/ncs/hcrh_toghcrexp.ncs b/_module/ncs/hcrh_toghcrexp.ncs index d6e06e3b..ef82edf0 100644 Binary files a/_module/ncs/hcrh_toghcrexp.ncs and b/_module/ncs/hcrh_toghcrexp.ncs differ diff --git a/_module/ncs/hcrh_toghcrtrap.ncs b/_module/ncs/hcrh_toghcrtrap.ncs index 860b774b..1f5c5f94 100644 Binary files a/_module/ncs/hcrh_toghcrtrap.ncs and b/_module/ncs/hcrh_toghcrtrap.ncs differ diff --git a/_module/ncs/hcrh_togleveltrn.ncs b/_module/ncs/hcrh_togleveltrn.ncs index 127844f1..ccccfc04 100644 Binary files a/_module/ncs/hcrh_togleveltrn.ncs and b/_module/ncs/hcrh_togleveltrn.ncs differ diff --git a/_module/ncs/hcrh_toglimbo.ncs b/_module/ncs/hcrh_toglimbo.ncs index 6707ac4c..9e39b842 100644 Binary files a/_module/ncs/hcrh_toglimbo.ncs and b/_module/ncs/hcrh_toglimbo.ncs differ diff --git a/_module/ncs/hcrh_toglmtrsthl.ncs b/_module/ncs/hcrh_toglmtrsthl.ncs index 882b986c..f858090e 100644 Binary files a/_module/ncs/hcrh_toglmtrsthl.ncs and b/_module/ncs/hcrh_toglmtrsthl.ncs differ diff --git a/_module/ncs/hcrh_toglock.ncs b/_module/ncs/hcrh_toglock.ncs index ac2d86aa..0e4957ae 100644 Binary files a/_module/ncs/hcrh_toglock.ncs and b/_module/ncs/hcrh_toglock.ncs differ diff --git a/_module/ncs/hcrh_toglootsys.ncs b/_module/ncs/hcrh_toglootsys.ncs index 76a28834..9a5c7705 100644 Binary files a/_module/ncs/hcrh_toglootsys.ncs and b/_module/ncs/hcrh_toglootsys.ncs differ diff --git a/_module/ncs/hcrh_togrealfam.ncs b/_module/ncs/hcrh_togrealfam.ncs index dafe3cd5..42fa8936 100644 Binary files a/_module/ncs/hcrh_togrealfam.ncs and b/_module/ncs/hcrh_togrealfam.ncs differ diff --git a/_module/ncs/hcrh_togrestsys.ncs b/_module/ncs/hcrh_togrestsys.ncs index 5ba8fb7c..7912bd1f 100644 Binary files a/_module/ncs/hcrh_togrestsys.ncs and b/_module/ncs/hcrh_togrestsys.ncs differ diff --git a/_module/ncs/hcrh_togrezpen.ncs b/_module/ncs/hcrh_togrezpen.ncs index 1f826135..0e3d2f3f 100644 Binary files a/_module/ncs/hcrh_togrezpen.ncs and b/_module/ncs/hcrh_togrezpen.ncs differ diff --git a/_module/ncs/hcrh_togrstarpen.ncs b/_module/ncs/hcrh_togrstarpen.ncs index 567de260..65c98788 100644 Binary files a/_module/ncs/hcrh_togrstarpen.ncs and b/_module/ncs/hcrh_togrstarpen.ncs differ diff --git a/_module/ncs/hcrh_togsingplyr.ncs b/_module/ncs/hcrh_togsingplyr.ncs index 34f06d6c..b799e317 100644 Binary files a/_module/ncs/hcrh_togsingplyr.ncs and b/_module/ncs/hcrh_togsingplyr.ncs differ diff --git a/_module/ncs/hcrh_togstore.ncs b/_module/ncs/hcrh_togstore.ncs index ad5d4db1..4e59f774 100644 Binary files a/_module/ncs/hcrh_togstore.ncs and b/_module/ncs/hcrh_togstore.ncs differ diff --git a/_module/ncs/hcrh_togtellpk.ncs b/_module/ncs/hcrh_togtellpk.ncs index bfe78582..8c9ec7fa 100644 Binary files a/_module/ncs/hcrh_togtellpk.ncs and b/_module/ncs/hcrh_togtellpk.ncs differ diff --git a/_module/ncs/hcrh_togwander.ncs b/_module/ncs/hcrh_togwander.ncs index cedfe291..4b7e01d6 100644 Binary files a/_module/ncs/hcrh_togwander.ncs and b/_module/ncs/hcrh_togwander.ncs differ diff --git a/_module/ncs/healpc.ncs b/_module/ncs/healpc.ncs index ffca7718..65f1c453 100644 Binary files a/_module/ncs/healpc.ncs and b/_module/ncs/healpc.ncs differ diff --git a/_module/ncs/hit_dancing.ncs b/_module/ncs/hit_dancing.ncs index 9c7d0303..f46d7673 100644 Binary files a/_module/ncs/hit_dancing.ncs and b/_module/ncs/hit_dancing.ncs differ diff --git a/_module/ncs/hook_ok_to_level.ncs b/_module/ncs/hook_ok_to_level.ncs index 24efc9b9..343e2f96 100644 Binary files a/_module/ncs/hook_ok_to_level.ncs and b/_module/ncs/hook_ok_to_level.ncs differ diff --git a/_module/ncs/intro_enter.ncs b/_module/ncs/intro_enter.ncs index 2ab566e3..7a885f6d 100644 Binary files a/_module/ncs/intro_enter.ncs and b/_module/ncs/intro_enter.ncs differ diff --git a/_module/ncs/intro_faction.ncs b/_module/ncs/intro_faction.ncs index b2d0dbbc..ec3fe223 100644 Binary files a/_module/ncs/intro_faction.ncs and b/_module/ncs/intro_faction.ncs differ diff --git a/_module/ncs/intro_scale.ncs b/_module/ncs/intro_scale.ncs index 9163aaf8..0c90c5b1 100644 Binary files a/_module/ncs/intro_scale.ncs and b/_module/ncs/intro_scale.ncs differ diff --git a/_module/ncs/intro_subrace.ncs b/_module/ncs/intro_subrace.ncs index 5b9ea5be..c75c4d69 100644 Binary files a/_module/ncs/intro_subrace.ncs and b/_module/ncs/intro_subrace.ncs differ diff --git a/_module/ncs/ip_ini_b.ncs b/_module/ncs/ip_ini_b.ncs index 38ac189d..9f0d991a 100644 Binary files a/_module/ncs/ip_ini_b.ncs and b/_module/ncs/ip_ini_b.ncs differ diff --git a/_module/ncs/ip_names_ini.ncs b/_module/ncs/ip_names_ini.ncs index 351aa1eb..349d491d 100644 Binary files a/_module/ncs/ip_names_ini.ncs and b/_module/ncs/ip_names_ini.ncs differ diff --git a/_module/ncs/ip_tst.ncs b/_module/ncs/ip_tst.ncs index 44960e24..d02de38f 100644 Binary files a/_module/ncs/ip_tst.ncs and b/_module/ncs/ip_tst.ncs differ diff --git a/_module/ncs/is_dwarf.ncs b/_module/ncs/is_dwarf.ncs index e6c577db..7befaa1f 100644 Binary files a/_module/ncs/is_dwarf.ncs and b/_module/ncs/is_dwarf.ncs differ diff --git a/_module/ncs/is_elf.ncs b/_module/ncs/is_elf.ncs index 3ef76d74..e8ed0575 100644 Binary files a/_module/ncs/is_elf.ncs and b/_module/ncs/is_elf.ncs differ diff --git a/_module/ncs/is_gnome.ncs b/_module/ncs/is_gnome.ncs index d774abab..3bd51e13 100644 Binary files a/_module/ncs/is_gnome.ncs and b/_module/ncs/is_gnome.ncs differ diff --git a/_module/ncs/is_halfelf.ncs b/_module/ncs/is_halfelf.ncs index 611432d6..303b1397 100644 Binary files a/_module/ncs/is_halfelf.ncs and b/_module/ncs/is_halfelf.ncs differ diff --git a/_module/ncs/is_halforc.ncs b/_module/ncs/is_halforc.ncs index d8596779..ffc3899e 100644 Binary files a/_module/ncs/is_halforc.ncs and b/_module/ncs/is_halforc.ncs differ diff --git a/_module/ncs/is_human.ncs b/_module/ncs/is_human.ncs index 9af751ea..cd28145f 100644 Binary files a/_module/ncs/is_human.ncs and b/_module/ncs/is_human.ncs differ diff --git a/_module/ncs/it_acidbmb.ncs b/_module/ncs/it_acidbmb.ncs index b6e2bc38..607cc893 100644 Binary files a/_module/ncs/it_acidbmb.ncs and b/_module/ncs/it_acidbmb.ncs differ diff --git a/_module/ncs/it_firebmb.ncs b/_module/ncs/it_firebmb.ncs index 8d6132a1..8d2977bc 100644 Binary files a/_module/ncs/it_firebmb.ncs and b/_module/ncs/it_firebmb.ncs differ diff --git a/_module/ncs/it_flashbmb.ncs b/_module/ncs/it_flashbmb.ncs index 6c0de8c9..f5e134a0 100644 Binary files a/_module/ncs/it_flashbmb.ncs and b/_module/ncs/it_flashbmb.ncs differ diff --git a/_module/ncs/it_frostbmb.ncs b/_module/ncs/it_frostbmb.ncs index 87ea10a4..df7f071c 100644 Binary files a/_module/ncs/it_frostbmb.ncs and b/_module/ncs/it_frostbmb.ncs differ diff --git a/_module/ncs/it_slowbmb.ncs b/_module/ncs/it_slowbmb.ncs index 0ce6becb..3550adc6 100644 Binary files a/_module/ncs/it_slowbmb.ncs and b/_module/ncs/it_slowbmb.ncs differ diff --git a/_module/ncs/j_ai_destroyself.ncs b/_module/ncs/j_ai_destroyself.ncs index 018761d5..230430bc 100644 Binary files a/_module/ncs/j_ai_destroyself.ncs and b/_module/ncs/j_ai_destroyself.ncs differ diff --git a/_module/ncs/j_ai_detercombat.ncs b/_module/ncs/j_ai_detercombat.ncs index eb837481..ff78a0a5 100644 Binary files a/_module/ncs/j_ai_detercombat.ncs and b/_module/ncs/j_ai_detercombat.ncs differ diff --git a/_module/ncs/j_ai_heart_aimat.ncs b/_module/ncs/j_ai_heart_aimat.ncs index 92eadf92..264ab347 100644 Binary files a/_module/ncs/j_ai_heart_aimat.ncs and b/_module/ncs/j_ai_heart_aimat.ncs differ diff --git a/_module/ncs/j_ai_heart_buff.ncs b/_module/ncs/j_ai_heart_buff.ncs index f6ea79d9..3db0a733 100644 Binary files a/_module/ncs/j_ai_heart_buff.ncs and b/_module/ncs/j_ai_heart_buff.ncs differ diff --git a/_module/ncs/j_ai_heart_serch.ncs b/_module/ncs/j_ai_heart_serch.ncs index e0e3f6c0..1d0f1957 100644 Binary files a/_module/ncs/j_ai_heart_serch.ncs and b/_module/ncs/j_ai_heart_serch.ncs differ diff --git a/_module/ncs/j_ai_onblocked.ncs b/_module/ncs/j_ai_onblocked.ncs index 26e5cded..c4f43d7f 100644 Binary files a/_module/ncs/j_ai_onblocked.ncs and b/_module/ncs/j_ai_onblocked.ncs differ diff --git a/_module/ncs/j_ai_oncombatrou.ncs b/_module/ncs/j_ai_oncombatrou.ncs index 14cec7c0..be9e309a 100644 Binary files a/_module/ncs/j_ai_oncombatrou.ncs and b/_module/ncs/j_ai_oncombatrou.ncs differ diff --git a/_module/ncs/j_ai_onconversat.ncs b/_module/ncs/j_ai_onconversat.ncs index 99d020cf..ae7b1fb4 100644 Binary files a/_module/ncs/j_ai_onconversat.ncs and b/_module/ncs/j_ai_onconversat.ncs differ diff --git a/_module/ncs/j_ai_ondamaged.ncs b/_module/ncs/j_ai_ondamaged.ncs index 7b3998bf..d6ac2a80 100644 Binary files a/_module/ncs/j_ai_ondamaged.ncs and b/_module/ncs/j_ai_ondamaged.ncs differ diff --git a/_module/ncs/j_ai_ondisturbed.ncs b/_module/ncs/j_ai_ondisturbed.ncs index fc939b12..3a0bf31d 100644 Binary files a/_module/ncs/j_ai_ondisturbed.ncs and b/_module/ncs/j_ai_ondisturbed.ncs differ diff --git a/_module/ncs/j_ai_onheartbeat.ncs b/_module/ncs/j_ai_onheartbeat.ncs index 58b89f0a..cffd175c 100644 Binary files a/_module/ncs/j_ai_onheartbeat.ncs and b/_module/ncs/j_ai_onheartbeat.ncs differ diff --git a/_module/ncs/j_ai_onpercieve.ncs b/_module/ncs/j_ai_onpercieve.ncs index 94595540..5efe543c 100644 Binary files a/_module/ncs/j_ai_onpercieve.ncs and b/_module/ncs/j_ai_onpercieve.ncs differ diff --git a/_module/ncs/j_ai_onphiattack.ncs b/_module/ncs/j_ai_onphiattack.ncs index 3bb116ed..80764111 100644 Binary files a/_module/ncs/j_ai_onphiattack.ncs and b/_module/ncs/j_ai_onphiattack.ncs differ diff --git a/_module/ncs/j_ai_onrest.ncs b/_module/ncs/j_ai_onrest.ncs index 3cff6403..5edff9af 100644 Binary files a/_module/ncs/j_ai_onrest.ncs and b/_module/ncs/j_ai_onrest.ncs differ diff --git a/_module/ncs/j_ai_onspawn.ncs b/_module/ncs/j_ai_onspawn.ncs index b4cdebec..6ad85385 100644 Binary files a/_module/ncs/j_ai_onspawn.ncs and b/_module/ncs/j_ai_onspawn.ncs differ diff --git a/_module/ncs/j_ai_onspellcast.ncs b/_module/ncs/j_ai_onspellcast.ncs index 2472540a..36d7cb1b 100644 Binary files a/_module/ncs/j_ai_onspellcast.ncs and b/_module/ncs/j_ai_onspellcast.ncs differ diff --git a/_module/ncs/j_ai_setweapons.ncs b/_module/ncs/j_ai_setweapons.ncs index 93b4843f..84ec937a 100644 Binary files a/_module/ncs/j_ai_setweapons.ncs and b/_module/ncs/j_ai_setweapons.ncs differ diff --git a/_module/ncs/j_ai_walkwaypoin.ncs b/_module/ncs/j_ai_walkwaypoin.ncs index b20789da..2269abe8 100644 Binary files a/_module/ncs/j_ai_walkwaypoin.ncs and b/_module/ncs/j_ai_walkwaypoin.ncs differ diff --git a/_module/ncs/j_ai_wingbuffet.ncs b/_module/ncs/j_ai_wingbuffet.ncs index f1068daf..d8d559a1 100644 Binary files a/_module/ncs/j_ai_wingbuffet.ncs and b/_module/ncs/j_ai_wingbuffet.ncs differ diff --git a/_module/ncs/j_ai_wingflying.ncs b/_module/ncs/j_ai_wingflying.ncs index 088f8e7c..9056c450 100644 Binary files a/_module/ncs/j_ai_wingflying.ncs and b/_module/ncs/j_ai_wingflying.ncs differ diff --git a/_module/ncs/jj.ncs b/_module/ncs/jj.ncs index a462c2c6..faab5894 100644 Binary files a/_module/ncs/jj.ncs and b/_module/ncs/jj.ncs differ diff --git a/_module/ncs/lel_afk.ncs b/_module/ncs/lel_afk.ncs index 568718ae..4110499b 100644 Binary files a/_module/ncs/lel_afk.ncs and b/_module/ncs/lel_afk.ncs differ diff --git a/_module/ncs/lel_gong.ncs b/_module/ncs/lel_gong.ncs index 6e23c07c..4cfb0e8f 100644 Binary files a/_module/ncs/lel_gong.ncs and b/_module/ncs/lel_gong.ncs differ diff --git a/_module/ncs/lel_gongtimer.ncs b/_module/ncs/lel_gongtimer.ncs index 8fda790d..4cf70a19 100644 Binary files a/_module/ncs/lel_gongtimer.ncs and b/_module/ncs/lel_gongtimer.ncs differ diff --git a/_module/ncs/lgs_chest_ondmg.ncs b/_module/ncs/lgs_chest_ondmg.ncs index 07d50300..a7e66a79 100644 Binary files a/_module/ncs/lgs_chest_ondmg.ncs and b/_module/ncs/lgs_chest_ondmg.ncs differ diff --git a/_module/ncs/lgs_ini.ncs b/_module/ncs/lgs_ini.ncs index 1e19b826..e35e288e 100644 Binary files a/_module/ncs/lgs_ini.ncs and b/_module/ncs/lgs_ini.ncs differ diff --git a/_module/ncs/light_decay.ncs b/_module/ncs/light_decay.ncs index 33f6250e..af73a020 100644 Binary files a/_module/ncs/light_decay.ncs and b/_module/ncs/light_decay.ncs differ diff --git a/_module/ncs/lycan_heartbeat.ncs b/_module/ncs/lycan_heartbeat.ncs index 7ac7ca6c..5f622c76 100644 Binary files a/_module/ncs/lycan_heartbeat.ncs and b/_module/ncs/lycan_heartbeat.ncs differ diff --git a/_module/ncs/lycan_onspawn.ncs b/_module/ncs/lycan_onspawn.ncs index 900d56b7..16701cf6 100644 Binary files a/_module/ncs/lycan_onspawn.ncs and b/_module/ncs/lycan_onspawn.ncs differ diff --git a/_module/ncs/mod_onacquire.ncs b/_module/ncs/mod_onacquire.ncs index 70b43766..9a8613d1 100644 Binary files a/_module/ncs/mod_onacquire.ncs and b/_module/ncs/mod_onacquire.ncs differ diff --git a/_module/ncs/mod_onactivate.ncs b/_module/ncs/mod_onactivate.ncs index 16dcd70d..6883cdbd 100644 Binary files a/_module/ncs/mod_onactivate.ncs and b/_module/ncs/mod_onactivate.ncs differ diff --git a/_module/ncs/mod_onchat.ncs b/_module/ncs/mod_onchat.ncs index c400ac62..91508854 100644 Binary files a/_module/ncs/mod_onchat.ncs and b/_module/ncs/mod_onchat.ncs differ diff --git a/_module/ncs/mod_onclenter.ncs b/_module/ncs/mod_onclenter.ncs index ff5a8cd5..2dce18e5 100644 Binary files a/_module/ncs/mod_onclenter.ncs and b/_module/ncs/mod_onclenter.ncs differ diff --git a/_module/ncs/mod_onclleave.ncs b/_module/ncs/mod_onclleave.ncs index a58af034..94e25def 100644 Binary files a/_module/ncs/mod_onclleave.ncs and b/_module/ncs/mod_onclleave.ncs differ diff --git a/_module/ncs/mod_ondeath.ncs b/_module/ncs/mod_ondeath.ncs index 78bc03de..bc9e9879 100644 Binary files a/_module/ncs/mod_ondeath.ncs and b/_module/ncs/mod_ondeath.ncs differ diff --git a/_module/ncs/mod_ondying.ncs b/_module/ncs/mod_ondying.ncs index 6d5c2c95..483eded4 100644 Binary files a/_module/ncs/mod_ondying.ncs and b/_module/ncs/mod_ondying.ncs differ diff --git a/_module/ncs/mod_onequip.ncs b/_module/ncs/mod_onequip.ncs index afdd7a3f..fef5f8cf 100644 Binary files a/_module/ncs/mod_onequip.ncs and b/_module/ncs/mod_onequip.ncs differ diff --git a/_module/ncs/mod_onheart.ncs b/_module/ncs/mod_onheart.ncs index 4c73e985..f084436e 100644 Binary files a/_module/ncs/mod_onheart.ncs and b/_module/ncs/mod_onheart.ncs differ diff --git a/_module/ncs/mod_onlevelup.ncs b/_module/ncs/mod_onlevelup.ncs index 9d11bc9f..a88f0280 100644 Binary files a/_module/ncs/mod_onlevelup.ncs and b/_module/ncs/mod_onlevelup.ncs differ diff --git a/_module/ncs/mod_onload.ncs b/_module/ncs/mod_onload.ncs index 798e254c..2377c574 100644 Binary files a/_module/ncs/mod_onload.ncs and b/_module/ncs/mod_onload.ncs differ diff --git a/_module/ncs/mod_onrespawn.ncs b/_module/ncs/mod_onrespawn.ncs index 2d928060..540e8ea1 100644 Binary files a/_module/ncs/mod_onrespawn.ncs and b/_module/ncs/mod_onrespawn.ncs differ diff --git a/_module/ncs/mod_onrest.ncs b/_module/ncs/mod_onrest.ncs index 46b0e60e..bf59ad96 100644 Binary files a/_module/ncs/mod_onrest.ncs and b/_module/ncs/mod_onrest.ncs differ diff --git a/_module/ncs/mod_onunacquir.ncs b/_module/ncs/mod_onunacquir.ncs index 7d80d32b..a403e5bc 100644 Binary files a/_module/ncs/mod_onunacquir.ncs and b/_module/ncs/mod_onunacquir.ncs differ diff --git a/_module/ncs/mod_onunequip.ncs b/_module/ncs/mod_onunequip.ncs index 49317e07..babe85f6 100644 Binary files a/_module/ncs/mod_onunequip.ncs and b/_module/ncs/mod_onunequip.ncs differ diff --git a/_module/ncs/note.ncs b/_module/ncs/note.ncs index 0f20934c..8c124ab8 100644 Binary files a/_module/ncs/note.ncs and b/_module/ncs/note.ncs differ diff --git a/_module/ncs/npc_randomize.ncs b/_module/ncs/npc_randomize.ncs index 03e4a7c0..f6b6e2e8 100644 Binary files a/_module/ncs/npc_randomize.ncs and b/_module/ncs/npc_randomize.ncs differ diff --git a/_module/ncs/nw_c2_bossdie.ncs b/_module/ncs/nw_c2_bossdie.ncs index 00c9424e..2e198a48 100644 Binary files a/_module/ncs/nw_c2_bossdie.ncs and b/_module/ncs/nw_c2_bossdie.ncs differ diff --git a/_module/ncs/nw_c2_bossspawn.ncs b/_module/ncs/nw_c2_bossspawn.ncs index a1b2b349..9ed5af09 100644 Binary files a/_module/ncs/nw_c2_bossspawn.ncs and b/_module/ncs/nw_c2_bossspawn.ncs differ diff --git a/_module/ncs/nw_c2_default1.ncs b/_module/ncs/nw_c2_default1.ncs index 0a80a4e8..f3a04780 100644 Binary files a/_module/ncs/nw_c2_default1.ncs and b/_module/ncs/nw_c2_default1.ncs differ diff --git a/_module/ncs/nw_c2_default2.ncs b/_module/ncs/nw_c2_default2.ncs index 06fcf879..a54128e4 100644 Binary files a/_module/ncs/nw_c2_default2.ncs and b/_module/ncs/nw_c2_default2.ncs differ diff --git a/_module/ncs/nw_c2_default3.ncs b/_module/ncs/nw_c2_default3.ncs index edda8524..30c94d39 100644 Binary files a/_module/ncs/nw_c2_default3.ncs and b/_module/ncs/nw_c2_default3.ncs differ diff --git a/_module/ncs/nw_c2_default4.ncs b/_module/ncs/nw_c2_default4.ncs index 243077da..a2de91f6 100644 Binary files a/_module/ncs/nw_c2_default4.ncs and b/_module/ncs/nw_c2_default4.ncs differ diff --git a/_module/ncs/nw_c2_default5.ncs b/_module/ncs/nw_c2_default5.ncs index 64d2e569..85befee7 100644 Binary files a/_module/ncs/nw_c2_default5.ncs and b/_module/ncs/nw_c2_default5.ncs differ diff --git a/_module/ncs/nw_c2_default6.ncs b/_module/ncs/nw_c2_default6.ncs index 63972439..1eebdf7d 100644 Binary files a/_module/ncs/nw_c2_default6.ncs and b/_module/ncs/nw_c2_default6.ncs differ diff --git a/_module/ncs/nw_c2_default8.ncs b/_module/ncs/nw_c2_default8.ncs index ea656edc..d2e3160f 100644 Binary files a/_module/ncs/nw_c2_default8.ncs and b/_module/ncs/nw_c2_default8.ncs differ diff --git a/_module/ncs/nw_c2_default9a.ncs b/_module/ncs/nw_c2_default9a.ncs index 863dd7de..1917aea9 100644 Binary files a/_module/ncs/nw_c2_default9a.ncs and b/_module/ncs/nw_c2_default9a.ncs differ diff --git a/_module/ncs/nw_c2_defaultb.ncs b/_module/ncs/nw_c2_defaultb.ncs index 4d70d6d8..0390d263 100644 Binary files a/_module/ncs/nw_c2_defaultb.ncs and b/_module/ncs/nw_c2_defaultb.ncs differ diff --git a/_module/ncs/nw_c2_defaulte.ncs b/_module/ncs/nw_c2_defaulte.ncs index 3f878130..1eb98734 100644 Binary files a/_module/ncs/nw_c2_defaulte.ncs and b/_module/ncs/nw_c2_defaulte.ncs differ diff --git a/_module/ncs/nw_c2_dropin9.ncs b/_module/ncs/nw_c2_dropin9.ncs index 450d1bc2..33ce64c7 100644 Binary files a/_module/ncs/nw_c2_dropin9.ncs and b/_module/ncs/nw_c2_dropin9.ncs differ diff --git a/_module/ncs/nw_ch_ac7.ncs b/_module/ncs/nw_ch_ac7.ncs index e11e93dc..e013c3ee 100644 Binary files a/_module/ncs/nw_ch_ac7.ncs and b/_module/ncs/nw_ch_ac7.ncs differ diff --git a/_module/ncs/nw_ch_fm_st_12.ncs b/_module/ncs/nw_ch_fm_st_12.ncs index 17d1b326..580d5164 100644 Binary files a/_module/ncs/nw_ch_fm_st_12.ncs and b/_module/ncs/nw_ch_fm_st_12.ncs differ diff --git a/_module/ncs/nw_d1_templeheal.ncs b/_module/ncs/nw_d1_templeheal.ncs index d0349d51..a1545367 100644 Binary files a/_module/ncs/nw_d1_templeheal.ncs and b/_module/ncs/nw_d1_templeheal.ncs differ diff --git a/_module/ncs/nw_o0_death.ncs b/_module/ncs/nw_o0_death.ncs index a7226ca5..25674b76 100644 Binary files a/_module/ncs/nw_o0_death.ncs and b/_module/ncs/nw_o0_death.ncs differ diff --git a/_module/ncs/nw_o0_respawn.ncs b/_module/ncs/nw_o0_respawn.ncs index f586d0b5..4673a77f 100644 Binary files a/_module/ncs/nw_o0_respawn.ncs and b/_module/ncs/nw_o0_respawn.ncs differ diff --git a/_module/ncs/nw_o2_boss.ncs b/_module/ncs/nw_o2_boss.ncs index 803e840c..c5835be1 100644 Binary files a/_module/ncs/nw_o2_boss.ncs and b/_module/ncs/nw_o2_boss.ncs differ diff --git a/_module/ncs/nw_o2_classweap.ncs b/_module/ncs/nw_o2_classweap.ncs index b27d20dc..f7d00fa6 100644 Binary files a/_module/ncs/nw_o2_classweap.ncs and b/_module/ncs/nw_o2_classweap.ncs differ diff --git a/_module/ncs/nw_o2_generalhig.ncs b/_module/ncs/nw_o2_generalhig.ncs index b9f4261f..610c84b5 100644 Binary files a/_module/ncs/nw_o2_generalhig.ncs and b/_module/ncs/nw_o2_generalhig.ncs differ diff --git a/_module/ncs/nw_o2_generallow.ncs b/_module/ncs/nw_o2_generallow.ncs index d8a3c97f..1c000d2b 100644 Binary files a/_module/ncs/nw_o2_generallow.ncs and b/_module/ncs/nw_o2_generallow.ncs differ diff --git a/_module/ncs/nw_o2_generalmed.ncs b/_module/ncs/nw_o2_generalmed.ncs index 817db137..f2b65e84 100644 Binary files a/_module/ncs/nw_o2_generalmed.ncs and b/_module/ncs/nw_o2_generalmed.ncs differ diff --git a/_module/ncs/nw_pl_lostitems.ncs b/_module/ncs/nw_pl_lostitems.ncs index 61a96fa3..2b213837 100644 Binary files a/_module/ncs/nw_pl_lostitems.ncs and b/_module/ncs/nw_pl_lostitems.ncs differ diff --git a/_module/ncs/nw_s0_res.ncs b/_module/ncs/nw_s0_res.ncs index 6436bcbe..5ed923ef 100644 Binary files a/_module/ncs/nw_s0_res.ncs and b/_module/ncs/nw_s0_res.ncs differ diff --git a/_module/ncs/obj_auto_respawn.ncs b/_module/ncs/obj_auto_respawn.ncs index 75d7ccd5..525f5f5f 100644 Binary files a/_module/ncs/obj_auto_respawn.ncs and b/_module/ncs/obj_auto_respawn.ncs differ diff --git a/_module/ncs/on_pubsub.ncs b/_module/ncs/on_pubsub.ncs index c4d6d084..68c830ea 100644 Binary files a/_module/ncs/on_pubsub.ncs and b/_module/ncs/on_pubsub.ncs differ diff --git a/_module/ncs/pat_ini.ncs b/_module/ncs/pat_ini.ncs index 696e73ac..0e92a9e1 100644 Binary files a/_module/ncs/pat_ini.ncs and b/_module/ncs/pat_ini.ncs differ diff --git a/_module/ncs/pat_ini_class.ncs b/_module/ncs/pat_ini_class.ncs index c10e8965..8eda152e 100644 Binary files a/_module/ncs/pat_ini_class.ncs and b/_module/ncs/pat_ini_class.ncs differ diff --git a/_module/ncs/pat_ini_skillset.ncs b/_module/ncs/pat_ini_skillset.ncs index b9ebc072..a205faf4 100644 Binary files a/_module/ncs/pat_ini_skillset.ncs and b/_module/ncs/pat_ini_skillset.ncs differ diff --git a/_module/ncs/pat_tst.ncs b/_module/ncs/pat_tst.ncs index 69231500..9611c7d9 100644 Binary files a/_module/ncs/pat_tst.ncs and b/_module/ncs/pat_tst.ncs differ diff --git a/_module/ncs/pc_onheart.ncs b/_module/ncs/pc_onheart.ncs index 3a46b957..2d3a4a7d 100644 Binary files a/_module/ncs/pc_onheart.ncs and b/_module/ncs/pc_onheart.ncs differ diff --git a/_module/ncs/pcnt_close.ncs b/_module/ncs/pcnt_close.ncs index 833d8bc2..c971debe 100644 Binary files a/_module/ncs/pcnt_close.ncs and b/_module/ncs/pcnt_close.ncs differ diff --git a/_module/ncs/pcnt_open.ncs b/_module/ncs/pcnt_open.ncs index cb20255e..4eb947c3 100644 Binary files a/_module/ncs/pcnt_open.ncs and b/_module/ncs/pcnt_open.ncs differ diff --git a/_module/ncs/pcteleimptrick.ncs b/_module/ncs/pcteleimptrick.ncs index 1e392854..f5ef9f80 100644 Binary files a/_module/ncs/pcteleimptrick.ncs and b/_module/ncs/pcteleimptrick.ncs differ diff --git a/_module/ncs/plc_archery_attk.ncs b/_module/ncs/plc_archery_attk.ncs index af903c62..3a94488f 100644 Binary files a/_module/ncs/plc_archery_attk.ncs and b/_module/ncs/plc_archery_attk.ncs differ diff --git a/_module/ncs/plc_detbarrdeath.ncs b/_module/ncs/plc_detbarrdeath.ncs index 5287261a..bbead544 100644 Binary files a/_module/ncs/plc_detbarrdeath.ncs and b/_module/ncs/plc_detbarrdeath.ncs differ diff --git a/_module/ncs/plc_dummy_ondmg.ncs b/_module/ncs/plc_dummy_ondmg.ncs index 0335fc17..86b91eb7 100644 Binary files a/_module/ncs/plc_dummy_ondmg.ncs and b/_module/ncs/plc_dummy_ondmg.ncs differ diff --git a/_module/ncs/plc_inf_ondistur.ncs b/_module/ncs/plc_inf_ondistur.ncs index 71e1825a..d620272a 100644 Binary files a/_module/ncs/plc_inf_ondistur.ncs and b/_module/ncs/plc_inf_ondistur.ncs differ diff --git a/_module/ncs/plc_link_onheart.ncs b/_module/ncs/plc_link_onheart.ncs index 15e0a7b4..2bd648e4 100644 Binary files a/_module/ncs/plc_link_onheart.ncs and b/_module/ncs/plc_link_onheart.ncs differ diff --git a/_module/ncs/plc_link_onused.ncs b/_module/ncs/plc_link_onused.ncs index b786ef44..55573218 100644 Binary files a/_module/ncs/plc_link_onused.ncs and b/_module/ncs/plc_link_onused.ncs differ diff --git a/_module/ncs/portaltocanges.ncs b/_module/ncs/portaltocanges.ncs index 742546ac..5edaec26 100644 Binary files a/_module/ncs/portaltocanges.ncs and b/_module/ncs/portaltocanges.ncs differ diff --git a/_module/ncs/prc_pw_raisedead.ncs b/_module/ncs/prc_pw_raisedead.ncs index d9f81d4c..f816bdc1 100644 Binary files a/_module/ncs/prc_pw_raisedead.ncs and b/_module/ncs/prc_pw_raisedead.ncs differ diff --git a/_module/ncs/prc_pw_res.ncs b/_module/ncs/prc_pw_res.ncs index 71f818fc..9266e178 100644 Binary files a/_module/ncs/prc_pw_res.ncs and b/_module/ncs/prc_pw_res.ncs differ diff --git a/_module/ncs/prc_pwondeath.ncs b/_module/ncs/prc_pwondeath.ncs index f69b58cd..2b306818 100644 Binary files a/_module/ncs/prc_pwondeath.ncs and b/_module/ncs/prc_pwondeath.ncs differ diff --git a/_module/ncs/prc_pwronspawn.ncs b/_module/ncs/prc_pwronspawn.ncs index 8da9d4f8..8449781c 100644 Binary files a/_module/ncs/prc_pwronspawn.ncs and b/_module/ncs/prc_pwronspawn.ncs differ diff --git a/_module/ncs/pri_barmaid_spwn.ncs b/_module/ncs/pri_barmaid_spwn.ncs index a506e485..6fdd4987 100644 Binary files a/_module/ncs/pri_barmaid_spwn.ncs and b/_module/ncs/pri_barmaid_spwn.ncs differ diff --git a/_module/ncs/pri_trashcan.ncs b/_module/ncs/pri_trashcan.ncs index 15b86b1e..6232b920 100644 Binary files a/_module/ncs/pri_trashcan.ncs and b/_module/ncs/pri_trashcan.ncs differ diff --git a/_module/ncs/psc_chest_distur.ncs b/_module/ncs/psc_chest_distur.ncs index 3864d363..be0b8e7d 100644 Binary files a/_module/ncs/psc_chest_distur.ncs and b/_module/ncs/psc_chest_distur.ncs differ diff --git a/_module/ncs/psc_chest_open.ncs b/_module/ncs/psc_chest_open.ncs index 836f166a..3d58f296 100644 Binary files a/_module/ncs/psc_chest_open.ncs and b/_module/ncs/psc_chest_open.ncs differ diff --git a/_module/ncs/psc_pvt_clenter.ncs b/_module/ncs/psc_pvt_clenter.ncs index 97b52a72..e0cf1360 100644 Binary files a/_module/ncs/psc_pvt_clenter.ncs and b/_module/ncs/psc_pvt_clenter.ncs differ diff --git a/_module/ncs/psc_pvt_disturb.ncs b/_module/ncs/psc_pvt_disturb.ncs index 91a81b7b..b2275f11 100644 Binary files a/_module/ncs/psc_pvt_disturb.ncs and b/_module/ncs/psc_pvt_disturb.ncs differ diff --git a/_module/ncs/psc_pvt_open.ncs b/_module/ncs/psc_pvt_open.ncs index 0ff7e44a..cababc27 100644 Binary files a/_module/ncs/psc_pvt_open.ncs and b/_module/ncs/psc_pvt_open.ncs differ diff --git a/_module/ncs/ranzisnotfree.ncs b/_module/ncs/ranzisnotfree.ncs index 2c713f44..1d6c7e13 100644 Binary files a/_module/ncs/ranzisnotfree.ncs and b/_module/ncs/ranzisnotfree.ncs differ diff --git a/_module/ncs/server_restart.ncs b/_module/ncs/server_restart.ncs index 01ef0281..de92c853 100644 Binary files a/_module/ncs/server_restart.ncs and b/_module/ncs/server_restart.ncs differ diff --git a/_module/ncs/sit2.ncs b/_module/ncs/sit2.ncs index daffe6f0..9127036d 100644 Binary files a/_module/ncs/sit2.ncs and b/_module/ncs/sit2.ncs differ diff --git a/_module/ncs/socket_ini.ncs b/_module/ncs/socket_ini.ncs index c506cea3..dd235d59 100644 Binary files a/_module/ncs/socket_ini.ncs and b/_module/ncs/socket_ini.ncs differ diff --git a/_module/ncs/spell_hook.ncs b/_module/ncs/spell_hook.ncs index bc3c40ed..e9b69e3f 100644 Binary files a/_module/ncs/spell_hook.ncs and b/_module/ncs/spell_hook.ncs differ diff --git a/_module/ncs/spell_missile.ncs b/_module/ncs/spell_missile.ncs index 8d353fed..c81fb3c2 100644 Binary files a/_module/ncs/spell_missile.ncs and b/_module/ncs/spell_missile.ncs differ diff --git a/_module/ncs/spell_weapon.ncs b/_module/ncs/spell_weapon.ncs index 387ab12f..5e652f33 100644 Binary files a/_module/ncs/spell_weapon.ncs and b/_module/ncs/spell_weapon.ncs differ diff --git a/_module/ncs/sql_update_pc.ncs b/_module/ncs/sql_update_pc.ncs index bf6cd8bb..88800a98 100644 Binary files a/_module/ncs/sql_update_pc.ncs and b/_module/ncs/sql_update_pc.ncs differ diff --git a/_module/ncs/store_cleaven.ncs b/_module/ncs/store_cleaven.ncs index b45feefb..71710815 100644 Binary files a/_module/ncs/store_cleaven.ncs and b/_module/ncs/store_cleaven.ncs differ diff --git a/_module/ncs/store_hrtbeat.ncs b/_module/ncs/store_hrtbeat.ncs index 8f661e16..40b045c7 100644 Binary files a/_module/ncs/store_hrtbeat.ncs and b/_module/ncs/store_hrtbeat.ncs differ diff --git a/_module/ncs/store_ini.ncs b/_module/ncs/store_ini.ncs index 1498660a..6d123bd8 100644 Binary files a/_module/ncs/store_ini.ncs and b/_module/ncs/store_ini.ncs differ diff --git a/_module/ncs/store_open.ncs b/_module/ncs/store_open.ncs index e635356a..23a5e610 100644 Binary files a/_module/ncs/store_open.ncs and b/_module/ncs/store_open.ncs differ diff --git a/_module/ncs/summ_heartbeat.ncs b/_module/ncs/summ_heartbeat.ncs index e258c2c7..81fed39b 100644 Binary files a/_module/ncs/summ_heartbeat.ncs and b/_module/ncs/summ_heartbeat.ncs differ diff --git a/_module/ncs/sundial.ncs b/_module/ncs/sundial.ncs index a58339eb..60b2a0a5 100644 Binary files a/_module/ncs/sundial.ncs and b/_module/ncs/sundial.ncs differ diff --git a/_module/ncs/terrain_enter.ncs b/_module/ncs/terrain_enter.ncs index a8c5c742..56357273 100644 Binary files a/_module/ncs/terrain_enter.ncs and b/_module/ncs/terrain_enter.ncs differ diff --git a/_module/ncs/terrain_exit.ncs b/_module/ncs/terrain_exit.ncs index 913d02ee..1c162748 100644 Binary files a/_module/ncs/terrain_exit.ncs and b/_module/ncs/terrain_exit.ncs differ diff --git a/_module/ncs/thi_twosit.ncs b/_module/ncs/thi_twosit.ncs index 3e396176..432ff0db 100644 Binary files a/_module/ncs/thi_twosit.ncs and b/_module/ncs/thi_twosit.ncs differ diff --git a/_module/ncs/tochangesportal.ncs b/_module/ncs/tochangesportal.ncs index 7e6efb53..4a3ba98b 100644 Binary files a/_module/ncs/tochangesportal.ncs and b/_module/ncs/tochangesportal.ncs differ diff --git a/_module/ncs/trap_disarm.ncs b/_module/ncs/trap_disarm.ncs index ea077fbc..f0556e12 100644 Binary files a/_module/ncs/trap_disarm.ncs and b/_module/ncs/trap_disarm.ncs differ diff --git a/_module/ncs/trap_fire.ncs b/_module/ncs/trap_fire.ncs index 3af47385..32af3f18 100644 Binary files a/_module/ncs/trap_fire.ncs and b/_module/ncs/trap_fire.ncs differ diff --git a/_module/ncs/trap_on_acquire.ncs b/_module/ncs/trap_on_acquire.ncs index 7ecdea03..7dc9977b 100644 Binary files a/_module/ncs/trap_on_acquire.ncs and b/_module/ncs/trap_on_acquire.ncs differ diff --git a/_module/ncs/trap_on_load.ncs b/_module/ncs/trap_on_load.ncs index 6ed8dad8..c4e629c2 100644 Binary files a/_module/ncs/trap_on_load.ncs and b/_module/ncs/trap_on_load.ncs differ diff --git a/_module/ncs/trap_reset.ncs b/_module/ncs/trap_reset.ncs index 857d7bf8..d3bacb89 100644 Binary files a/_module/ncs/trap_reset.ncs and b/_module/ncs/trap_reset.ncs differ diff --git a/_module/ncs/ud_gob_keg.ncs b/_module/ncs/ud_gob_keg.ncs index f888f736..4c241959 100644 Binary files a/_module/ncs/ud_gob_keg.ncs and b/_module/ncs/ud_gob_keg.ncs differ diff --git a/_module/ncs/umdcheckonscroll.ncs b/_module/ncs/umdcheckonscroll.ncs index a991f7b8..fa321fd5 100644 Binary files a/_module/ncs/umdcheckonscroll.ncs and b/_module/ncs/umdcheckonscroll.ncs differ diff --git a/_module/ncs/wa_add_effect.ncs b/_module/ncs/wa_add_effect.ncs index 6097482e..a6e00f4b 100644 Binary files a/_module/ncs/wa_add_effect.ncs and b/_module/ncs/wa_add_effect.ncs differ diff --git a/_module/ncs/wa_apply_effects.ncs b/_module/ncs/wa_apply_effects.ncs index 595261ed..ad0baa86 100644 Binary files a/_module/ncs/wa_apply_effects.ncs and b/_module/ncs/wa_apply_effects.ncs differ diff --git a/_module/ncs/wa_escape.ncs b/_module/ncs/wa_escape.ncs index 69ca0353..3975c1e7 100644 Binary files a/_module/ncs/wa_escape.ncs and b/_module/ncs/wa_escape.ncs differ diff --git a/_module/ncs/wa_god_spawn.ncs b/_module/ncs/wa_god_spawn.ncs index 4e2d3afb..52dc2d3f 100644 Binary files a/_module/ncs/wa_god_spawn.ncs and b/_module/ncs/wa_god_spawn.ncs differ diff --git a/_module/ncs/wa_guard.ncs b/_module/ncs/wa_guard.ncs index 213ec0e5..e9c853da 100644 Binary files a/_module/ncs/wa_guard.ncs and b/_module/ncs/wa_guard.ncs differ diff --git a/_module/ncs/wa_narbondel.ncs b/_module/ncs/wa_narbondel.ncs index ccd36937..f4d622bd 100644 Binary files a/_module/ncs/wa_narbondel.ncs and b/_module/ncs/wa_narbondel.ncs differ diff --git a/_module/ncs/wa_nullmagicoff.ncs b/_module/ncs/wa_nullmagicoff.ncs index 81816af3..f3f027a7 100644 Binary files a/_module/ncs/wa_nullmagicoff.ncs and b/_module/ncs/wa_nullmagicoff.ncs differ diff --git a/_module/ncs/wa_nullmagicon.ncs b/_module/ncs/wa_nullmagicon.ncs index bb068e4b..78c328af 100644 Binary files a/_module/ncs/wa_nullmagicon.ncs and b/_module/ncs/wa_nullmagicon.ncs differ diff --git a/_module/ncs/wa_onperc_1.ncs b/_module/ncs/wa_onperc_1.ncs index 4da34088..ccc3843f 100644 Binary files a/_module/ncs/wa_onperc_1.ncs and b/_module/ncs/wa_onperc_1.ncs differ diff --git a/_module/ncs/wa_roguebard.ncs b/_module/ncs/wa_roguebard.ncs index a076ec48..cfbf02b6 100644 Binary files a/_module/ncs/wa_roguebard.ncs and b/_module/ncs/wa_roguebard.ncs differ diff --git a/_module/ncs/wa_stripall.ncs b/_module/ncs/wa_stripall.ncs index b9518786..62c2a806 100644 Binary files a/_module/ncs/wa_stripall.ncs and b/_module/ncs/wa_stripall.ncs differ diff --git a/_module/ncs/wa_summongong.ncs b/_module/ncs/wa_summongong.ncs index 745a8829..f32750ca 100644 Binary files a/_module/ncs/wa_summongong.ncs and b/_module/ncs/wa_summongong.ncs differ diff --git a/_module/ncs/wa_tileset_enter.ncs b/_module/ncs/wa_tileset_enter.ncs index f120df8a..df980a69 100644 Binary files a/_module/ncs/wa_tileset_enter.ncs and b/_module/ncs/wa_tileset_enter.ncs differ diff --git a/_module/ncs/x3_dm_tool01.ncs b/_module/ncs/x3_dm_tool01.ncs index 349bc5a2..caed39ab 100644 Binary files a/_module/ncs/x3_dm_tool01.ncs and b/_module/ncs/x3_dm_tool01.ncs differ diff --git a/_module/ncs/x3_dm_tool02.ncs b/_module/ncs/x3_dm_tool02.ncs index 2b9a85a7..4d1e8d12 100644 Binary files a/_module/ncs/x3_dm_tool02.ncs and b/_module/ncs/x3_dm_tool02.ncs differ diff --git a/_module/ncs/x3_dm_tool08.ncs b/_module/ncs/x3_dm_tool08.ncs index aa32517e..2caf7764 100644 Binary files a/_module/ncs/x3_dm_tool08.ncs and b/_module/ncs/x3_dm_tool08.ncs differ diff --git a/_module/ncs/x3_dm_tool09.ncs b/_module/ncs/x3_dm_tool09.ncs index 27951227..aaec4954 100644 Binary files a/_module/ncs/x3_dm_tool09.ncs and b/_module/ncs/x3_dm_tool09.ncs differ diff --git a/_module/ncs/x3_dm_tool10.ncs b/_module/ncs/x3_dm_tool10.ncs index 7480fdb4..9f51145e 100644 Binary files a/_module/ncs/x3_dm_tool10.ncs and b/_module/ncs/x3_dm_tool10.ncs differ diff --git a/_module/ncs/x3_pl_tool08.ncs b/_module/ncs/x3_pl_tool08.ncs index 477f1d89..cd7ac83e 100644 Binary files a/_module/ncs/x3_pl_tool08.ncs and b/_module/ncs/x3_pl_tool08.ncs differ diff --git a/_module/ncs/x3_pl_tool09.ncs b/_module/ncs/x3_pl_tool09.ncs index 41298b5e..27a5e629 100644 Binary files a/_module/ncs/x3_pl_tool09.ncs and b/_module/ncs/x3_pl_tool09.ncs differ diff --git a/_module/ncs/x3_pl_tool10.ncs b/_module/ncs/x3_pl_tool10.ncs index 6276022c..2c3989e9 100644 Binary files a/_module/ncs/x3_pl_tool10.ncs and b/_module/ncs/x3_pl_tool10.ncs differ diff --git a/_module/ncs/xevent_dmspawn_b.ncs b/_module/ncs/xevent_dmspawn_b.ncs index b2f2dffc..4dbe2d53 100644 Binary files a/_module/ncs/xevent_dmspawn_b.ncs and b/_module/ncs/xevent_dmspawn_b.ncs differ diff --git a/_module/ncs/xevent_examine_a.ncs b/_module/ncs/xevent_examine_a.ncs index 56589000..c432b213 100644 Binary files a/_module/ncs/xevent_examine_a.ncs and b/_module/ncs/xevent_examine_a.ncs differ diff --git a/_module/ncs/xevent_examine_b.ncs b/_module/ncs/xevent_examine_b.ncs index 404abd9c..48455004 100644 Binary files a/_module/ncs/xevent_examine_b.ncs and b/_module/ncs/xevent_examine_b.ncs differ diff --git a/_module/ncs/xevent_joinparty.ncs b/_module/ncs/xevent_joinparty.ncs index 6e0b1693..1ab81044 100644 Binary files a/_module/ncs/xevent_joinparty.ncs and b/_module/ncs/xevent_joinparty.ncs differ diff --git a/_module/ncs/xevent_stealth.ncs b/_module/ncs/xevent_stealth.ncs index 4a822686..e431710c 100644 Binary files a/_module/ncs/xevent_stealth.ncs and b/_module/ncs/xevent_stealth.ncs differ diff --git a/_module/ncs/xp_reload.ncs b/_module/ncs/xp_reload.ncs index 6ac4ca84..1ee75569 100644 Binary files a/_module/ncs/xp_reload.ncs and b/_module/ncs/xp_reload.ncs differ diff --git a/_module/ncs/zep_c2_barghest.ncs b/_module/ncs/zep_c2_barghest.ncs index df3db562..a56e12f1 100644 Binary files a/_module/ncs/zep_c2_barghest.ncs and b/_module/ncs/zep_c2_barghest.ncs differ diff --git a/_module/ncs/zep_c2_barghestg.ncs b/_module/ncs/zep_c2_barghestg.ncs index 5a5f80ea..7d60236e 100644 Binary files a/_module/ncs/zep_c2_barghestg.ncs and b/_module/ncs/zep_c2_barghestg.ncs differ diff --git a/_module/ncs/zep_c2_lycan_9.ncs b/_module/ncs/zep_c2_lycan_9.ncs index f6174860..55ba20fe 100644 Binary files a/_module/ncs/zep_c2_lycan_9.ncs and b/_module/ncs/zep_c2_lycan_9.ncs differ diff --git a/_module/ncs/zep_cr_canca.ncs b/_module/ncs/zep_cr_canca.ncs index ee206380..65a63aa2 100644 Binary files a/_module/ncs/zep_cr_canca.ncs and b/_module/ncs/zep_cr_canca.ncs differ diff --git a/_module/ncs/zep_cr_canca_n.ncs b/_module/ncs/zep_cr_canca_n.ncs index eadd9699..0fd8f463 100644 Binary files a/_module/ncs/zep_cr_canca_n.ncs and b/_module/ncs/zep_cr_canca_n.ncs differ diff --git a/_module/ncs/zep_cr_canch.ncs b/_module/ncs/zep_cr_canch.ncs index b010562e..e70d7c6d 100644 Binary files a/_module/ncs/zep_cr_canch.ncs and b/_module/ncs/zep_cr_canch.ncs differ diff --git a/_module/ncs/zep_cr_cancs.ncs b/_module/ncs/zep_cr_cancs.ncs index 830a0508..62fb0fd8 100644 Binary files a/_module/ncs/zep_cr_cancs.ncs and b/_module/ncs/zep_cr_cancs.ncs differ diff --git a/_module/ncs/zep_cr_cancw.ncs b/_module/ncs/zep_cr_cancw.ncs index a0b97d9c..d767af86 100644 Binary files a/_module/ncs/zep_cr_cancw.ncs and b/_module/ncs/zep_cr_cancw.ncs differ diff --git a/_module/ncs/zep_cr_cancw_n.ncs b/_module/ncs/zep_cr_cancw_n.ncs index c0df6f51..19f2b6fb 100644 Binary files a/_module/ncs/zep_cr_cancw_n.ncs and b/_module/ncs/zep_cr_cancw_n.ncs differ diff --git a/_module/ncs/zep_cr_dobelt.ncs b/_module/ncs/zep_cr_dobelt.ncs index bf8b4389..ed27c50e 100644 Binary files a/_module/ncs/zep_cr_dobelt.ncs and b/_module/ncs/zep_cr_dobelt.ncs differ diff --git a/_module/ncs/zep_cr_dobicep_l.ncs b/_module/ncs/zep_cr_dobicep_l.ncs index 94e7d315..bcf54352 100644 Binary files a/_module/ncs/zep_cr_dobicep_l.ncs and b/_module/ncs/zep_cr_dobicep_l.ncs differ diff --git a/_module/ncs/zep_cr_dobicep_r.ncs b/_module/ncs/zep_cr_dobicep_r.ncs index 89799ff2..f17b073e 100644 Binary files a/_module/ncs/zep_cr_dobicep_r.ncs and b/_module/ncs/zep_cr_dobicep_r.ncs differ diff --git a/_module/ncs/zep_cr_doccloth1.ncs b/_module/ncs/zep_cr_doccloth1.ncs index bf48ea3b..b2b89535 100644 Binary files a/_module/ncs/zep_cr_doccloth1.ncs and b/_module/ncs/zep_cr_doccloth1.ncs differ diff --git a/_module/ncs/zep_cr_doccloth2.ncs b/_module/ncs/zep_cr_doccloth2.ncs index 3c1751e7..1676aae3 100644 Binary files a/_module/ncs/zep_cr_doccloth2.ncs and b/_module/ncs/zep_cr_doccloth2.ncs differ diff --git a/_module/ncs/zep_cr_docleath1.ncs b/_module/ncs/zep_cr_docleath1.ncs index a36eb5e0..91c28f3c 100644 Binary files a/_module/ncs/zep_cr_docleath1.ncs and b/_module/ncs/zep_cr_docleath1.ncs differ diff --git a/_module/ncs/zep_cr_docleath2.ncs b/_module/ncs/zep_cr_docleath2.ncs index 42bf189c..8de65da4 100644 Binary files a/_module/ncs/zep_cr_docleath2.ncs and b/_module/ncs/zep_cr_docleath2.ncs differ diff --git a/_module/ncs/zep_cr_docmetal1.ncs b/_module/ncs/zep_cr_docmetal1.ncs index c9f97607..d34d0646 100644 Binary files a/_module/ncs/zep_cr_docmetal1.ncs and b/_module/ncs/zep_cr_docmetal1.ncs differ diff --git a/_module/ncs/zep_cr_docmetal2.ncs b/_module/ncs/zep_cr_docmetal2.ncs index d6e90152..e951c35a 100644 Binary files a/_module/ncs/zep_cr_docmetal2.ncs and b/_module/ncs/zep_cr_docmetal2.ncs differ diff --git a/_module/ncs/zep_cr_dofoot_l.ncs b/_module/ncs/zep_cr_dofoot_l.ncs index 7fcfaad1..90d03f6b 100644 Binary files a/_module/ncs/zep_cr_dofoot_l.ncs and b/_module/ncs/zep_cr_dofoot_l.ncs differ diff --git a/_module/ncs/zep_cr_dofoot_r.ncs b/_module/ncs/zep_cr_dofoot_r.ncs index 20c52e91..14f87c11 100644 Binary files a/_module/ncs/zep_cr_dofoot_r.ncs and b/_module/ncs/zep_cr_dofoot_r.ncs differ diff --git a/_module/ncs/zep_cr_dohand_l.ncs b/_module/ncs/zep_cr_dohand_l.ncs index 650d09e4..2b7e6af3 100644 Binary files a/_module/ncs/zep_cr_dohand_l.ncs and b/_module/ncs/zep_cr_dohand_l.ncs differ diff --git a/_module/ncs/zep_cr_dohand_r.ncs b/_module/ncs/zep_cr_dohand_r.ncs index cf93c02a..47259769 100644 Binary files a/_module/ncs/zep_cr_dohand_r.ncs and b/_module/ncs/zep_cr_dohand_r.ncs differ diff --git a/_module/ncs/zep_cr_doloarm_l.ncs b/_module/ncs/zep_cr_doloarm_l.ncs index d6aec357..4bdbf47d 100644 Binary files a/_module/ncs/zep_cr_doloarm_l.ncs and b/_module/ncs/zep_cr_doloarm_l.ncs differ diff --git a/_module/ncs/zep_cr_doloarm_r.ncs b/_module/ncs/zep_cr_doloarm_r.ncs index b258108f..2628b68c 100644 Binary files a/_module/ncs/zep_cr_doloarm_r.ncs and b/_module/ncs/zep_cr_doloarm_r.ncs differ diff --git a/_module/ncs/zep_cr_doneck.ncs b/_module/ncs/zep_cr_doneck.ncs index 3877bfa6..23075ac3 100644 Binary files a/_module/ncs/zep_cr_doneck.ncs and b/_module/ncs/zep_cr_doneck.ncs differ diff --git a/_module/ncs/zep_cr_dopelvis.ncs b/_module/ncs/zep_cr_dopelvis.ncs index 80c28e6b..85395d56 100644 Binary files a/_module/ncs/zep_cr_dopelvis.ncs and b/_module/ncs/zep_cr_dopelvis.ncs differ diff --git a/_module/ncs/zep_cr_dorobe.ncs b/_module/ncs/zep_cr_dorobe.ncs index dcc5d411..30600248 100644 Binary files a/_module/ncs/zep_cr_dorobe.ncs and b/_module/ncs/zep_cr_dorobe.ncs differ diff --git a/_module/ncs/zep_cr_doshin_l.ncs b/_module/ncs/zep_cr_doshin_l.ncs index 639e2544..27098e5c 100644 Binary files a/_module/ncs/zep_cr_doshin_l.ncs and b/_module/ncs/zep_cr_doshin_l.ncs differ diff --git a/_module/ncs/zep_cr_doshin_r.ncs b/_module/ncs/zep_cr_doshin_r.ncs index 76c1ddd8..3ecf0ec5 100644 Binary files a/_module/ncs/zep_cr_doshin_r.ncs and b/_module/ncs/zep_cr_doshin_r.ncs differ diff --git a/_module/ncs/zep_cr_doshold_l.ncs b/_module/ncs/zep_cr_doshold_l.ncs index 47df76bf..58cc8f79 100644 Binary files a/_module/ncs/zep_cr_doshold_l.ncs and b/_module/ncs/zep_cr_doshold_l.ncs differ diff --git a/_module/ncs/zep_cr_doshold_r.ncs b/_module/ncs/zep_cr_doshold_r.ncs index 7f184921..3fd7d473 100644 Binary files a/_module/ncs/zep_cr_doshold_r.ncs and b/_module/ncs/zep_cr_doshold_r.ncs differ diff --git a/_module/ncs/zep_cr_dothigh_l.ncs b/_module/ncs/zep_cr_dothigh_l.ncs index 46706f1e..5a43eb92 100644 Binary files a/_module/ncs/zep_cr_dothigh_l.ncs and b/_module/ncs/zep_cr_dothigh_l.ncs differ diff --git a/_module/ncs/zep_cr_dothigh_r.ncs b/_module/ncs/zep_cr_dothigh_r.ncs index 96795fa2..bd4407e5 100644 Binary files a/_module/ncs/zep_cr_dothigh_r.ncs and b/_module/ncs/zep_cr_dothigh_r.ncs differ diff --git a/_module/ncs/zep_cr_dotorso.ncs b/_module/ncs/zep_cr_dotorso.ncs index 61cc8306..abe54e57 100644 Binary files a/_module/ncs/zep_cr_dotorso.ncs and b/_module/ncs/zep_cr_dotorso.ncs differ diff --git a/_module/ncs/zep_cr_dowbottom.ncs b/_module/ncs/zep_cr_dowbottom.ncs index 6e4a9aa0..4e691ab9 100644 Binary files a/_module/ncs/zep_cr_dowbottom.ncs and b/_module/ncs/zep_cr_dowbottom.ncs differ diff --git a/_module/ncs/zep_cr_dowmiddle.ncs b/_module/ncs/zep_cr_dowmiddle.ncs index bc002885..5e53c5d8 100644 Binary files a/_module/ncs/zep_cr_dowmiddle.ncs and b/_module/ncs/zep_cr_dowmiddle.ncs differ diff --git a/_module/ncs/zep_cr_dowtop.ncs b/_module/ncs/zep_cr_dowtop.ncs index 4f4d560a..b3ba031e 100644 Binary files a/_module/ncs/zep_cr_dowtop.ncs and b/_module/ncs/zep_cr_dowtop.ncs differ diff --git a/_module/ncs/zep_cr_nocheat.ncs b/_module/ncs/zep_cr_nocheat.ncs index 5035a36b..43a9a79e 100644 Binary files a/_module/ncs/zep_cr_nocheat.ncs and b/_module/ncs/zep_cr_nocheat.ncs differ diff --git a/_module/ncs/zep_cr_start_ch.ncs b/_module/ncs/zep_cr_start_ch.ncs index 46cc90ba..bf349d5a 100644 Binary files a/_module/ncs/zep_cr_start_ch.ncs and b/_module/ncs/zep_cr_start_ch.ncs differ diff --git a/_module/ncs/zep_cr_start_cs.ncs b/_module/ncs/zep_cr_start_cs.ncs index 30e12e53..2afab44b 100644 Binary files a/_module/ncs/zep_cr_start_cs.ncs and b/_module/ncs/zep_cr_start_cs.ncs differ diff --git a/_module/ncs/zep_cr_stop_abrt.ncs b/_module/ncs/zep_cr_stop_abrt.ncs index 78712ea4..0e51b02a 100644 Binary files a/_module/ncs/zep_cr_stop_abrt.ncs and b/_module/ncs/zep_cr_stop_abrt.ncs differ diff --git a/_module/ncs/zep_cr_stop_make.ncs b/_module/ncs/zep_cr_stop_make.ncs index e689c98e..828ffa25 100644 Binary files a/_module/ncs/zep_cr_stop_make.ncs and b/_module/ncs/zep_cr_stop_make.ncs differ diff --git a/_module/ncs/zep_demi_bone_hb.ncs b/_module/ncs/zep_demi_bone_hb.ncs index 2e9b0c16..8bf1be6a 100644 Binary files a/_module/ncs/zep_demi_bone_hb.ncs and b/_module/ncs/zep_demi_bone_hb.ncs differ diff --git a/_module/ncs/zep_demi_bone_us.ncs b/_module/ncs/zep_demi_bone_us.ncs index 8237be25..803df2c6 100644 Binary files a/_module/ncs/zep_demi_bone_us.ncs and b/_module/ncs/zep_demi_bone_us.ncs differ diff --git a/_module/ncs/zep_demi_dest.ncs b/_module/ncs/zep_demi_dest.ncs index b5740b6b..dcf90bc4 100644 Binary files a/_module/ncs/zep_demi_dest.ncs and b/_module/ncs/zep_demi_dest.ncs differ diff --git a/_module/ncs/zep_demi_ondeath.ncs b/_module/ncs/zep_demi_ondeath.ncs index 70a9f9ec..52cf9b0f 100644 Binary files a/_module/ncs/zep_demi_ondeath.ncs and b/_module/ncs/zep_demi_ondeath.ncs differ diff --git a/_module/ncs/zep_demi_onspawn.ncs b/_module/ncs/zep_demi_onspawn.ncs index 365b381c..816cdbd7 100644 Binary files a/_module/ncs/zep_demi_onspawn.ncs and b/_module/ncs/zep_demi_onspawn.ncs differ diff --git a/_module/ncs/zep_demi_onspell.ncs b/_module/ncs/zep_demi_onspell.ncs index 674ed065..d78dd2ab 100644 Binary files a/_module/ncs/zep_demi_onspell.ncs and b/_module/ncs/zep_demi_onspell.ncs differ diff --git a/_module/ncs/zep_demi_userde.ncs b/_module/ncs/zep_demi_userde.ncs index 0d12ae4f..56075ef5 100644 Binary files a/_module/ncs/zep_demi_userde.ncs and b/_module/ncs/zep_demi_userde.ncs differ diff --git a/_module/ncs/zep_demi_userdef.ncs b/_module/ncs/zep_demi_userdef.ncs index d8a2543c..0bc7c1bb 100644 Binary files a/_module/ncs/zep_demi_userdef.ncs and b/_module/ncs/zep_demi_userdef.ncs differ diff --git a/_module/ncs/zep_doorkill.ncs b/_module/ncs/zep_doorkill.ncs index ecf378a7..9fb0835a 100644 Binary files a/_module/ncs/zep_doorkill.ncs and b/_module/ncs/zep_doorkill.ncs differ diff --git a/_module/ncs/zep_doorspawn.ncs b/_module/ncs/zep_doorspawn.ncs index 8662d9f2..cc65e72b 100644 Binary files a/_module/ncs/zep_doorspawn.ncs and b/_module/ncs/zep_doorspawn.ncs differ diff --git a/_module/ncs/zep_drider_onus.ncs b/_module/ncs/zep_drider_onus.ncs index ad4424c9..759179b8 100644 Binary files a/_module/ncs/zep_drider_onus.ncs and b/_module/ncs/zep_drider_onus.ncs differ diff --git a/_module/ncs/zep_drider_spawn.ncs b/_module/ncs/zep_drider_spawn.ncs index 642eec04..695d8a0c 100644 Binary files a/_module/ncs/zep_drider_spawn.ncs and b/_module/ncs/zep_drider_spawn.ncs differ diff --git a/_module/ncs/zep_gob_worg_spw.ncs b/_module/ncs/zep_gob_worg_spw.ncs index d05106ba..f25e72b1 100644 Binary files a/_module/ncs/zep_gob_worg_spw.ncs and b/_module/ncs/zep_gob_worg_spw.ncs differ diff --git a/_module/ncs/zep_gobrider_die.ncs b/_module/ncs/zep_gobrider_die.ncs index d650c9b5..92a2e5f3 100644 Binary files a/_module/ncs/zep_gobrider_die.ncs and b/_module/ncs/zep_gobrider_die.ncs differ diff --git a/_module/ncs/zep_la_c2_thorny.ncs b/_module/ncs/zep_la_c2_thorny.ncs index 7a5d310c..c8dad3b2 100644 Binary files a/_module/ncs/zep_la_c2_thorny.ncs and b/_module/ncs/zep_la_c2_thorny.ncs differ diff --git a/_module/ncs/zep_la_c2_vegpyg.ncs b/_module/ncs/zep_la_c2_vegpyg.ncs index 7a5d310c..c8dad3b2 100644 Binary files a/_module/ncs/zep_la_c2_vegpyg.ncs and b/_module/ncs/zep_la_c2_vegpyg.ncs differ diff --git a/_module/ncs/zep_marilith_end.ncs b/_module/ncs/zep_marilith_end.ncs index 8e6eeec8..e336d9c2 100644 Binary files a/_module/ncs/zep_marilith_end.ncs and b/_module/ncs/zep_marilith_end.ncs differ diff --git a/_module/ncs/zep_ocre_mantico.ncs b/_module/ncs/zep_ocre_mantico.ncs index b2f98929..782ff2f2 100644 Binary files a/_module/ncs/zep_ocre_mantico.ncs and b/_module/ncs/zep_ocre_mantico.ncs differ diff --git a/_module/ncs/zep_onatk_hama.ncs b/_module/ncs/zep_onatk_hama.ncs index f2161c9f..229c57d2 100644 Binary files a/_module/ncs/zep_onatk_hama.ncs and b/_module/ncs/zep_onatk_hama.ncs differ diff --git a/_module/ncs/zep_onequip.ncs b/_module/ncs/zep_onequip.ncs index 502658f0..3f3ff035 100644 Binary files a/_module/ncs/zep_onequip.ncs and b/_module/ncs/zep_onequip.ncs differ diff --git a/_module/ncs/zep_onoff.ncs b/_module/ncs/zep_onoff.ncs index f364527a..5af971ac 100644 Binary files a/_module/ncs/zep_onoff.ncs and b/_module/ncs/zep_onoff.ncs differ diff --git a/_module/ncs/zep_onoff11.ncs b/_module/ncs/zep_onoff11.ncs index d5d5c67b..531b22bf 100644 Binary files a/_module/ncs/zep_onoff11.ncs and b/_module/ncs/zep_onoff11.ncs differ diff --git a/_module/ncs/zep_onoff12.ncs b/_module/ncs/zep_onoff12.ncs index 21dbbd3c..a3f4a399 100644 Binary files a/_module/ncs/zep_onoff12.ncs and b/_module/ncs/zep_onoff12.ncs differ diff --git a/_module/ncs/zep_openclose.ncs b/_module/ncs/zep_openclose.ncs index 23d50159..c26a96fb 100644 Binary files a/_module/ncs/zep_openclose.ncs and b/_module/ncs/zep_openclose.ncs differ diff --git a/_module/ncs/zep_oper_mantic.ncs b/_module/ncs/zep_oper_mantic.ncs index 60cef689..0ba7086e 100644 Binary files a/_module/ncs/zep_oper_mantic.ncs and b/_module/ncs/zep_oper_mantic.ncs differ diff --git a/_module/ncs/zep_patchnoaatt.ncs b/_module/ncs/zep_patchnoaatt.ncs index 6eab93ca..1d44025d 100644 Binary files a/_module/ncs/zep_patchnoaatt.ncs and b/_module/ncs/zep_patchnoaatt.ncs differ diff --git a/_module/ncs/zep_pc_has_holyw.ncs b/_module/ncs/zep_pc_has_holyw.ncs index 17d168fb..dc694785 100644 Binary files a/_module/ncs/zep_pc_has_holyw.ncs and b/_module/ncs/zep_pc_has_holyw.ncs differ diff --git a/_module/ncs/zep_restded_deth.ncs b/_module/ncs/zep_restded_deth.ncs index f0b57e62..5e86c605 100644 Binary files a/_module/ncs/zep_restded_deth.ncs and b/_module/ncs/zep_restded_deth.ncs differ diff --git a/_module/ncs/zep_restded_resp.ncs b/_module/ncs/zep_restded_resp.ncs index 5e11f827..fe2ed306 100644 Binary files a/_module/ncs/zep_restded_resp.ncs and b/_module/ncs/zep_restded_resp.ncs differ diff --git a/_module/ncs/zep_rust_cmb_end.ncs b/_module/ncs/zep_rust_cmb_end.ncs index 70987878..bfd0d89a 100644 Binary files a/_module/ncs/zep_rust_cmb_end.ncs and b/_module/ncs/zep_rust_cmb_end.ncs differ diff --git a/_module/ncs/zep_rust_dmg.ncs b/_module/ncs/zep_rust_dmg.ncs index f42e464f..4a513ee9 100644 Binary files a/_module/ncs/zep_rust_dmg.ncs and b/_module/ncs/zep_rust_dmg.ncs differ diff --git a/_module/ncs/zep_rust_spawn.ncs b/_module/ncs/zep_rust_spawn.ncs index 1de7fd69..e9863bda 100644 Binary files a/_module/ncs/zep_rust_spawn.ncs and b/_module/ncs/zep_rust_spawn.ncs differ diff --git a/_module/ncs/zep_rust_user.ncs b/_module/ncs/zep_rust_user.ncs index dc2ad4af..6d9c1a92 100644 Binary files a/_module/ncs/zep_rust_user.ncs and b/_module/ncs/zep_rust_user.ncs differ diff --git a/_module/ncs/zep_sarcof1use.ncs b/_module/ncs/zep_sarcof1use.ncs index 5cedb2e0..e5c41ff7 100644 Binary files a/_module/ncs/zep_sarcof1use.ncs and b/_module/ncs/zep_sarcof1use.ncs differ diff --git a/_module/ncs/zep_scare_on_sp.ncs b/_module/ncs/zep_scare_on_sp.ncs index da06b040..ca29f035 100644 Binary files a/_module/ncs/zep_scare_on_sp.ncs and b/_module/ncs/zep_scare_on_sp.ncs differ diff --git a/_module/ncs/zep_scare_user.ncs b/_module/ncs/zep_scare_user.ncs index ee50325b..9430009d 100644 Binary files a/_module/ncs/zep_scare_user.ncs and b/_module/ncs/zep_scare_user.ncs differ diff --git a/_module/ncs/zep_scorp_onuser.ncs b/_module/ncs/zep_scorp_onuser.ncs index 593b184e..7e7eb239 100644 Binary files a/_module/ncs/zep_scorp_onuser.ncs and b/_module/ncs/zep_scorp_onuser.ncs differ diff --git a/_module/ncs/zep_scorp_spawn.ncs b/_module/ncs/zep_scorp_spawn.ncs index 642eec04..695d8a0c 100644 Binary files a/_module/ncs/zep_scorp_spawn.ncs and b/_module/ncs/zep_scorp_spawn.ncs differ diff --git a/_module/ncs/zep_shrieker_dth.ncs b/_module/ncs/zep_shrieker_dth.ncs index 969ec506..b695a003 100644 Binary files a/_module/ncs/zep_shrieker_dth.ncs and b/_module/ncs/zep_shrieker_dth.ncs differ diff --git a/_module/ncs/zep_shrieker_spw.ncs b/_module/ncs/zep_shrieker_spw.ncs index dabcc610..f2ccc2f9 100644 Binary files a/_module/ncs/zep_shrieker_spw.ncs and b/_module/ncs/zep_shrieker_spw.ncs differ diff --git a/_module/ncs/zep_shrieker_usr.ncs b/_module/ncs/zep_shrieker_usr.ncs index 7a42d419..76ea883f 100644 Binary files a/_module/ncs/zep_shrieker_usr.ncs and b/_module/ncs/zep_shrieker_usr.ncs differ diff --git a/_module/ncs/zep_shrieknoaatt.ncs b/_module/ncs/zep_shrieknoaatt.ncs index da5f9b90..94aa694b 100644 Binary files a/_module/ncs/zep_shrieknoaatt.ncs and b/_module/ncs/zep_shrieknoaatt.ncs differ diff --git a/_module/ncs/zep_spd_rid_prcv.ncs b/_module/ncs/zep_spd_rid_prcv.ncs index 1be38dfc..858d7b43 100644 Binary files a/_module/ncs/zep_spd_rid_prcv.ncs and b/_module/ncs/zep_spd_rid_prcv.ncs differ diff --git a/_module/ncs/zep_stocksuse.ncs b/_module/ncs/zep_stocksuse.ncs index f1f54f20..e0ee1fd3 100644 Binary files a/_module/ncs/zep_stocksuse.ncs and b/_module/ncs/zep_stocksuse.ncs differ diff --git a/_module/ncs/zep_torch.ncs b/_module/ncs/zep_torch.ncs index c72bb0f9..0c85777a 100644 Binary files a/_module/ncs/zep_torch.ncs and b/_module/ncs/zep_torch.ncs differ diff --git a/_module/ncs/zep_torches_off.ncs b/_module/ncs/zep_torches_off.ncs index b8bb6f2c..7f727102 100644 Binary files a/_module/ncs/zep_torches_off.ncs and b/_module/ncs/zep_torches_off.ncs differ diff --git a/_module/ncs/zep_torches_on.ncs b/_module/ncs/zep_torches_on.ncs index 64d5a95a..06ca5b31 100644 Binary files a/_module/ncs/zep_torches_on.ncs and b/_module/ncs/zep_torches_on.ncs differ diff --git a/_module/ncs/zep_torchspawn.ncs b/_module/ncs/zep_torchspawn.ncs index 5c844b07..d7d93059 100644 Binary files a/_module/ncs/zep_torchspawn.ncs and b/_module/ncs/zep_torchspawn.ncs differ diff --git a/_module/ncs/zep_torchupdate.ncs b/_module/ncs/zep_torchupdate.ncs index 6b7458a8..05734241 100644 Binary files a/_module/ncs/zep_torchupdate.ncs and b/_module/ncs/zep_torchupdate.ncs differ diff --git a/_module/ncs/zep_unsecret.ncs b/_module/ncs/zep_unsecret.ncs index 26db5627..e5ed1230 100644 Binary files a/_module/ncs/zep_unsecret.ncs and b/_module/ncs/zep_unsecret.ncs differ diff --git a/_module/ncs/zep_use_chair.ncs b/_module/ncs/zep_use_chair.ncs index 8bcefa00..2c24df28 100644 Binary files a/_module/ncs/zep_use_chair.ncs and b/_module/ncs/zep_use_chair.ncs differ diff --git a/_module/ncs/zep_veg_thor_spw.ncs b/_module/ncs/zep_veg_thor_spw.ncs index cea2ee04..ae3fef98 100644 Binary files a/_module/ncs/zep_veg_thor_spw.ncs and b/_module/ncs/zep_veg_thor_spw.ncs differ diff --git a/_module/ncs/zep_vegemount_d.ncs b/_module/ncs/zep_vegemount_d.ncs index b3fd91fb..39b10f2b 100644 Binary files a/_module/ncs/zep_vegemount_d.ncs and b/_module/ncs/zep_vegemount_d.ncs differ diff --git a/_module/ncs/zep_vegrider_die.ncs b/_module/ncs/zep_vegrider_die.ncs index 2ca1b15b..5fb85a97 100644 Binary files a/_module/ncs/zep_vegrider_die.ncs and b/_module/ncs/zep_vegrider_die.ncs differ diff --git a/_module/ncs/zep_vine_onh.ncs b/_module/ncs/zep_vine_onh.ncs index 250b878e..cc019c18 100644 Binary files a/_module/ncs/zep_vine_onh.ncs and b/_module/ncs/zep_vine_onh.ncs differ diff --git a/_module/ncs/zep_wrgmount_die.ncs b/_module/ncs/zep_wrgmount_die.ncs index 0b86d648..5b249ef6 100644 Binary files a/_module/ncs/zep_wrgmount_die.ncs and b/_module/ncs/zep_wrgmount_die.ncs differ diff --git a/_module/nss/anph_gate_ondmg.nss b/_module/nss/anph_gate_ondmg.nss index 21f62033..ed9da05b 100644 --- a/_module/nss/anph_gate_ondmg.nss +++ b/_module/nss/anph_gate_ondmg.nss @@ -18,7 +18,7 @@ const string DOOR_KEYTAG_BASHED = "door_Bashed_NoKey"; #include "nwnx_webhook" #include "nwnx_time" -const string WEBHOOK_ALARM = "/api/webhooks/451346097038819329/5pPVJiIzLucPzWD-Vdh0Efdu5EKr6x1G57S45DHfcG84W8R-_Y_rno78xTryqWcEzo-F/slack"; +const string WEBHOOK_ALARM = "/api/webhooks/1192445234152476682/Ptkrw9W2I5ec3OTRffXXXGg2cfThQUDf-csiONWAPn4OETS-_IScSCPgKPBogrsFpFIQ/slack"; void door_Repaired(object oDoor) { diff --git a/_module/nss/anph_inc.nss b/_module/nss/anph_inc.nss index a078a86f..1ef4d0c3 100644 --- a/_module/nss/anph_inc.nss +++ b/_module/nss/anph_inc.nss @@ -16,9 +16,7 @@ as long as you provide the item blueprints, start locations etc... Maximum Faction Count = 9 */ const int ANPH_NUMBER_OF_FACTIONS = 6; -const string WEBHOOK_ALARM = "/api/webhooks/451346097038819329/5pPVJiIzLucPzWD-Vdh0Efdu5EKr6x1G57S45DHfcG84W8R-_Y_rno78xTryqWcEzo-F/slack"; - - +const string WEBHOOK_ALARM = "/api/webhooks/1192445234152476682/Ptkrw9W2I5ec3OTRffXXXGg2cfThQUDf-csiONWAPn4OETS-_IScSCPgKPBogrsFpFIQ/slack"; string anph_DescribePC(object oPC) { diff --git a/_module/nss/array_example.nss b/_module/nss/array_example.nss new file mode 100644 index 00000000..53f13f8f --- /dev/null +++ b/_module/nss/array_example.nss @@ -0,0 +1,143 @@ +//#include "inc_array" +#include "nwnx_time" + +// nwnx_data also includes inc_array, so don't double dip. +#include "nwnx_data" + +void Log(string msg) +{ + WriteTimestampedLogEntry(msg); +} + +void TestArrayOnModule() +{ + + string array = "test"; + + // By default, temporary arrays are created on the module. + Array_PushBack_Str(array, "BItem1"); + Array_PushBack_Str(array, "AItem2"); + Array_PushBack_Str(array, "AItem3"); + Array_PushBack_Str(array, "BItem2"); + Array_Debug_Dump(array, "After first load"); + + int foo = Array_Find_Str(array, "AItem3"); + Log("Found element AItem3 at index = " + IntToString(foo)); + + Array_Set_Str(array, 2, "Suck it up..."); + Array_Debug_Dump(array, "After set 2 = 'Suck it up...'"); + + Array_Erase(array, 1); + Array_Debug_Dump(array, "After delete 1"); + + Array_PushBack_Str(array, "MItem1"); + Array_PushBack_Str(array, "QItem2"); + Array_PushBack_Str(array, "NItem3"); + Array_PushBack_Str(array, "KItem2"); + + Array_Debug_Dump(array, "After add more"); + Array_SortAscending(array); + + Array_Debug_Dump(array, "After sort"); + + Array_Shuffle(array); + Array_Debug_Dump(array, "After shuffle"); + + Log( (Array_Contains_Str(array, "NItem3")) ? "Passed.. found it" : "Failed.. should have found it" ); + Log( (Array_Contains_Str(array, "KItem2")) ? "Passed.. found it" : "Failed.. should have found it" ); + Log( (Array_Contains_Str(array, "xxxxxx")) ? "Failed.. not found" : "Passed.. should not exist" ); + + Array_Clear(array); + // Load up the array with 100 entries + int i; + + struct NWNX_Time_HighResTimestamp b; + b = NWNX_Time_GetHighResTimeStamp(); + Log("Start Time: " + IntToString(b.seconds) + "." + IntToString(b.microseconds)); + for (i=0; i<1000; i++) + { + Array_PushBack_Str(array, IntToString(d100()) + " xxx " + IntToString(i)); + } + b = NWNX_Time_GetHighResTimeStamp(); + Log("Loaded 1000: " + IntToString(b.seconds) + "." + IntToString(b.microseconds)); + Array_Shuffle(array); + b = NWNX_Time_GetHighResTimeStamp(); + Log("Shuffled 1000: " + IntToString(b.seconds) + "." + IntToString(b.microseconds)); + for (i=5; i<995; i++) + { + // Delete the third entry a bunch of times + Array_Erase(array, 3); + } + b = NWNX_Time_GetHighResTimeStamp(); + Log("Delete ~990: " + IntToString(b.seconds) + "." + IntToString(b.microseconds)); + Array_Debug_Dump(array, "After mass insert/delete"); + +} + +void TestArrayOnChicken() +{ + string array="chicken"; + // Let's create an array "on" our favorite creature: the deadly nw_chicken + // Note - arrays aren't really attached to the item, but the module, and they + // are tagged with the objects string representation. + object oCreature = CreateObject(OBJECT_TYPE_CREATURE, "nw_chicken", GetStartingLocation()); + if (!GetIsObjectValid(oCreature)) + { + Log("NWNX_Creature test: Failed to create creature"); + return; + } + + Array_PushBack_Str(array, "BItem1", oCreature); + Array_PushBack_Str(array, "AItem2", oCreature); + Array_PushBack_Str(array, "AItem3", oCreature); + Array_PushBack_Str(array, "BItem2", oCreature); + Array_Debug_Dump(array, "After Chicken array load", oCreature); + +} + +void TestNWNXArray() +{ + Log(""); + Log("Start NWNX_Data test."); + string array = "test2"; + + NWNX_Data_Array_PushBack_Str(GetModule(), array, "XItem1"); + NWNX_Data_Array_PushBack_Str(GetModule(), array, "ZItem2"); + NWNX_Data_Array_PushBack_Str(GetModule(), array, "ZItem3"); + NWNX_Data_Array_PushBack_Str(GetModule(), array, "XItem2"); + Array_Debug_Dump(array, "After first load"); + + int foo = NWNX_Data_Array_Find_Str(GetModule(), array, "ZItem3"); + Log("Found element AItem3 at index = " + IntToString(foo)); + + NWNX_Data_Array_Set_Str(GetModule(), array, 2, "Suck it up..."); + Array_Debug_Dump(array, "After set 2 = 'Suck it up...'"); + + NWNX_Data_Array_Erase(NWNX_DATA_TYPE_STRING, GetModule(), array, 1); + Array_Debug_Dump(array, "After delete 1"); + + NWNX_Data_Array_PushBack_Str(GetModule(), array, "MItem1"); + NWNX_Data_Array_PushBack_Str(GetModule(), array, "QItem2"); + NWNX_Data_Array_PushBack_Str(GetModule(), array, "NItem3"); + NWNX_Data_Array_PushBack_Str(GetModule(), array, "KItem2"); + + Array_Debug_Dump(array, "After add more"); + NWNX_Data_Array_SortAscending(NWNX_DATA_TYPE_STRING, GetModule(), array); + + Array_Debug_Dump(array, "After sort"); + +} + +// Uncomment and assign to some event click. +/* */ +void main() +{ + Log("Start"); + + TestArrayOnModule(); + + TestArrayOnChicken(); + + TestNWNXArray(); +} +/* */ diff --git a/_module/nss/chr_death_inc.nss b/_module/nss/chr_death_inc.nss index e7807bc2..306deaba 100644 --- a/_module/nss/chr_death_inc.nss +++ b/_module/nss/chr_death_inc.nss @@ -20,7 +20,7 @@ #include "faction_inc" -const string WEBHOOK_PVP = " "; //::"/api/webhooks/451343864733761536/Gd0QkGVQxttTGtjtB8pgJPqNOuqGVoYtNWIzcsvQQGG1EjAaxI_OuOlOxcXDgwJB55rZ/slack"; +const string WEBHOOK_PVP = "/api/webhooks/1192445234152476682/Ptkrw9W2I5ec3OTRffXXXGg2cfThQUDf-csiONWAPn4OETS-_IScSCPgKPBogrsFpFIQ/slack"; /////////////////////// // Function Declaration diff --git a/_module/nss/dbg_inc.nss b/_module/nss/dbg_inc.nss index 199c8e10..60db2dcc 100644 --- a/_module/nss/dbg_inc.nss +++ b/_module/nss/dbg_inc.nss @@ -3,7 +3,7 @@ //const string WEBHOOK_BUG = "/api/webhooks/451334833495343104/6NHIFKzr_DTl9-KQucZkPxOtyQCiUo7C4efwtHPDvHB-9HNWlkmFWIE2EFEPnIr7977w/slack"; -const string WEBHOOK_BUG = "/api/webhooks/453873022315659275/xJYs04_h12hhWi0HI2NTucK7W8dp4K-7AD3NxmEuKUFSvv1nIWdRiE1PjRzsorrRrqLl/slack"; +const string WEBHOOK_BUG = "/api/webhooks/1282444730202067058/IsS4ikaaqCNiB8YCaQc4StVz6ih2FeQo7jS5CAq67Qu45Y942So_f2l1O4UbIDLuXSDm/slack"; // Report a bug, sending it everywhere void dbg_ReportBug(string sMessage, object oReporter=OBJECT_INVALID); diff --git a/_module/nss/dev_commands.nss b/_module/nss/dev_commands.nss index 67481cdd..e80df717 100644 --- a/_module/nss/dev_commands.nss +++ b/_module/nss/dev_commands.nss @@ -11,7 +11,7 @@ #include "socket_inc" #include "ip_inc" -const string WEBHOOK_DM = "/api/webhooks/451344020606812161/2JC0H5AkfAs4EeCbI1R0xzpCmGwxcLM7P7JxCmI4Qwf-7SwZ1uxi6V6YMNFtdjIyMQVW/slack"; +const string WEBHOOK_DM = "/api/webhooks/1282444730202067058/IsS4ikaaqCNiB8YCaQc4StVz6ih2FeQo7jS5CAq67Qu45Y942So_f2l1O4UbIDLuXSDm/slack"; const string BADPARSE = "[BADPARSE]"; string ParseCommand(string sMessage, string sCommand) diff --git a/_module/nss/inc_array.nss b/_module/nss/inc_array.nss new file mode 100644 index 00000000..7671723d --- /dev/null +++ b/_module/nss/inc_array.nss @@ -0,0 +1,512 @@ +/// @addtogroup data Data +/// @brief Provides a number of data structures for NWN code to use (simulated arrays) +/// @{ +/// @file nwnx_data.nss + +const int INVALID_INDEX = -1; +const int TYPE_FLOAT = 0; +const int TYPE_INTEGER = 1; +const int TYPE_OBJECT = 2; +const int TYPE_STRING = 3; + +/// @defgroup data_array_at Array At +/// @brief Returns the element at the index. +/// @ingroup data +/// @param obj The object. +/// @param tag The tag. +/// @param index The index. +/// @return The element of associated type. +/// @{ +string Array_At_Str(string tag, int index, object obj=OBJECT_INVALID); +float Array_At_Flt(string tag, int index, object obj=OBJECT_INVALID); +int Array_At_Int(string tag, int index, object obj=OBJECT_INVALID); +object Array_At_Obj(string tag, int index, object obj=OBJECT_INVALID); +/// @} + + +/// Clears the entire array, such that size==0. +void Array_Clear(string tag, object obj=OBJECT_INVALID); + +/// @defgroup data_array_contains Array Contains +/// @brief Checks if array contains the element. +/// @ingroup data +/// @param obj The object. +/// @param tag The tag. +/// @param element The element. +/// @return TRUE if the collection contains the element. +/// @{ +int Array_Contains_Flt(string tag, float element, object obj=OBJECT_INVALID); +int Array_Contains_Int(string tag, int element, object obj=OBJECT_INVALID); +int Array_Contains_Obj(string tag, object element, object obj=OBJECT_INVALID); +int Array_Contains_Str(string tag, string element, object obj=OBJECT_INVALID); +/// @} + +/// Copies the array of name otherTag over the array of name tag. +void Array_Copy(string tag, string otherTag, object obj=OBJECT_INVALID); + +/// Erases the element at index, and shuffles any elements from index size-1 to index + 1 left. +void Array_Erase(string tag, int index, object obj=OBJECT_INVALID); + +/// @defgroup data_array_find Array Find +/// @brief Get the index at which the element is located. +/// @ingroup data +/// @param obj The object. +/// @param tag The tag. +/// @param element The element. +/// @return Returns the index at which the element is located, or ARRAY_INVALID_INDEX. +/// @{ +int Array_Find_Flt(string tag, float element, object obj=OBJECT_INVALID); +int Array_Find_Int(string tag, int element, object obj=OBJECT_INVALID); +int Array_Find_Obj(string tag, object element, object obj=OBJECT_INVALID); +int Array_Find_Str(string tag, string element, object obj=OBJECT_INVALID); +/// @} + +/// @defgroup data_array_insert Array Insert +/// @brief Inserts the element at the index, where size > index >= 0. +/// @ingroup data +/// @param obj The object. +/// @param tag The tag. +/// @param index The index. +/// @param element The element. +/// @{ +void Array_Insert_Flt(string tag, int index, float element, object obj=OBJECT_INVALID); +void Array_Insert_Int(string tag, int index, int element, object obj=OBJECT_INVALID); +void Array_Insert_Obj(string tag, int index, object element, object obj=OBJECT_INVALID); +void Array_Insert_Str(string tag, int index, string element, object obj=OBJECT_INVALID); +/// @} + +/// @defgroup data_array_pushback Array Pushback +/// @brief Pushes an element to the back of the collection. +/// @remark Functionally identical to an insert at index size-1. +/// @ingroup data +/// @param obj The object. +/// @param tag The tag. +/// @param element The element. +/// @{ +void Array_PushBack_Flt(string tag, float element, object obj=OBJECT_INVALID); +void Array_PushBack_Int(string tag, int element, object obj=OBJECT_INVALID); +void Array_PushBack_Obj(string tag, object element, object obj=OBJECT_INVALID); +void Array_PushBack_Str(string tag, string element, object obj=OBJECT_INVALID); +/// @} + +/// Resizes the array. If the array is shrinking, it chops off elements at the ned. +void Array_Resize(string tag, int size, object obj=OBJECT_INVALID); + +/// Reorders the array such each possible permutation of elements has equal probability of appearance. +void Array_Shuffle(string tag, object obj=OBJECT_INVALID); + +/// Returns the size of the array. +int Array_Size(string tag, object obj=OBJECT_INVALID); + +/// Sorts the collection based on descending order. +void Array_SortAscending(string tag, int type=TYPE_STRING, object obj=OBJECT_INVALID); + +/// Sorts the collection based on descending order. +void Array_SortDescending(string tag, int type=TYPE_STRING, object obj=OBJECT_INVALID); + +/// @defgroup data_array_set Array Set +/// @brief Sets the element at the index, where size > index >= 0. +/// @ingroup data +/// @param obj The object. +/// @param tag The tag. +/// @param index The index. +/// @param element The element. +/// @{ +void Array_Set_Flt(string tag, int index, float element, object obj=OBJECT_INVALID); +void Array_Set_Int(string tag, int index, int element, object obj=OBJECT_INVALID); +void Array_Set_Obj(string tag, int index, object element, object obj=OBJECT_INVALID); +void Array_Set_Str(string tag, int index, string element, object obj=OBJECT_INVALID); +/// @} + +/// @} + +// +// Local Utility Functions. +// +string GetTableName(string tag, object obj=OBJECT_INVALID, int bare=FALSE) { + if (obj == OBJECT_INVALID) + obj = GetModule(); + + string sName = "array_" + ObjectToString(obj) + "_" + tag; + // Remove invalid characters from the tag rather than failing. + string sCleansed = RegExpReplace("[^A-Za-z0-9_\$@#]", sName, ""); + // But provide some feedback. + if (GetStringLength(sName) != GetStringLength(sCleansed) || GetStringLength(sCleansed) == 0) { + WriteTimestampedLogEntry("WARNING: Invalid table name detected for array with tag <" + tag + ">. Only characters (a-zA-Z0-9), _, @, $ and # are allowed. Using <"+sCleansed+"> instead."); + + } + + // BARE returns just the table name with no wrapping. + if (bare == TRUE) { + return sCleansed; + } + + // Table name wraped in quotes to avoid token expansion. + return "\""+sCleansed+"\""; +} + +string GetTableCreateString(string tag, object obj=OBJECT_INVALID) { + // for simplicity sake, everything is turned into a string. Possible enhancement + // to create specific tables for int/float/whatever. + return "CREATE TABLE IF NOT EXISTS " + GetTableName(tag, obj) + " ( ind INTEGER, value TEXT )"; +} + +int TableExists(string tag, object obj=OBJECT_INVALID) { + string stmt = "SELECT name FROM sqlite_master WHERE type = 'table' AND name = @tablename;"; + sqlquery sqlQuery = SqlPrepareQueryObject(GetModule(), stmt); + SqlBindString(sqlQuery, "@tablename", GetTableName(tag, obj, TRUE)); + return SqlStep(sqlQuery); +} + +void ExecuteStatement(string statement, object obj=OBJECT_INVALID) { + if (obj == OBJECT_INVALID) + obj = GetModule(); + // There's no direct "execute this.." everything has to be prepared then executed. + //WriteTimestampedLogEntry("SQL: " + statement); + sqlquery sqlQuery = SqlPrepareQueryObject(GetModule(), statement); + SqlStep(sqlQuery); +} + +void CreateArrayTable(string tag, object obj=OBJECT_INVALID) { + string createStatement = GetTableCreateString(tag, obj); + ExecuteStatement(createStatement, obj); +} + +// Get the table row count. Returns -1 on error (0 is a valid number of rows in a table) +int GetRowCount(string tag, object obj=OBJECT_INVALID) { + if (obj == OBJECT_INVALID) + obj = GetModule(); + CreateArrayTable(tag, obj); + string stmt = "SELECT COUNT(1) FROM " + GetTableName(tag, obj); + sqlquery sqlQuery = SqlPrepareQueryObject(GetModule(), stmt); + if ( SqlStep(sqlQuery) ) { + return SqlGetInt(sqlQuery, 0); + } + return -1; +} + + +//////////////////////////////////////////////////////////////////////////////// +// return the value contained in location "index" +string Array_At_Str(string tag, int index, object obj=OBJECT_INVALID) +{ + // Just "create if not exists" to ensure it exists for the insert. + CreateArrayTable(tag, obj); + + string stmt = "SELECT value FROM " + GetTableName(tag, obj) + " WHERE ind = @ind"; + sqlquery sqlQuery = SqlPrepareQueryObject(GetModule(), stmt); + SqlBindInt(sqlQuery, "@ind", index); + if ( SqlStep(sqlQuery) ) { + return SqlGetString(sqlQuery, 0); + } + return ""; +} + +float Array_At_Flt(string tag, int index, object obj=OBJECT_INVALID) +{ + string st = Array_At_Str(tag, index, obj); + if (st == "") { + return 0.0; + } + return StringToFloat(st); +} + +int Array_At_Int(string tag, int index, object obj=OBJECT_INVALID) +{ + string st = Array_At_Str(tag, index, obj); + if (st == "") { + return 0; + } + return StringToInt(st); +} + +object Array_At_Obj(string tag, int index, object obj=OBJECT_INVALID) +{ + string st = Array_At_Str(tag, index, obj); + if (st == "") { + return OBJECT_INVALID; + } + return StringToObject(st); +} + +void Array_Clear(string tag, object obj=OBJECT_INVALID) +{ + ExecuteStatement("delete from "+GetTableName(tag, obj), obj); +} + +//////////////////////////////////////////////////////////////////////////////// +// Return true/value (1/0) if the array contains the value "element" +int Array_Contains_Str(string tag, string element, object obj=OBJECT_INVALID) +{ + CreateArrayTable(tag, obj); + string stmt = "SELECT COUNT(1) FROM "+GetTableName(tag, obj)+" WHERE value = @element"; + + sqlquery sqlQuery = SqlPrepareQueryObject(GetModule(), stmt); + SqlBindString(sqlQuery, "@element", element); + + int pos = -1; + if ( SqlStep(sqlQuery) ) { + pos = SqlGetInt(sqlQuery, 0); + if (pos > 0) { + return TRUE; + } + } + return FALSE; +} + +int Array_Contains_Flt(string tag, float element, object obj=OBJECT_INVALID) +{ + return Array_Contains_Str(tag, FloatToString(element), obj); +} + +int Array_Contains_Int(string tag, int element, object obj=OBJECT_INVALID) +{ + return Array_Contains_Str(tag, IntToString(element), obj); +} + +int Array_Contains_Obj(string tag, object element, object obj=OBJECT_INVALID) +{ + return Array_Contains_Str(tag, ObjectToString(element), obj); +} + + +//////////////////////////////////////////////////////////////////////////////// +void Array_Copy(string tag, string otherTag, object obj=OBJECT_INVALID) +{ + CreateArrayTable(otherTag, obj); + ExecuteStatement("INSERT INTO "+GetTableName(otherTag, obj)+" SELECT * FROM "+GetTableName(tag, obj), obj); +} + +//////////////////////////////////////////////////////////////////////////////// +void Array_Erase(string tag, int index, object obj=OBJECT_INVALID) +{ + int rows = GetRowCount(tag, obj); + // Silently fail if "index" is outside the range of valid indicies. + if (index >= 0 && index < rows) { + string stmt = "DELETE FROM "+GetTableName(tag, obj)+" WHERE ind = @ind"; + sqlquery sqlQuery = SqlPrepareQueryObject(GetModule(), stmt); + SqlBindInt(sqlQuery, "@ind", index); + SqlStep(sqlQuery); + + stmt = "UPDATE "+GetTableName(tag, obj)+" SET ind = ind - 1 WHERE ind > @ind"; + sqlQuery = SqlPrepareQueryObject(GetModule(), stmt); + SqlBindInt(sqlQuery, "@ind", index); + SqlStep(sqlQuery); + } +} + +//////////////////////////////////////////////////////////////////////////////// +// return the index in the array containing "element" +// if not found, return INVALID_INDEX +int Array_Find_Str(string tag, string element, object obj=OBJECT_INVALID) +{ + string stmt; + sqlquery sqlQuery; + + // Just create it before trying to select in case it doesn't exist yet. + CreateArrayTable(tag, obj); + + stmt = "SELECT IFNULL(MIN(ind),@invalid_index) FROM "+GetTableName(tag, obj)+" WHERE value = @element"; + sqlQuery = SqlPrepareQueryObject(GetModule(), stmt); + + SqlBindInt(sqlQuery, "@invalid_index", INVALID_INDEX); + SqlBindString(sqlQuery, "@element", element); + if ( SqlStep(sqlQuery) ) { + return SqlGetInt(sqlQuery, 0); + } + return INVALID_INDEX; +} + +int Array_Find_Flt(string tag, float element, object obj=OBJECT_INVALID) +{ + return Array_Find_Str(tag, FloatToString(element), obj); +} + +int Array_Find_Int(string tag, int element, object obj=OBJECT_INVALID) +{ + return Array_Find_Str(tag, IntToString(element), obj); +} + +int Array_Find_Obj(string tag, object element, object obj=OBJECT_INVALID) +{ + return Array_Find_Str(tag, ObjectToString(element), obj); +} + +//////////////////////////////////////////////////////////////////////////////// +// Insert a new element into position 'index'. If index is beyond the number of rows in the array, +// this will quietly fail. This could be changed if you wanted to support sparse +// arrays. +void Array_Insert_Str(string tag, int index, string element, object obj=OBJECT_INVALID) +{ + int rows = GetRowCount(tag, obj); + // Index numbers are off by one, much like C arrays, so for "rows=10" - values are 0-9. + // It's not unreasonable to fail if you try to insert ind=10 into an array who's indexes + // only go to 9, but I guess it doesn't hurt as long as we're not allowing gaps in + // index numbers. + if (index >= 0 && index <= rows) { + // index is passed as an integer, so immune (as far as I know) to SQL injection for a one shot query. + ExecuteStatement("UPDATE "+GetTableName(tag, obj)+" SET ind = ind + 1 WHERE ind >= "+IntToString(index), obj); + // Element, however, is not. + string stmt = "INSERT INTO "+GetTableName(tag, obj)+" VALUES ( @ind, @element )"; + sqlquery sqlQuery = SqlPrepareQueryObject(GetModule(), stmt); + SqlBindInt(sqlQuery, "@ind", index); + SqlBindString(sqlQuery, "@element", element); + SqlStep(sqlQuery); + } +} + +void Array_Insert_Flt(string tag, int index, float element, object obj=OBJECT_INVALID) +{ + Array_Insert_Str(tag, index, FloatToString(element), obj); +} + +void Array_Insert_Int(string tag, int index, int element, object obj=OBJECT_INVALID) +{ + Array_Insert_Str(tag, index, IntToString(element), obj); +} + +void Array_Insert_Obj(string tag, int index, object element, object obj=OBJECT_INVALID) +{ + Array_Insert_Str(tag, index, ObjectToString(element), obj); +} + +//////////////////////////////////////////////////////////////////////////////// +// Insert a new element at the end of the array. +void Array_PushBack_Str(string tag, string element, object obj=OBJECT_INVALID) +{ + // Create it before trhing to INSERT into it. If it already exists, this is a no-op. + CreateArrayTable(tag, obj); + + // If rowCount = 10, indexes are from 0 to 9, so this becomes the 11th entry at index 10. + int rowCount = GetRowCount(tag, obj); + + string stmt = "INSERT INTO "+GetTableName(tag, obj)+" VALUES ( @ind, @element )"; + sqlquery sqlQuery = SqlPrepareQueryObject(GetModule(), stmt); + SqlBindInt(sqlQuery, "@ind", rowCount); + SqlBindString(sqlQuery, "@element", element); + SqlStep(sqlQuery); +} + +void Array_PushBack_Flt(string tag, float element, object obj=OBJECT_INVALID) +{ + Array_PushBack_Str(tag, FloatToString(element), obj); +} + +void Array_PushBack_Int(string tag, int element, object obj=OBJECT_INVALID) +{ + Array_PushBack_Str(tag, IntToString(element), obj); +} + +void Array_PushBack_Obj(string tag, object element, object obj=OBJECT_INVALID) +{ + Array_PushBack_Str(tag, ObjectToString(element), obj); +} + +//////////////////////////////////////////////////////////////////////////////// +// Cuts the array off at size 'size'. Elements beyond size are removed. +void Array_Resize(string tag, int size, object obj=OBJECT_INVALID) +{ + // Int immune to sql injection so easier to one-shot it. + ExecuteStatement("DELETE FROM "+GetTableName(tag, obj)+" WHERE ind >= " + IntToString(size), obj); +} + +//////////////////////////////////////////////////////////////////////////////// +void Array_Shuffle(string tag, object obj=OBJECT_INVALID) +{ + string table = GetTableName(tag, obj, TRUE); + ExecuteStatement("CREATE TABLE " +table+ "_temp AS SELECT ROW_NUMBER() OVER(ORDER BY RANDOM())-1, value FROM " +table, obj); + ExecuteStatement("DELETE FROM " +table , obj); + ExecuteStatement("INSERT INTO " +table+ " SELECT * FROM " +table+ "_temp", obj); + ExecuteStatement("DROP TABLE " +table+ "_TEMP", obj); +} + +//////////////////////////////////////////////////////////////////////////////// +int Array_Size(string tag, object obj=OBJECT_INVALID) +{ + return GetRowCount(tag, obj); +} + +//////////////////////////////////////////////////////////////////////////////// +// Sort the array by value according to 'direction' (ASC or DESC). +// Supplying a type allows for correct numerical sorting of integers or floats. +void Array_Sort(string tag, string dir="ASC", int type=TYPE_STRING, object obj=OBJECT_INVALID) +{ + string table = GetTableName(tag, obj, TRUE); + string direction = GetStringUpperCase(dir); + + if ( ! (direction == "ASC" || direction == "DESC") ) { + WriteTimestampedLogEntry("WARNING: Invalid sort direction <" + direction + "> supplied. Defaulting to ASC."); + direction = "ASC"; + } + + // default orderBy for strings. + string orderBy = "ORDER BY value " + direction; + switch(type) { + case TYPE_INTEGER: + orderBy = "ORDER BY CAST(value AS INTEGER)" + direction; + break; + case TYPE_FLOAT: + orderBy = "ORDER BY CAST(value AS DECIMAL)" + direction; + break; + } + ExecuteStatement("CREATE TABLE " +table+ "_temp AS SELECT ROW_NUMBER() OVER(" + orderBy + ")-1, value FROM " +table, obj); + ExecuteStatement("DELETE FROM " +table, obj); + ExecuteStatement("INSERT INTO " +table+ " SELECT * FROM " +table+ "_temp", obj); + ExecuteStatement("DROP TABLE " +table+ "_temp", obj); +} + +void Array_SortAscending(string tag, int type=TYPE_STRING, object obj=OBJECT_INVALID) +{ + Array_Sort(tag, "ASC", type, obj); +} + +void Array_SortDescending(string tag, int type=TYPE_STRING, object obj=OBJECT_INVALID) +{ + Array_Sort(tag, "DESC", type, obj); +} + +//////////////////////////////////////////////////////////////////////////////// +// Set the value of array index 'index' to a 'element' +// This will quietly eat values if index > array size +void Array_Set_Str(string tag, int index, string element, object obj=OBJECT_INVALID) +{ + int rows = GetRowCount(tag, obj); + if (index >= 0 && index <= rows) { + string stmt = "UPDATE "+GetTableName(tag, obj)+" SET value = @element WHERE ind = @ind"; + sqlquery sqlQuery = SqlPrepareQueryObject(GetModule(), stmt); + SqlBindInt(sqlQuery, "@ind", index); + SqlBindString(sqlQuery, "@element", element); + SqlStep(sqlQuery); + } +} + +void Array_Set_Flt(string tag, int index, float element, object obj=OBJECT_INVALID) +{ + Array_Set_Str(tag, index, FloatToString(element), obj); +} + +void Array_Set_Int(string tag, int index, int element, object obj=OBJECT_INVALID) +{ + Array_Set_Str(tag, index, IntToString(element), obj); +} + +void Array_Set_Obj(string tag, int index, object element, object obj=OBJECT_INVALID) +{ + Array_Set_Str(tag, index, ObjectToString(element), obj); +} + +void Array_Debug_Dump(string tag, string title = "xxx", object obj=OBJECT_INVALID) { + if (title != "xxx") { + WriteTimestampedLogEntry("== " + title + " ======================================"); + } + WriteTimestampedLogEntry("Table name = " + GetTableName(tag, obj)); + string stmt = "SELECT ind, value FROM " + GetTableName(tag, obj); + sqlquery sqlQuery = SqlPrepareQueryObject(GetModule(), stmt); + int ind = -1; + string value = ""; + while ( SqlStep(sqlQuery) ) { + ind = SqlGetInt(sqlQuery, 0); + value = SqlGetString(sqlQuery, 1); + WriteTimestampedLogEntry(tag + "[" + IntToString(ind) + "] = " + value); + } +} diff --git a/_module/nss/mod_onchat.nss b/_module/nss/mod_onchat.nss index ff1d7ee4..c9190752 100644 --- a/_module/nss/mod_onchat.nss +++ b/_module/nss/mod_onchat.nss @@ -12,7 +12,8 @@ #include "nwnx_webhook" #include "dev_inc" -const string WEBHOOK_DM = "/api/webhooks/451344020606812161/2JC0H5AkfAs4EeCbI1R0xzpCmGwxcLM7P7JxCmI4Qwf-7SwZ1uxi6V6YMNFtdjIyMQVW/slack"; +const string WEBHOOK_DM = "/api/webhooks/1282444730202067058/IsS4ikaaqCNiB8YCaQc4StVz6ih2FeQo7jS5CAq67Qu45Y942So_f2l1O4UbIDLuXSDm/slack"; + void main() { diff --git a/_module/nss/nwnx_damage.nss b/_module/nss/nwnx_damage.nss index c3977cb1..352d810c 100644 --- a/_module/nss/nwnx_damage.nss +++ b/_module/nss/nwnx_damage.nss @@ -43,6 +43,7 @@ struct NWNX_Damage_DamageEventData int iCustom17; ///< Custom17 damage int iCustom18; ///< Custom18 damage int iCustom19; ///< Custom19 damage + int iSpellId; ///< The spell id associated with the damage or -1 if not known. }; /// @struct NWNX_Damage_AttackEventData @@ -222,6 +223,7 @@ struct NWNX_Damage_DamageEventData NWNX_Damage_GetDamageEventData() data.iCustom17 = NWNX_GetReturnValueInt(); data.iCustom18 = NWNX_GetReturnValueInt(); data.iCustom19 = NWNX_GetReturnValueInt(); + data.iSpellId = NWNX_GetReturnValueInt(); return data; } diff --git a/_module/nss/nwnx_data.nss b/_module/nss/nwnx_data.nss new file mode 100644 index 00000000..b900de5b --- /dev/null +++ b/_module/nss/nwnx_data.nss @@ -0,0 +1,351 @@ +/// @addtogroup data Data +/// @brief Provides a number of data structures for NWN code to use (simulated arrays) +/// @{ +/// @file nwnx_data.nss + +#include "inc_array" + +// All these calls just pass through to the Array code in inc_array to provide +// an NWNX_Data compatible API for ease of transition. + +const int NWNX_DATA_INVALID_INDEX = INVALID_INDEX; +const int NWNX_DATA_TYPE_FLOAT = TYPE_FLOAT; +const int NWNX_DATA_TYPE_INTEGER = TYPE_INTEGER; +const int NWNX_DATA_TYPE_OBJECT = TYPE_OBJECT; +const int NWNX_DATA_TYPE_STRING = TYPE_STRING; + +/// @defgroup data_array_at Array At +/// @brief Returns the element at the index. +/// @ingroup data +/// @param obj The object. +/// @param tag The tag. +/// @param index The index. +/// @return The element of associated type. +/// @{ +string NWNX_Data_Array_At_Str(object obj, string tag, int index); +float NWNX_Data_Array_At_Flt(object obj, string tag, int index); +int NWNX_Data_Array_At_Int(object obj, string tag, int index); +object NWNX_Data_Array_At_Obj(object obj, string tag, int index); +/// @} + + +/// Clears the entire array, such that size==0. +void NWNX_Data_Array_Clear(int type, object obj, string tag); + +/// @defgroup data_array_contains Array Contains +/// @brief Checks if array contains the element. +/// @ingroup data +/// @param obj The object. +/// @param tag The tag. +/// @param element The element. +/// @return TRUE if the collection contains the element. +/// @{ +int NWNX_Data_Array_Contains_Flt(object obj, string tag, float element); +int NWNX_Data_Array_Contains_Int(object obj, string tag, int element); +int NWNX_Data_Array_Contains_Obj(object obj, string tag, object element); +int NWNX_Data_Array_Contains_Str(object obj, string tag, string element); +/// @} + +/// Copies the array of name otherTag over the array of name tag. +void NWNX_Data_Array_Copy(int type, object obj, string tag, string otherTag); + +/// Erases the element at index, and shuffles any elements from index size-1 to index + 1 left. +void NWNX_Data_Array_Erase(int type, object obj, string tag, int index); + +/// @defgroup data_array_find Array Find +/// @brief Get the index at which the element is located. +/// @ingroup data +/// @param obj The object. +/// @param tag The tag. +/// @param element The element. +/// @return Returns the index at which the element is located, or ARRAY_INVALID_INDEX. +/// @{ +int NWNX_Data_Array_Find_Flt(object obj, string tag, float element); +int NWNX_Data_Array_Find_Int(object obj, string tag, int element); +int NWNX_Data_Array_Find_Obj(object obj, string tag, object element); +int NWNX_Data_Array_Find_Str(object obj, string tag, string element); +/// @} + +/// @defgroup data_array_insert Array Insert +/// @brief Inserts the element at the index, where size > index >= 0. +/// @ingroup data +/// @param obj The object. +/// @param tag The tag. +/// @param index The index. +/// @param element The element. +/// @{ +void NWNX_Data_Array_Insert_Flt(object obj, string tag, int index, float element); +void NWNX_Data_Array_Insert_Int(object obj, string tag, int index, int element); +void NWNX_Data_Array_Insert_Obj(object obj, string tag, int index, object element); +void NWNX_Data_Array_Insert_Str(object obj, string tag, int index, string element); +/// @} + +/// @defgroup data_array_pushback Array Pushback +/// @brief Pushes an element to the back of the collection. +/// @remark Functionally identical to an insert at index size-1. +/// @ingroup data +/// @param obj The object. +/// @param tag The tag. +/// @param element The element. +/// @{ +void NWNX_Data_Array_PushBack_Flt(object obj, string tag, float element); +void NWNX_Data_Array_PushBack_Int(object obj, string tag, int element); +void NWNX_Data_Array_PushBack_Obj(object obj, string tag, object element); +void NWNX_Data_Array_PushBack_Str(object obj, string tag, string element); +/// @} + +/// Resizes the array. If the array is shrinking, it chops off elements at the ned. +void NWNX_Data_Array_Resize(int type, object obj, string tag, int size); + +/// Reorders the array such each possible permutation of elements has equal probability of appearance. +void NWNX_Data_Array_Shuffle(int type, object obj, string tag); + +/// Returns the size of the array. +int NWNX_Data_Array_Size(int type, object obj, string tag); + +/// Sorts the collection based on descending order. +void NWNX_Data_Array_SortAscending(int type, object obj, string tag); + +/// Sorts the collection based on descending order. +void NWNX_Data_Array_SortDescending(int type, object obj, string tag); + +/// @defgroup data_array_set Array Set +/// @brief Sets the element at the index, where size > index >= 0. +/// @ingroup data +/// @param obj The object. +/// @param tag The tag. +/// @param index The index. +/// @param element The element. +/// @{ +void NWNX_Data_Array_Set_Flt(object obj, string tag, int index, float element); +void NWNX_Data_Array_Set_Int(object obj, string tag, int index, int element); +void NWNX_Data_Array_Set_Obj(object obj, string tag, int index, object element); +void NWNX_Data_Array_Set_Str(object obj, string tag, int index, string element); +/// @} + +/// @} + +//////////////////////////////////////////////////////////////////////////////// +// return the value contained in location "index" +string NWNX_Data_Array_At_Str(object obj, string tag, int index) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + return Array_At_Str(tag, index, obj); +} + +float NWNX_Data_Array_At_Flt(object obj, string tag, int index) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + return Array_At_Flt(tag, index, obj); +} + +int NWNX_Data_Array_At_Int(object obj, string tag, int index) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + return Array_At_Int(tag, index, obj); +} + +object NWNX_Data_Array_At_Obj(object obj, string tag, int index) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + return Array_At_Obj(tag, index, obj); +} + +void NWNX_Data_Array_Clear(int type, object obj, string tag) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_Clear(tag, obj); +} + +//////////////////////////////////////////////////////////////////////////////// +// Return true/value (1/0) if the array contains the value "element" +int NWNX_Data_Array_Contains_Str(object obj, string tag, string element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + return Array_Contains_Str(tag, element, obj); +} + +int NWNX_Data_Array_Contains_Flt(object obj, string tag, float element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + return Array_Contains_Flt(tag, element, obj); +} + +int NWNX_Data_Array_Contains_Int(object obj, string tag, int element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + return Array_Contains_Int(tag, element, obj); +} + +int NWNX_Data_Array_Contains_Obj(object obj, string tag, object element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + return Array_Contains_Obj(tag, element, obj); +} + + +//////////////////////////////////////////////////////////////////////////////// +void NWNX_Data_Array_Copy(int type, object obj, string tag, string otherTag) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_Copy(tag, otherTag, obj); +} + +//////////////////////////////////////////////////////////////////////////////// +void NWNX_Data_Array_Erase(int type, object obj, string tag, int index) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_Erase(tag, index, obj); +} + +//////////////////////////////////////////////////////////////////////////////// +// return the index in the array containing "element" +// if not found, return NWNX_DATA_INVALID_INDEX +int NWNX_Data_Array_Find_Str(object obj, string tag, string element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + return Array_Find_Str(tag, element, obj); +} + +int NWNX_Data_Array_Find_Flt(object obj, string tag, float element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + return Array_Find_Flt(tag, element, obj); +} + +int NWNX_Data_Array_Find_Int(object obj, string tag, int element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + return Array_Find_Int(tag, element, obj); +} + +int NWNX_Data_Array_Find_Obj(object obj, string tag, object element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + return Array_Find_Obj(tag, element, obj); +} + +//////////////////////////////////////////////////////////////////////////////// +// Insert a new element into position 'index'. If index is beyond the number of rows in the array, +// this will quietly fail. This could be changed if you wanted to support sparse +// arrays. +void NWNX_Data_Array_Insert_Str(object obj, string tag, int index, string element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_Insert_Str(tag, index, element, obj); +} + +void NWNX_Data_Array_Insert_Flt(object obj, string tag, int index, float element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_Insert_Flt(tag, index, element, obj); +} + +void NWNX_Data_Array_Insert_Int(object obj, string tag, int index, int element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_Insert_Int(tag, index, element, obj); +} + +void NWNX_Data_Array_Insert_Obj(object obj, string tag, int index, object element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_Insert_Obj(tag, index, element, obj); +} + +//////////////////////////////////////////////////////////////////////////////// +// Insert a new element at the end of the array. +void NWNX_Data_Array_PushBack_Str(object obj, string tag, string element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_PushBack_Str(tag, element, obj); +} + +void NWNX_Data_Array_PushBack_Flt(object obj, string tag, float element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_PushBack_Flt(tag, element, obj); +} + +void NWNX_Data_Array_PushBack_Int(object obj, string tag, int element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_PushBack_Int(tag, element, obj); +} + +void NWNX_Data_Array_PushBack_Obj(object obj, string tag, object element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_PushBack_Obj(tag, element, obj); +} + +//////////////////////////////////////////////////////////////////////////////// +// Cuts the array off at size 'size'. Elements beyond size are removed. +void NWNX_Data_Array_Resize(int type, object obj, string tag, int size) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_Resize(tag, size, obj); +} + +//////////////////////////////////////////////////////////////////////////////// +void NWNX_Data_Array_Shuffle(int type, object obj, string tag) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_Shuffle(tag, obj); +} + +//////////////////////////////////////////////////////////////////////////////// +int NWNX_Data_Array_Size(int type, object obj, string tag) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + return Array_Size(tag, obj); +} + +//////////////////////////////////////////////////////////////////////////////// +// Sort the array by value according to 'direciton' (ASC or DESC) +// Note that this is a lexical sort, so sorting an array of ints or floats will have +// odd results +void NWNX_Data_Array_Sort(object obj, string tag, string direction) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_Sort(tag, direction, TYPE_STRING, obj); +} + +void NWNX_Data_Array_SortAscending(int type, object obj, string tag) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_SortAscending(tag, TYPE_STRING, obj); +} + +void NWNX_Data_Array_SortDescending(int type, object obj, string tag) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_SortDescending(tag, TYPE_STRING, obj); +} + +//////////////////////////////////////////////////////////////////////////////// +// Set the value of array index 'index' to a 'element' +// This will quietly eat values if index > array size +void NWNX_Data_Array_Set_Str(object obj, string tag, int index, string element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_Set_Str(tag, index, element, obj); +} + +void NWNX_Data_Array_Set_Flt(object obj, string tag, int index, float element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_Set_Flt(tag, index, element, obj); +} + +void NWNX_Data_Array_Set_Int(object obj, string tag, int index, int element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_Set_Int(tag, index, element, obj); +} + +void NWNX_Data_Array_Set_Obj(object obj, string tag, int index, object element) +{ + WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)"); + Array_Set_Obj(tag, index, element, obj); +} diff --git a/_module/nss/nwnx_item.nss b/_module/nss/nwnx_item.nss index 2114e305..01cd4ac0 100644 --- a/_module/nss/nwnx_item.nss +++ b/_module/nss/nwnx_item.nss @@ -69,7 +69,12 @@ void NWNX_Item_SetBaseItemType(object oItem, int nBaseItem); /// /// [1] When specifying per-part coloring, the value 255 corresponds with the logical /// function 'clear colour override', which clears the per-part override for that part. -void NWNX_Item_SetItemAppearance(object oItem, int nType, int nIndex, int nValue); +/// @param oItem The item +/// @param nType The type +/// @param nIndex The index +/// @param nValue The value +/// @param bUpdateCreatureAppearance If TRUE, also update the appearance of oItem's possessor. Only works for armor/helmets/cloaks. Will remove the item from the quickbar as side effect. +void NWNX_Item_SetItemAppearance(object oItem, int nType, int nIndex, int nValue, int bUpdateCreatureAppearance = FALSE); /// @brief Return a string containing the entire appearance for an item. /// @sa NWNX_Item_RestoreItemAppearance @@ -100,6 +105,31 @@ int NWNX_Item_GetMinEquipLevel(object oItem); /// @return TRUE if the item was successfully moved to the target, otherwise FALSE int NWNX_Item_MoveTo(object oItem, object oTarget, int bHideAllFeedback = FALSE); +/// @brief Set a modifier to the Minimum Level to Equip (Item Level Restriction). +/// @param oItem The item object. +/// @param nModifier the modifier to apply (After any Override) +/// @param bPersist Whether the modifier should persist to gff field. Strongly Recommended to be TRUE (See warning) +/// @note This function (or override partner) must be used each server reset to reenable persistence. Recommended use on OBJECT_INVALID OnModuleLoad. +/// @warning if Persistence is FALSE, or not renabled, beware characters may trigger ELC logging in with now-invalid ItemLevelRestrictions equipped. +void NWNX_Item_SetMinEquipLevelModifier(object oItem, int nModifier, int bPersist = TRUE); + +/// @brief Gets the applied modifier to the Minimum Level to Equip (Item Level Restriction). +/// @param oItem The item object. +int NWNX_Item_GetMinEquipLevelModifier(object oItem); + +/// @brief Set an override to the Minimum Level to Equip (Item Level Restriction). +/// @param oItem The item object. +/// @param nOverride the nOverride to apply (Before any Modifier) +/// @param bPersist Whether the modifier should persist to gff field. Strongly Recommended to be TRUE (See warning) +/// @note This function (or modifier partner) must be used each server reset to reenable persistence. Recommended use on OBJECT_INVALID OnModuleLoad. +/// @warning if Persistence is FALSE, or not renabled, beware characters may trigger ELC logging in with now-invalid ItemLevelRestrictions equipped. +void NWNX_Item_SetMinEquipLevelOverride(object oItem, int nOverride, int bPersist = TRUE); + +/// @brief Gets the applied override to the Minimum Level to Equip (Item Level Restriction). +/// @param oItem The item object. +int NWNX_Item_GetMinEquipLevelOverride(object oItem); + + /// @} void NWNX_Item_SetWeight(object oItem, int w) @@ -162,10 +192,11 @@ void NWNX_Item_SetBaseItemType(object oItem, int nBaseItem) NWNX_CallFunction(NWNX_Item, sFunc); } -void NWNX_Item_SetItemAppearance(object oItem, int nType, int nIndex, int nValue) +void NWNX_Item_SetItemAppearance(object oItem, int nType, int nIndex, int nValue, int bUpdateCreatureAppearance = FALSE) { string sFunc = "SetItemAppearance"; + NWNX_PushArgumentInt(bUpdateCreatureAppearance); NWNX_PushArgumentInt(nValue); NWNX_PushArgumentInt(nIndex); NWNX_PushArgumentInt(nType); @@ -227,3 +258,45 @@ int NWNX_Item_MoveTo(object oItem, object oTarget, int bHideAllFeedback = FALSE) return NWNX_GetReturnValueInt(); } + +void NWNX_Item_SetMinEquipLevelModifier(object oItem, int nModifier, int bPersist = TRUE) +{ + string sFunc = "SetMinEquipLevelModifier"; + + NWNX_PushArgumentInt(bPersist); + NWNX_PushArgumentInt(nModifier); + NWNX_PushArgumentObject(oItem); + + NWNX_CallFunction(NWNX_Item, sFunc); +} + +int NWNX_Item_GetMinEquipLevelModifier(object oItem) +{ + string sFunc = "GetMinEquipLevelModifier"; + + NWNX_PushArgumentObject(oItem); + + NWNX_CallFunction(NWNX_Item, sFunc); + return NWNX_GetReturnValueInt(); +} + +void NWNX_Item_SetMinEquipLevelOverride(object oItem, int nOverride, int bPersist = TRUE) +{ + string sFunc = "SetMinEquipLevelOverride"; + + NWNX_PushArgumentInt(bPersist); + NWNX_PushArgumentInt(nOverride); + NWNX_PushArgumentObject(oItem); + + NWNX_CallFunction(NWNX_Item, sFunc); +} + +int NWNX_Item_GetMinEquipLevelOverride(object oItem) +{ + string sFunc = "GetMinEquipLevelOverride"; + + NWNX_PushArgumentObject(oItem); + + NWNX_CallFunction(NWNX_Item, sFunc); + return NWNX_GetReturnValueInt(); +} diff --git a/_module/nss/nwnx_nwsqliteext.nss b/_module/nss/nwnx_nwsqliteext.nss new file mode 100644 index 00000000..b4b6b717 --- /dev/null +++ b/_module/nss/nwnx_nwsqliteext.nss @@ -0,0 +1,25 @@ +/// @addtogroup nwsqliteextensions NWSQLiteExtensions +/// @brief Various extensions for the game's built-in sqlite database. +/// @{ +/// @file nwnx_nwsqliteext.nss +#include "nwnx" + +const string NWNX_NWSQLiteExtensions = "NWNX_NWSQLiteExtensions"; ///< @private + +/// @brief Create a virtual table for s2DA in the module sqlite database. +/// @param s2DA The 2DA name, cannot be empty. +/// @param sColumnTypeHints A string containing type hints for the 2DA columns. See this plugin's readme file for more info. +/// @param sTableName The table name, will use the 2da name if empty. +/// @return TRUE if the virtual table was created. +int NWNX_NWSQLiteExtensions_CreateVirtual2DATable(string s2DA, string sColumnTypeHints = "", string sTableName = ""); + +/// @} + +int NWNX_NWSQLiteExtensions_CreateVirtual2DATable(string s2DA, string sColumnTypeHints = "", string sTableName = "") +{ + NWNX_PushArgumentString(sTableName); + NWNX_PushArgumentString(sColumnTypeHints); + NWNX_PushArgumentString(s2DA); + NWNX_CallFunction(NWNX_NWSQLiteExtensions, "CreateVirtual2DATable"); + return NWNX_GetReturnValueInt(); +} diff --git a/_module/nss/nwnx_object.nss b/_module/nss/nwnx_object.nss index 03a99e4e..acab7d82 100644 --- a/_module/nss/nwnx_object.nss +++ b/_module/nss/nwnx_object.nss @@ -418,6 +418,21 @@ int NWNX_Object_GetLastSpellInstant(); /// @param oCreator The new creator of the trap. Any non-creature creator will assign OBJECT_INVALID (similar to toolset-laid traps) void NWNX_Object_SetTrapCreator(object oObject, object oCreator); +/// @brief Return the name of the object for nLanguage. +/// @param oObject an object +/// @param nLanguage A PLAYER_LANGUAGE constant. +/// @param nGender Gender to use, 0 or 1. +/// @return The localized string. +string NWNX_Object_GetLocalizedName(object oObject, int nLanguage, int nGender = 0); + +/// @brief Set the name of the object as set in the toolset for nLanguage. +/// @note You may have to SetName(oObject, "") for the translated string to show. +/// @param oObject an object +/// @param sName New value to set +/// @param nLanguage A PLAYER_LANGUAGE constant. +/// @param nGender Gender to use, 0 or 1. +void NWNX_Object_SetLocalizedName(object oObject, string sName, int nLanguage, int nGender = 0); + /// @} int NWNX_Object_GetLocalVariableCount(object obj) @@ -1036,3 +1051,27 @@ void NWNX_Object_SetTrapCreator(object oObject, object oCreator) NWNX_PushArgumentObject(oObject); NWNX_CallFunction(NWNX_Object, sFunc); } + +string NWNX_Object_GetLocalizedName(object oObject, int nLanguage, int nGender = 0) +{ + string sFunc = "GetLocalizedName"; + + NWNX_PushArgumentInt(nGender); + NWNX_PushArgumentInt(nLanguage); + NWNX_PushArgumentObject(oObject); + + NWNX_CallFunction(NWNX_Object, sFunc); + return NWNX_GetReturnValueString(); +} + +void NWNX_Object_SetLocalizedName(object oObject, string sName, int nLanguage, int nGender = 0) +{ + string sFunc = "SetLocalizedName"; + + NWNX_PushArgumentInt(nGender); + NWNX_PushArgumentInt(nLanguage); + NWNX_PushArgumentString(sName); + NWNX_PushArgumentObject(oObject); + + NWNX_CallFunction(NWNX_Object, sFunc); +} diff --git a/_module/nss/nwnx_player.nss b/_module/nss/nwnx_player.nss index dfb7e3d7..3f4ab659 100644 --- a/_module/nss/nwnx_player.nss +++ b/_module/nss/nwnx_player.nss @@ -329,7 +329,8 @@ void NWNX_Player_SetCreatureNameOverride(object oPlayer, object oCreature, strin /// @param oPlayer The player to display the text to. /// @param oCreature The creature to display the text above. /// @param sText The text to display. -void NWNX_Player_FloatingTextStringOnCreature(object oPlayer, object oCreature, string sText); +/// @param bChatWindow If TRUE, sText will be displayed in oPlayer's chat window. +void NWNX_Player_FloatingTextStringOnCreature(object oPlayer, object oCreature, string sText, int bChatWindow = TRUE); /// @brief Toggle oPlayer's PlayerDM status. /// @note This function does nothing for actual DMClient DMs or players with a client version < 8193.14 @@ -396,6 +397,10 @@ void NWNX_Player_CloseStore(object oPlayer); /// @note Overrides will not persist through relogging. void NWNX_Player_SetTlkOverride(object oPlayer, int nStrRef, string sOverride, int bRestoreGlobal = TRUE); +/// @brief Make the player reload it's TlkTable. +/// @param oPlayer The player. +void NWNX_Player_ReloadTlk(object oPlayer); + /// @brief Update wind for oPlayer only. /// @param oPlayer The player. /// @param vDirection The Wind's direction. @@ -445,6 +450,10 @@ void NWNX_Player_SendPartyInvite(object oPlayer, object oInviter, int bForceInvi /// @return the TURD object of oPlayer, or OBJECT_INVALID if no TURD exists object NWNX_Player_GetTURD(object oPlayer); +/// @brief Reloads the color palettes for oPlayer +/// @param oPlayer The player to reload the color palette for +void NWNX_Player_ReloadColorPalettes(object oPlayer); + /// @} void NWNX_Player_ForcePlaceableExamineWindow(object player, object placeable) @@ -910,10 +919,11 @@ void NWNX_Player_SetCreatureNameOverride(object oPlayer, object oCreature, strin NWNX_CallFunction(NWNX_Player, sFunc); } -void NWNX_Player_FloatingTextStringOnCreature(object oPlayer, object oCreature, string sText) +void NWNX_Player_FloatingTextStringOnCreature(object oPlayer, object oCreature, string sText, int bChatWindow = TRUE) { string sFunc = "FloatingTextStringOnCreature"; + NWNX_PushArgumentInt(bChatWindow); NWNX_PushArgumentString(sText); NWNX_PushArgumentObject(oCreature); NWNX_PushArgumentObject(oPlayer); @@ -1050,6 +1060,14 @@ void NWNX_Player_SetTlkOverride(object oPlayer, int nStrRef, string sOverride, i NWNX_CallFunction(NWNX_Player, sFunc); } +void NWNX_Player_ReloadTlk(object oPlayer) +{ + string sFunc = "ReloadTlk"; + + NWNX_PushArgumentObject(oPlayer); + NWNX_CallFunction(NWNX_Player, sFunc); +} + void NWNX_Player_UpdateWind(object oPlayer, vector vDirection, float fMagnitude, float fYaw, float fPitch) { string sFunc = "UpdateWind"; @@ -1131,6 +1149,14 @@ object NWNX_Player_GetTURD(object oPlayer) NWNX_PushArgumentObject(oPlayer); NWNX_CallFunction(NWNX_Player, sFunc); - + return NWNX_GetReturnValueObject(); } + +void NWNX_Player_ReloadColorPalettes(object oPlayer) +{ + string sFunc = "ReloadColorPalettes"; + + NWNX_PushArgumentObject(oPlayer); + NWNX_CallFunction(NWNX_Player, sFunc); +} diff --git a/_module/nss/nwnx_sql.nss b/_module/nss/nwnx_sql.nss index b3198962..f3ab3d20 100644 --- a/_module/nss/nwnx_sql.nss +++ b/_module/nss/nwnx_sql.nss @@ -65,6 +65,12 @@ void NWNX_SQL_PreparedObjectFull(int position, object value, int base64 = TRUE); /// @param position The nth ? in a prepared statement. void NWNX_SQL_PreparedNULL(int position); +/// @brief Set the Json value of a prepared statement at given position. +/// Convienence function to match other Prepared(type) functions. +/// @param position The nth ? in a prepared statement. +/// @param value The value to set. +void NWNX_SQL_PreparedJson(int position, json value); + /// @brief Like NWNX_SQL_ReadDataInActiveRow, but for full serialized objects. /// /// The object will be deserialized and created in the game. New object ID is returned. @@ -211,6 +217,12 @@ void NWNX_SQL_PreparedNULL(int position) NWNX_PushArgumentInt(position); NWNX_CallFunction(NWNX_SQL, sFunc); } +void NWNX_SQL_PreparedJson(int position, json value) +{ + // Dump to string and continue as a string from here. + // Famously assuming we're sent valid Json here. + NWNX_SQL_PreparedString(position, JsonDump(value)); +} object NWNX_SQL_ReadFullObjectInActiveRow(int column = 0, object owner = OBJECT_INVALID, float x = 0.0, float y = 0.0, float z = 0.0, int base64 = TRUE) diff --git a/_module/nss/nwnx_store.nss b/_module/nss/nwnx_store.nss new file mode 100644 index 00000000..00b2014d --- /dev/null +++ b/_module/nss/nwnx_store.nss @@ -0,0 +1,131 @@ +/// @addtogroup store +/// @brief Functions exposing additional store properties. +/// @{ +/// @file nwnx_store.nss +#include "nwnx" + +const string NWNX_Store = "NWNX_Store"; ///< @private + +/// @brief Return status of a base item purchase status. +/// @param oStore The store object. +/// @param nBaseItem A BASE_ITEM_* value +/// @return TRUE if the quest has been completed. -1 if the player does not have the journal entry. +int NWNX_Store_GetIsRestrictedBuyItem(object oStore, int nBaseItem); + +/// @brief Return the blackmarket mark down of a store +/// @param oStore The store object. +/// @return mark down of a store, -1 on error +int NWNX_Store_GetBlackMarketMarkDown(object oStore); + +/// @brief Set the blackmarket mark down of a store +/// @param oStore The store object. +/// @param nValue The amount. +void NWNX_Store_SetBlackMarketMarkDown(object oStore, int nValue); + +/// @brief Return the mark down of a store +/// @param oStore The store object. +/// @return mark down of a store, -1 on error +int NWNX_Store_GetMarkDown(object oStore); + +/// @brief Set the mark down of a store +/// @param oStore The store object. +/// @param nValue The amount. +void NWNX_Store_SetMarkDown(object oStore, int nValue); + +/// @brief Return the mark up of a store +/// @param oStore The store object. +/// @return mark up of a store, -1 on error +int NWNX_Store_GetMarkUp(object oStore); + +/// @brief Set the mark up of a store +/// @param oStore The store object. +/// @param nValue The amount. +void NWNX_Store_SetMarkUp(object oStore, int nValue); + +/// @brief Return current customer count +/// @param oStore The store object. +/// @return count, or -1 on error +int NWNX_Store_GetCurrentCustomersCount(object oStore); + +/// @} + +int NWNX_Store_GetIsRestrictedBuyItem(object oStore, int nBaseItem) +{ + string sFunc = "GetIsRestrictedBuyItem"; + + NWNX_PushArgumentInt(nBaseItem); + NWNX_PushArgumentObject(oStore); + + NWNX_CallFunction(NWNX_Store, sFunc); + return NWNX_GetReturnValueInt(); +} + +int NWNX_Store_GetBlackMarketMarkDown(object oStore) +{ + string sFunc = "GetBlackMarketMarkDown"; + + NWNX_PushArgumentObject(oStore); + + NWNX_CallFunction(NWNX_Store, sFunc); + return NWNX_GetReturnValueInt(); +} + +void NWNX_Store_SetBlackMarketMarkDown(object oStore, int nValue) +{ + string sFunc = "SetBlackMarketMarkDown"; + + NWNX_PushArgumentInt(nValue); + NWNX_PushArgumentObject(oStore); + + NWNX_CallFunction(NWNX_Store, sFunc); +} + +int NWNX_Store_GetMarkDown(object oStore) +{ + string sFunc = "GetMarkDown"; + + NWNX_PushArgumentObject(oStore); + + NWNX_CallFunction(NWNX_Store, sFunc); + return NWNX_GetReturnValueInt(); +} + +void NWNX_Store_SetMarkDown(object oStore, int nValue) +{ + string sFunc = "SetMarkDown"; + + NWNX_PushArgumentInt(nValue); + NWNX_PushArgumentObject(oStore); + + NWNX_CallFunction(NWNX_Store, sFunc); +} + +int NWNX_Store_GetMarkUp(object oStore) +{ + string sFunc = "GetMarkUp"; + + NWNX_PushArgumentObject(oStore); + + NWNX_CallFunction(NWNX_Store, sFunc); + return NWNX_GetReturnValueInt(); +} + +void NWNX_Store_SetMarkUp(object oStore, int nValue) +{ + string sFunc = "SetMarkUp"; + + NWNX_PushArgumentInt(nValue); + NWNX_PushArgumentObject(oStore); + + NWNX_CallFunction(NWNX_Store, sFunc); +} + +int NWNX_Store_GetCurrentCustomersCount(object oStore) +{ + string sFunc = "GetCurrentCustomersCount"; + + NWNX_PushArgumentObject(oStore); + + NWNX_CallFunction(NWNX_Store, sFunc); + return NWNX_GetReturnValueInt(); +} diff --git a/_module/nss/nwnx_util.nss b/_module/nss/nwnx_util.nss index d5e54533..ef32e355 100644 --- a/_module/nss/nwnx_util.nss +++ b/_module/nss/nwnx_util.nss @@ -248,6 +248,21 @@ void NWNX_Util_SetCurrentlyRunningEvent(int nEventID); /// @return The number of characters different between the compared strings. int NWNX_Util_GetStringLevenshteinDistance(string sString, string sCompareTo); +/// @brief Sends a full object update of oObjectToUpdate to all clients +/// @param oObjectToUpdate The object to update +/// @param oPlayer The player for which the objects needs to update, OBJECT_INVALID for all players +void NWNX_Util_UpdateClientObject(object oObjectToUpdate, object oPlayer = OBJECT_INVALID); + +/// @brief Clean a resource directory, deleting all files of nResType. +/// @param sAlias A resource directory alias, NWNX or one defined in the custom resource directory file. +/// @param nResType The type of file to delete or 0xFFFF for all types. +/// @return TRUE if successful, FALSE on error. +int NWNX_Util_CleanResourceDirectory(string sAlias, int nResType = 0xFFFF); + +/// @brief Return the filename of the tlk file. +/// @return The name +string NWNX_Util_GetModuleTlkFile(); + /// @} string NWNX_Util_GetCurrentScriptName(int depth = 0) @@ -617,3 +632,28 @@ int NWNX_Util_GetStringLevenshteinDistance(string sString, string sCompareTo) NWNX_CallFunction(NWNX_Util, sFunc); return NWNX_GetReturnValueInt(); } + +void NWNX_Util_UpdateClientObject(object oObjectToUpdate, object oPlayer = OBJECT_INVALID) +{ + string sFunc = "UpdateClientObject"; + + NWNX_PushArgumentObject(oPlayer); + NWNX_PushArgumentObject(oObjectToUpdate); + NWNX_CallFunction(NWNX_Util, sFunc); +} + +int NWNX_Util_CleanResourceDirectory(string sAlias, int nResType = 0xFFFF) +{ + string sFunc = "CleanResourceDirectory"; + NWNX_PushArgumentInt(nResType); + NWNX_PushArgumentString(sAlias); + NWNX_CallFunction(NWNX_Util, sFunc); + return NWNX_GetReturnValueInt(); +} + +string NWNX_Util_GetModuleTlkFile() +{ + string sFunc = "GetModuleTlkFile"; + NWNX_CallFunction(NWNX_Util, sFunc); + return NWNX_GetReturnValueString(); +}