diff --git a/_content/_hak/prc8_mmd_top/nw_s1_aurablnda.ncs b/_content/_hak/prc8_mmd_top/nw_s1_aurablnda.ncs index e4aa3c2b..432db91d 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_aurablnda.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_aurablnda.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_auracoldc.ncs b/_content/_hak/prc8_mmd_top/nw_s1_auracoldc.ncs index a5e77122..ec76ed2a 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_auracoldc.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_auracoldc.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_auraelecc.ncs b/_content/_hak/prc8_mmd_top/nw_s1_auraelecc.ncs index 2d8e4c0c..99461587 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_auraelecc.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_auraelecc.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_aurafirec.ncs b/_content/_hak/prc8_mmd_top/nw_s1_aurafirec.ncs index 725e1695..04e5de6b 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_aurafirec.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_aurafirec.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_auramenca.ncs b/_content/_hak/prc8_mmd_top/nw_s1_auramenca.ncs index 507f0374..0c44e514 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_auramenca.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_auramenca.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_aurastuna.ncs b/_content/_hak/prc8_mmd_top/nw_s1_aurastuna.ncs index b6eda589..2ed4901a 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_aurastuna.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_aurastuna.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_aurauneaa.ncs b/_content/_hak/prc8_mmd_top/nw_s1_aurauneaa.ncs index 34bc1670..15c0a968 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_aurauneaa.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_aurauneaa.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltacid.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltacid.ncs index a5952b31..a006de71 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltacid.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltacid.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltcharm.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltcharm.ncs index 2a37c208..ee3fc53c 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltcharm.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltcharm.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltchrdr.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltchrdr.ncs index 1d69902d..097200df 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltchrdr.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltchrdr.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltcold.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltcold.ncs index 2d00a865..6cc3bd2d 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltcold.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltcold.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltcondr.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltcondr.ncs index 6560555f..213436ac 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltcondr.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltcondr.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltconf.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltconf.ncs index e74ecf44..86e52ca7 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltconf.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltconf.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltdaze.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltdaze.ncs index b8ec5d24..568fd65d 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltdaze.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltdaze.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltdeath.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltdeath.ncs index ef10b59a..0f9ee5c2 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltdeath.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltdeath.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltdexdr.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltdexdr.ncs index 2904c692..26c1006f 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltdexdr.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltdexdr.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltdomn.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltdomn.ncs index 3c354b30..3f629e60 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltdomn.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltdomn.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltfire.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltfire.ncs index 09ac47c7..8ad6012f 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltfire.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltfire.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltintdr.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltintdr.ncs index 748e670f..89a4fa2a 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltintdr.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltintdr.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltknckd.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltknckd.ncs index e9a8d53d..c54ca6c5 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltknckd.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltknckd.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltlightn.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltlightn.ncs index 0286bec7..f698181b 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltlightn.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltlightn.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltlvldr.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltlvldr.ncs index e8628c58..35d17c6b 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltlvldr.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltlvldr.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltparal.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltparal.ncs index 95cce179..87b8348d 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltparal.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltparal.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltshards.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltshards.ncs index 00a54326..e0e9c939 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltshards.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltshards.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltslow.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltslow.ncs index d59eaa30..3013dbdc 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltslow.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltslow.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltstrdr.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltstrdr.ncs index 7819b3e1..6c5f13cc 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltstrdr.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltstrdr.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltstun.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltstun.ncs index 7a8f0d38..d17a3b79 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltstun.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltstun.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltweb.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltweb.ncs index 67c36716..a180256f 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltweb.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltweb.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_bltwisdr.ncs b/_content/_hak/prc8_mmd_top/nw_s1_bltwisdr.ncs index 93d66dc3..0c27cfdb 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_bltwisdr.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_bltwisdr.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_coneacid.ncs b/_content/_hak/prc8_mmd_top/nw_s1_coneacid.ncs index fc71423b..a0ce5a91 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_coneacid.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_coneacid.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_conecold.ncs b/_content/_hak/prc8_mmd_top/nw_s1_conecold.ncs index c391d7cf..c29ad24a 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_conecold.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_conecold.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_coneelec.ncs b/_content/_hak/prc8_mmd_top/nw_s1_coneelec.ncs index d3cd823c..a1801fab 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_coneelec.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_coneelec.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_conesonic.ncs b/_content/_hak/prc8_mmd_top/nw_s1_conesonic.ncs index 010f94f0..c0b7c521 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_conesonic.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_conesonic.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_dragfear.ncs b/_content/_hak/prc8_mmd_top/nw_s1_dragfear.ncs index fb1ce167..498e5cd9 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_dragfear.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_dragfear.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_dragfeara.ncs b/_content/_hak/prc8_mmd_top/nw_s1_dragfeara.ncs index fe3245d9..449bea2f 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_dragfeara.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_dragfeara.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_gazechaos.ncs b/_content/_hak/prc8_mmd_top/nw_s1_gazechaos.ncs index 5c42800f..03d29cdc 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_gazechaos.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_gazechaos.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_gazecharm.ncs b/_content/_hak/prc8_mmd_top/nw_s1_gazecharm.ncs index af690f7f..61453cbb 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_gazecharm.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_gazecharm.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_gazeconfu.ncs b/_content/_hak/prc8_mmd_top/nw_s1_gazeconfu.ncs index d632bfa2..4717ca75 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_gazeconfu.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_gazeconfu.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_gazedaze.ncs b/_content/_hak/prc8_mmd_top/nw_s1_gazedaze.ncs index db489412..d0c06608 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_gazedaze.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_gazedaze.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_gazedeath.ncs b/_content/_hak/prc8_mmd_top/nw_s1_gazedeath.ncs index 0930ec8c..2a4b3229 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_gazedeath.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_gazedeath.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_gazedomn.ncs b/_content/_hak/prc8_mmd_top/nw_s1_gazedomn.ncs index ac24c75b..fb80db25 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_gazedomn.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_gazedomn.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_gazedoom.ncs b/_content/_hak/prc8_mmd_top/nw_s1_gazedoom.ncs index a20712cb..fb16b412 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_gazedoom.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_gazedoom.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_gazeevil.ncs b/_content/_hak/prc8_mmd_top/nw_s1_gazeevil.ncs index 3b1140c6..cf285672 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_gazeevil.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_gazeevil.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_gazefear.ncs b/_content/_hak/prc8_mmd_top/nw_s1_gazefear.ncs index e543fbb3..8a421621 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_gazefear.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_gazefear.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_gazegood.ncs b/_content/_hak/prc8_mmd_top/nw_s1_gazegood.ncs index 4f0ea5e9..8cf2fa80 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_gazegood.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_gazegood.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_gazelaw.ncs b/_content/_hak/prc8_mmd_top/nw_s1_gazelaw.ncs index ddf8f304..a941027a 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_gazelaw.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_gazelaw.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_gazestun.ncs b/_content/_hak/prc8_mmd_top/nw_s1_gazestun.ncs index 9330b147..29d53f0c 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_gazestun.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_gazestun.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_hndbreath.ncs b/_content/_hak/prc8_mmd_top/nw_s1_hndbreath.ncs index 2a2d1cfc..eb8c5ad3 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_hndbreath.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_hndbreath.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_howlconf.ncs b/_content/_hak/prc8_mmd_top/nw_s1_howlconf.ncs index 2649dadb..f05f586b 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_howlconf.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_howlconf.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_howldaze.ncs b/_content/_hak/prc8_mmd_top/nw_s1_howldaze.ncs index fc595ffe..ef0f30e1 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_howldaze.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_howldaze.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_howldeath.ncs b/_content/_hak/prc8_mmd_top/nw_s1_howldeath.ncs index c1f8a98c..c654340d 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_howldeath.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_howldeath.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_howlfear.ncs b/_content/_hak/prc8_mmd_top/nw_s1_howlfear.ncs index 1ac9f0e1..97f12af6 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_howlfear.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_howlfear.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_howlparal.ncs b/_content/_hak/prc8_mmd_top/nw_s1_howlparal.ncs index 42488a9e..530f020b 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_howlparal.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_howlparal.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_howlsonic.ncs b/_content/_hak/prc8_mmd_top/nw_s1_howlsonic.ncs index ae721fd7..876e11f0 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_howlsonic.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_howlsonic.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_howlstun.ncs b/_content/_hak/prc8_mmd_top/nw_s1_howlstun.ncs index 9a8d7f60..ac9952b7 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_howlstun.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_howlstun.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_krenscare.ncs b/_content/_hak/prc8_mmd_top/nw_s1_krenscare.ncs index c2c9876b..0837f13d 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_krenscare.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_krenscare.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_mephsalt.ncs b/_content/_hak/prc8_mmd_top/nw_s1_mephsalt.ncs index 5406ee07..724cd1fe 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_mephsalt.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_mephsalt.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_mephsteam.ncs b/_content/_hak/prc8_mmd_top/nw_s1_mephsteam.ncs index f61d7ef1..f163c727 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_mephsteam.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_mephsteam.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_pulschrdr.ncs b/_content/_hak/prc8_mmd_top/nw_s1_pulschrdr.ncs index acc6c119..7448a22d 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_pulschrdr.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_pulschrdr.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_pulscold.ncs b/_content/_hak/prc8_mmd_top/nw_s1_pulscold.ncs index 23df913e..6fdad180 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_pulscold.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_pulscold.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_pulscondr.ncs b/_content/_hak/prc8_mmd_top/nw_s1_pulscondr.ncs index 39b62d7b..faef4a53 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_pulscondr.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_pulscondr.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_pulsdeath.ncs b/_content/_hak/prc8_mmd_top/nw_s1_pulsdeath.ncs index 68793262..c7f20c98 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_pulsdeath.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_pulsdeath.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_pulsdexdr.ncs b/_content/_hak/prc8_mmd_top/nw_s1_pulsdexdr.ncs index 60b1f47c..764a28e6 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_pulsdexdr.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_pulsdexdr.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_pulselec.ncs b/_content/_hak/prc8_mmd_top/nw_s1_pulselec.ncs index dd6a5f0c..8be0b100 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_pulselec.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_pulselec.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_pulsfire.ncs b/_content/_hak/prc8_mmd_top/nw_s1_pulsfire.ncs index 1da13e54..8563577f 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_pulsfire.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_pulsfire.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_pulsholy.ncs b/_content/_hak/prc8_mmd_top/nw_s1_pulsholy.ncs index 3b93769c..8eb4b95f 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_pulsholy.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_pulsholy.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_pulsintdr.ncs b/_content/_hak/prc8_mmd_top/nw_s1_pulsintdr.ncs index ddf504a3..b04960da 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_pulsintdr.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_pulsintdr.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_pulslvldr.ncs b/_content/_hak/prc8_mmd_top/nw_s1_pulslvldr.ncs index 408bf6e3..690cfcef 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_pulslvldr.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_pulslvldr.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_pulsneg.ncs b/_content/_hak/prc8_mmd_top/nw_s1_pulsneg.ncs index 7dc823b0..8123c997 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_pulsneg.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_pulsneg.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_pulsstrdr.ncs b/_content/_hak/prc8_mmd_top/nw_s1_pulsstrdr.ncs index 704c1cac..8953f549 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_pulsstrdr.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_pulsstrdr.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_pulswind.ncs b/_content/_hak/prc8_mmd_top/nw_s1_pulswind.ncs index 75d41338..88e74ba9 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_pulswind.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_pulswind.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_pulswisdr.ncs b/_content/_hak/prc8_mmd_top/nw_s1_pulswisdr.ncs index da829cab..7f7cd8a8 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_pulswisdr.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_pulswisdr.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_smokeclaw.ncs b/_content/_hak/prc8_mmd_top/nw_s1_smokeclaw.ncs index 2e5a5477..93a5c8e9 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_smokeclaw.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_smokeclaw.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_stink_a.ncs b/_content/_hak/prc8_mmd_top/nw_s1_stink_a.ncs index bca10c2f..af2a1d27 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_stink_a.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_stink_a.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s1_tyrantfga.ncs b/_content/_hak/prc8_mmd_top/nw_s1_tyrantfga.ncs index 5f27b264..f9187b7f 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s1_tyrantfga.ncs and b/_content/_hak/prc8_mmd_top/nw_s1_tyrantfga.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s2_divprot.ncs b/_content/_hak/prc8_mmd_top/nw_s2_divprot.ncs index 7f7632cd..4a49f721 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s2_divprot.ncs and b/_content/_hak/prc8_mmd_top/nw_s2_divprot.ncs differ diff --git a/_content/_hak/prc8_mmd_top/nw_s3_balordeth.ncs b/_content/_hak/prc8_mmd_top/nw_s3_balordeth.ncs index 4e9dd36d..e7bda487 100644 Binary files a/_content/_hak/prc8_mmd_top/nw_s3_balordeth.ncs and b/_content/_hak/prc8_mmd_top/nw_s3_balordeth.ncs differ diff --git a/_module/ifo/module.ifo.json b/_module/ifo/module.ifo.json index 8667e981..5507a72b 100644 --- a/_module/ifo/module.ifo.json +++ b/_module/ifo/module.ifo.json @@ -585,6 +585,13 @@ "Mod_HakList": { "type": "list", "value": [ + { + "__struct_id": 8, + "Mod_Hak": { + "type": "cexostring", + "value": "cep_prc8_uti" + } + }, { "__struct_id": 8, "Mod_Hak": { @@ -859,7 +866,7 @@ }, "Mod_OnPlrGuiEvt": { "type": "resref", - "value": "" + "value": "mod_gui" }, "Mod_OnPlrLvlUp": { "type": "resref", diff --git a/_module/ncs/mmd_onnui.ncs b/_module/ncs/mmd_onnui.ncs index ac636544..c2415dea 100644 Binary files a/_module/ncs/mmd_onnui.ncs and b/_module/ncs/mmd_onnui.ncs differ diff --git a/_module/ncs/mod_nui.ncs b/_module/ncs/mod_nui.ncs index 23a5d549..c6d75ebb 100644 Binary files a/_module/ncs/mod_nui.ncs and b/_module/ncs/mod_nui.ncs differ diff --git a/_module/ncs/obj_us_chest.ncs b/_module/ncs/obj_us_chest.ncs index 2b30867b..a52c2c7f 100644 Binary files a/_module/ncs/obj_us_chest.ncs and b/_module/ncs/obj_us_chest.ncs differ diff --git a/_module/ncs/x2_mod_def_load.ncs b/_module/ncs/x2_mod_def_load.ncs index 18f8c7c1..9723f968 100644 Binary files a/_module/ncs/x2_mod_def_load.ncs and b/_module/ncs/x2_mod_def_load.ncs differ diff --git a/_module/nss/mmd_onnui.nss b/_module/nss/mmd_onnui.nss index 71640ad3..4826bb2f 100644 --- a/_module/nss/mmd_onnui.nss +++ b/_module/nss/mmd_onnui.nss @@ -3,4 +3,6 @@ void main() { NUI(); + + ExecuteScript("prc_onplayernui"); } diff --git a/_module/nss/nw_inc_gff.nss b/_module/nss/nw_inc_gff.nss new file mode 100644 index 00000000..533cf218 --- /dev/null +++ b/_module/nss/nw_inc_gff.nss @@ -0,0 +1,623 @@ +// This is a helper library for advanced use: It allows constructing arbitrary gff data. +// You can then spawn your object via JsonToObject(). +// +// The data format is the same as https://github.com/niv/neverwinter.nim@1.4.3+. +// +// Example: +// +// json j = GffCreateObject(OBJECT_TYPE_ITEM); +// j = GffAddInt(j, "BaseItem", BASE_ITEM_BELT); +// j = GffAddInt(j, "ModelPart1", 12); +// j = GffAddLocString(j, "LocalizedName", "hi!"); +// object belt = JsonToObject(j, GetLocation(OBJECT_SELF)); + + +const string GFF_FIELD_TYPE_STRUCT = "struct"; +const string GFF_FIELD_TYPE_LIST = "list"; +const string GFF_FIELD_TYPE_BYTE = "byte"; +const string GFF_FIELD_TYPE_CHAR = "char"; +const string GFF_FIELD_TYPE_WORD = "word"; +const string GFF_FIELD_TYPE_SHORT = "short"; +const string GFF_FIELD_TYPE_DWORD = "dword"; +const string GFF_FIELD_TYPE_INT = "int"; +const string GFF_FIELD_TYPE_DWORD64 = "dword64"; +const string GFF_FIELD_TYPE_INT64 = "int64"; +const string GFF_FIELD_TYPE_FLOAT = "float"; +const string GFF_FIELD_TYPE_DOUBLE = "double"; +const string GFF_FIELD_TYPE_RESREF = "resref"; +const string GFF_FIELD_TYPE_STRING = "cexostring"; +const string GFF_FIELD_TYPE_LOC_STRING = "cexolocstring"; + + +// Create a empty object of the given type. You need to manually fill in all +// GFF data with GffAddXXX. This will require understanding of the GFF file format +// and what data fields each object type requires. +json GffCreateObject(int nObjectType); +// Create a combined area format(CAF) object. You need to manually create the ARE and GIT objects with their required data fields. +json GffCreateArea(json jARE, json jGIT); + +// Returns the OBJECT_TYPE_* of jGff. +// Note: Will return 0 for invalid object types, including areas. +int GffGetObjectType(json jGff); +// Returns TRUE if jGff is a combined area format(CAF) object. +int GffGetIsArea(json jGff); + +// Returns TRUE if a field named sLabel of sType exists in jGff. +// * sLabel: Can be a json pointer(path) without the starting /, see the documentation of JsonPointer() for details. +// * sType: An optional GFF_FIELD_TYPE_*, leave empty to check if sLabel exists regardless of type. +int GffGetFieldExists(json jGff, string sLabel, string sType = ""); + + +// Add a new field, will overwrite any existing fields with the same label even if the type is different. +// Returns a json null value on error with GetJsonError() filled in. +// +// sLabel can be a json pointer(path) without the starting /, see the documentation of JsonPointer() for details. +// For example, to add the tag of an area to an empty combined area format(CAF) object you can do the following: +// json jArea = GffCreateArea(JsonObject(), JsonObject()); +// jArea = GffAddString(jArea, "ARE/value/Tag", "AREA_TAG"); + +json GffAddStruct(json jGff, string sLabel, json jStruct, int nType = -1); +json GffAddList(json jGff, string sLabel, json jList); +json GffAddByte(json jGff, string sLabel, int v); +json GffAddChar(json jGff, string sLabel, int v); +json GffAddWord(json jGff, string sLabel, int v); +json GffAddShort(json jGff, string sLabel, int v); +// Note: Only data of type int32 will fit, because that's all that NWScript supports. +json GffAddDword(json jGff, string sLabel, int v); +json GffAddInt(json jGff, string sLabel, int v); +// Note: Only data of type int32 will fit, because that's all that NWScript supports. +json GffAddDword64(json jGff, string sLabel, int v); +// Note: Only data of type int32 will fit, because that's all that NWScript supports. +json GffAddInt64(json jGff, string sLabel, int v); +json GffAddFloat(json jGff, string sLabel, float v); +// Note: Only data of type float will fit, because that's all that NWScript supports. +json GffAddDouble(json jGff, string sLabel, float v); +json GffAddResRef(json jGff, string sLabel, string v); +json GffAddString(json jGff, string sLabel, string v); +json GffAddLocString(json jGff, string sLabel, string v, int nStrRef = -1); + + +// Replace a field, the type must match and the field must exist. +// Returns a json null value on error with GetJsonError() filled in. +// +// sLabel can be a json pointer(path) without the starting /, see the documentation of JsonPointer() for details. +// For example, to replace the name of an area in a combined area format(CAF) object you can do the following: +// json jArea = ObjectToStruct(GetFirstArea()); +// jArea = GffReplaceLocString(jArea, "ARE/value/Name", "New Area Name"); + +json GffReplaceStruct(json jGff, string sLabel, json jStruct); +json GffReplaceList(json jGff, string sLabel, json jList); +json GffReplaceByte(json jGff, string sLabel, int v); +json GffReplaceChar(json jGff, string sLabel, int v); +json GffReplaceWord(json jGff, string sLabel, int v); +json GffReplaceShort(json jGff, string sLabel, int v); +// Note: Only data of type int32 will fit, because that's all that NWScript supports. +json GffReplaceDword(json jGff, string sLabel, int v); +json GffReplaceInt(json jGff, string sLabel, int v); +// Note: Only data of type int32 will fit, because that's all that NWScript supports. +json GffReplaceDword64(json jGff, string sLabel, int v); +// Note: Only data of type int32 will fit, because that's all that NWScript supports. +json GffReplaceInt64(json jGff, string sLabel, int v); +json GffReplaceFloat(json jGff, string sLabel, float v); +// Note: Only data of type float will fit, because that's all that NWScript supports. +json GffReplaceDouble(json jGff, string sLabel, float v); +json GffReplaceResRef(json jGff, string sLabel, string v); +json GffReplaceString(json jGff, string sLabel, string v); +json GffReplaceLocString(json jGff, string sLabel, string v, int nStrRef = -1); + + +// Remove a field, the type must match and the field must exist. +// Returns a json null value on error with GetJsonError() filled in. +// +// sLabel can be a json pointer(path) without the starting /, see the documentation of JsonPointer() for details. +// For example, to remove all placeables from an area in a combined area format(CAF) object you can do the following: +// json jArea = ObjectToStruct(GetFirstArea()); +// jArea = GffRemoveList(jArea, "GIT/value/Placeable List"); + +json GffRemoveStruct(json jGff, string sLabel); +json GffRemoveList(json jGff, string sLabel); +json GffRemoveByte(json jGff, string sLabel); +json GffRemoveChar(json jGff, string sLabel); +json GffRemoveWord(json jGff, string sLabel); +json GffRemoveShort(json jGff, string sLabel); +json GffRemoveDword(json jGff, string sLabel); +json GffRemoveInt(json jGff, string sLabel); +json GffRemoveDword64(json jGff, string sLabel); +json GffRemoveInt64(json jGff, string sLabel); +json GffRemoveFloat(json jGff, string sLabel); +json GffRemoveDouble(json jGff, string sLabel); +json GffRemoveResRef(json jGff, string sLabel); +json GffRemoveString(json jGff, string sLabel); +json GffRemoveLocString(json jGff, string sLabel); + + +// Get a field's value as json object. +// Returns a json null value on error with GetJsonError() filled in. +// +// Note: Json types do not implicitly convert between types, this means you cannot convert a JsonInt to a string with JsonGetString(), etc. +// You may need to check the type with JsonGetType() and then do the appropriate cast yourself. +// For GffGet*() functions the json type returned is noted in the function description. +// +// Example: +// INCORRECT: string s = JsonGetString(GffGetInt()); +// CORRECT: string s = IntToString(JsonGetInt(GffGetInt())); +// +// sLabel can be a json pointer(path) without the starting /, see the documentation of JsonPointer() for details. +// For example, to get the resref of an area in a combined area format(CAF) object you can do the following: +// json jResRef = GffGetResRef(ObjectToStruct(GetFirstArea()), "ARE/value/ResRef"); +// if (jResRef != JsonNull()) +// { +// string sResRef = JsonGetString(jResRef); +// } +// else +// WriteTimestampedLogEntry("Failed to get area ResRef: " + JsonGetError(jResRef)); + +// Returns the struct as JsonObject() on success. +json GffGetStruct(json jGff, string sLabel); +// Returns a JsonArray() with all the list elements on success. +json GffGetList(json jGff, string sLabel); +// Returns a JsonInt() on success. +json GffGetByte(json jGff, string sLabel); +// Returns a JsonInt() on success. +json GffGetChar(json jGff, string sLabel); +// Returns a JsonInt() on success. +json GffGetWord(json jGff, string sLabel); +// Returns a JsonInt() on success. +json GffGetShort(json jGff, string sLabel); +// Returns a JsonInt() on success. +json GffGetDword(json jGff, string sLabel); +// Returns a JsonInt() on success. +json GffGetInt(json jGff, string sLabel); +// Returns a JsonInt() on success. +json GffGetDword64(json jGff, string sLabel); +// Returns a JsonInt() on success. +json GffGetInt64(json jGff, string sLabel); +// Returns a JsonFloat() on success. +json GffGetFloat(json jGff, string sLabel); +// Returns a JsonFloat() on success. +json GffGetDouble(json jGff, string sLabel); +// Returns a JsonString() on success. +json GffGetResRef(json jGff, string sLabel); +// Returns a JsonString() on success. +json GffGetString(json jGff, string sLabel); +// Returns a JsonObject() on success. +// Key "0" will have a JsonString() with the string, if set. +// Key "id" will have a JsonInt() with the strref, if set. +json GffGetLocString(json jGff, string sLabel); + + +// *** Internal Helper Functions +json AddPatchOperation(json jPatchArray, string sOp, string sPath, json jValue) +{ + json jOperation = JsonObject(); + jOperation = JsonObjectSet(jOperation, "op", JsonString(sOp)); + jOperation = JsonObjectSet(jOperation, "path", JsonString(sPath)); + jOperation = JsonObjectSet(jOperation, "value", jValue); + return JsonArrayInsert(jPatchArray, jOperation); +} + +json GffAddField(json jGff, string sLabel, string sType, json jValue, int nType = -1) +{ + json jField = JsonObject(); + jField = JsonObjectSet(jField, "type", JsonString(sType)); + jField = JsonObjectSet(jField, "value", jValue); + if (sType == GFF_FIELD_TYPE_STRUCT && nType != -1) + jField = JsonObjectSet(jField, "__struct_id", JsonInt(nType)); + + return JsonPatch(jGff, AddPatchOperation(JsonArray(), "add", "/" + sLabel, jField)); +} + +json GffReplaceField(json jGff, string sLabel, string sType, json jValue) +{ + json jPatch = JsonArray(); + jPatch = AddPatchOperation(jPatch, "test", "/" + sLabel + "/type", JsonString(sType)); + jPatch = AddPatchOperation(jPatch, "replace", "/" + sLabel + "/value", jValue); + return JsonPatch(jGff, jPatch); +} + +json GffRemoveField(json jGff, string sLabel, string sType) +{ + json jPatch = JsonArray(); + jPatch = AddPatchOperation(jPatch, "test", "/" + sLabel + "/type", JsonString(sType)); + jPatch = AddPatchOperation(jPatch, "remove", "/" + sLabel, JsonNull()); + return JsonPatch(jGff, jPatch); +} + +json GffGetFieldType(json jGff, string sLabel) +{ + return JsonPointer(jGff, "/" + sLabel + "/type"); +} + +json GffGetFieldValue(json jGff, string sLabel) +{ + return JsonPointer(jGff, "/" + sLabel + "/value"); +} + +json GffGetField(json jGff, string sLabel, string sType) +{ + json jType = GffGetFieldType(jGff, sLabel); + if (jType == JsonNull()) + return jType; + else if (jType != JsonString(sType)) + return JsonNull("field type does not match"); + else + return GffGetFieldValue(jGff, sLabel); +} + +json GffLocString(string v, int nStrRef = -1) +{ + json jLocString = JsonObject(); + if (v != "") + jLocString = JsonObjectSet(jLocString, "0", JsonString(v)); // english/any + if (nStrRef != -1) + jLocString = JsonObjectSet(jLocString, "id", JsonInt(nStrRef)); + + return jLocString; +} +//*** + +json GffCreateObject(int nObjectType) +{ + string ot; + if (nObjectType == OBJECT_TYPE_CREATURE) ot = "UTC "; + else if (nObjectType == OBJECT_TYPE_ITEM) ot = "UTI "; + else if (nObjectType == OBJECT_TYPE_TRIGGER) ot = "UTT "; + else if (nObjectType == OBJECT_TYPE_DOOR) ot = "UTD "; + else if (nObjectType == OBJECT_TYPE_WAYPOINT) ot = "UTW "; + else if (nObjectType == OBJECT_TYPE_PLACEABLE) ot = "UTP "; + else if (nObjectType == OBJECT_TYPE_STORE) ot = "UTM "; + else if (nObjectType == OBJECT_TYPE_ENCOUNTER) ot = "UTE "; + + if (ot == "") return JsonNull("invalid object type"); + + json ret = JsonObject(); + ret = JsonObjectSet(ret, "__data_type", JsonString(ot)); + return ret; +} + +json GffCreateArea(json jARE, json jGIT) +{ + json jCAF = JsonObject(); + jCAF = JsonObjectSet(jCAF, "__data_type", JsonString("CAF ")); + jCAF = GffAddStruct(jCAF, "ARE", jARE, 0); + jCAF = GffAddStruct(jCAF, "GIT", jGIT, 1); + return jCAF; +} + + +int GffGetObjectType(json jGff) +{ + json jDataType = JsonObjectGet(jGff, "__data_type"); + if (jDataType == JsonNull()) + return 0; + else + { + string sObjectType = JsonGetString(jDataType); + + if (sObjectType == "UTC ") return OBJECT_TYPE_CREATURE; + else if (sObjectType == "UTI ") return OBJECT_TYPE_ITEM; + else if (sObjectType == "UTT ") return OBJECT_TYPE_TRIGGER; + else if (sObjectType == "UTD ") return OBJECT_TYPE_DOOR; + else if (sObjectType == "UTW ") return OBJECT_TYPE_WAYPOINT; + else if (sObjectType == "UTP ") return OBJECT_TYPE_PLACEABLE; + else if (sObjectType == "UTM ") return OBJECT_TYPE_STORE; + else if (sObjectType == "UTE ") return OBJECT_TYPE_ENCOUNTER; + } + + return 0; +} + +int GffGetIsArea(json jGff) +{ + return JsonObjectGet(jGff, "__data_type") == JsonString("CAF "); +} + +int GffGetFieldExists(json jGff, string sLabel, string sType = "") +{ + json jFieldType = GffGetFieldType(jGff, sLabel); + return sType == "" ? jFieldType != JsonNull() : jFieldType == JsonString(sType); +} + + +json GffAddStruct(json jGff, string sLabel, json jStruct, int nType = -1) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_STRUCT, jStruct, nType); +} + +json GffAddList(json jGff, string sLabel, json jList) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_LIST, jList); +} + +json GffAddByte(json jGff, string sLabel, int v) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_BYTE, JsonInt(v)); +} + +json GffAddChar(json jGff, string sLabel, int v) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_CHAR, JsonInt(v)); +} + +json GffAddWord(json jGff, string sLabel, int v) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_WORD, JsonInt(v)); +} + +json GffAddShort(json jGff, string sLabel, int v) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_SHORT, JsonInt(v)); +} + +json GffAddDword(json jGff, string sLabel, int v) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_DWORD, JsonInt(v)); +} + +json GffAddInt(json jGff, string sLabel, int v) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_INT, JsonInt(v)); +} + +json GffAddDword64(json jGff, string sLabel, int v) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_DWORD64, JsonInt(v)); +} + +json GffAddInt64(json jGff, string sLabel, int v) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_INT64, JsonInt(v)); +} + +json GffAddFloat(json jGff, string sLabel, float v) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_FLOAT, JsonFloat(v)); +} + +json GffAddDouble(json jGff, string sLabel, float v) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_DOUBLE, JsonFloat(v)); +} + +json GffAddResRef(json jGff, string sLabel, string v) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_RESREF, JsonString(v)); +} + +json GffAddString(json jGff, string sLabel, string v) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_STRING, JsonString(v)); +} + +json GffAddLocString(json jGff, string sLabel, string v, int nStrRef = -1) +{ + return GffAddField(jGff, sLabel, GFF_FIELD_TYPE_LOC_STRING, GffLocString(v, nStrRef)); +} + + +json GffReplaceStruct(json jGff, string sLabel, json jStruct) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_STRUCT, jStruct); +} + +json GffReplaceList(json jGff, string sLabel, json jList) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_LIST, jList); +} + +json GffReplaceByte(json jGff, string sLabel, int v) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_BYTE, JsonInt(v)); +} + +json GffReplaceChar(json jGff, string sLabel, int v) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_CHAR, JsonInt(v)); +} + +json GffReplaceWord(json jGff, string sLabel, int v) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_WORD, JsonInt(v)); +} + +json GffReplaceShort(json jGff, string sLabel, int v) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_SHORT, JsonInt(v)); +} + +json GffReplaceDword(json jGff, string sLabel, int v) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_DWORD, JsonInt(v)); +} + +json GffReplaceInt(json jGff, string sLabel, int v) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_INT, JsonInt(v)); +} + +json GffReplaceDword64(json jGff, string sLabel, int v) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_DWORD64, JsonInt(v)); +} + +json GffReplaceInt64(json jGff, string sLabel, int v) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_INT64, JsonInt(v)); +} + +json GffReplaceFloat(json jGff, string sLabel, float v) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_FLOAT, JsonFloat(v)); +} + +json GffReplaceDouble(json jGff, string sLabel, float v) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_DOUBLE, JsonFloat(v)); +} + +json GffReplaceResRef(json jGff, string sLabel, string v) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_RESREF, JsonString(v)); +} + +json GffReplaceString(json jGff, string sLabel, string v) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_STRING, JsonString(v)); +} + +json GffReplaceLocString(json jGff, string sLabel, string v, int nStrRef = -1) +{ + return GffReplaceField(jGff, sLabel, GFF_FIELD_TYPE_LOC_STRING, GffLocString(v, nStrRef)); +} + + +json GffRemoveStruct(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_STRUCT); +} + +json GffRemoveList(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_LIST); +} + +json GffRemoveByte(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_BYTE); +} + +json GffRemoveChar(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_CHAR); +} + +json GffRemoveWord(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_WORD); +} + +json GffRemoveShort(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_SHORT); +} + +json GffRemoveDword(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_DWORD); +} + +json GffRemoveInt(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_INT); +} + +json GffRemoveDword64(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_DWORD64); +} + +json GffRemoveInt64(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_INT64); +} + +json GffRemoveFloat(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_FLOAT); +} + +json GffRemoveDouble(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_DOUBLE); +} + +json GffRemoveResRef(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_RESREF); +} + +json GffRemoveString(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_STRING); +} + +json GffRemoveLocString(json jGff, string sLabel) +{ + return GffRemoveField(jGff, sLabel, GFF_FIELD_TYPE_LOC_STRING); +} + + +json GffGetStruct(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_STRUCT); +} + +json GffGetList(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_LIST); +} + +json GffGetByte(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_BYTE); +} + +json GffGetChar(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_CHAR); +} + +json GffGetWord(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_WORD); +} + +json GffGetShort(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_SHORT); +} + +json GffGetDword(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_DWORD); +} + +json GffGetInt(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_INT); +} + +json GffGetDword64(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_DWORD64); +} + +json GffGetInt64(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_INT64); +} + +json GffGetFloat(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_FLOAT); +} + +json GffGetDouble(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_DOUBLE); +} + +json GffGetResRef(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_RESREF); +} + +json GffGetString(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_STRING); +} + +json GffGetLocString(json jGff, string sLabel) +{ + return GffGetField(jGff, sLabel, GFF_FIELD_TYPE_LOC_STRING); +} diff --git a/_module/nss/x2_mod_def_load.nss b/_module/nss/x2_mod_def_load.nss index 5cc0cb46..791f52a5 100644 --- a/_module/nss/x2_mod_def_load.nss +++ b/_module/nss/x2_mod_def_load.nss @@ -39,9 +39,9 @@ void main() { - SetEventScript(GetModule(), EVENT_SCRIPT_MODULE_ON_NUI_EVENT, "mod_nui"); +/* SetEventScript(GetModule(), EVENT_SCRIPT_MODULE_ON_NUI_EVENT, "mod_nui"); SetEventScript(GetModule(), EVENT_SCRIPT_MODULE_ON_PLAYER_TARGET, "mod_target"); - SetEventScript(GetModule(), EVENT_SCRIPT_MODULE_ON_PLAYER_GUIEVENT, "mod_gui"); + SetEventScript(GetModule(), EVENT_SCRIPT_MODULE_ON_PLAYER_GUIEVENT, "mod_gui"); */ NUI();