diff --git a/_content/BuildHaks.cmd b/_content/BuildHaks.cmd new file mode 100644 index 00000000..cc40b21d --- /dev/null +++ b/_content/BuildHaks.cmd @@ -0,0 +1,3 @@ +cd _tools\ +NWN.CLI.exe -k +cd .. \ No newline at end of file diff --git a/_module/ncs/nw_s1_aurablnda.ncs b/_content/_hak/asch_prc8_top/nw_s1_aurablnda.ncs similarity index 100% rename from _module/ncs/nw_s1_aurablnda.ncs rename to _content/_hak/asch_prc8_top/nw_s1_aurablnda.ncs diff --git a/_module/nss/nw_s1_aurablnda.nss b/_content/_hak/asch_prc8_top/nw_s1_aurablnda.nss similarity index 100% rename from _module/nss/nw_s1_aurablnda.nss rename to _content/_hak/asch_prc8_top/nw_s1_aurablnda.nss diff --git a/_module/ncs/nw_s1_auracoldc.ncs b/_content/_hak/asch_prc8_top/nw_s1_auracoldc.ncs similarity index 100% rename from _module/ncs/nw_s1_auracoldc.ncs rename to _content/_hak/asch_prc8_top/nw_s1_auracoldc.ncs diff --git a/_module/nss/nw_s1_auracoldc.nss b/_content/_hak/asch_prc8_top/nw_s1_auracoldc.nss similarity index 100% rename from _module/nss/nw_s1_auracoldc.nss rename to _content/_hak/asch_prc8_top/nw_s1_auracoldc.nss diff --git a/_module/ncs/nw_s1_auraelecc.ncs b/_content/_hak/asch_prc8_top/nw_s1_auraelecc.ncs similarity index 100% rename from _module/ncs/nw_s1_auraelecc.ncs rename to _content/_hak/asch_prc8_top/nw_s1_auraelecc.ncs diff --git a/_module/nss/nw_s1_auraelecc.nss b/_content/_hak/asch_prc8_top/nw_s1_auraelecc.nss similarity index 100% rename from _module/nss/nw_s1_auraelecc.nss rename to _content/_hak/asch_prc8_top/nw_s1_auraelecc.nss diff --git a/_module/ncs/nw_s1_aurafirec.ncs b/_content/_hak/asch_prc8_top/nw_s1_aurafirec.ncs similarity index 100% rename from _module/ncs/nw_s1_aurafirec.ncs rename to _content/_hak/asch_prc8_top/nw_s1_aurafirec.ncs diff --git a/_module/nss/nw_s1_aurafirec.nss b/_content/_hak/asch_prc8_top/nw_s1_aurafirec.nss similarity index 100% rename from _module/nss/nw_s1_aurafirec.nss rename to _content/_hak/asch_prc8_top/nw_s1_aurafirec.nss diff --git a/_module/ncs/nw_s1_auramenca.ncs b/_content/_hak/asch_prc8_top/nw_s1_auramenca.ncs similarity index 100% rename from _module/ncs/nw_s1_auramenca.ncs rename to _content/_hak/asch_prc8_top/nw_s1_auramenca.ncs diff --git a/_module/nss/nw_s1_auramenca.nss b/_content/_hak/asch_prc8_top/nw_s1_auramenca.nss similarity index 100% rename from _module/nss/nw_s1_auramenca.nss rename to _content/_hak/asch_prc8_top/nw_s1_auramenca.nss diff --git a/_module/ncs/nw_s1_auraprota.ncs b/_content/_hak/asch_prc8_top/nw_s1_auraprota.ncs similarity index 100% rename from _module/ncs/nw_s1_auraprota.ncs rename to _content/_hak/asch_prc8_top/nw_s1_auraprota.ncs diff --git a/_module/nss/nw_s1_auraprota.nss b/_content/_hak/asch_prc8_top/nw_s1_auraprota.nss similarity index 100% rename from _module/nss/nw_s1_auraprota.nss rename to _content/_hak/asch_prc8_top/nw_s1_auraprota.nss diff --git a/_module/ncs/nw_s1_aurastuna.ncs b/_content/_hak/asch_prc8_top/nw_s1_aurastuna.ncs similarity index 100% rename from _module/ncs/nw_s1_aurastuna.ncs rename to _content/_hak/asch_prc8_top/nw_s1_aurastuna.ncs diff --git a/_module/nss/nw_s1_aurastuna.nss b/_content/_hak/asch_prc8_top/nw_s1_aurastuna.nss similarity index 100% rename from _module/nss/nw_s1_aurastuna.nss rename to _content/_hak/asch_prc8_top/nw_s1_aurastuna.nss diff --git a/_module/ncs/nw_s1_auraunata.ncs b/_content/_hak/asch_prc8_top/nw_s1_auraunata.ncs similarity index 100% rename from _module/ncs/nw_s1_auraunata.ncs rename to _content/_hak/asch_prc8_top/nw_s1_auraunata.ncs diff --git a/_module/nss/nw_s1_auraunata.nss b/_content/_hak/asch_prc8_top/nw_s1_auraunata.nss similarity index 100% rename from _module/nss/nw_s1_auraunata.nss rename to _content/_hak/asch_prc8_top/nw_s1_auraunata.nss diff --git a/_module/ncs/nw_s1_aurauneaa.ncs b/_content/_hak/asch_prc8_top/nw_s1_aurauneaa.ncs similarity index 100% rename from _module/ncs/nw_s1_aurauneaa.ncs rename to _content/_hak/asch_prc8_top/nw_s1_aurauneaa.ncs diff --git a/_module/nss/nw_s1_aurauneaa.nss b/_content/_hak/asch_prc8_top/nw_s1_aurauneaa.nss similarity index 100% rename from _module/nss/nw_s1_aurauneaa.nss rename to _content/_hak/asch_prc8_top/nw_s1_aurauneaa.nss diff --git a/_module/ncs/nw_s1_bltacid.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltacid.ncs similarity index 100% rename from _module/ncs/nw_s1_bltacid.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltacid.ncs diff --git a/_module/nss/nw_s1_bltacid.nss b/_content/_hak/asch_prc8_top/nw_s1_bltacid.nss similarity index 100% rename from _module/nss/nw_s1_bltacid.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltacid.nss diff --git a/_module/ncs/nw_s1_bltcharm.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltcharm.ncs similarity index 100% rename from _module/ncs/nw_s1_bltcharm.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltcharm.ncs diff --git a/_module/nss/nw_s1_bltcharm.nss b/_content/_hak/asch_prc8_top/nw_s1_bltcharm.nss similarity index 100% rename from _module/nss/nw_s1_bltcharm.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltcharm.nss diff --git a/_module/ncs/nw_s1_bltchrdr.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltchrdr.ncs similarity index 100% rename from _module/ncs/nw_s1_bltchrdr.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltchrdr.ncs diff --git a/_module/nss/nw_s1_bltchrdr.nss b/_content/_hak/asch_prc8_top/nw_s1_bltchrdr.nss similarity index 100% rename from _module/nss/nw_s1_bltchrdr.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltchrdr.nss diff --git a/_module/ncs/nw_s1_bltcold.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltcold.ncs similarity index 100% rename from _module/ncs/nw_s1_bltcold.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltcold.ncs diff --git a/_module/nss/nw_s1_bltcold.nss b/_content/_hak/asch_prc8_top/nw_s1_bltcold.nss similarity index 100% rename from _module/nss/nw_s1_bltcold.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltcold.nss diff --git a/_module/ncs/nw_s1_bltcondr.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltcondr.ncs similarity index 100% rename from _module/ncs/nw_s1_bltcondr.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltcondr.ncs diff --git a/_module/nss/nw_s1_bltcondr.nss b/_content/_hak/asch_prc8_top/nw_s1_bltcondr.nss similarity index 100% rename from _module/nss/nw_s1_bltcondr.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltcondr.nss diff --git a/_module/ncs/nw_s1_bltconf.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltconf.ncs similarity index 100% rename from _module/ncs/nw_s1_bltconf.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltconf.ncs diff --git a/_module/nss/nw_s1_bltconf.nss b/_content/_hak/asch_prc8_top/nw_s1_bltconf.nss similarity index 100% rename from _module/nss/nw_s1_bltconf.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltconf.nss diff --git a/_module/ncs/nw_s1_bltdaze.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltdaze.ncs similarity index 100% rename from _module/ncs/nw_s1_bltdaze.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltdaze.ncs diff --git a/_module/nss/nw_s1_bltdaze.nss b/_content/_hak/asch_prc8_top/nw_s1_bltdaze.nss similarity index 100% rename from _module/nss/nw_s1_bltdaze.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltdaze.nss diff --git a/_module/ncs/nw_s1_bltdeath.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltdeath.ncs similarity index 100% rename from _module/ncs/nw_s1_bltdeath.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltdeath.ncs diff --git a/_module/nss/nw_s1_bltdeath.nss b/_content/_hak/asch_prc8_top/nw_s1_bltdeath.nss similarity index 100% rename from _module/nss/nw_s1_bltdeath.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltdeath.nss diff --git a/_module/ncs/nw_s1_bltdexdr.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltdexdr.ncs similarity index 100% rename from _module/ncs/nw_s1_bltdexdr.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltdexdr.ncs diff --git a/_module/nss/nw_s1_bltdexdr.nss b/_content/_hak/asch_prc8_top/nw_s1_bltdexdr.nss similarity index 100% rename from _module/nss/nw_s1_bltdexdr.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltdexdr.nss diff --git a/_module/ncs/nw_s1_bltdisese.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltdisese.ncs similarity index 100% rename from _module/ncs/nw_s1_bltdisese.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltdisese.ncs diff --git a/_module/nss/nw_s1_bltdisese.nss b/_content/_hak/asch_prc8_top/nw_s1_bltdisese.nss similarity index 100% rename from _module/nss/nw_s1_bltdisese.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltdisese.nss diff --git a/_module/ncs/nw_s1_bltdomn.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltdomn.ncs similarity index 100% rename from _module/ncs/nw_s1_bltdomn.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltdomn.ncs diff --git a/_module/nss/nw_s1_bltdomn.nss b/_content/_hak/asch_prc8_top/nw_s1_bltdomn.nss similarity index 100% rename from _module/nss/nw_s1_bltdomn.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltdomn.nss diff --git a/_module/ncs/nw_s1_bltfire.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltfire.ncs similarity index 100% rename from _module/ncs/nw_s1_bltfire.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltfire.ncs diff --git a/_module/nss/nw_s1_bltfire.nss b/_content/_hak/asch_prc8_top/nw_s1_bltfire.nss similarity index 100% rename from _module/nss/nw_s1_bltfire.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltfire.nss diff --git a/_module/ncs/nw_s1_bltintdr.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltintdr.ncs similarity index 100% rename from _module/ncs/nw_s1_bltintdr.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltintdr.ncs diff --git a/_module/nss/nw_s1_bltintdr.nss b/_content/_hak/asch_prc8_top/nw_s1_bltintdr.nss similarity index 100% rename from _module/nss/nw_s1_bltintdr.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltintdr.nss diff --git a/_module/ncs/nw_s1_bltknckd.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltknckd.ncs similarity index 100% rename from _module/ncs/nw_s1_bltknckd.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltknckd.ncs diff --git a/_module/nss/nw_s1_bltknckd.nss b/_content/_hak/asch_prc8_top/nw_s1_bltknckd.nss similarity index 100% rename from _module/nss/nw_s1_bltknckd.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltknckd.nss diff --git a/_module/ncs/nw_s1_bltlightn.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltlightn.ncs similarity index 100% rename from _module/ncs/nw_s1_bltlightn.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltlightn.ncs diff --git a/_module/nss/nw_s1_bltlightn.nss b/_content/_hak/asch_prc8_top/nw_s1_bltlightn.nss similarity index 100% rename from _module/nss/nw_s1_bltlightn.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltlightn.nss diff --git a/_module/ncs/nw_s1_bltlvldr.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltlvldr.ncs similarity index 100% rename from _module/ncs/nw_s1_bltlvldr.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltlvldr.ncs diff --git a/_module/nss/nw_s1_bltlvldr.nss b/_content/_hak/asch_prc8_top/nw_s1_bltlvldr.nss similarity index 100% rename from _module/nss/nw_s1_bltlvldr.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltlvldr.nss diff --git a/_module/ncs/nw_s1_bltparal.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltparal.ncs similarity index 100% rename from _module/ncs/nw_s1_bltparal.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltparal.ncs diff --git a/_module/nss/nw_s1_bltparal.nss b/_content/_hak/asch_prc8_top/nw_s1_bltparal.nss similarity index 100% rename from _module/nss/nw_s1_bltparal.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltparal.nss diff --git a/_module/ncs/nw_s1_bltpoison.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltpoison.ncs similarity index 100% rename from _module/ncs/nw_s1_bltpoison.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltpoison.ncs diff --git a/_module/nss/nw_s1_bltpoison.nss b/_content/_hak/asch_prc8_top/nw_s1_bltpoison.nss similarity index 100% rename from _module/nss/nw_s1_bltpoison.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltpoison.nss diff --git a/_module/ncs/nw_s1_bltshards.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltshards.ncs similarity index 100% rename from _module/ncs/nw_s1_bltshards.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltshards.ncs diff --git a/_module/nss/nw_s1_bltshards.nss b/_content/_hak/asch_prc8_top/nw_s1_bltshards.nss similarity index 100% rename from _module/nss/nw_s1_bltshards.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltshards.nss diff --git a/_module/ncs/nw_s1_bltslow.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltslow.ncs similarity index 100% rename from _module/ncs/nw_s1_bltslow.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltslow.ncs diff --git a/_module/nss/nw_s1_bltslow.nss b/_content/_hak/asch_prc8_top/nw_s1_bltslow.nss similarity index 100% rename from _module/nss/nw_s1_bltslow.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltslow.nss diff --git a/_module/ncs/nw_s1_bltstrdr.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltstrdr.ncs similarity index 100% rename from _module/ncs/nw_s1_bltstrdr.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltstrdr.ncs diff --git a/_module/nss/nw_s1_bltstrdr.nss b/_content/_hak/asch_prc8_top/nw_s1_bltstrdr.nss similarity index 100% rename from _module/nss/nw_s1_bltstrdr.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltstrdr.nss diff --git a/_module/ncs/nw_s1_bltstun.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltstun.ncs similarity index 100% rename from _module/ncs/nw_s1_bltstun.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltstun.ncs diff --git a/_module/nss/nw_s1_bltstun.nss b/_content/_hak/asch_prc8_top/nw_s1_bltstun.nss similarity index 100% rename from _module/nss/nw_s1_bltstun.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltstun.nss diff --git a/_module/ncs/nw_s1_bltweb.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltweb.ncs similarity index 100% rename from _module/ncs/nw_s1_bltweb.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltweb.ncs diff --git a/_module/nss/nw_s1_bltweb.nss b/_content/_hak/asch_prc8_top/nw_s1_bltweb.nss similarity index 100% rename from _module/nss/nw_s1_bltweb.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltweb.nss diff --git a/_module/ncs/nw_s1_bltwisdr.ncs b/_content/_hak/asch_prc8_top/nw_s1_bltwisdr.ncs similarity index 100% rename from _module/ncs/nw_s1_bltwisdr.ncs rename to _content/_hak/asch_prc8_top/nw_s1_bltwisdr.ncs diff --git a/_module/nss/nw_s1_bltwisdr.nss b/_content/_hak/asch_prc8_top/nw_s1_bltwisdr.nss similarity index 100% rename from _module/nss/nw_s1_bltwisdr.nss rename to _content/_hak/asch_prc8_top/nw_s1_bltwisdr.nss diff --git a/_module/ncs/nw_s1_coneacid.ncs b/_content/_hak/asch_prc8_top/nw_s1_coneacid.ncs similarity index 100% rename from _module/ncs/nw_s1_coneacid.ncs rename to _content/_hak/asch_prc8_top/nw_s1_coneacid.ncs diff --git a/_module/nss/nw_s1_coneacid.nss b/_content/_hak/asch_prc8_top/nw_s1_coneacid.nss similarity index 100% rename from _module/nss/nw_s1_coneacid.nss rename to _content/_hak/asch_prc8_top/nw_s1_coneacid.nss diff --git a/_module/ncs/nw_s1_conecold.ncs b/_content/_hak/asch_prc8_top/nw_s1_conecold.ncs similarity index 100% rename from _module/ncs/nw_s1_conecold.ncs rename to _content/_hak/asch_prc8_top/nw_s1_conecold.ncs diff --git a/_module/nss/nw_s1_conecold.nss b/_content/_hak/asch_prc8_top/nw_s1_conecold.nss similarity index 100% rename from _module/nss/nw_s1_conecold.nss rename to _content/_hak/asch_prc8_top/nw_s1_conecold.nss diff --git a/_module/ncs/nw_s1_conedisea.ncs b/_content/_hak/asch_prc8_top/nw_s1_conedisea.ncs similarity index 100% rename from _module/ncs/nw_s1_conedisea.ncs rename to _content/_hak/asch_prc8_top/nw_s1_conedisea.ncs diff --git a/_module/nss/nw_s1_conedisea.nss b/_content/_hak/asch_prc8_top/nw_s1_conedisea.nss similarity index 100% rename from _module/nss/nw_s1_conedisea.nss rename to _content/_hak/asch_prc8_top/nw_s1_conedisea.nss diff --git a/_module/ncs/nw_s1_coneelec.ncs b/_content/_hak/asch_prc8_top/nw_s1_coneelec.ncs similarity index 100% rename from _module/ncs/nw_s1_coneelec.ncs rename to _content/_hak/asch_prc8_top/nw_s1_coneelec.ncs diff --git a/_module/nss/nw_s1_coneelec.nss b/_content/_hak/asch_prc8_top/nw_s1_coneelec.nss similarity index 100% rename from _module/nss/nw_s1_coneelec.nss rename to _content/_hak/asch_prc8_top/nw_s1_coneelec.nss diff --git a/_module/ncs/nw_s1_conesonic.ncs b/_content/_hak/asch_prc8_top/nw_s1_conesonic.ncs similarity index 100% rename from _module/ncs/nw_s1_conesonic.ncs rename to _content/_hak/asch_prc8_top/nw_s1_conesonic.ncs diff --git a/_module/nss/nw_s1_conesonic.nss b/_content/_hak/asch_prc8_top/nw_s1_conesonic.nss similarity index 100% rename from _module/nss/nw_s1_conesonic.nss rename to _content/_hak/asch_prc8_top/nw_s1_conesonic.nss diff --git a/_module/ncs/nw_s1_dragfear.ncs b/_content/_hak/asch_prc8_top/nw_s1_dragfear.ncs similarity index 100% rename from _module/ncs/nw_s1_dragfear.ncs rename to _content/_hak/asch_prc8_top/nw_s1_dragfear.ncs diff --git a/_module/nss/nw_s1_dragfear.nss b/_content/_hak/asch_prc8_top/nw_s1_dragfear.nss similarity index 100% rename from _module/nss/nw_s1_dragfear.nss rename to _content/_hak/asch_prc8_top/nw_s1_dragfear.nss diff --git a/_module/ncs/nw_s1_dragfeara.ncs b/_content/_hak/asch_prc8_top/nw_s1_dragfeara.ncs similarity index 100% rename from _module/ncs/nw_s1_dragfeara.ncs rename to _content/_hak/asch_prc8_top/nw_s1_dragfeara.ncs diff --git a/_module/nss/nw_s1_dragfeara.nss b/_content/_hak/asch_prc8_top/nw_s1_dragfeara.nss similarity index 100% rename from _module/nss/nw_s1_dragfeara.nss rename to _content/_hak/asch_prc8_top/nw_s1_dragfeara.nss diff --git a/_module/ncs/nw_s1_feroc3.ncs b/_content/_hak/asch_prc8_top/nw_s1_feroc3.ncs similarity index 100% rename from _module/ncs/nw_s1_feroc3.ncs rename to _content/_hak/asch_prc8_top/nw_s1_feroc3.ncs diff --git a/_module/nss/nw_s1_feroc3.nss b/_content/_hak/asch_prc8_top/nw_s1_feroc3.nss similarity index 100% rename from _module/nss/nw_s1_feroc3.nss rename to _content/_hak/asch_prc8_top/nw_s1_feroc3.nss diff --git a/_module/ncs/nw_s1_gazechaos.ncs b/_content/_hak/asch_prc8_top/nw_s1_gazechaos.ncs similarity index 100% rename from _module/ncs/nw_s1_gazechaos.ncs rename to _content/_hak/asch_prc8_top/nw_s1_gazechaos.ncs diff --git a/_module/nss/nw_s1_gazechaos.nss b/_content/_hak/asch_prc8_top/nw_s1_gazechaos.nss similarity index 100% rename from _module/nss/nw_s1_gazechaos.nss rename to _content/_hak/asch_prc8_top/nw_s1_gazechaos.nss diff --git a/_module/ncs/nw_s1_gazecharm.ncs b/_content/_hak/asch_prc8_top/nw_s1_gazecharm.ncs similarity index 100% rename from _module/ncs/nw_s1_gazecharm.ncs rename to _content/_hak/asch_prc8_top/nw_s1_gazecharm.ncs diff --git a/_module/nss/nw_s1_gazecharm.nss b/_content/_hak/asch_prc8_top/nw_s1_gazecharm.nss similarity index 100% rename from _module/nss/nw_s1_gazecharm.nss rename to _content/_hak/asch_prc8_top/nw_s1_gazecharm.nss diff --git a/_module/ncs/nw_s1_gazeconfu.ncs b/_content/_hak/asch_prc8_top/nw_s1_gazeconfu.ncs similarity index 100% rename from _module/ncs/nw_s1_gazeconfu.ncs rename to _content/_hak/asch_prc8_top/nw_s1_gazeconfu.ncs diff --git a/_module/nss/nw_s1_gazeconfu.nss b/_content/_hak/asch_prc8_top/nw_s1_gazeconfu.nss similarity index 100% rename from _module/nss/nw_s1_gazeconfu.nss rename to _content/_hak/asch_prc8_top/nw_s1_gazeconfu.nss diff --git a/_module/ncs/nw_s1_gazedaze.ncs b/_content/_hak/asch_prc8_top/nw_s1_gazedaze.ncs similarity index 100% rename from _module/ncs/nw_s1_gazedaze.ncs rename to _content/_hak/asch_prc8_top/nw_s1_gazedaze.ncs diff --git a/_module/nss/nw_s1_gazedaze.nss b/_content/_hak/asch_prc8_top/nw_s1_gazedaze.nss similarity index 100% rename from _module/nss/nw_s1_gazedaze.nss rename to _content/_hak/asch_prc8_top/nw_s1_gazedaze.nss diff --git a/_module/ncs/nw_s1_gazedeath.ncs b/_content/_hak/asch_prc8_top/nw_s1_gazedeath.ncs similarity index 100% rename from _module/ncs/nw_s1_gazedeath.ncs rename to _content/_hak/asch_prc8_top/nw_s1_gazedeath.ncs diff --git a/_module/nss/nw_s1_gazedeath.nss b/_content/_hak/asch_prc8_top/nw_s1_gazedeath.nss similarity index 100% rename from _module/nss/nw_s1_gazedeath.nss rename to _content/_hak/asch_prc8_top/nw_s1_gazedeath.nss diff --git a/_module/ncs/nw_s1_gazedomn.ncs b/_content/_hak/asch_prc8_top/nw_s1_gazedomn.ncs similarity index 100% rename from _module/ncs/nw_s1_gazedomn.ncs rename to _content/_hak/asch_prc8_top/nw_s1_gazedomn.ncs diff --git a/_module/nss/nw_s1_gazedomn.nss b/_content/_hak/asch_prc8_top/nw_s1_gazedomn.nss similarity index 100% rename from _module/nss/nw_s1_gazedomn.nss rename to _content/_hak/asch_prc8_top/nw_s1_gazedomn.nss diff --git a/_module/ncs/nw_s1_gazedoom.ncs b/_content/_hak/asch_prc8_top/nw_s1_gazedoom.ncs similarity index 100% rename from _module/ncs/nw_s1_gazedoom.ncs rename to _content/_hak/asch_prc8_top/nw_s1_gazedoom.ncs diff --git a/_module/nss/nw_s1_gazedoom.nss b/_content/_hak/asch_prc8_top/nw_s1_gazedoom.nss similarity index 100% rename from _module/nss/nw_s1_gazedoom.nss rename to _content/_hak/asch_prc8_top/nw_s1_gazedoom.nss diff --git a/_module/ncs/nw_s1_gazeevil.ncs b/_content/_hak/asch_prc8_top/nw_s1_gazeevil.ncs similarity index 100% rename from _module/ncs/nw_s1_gazeevil.ncs rename to _content/_hak/asch_prc8_top/nw_s1_gazeevil.ncs diff --git a/_module/nss/nw_s1_gazeevil.nss b/_content/_hak/asch_prc8_top/nw_s1_gazeevil.nss similarity index 100% rename from _module/nss/nw_s1_gazeevil.nss rename to _content/_hak/asch_prc8_top/nw_s1_gazeevil.nss diff --git a/_module/ncs/nw_s1_gazefear.ncs b/_content/_hak/asch_prc8_top/nw_s1_gazefear.ncs similarity index 100% rename from _module/ncs/nw_s1_gazefear.ncs rename to _content/_hak/asch_prc8_top/nw_s1_gazefear.ncs diff --git a/_module/nss/nw_s1_gazefear.nss b/_content/_hak/asch_prc8_top/nw_s1_gazefear.nss similarity index 100% rename from _module/nss/nw_s1_gazefear.nss rename to _content/_hak/asch_prc8_top/nw_s1_gazefear.nss diff --git a/_module/ncs/nw_s1_gazegood.ncs b/_content/_hak/asch_prc8_top/nw_s1_gazegood.ncs similarity index 100% rename from _module/ncs/nw_s1_gazegood.ncs rename to _content/_hak/asch_prc8_top/nw_s1_gazegood.ncs diff --git a/_module/nss/nw_s1_gazegood.nss b/_content/_hak/asch_prc8_top/nw_s1_gazegood.nss similarity index 100% rename from _module/nss/nw_s1_gazegood.nss rename to _content/_hak/asch_prc8_top/nw_s1_gazegood.nss diff --git a/_module/ncs/nw_s1_gazelaw.ncs b/_content/_hak/asch_prc8_top/nw_s1_gazelaw.ncs similarity index 100% rename from _module/ncs/nw_s1_gazelaw.ncs rename to _content/_hak/asch_prc8_top/nw_s1_gazelaw.ncs diff --git a/_module/nss/nw_s1_gazelaw.nss b/_content/_hak/asch_prc8_top/nw_s1_gazelaw.nss similarity index 100% rename from _module/nss/nw_s1_gazelaw.nss rename to _content/_hak/asch_prc8_top/nw_s1_gazelaw.nss diff --git a/_module/ncs/nw_s1_gazestun.ncs b/_content/_hak/asch_prc8_top/nw_s1_gazestun.ncs similarity index 100% rename from _module/ncs/nw_s1_gazestun.ncs rename to _content/_hak/asch_prc8_top/nw_s1_gazestun.ncs diff --git a/_module/nss/nw_s1_gazestun.nss b/_content/_hak/asch_prc8_top/nw_s1_gazestun.nss similarity index 100% rename from _module/nss/nw_s1_gazestun.nss rename to _content/_hak/asch_prc8_top/nw_s1_gazestun.nss diff --git a/_module/ncs/nw_s1_golemgas.ncs b/_content/_hak/asch_prc8_top/nw_s1_golemgas.ncs similarity index 100% rename from _module/ncs/nw_s1_golemgas.ncs rename to _content/_hak/asch_prc8_top/nw_s1_golemgas.ncs diff --git a/_module/nss/nw_s1_golemgas.nss b/_content/_hak/asch_prc8_top/nw_s1_golemgas.nss similarity index 100% rename from _module/nss/nw_s1_golemgas.nss rename to _content/_hak/asch_prc8_top/nw_s1_golemgas.nss diff --git a/_module/ncs/nw_s1_hndbreath.ncs b/_content/_hak/asch_prc8_top/nw_s1_hndbreath.ncs similarity index 100% rename from _module/ncs/nw_s1_hndbreath.ncs rename to _content/_hak/asch_prc8_top/nw_s1_hndbreath.ncs diff --git a/_module/nss/nw_s1_hndbreath.nss b/_content/_hak/asch_prc8_top/nw_s1_hndbreath.nss similarity index 100% rename from _module/nss/nw_s1_hndbreath.nss rename to _content/_hak/asch_prc8_top/nw_s1_hndbreath.nss diff --git a/_module/ncs/nw_s1_howlconf.ncs b/_content/_hak/asch_prc8_top/nw_s1_howlconf.ncs similarity index 100% rename from _module/ncs/nw_s1_howlconf.ncs rename to _content/_hak/asch_prc8_top/nw_s1_howlconf.ncs diff --git a/_module/nss/nw_s1_howlconf.nss b/_content/_hak/asch_prc8_top/nw_s1_howlconf.nss similarity index 100% rename from _module/nss/nw_s1_howlconf.nss rename to _content/_hak/asch_prc8_top/nw_s1_howlconf.nss diff --git a/_module/ncs/nw_s1_howldaze.ncs b/_content/_hak/asch_prc8_top/nw_s1_howldaze.ncs similarity index 100% rename from _module/ncs/nw_s1_howldaze.ncs rename to _content/_hak/asch_prc8_top/nw_s1_howldaze.ncs diff --git a/_module/nss/nw_s1_howldaze.nss b/_content/_hak/asch_prc8_top/nw_s1_howldaze.nss similarity index 100% rename from _module/nss/nw_s1_howldaze.nss rename to _content/_hak/asch_prc8_top/nw_s1_howldaze.nss diff --git a/_module/ncs/nw_s1_howldeath.ncs b/_content/_hak/asch_prc8_top/nw_s1_howldeath.ncs similarity index 100% rename from _module/ncs/nw_s1_howldeath.ncs rename to _content/_hak/asch_prc8_top/nw_s1_howldeath.ncs diff --git a/_module/nss/nw_s1_howldeath.nss b/_content/_hak/asch_prc8_top/nw_s1_howldeath.nss similarity index 100% rename from _module/nss/nw_s1_howldeath.nss rename to _content/_hak/asch_prc8_top/nw_s1_howldeath.nss diff --git a/_module/ncs/nw_s1_howlfear.ncs b/_content/_hak/asch_prc8_top/nw_s1_howlfear.ncs similarity index 100% rename from _module/ncs/nw_s1_howlfear.ncs rename to _content/_hak/asch_prc8_top/nw_s1_howlfear.ncs diff --git a/_module/nss/nw_s1_howlfear.nss b/_content/_hak/asch_prc8_top/nw_s1_howlfear.nss similarity index 100% rename from _module/nss/nw_s1_howlfear.nss rename to _content/_hak/asch_prc8_top/nw_s1_howlfear.nss diff --git a/_module/ncs/nw_s1_howlparal.ncs b/_content/_hak/asch_prc8_top/nw_s1_howlparal.ncs similarity index 100% rename from _module/ncs/nw_s1_howlparal.ncs rename to _content/_hak/asch_prc8_top/nw_s1_howlparal.ncs diff --git a/_module/nss/nw_s1_howlparal.nss b/_content/_hak/asch_prc8_top/nw_s1_howlparal.nss similarity index 100% rename from _module/nss/nw_s1_howlparal.nss rename to _content/_hak/asch_prc8_top/nw_s1_howlparal.nss diff --git a/_module/ncs/nw_s1_howlsonic.ncs b/_content/_hak/asch_prc8_top/nw_s1_howlsonic.ncs similarity index 100% rename from _module/ncs/nw_s1_howlsonic.ncs rename to _content/_hak/asch_prc8_top/nw_s1_howlsonic.ncs diff --git a/_module/nss/nw_s1_howlsonic.nss b/_content/_hak/asch_prc8_top/nw_s1_howlsonic.nss similarity index 100% rename from _module/nss/nw_s1_howlsonic.nss rename to _content/_hak/asch_prc8_top/nw_s1_howlsonic.nss diff --git a/_module/ncs/nw_s1_howlstun.ncs b/_content/_hak/asch_prc8_top/nw_s1_howlstun.ncs similarity index 100% rename from _module/ncs/nw_s1_howlstun.ncs rename to _content/_hak/asch_prc8_top/nw_s1_howlstun.ncs diff --git a/_module/nss/nw_s1_howlstun.nss b/_content/_hak/asch_prc8_top/nw_s1_howlstun.nss similarity index 100% rename from _module/nss/nw_s1_howlstun.nss rename to _content/_hak/asch_prc8_top/nw_s1_howlstun.nss diff --git a/_module/ncs/nw_s1_krenscare.ncs b/_content/_hak/asch_prc8_top/nw_s1_krenscare.ncs similarity index 100% rename from _module/ncs/nw_s1_krenscare.ncs rename to _content/_hak/asch_prc8_top/nw_s1_krenscare.ncs diff --git a/_module/nss/nw_s1_krenscare.nss b/_content/_hak/asch_prc8_top/nw_s1_krenscare.nss similarity index 100% rename from _module/nss/nw_s1_krenscare.nss rename to _content/_hak/asch_prc8_top/nw_s1_krenscare.nss diff --git a/_module/ncs/nw_s1_mephsalt.ncs b/_content/_hak/asch_prc8_top/nw_s1_mephsalt.ncs similarity index 100% rename from _module/ncs/nw_s1_mephsalt.ncs rename to _content/_hak/asch_prc8_top/nw_s1_mephsalt.ncs diff --git a/_module/nss/nw_s1_mephsalt.nss b/_content/_hak/asch_prc8_top/nw_s1_mephsalt.nss similarity index 100% rename from _module/nss/nw_s1_mephsalt.nss rename to _content/_hak/asch_prc8_top/nw_s1_mephsalt.nss diff --git a/_module/ncs/nw_s1_mephsteam.ncs b/_content/_hak/asch_prc8_top/nw_s1_mephsteam.ncs similarity index 100% rename from _module/ncs/nw_s1_mephsteam.ncs rename to _content/_hak/asch_prc8_top/nw_s1_mephsteam.ncs diff --git a/_module/nss/nw_s1_mephsteam.nss b/_content/_hak/asch_prc8_top/nw_s1_mephsteam.nss similarity index 100% rename from _module/nss/nw_s1_mephsteam.nss rename to _content/_hak/asch_prc8_top/nw_s1_mephsteam.nss diff --git a/_module/ncs/nw_s1_mumundead.ncs b/_content/_hak/asch_prc8_top/nw_s1_mumundead.ncs similarity index 100% rename from _module/ncs/nw_s1_mumundead.ncs rename to _content/_hak/asch_prc8_top/nw_s1_mumundead.ncs diff --git a/_module/nss/nw_s1_mumundead.nss b/_content/_hak/asch_prc8_top/nw_s1_mumundead.nss similarity index 100% rename from _module/nss/nw_s1_mumundead.nss rename to _content/_hak/asch_prc8_top/nw_s1_mumundead.nss diff --git a/_module/ncs/nw_s1_pulschrdr.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulschrdr.ncs similarity index 100% rename from _module/ncs/nw_s1_pulschrdr.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulschrdr.ncs diff --git a/_module/nss/nw_s1_pulschrdr.nss b/_content/_hak/asch_prc8_top/nw_s1_pulschrdr.nss similarity index 100% rename from _module/nss/nw_s1_pulschrdr.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulschrdr.nss diff --git a/_module/ncs/nw_s1_pulscold.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulscold.ncs similarity index 100% rename from _module/ncs/nw_s1_pulscold.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulscold.ncs diff --git a/_module/nss/nw_s1_pulscold.nss b/_content/_hak/asch_prc8_top/nw_s1_pulscold.nss similarity index 100% rename from _module/nss/nw_s1_pulscold.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulscold.nss diff --git a/_module/ncs/nw_s1_pulscondr.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulscondr.ncs similarity index 100% rename from _module/ncs/nw_s1_pulscondr.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulscondr.ncs diff --git a/_module/nss/nw_s1_pulscondr.nss b/_content/_hak/asch_prc8_top/nw_s1_pulscondr.nss similarity index 100% rename from _module/nss/nw_s1_pulscondr.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulscondr.nss diff --git a/_module/ncs/nw_s1_pulsdeath.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulsdeath.ncs similarity index 100% rename from _module/ncs/nw_s1_pulsdeath.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulsdeath.ncs diff --git a/_module/nss/nw_s1_pulsdeath.nss b/_content/_hak/asch_prc8_top/nw_s1_pulsdeath.nss similarity index 100% rename from _module/nss/nw_s1_pulsdeath.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulsdeath.nss diff --git a/_module/ncs/nw_s1_pulsdexdr.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulsdexdr.ncs similarity index 100% rename from _module/ncs/nw_s1_pulsdexdr.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulsdexdr.ncs diff --git a/_module/nss/nw_s1_pulsdexdr.nss b/_content/_hak/asch_prc8_top/nw_s1_pulsdexdr.nss similarity index 100% rename from _module/nss/nw_s1_pulsdexdr.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulsdexdr.nss diff --git a/_module/ncs/nw_s1_pulsdis.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulsdis.ncs similarity index 100% rename from _module/ncs/nw_s1_pulsdis.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulsdis.ncs diff --git a/_module/nss/nw_s1_pulsdis.nss b/_content/_hak/asch_prc8_top/nw_s1_pulsdis.nss similarity index 100% rename from _module/nss/nw_s1_pulsdis.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulsdis.nss diff --git a/_module/ncs/nw_s1_pulselec.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulselec.ncs similarity index 100% rename from _module/ncs/nw_s1_pulselec.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulselec.ncs diff --git a/_module/nss/nw_s1_pulselec.nss b/_content/_hak/asch_prc8_top/nw_s1_pulselec.nss similarity index 100% rename from _module/nss/nw_s1_pulselec.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulselec.nss diff --git a/_module/ncs/nw_s1_pulsfire.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulsfire.ncs similarity index 100% rename from _module/ncs/nw_s1_pulsfire.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulsfire.ncs diff --git a/_module/nss/nw_s1_pulsfire.nss b/_content/_hak/asch_prc8_top/nw_s1_pulsfire.nss similarity index 100% rename from _module/nss/nw_s1_pulsfire.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulsfire.nss diff --git a/_module/ncs/nw_s1_pulsholy.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulsholy.ncs similarity index 100% rename from _module/ncs/nw_s1_pulsholy.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulsholy.ncs diff --git a/_module/nss/nw_s1_pulsholy.nss b/_content/_hak/asch_prc8_top/nw_s1_pulsholy.nss similarity index 100% rename from _module/nss/nw_s1_pulsholy.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulsholy.nss diff --git a/_module/ncs/nw_s1_pulsintdr.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulsintdr.ncs similarity index 100% rename from _module/ncs/nw_s1_pulsintdr.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulsintdr.ncs diff --git a/_module/nss/nw_s1_pulsintdr.nss b/_content/_hak/asch_prc8_top/nw_s1_pulsintdr.nss similarity index 100% rename from _module/nss/nw_s1_pulsintdr.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulsintdr.nss diff --git a/_module/ncs/nw_s1_pulslvldr.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulslvldr.ncs similarity index 100% rename from _module/ncs/nw_s1_pulslvldr.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulslvldr.ncs diff --git a/_module/nss/nw_s1_pulslvldr.nss b/_content/_hak/asch_prc8_top/nw_s1_pulslvldr.nss similarity index 100% rename from _module/nss/nw_s1_pulslvldr.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulslvldr.nss diff --git a/_module/ncs/nw_s1_pulsneg.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulsneg.ncs similarity index 100% rename from _module/ncs/nw_s1_pulsneg.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulsneg.ncs diff --git a/_module/nss/nw_s1_pulsneg.nss b/_content/_hak/asch_prc8_top/nw_s1_pulsneg.nss similarity index 100% rename from _module/nss/nw_s1_pulsneg.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulsneg.nss diff --git a/_module/ncs/nw_s1_pulspois.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulspois.ncs similarity index 100% rename from _module/ncs/nw_s1_pulspois.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulspois.ncs diff --git a/_module/nss/nw_s1_pulspois.nss b/_content/_hak/asch_prc8_top/nw_s1_pulspois.nss similarity index 100% rename from _module/nss/nw_s1_pulspois.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulspois.nss diff --git a/_module/ncs/nw_s1_pulsspore.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulsspore.ncs similarity index 100% rename from _module/ncs/nw_s1_pulsspore.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulsspore.ncs diff --git a/_module/nss/nw_s1_pulsspore.nss b/_content/_hak/asch_prc8_top/nw_s1_pulsspore.nss similarity index 100% rename from _module/nss/nw_s1_pulsspore.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulsspore.nss diff --git a/_module/ncs/nw_s1_pulsstrdr.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulsstrdr.ncs similarity index 100% rename from _module/ncs/nw_s1_pulsstrdr.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulsstrdr.ncs diff --git a/_module/nss/nw_s1_pulsstrdr.nss b/_content/_hak/asch_prc8_top/nw_s1_pulsstrdr.nss similarity index 100% rename from _module/nss/nw_s1_pulsstrdr.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulsstrdr.nss diff --git a/_module/ncs/nw_s1_pulswind.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulswind.ncs similarity index 100% rename from _module/ncs/nw_s1_pulswind.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulswind.ncs diff --git a/_module/nss/nw_s1_pulswind.nss b/_content/_hak/asch_prc8_top/nw_s1_pulswind.nss similarity index 100% rename from _module/nss/nw_s1_pulswind.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulswind.nss diff --git a/_module/ncs/nw_s1_pulswisdr.ncs b/_content/_hak/asch_prc8_top/nw_s1_pulswisdr.ncs similarity index 100% rename from _module/ncs/nw_s1_pulswisdr.ncs rename to _content/_hak/asch_prc8_top/nw_s1_pulswisdr.ncs diff --git a/_module/nss/nw_s1_pulswisdr.nss b/_content/_hak/asch_prc8_top/nw_s1_pulswisdr.nss similarity index 100% rename from _module/nss/nw_s1_pulswisdr.nss rename to _content/_hak/asch_prc8_top/nw_s1_pulswisdr.nss diff --git a/_module/ncs/nw_s1_smokeclaw.ncs b/_content/_hak/asch_prc8_top/nw_s1_smokeclaw.ncs similarity index 100% rename from _module/ncs/nw_s1_smokeclaw.ncs rename to _content/_hak/asch_prc8_top/nw_s1_smokeclaw.ncs diff --git a/_module/nss/nw_s1_smokeclaw.nss b/_content/_hak/asch_prc8_top/nw_s1_smokeclaw.nss similarity index 100% rename from _module/nss/nw_s1_smokeclaw.nss rename to _content/_hak/asch_prc8_top/nw_s1_smokeclaw.nss diff --git a/_module/ncs/nw_s1_stink_a.ncs b/_content/_hak/asch_prc8_top/nw_s1_stink_a.ncs similarity index 100% rename from _module/ncs/nw_s1_stink_a.ncs rename to _content/_hak/asch_prc8_top/nw_s1_stink_a.ncs diff --git a/_module/nss/nw_s1_stink_a.nss b/_content/_hak/asch_prc8_top/nw_s1_stink_a.nss similarity index 100% rename from _module/nss/nw_s1_stink_a.nss rename to _content/_hak/asch_prc8_top/nw_s1_stink_a.nss diff --git a/_module/ncs/nw_s1_trogstink.ncs b/_content/_hak/asch_prc8_top/nw_s1_trogstink.ncs similarity index 100% rename from _module/ncs/nw_s1_trogstink.ncs rename to _content/_hak/asch_prc8_top/nw_s1_trogstink.ncs diff --git a/_module/nss/nw_s1_trogstink.nss b/_content/_hak/asch_prc8_top/nw_s1_trogstink.nss similarity index 100% rename from _module/nss/nw_s1_trogstink.nss rename to _content/_hak/asch_prc8_top/nw_s1_trogstink.nss diff --git a/_module/ncs/nw_s1_trogstinka.ncs b/_content/_hak/asch_prc8_top/nw_s1_trogstinka.ncs similarity index 100% rename from _module/ncs/nw_s1_trogstinka.ncs rename to _content/_hak/asch_prc8_top/nw_s1_trogstinka.ncs diff --git a/_module/nss/nw_s1_trogstinka.nss b/_content/_hak/asch_prc8_top/nw_s1_trogstinka.nss similarity index 100% rename from _module/nss/nw_s1_trogstinka.nss rename to _content/_hak/asch_prc8_top/nw_s1_trogstinka.nss diff --git a/_module/ncs/nw_s1_tyrantfga.ncs b/_content/_hak/asch_prc8_top/nw_s1_tyrantfga.ncs similarity index 100% rename from _module/ncs/nw_s1_tyrantfga.ncs rename to _content/_hak/asch_prc8_top/nw_s1_tyrantfga.ncs diff --git a/_module/nss/nw_s1_tyrantfga.nss b/_content/_hak/asch_prc8_top/nw_s1_tyrantfga.nss similarity index 100% rename from _module/nss/nw_s1_tyrantfga.nss rename to _content/_hak/asch_prc8_top/nw_s1_tyrantfga.nss diff --git a/_module/ncs/nw_s1_tyrantfog.ncs b/_content/_hak/asch_prc8_top/nw_s1_tyrantfog.ncs similarity index 100% rename from _module/ncs/nw_s1_tyrantfog.ncs rename to _content/_hak/asch_prc8_top/nw_s1_tyrantfog.ncs diff --git a/_module/nss/nw_s1_tyrantfog.nss b/_content/_hak/asch_prc8_top/nw_s1_tyrantfog.nss similarity index 100% rename from _module/nss/nw_s1_tyrantfog.nss rename to _content/_hak/asch_prc8_top/nw_s1_tyrantfog.nss diff --git a/_module/ncs/nw_s2_divprot.ncs b/_content/_hak/asch_prc8_top/nw_s2_divprot.ncs similarity index 100% rename from _module/ncs/nw_s2_divprot.ncs rename to _content/_hak/asch_prc8_top/nw_s2_divprot.ncs diff --git a/_module/nss/nw_s2_divprot.nss b/_content/_hak/asch_prc8_top/nw_s2_divprot.nss similarity index 100% rename from _module/nss/nw_s2_divprot.nss rename to _content/_hak/asch_prc8_top/nw_s2_divprot.nss diff --git a/_module/ncs/nw_s3_actitem01.ncs b/_content/_hak/asch_prc8_top/nw_s3_actitem01.ncs similarity index 100% rename from _module/ncs/nw_s3_actitem01.ncs rename to _content/_hak/asch_prc8_top/nw_s3_actitem01.ncs diff --git a/_module/nss/nw_s3_actitem01.nss b/_content/_hak/asch_prc8_top/nw_s3_actitem01.nss similarity index 100% rename from _module/nss/nw_s3_actitem01.nss rename to _content/_hak/asch_prc8_top/nw_s3_actitem01.nss diff --git a/_module/ncs/nw_s3_balordeth.ncs b/_content/_hak/asch_prc8_top/nw_s3_balordeth.ncs similarity index 100% rename from _module/ncs/nw_s3_balordeth.ncs rename to _content/_hak/asch_prc8_top/nw_s3_balordeth.ncs diff --git a/_module/nss/nw_s3_balordeth.nss b/_content/_hak/asch_prc8_top/nw_s3_balordeth.nss similarity index 100% rename from _module/nss/nw_s3_balordeth.nss rename to _content/_hak/asch_prc8_top/nw_s3_balordeth.nss diff --git a/_content/_hak/asch_prc8_top/x0_skill_ctrap.dlg b/_content/_hak/asch_prc8_top/x0_skill_ctrap.dlg new file mode 100644 index 00000000..b4e30847 Binary files /dev/null and b/_content/_hak/asch_prc8_top/x0_skill_ctrap.dlg differ diff --git a/_content/_output/asch_prc8_top.hak b/_content/_output/asch_prc8_top.hak new file mode 100644 index 00000000..69ab6976 Binary files /dev/null and b/_content/_output/asch_prc8_top.hak differ diff --git a/_content/_output/asch_prc8_top.md5 b/_content/_output/asch_prc8_top.md5 new file mode 100644 index 00000000..814acbb8 --- /dev/null +++ b/_content/_output/asch_prc8_top.md5 @@ -0,0 +1 @@ +c2488fae246ebc8447c860c80dfc89ca \ No newline at end of file diff --git a/_content/_tools/NWN.CLI.exe b/_content/_tools/NWN.CLI.exe new file mode 100644 index 00000000..67fdd296 Binary files /dev/null and b/_content/_tools/NWN.CLI.exe differ diff --git a/_content/_tools/NWN_compDcomp.exe b/_content/_tools/NWN_compDcomp.exe new file mode 100644 index 00000000..18253e0d Binary files /dev/null and b/_content/_tools/NWN_compDcomp.exe differ diff --git a/_content/_tools/cygiconv-2.dll b/_content/_tools/cygiconv-2.dll new file mode 100644 index 00000000..926464c7 Binary files /dev/null and b/_content/_tools/cygiconv-2.dll differ diff --git a/_content/_tools/cygintl-2.dll b/_content/_tools/cygintl-2.dll new file mode 100644 index 00000000..aef3a8c6 Binary files /dev/null and b/_content/_tools/cygintl-2.dll differ diff --git a/_content/_tools/cygintl-3.dll b/_content/_tools/cygintl-3.dll new file mode 100644 index 00000000..bd6e3829 Binary files /dev/null and b/_content/_tools/cygintl-3.dll differ diff --git a/_content/_tools/cygintl-8.dll b/_content/_tools/cygintl-8.dll new file mode 100644 index 00000000..e6363672 Binary files /dev/null and b/_content/_tools/cygintl-8.dll differ diff --git a/_content/_tools/cygpcre-0.dll b/_content/_tools/cygpcre-0.dll new file mode 100644 index 00000000..eb68c8de Binary files /dev/null and b/_content/_tools/cygpcre-0.dll differ diff --git a/_content/_tools/cygwin1.dll b/_content/_tools/cygwin1.dll new file mode 100644 index 00000000..7fd577cc Binary files /dev/null and b/_content/_tools/cygwin1.dll differ diff --git a/_content/_tools/cygxml2-2.dll b/_content/_tools/cygxml2-2.dll new file mode 100644 index 00000000..11baa988 Binary files /dev/null and b/_content/_tools/cygxml2-2.dll differ diff --git a/_content/_tools/cygz.dll b/_content/_tools/cygz.dll new file mode 100644 index 00000000..c94d66cb Binary files /dev/null and b/_content/_tools/cygz.dll differ diff --git a/_content/_tools/hakbuilder.json b/_content/_tools/hakbuilder.json new file mode 100644 index 00000000..f0506586 --- /dev/null +++ b/_content/_tools/hakbuilder.json @@ -0,0 +1,10 @@ +{ + "OutputPath": "../_output/", + "HakList": [ + { + "Name": "asch_prc8_top", + "Path": "../_hak/asch_prc8_top/", + "CompileModels": false + }, + ] +} \ No newline at end of file diff --git a/_content/_tools/nwn_erf.exe b/_content/_tools/nwn_erf.exe new file mode 100644 index 00000000..1dba285f Binary files /dev/null and b/_content/_tools/nwn_erf.exe differ diff --git a/_content/_tools/nwnmdlcomp.exe b/_content/_tools/nwnmdlcomp.exe new file mode 100644 index 00000000..4cdc440f Binary files /dev/null and b/_content/_tools/nwnmdlcomp.exe differ diff --git a/_content/_tools/pcre64.dll b/_content/_tools/pcre64.dll new file mode 100644 index 00000000..40b4ac3a Binary files /dev/null and b/_content/_tools/pcre64.dll differ diff --git a/_content/_tools/tlk2xml.exe b/_content/_tools/tlk2xml.exe new file mode 100644 index 00000000..27a49bed Binary files /dev/null and b/_content/_tools/tlk2xml.exe differ diff --git a/_content/_tools/xml2tlk.exe b/_content/_tools/xml2tlk.exe new file mode 100644 index 00000000..a729ab43 Binary files /dev/null and b/_content/_tools/xml2tlk.exe differ diff --git a/_module/dlg/mk_acp.dlg.json b/_module/dlg/mk_acp.dlg.json new file mode 100644 index 00000000..b13ad9a5 --- /dev/null +++ b/_module/dlg/mk_acp.dlg.json @@ -0,0 +1,939 @@ +{ + "__data_type": "DLG ", + "DelayEntry": { + "type": "dword", + "value": 0 + }, + "DelayReply": { + "type": "dword", + "value": 0 + }, + "EndConverAbort": { + "type": "resref", + "value": "nw_walk_wp" + }, + "EndConversation": { + "type": "resref", + "value": "nw_walk_wp" + }, + "EntryList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "RepliesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 12 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 1, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 11 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 2, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 10 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 3, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 9 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 4, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 8 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 5, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 7 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 6, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 6 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 7, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 5 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 8, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 4 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 9, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 3 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 10, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 2 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 11, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 1 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + }, + { + "__struct_id": 12, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 0 + }, + "IsChild": { + "type": "byte", + "value": 0 + } + } + ] + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Speaker": { + "type": "cexostring", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Choose your preferred Combat Style" + } + } + } + ] + }, + "NumWords": { + "type": "dword", + "value": 95 + }, + "PreventZoomIn": { + "type": "byte", + "value": 0 + }, + "ReplyList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Abort." + } + } + }, + { + "__struct_id": 1, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "acp_s35_ma_hung" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Unarmed Combat - Bear's Claw Style" + } + } + }, + { + "__struct_id": 2, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "acp_s35_ma_shao" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Unarmed Combat - Dragon Palm Style" + } + } + }, + { + "__struct_id": 3, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "acp_s35_ma_shoto" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Unarmed Combat - Sun Fist Style" + } + } + }, + { + "__struct_id": 4, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "acp_s35_ma_muay" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Unarmed Combat - Tiger Fang Style" + } + } + }, + { + "__struct_id": 5, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "acp_s35_warrior" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Warrior Style - For 1-handed weapons and shields" + } + } + }, + { + "__struct_id": 6, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "acp_s35_demon" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Demon Blade Style - 1-Handed weapons or dual-wield. Humans only!" + } + } + }, + { + "__struct_id": 7, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "acp_s35_arcane" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Ars Magna Style - Esoteric combat style used by mages." + } + } + }, + { + "__struct_id": 8, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "acp_s35_heavy" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Barbarian Style - Specializes in 2-Handed weapons." + } + } + }, + { + "__struct_id": 9, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "acp_s35_fencing" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Fencing Style - Swashbucking sword style. Not good for 2-handed weapons or polearms." + } + } + }, + { + "__struct_id": 10, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "acp_s35_assassin" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Assassin Style - Works with any weapons." + } + } + }, + { + "__struct_id": 11, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "acp_s35_kensei" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Kensei Style - Works with any weapons." + } + } + }, + { + "__struct_id": 12, + "ActionParams": { + "type": "list", + "value": [] + }, + "Animation": { + "type": "dword", + "value": 0 + }, + "AnimLoop": { + "type": "byte", + "value": 1 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Delay": { + "type": "dword", + "value": 4294967295 + }, + "EntriesList": { + "type": "list", + "value": [] + }, + "Quest": { + "type": "cexostring", + "value": "" + }, + "Script": { + "type": "resref", + "value": "acp_s35_normal" + }, + "Sound": { + "type": "resref", + "value": "" + }, + "Text": { + "type": "cexolocstring", + "value": { + "0": "Generic NWN Style" + } + } + } + ] + }, + "StartingList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Active": { + "type": "resref", + "value": "" + }, + "ConditionParams": { + "type": "list", + "value": [] + }, + "Index": { + "type": "dword", + "value": 0 + } + } + ] + } +} diff --git a/_module/dlg/x0_skill_ctrap.dlg.json b/_module/dlg/x0_skill_ctrap.dlg.json deleted file mode 100644 index 1e8e39f9..00000000 --- a/_module/dlg/x0_skill_ctrap.dlg.json +++ /dev/null @@ -1,9768 +0,0 @@ -{ - "__data_type": "DLG ", - "DelayEntry": { - "type": "dword", - "value": 0 - }, - "DelayReply": { - "type": "dword", - "value": 0 - }, - "EndConverAbort": { - "type": "resref", - "value": "zep_cr_stop_abrt" - }, - "EndConversation": { - "type": "resref", - "value": "" - }, - "EntryList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "zep_cr_canca" - }, - "Index": { - "type": "dword", - "value": 69 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "zep_cr_canch" - }, - "Index": { - "type": "dword", - "value": 55 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 54 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "zep_cr_canca_n" - }, - "Index": { - "type": "dword", - "value": 53 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "zep_cr_cancw" - }, - "Index": { - "type": "dword", - "value": 44 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 5, - "Active": { - "type": "resref", - "value": "zep_cr_cancs" - }, - "Index": { - "type": "dword", - "value": 39 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 6, - "Active": { - "type": "resref", - "value": "zep_cr_cancw_n" - }, - "Index": { - "type": "dword", - "value": 38 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 7, - "Active": { - "type": "resref", - "value": "zep_cr_canct" - }, - "Index": { - "type": "dword", - "value": 0 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86902 - } - } - }, - { - "__struct_id": 1, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "This skill is called when you use it. " - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 17 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "x0_skctrap_con_1" - }, - "Index": { - "type": "dword", - "value": 11 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "x0_skctrap_con_5" - }, - "Index": { - "type": "dword", - "value": 10 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "x0_skctrap_con_6" - }, - "Index": { - "type": "dword", - "value": 9 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "x0_skctrap_con_7" - }, - "Index": { - "type": "dword", - "value": 8 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 5, - "Active": { - "type": "resref", - "value": "x0_skctrap_con_8" - }, - "Index": { - "type": "dword", - "value": 7 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 6, - "Active": { - "type": "resref", - "value": "x0_skctrap_con_9" - }, - "Index": { - "type": "dword", - "value": 6 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 7, - "Active": { - "type": "resref", - "value": "x0_skctrap_con_a" - }, - "Index": { - "type": "dword", - "value": 5 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 8, - "Active": { - "type": "resref", - "value": "x0_skctrap_con_b" - }, - "Index": { - "type": "dword", - "value": 4 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 9, - "Active": { - "type": "resref", - "value": "x0_skctrap_con_c" - }, - "Index": { - "type": "dword", - "value": 3 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 10, - "Active": { - "type": "resref", - "value": "x0_skctrap_con_d" - }, - "Index": { - "type": "dword", - "value": 2 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 11, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76461 - } - } - }, - { - "__struct_id": 2, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 0 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 16 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "x0_skctrap_con_2" - }, - "Index": { - "type": "dword", - "value": 15 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "x0_skctrap_con_3" - }, - "Index": { - "type": "dword", - "value": 14 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "x0_skctrap_con_4" - }, - "Index": { - "type": "dword", - "value": 13 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 12 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76462 - } - } - }, - { - "__struct_id": 3, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 36 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 34 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 32 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 30 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 28 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 5, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 26 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 6, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 24 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 7, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 22 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 8, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 20 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 9, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 18 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76463 - } - } - }, - { - "__struct_id": 4, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 0 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 19 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76464 - } - } - }, - { - "__struct_id": 5, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 0 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 21 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76465 - } - } - }, - { - "__struct_id": 6, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 0 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 23 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76466 - } - } - }, - { - "__struct_id": 7, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 0 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 25 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76467 - } - } - }, - { - "__struct_id": 8, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 0 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 27 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76468 - } - } - }, - { - "__struct_id": 9, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 0 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76469 - } - } - }, - { - "__struct_id": 10, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 31 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76470 - } - } - }, - { - "__struct_id": 11, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 33 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76471 - } - } - }, - { - "__struct_id": 12, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 35 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76472 - } - } - }, - { - "__struct_id": 13, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 37 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76473 - } - } - }, - { - "__struct_id": 14, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 43 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 42 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "zep_always_false" - }, - "Index": { - "type": "dword", - "value": 41 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "zep_always_false" - }, - "Index": { - "type": "dword", - "value": 40 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "zep_cr_changed" - }, - "Index": { - "type": "dword", - "value": 71 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 5, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 70 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Currently adjusting \nCurrent Cost: GP\nDC: ", - "id": 86915 - } - } - }, - { - "__struct_id": 15, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 47 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 46 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 45 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "zep_cr_changed" - }, - "Index": { - "type": "dword", - "value": 71 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 70 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Select weapon part to modify. Complex changes are more difficult and expensive.\nCurrent Cost: GP\nDC: ", - "id": 86904 - } - } - }, - { - "__struct_id": 16, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 52 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 51 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 50 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 49 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 48 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Currently adjusting \nCurrent Cost: GP\nDC: ", - "id": 86915 - } - } - }, - { - "__struct_id": 17, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 68 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 67 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "zep_always_false" - }, - "Index": { - "type": "dword", - "value": 56 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "zep_cr_changed" - }, - "Index": { - "type": "dword", - "value": 71 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 70 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Currently adjusting \nCurrent Cost: GP\nDC: ", - "id": 86915 - } - } - }, - { - "__struct_id": 18, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 63 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 62 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 61 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 60 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 59 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 5, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 58 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 6, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 57 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Select material to change colors on. You need to possess the proper dye to apply it." - } - } - }, - { - "__struct_id": 19, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 66 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 65 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 64 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Current color: " - } - } - }, - { - "__struct_id": 20, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 105 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 104 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 94 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 93 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 92 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 5, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 84 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 6, - "Active": { - "type": "resref", - "value": "zep_always_false" - }, - "Index": { - "type": "dword", - "value": 83 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 7, - "Active": { - "type": "resref", - "value": "zep_always_false" - }, - "Index": { - "type": "dword", - "value": 72 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 8, - "Active": { - "type": "resref", - "value": "zep_cr_changed" - }, - "Index": { - "type": "dword", - "value": 71 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 9, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 70 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Select armor part to modify. Complex changes are more difficult and expensive.\nCurrent Cost: GP\nDC: ", - "id": 86910 - } - } - }, - { - "__struct_id": 21, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [] - }, - "Script": { - "type": "resref", - "value": "zep_cr_stop_make" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "You have successfully crafted the designed item." - } - } - }, - { - "__struct_id": 22, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [] - }, - "Script": { - "type": "resref", - "value": "zep_cr_stop_abrt" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "You have failed in your crafting attempt. All used components are lost." - } - } - }, - { - "__struct_id": 23, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [] - }, - "Script": { - "type": "resref", - "value": "zep_cr_stop_abrt" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "You do not possess a to color your item." - } - } - }, - { - "__struct_id": 24, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [] - }, - "Script": { - "type": "resref", - "value": "zep_cr_stop_abrt" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "You do not possess gold to perform your crafting attempt." - } - } - }, - { - "__struct_id": 25, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 79 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 78 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 77 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 76 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 75 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 5, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 74 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 6, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 73 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Select material to change colors on. You need to possess the proper dye to apply it." - } - } - }, - { - "__struct_id": 26, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 82 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 81 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 80 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Current color: " - } - } - }, - { - "__struct_id": 27, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 91 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 90 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 89 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 88 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 87 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 5, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 86 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 6, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 85 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86913 - } - } - }, - { - "__struct_id": 28, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 103 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 102 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 101 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 100 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 99 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 5, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 98 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 6, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 97 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 7, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 96 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 8, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 95 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86914 - } - } - }, - { - "__struct_id": 29, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "RepliesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 110 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 109 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "zep_not_robe" - }, - "Index": { - "type": "dword", - "value": 108 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "zep_is_robe" - }, - "Index": { - "type": "dword", - "value": 107 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 4, - "Active": { - "type": "resref", - "value": "zep_is_robe" - }, - "Index": { - "type": "dword", - "value": 106 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Speaker": { - "type": "cexostring", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Currently adjusting \nCurrent Cost: GP\nDC: ", - "id": 86915 - } - } - } - ] - }, - "NumWords": { - "type": "dword", - "value": 650 - }, - "PreventZoomIn": { - "type": "byte", - "value": 1 - }, - "ReplyList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "x0_skctrap_start" - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x2_im_savecamera" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86917 - } - } - }, - { - "__struct_id": 1, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76474 - } - } - }, - { - "__struct_id": 2, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 2 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x0_skctrap_act_e" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76475 - } - } - }, - { - "__struct_id": 3, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 2 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x0_skctrap_act_d" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76476 - } - } - }, - { - "__struct_id": 4, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 2 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x0_skctrap_act_c" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76477 - } - } - }, - { - "__struct_id": 5, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 2 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x0_skctrap_act_b" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76478 - } - } - }, - { - "__struct_id": 6, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 2 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x0_skctrap_act_a" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76479 - } - } - }, - { - "__struct_id": 7, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 2 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x0_skctrap_act_9" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76480 - } - } - }, - { - "__struct_id": 8, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 2 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x0_skctrap_act_8" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76481 - } - } - }, - { - "__struct_id": 9, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 2 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x0_skctrap_act_7" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76482 - } - } - }, - { - "__struct_id": 10, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 2 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x0_skctrap_act_6" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76483 - } - } - }, - { - "__struct_id": 11, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 2 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x0_skctrap_act_1" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76484 - } - } - }, - { - "__struct_id": 12, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76485 - } - } - }, - { - "__struct_id": 13, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x0_skctrap_act_5" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76486 - } - } - }, - { - "__struct_id": 14, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x0_skctrap_act_4" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76487 - } - } - }, - { - "__struct_id": 15, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x0_skctrap_act_3" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76488 - } - } - }, - { - "__struct_id": 16, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "x0_skctrap_act_2" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76489 - } - } - }, - { - "__struct_id": 17, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 3 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76490 - } - } - }, - { - "__struct_id": 18, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 4 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76491 - } - } - }, - { - "__struct_id": 19, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "This skill is called when you use it. " - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": {} - } - }, - { - "__struct_id": 20, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 5 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76492 - } - } - }, - { - "__struct_id": 21, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "This skill is called when you use it. " - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": {} - } - }, - { - "__struct_id": 22, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 6 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76493 - } - } - }, - { - "__struct_id": 23, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "This skill is called when you use it. " - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": {} - } - }, - { - "__struct_id": 24, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 7 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76494 - } - } - }, - { - "__struct_id": 25, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "This skill is called when you use it. " - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": {} - } - }, - { - "__struct_id": 26, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 8 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76495 - } - } - }, - { - "__struct_id": 27, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "This skill is called when you use it. " - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": {} - } - }, - { - "__struct_id": 28, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 9 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76496 - } - } - }, - { - "__struct_id": 29, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "This skill is called when you use it. " - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": {} - } - }, - { - "__struct_id": 30, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 10 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76497 - } - } - }, - { - "__struct_id": 31, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "This skill is called when you use it. " - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": {} - } - }, - { - "__struct_id": 32, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 11 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76498 - } - } - }, - { - "__struct_id": 33, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "This skill is called when you use it. " - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": {} - } - }, - { - "__struct_id": 34, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 12 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76499 - } - } - }, - { - "__struct_id": 35, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "This skill is called when you use it. " - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": {} - } - }, - { - "__struct_id": 36, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 13 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 76500 - } - } - }, - { - "__struct_id": 37, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 1 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "This skill is called when you use it. " - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": {} - } - }, - { - "__struct_id": 38, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Craft Weapon: Not Possible - ", - "id": 101033 - } - } - }, - { - "__struct_id": 39, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 14 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_start_cs" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Craft Weapon: Change shield appearance.", - "id": 86918 - } - } - }, - { - "__struct_id": 40, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 14 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_prevcolor" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Show previous color" - } - } - }, - { - "__struct_id": 41, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 14 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_nextcolor" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Show next color" - } - } - }, - { - "__struct_id": 42, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 14 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_prevpart" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86968 - } - } - }, - { - "__struct_id": 43, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 14 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_nextpart" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86969 - } - } - }, - { - "__struct_id": 44, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 15 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_start_cw" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86918 - } - } - }, - { - "__struct_id": 45, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 16 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dowbottom" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86925 - } - } - }, - { - "__struct_id": 46, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 16 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dowmiddle" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86926 - } - } - }, - { - "__struct_id": 47, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 16 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dowtop" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86927 - } - } - }, - { - "__struct_id": 48, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 15 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86967 - } - } - }, - { - "__struct_id": 49, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 16 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_prevcolor" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Show previous color" - } - } - }, - { - "__struct_id": 50, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 16 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_nextcolor" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Show next color" - } - } - }, - { - "__struct_id": 51, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 16 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_prevpart" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86968 - } - } - }, - { - "__struct_id": 52, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 16 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_nextpart" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86969 - } - } - }, - { - "__struct_id": 53, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Craft Armor: Not Possible - ", - "id": 101034 - } - } - }, - { - "__struct_id": 54, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dorobe" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Craft Armor: Change robe appearance." - } - } - }, - { - "__struct_id": 55, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 17 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_start_ch" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Craft Armor: Change helmet appearance", - "id": 86938 - } - } - }, - { - "__struct_id": 56, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 18 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Colouring" - } - } - }, - { - "__struct_id": 57, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 17 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Back" - } - } - }, - { - "__struct_id": 58, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 19 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_docmetal2" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Change secondary metal color" - } - } - }, - { - "__struct_id": 59, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 19 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_docmetal1" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Change primairy metal color" - } - } - }, - { - "__struct_id": 60, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 19 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_docleath2" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Change secondairy leather color" - } - } - }, - { - "__struct_id": 61, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 19 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_docleath1" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Change primairy leather color" - } - } - }, - { - "__struct_id": 62, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 19 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_doccloth2" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Change secondary cloth color" - } - } - }, - { - "__struct_id": 63, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 19 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_doccloth1" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Change primairy cloth color" - } - } - }, - { - "__struct_id": 64, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 18 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Back" - } - } - }, - { - "__struct_id": 65, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 19 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_prevcolor" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Show previous color" - } - } - }, - { - "__struct_id": 66, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 19 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_nextcolor" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Show next color" - } - } - }, - { - "__struct_id": 67, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 17 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_prevpart" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86968 - } - } - }, - { - "__struct_id": 68, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 17 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_nextpart" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86969 - } - } - }, - { - "__struct_id": 69, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 20 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_start_ca" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86938 - } - } - }, - { - "__struct_id": 70, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_stop_abrt" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Abort" - } - } - }, - { - "__struct_id": 71, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "zep_cr_fail_gold" - }, - "Index": { - "type": "dword", - "value": 24 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "zep_cr_fail_dye" - }, - "Index": { - "type": "dword", - "value": 23 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "zep_cr_fail" - }, - "Index": { - "type": "dword", - "value": 22 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "zep_cr_success" - }, - "Index": { - "type": "dword", - "value": 21 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_attempt" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86941 - } - } - }, - { - "__struct_id": 72, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 25 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Colouring" - } - } - }, - { - "__struct_id": 73, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 20 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Back" - } - } - }, - { - "__struct_id": 74, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 26 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_docmetal2" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Change secondary metal color" - } - } - }, - { - "__struct_id": 75, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 26 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_docmetal1" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Change primairy metal color" - } - } - }, - { - "__struct_id": 76, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 26 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_docleath2" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Change secondairy leather color" - } - } - }, - { - "__struct_id": 77, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 26 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_docleath1" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Change primairy leather color" - } - } - }, - { - "__struct_id": 78, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 26 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_doccloth2" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Change secondary cloth color" - } - } - }, - { - "__struct_id": 79, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 26 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_doccloth1" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Change primairy cloth color" - } - } - }, - { - "__struct_id": 80, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 25 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Back" - } - } - }, - { - "__struct_id": 81, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 26 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_prevcolor" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Show previous color" - } - } - }, - { - "__struct_id": 82, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 26 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_nextcolor" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Show next color" - } - } - }, - { - "__struct_id": 83, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dorobe" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Change Robe", - "id": 86931 - } - } - }, - { - "__struct_id": 84, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 27 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86945 - } - } - }, - { - "__struct_id": 85, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 20 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86946 - } - } - }, - { - "__struct_id": 86, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dofoot_r" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86947 - } - } - }, - { - "__struct_id": 87, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dofoot_l" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86948 - } - } - }, - { - "__struct_id": 88, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_doshin_r" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86949 - } - } - }, - { - "__struct_id": 89, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_doshin_l" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86950 - } - } - }, - { - "__struct_id": 90, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dothigh_r" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86951 - } - } - }, - { - "__struct_id": 91, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dothigh_l" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86952 - } - } - }, - { - "__struct_id": 92, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dopelvis" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86953 - } - } - }, - { - "__struct_id": 93, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dobelt" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86954 - } - } - }, - { - "__struct_id": 94, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 28 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86956 - } - } - }, - { - "__struct_id": 95, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 20 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86957 - } - } - }, - { - "__struct_id": 96, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dohand_r" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86958 - } - } - }, - { - "__struct_id": 97, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dohand_l" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86959 - } - } - }, - { - "__struct_id": 98, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_doloarm_r" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86960 - } - } - }, - { - "__struct_id": 99, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_doloarm_l" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86961 - } - } - }, - { - "__struct_id": 100, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dobicep_r" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86962 - } - } - }, - { - "__struct_id": 101, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dobicep_l" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86963 - } - } - }, - { - "__struct_id": 102, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_doshold_r" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86964 - } - } - }, - { - "__struct_id": 103, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_doshold_l" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86965 - } - } - }, - { - "__struct_id": 104, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_dotorso" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86955 - } - } - }, - { - "__struct_id": 105, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 0 - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_doneck" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86966 - } - } - }, - { - "__struct_id": 106, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_stop_abrt" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Abort" - } - } - }, - { - "__struct_id": 107, - "Animation": { - "type": "dword", - "value": 0 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "zep_cr_fail_gold" - }, - "Index": { - "type": "dword", - "value": 24 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 1, - "Active": { - "type": "resref", - "value": "zep_cr_fail_dye" - }, - "Index": { - "type": "dword", - "value": 23 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 2, - "Active": { - "type": "resref", - "value": "zep_cr_fail" - }, - "Index": { - "type": "dword", - "value": 22 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - }, - { - "__struct_id": 3, - "Active": { - "type": "resref", - "value": "zep_cr_success" - }, - "Index": { - "type": "dword", - "value": 21 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_attempt" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "0": "Make Changes" - } - } - }, - { - "__struct_id": 108, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 20 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86967 - } - } - }, - { - "__struct_id": 109, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_prevpart" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86968 - } - } - }, - { - "__struct_id": 110, - "Animation": { - "type": "dword", - "value": 88 - }, - "AnimLoop": { - "type": "byte", - "value": 1 - }, - "Comment": { - "type": "cexostring", - "value": "" - }, - "Delay": { - "type": "dword", - "value": 4294967295 - }, - "EntriesList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 29 - }, - "IsChild": { - "type": "byte", - "value": 1 - }, - "LinkComment": { - "type": "cexostring", - "value": "" - } - } - ] - }, - "Quest": { - "type": "cexostring", - "value": "" - }, - "Script": { - "type": "resref", - "value": "zep_cr_nextpart" - }, - "Sound": { - "type": "resref", - "value": "" - }, - "Text": { - "type": "cexolocstring", - "value": { - "id": 86969 - } - } - } - ] - }, - "StartingList": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Active": { - "type": "resref", - "value": "" - }, - "Index": { - "type": "dword", - "value": 0 - } - } - ] - } -} diff --git a/_module/ifo/module.ifo.json b/_module/ifo/module.ifo.json index 3a8075b8..3c3662c3 100644 --- a/_module/ifo/module.ifo.json +++ b/_module/ifo/module.ifo.json @@ -1474,6 +1474,13 @@ "Mod_HakList": { "type": "list", "value": [ + { + "__struct_id": 8, + "Mod_Hak": { + "type": "cexostring", + "value": "asch_prc8_top" + } + }, { "__struct_id": 8, "Mod_Hak": { @@ -1600,6 +1607,13 @@ "value": "cep_prc8_uti" } }, + { + "__struct_id": 8, + "Mod_Hak": { + "type": "cexostring", + "value": "mk_ccoh" + } + }, { "__struct_id": 8, "Mod_Hak": { diff --git a/_module/itp/storepalcus.itp.json b/_module/itp/storepalcus.itp.json index 3d504ce2..a35c4f61 100644 --- a/_module/itp/storepalcus.itp.json +++ b/_module/itp/storepalcus.itp.json @@ -56,6 +56,28 @@ "value": "candicedye" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "CCOH superstore 1" + }, + "RESREF": { + "type": "resref", + "value": "mk_ccoh_store001" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "CCOH Superstore 2" + }, + "RESREF": { + "type": "resref", + "value": "mk_ccoh_store002" + } + }, { "__struct_id": 0, "NAME": { diff --git a/_module/ncs/mk_cb_deity_chk.ncs b/_module/ncs/mk_cb_deity_chk.ncs new file mode 100644 index 00000000..3f8bd9f3 Binary files /dev/null and b/_module/ncs/mk_cb_deity_chk.ncs differ diff --git a/_module/ncs/mk_cb_hd_f_flt.ncs b/_module/ncs/mk_cb_hd_f_flt.ncs new file mode 100644 index 00000000..67152401 Binary files /dev/null and b/_module/ncs/mk_cb_hd_f_flt.ncs differ diff --git a/_module/ncs/mk_cb_hd_f_label.ncs b/_module/ncs/mk_cb_hd_f_label.ncs new file mode 100644 index 00000000..5d0644c3 Binary files /dev/null and b/_module/ncs/mk_cb_hd_f_label.ncs differ diff --git a/_module/ncs/mk_cb_hd_label.ncs b/_module/ncs/mk_cb_hd_label.ncs new file mode 100644 index 00000000..1b28ec0b Binary files /dev/null and b/_module/ncs/mk_cb_hd_label.ncs differ diff --git a/_module/ncs/mk_cb_ichrg_chk.ncs b/_module/ncs/mk_cb_ichrg_chk.ncs new file mode 100644 index 00000000..dc1b2f25 Binary files /dev/null and b/_module/ncs/mk_cb_ichrg_chk.ncs differ diff --git a/_module/ncs/mk_cb_ichrg_lbl.ncs b/_module/ncs/mk_cb_ichrg_lbl.ncs new file mode 100644 index 00000000..0fe3d073 Binary files /dev/null and b/_module/ncs/mk_cb_ichrg_lbl.ncs differ diff --git a/_module/ncs/mk_cb_iflag_chk.ncs b/_module/ncs/mk_cb_iflag_chk.ncs new file mode 100644 index 00000000..12c65508 Binary files /dev/null and b/_module/ncs/mk_cb_iflag_chk.ncs differ diff --git a/_module/ncs/mk_cb_iflag_lbl.ncs b/_module/ncs/mk_cb_iflag_lbl.ncs new file mode 100644 index 00000000..f13d4f16 Binary files /dev/null and b/_module/ncs/mk_cb_iflag_lbl.ncs differ diff --git a/_module/ncs/mk_cb_iprp_chk.ncs b/_module/ncs/mk_cb_iprp_chk.ncs new file mode 100644 index 00000000..891b21ea Binary files /dev/null and b/_module/ncs/mk_cb_iprp_chk.ncs differ diff --git a/_module/ncs/mk_cb_iprp_ctlbl.ncs b/_module/ncs/mk_cb_iprp_ctlbl.ncs new file mode 100644 index 00000000..4c67bdc9 Binary files /dev/null and b/_module/ncs/mk_cb_iprp_ctlbl.ncs differ diff --git a/_module/ncs/mk_cb_iprp_ftchk.ncs b/_module/ncs/mk_cb_iprp_ftchk.ncs new file mode 100644 index 00000000..b926de7e Binary files /dev/null and b/_module/ncs/mk_cb_iprp_ftchk.ncs differ diff --git a/_module/ncs/mk_cb_iprp_ftlbl.ncs b/_module/ncs/mk_cb_iprp_ftlbl.ncs new file mode 100644 index 00000000..7a8b5251 Binary files /dev/null and b/_module/ncs/mk_cb_iprp_ftlbl.ncs differ diff --git a/_module/ncs/mk_cb_iprp_iflbl.ncs b/_module/ncs/mk_cb_iprp_iflbl.ncs new file mode 100644 index 00000000..1df90643 Binary files /dev/null and b/_module/ncs/mk_cb_iprp_iflbl.ncs differ diff --git a/_module/ncs/mk_cb_iprp_inlbl.ncs b/_module/ncs/mk_cb_iprp_inlbl.ncs new file mode 100644 index 00000000..92622f3d Binary files /dev/null and b/_module/ncs/mk_cb_iprp_inlbl.ncs differ diff --git a/_module/ncs/mk_cb_iprp_iplbl.ncs b/_module/ncs/mk_cb_iprp_iplbl.ncs new file mode 100644 index 00000000..2536a69c Binary files /dev/null and b/_module/ncs/mk_cb_iprp_iplbl.ncs differ diff --git a/_module/ncs/mk_cb_iprp_itchk.ncs b/_module/ncs/mk_cb_iprp_itchk.ncs new file mode 100644 index 00000000..467ea467 Binary files /dev/null and b/_module/ncs/mk_cb_iprp_itchk.ncs differ diff --git a/_module/ncs/mk_cb_iprp_p1lbl.ncs b/_module/ncs/mk_cb_iprp_p1lbl.ncs new file mode 100644 index 00000000..f1b5d835 Binary files /dev/null and b/_module/ncs/mk_cb_iprp_p1lbl.ncs differ diff --git a/_module/ncs/mk_cb_iprp_sklbl.ncs b/_module/ncs/mk_cb_iprp_sklbl.ncs new file mode 100644 index 00000000..9bdf1e2a Binary files /dev/null and b/_module/ncs/mk_cb_iprp_sklbl.ncs differ diff --git a/_module/ncs/mk_cb_iprp_stlbl.ncs b/_module/ncs/mk_cb_iprp_stlbl.ncs new file mode 100644 index 00000000..0df89ae1 Binary files /dev/null and b/_module/ncs/mk_cb_iprp_stlbl.ncs differ diff --git a/_module/ncs/mk_cb_store_lbl.ncs b/_module/ncs/mk_cb_store_lbl.ncs new file mode 100644 index 00000000..284704bd Binary files /dev/null and b/_module/ncs/mk_cb_store_lbl.ncs differ diff --git a/_module/ncs/mk_cb_swpip_chk.ncs b/_module/ncs/mk_cb_swpip_chk.ncs new file mode 100644 index 00000000..ae3875bf Binary files /dev/null and b/_module/ncs/mk_cb_swpip_chk.ncs differ diff --git a/_module/ncs/mk_cb_vfx_check.ncs b/_module/ncs/mk_cb_vfx_check.ncs new file mode 100644 index 00000000..b8b9a95b Binary files /dev/null and b/_module/ncs/mk_cb_vfx_check.ncs differ diff --git a/_module/ncs/mk_cb_vfx_filter.ncs b/_module/ncs/mk_cb_vfx_filter.ncs new file mode 100644 index 00000000..ca5c0567 Binary files /dev/null and b/_module/ncs/mk_cb_vfx_filter.ncs differ diff --git a/_module/ncs/mk_cb_vfx_label.ncs b/_module/ncs/mk_cb_vfx_label.ncs new file mode 100644 index 00000000..97fa637f Binary files /dev/null and b/_module/ncs/mk_cb_vfx_label.ncs differ diff --git a/_module/ncs/mk_cond_00.ncs b/_module/ncs/mk_cond_00.ncs new file mode 100644 index 00000000..abd99b9f Binary files /dev/null and b/_module/ncs/mk_cond_00.ncs differ diff --git a/_module/ncs/mk_cond_01.ncs b/_module/ncs/mk_cond_01.ncs new file mode 100644 index 00000000..d1596c52 Binary files /dev/null and b/_module/ncs/mk_cond_01.ncs differ diff --git a/_module/ncs/mk_cond_02.ncs b/_module/ncs/mk_cond_02.ncs new file mode 100644 index 00000000..95ff0a55 Binary files /dev/null and b/_module/ncs/mk_cond_02.ncs differ diff --git a/_module/ncs/mk_cond_03.ncs b/_module/ncs/mk_cond_03.ncs new file mode 100644 index 00000000..57a77af8 Binary files /dev/null and b/_module/ncs/mk_cond_03.ncs differ diff --git a/_module/ncs/mk_cond_04.ncs b/_module/ncs/mk_cond_04.ncs new file mode 100644 index 00000000..afe2d945 Binary files /dev/null and b/_module/ncs/mk_cond_04.ncs differ diff --git a/_module/ncs/mk_cond_05.ncs b/_module/ncs/mk_cond_05.ncs new file mode 100644 index 00000000..cbbcfaff Binary files /dev/null and b/_module/ncs/mk_cond_05.ncs differ diff --git a/_module/ncs/mk_cond_06.ncs b/_module/ncs/mk_cond_06.ncs new file mode 100644 index 00000000..5f2629f4 Binary files /dev/null and b/_module/ncs/mk_cond_06.ncs differ diff --git a/_module/ncs/mk_cond_07.ncs b/_module/ncs/mk_cond_07.ncs new file mode 100644 index 00000000..9b1069f3 Binary files /dev/null and b/_module/ncs/mk_cond_07.ncs differ diff --git a/_module/ncs/mk_cond_08.ncs b/_module/ncs/mk_cond_08.ncs new file mode 100644 index 00000000..04ebdceb Binary files /dev/null and b/_module/ncs/mk_cond_08.ncs differ diff --git a/_module/ncs/mk_cond_09.ncs b/_module/ncs/mk_cond_09.ncs new file mode 100644 index 00000000..4dcc3837 Binary files /dev/null and b/_module/ncs/mk_cond_09.ncs differ diff --git a/_module/ncs/mk_cond_10.ncs b/_module/ncs/mk_cond_10.ncs new file mode 100644 index 00000000..f2e93678 Binary files /dev/null and b/_module/ncs/mk_cond_10.ncs differ diff --git a/_module/ncs/mk_cond_100.ncs b/_module/ncs/mk_cond_100.ncs new file mode 100644 index 00000000..3c06a78f Binary files /dev/null and b/_module/ncs/mk_cond_100.ncs differ diff --git a/_module/ncs/mk_cond_101.ncs b/_module/ncs/mk_cond_101.ncs new file mode 100644 index 00000000..66989a29 Binary files /dev/null and b/_module/ncs/mk_cond_101.ncs differ diff --git a/_module/ncs/mk_cond_102.ncs b/_module/ncs/mk_cond_102.ncs new file mode 100644 index 00000000..69407fd8 Binary files /dev/null and b/_module/ncs/mk_cond_102.ncs differ diff --git a/_module/ncs/mk_cond_103.ncs b/_module/ncs/mk_cond_103.ncs new file mode 100644 index 00000000..792e31bd Binary files /dev/null and b/_module/ncs/mk_cond_103.ncs differ diff --git a/_module/ncs/mk_cond_11.ncs b/_module/ncs/mk_cond_11.ncs new file mode 100644 index 00000000..c67f6385 Binary files /dev/null and b/_module/ncs/mk_cond_11.ncs differ diff --git a/_module/ncs/mk_cond_12.ncs b/_module/ncs/mk_cond_12.ncs new file mode 100644 index 00000000..f6ccf395 Binary files /dev/null and b/_module/ncs/mk_cond_12.ncs differ diff --git a/_module/ncs/mk_cond_127.ncs b/_module/ncs/mk_cond_127.ncs new file mode 100644 index 00000000..8c8acec1 Binary files /dev/null and b/_module/ncs/mk_cond_127.ncs differ diff --git a/_module/ncs/mk_cond_13.ncs b/_module/ncs/mk_cond_13.ncs new file mode 100644 index 00000000..2048b81c Binary files /dev/null and b/_module/ncs/mk_cond_13.ncs differ diff --git a/_module/ncs/mk_cond_14.ncs b/_module/ncs/mk_cond_14.ncs new file mode 100644 index 00000000..f307a8f3 Binary files /dev/null and b/_module/ncs/mk_cond_14.ncs differ diff --git a/_module/ncs/mk_cond_15.ncs b/_module/ncs/mk_cond_15.ncs new file mode 100644 index 00000000..416db91e Binary files /dev/null and b/_module/ncs/mk_cond_15.ncs differ diff --git a/_module/ncs/mk_cond_16.ncs b/_module/ncs/mk_cond_16.ncs new file mode 100644 index 00000000..2198dc4b Binary files /dev/null and b/_module/ncs/mk_cond_16.ncs differ diff --git a/_module/ncs/mk_cond_17.ncs b/_module/ncs/mk_cond_17.ncs new file mode 100644 index 00000000..d5d06255 Binary files /dev/null and b/_module/ncs/mk_cond_17.ncs differ diff --git a/_module/ncs/mk_cond_18.ncs b/_module/ncs/mk_cond_18.ncs new file mode 100644 index 00000000..00a96646 Binary files /dev/null and b/_module/ncs/mk_cond_18.ncs differ diff --git a/_module/ncs/mk_cond_19.ncs b/_module/ncs/mk_cond_19.ncs new file mode 100644 index 00000000..4b44fbdb Binary files /dev/null and b/_module/ncs/mk_cond_19.ncs differ diff --git a/_module/ncs/mk_cond_20.ncs b/_module/ncs/mk_cond_20.ncs new file mode 100644 index 00000000..e845971a Binary files /dev/null and b/_module/ncs/mk_cond_20.ncs differ diff --git a/_module/ncs/mk_cond_21.ncs b/_module/ncs/mk_cond_21.ncs new file mode 100644 index 00000000..7331c8f6 Binary files /dev/null and b/_module/ncs/mk_cond_21.ncs differ diff --git a/_module/ncs/mk_cond_22.ncs b/_module/ncs/mk_cond_22.ncs new file mode 100644 index 00000000..3943e5fe Binary files /dev/null and b/_module/ncs/mk_cond_22.ncs differ diff --git a/_module/ncs/mk_cond_23.ncs b/_module/ncs/mk_cond_23.ncs new file mode 100644 index 00000000..15bac4fa Binary files /dev/null and b/_module/ncs/mk_cond_23.ncs differ diff --git a/_module/ncs/mk_cond_24.ncs b/_module/ncs/mk_cond_24.ncs new file mode 100644 index 00000000..13a44bbe Binary files /dev/null and b/_module/ncs/mk_cond_24.ncs differ diff --git a/_module/ncs/mk_cond_249.ncs b/_module/ncs/mk_cond_249.ncs new file mode 100644 index 00000000..7526ea0d Binary files /dev/null and b/_module/ncs/mk_cond_249.ncs differ diff --git a/_module/ncs/mk_cond_25.ncs b/_module/ncs/mk_cond_25.ncs new file mode 100644 index 00000000..90a49f43 Binary files /dev/null and b/_module/ncs/mk_cond_25.ncs differ diff --git a/_module/ncs/mk_cond_250.ncs b/_module/ncs/mk_cond_250.ncs new file mode 100644 index 00000000..12f66032 Binary files /dev/null and b/_module/ncs/mk_cond_250.ncs differ diff --git a/_module/ncs/mk_cond_251.ncs b/_module/ncs/mk_cond_251.ncs new file mode 100644 index 00000000..a991a34c Binary files /dev/null and b/_module/ncs/mk_cond_251.ncs differ diff --git a/_module/ncs/mk_cond_252.ncs b/_module/ncs/mk_cond_252.ncs new file mode 100644 index 00000000..6e7b2f17 Binary files /dev/null and b/_module/ncs/mk_cond_252.ncs differ diff --git a/_module/ncs/mk_cond_253.ncs b/_module/ncs/mk_cond_253.ncs new file mode 100644 index 00000000..c86cbdd0 Binary files /dev/null and b/_module/ncs/mk_cond_253.ncs differ diff --git a/_module/ncs/mk_cond_254.ncs b/_module/ncs/mk_cond_254.ncs new file mode 100644 index 00000000..38662841 Binary files /dev/null and b/_module/ncs/mk_cond_254.ncs differ diff --git a/_module/ncs/mk_cond_255.ncs b/_module/ncs/mk_cond_255.ncs new file mode 100644 index 00000000..e29333be Binary files /dev/null and b/_module/ncs/mk_cond_255.ncs differ diff --git a/_module/ncs/mk_cond_256.ncs b/_module/ncs/mk_cond_256.ncs new file mode 100644 index 00000000..3246cee1 Binary files /dev/null and b/_module/ncs/mk_cond_256.ncs differ diff --git a/_module/ncs/mk_cond_257.ncs b/_module/ncs/mk_cond_257.ncs new file mode 100644 index 00000000..ccae37b4 Binary files /dev/null and b/_module/ncs/mk_cond_257.ncs differ diff --git a/_module/ncs/mk_cond_26.ncs b/_module/ncs/mk_cond_26.ncs new file mode 100644 index 00000000..d054dbed Binary files /dev/null and b/_module/ncs/mk_cond_26.ncs differ diff --git a/_module/ncs/mk_cond_27.ncs b/_module/ncs/mk_cond_27.ncs new file mode 100644 index 00000000..b35ca056 Binary files /dev/null and b/_module/ncs/mk_cond_27.ncs differ diff --git a/_module/ncs/mk_cond_28.ncs b/_module/ncs/mk_cond_28.ncs new file mode 100644 index 00000000..854eb61e Binary files /dev/null and b/_module/ncs/mk_cond_28.ncs differ diff --git a/_module/ncs/mk_cond_29.ncs b/_module/ncs/mk_cond_29.ncs new file mode 100644 index 00000000..a8c05ffe Binary files /dev/null and b/_module/ncs/mk_cond_29.ncs differ diff --git a/_module/ncs/mk_cond_30.ncs b/_module/ncs/mk_cond_30.ncs new file mode 100644 index 00000000..a66a0aa6 Binary files /dev/null and b/_module/ncs/mk_cond_30.ncs differ diff --git a/_module/ncs/mk_cond_31.ncs b/_module/ncs/mk_cond_31.ncs new file mode 100644 index 00000000..c15c4f02 Binary files /dev/null and b/_module/ncs/mk_cond_31.ncs differ diff --git a/_module/ncs/mk_cond_32.ncs b/_module/ncs/mk_cond_32.ncs new file mode 100644 index 00000000..40401b51 Binary files /dev/null and b/_module/ncs/mk_cond_32.ncs differ diff --git a/_module/ncs/mk_cond_33.ncs b/_module/ncs/mk_cond_33.ncs new file mode 100644 index 00000000..95cfd724 Binary files /dev/null and b/_module/ncs/mk_cond_33.ncs differ diff --git a/_module/ncs/mk_cond_34.ncs b/_module/ncs/mk_cond_34.ncs new file mode 100644 index 00000000..4efe80c5 Binary files /dev/null and b/_module/ncs/mk_cond_34.ncs differ diff --git a/_module/ncs/mk_cond_35.ncs b/_module/ncs/mk_cond_35.ncs new file mode 100644 index 00000000..2ee643b9 Binary files /dev/null and b/_module/ncs/mk_cond_35.ncs differ diff --git a/_module/ncs/mk_cond_36.ncs b/_module/ncs/mk_cond_36.ncs new file mode 100644 index 00000000..e0f74ed0 Binary files /dev/null and b/_module/ncs/mk_cond_36.ncs differ diff --git a/_module/ncs/mk_cond_37.ncs b/_module/ncs/mk_cond_37.ncs new file mode 100644 index 00000000..d31b8827 Binary files /dev/null and b/_module/ncs/mk_cond_37.ncs differ diff --git a/_module/ncs/mk_cond_38.ncs b/_module/ncs/mk_cond_38.ncs new file mode 100644 index 00000000..8ade075c Binary files /dev/null and b/_module/ncs/mk_cond_38.ncs differ diff --git a/_module/ncs/mk_cond_39.ncs b/_module/ncs/mk_cond_39.ncs new file mode 100644 index 00000000..050ce260 Binary files /dev/null and b/_module/ncs/mk_cond_39.ncs differ diff --git a/_module/ncs/mk_cond_40.ncs b/_module/ncs/mk_cond_40.ncs new file mode 100644 index 00000000..8d5fcfc1 Binary files /dev/null and b/_module/ncs/mk_cond_40.ncs differ diff --git a/_module/ncs/mk_do_sel_target.ncs b/_module/ncs/mk_do_sel_target.ncs new file mode 100644 index 00000000..39098247 Binary files /dev/null and b/_module/ncs/mk_do_sel_target.ncs differ diff --git a/_module/ncs/mk_editor_main.ncs b/_module/ncs/mk_editor_main.ncs new file mode 100644 index 00000000..2cfeab3a Binary files /dev/null and b/_module/ncs/mk_editor_main.ncs differ diff --git a/_module/ncs/mk_get_version.ncs b/_module/ncs/mk_get_version.ncs new file mode 100644 index 00000000..286fb552 Binary files /dev/null and b/_module/ncs/mk_get_version.ncs differ diff --git a/_module/ncs/mk_im_cancel.ncs b/_module/ncs/mk_im_cancel.ncs new file mode 100644 index 00000000..327ef673 Binary files /dev/null and b/_module/ncs/mk_im_cancel.ncs differ diff --git a/_module/ncs/mk_im_finished.ncs b/_module/ncs/mk_im_finished.ncs new file mode 100644 index 00000000..99662d61 Binary files /dev/null and b/_module/ncs/mk_im_finished.ncs differ diff --git a/_module/ncs/mk_im_getchanged.ncs b/_module/ncs/mk_im_getchanged.ncs new file mode 100644 index 00000000..ce96017c Binary files /dev/null and b/_module/ncs/mk_im_getchanged.ncs differ diff --git a/_module/ncs/mk_im_start.ncs b/_module/ncs/mk_im_start.ncs new file mode 100644 index 00000000..eef7d5dd Binary files /dev/null and b/_module/ncs/mk_im_start.ncs differ diff --git a/_module/ncs/mk_ncond_27.ncs b/_module/ncs/mk_ncond_27.ncs new file mode 100644 index 00000000..25907d1f Binary files /dev/null and b/_module/ncs/mk_ncond_27.ncs differ diff --git a/_module/ncs/mk_ncond_28.ncs b/_module/ncs/mk_ncond_28.ncs new file mode 100644 index 00000000..ed7f57f5 Binary files /dev/null and b/_module/ncs/mk_ncond_28.ncs differ diff --git a/_module/ncs/mk_ncond_29.ncs b/_module/ncs/mk_ncond_29.ncs new file mode 100644 index 00000000..4606f1b3 Binary files /dev/null and b/_module/ncs/mk_ncond_29.ncs differ diff --git a/_module/ncs/mk_ncond_30.ncs b/_module/ncs/mk_ncond_30.ncs new file mode 100644 index 00000000..29e06b08 Binary files /dev/null and b/_module/ncs/mk_ncond_30.ncs differ diff --git a/_module/ncs/mk_ncond_31.ncs b/_module/ncs/mk_ncond_31.ncs new file mode 100644 index 00000000..71e8d0fc Binary files /dev/null and b/_module/ncs/mk_ncond_31.ncs differ diff --git a/_module/ncs/mk_ncond_32.ncs b/_module/ncs/mk_ncond_32.ncs new file mode 100644 index 00000000..28d52592 Binary files /dev/null and b/_module/ncs/mk_ncond_32.ncs differ diff --git a/_module/ncs/mk_ncond_33.ncs b/_module/ncs/mk_ncond_33.ncs new file mode 100644 index 00000000..897df2ec Binary files /dev/null and b/_module/ncs/mk_ncond_33.ncs differ diff --git a/_module/ncs/mk_ncond_34.ncs b/_module/ncs/mk_ncond_34.ncs new file mode 100644 index 00000000..8b0072e2 Binary files /dev/null and b/_module/ncs/mk_ncond_34.ncs differ diff --git a/_module/ncs/mk_ncond_35.ncs b/_module/ncs/mk_ncond_35.ncs new file mode 100644 index 00000000..428196a7 Binary files /dev/null and b/_module/ncs/mk_ncond_35.ncs differ diff --git a/_module/ncs/mk_ncond_36.ncs b/_module/ncs/mk_ncond_36.ncs new file mode 100644 index 00000000..d885ecdd Binary files /dev/null and b/_module/ncs/mk_ncond_36.ncs differ diff --git a/_module/ncs/mk_ncond_37.ncs b/_module/ncs/mk_ncond_37.ncs new file mode 100644 index 00000000..59d7bd1a Binary files /dev/null and b/_module/ncs/mk_ncond_37.ncs differ diff --git a/_module/ncs/mk_ncond_38.ncs b/_module/ncs/mk_ncond_38.ncs new file mode 100644 index 00000000..34ad7fa5 Binary files /dev/null and b/_module/ncs/mk_ncond_38.ncs differ diff --git a/_module/ncs/mk_ncond_39.ncs b/_module/ncs/mk_ncond_39.ncs new file mode 100644 index 00000000..d39a1e25 Binary files /dev/null and b/_module/ncs/mk_ncond_39.ncs differ diff --git a/_module/ncs/mk_on_dismount.ncs b/_module/ncs/mk_on_dismount.ncs new file mode 100644 index 00000000..ddfa85b5 Binary files /dev/null and b/_module/ncs/mk_on_dismount.ncs differ diff --git a/_module/ncs/mk_on_dismounted.ncs b/_module/ncs/mk_on_dismounted.ncs new file mode 100644 index 00000000..2eb9e9e4 Binary files /dev/null and b/_module/ncs/mk_on_dismounted.ncs differ diff --git a/_module/ncs/mk_on_mount.ncs b/_module/ncs/mk_on_mount.ncs new file mode 100644 index 00000000..3ad383e3 Binary files /dev/null and b/_module/ncs/mk_on_mount.ncs differ diff --git a/_module/ncs/mk_on_mounted.ncs b/_module/ncs/mk_on_mounted.ncs new file mode 100644 index 00000000..8211ec10 Binary files /dev/null and b/_module/ncs/mk_on_mounted.ncs differ diff --git a/_module/ncs/mk_onplayerchat.ncs b/_module/ncs/mk_onplayerchat.ncs new file mode 100644 index 00000000..b71ff966 Binary files /dev/null and b/_module/ncs/mk_onplayerchat.ncs differ diff --git a/_module/ncs/mk_onplayertargt.ncs b/_module/ncs/mk_onplayertargt.ncs new file mode 100644 index 00000000..18221b0b Binary files /dev/null and b/_module/ncs/mk_onplayertargt.ncs differ diff --git a/_module/ncs/mk_pre_app.ncs b/_module/ncs/mk_pre_app.ncs new file mode 100644 index 00000000..35b51502 Binary files /dev/null and b/_module/ncs/mk_pre_app.ncs differ diff --git a/_module/ncs/mk_pre_armorpart.ncs b/_module/ncs/mk_pre_armorpart.ncs new file mode 100644 index 00000000..44728f88 Binary files /dev/null and b/_module/ncs/mk_pre_armorpart.ncs differ diff --git a/_module/ncs/mk_pre_body.ncs b/_module/ncs/mk_pre_body.ncs new file mode 100644 index 00000000..ba563a7c Binary files /dev/null and b/_module/ncs/mk_pre_body.ncs differ diff --git a/_module/ncs/mk_pre_cheats.ncs b/_module/ncs/mk_pre_cheats.ncs new file mode 100644 index 00000000..53086a13 Binary files /dev/null and b/_module/ncs/mk_pre_cheats.ncs differ diff --git a/_module/ncs/mk_pre_color2.ncs b/_module/ncs/mk_pre_color2.ncs new file mode 100644 index 00000000..b47245a1 Binary files /dev/null and b/_module/ncs/mk_pre_color2.ncs differ diff --git a/_module/ncs/mk_pre_crafting.ncs b/_module/ncs/mk_pre_crafting.ncs new file mode 100644 index 00000000..7244752c Binary files /dev/null and b/_module/ncs/mk_pre_crafting.ncs differ diff --git a/_module/ncs/mk_pre_critem.ncs b/_module/ncs/mk_pre_critem.ncs new file mode 100644 index 00000000..dc04f8ff Binary files /dev/null and b/_module/ncs/mk_pre_critem.ncs differ diff --git a/_module/ncs/mk_pre_db_item.ncs b/_module/ncs/mk_pre_db_item.ncs new file mode 100644 index 00000000..cb8c0ac5 Binary files /dev/null and b/_module/ncs/mk_pre_db_item.ncs differ diff --git a/_module/ncs/mk_pre_deity.ncs b/_module/ncs/mk_pre_deity.ncs new file mode 100644 index 00000000..991f2548 Binary files /dev/null and b/_module/ncs/mk_pre_deity.ncs differ diff --git a/_module/ncs/mk_pre_dye.ncs b/_module/ncs/mk_pre_dye.ncs new file mode 100644 index 00000000..7ca18c73 Binary files /dev/null and b/_module/ncs/mk_pre_dye.ncs differ diff --git a/_module/ncs/mk_pre_edit_desc.ncs b/_module/ncs/mk_pre_edit_desc.ncs new file mode 100644 index 00000000..96187a1f Binary files /dev/null and b/_module/ncs/mk_pre_edit_desc.ncs differ diff --git a/_module/ncs/mk_pre_footstep.ncs b/_module/ncs/mk_pre_footstep.ncs new file mode 100644 index 00000000..d4b1ce68 Binary files /dev/null and b/_module/ncs/mk_pre_footstep.ncs differ diff --git a/_module/ncs/mk_pre_head.ncs b/_module/ncs/mk_pre_head.ncs new file mode 100644 index 00000000..8f42b811 Binary files /dev/null and b/_module/ncs/mk_pre_head.ncs differ diff --git a/_module/ncs/mk_pre_itemlist.ncs b/_module/ncs/mk_pre_itemlist.ncs new file mode 100644 index 00000000..69b352cc Binary files /dev/null and b/_module/ncs/mk_pre_itemlist.ncs differ diff --git a/_module/ncs/mk_pre_itemprop.ncs b/_module/ncs/mk_pre_itemprop.ncs new file mode 100644 index 00000000..ec17eb6c Binary files /dev/null and b/_module/ncs/mk_pre_itemprop.ncs differ diff --git a/_module/ncs/mk_pre_material.ncs b/_module/ncs/mk_pre_material.ncs new file mode 100644 index 00000000..4ab903a6 Binary files /dev/null and b/_module/ncs/mk_pre_material.ncs differ diff --git a/_module/ncs/mk_pre_perpart_s.ncs b/_module/ncs/mk_pre_perpart_s.ncs new file mode 100644 index 00000000..2a046148 Binary files /dev/null and b/_module/ncs/mk_pre_perpart_s.ncs differ diff --git a/_module/ncs/mk_pre_pheno.ncs b/_module/ncs/mk_pre_pheno.ncs new file mode 100644 index 00000000..e7f39d59 Binary files /dev/null and b/_module/ncs/mk_pre_pheno.ncs differ diff --git a/_module/ncs/mk_pre_ren_item.ncs b/_module/ncs/mk_pre_ren_item.ncs new file mode 100644 index 00000000..4aa95268 Binary files /dev/null and b/_module/ncs/mk_pre_ren_item.ncs differ diff --git a/_module/ncs/mk_pre_scale.ncs b/_module/ncs/mk_pre_scale.ncs new file mode 100644 index 00000000..9661e00a Binary files /dev/null and b/_module/ncs/mk_pre_scale.ncs differ diff --git a/_module/ncs/mk_pre_swp_iprop.ncs b/_module/ncs/mk_pre_swp_iprop.ncs new file mode 100644 index 00000000..14ec585b Binary files /dev/null and b/_module/ncs/mk_pre_swp_iprop.ncs differ diff --git a/_module/ncs/mk_pre_tail.ncs b/_module/ncs/mk_pre_tail.ncs new file mode 100644 index 00000000..d4595dc1 Binary files /dev/null and b/_module/ncs/mk_pre_tail.ncs differ diff --git a/_module/ncs/mk_pre_vfx.ncs b/_module/ncs/mk_pre_vfx.ncs new file mode 100644 index 00000000..b75b6c2e Binary files /dev/null and b/_module/ncs/mk_pre_vfx.ncs differ diff --git a/_module/ncs/mk_pre_weaponpar.ncs b/_module/ncs/mk_pre_weaponpar.ncs new file mode 100644 index 00000000..0b810944 Binary files /dev/null and b/_module/ncs/mk_pre_weaponpar.ncs differ diff --git a/_module/ncs/mk_pre_wings.ncs b/_module/ncs/mk_pre_wings.ncs new file mode 100644 index 00000000..d4b8984c Binary files /dev/null and b/_module/ncs/mk_pre_wings.ncs differ diff --git a/_module/ncs/mk_set_00.ncs b/_module/ncs/mk_set_00.ncs new file mode 100644 index 00000000..7f882d34 Binary files /dev/null and b/_module/ncs/mk_set_00.ncs differ diff --git a/_module/ncs/mk_set_01.ncs b/_module/ncs/mk_set_01.ncs new file mode 100644 index 00000000..17693b3f Binary files /dev/null and b/_module/ncs/mk_set_01.ncs differ diff --git a/_module/ncs/mk_set_02.ncs b/_module/ncs/mk_set_02.ncs new file mode 100644 index 00000000..39ac9fa9 Binary files /dev/null and b/_module/ncs/mk_set_02.ncs differ diff --git a/_module/ncs/mk_set_03.ncs b/_module/ncs/mk_set_03.ncs new file mode 100644 index 00000000..f2cb3628 Binary files /dev/null and b/_module/ncs/mk_set_03.ncs differ diff --git a/_module/ncs/mk_set_04.ncs b/_module/ncs/mk_set_04.ncs new file mode 100644 index 00000000..f70707ca Binary files /dev/null and b/_module/ncs/mk_set_04.ncs differ diff --git a/_module/ncs/mk_set_05.ncs b/_module/ncs/mk_set_05.ncs new file mode 100644 index 00000000..15190dac Binary files /dev/null and b/_module/ncs/mk_set_05.ncs differ diff --git a/_module/ncs/mk_set_06.ncs b/_module/ncs/mk_set_06.ncs new file mode 100644 index 00000000..1b7e2d3d Binary files /dev/null and b/_module/ncs/mk_set_06.ncs differ diff --git a/_module/ncs/mk_set_07.ncs b/_module/ncs/mk_set_07.ncs new file mode 100644 index 00000000..84c8a56a Binary files /dev/null and b/_module/ncs/mk_set_07.ncs differ diff --git a/_module/ncs/mk_set_08.ncs b/_module/ncs/mk_set_08.ncs new file mode 100644 index 00000000..e1aba172 Binary files /dev/null and b/_module/ncs/mk_set_08.ncs differ diff --git a/_module/ncs/mk_set_09.ncs b/_module/ncs/mk_set_09.ncs new file mode 100644 index 00000000..b3fc7320 Binary files /dev/null and b/_module/ncs/mk_set_09.ncs differ diff --git a/_module/ncs/mk_set_10.ncs b/_module/ncs/mk_set_10.ncs new file mode 100644 index 00000000..7153ca14 Binary files /dev/null and b/_module/ncs/mk_set_10.ncs differ diff --git a/_module/ncs/mk_set_100.ncs b/_module/ncs/mk_set_100.ncs new file mode 100644 index 00000000..d69626c9 Binary files /dev/null and b/_module/ncs/mk_set_100.ncs differ diff --git a/_module/ncs/mk_set_101.ncs b/_module/ncs/mk_set_101.ncs new file mode 100644 index 00000000..2ff9d6c5 Binary files /dev/null and b/_module/ncs/mk_set_101.ncs differ diff --git a/_module/ncs/mk_set_11.ncs b/_module/ncs/mk_set_11.ncs new file mode 100644 index 00000000..e6aff5ba Binary files /dev/null and b/_module/ncs/mk_set_11.ncs differ diff --git a/_module/ncs/mk_set_12.ncs b/_module/ncs/mk_set_12.ncs new file mode 100644 index 00000000..fd8ba5ae Binary files /dev/null and b/_module/ncs/mk_set_12.ncs differ diff --git a/_module/ncs/mk_set_127.ncs b/_module/ncs/mk_set_127.ncs new file mode 100644 index 00000000..38bea0d9 Binary files /dev/null and b/_module/ncs/mk_set_127.ncs differ diff --git a/_module/ncs/mk_set_13.ncs b/_module/ncs/mk_set_13.ncs new file mode 100644 index 00000000..091ffef1 Binary files /dev/null and b/_module/ncs/mk_set_13.ncs differ diff --git a/_module/ncs/mk_set_14.ncs b/_module/ncs/mk_set_14.ncs new file mode 100644 index 00000000..7356fad4 Binary files /dev/null and b/_module/ncs/mk_set_14.ncs differ diff --git a/_module/ncs/mk_set_15.ncs b/_module/ncs/mk_set_15.ncs new file mode 100644 index 00000000..a426728d Binary files /dev/null and b/_module/ncs/mk_set_15.ncs differ diff --git a/_module/ncs/mk_set_16.ncs b/_module/ncs/mk_set_16.ncs new file mode 100644 index 00000000..aab6ce02 Binary files /dev/null and b/_module/ncs/mk_set_16.ncs differ diff --git a/_module/ncs/mk_set_17.ncs b/_module/ncs/mk_set_17.ncs new file mode 100644 index 00000000..b2fe5982 Binary files /dev/null and b/_module/ncs/mk_set_17.ncs differ diff --git a/_module/ncs/mk_set_18.ncs b/_module/ncs/mk_set_18.ncs new file mode 100644 index 00000000..f4970544 Binary files /dev/null and b/_module/ncs/mk_set_18.ncs differ diff --git a/_module/ncs/mk_set_19.ncs b/_module/ncs/mk_set_19.ncs new file mode 100644 index 00000000..ffb5fae8 Binary files /dev/null and b/_module/ncs/mk_set_19.ncs differ diff --git a/_module/ncs/mk_set_20.ncs b/_module/ncs/mk_set_20.ncs new file mode 100644 index 00000000..c379e76a Binary files /dev/null and b/_module/ncs/mk_set_20.ncs differ diff --git a/_module/ncs/mk_set_21.ncs b/_module/ncs/mk_set_21.ncs new file mode 100644 index 00000000..50aaa2cf Binary files /dev/null and b/_module/ncs/mk_set_21.ncs differ diff --git a/_module/ncs/mk_set_22.ncs b/_module/ncs/mk_set_22.ncs new file mode 100644 index 00000000..853954c2 Binary files /dev/null and b/_module/ncs/mk_set_22.ncs differ diff --git a/_module/ncs/mk_set_23.ncs b/_module/ncs/mk_set_23.ncs new file mode 100644 index 00000000..09b125a1 Binary files /dev/null and b/_module/ncs/mk_set_23.ncs differ diff --git a/_module/ncs/mk_set_24.ncs b/_module/ncs/mk_set_24.ncs new file mode 100644 index 00000000..3a088146 Binary files /dev/null and b/_module/ncs/mk_set_24.ncs differ diff --git a/_module/ncs/mk_set_249.ncs b/_module/ncs/mk_set_249.ncs new file mode 100644 index 00000000..3f360774 Binary files /dev/null and b/_module/ncs/mk_set_249.ncs differ diff --git a/_module/ncs/mk_set_25.ncs b/_module/ncs/mk_set_25.ncs new file mode 100644 index 00000000..0de0b189 Binary files /dev/null and b/_module/ncs/mk_set_25.ncs differ diff --git a/_module/ncs/mk_set_250.ncs b/_module/ncs/mk_set_250.ncs new file mode 100644 index 00000000..0ebb4ba7 Binary files /dev/null and b/_module/ncs/mk_set_250.ncs differ diff --git a/_module/ncs/mk_set_251.ncs b/_module/ncs/mk_set_251.ncs new file mode 100644 index 00000000..0c94672d Binary files /dev/null and b/_module/ncs/mk_set_251.ncs differ diff --git a/_module/ncs/mk_set_252.ncs b/_module/ncs/mk_set_252.ncs new file mode 100644 index 00000000..f83c5f4c Binary files /dev/null and b/_module/ncs/mk_set_252.ncs differ diff --git a/_module/ncs/mk_set_253.ncs b/_module/ncs/mk_set_253.ncs new file mode 100644 index 00000000..d52b63ad Binary files /dev/null and b/_module/ncs/mk_set_253.ncs differ diff --git a/_module/ncs/mk_set_254.ncs b/_module/ncs/mk_set_254.ncs new file mode 100644 index 00000000..5b1dbf6d Binary files /dev/null and b/_module/ncs/mk_set_254.ncs differ diff --git a/_module/ncs/mk_set_255.ncs b/_module/ncs/mk_set_255.ncs new file mode 100644 index 00000000..0796594f Binary files /dev/null and b/_module/ncs/mk_set_255.ncs differ diff --git a/_module/ncs/mk_set_257.ncs b/_module/ncs/mk_set_257.ncs new file mode 100644 index 00000000..70273869 Binary files /dev/null and b/_module/ncs/mk_set_257.ncs differ diff --git a/_module/ncs/mk_set_26.ncs b/_module/ncs/mk_set_26.ncs new file mode 100644 index 00000000..a293d512 Binary files /dev/null and b/_module/ncs/mk_set_26.ncs differ diff --git a/_module/ncs/mk_set_27.ncs b/_module/ncs/mk_set_27.ncs new file mode 100644 index 00000000..45f674f0 Binary files /dev/null and b/_module/ncs/mk_set_27.ncs differ diff --git a/_module/ncs/mk_set_28.ncs b/_module/ncs/mk_set_28.ncs new file mode 100644 index 00000000..39d8df33 Binary files /dev/null and b/_module/ncs/mk_set_28.ncs differ diff --git a/_module/ncs/mk_set_29.ncs b/_module/ncs/mk_set_29.ncs new file mode 100644 index 00000000..1170eb33 Binary files /dev/null and b/_module/ncs/mk_set_29.ncs differ diff --git a/_module/ncs/mk_set_30.ncs b/_module/ncs/mk_set_30.ncs new file mode 100644 index 00000000..f0bb2ae3 Binary files /dev/null and b/_module/ncs/mk_set_30.ncs differ diff --git a/_module/ncs/mk_set_31.ncs b/_module/ncs/mk_set_31.ncs new file mode 100644 index 00000000..6eefe8b4 Binary files /dev/null and b/_module/ncs/mk_set_31.ncs differ diff --git a/_module/ncs/mk_set_32.ncs b/_module/ncs/mk_set_32.ncs new file mode 100644 index 00000000..a3d2df68 Binary files /dev/null and b/_module/ncs/mk_set_32.ncs differ diff --git a/_module/ncs/mk_set_33.ncs b/_module/ncs/mk_set_33.ncs new file mode 100644 index 00000000..e2cbfaa9 Binary files /dev/null and b/_module/ncs/mk_set_33.ncs differ diff --git a/_module/ncs/mk_set_34.ncs b/_module/ncs/mk_set_34.ncs new file mode 100644 index 00000000..5ddf65bb Binary files /dev/null and b/_module/ncs/mk_set_34.ncs differ diff --git a/_module/ncs/mk_set_35.ncs b/_module/ncs/mk_set_35.ncs new file mode 100644 index 00000000..b21fc713 Binary files /dev/null and b/_module/ncs/mk_set_35.ncs differ diff --git a/_module/ncs/mk_set_36.ncs b/_module/ncs/mk_set_36.ncs new file mode 100644 index 00000000..f5c2b7a1 Binary files /dev/null and b/_module/ncs/mk_set_36.ncs differ diff --git a/_module/ncs/mk_set_37.ncs b/_module/ncs/mk_set_37.ncs new file mode 100644 index 00000000..f1a1ab03 Binary files /dev/null and b/_module/ncs/mk_set_37.ncs differ diff --git a/_module/ncs/mk_set_38.ncs b/_module/ncs/mk_set_38.ncs new file mode 100644 index 00000000..2db33cdf Binary files /dev/null and b/_module/ncs/mk_set_38.ncs differ diff --git a/_module/ncs/mk_set_39.ncs b/_module/ncs/mk_set_39.ncs new file mode 100644 index 00000000..e3675f8e Binary files /dev/null and b/_module/ncs/mk_set_39.ncs differ diff --git a/_module/ncs/mk_set_40.ncs b/_module/ncs/mk_set_40.ncs new file mode 100644 index 00000000..b0cda1c6 Binary files /dev/null and b/_module/ncs/mk_set_40.ncs differ diff --git a/_module/ncs/mk_set_invalid.ncs b/_module/ncs/mk_set_invalid.ncs new file mode 100644 index 00000000..f3c549d2 Binary files /dev/null and b/_module/ncs/mk_set_invalid.ncs differ diff --git a/_module/ncs/mk_start_acp.ncs b/_module/ncs/mk_start_acp.ncs new file mode 100644 index 00000000..c7bbea14 Binary files /dev/null and b/_module/ncs/mk_start_acp.ncs differ diff --git a/_module/ncs/nw_o0_death.ncs b/_module/ncs/nw_o0_death.ncs index d7d4fedf..4cefe0c7 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_death_ras.ncs b/_module/ncs/nw_o0_death_ras.ncs index f75394c6..a9dd4a67 100644 Binary files a/_module/ncs/nw_o0_death_ras.ncs and b/_module/ncs/nw_o0_death_ras.ncs differ diff --git a/_module/ncs/on_client_enter.ncs b/_module/ncs/on_client_enter.ncs index 3be82036..09fc1059 100644 Binary files a/_module/ncs/on_client_enter.ncs and b/_module/ncs/on_client_enter.ncs differ diff --git a/_module/ncs/spawn_leavebody.ncs b/_module/ncs/spawn_leavebody.ncs index 72c33641..8e29073a 100644 Binary files a/_module/ncs/spawn_leavebody.ncs and b/_module/ncs/spawn_leavebody.ncs differ diff --git a/_module/ncs/vamp_only.ncs b/_module/ncs/vamp_only.ncs index a3821e21..64e3aef6 100644 Binary files a/_module/ncs/vamp_only.ncs and b/_module/ncs/vamp_only.ncs differ diff --git a/_module/nss/_kb_loot_corpse.nss b/_module/nss/_kb_loot_corpse.nss index 45de4779..f3ac39bc 100644 --- a/_module/nss/_kb_loot_corpse.nss +++ b/_module/nss/_kb_loot_corpse.nss @@ -495,12 +495,12 @@ void LeaveCorpse() { //SET YOUR LOOTABLE CORPSES PREFERENCES HERE /////////////// // - int nUseLootable = FALSE; // Set this to FALSE if you want disable the lootable corpse functionality // + int nUseLootable = TRUE; // Set this to FALSE if you want disable the lootable corpse functionality // int nMoveEquipped = FALSE; // Set this to FALSE if you don't want to move Equipped items to the corpse // int nCopyArmour = FALSE; // This will use the ResRef to create a copy of the armour/helmet // int nMoveArmour = FALSE; // Setting this TRUE will just move the armour/helmet (Naked NPCs) // int nDropWeapons = TRUE; // This will use the ResRef for dropping the weapons on the ground // - int nMoveWeapons = FALSE; // Setting this TRUE will just move the weapons to the Lootable Object // + int nMoveWeapons = FALSE; // Setting this TRUE will just move the weapons to the Lootable Object // int nUseBlood = FALSE; // Set this to TRUE if you want a Bloodspot to appear under the corpse and have // // "gibs" when a corpse is destroyed. Undead/constructs/elementals won't leave a // // Bloodspot or gib. // diff --git a/_module/nss/mk_cb_deity_chk.nss b/_module/nss/mk_cb_deity_chk.nss new file mode 100644 index 00000000..052cf31d --- /dev/null +++ b/_module/nss/mk_cb_deity_chk.nss @@ -0,0 +1,66 @@ +#include "mk_inc_debug" +#include "mk_inc_2DA_disp" + +void main() +{ + object oPC = OBJECT_SELF; + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + + int bIgnoreRacialType = GetLocalInt(oPC, "MK_DEITY_IGNORE_RACIALTYPE"); + int bIgnoreAlignment = GetLocalInt(oPC, "MK_DEITY_IGNORE_ALIGNMENT"); + int bIgnoreClasses = GetLocalInt(oPC, "MK_DEITY_IGNORE_CLASSES"); + int bIgnoreGender = GetLocalInt(oPC, "MK_DEITY_IGNORE_GENDER"); + + string s2DA = GetLocalString(oPC, "MK_DEITY_2DAFILE"); + if (s2DA == "") s2DA = "mk_deities"; + + int bCheckRacialType = TRUE; + if (!bIgnoreRacialType) + { + bCheckRacialType = MK_Get2DAInt(s2DA, "AllRaces", nRow, 0) + || MK_Get2DAInt("mk_deities", GetLocalString(oPC, "MK_BODY_DEITY_RACIAL_COLUMN"), nRow, 0); + } + + int nAlignmentGenderAdjustment = ( GetLocalInt(oPC, "MK_BODY_DEITY_ALIGNMENTGENDER_ADJUST") ? 1 : 0 ); + + int bCheckAlignment = TRUE; + if (!bIgnoreAlignment) + { + int nAlignment = MK_Get2DAInt(s2DA, GetLocalString(oPC, "MK_BODY_DEITY_ALIGNMENT_COLUMN"), nRow, 0); + if ((nAlignment>0) && (!bIgnoreClasses)) + { + nAlignment-=nAlignmentGenderAdjustment; + } + bCheckAlignment = nAlignment; + } + + int bCheckGender = TRUE; + if (!bIgnoreGender) + { + int nAlignment = MK_Get2DAInt(s2DA, GetLocalString(oPC, "MK_BODY_DEITY_GENDER_COLUMN"), nRow, 0); + if ((nAlignment>0) && (!bIgnoreClasses)) + { + nAlignment-=nAlignmentGenderAdjustment; + } + bCheckGender = nAlignment; + } + + int bCheckClasses = TRUE; + if (!bIgnoreClasses) + { + int iClass; + for (iClass = 1; iClass<=3; iClass++) + { + string sColumn = GetLocalString(oPC, "MK_BODY_DEITY_CLASS"+IntToString(iClass)+"_COLUMN"); + if (sColumn!="") + { + bCheckClasses = bCheckClasses && MK_Get2DAInt(s2DA, sColumn, nRow); + } + } + } + + MK_DEBUG_TRACE("mk_cb_deity_chk: "+Get2DAString("mk_deities", "LABEL", nRow)+"["+IntToString(nRow)+"]: "+IntToString(bCheckRacialType)+", "+IntToString(bCheckAlignment)+", "+IntToString(bCheckGender)+", "+IntToString(bCheckClasses)); + int bCheck = bCheckRacialType && bCheckAlignment && bCheckGender && bCheckClasses; + + SetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_CHECK, bCheck); +} diff --git a/_module/nss/mk_cb_hd_f_flt.nss b/_module/nss/mk_cb_hd_f_flt.nss new file mode 100644 index 00000000..645e6acd --- /dev/null +++ b/_module/nss/mk_cb_hd_f_flt.nss @@ -0,0 +1,28 @@ +// mk_cb_hd_f_flt + +#include "mk_inc_debug" +#include "mk_inc_generic" +#include "mk_inc_states" +#include "mk_inc_head" +#include "mk_inc_2da_disp" + +void main() +{ + int bReturn = FALSE; + int nState = MK_GenericDialog_GetState(); + + switch (nState) + { + case MK_STATE_HEAD_FILTER: + { + object oPC = GetPCSpeaker(); + object oTarget = OBJECT_SELF; + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + bReturn = !MK_HEAD_GetIsFilterEmpty(oPC, oTarget, nRow); + MK_DEBUG_TRACE("mk_cb_hd_f_flt: nRow="+IntToString(nRow)+", bReturn="+IntToString(bReturn)); + break; + } + } + SetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_CHECK, bReturn); +} + diff --git a/_module/nss/mk_cb_hd_f_label.nss b/_module/nss/mk_cb_hd_f_label.nss new file mode 100644 index 00000000..e51fa351 --- /dev/null +++ b/_module/nss/mk_cb_hd_f_label.nss @@ -0,0 +1,23 @@ +// mk_cb_hd_f_label + +#include "mk_inc_tools" +#include "mk_inc_2da_disp" +#include "mk_inc_tlk" +#include "mk_inc_head" + +void main() +{ + object oPC = GetPCSpeaker(); + object oTarget = OBJECT_SELF; + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + string s2DA = MK_HEAD_Get2DAFile(oPC); + MK_DEBUG_TRACE("mk_cb_hd_f_label(oPC='"+GetName(oPC)+"', oTarget='"+GetName(oTarget)+"', s2DA='"+s2DA+"', nRow="+IntToString(nRow)+")"); + string sLabel = MK_TLK_GetStringByStrRef( MK_HEAD_GetIsFilterSelected(oTarget, nRow) ? -39 : -40 ) + + MK_TLK_Get2DAStringByStrRef(s2DA, nRow, "STRREF", "LABEL"); + MK_DEBUG_TRACE(" > sLabel='"+sLabel+"'"); +// int nStrRef = MK_Get2DAInt(s2DA, "STRREF", nRow, 0); +// string sLabel = (nStrRef!=0 ? MK_TLK_GetStringByStrRef(nStrRef) : Get2DAString(s2DA, "LABEL", nRow)); +// sLabel = MK_TLK_GetStringByStrRef( MK_HEAD_GetIsFilterSelected(oTarget, nRow) ? -39 : -40, GetGender(oTarget) ) + sLabel; + + SetLocalString(OBJECT_SELF, MK_2DA_DISP_CALLBACK_LABEL, sLabel); +} diff --git a/_module/nss/mk_cb_hd_label.nss b/_module/nss/mk_cb_hd_label.nss new file mode 100644 index 00000000..623604f0 --- /dev/null +++ b/_module/nss/mk_cb_hd_label.nss @@ -0,0 +1,15 @@ +// mk_cb_hd_label + +#include "mk_inc_debug" +#include "mk_inc_2da_disp" +#include "mk_inc_tools" + +void main() +{ +// object oPC = GetPCSpeaker(); +// object oTarget = OBJECT_SELF; + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + string sLabel = "Head " + MK_IntToString(nRow, 3, "0"); +// MK_DEBUG_TRACE("mk_cb_hd_label: nRow="+IntToString(nRow)+", sLabel='"+sLabel+"'"); + SetLocalString(OBJECT_SELF, MK_2DA_DISP_CALLBACK_LABEL, sLabel); +} diff --git a/_module/nss/mk_cb_ichrg_chk.nss b/_module/nss/mk_cb_ichrg_chk.nss new file mode 100644 index 00000000..317b9113 --- /dev/null +++ b/_module/nss/mk_cb_ichrg_chk.nss @@ -0,0 +1,14 @@ +#include "mk_inc_debug" +#include "mk_inc_itm_disp" + +void main() +{ + object oPC = OBJECT_SELF; + object oItem = GetLocalObject(oPC, MK_ITM_DISP_CALLBACK_OBJECT); + + int bShowAllItems = GetLocalInt(oPC, "MK_CHEATS_SHOWALLITEMS"); + + int bCheck = bShowAllItems || (GetItemCharges(oItem)>0); + + SetLocalInt(OBJECT_SELF, MK_ITM_DISP_CALLBACK_CHECK, bCheck); +} diff --git a/_module/nss/mk_cb_ichrg_lbl.nss b/_module/nss/mk_cb_ichrg_lbl.nss new file mode 100644 index 00000000..2c79c4ce --- /dev/null +++ b/_module/nss/mk_cb_ichrg_lbl.nss @@ -0,0 +1,22 @@ +#include "mk_inc_itm_disp" +#include "mk_inc_cheats" + +void main() +{ + object oPC = OBJECT_SELF; + object oItem = GetLocalObject(oPC, MK_ITM_DISP_CALLBACK_OBJECT); + object oCurrentItem = MK_CHEATS_GetCurrentItem(); + + int bIsCurrentItem = (oItem == oCurrentItem); + string sColorTag = GetLocalString(oPC, (bIsCurrentItem ? "MK_2DA_DISP_CURRENT_COLOR" : "MK_2DA_DISP_DEFAULT_COLOR")); + + string sLabel = sColorTag+GetName(oItem); + int nCharges = GetItemCharges(oItem); + if (nCharges>0) + { + sLabel += (" #" + IntToString(nCharges)); + } + sLabel += ""; + + SetLocalString(OBJECT_SELF, MK_ITM_DISP_CALLBACK_LABEL, sLabel); +} diff --git a/_module/nss/mk_cb_iflag_chk.nss b/_module/nss/mk_cb_iflag_chk.nss new file mode 100644 index 00000000..16f3b9fb --- /dev/null +++ b/_module/nss/mk_cb_iflag_chk.nss @@ -0,0 +1,36 @@ +#include "mk_inc_debug" +#include "mk_inc_states" +#include "mk_inc_itm_disp" + +void main() +{ + object oPC = OBJECT_SELF; + object oItem = GetLocalObject(oPC, MK_ITM_DISP_CALLBACK_OBJECT); + + int nState = MK_GenericDialog_GetState(); + + int bCheck = GetLocalInt(oPC, "MK_CHEATS_SHOWALLITEMS") + || GetLocalInt(oItem, "MK_CHEATS_FLAG_" + IntToString(nState)); + + if (!bCheck) + { + switch (nState) + { + case MK_STATE_CHEATS_CURSEDFLAG: + bCheck = bCheck || GetItemCursedFlag(oItem); + break; + case MK_STATE_CHEATS_PLOTFLAG: + bCheck = bCheck || GetPlotFlag(oItem); + break; + case MK_STATE_CHEATS_STOLENFLAG: + bCheck = bCheck || GetStolenFlag(oItem); + break; + case MK_STATE_CHEATS_NOTIDENTIFIED: + bCheck = bCheck || !GetIdentified(oItem); + break; + } + } +// MK_DEBUG_TRACE("mk_cb_iflag_chk (nState="+IntToString(nState)+"): '"+GetName(oItem)+"', bCheck="+IntToString(bCheck)); + + SetLocalInt(OBJECT_SELF, MK_ITM_DISP_CALLBACK_CHECK, bCheck); +} diff --git a/_module/nss/mk_cb_iflag_lbl.nss b/_module/nss/mk_cb_iflag_lbl.nss new file mode 100644 index 00000000..93fdf1b5 --- /dev/null +++ b/_module/nss/mk_cb_iflag_lbl.nss @@ -0,0 +1,46 @@ +#include "mk_inc_itm_disp" +#include "mk_inc_iprp" +#include "mk_inc_states" + +void main() +{ + object oPC = OBJECT_SELF; + object oItem = GetLocalObject(oPC, MK_ITM_DISP_CALLBACK_OBJECT); + + string sLabel = MK_IPRP_GetItemName(oItem, TRUE); + + string sColorTag = GetLocalString(oPC, "MK_CHEATS_FLAGS_COLOR"); + string sCloseTag = ""; + + int nState = MK_GenericDialog_GetState(); + + switch (nState) + { + case MK_STATE_CHEATS_CURSEDFLAG: + if (GetItemCursedFlag(oItem)) + { + sLabel += (sColorTag + " *" + GetStringByStrRef(111874) + "*" + sCloseTag); + } + break; + case MK_STATE_CHEATS_PLOTFLAG: + if (GetPlotFlag(oItem)) + { + sLabel += (sColorTag + " *" + GetStringByStrRef(6808) + "*" + sCloseTag); // or 7520? + } + break; + case MK_STATE_CHEATS_STOLENFLAG: + if (GetStolenFlag(oItem)) + { + sLabel += (sColorTag + " *" + GetStringByStrRef(7102) + "*" + sCloseTag); + } + break; + case MK_STATE_CHEATS_NOTIDENTIFIED: + if (!GetIdentified(oItem)) + { + // Postfix already done by MK_IPRP_GetItemName() + sLabel = sColorTag + sLabel + sCloseTag; + } + break; + } + SetLocalString(OBJECT_SELF, MK_ITM_DISP_CALLBACK_LABEL, sLabel); +} diff --git a/_module/nss/mk_cb_iprp_chk.nss b/_module/nss/mk_cb_iprp_chk.nss new file mode 100644 index 00000000..323e4b27 --- /dev/null +++ b/_module/nss/mk_cb_iprp_chk.nss @@ -0,0 +1,50 @@ +#include "mk_inc_debug" +#include "mk_inc_2da_disp" +#include "mk_inc_tlk" +#include "mk_inc_iprp" +#include "mk_inc_cheats" +#include "mk_inc_states" + +const string s2DAfile = "itempropdef"; +const string sColumnStrRef = "Name"; + + +void main() +{ + object oPC = OBJECT_SELF; + + int bCheck=TRUE; + int bShowCurrentOnly = GetLocalInt(oPC, "MK_CHEATS_ITEMPROPS_SHOWCURRENTONLY"); + + if (bShowCurrentOnly) + { + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + + object oItem = MK_CHEATS_GetCurrentItem(); + int nIProp = MK_CHEATS_GetCurrentItemPropertyID(); + int nSubType = MK_CHEATS_GetCurrentItemPropertySubType(); + int nCostTableValue = MK_CHEATS_GetCurrentItemPropertyCostTableValue(); + + int nState = MK_GenericDialog_GetState(); + + itemproperty iProp; + switch (nState) + { + case MK_STATE_CHEATS_ITEMPROPS_PROPERTY: + iProp = MK_IPRP_GetItemProperty(oItem, nRow); + break; + case MK_STATE_CHEATS_ITEMPROPS_SUBTYPE: + iProp = MK_IPRP_GetItemProperty(oItem, nIProp, nRow); + break; + case MK_STATE_CHEATS_ITEMPROPS_COSTTABLE: + iProp = MK_IPRP_GetItemProperty(oItem, nIProp, nSubType, nRow); + break; + case MK_STATE_CHEATS_ITEMPROPS_PARAM1: + iProp = MK_IPRP_GetItemProperty(oItem, nIProp, nSubType, nCostTableValue, nRow); + break; + } + bCheck = GetIsItemPropertyValid(iProp); + } + + SetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_CHECK, bCheck); +} diff --git a/_module/nss/mk_cb_iprp_ctlbl.nss b/_module/nss/mk_cb_iprp_ctlbl.nss new file mode 100644 index 00000000..2e29fc7d --- /dev/null +++ b/_module/nss/mk_cb_iprp_ctlbl.nss @@ -0,0 +1,42 @@ +/////////////////////////////////////////////////////////////////////////////// +// mk_cb_iprp_ctlbl +/////////////////////////////////////////////////////////////////////////////// +// callback itemproperty costtablevalue label +/////////////////////////////////////////////////////////////////////////////// + +#include "mk_inc_debug" +#include "mk_inc_2da_disp" +#include "mk_inc_tlk" +#include "mk_inc_iprp" +#include "mk_inc_cheats" + +//const string s2DAfile = "itempropdef"; +const string sColumnStrRef = "Name"; + +void main() +{ + object oPC = OBJECT_SELF; + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + object oItem = MK_CHEATS_GetCurrentItem(); + + string s2DAFile = MK_2DA_DISPLAY_Get2DAFileName(); + + int nStrRef = MK_Get2DAInt(s2DAFile, sColumnStrRef, nRow, -1); + + int nIPropID = MK_CHEATS_GetCurrentItemPropertyID(); + int nSubType = MK_CHEATS_GetCurrentItemPropertySubType(); +// int nParam1 = MK_CHEATS_GetCurrentItemPropertyParam1(); + + itemproperty iProp = MK_IPRP_GetItemProperty(oItem, nIPropID, nSubType, nRow); + int bHasIProp = GetIsItemPropertyValid(iProp); + +// MK_DEBUG_TRACE("mk_cb_iprp_ctlbl: nIProp="+IntToString(nRow) +// +", nStrRef="+IntToString(nStrRef) +// +", bHasIProp="+IntToString(bHasIProp)); + + int nGender = GetGender(OBJECT_SELF); + string sColorTag = GetLocalString(oPC, (bHasIProp ? "MK_2DA_DISP_CURRENT_COLOR" : "MK_2DA_DISP_DEFAULT_COLOR")); + string sLabel = sColorTag + GetStringByStrRef(nStrRef, nGender) + " [#"+IntToString(nRow)+"]"; + + SetLocalString(OBJECT_SELF, MK_2DA_DISP_CALLBACK_LABEL, sLabel); +} diff --git a/_module/nss/mk_cb_iprp_ftchk.nss b/_module/nss/mk_cb_iprp_ftchk.nss new file mode 100644 index 00000000..7ecb5b6a --- /dev/null +++ b/_module/nss/mk_cb_iprp_ftchk.nss @@ -0,0 +1,21 @@ +/////////////////////////////////////////////////////////////////////////////// +// mk_cb_iprp_ftchk +/////////////////////////////////////////////////////////////////////////////// +// callback itemproperty feat check +/////////////////////////////////////////////////////////////////////////////// + +#include "mk_inc_2da_disp" +#include "mk_inc_iprp" + +void main() +{ + object oPC = OBJECT_SELF; + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + + int nFeatIndex = MK_Get2DAInt("iprp_feats", "FeatIndex", nRow); + object oItem = GetItemInSlot(INVENTORY_SLOT_CARMOUR, oPC); + + int bCheck = !GetHasFeat(nFeatIndex, oPC) || MK_IPRP_GetItemHasFeat(oItem, nRow); + + SetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_CHECK, bCheck); +} diff --git a/_module/nss/mk_cb_iprp_ftlbl.nss b/_module/nss/mk_cb_iprp_ftlbl.nss new file mode 100644 index 00000000..884df443 --- /dev/null +++ b/_module/nss/mk_cb_iprp_ftlbl.nss @@ -0,0 +1,41 @@ +/////////////////////////////////////////////////////////////////////////////// +// mk_cb_iprp_ftlbl +/////////////////////////////////////////////////////////////////////////////// +// callback itemproperty feat label +/////////////////////////////////////////////////////////////////////////////// + +#include "mk_inc_debug" +#include "mk_inc_2da_disp" +#include "mk_inc_tlk" +#include "mk_inc_iprp" + +const string s2DAfile = "iprp_feats"; +const string sColumnFeatIndex = "FeatIndex"; +const string sColumnStrRef = "Name"; + + +void main() +{ + object oPC = OBJECT_SELF; + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + + int nFeat = nRow; + int nFeatIndex = MK_Get2DAInt(s2DAfile, sColumnFeatIndex, nRow, -1); + int nStrRef = MK_Get2DAInt(s2DAfile, sColumnStrRef, nRow, -1); + + object oItem = GetItemInSlot(INVENTORY_SLOT_CARMOUR, oPC); + + int bHasFeat = MK_IPRP_GetItemHasFeat(oItem, nFeat); + +// MK_DEBUG_TRACE("mk_cb_iprp_ftlbl: nFeat="+IntToString(nFeat) +// +", nFeatIndex="+IntToString(nFeatIndex) +// +", nStrRef="+IntToString(nStrRef) +// +", bHasFeat="+IntToString(bHasFeat)); + + int nGender = GetGender(OBJECT_SELF); + string sColorTag = GetLocalString(oPC, (bHasFeat ? "MK_2DA_DISP_CURRENT_COLOR" : "MK_2DA_DISP_DEFAULT_COLOR")); + string sLabel = sColorTag + MK_TLK_GetStringByStrRef( bHasFeat ? -39 : -40, nGender ) + + GetStringByStrRef(nStrRef, nGender) + " [#"+IntToString(nFeatIndex)+"]"; + + SetLocalString(OBJECT_SELF, MK_2DA_DISP_CALLBACK_LABEL, sLabel); +} diff --git a/_module/nss/mk_cb_iprp_iflbl.nss b/_module/nss/mk_cb_iprp_iflbl.nss new file mode 100644 index 00000000..5fe2728f --- /dev/null +++ b/_module/nss/mk_cb_iprp_iflbl.nss @@ -0,0 +1,48 @@ +/////////////////////////////////////////////////////////////////////////////// +// mk_cb_iprp_iflbl +/////////////////////////////////////////////////////////////////////////////// +// callback itemproperty item filter label +/////////////////////////////////////////////////////////////////////////////// + +#include "mk_inc_debug" +#include "mk_inc_2da_disp" +#include "mk_inc_tlk" +#include "mk_inc_cheats" +//#include "mk_inc_iprp" + +const string s2DAfile = "iprp_feats"; +const string sColumnFeatIndex = "FeatIndex"; +const string sColumnStrRef = "Name"; + + +void main() +{ + object oPC = OBJECT_SELF; + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + + int bSelected = MK_CHEATS_GetIsItemTypeSelected(oPC, nRow); + + int nCol; + int nStrRef; + string sLabel=""; + int nGender = GetGender(OBJECT_SELF); + for (nCol = 1; (nStrRef = MK_Get2DAInt("mk_iprp_cols", "StrRef"+IntToString(nCol), nRow, -1))!=-1; nCol++) + { + sLabel += (MK_TLK_GetStringByStrRef(nStrRef, nGender) + ", "); + } + if (sLabel!="") + { + sLabel = GetStringLeft(sLabel, GetStringLength(sLabel)-2); + } + +// MK_DEBUG_TRACE("mk_cb_iprp_ftlbl: nFeat="+IntToString(nFeat) +// +", nFeatIndex="+IntToString(nFeatIndex) +// +", nStrRef="+IntToString(nStrRef) +// +", bHasFeat="+IntToString(bHasFeat)); + + string sColorTag = GetLocalString(oPC, (bSelected ? "MK_2DA_DISP_CURRENT_COLOR" : "MK_2DA_DISP_DEFAULT_COLOR")); + sLabel = sColorTag + MK_TLK_GetStringByStrRef( bSelected ? -39 : -40, nGender ) + + sLabel + ""; + + SetLocalString(OBJECT_SELF, MK_2DA_DISP_CALLBACK_LABEL, sLabel); +} diff --git a/_module/nss/mk_cb_iprp_inlbl.nss b/_module/nss/mk_cb_iprp_inlbl.nss new file mode 100644 index 00000000..d6cc0f08 --- /dev/null +++ b/_module/nss/mk_cb_iprp_inlbl.nss @@ -0,0 +1,15 @@ +#include "mk_inc_itm_disp" + +void main() +{ + object oPC = OBJECT_SELF; + object oItem = GetLocalObject(oPC, MK_ITM_DISP_CALLBACK_OBJECT); + + string sLabel = GetName(oItem); + int nBaseItemType = GetBaseItemType(oItem); + if ((GetItemStackSize(oItem)>1) || (MK_Get2DAInt("baseitems", "Stacking", nBaseItemType, 1) > 1)) + { + sLabel += (" #" + IntToString(GetItemStackSize(oItem))); + } + SetLocalString(OBJECT_SELF, MK_ITM_DISP_CALLBACK_LABEL, sLabel); +} diff --git a/_module/nss/mk_cb_iprp_iplbl.nss b/_module/nss/mk_cb_iprp_iplbl.nss new file mode 100644 index 00000000..6f6ae58f --- /dev/null +++ b/_module/nss/mk_cb_iprp_iplbl.nss @@ -0,0 +1,31 @@ +#include "mk_inc_debug" +#include "mk_inc_2da_disp" +#include "mk_inc_tlk" +#include "mk_inc_iprp" +#include "mk_inc_cheats" + +const string s2DAfile = "itempropdef"; +const string sColumnStrRef = "Name"; + + +void main() +{ + object oPC = OBJECT_SELF; + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + object oItem = MK_CHEATS_GetCurrentItem(); + + int nStrRef = MK_Get2DAInt(s2DAfile, sColumnStrRef, nRow, -1); + + itemproperty iProp = MK_IPRP_GetItemProperty(oItem, nRow); + int bHasIProp = GetIsItemPropertyValid(iProp); + +// MK_DEBUG_TRACE("mk_cb_iprp_iplbl: nIProp="+IntToString(nRow) +// +", nStrRef="+IntToString(nStrRef) +// +", bHasIProp="+IntToString(bHasIProp)); + + int nGender = GetGender(OBJECT_SELF); + string sColorTag = GetLocalString(oPC, (bHasIProp ? "MK_2DA_DISP_CURRENT_COLOR" : "MK_2DA_DISP_DEFAULT_COLOR")); + string sLabel = sColorTag + GetStringByStrRef(nStrRef, nGender) + " [#"+IntToString(nRow)+"]"; + + SetLocalString(OBJECT_SELF, MK_2DA_DISP_CALLBACK_LABEL, sLabel); +} diff --git a/_module/nss/mk_cb_iprp_itchk.nss b/_module/nss/mk_cb_iprp_itchk.nss new file mode 100644 index 00000000..5fb03458 --- /dev/null +++ b/_module/nss/mk_cb_iprp_itchk.nss @@ -0,0 +1,15 @@ +#include "mk_inc_debug" +#include "mk_inc_cheats" +#include "mk_inc_itm_disp" + +void main() +{ + object oPC = OBJECT_SELF; + object oItem = GetLocalObject(oPC, MK_ITM_DISP_CALLBACK_OBJECT); + + int nBaseItemType = GetBaseItemType(oItem); + int nItemType = MK_Get2DAInt("baseitems", "PropColumn", nBaseItemType); + int bCheck = MK_CHEATS_GetIsItemTypeSelected(oPC, nItemType); + + SetLocalInt(OBJECT_SELF, MK_ITM_DISP_CALLBACK_CHECK, bCheck); +} diff --git a/_module/nss/mk_cb_iprp_p1lbl.nss b/_module/nss/mk_cb_iprp_p1lbl.nss new file mode 100644 index 00000000..5eea83a8 --- /dev/null +++ b/_module/nss/mk_cb_iprp_p1lbl.nss @@ -0,0 +1,40 @@ +#include "mk_inc_debug" +#include "mk_inc_2da_disp" +#include "mk_inc_tlk" +#include "mk_inc_iprp" +#include "mk_inc_cheats" + +//const string s2DAfile = "itempropdef"; +const string sColumnStrRef = "Name"; + + +void main() +{ + object oPC = OBJECT_SELF; + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + object oItem = MK_CHEATS_GetCurrentItem(); + + string s2DAFile = MK_2DA_DISPLAY_Get2DAFileName(); + + int nStrRef = MK_Get2DAInt(s2DAFile, sColumnStrRef, nRow, -1); + + int nIPropID = MK_CHEATS_GetCurrentItemPropertyID(); + int nSubType = MK_CHEATS_GetCurrentItemPropertySubType(); + int nCostTableValue = MK_CHEATS_GetCurrentItemPropertyCostTableValue(); + + itemproperty iProp = MK_IPRP_GetItemProperty(oItem, nIPropID, nSubType, nCostTableValue, nRow); + int bHasIProp = GetIsItemPropertyValid(iProp); + +// MK_DEBUG_TRACE("mk_cb_iprp_p1lbl: nIProp="+IntToString(nIPropID) +// +", nSubType="+IntToString(nSubType) +// +", nCostTableValue="+IntToString(nCostTableValue) +// +", nParam1Value="+IntToString(nRow) +// +", nStrRef="+IntToString(nStrRef) +// +", bHasIProp="+IntToString(bHasIProp)); + + int nGender = GetGender(OBJECT_SELF); + string sColorTag = GetLocalString(oPC, (bHasIProp ? "MK_2DA_DISP_CURRENT_COLOR" : "MK_2DA_DISP_DEFAULT_COLOR")); + string sLabel = sColorTag + GetStringByStrRef(nStrRef, nGender) + " [#"+IntToString(nRow)+"]"; + + SetLocalString(OBJECT_SELF, MK_2DA_DISP_CALLBACK_LABEL, sLabel); +} diff --git a/_module/nss/mk_cb_iprp_sklbl.nss b/_module/nss/mk_cb_iprp_sklbl.nss new file mode 100644 index 00000000..55cec4f8 --- /dev/null +++ b/_module/nss/mk_cb_iprp_sklbl.nss @@ -0,0 +1,32 @@ +#include "mk_inc_debug" +#include "mk_inc_2da_disp" +#include "mk_inc_tlk" +#include "mk_inc_iprp" +#include "mk_inc_cheats" + +const string s2DAfile = "skills"; +const string sColumnStrRef = "Name"; + + +void main() +{ + object oPC = OBJECT_SELF; + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + + int nSkill = nRow; + int nStrRef = MK_Get2DAInt(s2DAfile, sColumnStrRef, nRow, -1); + + object oItem = GetItemInSlot(INVENTORY_SLOT_CARMOUR, oPC); + + int nSkillBonus = MK_IPRP_GetSkillBonus(oItem, nSkill, FALSE); + int nCurrentSkill = MK_CHEATS_GetCurrentSkill(); + + int bHighlight = (nSkillBonus>0) || (nSkill==nCurrentSkill); + + string sLabel = GetLocalString(oPC, (bHighlight ? "MK_2DA_DISP_CURRENT_COLOR" : "MK_2DA_DISP_DEFAULT_COLOR")) + + GetStringByStrRef(nStrRef, GetGender(oPC)) + + (bHighlight ? " ("+IntToString(nSkillBonus)+")" : "") + + ""; + + SetLocalString(OBJECT_SELF, MK_2DA_DISP_CALLBACK_LABEL, sLabel); +} diff --git a/_module/nss/mk_cb_iprp_stlbl.nss b/_module/nss/mk_cb_iprp_stlbl.nss new file mode 100644 index 00000000..79b17f22 --- /dev/null +++ b/_module/nss/mk_cb_iprp_stlbl.nss @@ -0,0 +1,35 @@ +#include "mk_inc_debug" +#include "mk_inc_2da_disp" +#include "mk_inc_tlk" +#include "mk_inc_iprp" +#include "mk_inc_cheats" + +//const string s2DAfile = "itempropdef"; +const string sColumnStrRef = "Name"; + + +void main() +{ + object oPC = OBJECT_SELF; + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + object oItem = MK_CHEATS_GetCurrentItem(); + + string s2DAFile = MK_2DA_DISPLAY_Get2DAFileName(); + + int nStrRef = MK_Get2DAInt(s2DAFile, sColumnStrRef, nRow, -1); + + int nIPropID = MK_CHEATS_GetCurrentItemPropertyID(); + + itemproperty iProp = MK_IPRP_GetItemProperty(oItem, nIPropID, nRow); + int bHasIProp = GetIsItemPropertyValid(iProp); + +// MK_DEBUG_TRACE("mk_cb_iprp_stlbl: nIProp="+IntToString(nRow) +// +", nStrRef="+IntToString(nStrRef) +// +", bHasIProp="+IntToString(bHasIProp)); + + int nGender = GetGender(OBJECT_SELF); + string sColorTag = GetLocalString(oPC, (bHasIProp ? "MK_2DA_DISP_CURRENT_COLOR" : "MK_2DA_DISP_DEFAULT_COLOR")); + string sLabel = sColorTag + GetStringByStrRef(nStrRef, nGender) + " [#"+IntToString(nRow)+"]"; + + SetLocalString(OBJECT_SELF, MK_2DA_DISP_CALLBACK_LABEL, sLabel); +} diff --git a/_module/nss/mk_cb_store_lbl.nss b/_module/nss/mk_cb_store_lbl.nss new file mode 100644 index 00000000..b625882b --- /dev/null +++ b/_module/nss/mk_cb_store_lbl.nss @@ -0,0 +1,16 @@ +// mk_cb_hd_f_label + +#include "mk_inc_tools" +#include "mk_inc_2da_disp" +#include "mk_inc_tlk" +#include "mk_inc_cheats" + +void main() +{ + object oPC = OBJECT_SELF; + int nRow = GetLocalInt(oPC, MK_2DA_DISP_CALLBACK_ROW); + + string sLabel = MK_CHEATS_GetStoreNameByID(nRow); + + SetLocalString(oPC, MK_2DA_DISP_CALLBACK_LABEL, sLabel); +} diff --git a/_module/nss/mk_cb_swpip_chk.nss b/_module/nss/mk_cb_swpip_chk.nss new file mode 100644 index 00000000..a8bfe789 --- /dev/null +++ b/_module/nss/mk_cb_swpip_chk.nss @@ -0,0 +1,38 @@ +#include "mk_inc_debug" +#include "mk_inc_itm_disp" +#include "mk_inc_generic" +#include "mk_inc_states" +#include "mk_inc_swp_iprop" + +void main() +{ + object oPC = OBJECT_SELF; + object oItem = GetLocalObject(oPC, MK_ITM_DISP_CALLBACK_OBJECT); + int nState = MK_GenericDialog_GetState(); + + int nBaseItemType = GetBaseItemType(oItem); + int nCharges = GetItemCharges(oItem); + int nItemType = MK_Get2DAInt("baseitems", "PropColumn", nBaseItemType, -1); + + int bCheck=FALSE; + + switch (nState) + { + case MK_STATE_CHEATS_SWAPITEMPROPS_ITEM1: + bCheck = MK_Get2DAInt("mk_iprp_cols", "SwpIPrp", nItemType, 0); + break; + case MK_STATE_CHEATS_SWAPITEMPROPS_ITEM2: + { + object oItem1 = MK_SWAPIPROP_GetItem(MK_STATE_CHEATS_SWAPITEMPROPS_ITEM1); + if (GetIsObjectValid(oItem1) && (oItem1!=oItem)) + { + int nItemType1 = MK_Get2DAInt("baseitems", "PropColumn", GetBaseItemType(oItem1), -1); + int nCharges1 = GetItemCharges(oItem1); + bCheck = (nItemType == nItemType1) && (((nCharges1==0) && (nCharges==0)) || ((nCharges1>0) && (nCharges>0))); + } + break; + } + } + + SetLocalInt(OBJECT_SELF, MK_ITM_DISP_CALLBACK_CHECK, bCheck); +} diff --git a/_module/nss/mk_cb_vfx_check.nss b/_module/nss/mk_cb_vfx_check.nss new file mode 100644 index 00000000..cddf6860 --- /dev/null +++ b/_module/nss/mk_cb_vfx_check.nss @@ -0,0 +1,23 @@ +#include "mk_inc_debug" +//#include "mk_inc_tools" +#include "mk_inc_vfx" +//#include "mk_inc_generic" +//#include "mk_inc_states" +#include "mk_inc_2da_disp" + +void main() +{ + object oPC = GetPCSpeaker(); + object oTarget = OBJECT_SELF; + int nVFXMode = MK_VFX_GetVFXMode(oPC); +// MK_DEBUG_TRACE("Running mk_cb_vfx_check: ); + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + + int bCheck=MK_VFX_GetVFXIsValid(oPC, nVFXMode, nRow, oTarget); + +// MK_DEBUG_TRACE("mk_cb_vfx_check: nVFXmode="+IntToString(nVFXmode) +// +", nRow="+IntToString(nRow) +// +", bCheck="+IntToString(bCheck)); + + SetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_CHECK, bCheck); +} diff --git a/_module/nss/mk_cb_vfx_filter.nss b/_module/nss/mk_cb_vfx_filter.nss new file mode 100644 index 00000000..b42ad944 --- /dev/null +++ b/_module/nss/mk_cb_vfx_filter.nss @@ -0,0 +1,62 @@ +#include "mk_inc_debug" +#include "mk_inc_generic" +#include "mk_inc_states" +#include "mk_inc_tools" +#include "mk_inc_2da_disp" +#include "mk_inc_version" +#include "mk_inc_cep" +#include "mk_inc_vfx" + + +void main() +{ + int bReturn = TRUE; + int nState = MK_GenericDialog_GetState(); + + object oPC = GetPCSpeaker(); + object oTarget = OBJECT_SELF; + + switch (nState) + { + case MK_STATE_VFX_INIT_FILTER: + { + string s2DAFile = MK_VFX_Get_VFXModeFile(oPC); + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + int nMajor = MK_Get2DAInt(s2DAFile, "REQ_MAJ", nRow, -1); + int nMinor = MK_Get2DAInt(s2DAFile, "REQ_MIN", nRow, -1); + string sReqOther = Get2DAString(s2DAFile, "REQ_OTHER", nRow); + string s2DA = Get2DAString(s2DAFile, "2DAFILE", nRow); + int bDisable = MK_Get2DAInt(s2DAFile, "DISABLE", nRow, 0); + + if (bDisable) + { + bReturn = FALSE; + } + else + { + if ((nMajor>=0) && (nMinor>=0)) + { + bReturn = MK_VERSION_GetIsVersionGreaterEqual(OBJECT_SELF, nMajor, nMinor); + } + if (bReturn && (sReqOther!="")) + { + if (sReqOther=="CEP") + { + bReturn = MK_CEP_GetIsCEPInstalled(); + } + } + if (bReturn && (s2DA!="")) + { + bReturn = (Get2DAString(s2DA, "Label", 0)!=""); + } + +// MK_DEBUG_TRACE("mk_cb_vfx_filter: nRow="+IntToString(nRow)+", nVersion="+IntToString(nMajor)+"."+IntToString(nMinor)+", other"+sReqOther +// +", s2DA="+s2DA +// +": bReturn="+IntToString(bReturn)); + } + break; + } + } + SetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_CHECK, bReturn); + +} diff --git a/_module/nss/mk_cb_vfx_label.nss b/_module/nss/mk_cb_vfx_label.nss new file mode 100644 index 00000000..435e020d --- /dev/null +++ b/_module/nss/mk_cb_vfx_label.nss @@ -0,0 +1,43 @@ +#include "mk_inc_tools" +#include "mk_inc_2da_disp" +#include "mk_inc_states" +#include "mk_inc_vfx" +#include "mk_inc_generic" +#include "mk_inc_tlk" + +void main() +{ + object oPC = GetPCSpeaker(); + object oTarget = OBJECT_SELF; +// SendMessageToPC(GetFirstPC(), "GetPCSpeaker()="+GetName(GetPCSpeaker())); +// SendMessageToPC(GetFirstPC(), "OBJECT_SELF="+GetName(OBJECT_SELF)); + int nVFXMode = MK_VFX_GetVFXMode(oPC); + +// MK_DEBUG_TRACE("Callback script is running! nVFXmode="+IntToString(nVFXmode)+" detected."); + + string sLabel=""; + + if (nVFXMode!=-1) + { + string s2DAFile = MK_VFX_Get2DAFile(oPC, nVFXMode); + int nRow = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + + string sName = Get2DAString(s2DAFile, "Label", nRow); + + int nVFX = MK_VFX_GetVFX(oPC, nVFXMode, nRow, oTarget); + +// MK_DEBUG_TRACE("s2DAFile='"+s2DAFile+"', nRow="+IntToString(nRow)+", sName='"+sName+"', sColumn='"+sColumn+"', nVFX="+IntToString(nVFX)); + + string sDescription = MK_VFX_GetDescription(nVFXMode, nVFX, sName); + int bHasVFX = MK_VFX_GetHasVFX(oPC, nVFX, oTarget); + +// MK_DEBUG_TRACE("s2DAFile='"+s2DAFile+"', nRow="+IntToString(nRow)+", sName='"+sName+"', sColumn='" +// +sColumn+"', nVFX="+IntToString(nVFX)+", sDescription='"+sDescription+"', bHasVFX="+IntToString(bHasVFX)); + int nGender = GetGender(oTarget); + + sLabel = MK_TLK_GetStringByStrRef( bHasVFX ? -39 : -40, nGender ) + sDescription; + +// MK_DEBUG_TRACE("sLabel='"+sLabel+"'"); + } + SetLocalString(OBJECT_SELF, MK_2DA_DISP_CALLBACK_LABEL, sLabel); +} diff --git a/_module/nss/mk_cond_00.nss b/_module/nss/mk_cond_00.nss new file mode 100644 index 00000000..3796f83a --- /dev/null +++ b/_module/nss/mk_cond_00.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(0); +} diff --git a/_module/nss/mk_cond_01.nss b/_module/nss/mk_cond_01.nss new file mode 100644 index 00000000..3b8cf39f --- /dev/null +++ b/_module/nss/mk_cond_01.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(1); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_1")==1); +} diff --git a/_module/nss/mk_cond_02.nss b/_module/nss/mk_cond_02.nss new file mode 100644 index 00000000..91515b3b --- /dev/null +++ b/_module/nss/mk_cond_02.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(2); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_2")==1); +} diff --git a/_module/nss/mk_cond_03.nss b/_module/nss/mk_cond_03.nss new file mode 100644 index 00000000..0e6d1159 --- /dev/null +++ b/_module/nss/mk_cond_03.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(3); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_3")==1); +} diff --git a/_module/nss/mk_cond_04.nss b/_module/nss/mk_cond_04.nss new file mode 100644 index 00000000..edf8c4a5 --- /dev/null +++ b/_module/nss/mk_cond_04.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(4); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_4")==1); +} diff --git a/_module/nss/mk_cond_05.nss b/_module/nss/mk_cond_05.nss new file mode 100644 index 00000000..46bb39a1 --- /dev/null +++ b/_module/nss/mk_cond_05.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(5); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_5")==1); +} diff --git a/_module/nss/mk_cond_06.nss b/_module/nss/mk_cond_06.nss new file mode 100644 index 00000000..8a90e869 --- /dev/null +++ b/_module/nss/mk_cond_06.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(6); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_6")==1); +} diff --git a/_module/nss/mk_cond_07.nss b/_module/nss/mk_cond_07.nss new file mode 100644 index 00000000..4e563715 --- /dev/null +++ b/_module/nss/mk_cond_07.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(7); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_7")==1); +} diff --git a/_module/nss/mk_cond_08.nss b/_module/nss/mk_cond_08.nss new file mode 100644 index 00000000..2a6fde63 --- /dev/null +++ b/_module/nss/mk_cond_08.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(8); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_8")==1); +} diff --git a/_module/nss/mk_cond_09.nss b/_module/nss/mk_cond_09.nss new file mode 100644 index 00000000..4d474c5a --- /dev/null +++ b/_module/nss/mk_cond_09.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(9); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_9")==1); +} diff --git a/_module/nss/mk_cond_10.nss b/_module/nss/mk_cond_10.nss new file mode 100644 index 00000000..3663bc18 --- /dev/null +++ b/_module/nss/mk_cond_10.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(10); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_10")==1); +} diff --git a/_module/nss/mk_cond_100.nss b/_module/nss/mk_cond_100.nss new file mode 100644 index 00000000..3f31cbd1 --- /dev/null +++ b/_module/nss/mk_cond_100.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(100); +} diff --git a/_module/nss/mk_cond_101.nss b/_module/nss/mk_cond_101.nss new file mode 100644 index 00000000..8df2ebf1 --- /dev/null +++ b/_module/nss/mk_cond_101.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(101); +} diff --git a/_module/nss/mk_cond_102.nss b/_module/nss/mk_cond_102.nss new file mode 100644 index 00000000..52c7247a --- /dev/null +++ b/_module/nss/mk_cond_102.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(102); +} diff --git a/_module/nss/mk_cond_103.nss b/_module/nss/mk_cond_103.nss new file mode 100644 index 00000000..8366f31b --- /dev/null +++ b/_module/nss/mk_cond_103.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(103); +} diff --git a/_module/nss/mk_cond_11.nss b/_module/nss/mk_cond_11.nss new file mode 100644 index 00000000..d512ab24 --- /dev/null +++ b/_module/nss/mk_cond_11.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(11); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_11")==1); +} diff --git a/_module/nss/mk_cond_12.nss b/_module/nss/mk_cond_12.nss new file mode 100644 index 00000000..4e98efc8 --- /dev/null +++ b/_module/nss/mk_cond_12.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(12); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_12")==1); +} diff --git a/_module/nss/mk_cond_127.nss b/_module/nss/mk_cond_127.nss new file mode 100644 index 00000000..73bea39e --- /dev/null +++ b/_module/nss/mk_cond_127.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(127); +} diff --git a/_module/nss/mk_cond_13.nss b/_module/nss/mk_cond_13.nss new file mode 100644 index 00000000..ef4c5bef --- /dev/null +++ b/_module/nss/mk_cond_13.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(13); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_13")==1); +} diff --git a/_module/nss/mk_cond_14.nss b/_module/nss/mk_cond_14.nss new file mode 100644 index 00000000..33e802cf --- /dev/null +++ b/_module/nss/mk_cond_14.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(14); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_14")==1); +} diff --git a/_module/nss/mk_cond_15.nss b/_module/nss/mk_cond_15.nss new file mode 100644 index 00000000..7f92bda1 --- /dev/null +++ b/_module/nss/mk_cond_15.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(15); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_15")==1); +} diff --git a/_module/nss/mk_cond_16.nss b/_module/nss/mk_cond_16.nss new file mode 100644 index 00000000..ddf285fa --- /dev/null +++ b/_module/nss/mk_cond_16.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(16); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_16")==1); +} diff --git a/_module/nss/mk_cond_17.nss b/_module/nss/mk_cond_17.nss new file mode 100644 index 00000000..b9a8d684 --- /dev/null +++ b/_module/nss/mk_cond_17.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(17); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_17")==1); +} diff --git a/_module/nss/mk_cond_18.nss b/_module/nss/mk_cond_18.nss new file mode 100644 index 00000000..45f8e696 --- /dev/null +++ b/_module/nss/mk_cond_18.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(18); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_18")==1); +} diff --git a/_module/nss/mk_cond_19.nss b/_module/nss/mk_cond_19.nss new file mode 100644 index 00000000..ed0f651b --- /dev/null +++ b/_module/nss/mk_cond_19.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(19); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_19")==1); +} diff --git a/_module/nss/mk_cond_20.nss b/_module/nss/mk_cond_20.nss new file mode 100644 index 00000000..eee125c3 --- /dev/null +++ b/_module/nss/mk_cond_20.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(20); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_20")==1); +} diff --git a/_module/nss/mk_cond_21.nss b/_module/nss/mk_cond_21.nss new file mode 100644 index 00000000..6c566ed4 --- /dev/null +++ b/_module/nss/mk_cond_21.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(21); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_21")==1); +} diff --git a/_module/nss/mk_cond_22.nss b/_module/nss/mk_cond_22.nss new file mode 100644 index 00000000..bee4c22a --- /dev/null +++ b/_module/nss/mk_cond_22.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(22); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_23.nss b/_module/nss/mk_cond_23.nss new file mode 100644 index 00000000..5481800e --- /dev/null +++ b/_module/nss/mk_cond_23.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(23); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_23")==1); +} diff --git a/_module/nss/mk_cond_24.nss b/_module/nss/mk_cond_24.nss new file mode 100644 index 00000000..051a0e9b --- /dev/null +++ b/_module/nss/mk_cond_24.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(24); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_24")==1); +} diff --git a/_module/nss/mk_cond_249.nss b/_module/nss/mk_cond_249.nss new file mode 100644 index 00000000..5b4ff7fb --- /dev/null +++ b/_module/nss/mk_cond_249.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(249); +} diff --git a/_module/nss/mk_cond_25.nss b/_module/nss/mk_cond_25.nss new file mode 100644 index 00000000..b479d07b --- /dev/null +++ b/_module/nss/mk_cond_25.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(25); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_250.nss b/_module/nss/mk_cond_250.nss new file mode 100644 index 00000000..4770c5a7 --- /dev/null +++ b/_module/nss/mk_cond_250.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(250); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_251.nss b/_module/nss/mk_cond_251.nss new file mode 100644 index 00000000..59863f94 --- /dev/null +++ b/_module/nss/mk_cond_251.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(251); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_252.nss b/_module/nss/mk_cond_252.nss new file mode 100644 index 00000000..7f53b3f6 --- /dev/null +++ b/_module/nss/mk_cond_252.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(252); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_253.nss b/_module/nss/mk_cond_253.nss new file mode 100644 index 00000000..b91be963 --- /dev/null +++ b/_module/nss/mk_cond_253.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(253); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_254.nss b/_module/nss/mk_cond_254.nss new file mode 100644 index 00000000..bb253dd3 --- /dev/null +++ b/_module/nss/mk_cond_254.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(254); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_255.nss b/_module/nss/mk_cond_255.nss new file mode 100644 index 00000000..65603a9c --- /dev/null +++ b/_module/nss/mk_cond_255.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(255); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_256.nss b/_module/nss/mk_cond_256.nss new file mode 100644 index 00000000..68bb38a8 --- /dev/null +++ b/_module/nss/mk_cond_256.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(256); +} diff --git a/_module/nss/mk_cond_257.nss b/_module/nss/mk_cond_257.nss new file mode 100644 index 00000000..08921d09 --- /dev/null +++ b/_module/nss/mk_cond_257.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(257); +} diff --git a/_module/nss/mk_cond_26.nss b/_module/nss/mk_cond_26.nss new file mode 100644 index 00000000..31308104 --- /dev/null +++ b/_module/nss/mk_cond_26.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(26); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_27.nss b/_module/nss/mk_cond_27.nss new file mode 100644 index 00000000..c4c207c5 --- /dev/null +++ b/_module/nss/mk_cond_27.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(27); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_28.nss b/_module/nss/mk_cond_28.nss new file mode 100644 index 00000000..0bf8a3bc --- /dev/null +++ b/_module/nss/mk_cond_28.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(28); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_29.nss b/_module/nss/mk_cond_29.nss new file mode 100644 index 00000000..c582056b --- /dev/null +++ b/_module/nss/mk_cond_29.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(29); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_30.nss b/_module/nss/mk_cond_30.nss new file mode 100644 index 00000000..d50533cb --- /dev/null +++ b/_module/nss/mk_cond_30.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(30); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_31.nss b/_module/nss/mk_cond_31.nss new file mode 100644 index 00000000..f261e507 --- /dev/null +++ b/_module/nss/mk_cond_31.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(31); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_32.nss b/_module/nss/mk_cond_32.nss new file mode 100644 index 00000000..f6e7182f --- /dev/null +++ b/_module/nss/mk_cond_32.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(32); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_33.nss b/_module/nss/mk_cond_33.nss new file mode 100644 index 00000000..64375c7e --- /dev/null +++ b/_module/nss/mk_cond_33.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(33); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_34.nss b/_module/nss/mk_cond_34.nss new file mode 100644 index 00000000..8e441b50 --- /dev/null +++ b/_module/nss/mk_cond_34.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(34); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_35.nss b/_module/nss/mk_cond_35.nss new file mode 100644 index 00000000..88740bc5 --- /dev/null +++ b/_module/nss/mk_cond_35.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(35); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_36.nss b/_module/nss/mk_cond_36.nss new file mode 100644 index 00000000..d3c490b3 --- /dev/null +++ b/_module/nss/mk_cond_36.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(36); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_37.nss b/_module/nss/mk_cond_37.nss new file mode 100644 index 00000000..613d1bbf --- /dev/null +++ b/_module/nss/mk_cond_37.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(37); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_38.nss b/_module/nss/mk_cond_38.nss new file mode 100644 index 00000000..58321a14 --- /dev/null +++ b/_module/nss/mk_cond_38.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(38); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_39.nss b/_module/nss/mk_cond_39.nss new file mode 100644 index 00000000..5d58c186 --- /dev/null +++ b/_module/nss/mk_cond_39.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(39); +// return (GetLocalInt(OBJECT_SELF, "MK_CONDITION_22")==1); +} diff --git a/_module/nss/mk_cond_40.nss b/_module/nss/mk_cond_40.nss new file mode 100644 index 00000000..d2cec1d0 --- /dev/null +++ b/_module/nss/mk_cond_40.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return MK_GenericDialog_GetCondition(40); +} diff --git a/_module/nss/mk_do_sel_target.nss b/_module/nss/mk_do_sel_target.nss new file mode 100644 index 00000000..1f01d58e --- /dev/null +++ b/_module/nss/mk_do_sel_target.nss @@ -0,0 +1,13 @@ +#include "mk_inc_craft" + +void main() +{ + object oPC = GetPCSpeaker(); + object oTarget = OBJECT_SELF; + + CISetCurrentModMode(oPC,X2_CI_MODMODE_INVALID ); + MK_GenericDialog_CleanUp(); + + MK_SetPlayerTargetScript(MK_CCOH_ONPLAYERTARGETSCRIPT); + EnterTargetingMode(oPC, OBJECT_TYPE_CREATURE, MOUSECURSOR_MAGIC); +} diff --git a/_module/nss/mk_editor_main.nss b/_module/nss/mk_editor_main.nss new file mode 100644 index 00000000..b4a9363b --- /dev/null +++ b/_module/nss/mk_editor_main.nss @@ -0,0 +1,1134 @@ +#include "mk_inc_generic" +#include "mk_inc_time" +#include "mk_inc_tools_s" +#include "mk_inc_pixel" +#include "mk_inc_editor" +#include "mk_inc_editor_c" +#include "mk_inc_delimiter" + +//////////////////////////////////////////////////////////////////////////// +// used custom tokens: +// - 19999: text +// - 19998: cursor position +// - 19997: length of text +// - 19996: block on +// - 19995: headline +// - 19992: -------...-------- +// - 19991: colors (colored text 'colors') +// +// - 19990: +// - 19989: color of 'OK' button +// - 19988: color of 'Color Off' +// - 19987: editor window: color head lines, foot lines +// - 19986: color of button 'Color Off' +// - 19985: color of 'Cancel' button +// - 19984: key color +// - 19983: insert color +// - 19982: color of 'Back to main menu' button +// - 19981: color of 'Help' button +// - 19980: color of 'Load/Save' button +// +// - 19951,... +// - 19970: color names + + +// return a if ab or b==-1 otherwise it returns b +int _max(int a, int b); + +// deletes the text between nStart and nEnd and returns the result +string DeleteBlock(string sText, int nStart, int nEnd); + +// returns the text between nStart and nEnd +string CopyBlock(string sText, int nStart, int nEnd); + +// inserts sInsert at position nPos into sText and returns the result +string InsertText(string sText, int nPos, string sInsert, int nMaxLength); + +// returns sColorTag + sText + +string AddColorTag(string sText, string sColorTag); + +// creates the editor 'screen' +void CreateDisplay(object oPC, string sText, int nCursor, int nBlock); + +// returns true if block mode is on, +// block mode is on if (nBlock!=-1) and (nBlock!=nCursor) +int IsBlockMarked(int nCursor, int nBlock); + +// initializes the custom tokens +void InitCustomTokens(); + +// sets the custom tokens for the color names used by the color sub menu +void SetColorMenuStrings(); + + +string GetFileSlotVarName(int nSlot); + +// LineFeedMode: 0=ignore, 1=cut, 2=remove +string LoadTextFromSlot(object oObject, int nSlot, int nMaxLength=-1, int nLineFeedMode=0); + +void SaveTextToSlot(object oObject, int nSlot, string sText); + +// creates a line of the file menu +string CreateFileMenuText(object oObject, int bSave, int nSlot); + +// sets the custom tokens for load/save slots used by the load/save sub menu +void SetFileMenuStrings(object oObject); + +// moves the cursor one character to the right, +// basically a simple 'nCursor++' unless the character right to the cursor +// is a tag (color tag or ). Then the cursor jumps over the tag. +int IncCursor(string sText, int nCursor, int nDelta=1); + +// moves the cursor one character to the left, +// basically a simple 'nCursor--' unless the character left to the cursor +// is a tag (color tag or ). Then the cursor jumps over the tag. +int DecCursor(string sText, int nCursor, int nDelta=1); + +// reads a color name from a 2DA file (default = mk_colors.2da). +string GetColorName(int iColor); + +// reads a color tag from a 2DA file (default = mk_colors.2da). +string GetColorTag(int iColor); + +// if bUsePlayerChatEvent is FALSE (single player mode) it returns +// GetPCChatMessage(). +// if bUsePlayerChatEvent is TRUE (multi player mode) it returns +// GetLocalString(oPC, g_varEditorChatMessageString). +// The variable should be set inside OnPlayerChatEvent. +string GetPCChatMessageEx(object oPC, int bUsePlayerChatEvent); + +void IncLocalInt(object oObject, string sVarName, int n=1); + +/* +// returns true if sText starts with a 'color tag' +// (something like ). +int IsColorTag(string sText); + +// returns true if sText starts with the 'close color tag' (). +int IsCloseTag(string sText); +*/ + +struct mk_lastAction +{ + int nAction; + float fTimeStamp; +}; + +// stores nAction and the current time on the oObject +void StoreAction(object oObject, int nAction); + +// reads nAction and time passed as time stamp from oObject +struct mk_lastAction GetLastAction(object oObject); + +// calculates the cursor speed +int CalculateCursorSpeed(object oObject, int nAction); + + +// the 'menus'... +const int nMainMenu = 0; +const int nColorMenu = 1; +const int nFileMenu = 2; + +// the 'keys'... +const int nKeyPos1 = 1; +const int nKeyCursorLeft = 2; +const int nKeyCursorRight = 3; +const int nKeyEnd = 4; + +const int nKeyShiftPos1 = 5; +const int nKeyShiftCursorLeft = 6; +const int nKeyShiftCursorRight = 7; +const int nKeyShiftEnd = 8; + +const int nKeyInsert = 9; + +const int nKeyDelete = 10; +const int nKeyBackspace = 11; + +const int nKeyCtrlInsert = 12; + +const int nKeyShiftInsert = 13; +const int nKeyShiftDelete = 14; + +const int nKeyReturn = 15; + +const int nKeyColorMenu = 16; +const int nKeyFileMenu = 17; + +const int nNumberOfLoadSaveSlots = 5; + +const int nMaxTextDisplayLength = 25; + +const string sLineOnScreen = "-------------------------------------------"; +const string sColoredColor = "Colors"; +const string sEmptyLine = " "; +const string sEditorHeadLine = "IGTE 1.02 - Text:"; + + +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + + // read the current text + string sText = GetLocalString(oPC, g_varEditorBuffer); + // read the clipboard + string sClipboard = GetLocalString(oPC, g_varEditorClipboard); + // read the cursor position + int nCursor = GetLocalInt(oPC, g_varEditorCursor); + // read the block position + int nBlock = GetLocalInt(oPC, g_varEditorBlock); + // read the menu mode + int nMenuMode = GetLocalInt(oPC, g_varEditorMenuMode); + + // read the editor settings, these setings should be set in the + // script that starts the editor + int nMaxLength = GetLocalInt(oPC, g_varEditorMaxLength); + int bSingleLine = GetLocalInt(oPC, g_varEditorSingleLine); + int bDisableColors = GetLocalInt(oPC, g_varEditorDisableColors); + int bDisableBlock = GetLocalInt(oPC, g_varEditorDisableBlock); + int bUsePlayerChatEvent = GetLocalInt(oPC, g_varEditorUseOnPlayerChatEvent); + int bDisableLoadSave = GetLocalInt(oPC, g_varEditorDisableLoadSave); + + int nAction; + + int bInitialize = GetLocalInt(oPC, g_varEditorInit); + // if bInitialize is TRUE we have to initialize the editor + if (bInitialize) + { + SetLocalInt(oPC, g_varEditorInit, 0); + + // initialize the custom tokens + InitCustomTokens(); + + // indicate that the editor is running + // the variable g_varEditorRunning can/should be used in the + // OnPlayerChatEvent. + + // if it is already set then the last time the editor was + // closed using the 'escape' key + if (GetLocalInt(oPC, g_varEditorRunning)==0) + { + SetLocalInt(oPC, g_varEditorRunning, 1); + // inc the number of editor instances currently running + IncLocalInt(GetModule(), g_varEditorCounter); + } + + // execute an OnInit script (optional) + MK_Editor_ExecuteScript(oPC, g_varEditorOnInit); + + // read the starting text from a variable stored on the user + sText=GetLocalString(oPC, g_varEditorText); + + // block mode is off + nBlock = -1; + + // move the cursor behind the last character + nCursor = GetStringLength(sText); + + // the main menu is shown + nMenuMode = 0; + + nAction = -1; + } + else + { + // we're not in the init mode so lets read the key pressed by the + // user (that is the dialog option selected by the user). + nAction = MK_GenericDialog_GetAction(TRUE); + } + +// MK_DEBUG_TRACE("ColorMode = "+IntToString(nColorMode) +// +", Action = "+IntToString(nAction)); + + string sInsert; + int nCursorSpeed; + + switch (nMenuMode) + { + case nMainMenu: + + // we don't have cursor up/down so moving the cursor in a + // larger text can become quite tedious. That's why we move + // the cursor by more than one character if time passed between + // two cursor left/right is very small + nCursorSpeed = CalculateCursorSpeed(oPC, nAction); + + switch (nAction) + { + case nKeyPos1: // pos 1 + // move cursor in front of first character, block mode off + nCursor = 0; + nBlock = -1; + break; + case nKeyCursorLeft: // cursor left + // move cursor on character to the left, block mode off + nCursor = DecCursor(sText, nCursor, nCursorSpeed); + nBlock = -1; + break; + case nKeyCursorRight: // cursor right + // move cursor on character to the right, block mode off + nCursor = IncCursor(sText, nCursor, nCursorSpeed); + nBlock = -1; + break; + case nKeyEnd: // end + // move cursor behind the last character, block mode off + nCursor = GetStringLength(sText); + nBlock = -1; + break; + case nKeyShiftPos1: + // turn block mode on and move cursor in front of first character + if (nBlock==-1) nBlock = nCursor; + nCursor = 0; + break; + case nKeyShiftCursorLeft: // shift cursor left + // turn block mode on and move cursor one character to the left + if (nBlock==-1) nBlock = nCursor; + nCursor = DecCursor(sText, nCursor, nCursorSpeed); + break; + case nKeyShiftCursorRight: // shift cursor right + // turn block mode on and move cursor one character to the right + if (nBlock==-1) nBlock = nCursor; + nCursor = IncCursor(sText, nCursor, nCursorSpeed); + break; + case nKeyShiftEnd: + // turn block mode on and move cursor behind the last character + if (nBlock==-1) nBlock = nCursor; + nCursor = GetStringLength(sText); + break; + case nKeyDelete: // delete + if (IsBlockMarked(nCursor, nBlock)) + { + // delete the marked block and get the new cursor + // position + sText = DeleteBlock(sText, nBlock, nCursor); + nCursor = _min(nBlock, nCursor); + } + else + { + // calculate the position right to the cursor position + // and delete the text between the cursor and this position. + // Looks complicated but is necessary because we don't + // want to delete just leading '<' of a (color) tag. + // We want to delete the whole tag of course. + int nCursorQ = IncCursor(sText, nCursor); + sText = DeleteBlock(sText,nCursor,nCursorQ); + } + nBlock = -1; + break; + case nKeyBackspace: // backspace + if (IsBlockMarked(nCursor, nBlock)) + { + // delete the marked block and get the new cursor + // position + sText = DeleteBlock(sText, nBlock, nCursor); + nCursor = _min(nBlock, nCursor); + } + else + { + // calculate the position left to the cursor position + // and delete the text between the cursor and this position. + // This is also the new cursor position. + // Looks complicated but is necessary because we don't + // want to delete just closing '>' of a (color) tag. + // We want to delete the whole tag of course. + int nCursorQ = DecCursor(sText, nCursor); + sText = DeleteBlock(sText,nCursorQ,nCursor); + nCursor = nCursorQ; + } + nBlock = -1; + break; + case nKeyShiftDelete: // shift delete + if (IsBlockMarked(nCursor, nBlock)) + { + // If a block is marked we copy that block to the + // clibboard and then we delete the block. + sClipboard = CopyBlock(sText, nBlock, nCursor); + sText = DeleteBlock(sText, nBlock, nCursor); + nCursor = _min(nBlock, nCursor); + } + else + { + // If no block is marked this is the same as 'backspace' + int nCursorQ = DecCursor(sText, nCursor); + sText = DeleteBlock(sText,nCursorQ,nCursor); + nCursor = nCursorQ; + } + nBlock = -1; + break; + case nKeyCtrlInsert: + if (IsBlockMarked(nCursor, nBlock)) + { + // If a block is marked we copy that block to the clipboard. + sClipboard = CopyBlock(sText, nBlock, nCursor); + } + break; + case nKeyShiftInsert: + // If a block is marked we delete that block. + if (IsBlockMarked(nCursor, nBlock)) + { + sText = DeleteBlock(sText, nBlock, nCursor); + nCursor = _min(nBlock, nCursor); + } + // Turn block mode off + nBlock=-1; + // Insert the clipboard into the text at the cursor position. + // The new cursor position is behind the just inserted text. + { + // we don't know how many characters get added so + // nCursor += GetStringLength(sClipboard) + // might be wrong. + int nLenOld = GetStringLength(sText); + sText = InsertText(sText, nCursor, sClipboard, nMaxLength); + int nLenNew = GetStringLength(sText); + + nCursor += (nLenNew - nLenOld); + } + break; + case nKeyInsert: // insert text + // If a block is marked we delete that block. + if (IsBlockMarked(nCursor, nBlock)) + { + sText = DeleteBlock(sText, nBlock, nCursor); + nCursor = _min(nBlock, nCursor); + } + nBlock=-1; + // If the user has entered some text into the chat line + // and has pressed the enter key we can read that text + // and insert it into the editor. + sInsert = GetPCChatMessageEx(oPC, bUsePlayerChatEvent); + { + // we don't know how many characters get added so + // nCursor += GetStringLength(sInsert) + // might be wrong. + int nLenOld = GetStringLength(sText); + sText = InsertText(sText, nCursor, sInsert, nMaxLength); + int nLenNew = GetStringLength(sText); + + nCursor += (nLenNew - nLenOld); + } + break; + case nKeyReturn: // return + // If a block is marked we delete that block. + if (IsBlockMarked(nCursor, nBlock)) + { + sText = DeleteBlock(sText, nBlock, nCursor); + nCursor = _min(nBlock, nCursor); + } + nBlock=-1; + // We insert line feed at cursor position + sInsert = "\n"; + { + // we don't know how many characters get added so + // nCursor += GetStringLength(sInsert) + // might be wrong. + int nLenOld = GetStringLength(sText); + sText = InsertText(sText, nCursor, sInsert, nMaxLength); + int nLenNew = GetStringLength(sText); + + if (nLenNew>nLenOld) + { + nCursor = IncCursor(sText, nCursor); + } + } + break; + case nKeyColorMenu: // color + // Activate the color menu + nMenuMode = nColorMenu; + break; + case nKeyFileMenu: + nMenuMode = nFileMenu; + break; + } + + // write key pressed and time on player + StoreAction(oPC, nAction); + + break; + case nColorMenu: + nMenuMode = nMainMenu; + if ((nAction>=1) && (nAction<=20)) + { + // The user has selected a color. Lets get the color tag. + sInsert = GetColorTag(nAction-1); + } + else if (nAction==21) + { + // The user has selected the close color tag. + sInsert = ""; + } + else + { + // The user has probably selected 'Back to main menu' + sInsert = ""; + } + + if (sInsert!="") + { + if (IsBlockMarked(nCursor, nBlock) && (nAction!=21)) + { + // If a block is marked (and a color tag is choosen) we add + // a close color tag behind the block and the color tag in + // front of the block. That will make sure that only the + // marked block gets colored. + sText = InsertText(sText, _max(nCursor, nBlock), "", nMaxLength); + sText = InsertText(sText, _min(nCursor, nBlock), sInsert, nMaxLength); + if (nBlock=1) && (nAction<=nNumberOfLoadSaveSlots)) + { + SaveTextToSlot(oPC, nAction, sText); + } + else if ((nAction>nNumberOfLoadSaveSlots) && (nAction<2*nNumberOfLoadSaveSlots)) + { + sText = LoadTextFromSlot(oPC, nAction-nNumberOfLoadSaveSlots, + nMaxLength, (bSingleLine ? 1 : 0)); + nBlock = -1; + nCursor = GetStringLength(sText); + } + break; + } + + MK_DELIMITER_Initialize(); + + switch (nMenuMode) + { + case nMainMenu: + // If the block operations are disabled the appropriate dialog options + // are disabled as well. + // Also if the clipboard is empty the 'Shift Insert' option is + // disabled. + MK_GenericDialog_SetCondition(nKeyShiftPos1, (!bDisableBlock)); + MK_GenericDialog_SetCondition(nKeyShiftCursorLeft, (!bDisableBlock)); + MK_GenericDialog_SetCondition(nKeyShiftCursorRight, (!bDisableBlock)); + MK_GenericDialog_SetCondition(nKeyShiftEnd, (!bDisableBlock)); + MK_GenericDialog_SetCondition(nKeyShiftInsert, (sClipboard!="") && (!bDisableBlock)); + MK_GenericDialog_SetCondition(nKeyShiftDelete, (!bDisableBlock)); + MK_GenericDialog_SetCondition(nKeyCtrlInsert, (!bDisableBlock)); + MK_GenericDialog_SetCondition(nKeyReturn, !bSingleLine); + // If colors are disabled the color menu is disabled. + MK_GenericDialog_SetCondition(nKeyColorMenu, !bDisableColors); + MK_GenericDialog_SetCondition(nKeyFileMenu, !bDisableLoadSave); + + MK_GenericDialog_SetCondition(GetLocalInt(oPC, g_varEditorOK), TRUE); + MK_GenericDialog_SetCondition(GetLocalInt(oPC, g_varEditorCancel), TRUE); + + break; + case nColorMenu: + // Create the color menu. + SetColorMenuStrings(); + break; + case nFileMenu: + // Create the file menu. + SetFileMenuStrings(oPC); + break; + } + + // Generate the editor screen. + CreateDisplay(oPC, sText, nCursor, nBlock); + + // Store the editor variables on the player. + SetLocalString(oPC, g_varEditorBuffer, sText); + SetLocalString(oPC, g_varEditorClipboard, sClipboard); + SetLocalInt(oPC, g_varEditorCursor, nCursor); + SetLocalInt(oPC, g_varEditorBlock, nBlock); + SetLocalInt(oPC, g_varEditorMenuMode, nMenuMode); + + return TRUE; +} + +int _min(int a, int b) +{ + if (a==-1) return b; + if (b==-1) return a; + if (a0)) + { + if (MK_IsColorTag(sText,nCursor)) + { + nCursor+=6; + } + else if (MK_IsCloseTag(sText,nCursor)) + { + nCursor+=4; + } + else if (nCursor0) && (nDelta>0)) + { + if ((nCursor>5) && (MK_IsColorTag(sText,nCursor-6))) + { + nCursor-=6; + } + else if ((nCursor>3) && (MK_IsCloseTag(sText,nCursor-4))) + { + nCursor-=4; + } + else if (nCursor>0) + { + nCursor--; + } + nDelta--; + } + return nCursor; +} + +int GetColor2DAMode() +{ + object oModule = GetModule(); + if (!GetIsObjectValid(oModule)) return 2; + + int nColor2DAMode = GetLocalInt(oModule, g_varEditorColor2DA); + if (nColor2DAMode==0) + { + if (Get2DAString(sColor2DA, sColor2DAName, 0)!="") + { + nColor2DAMode=1; + } + else + { + nColor2DAMode=2; + } + SetLocalInt(oModule, g_varEditorColor2DA, nColor2DAMode); + } + return nColor2DAMode; +} + +string GetColorName(int iColor) +{ + string sColor; + if (GetColor2DAMode()==1) + { + sColor = Get2DAString(sColor2DA, sColor2DAName, iColor); + } + else + { + switch (iColor) + { + case 0: sColor = sColorNameRed; break; + case 1: sColor = sColorNameGreen; break; + case 2: sColor = sColorNameBlue; break; + case 3: sColor = sColorNameCyan; break; + case 4: sColor = sColorNameMagenta; break; + case 5: sColor = sColorNameYellow; break; + default: sColor = ""; + } + } + return sColor; +} + +string GetColorTag(int iColor) +{ + string sTag; + if (GetColor2DAMode()==1) + { + sTag = Get2DAString(sColor2DA, sColor2DATag, iColor); + } + else + { + switch (iColor) + { + case 0: sTag = sColorTagRed; break; + case 1: sTag = sColorTagGreen; break; + case 2: sTag = sColorTagBlue; break; + case 3: sTag = sColorTagCyan; break; + case 4: sTag = sColorTagMagenta; break; + case 5: sTag = sColorTagYellow; break; + default: sTag = ""; + } + } + return sTag; +} + +void SetColorMenuStrings() +{ + int iColor=0; + int bOk = TRUE; + string sColor, sTag; + string sLine; + while (bOk) + { + bOk = FALSE; + sColor = GetColorName(iColor); + if (sColor!="") + { + sTag = GetColorTag(iColor); + if (MK_IsColorTag(sTag)) + { + sLine = sTag+sColor+""; + + SetCustomToken(19951+iColor, sLine); + + MK_GenericDialog_SetCondition(iColor+1, TRUE); + bOk = TRUE; + iColor++; + } + } + else + { + } + } + while (iColor<20) + { + MK_GenericDialog_SetCondition(iColor+1, FALSE); + iColor++; + } + MK_GenericDialog_SetCondition(21, TRUE); // Color off +} + +string GetFileSlotVarName(int nSlot) +{ + return g_varEditorLoadSaveSlots + + MK_IntToString(nSlot, 2, "0"); +} + +string LoadTextFromSlot(object oObject, int nSlot, int nMaxLength, int nLineFeedMode) +{ + string sSlotVarName = GetFileSlotVarName(nSlot); + string sText = GetLocalString(oObject, sSlotVarName); + if ((nMaxLength>0) && (MK_GetStringLength(sText, TRUE)>nMaxLength)) + { + sText = MK_GetStringLeft(sText, nMaxLength, TRUE); + } + switch (nLineFeedMode) + { + case 0: // ignore + break; + case 1: // cut + { + int nNewLinePos = FindSubString(sText, "\n"); + if (nNewLinePos!=-1) + { + sText = GetStringLeft(sText, nNewLinePos); + } + } + break; + case 2: // remove + sText = MK_RemoveFromString(sText, "\n"); + break; + } + return sText; +} + +void SaveTextToSlot(object oObject, int nSlot, string sText) +{ + string sSlotVarName = GetFileSlotVarName(nSlot); + SetLocalString(oObject, sSlotVarName, sText); +} + +string CreateFileMenuText(object oObject, int bSave, int nSlot) +{ + string sLine=""; + + string sText = LoadTextFromSlot(oObject, nSlot, -1, 2); + if ((!bSave) && (sText=="")) + { + // we don't want to load empty text; + return sLine; + } + + // if the text is too long we display only the first characters + if (MK_GetStringLength(sText,TRUE)>nMaxTextDisplayLength) + { + sText = MK_GetStringLeft(sText, nMaxTextDisplayLength-2, TRUE) + "..."; + } + + if (sText=="") + { + sText = "empty"; + } + else + { + sText = "'"+sText+"'"; + } + + sLine = (bSave ? sSaveToSlotColorTag + "Save to" : + sLoadFromSlotColorTag + "Load from") + + " slot " + MK_IntToString(nSlot, 2, "0") + sCloseTag + + " (" + sText + ")"; + return sLine; +} + +void SetFileMenuStrings(object oObject) +{ + int nStartToken = 19951; + int i=0; + string sLine; + while (++i<=2*nNumberOfLoadSaveSlots) + { + sLine = CreateFileMenuText(oObject, + i<=nNumberOfLoadSaveSlots, + ((i-1) % nNumberOfLoadSaveSlots) +1); + + SetCustomToken(nStartToken+i-1, sLine); + MK_GenericDialog_SetCondition(i,sLine!=""); + } + do + { + MK_GenericDialog_SetCondition(i, FALSE); + } + while (++i<=21); +} + +string GetPCChatMessageEx(object oPC, int bUsePlayerChatEvent) +{ + string sMessage; + if (bUsePlayerChatEvent) + { + sMessage = GetLocalString(oPC, g_varEditorChatMessageString); + } + else + { + sMessage = GetPCChatMessage(); + } + return sMessage; +} + +void IncLocalInt(object oObject, string sVarName, int n) +{ + if (!GetIsObjectValid(oObject)) return; + int nValue = GetLocalInt(oObject, sVarName); + nValue+=n; + SetLocalInt(oObject, sVarName, nValue); +} + +struct mk_lastaction +{ + int nAction; + float fTimeStamp; +}; + +// stores nAction and the current time on the oObject +void StoreAction(object oObject, int nAction) +{ + SetLocalInt(oObject, g_varEditorLastAction, nAction); + mk_writeTimeStampToObject(oObject, g_varEditorTimeStamp); +} + +// reads nAction and time stamp from oObject +struct mk_lastAction GetLastAction(object oObject) +{ + struct mk_lastAction lastAction; + lastAction.nAction = GetLocalInt(oObject, g_varEditorLastAction); + lastAction.fTimeStamp = mk_getTimeSinceTimeStamp(oObject, g_varEditorTimeStamp); + return lastAction; +} + +int CalculateCursorSpeed(object oObject, int nAction) +{ + int nCursorSpeed=1; + struct mk_lastAction lastAction = GetLastAction(oObject); + int nCursorSpeedMode; + + if (nAction==lastAction.nAction) + { + nCursorSpeedMode = GetLocalInt(oObject, g_varEditorCursorSpeedMode); + + // Time passed in milliseconds + float fTimeSpan = lastAction.fTimeStamp * 2.0f * 60.0f * 1000.0f; + + struct mk_datetime dateTimeSpan = + mk_timeStampToDateTimeSpan(lastAction.fTimeStamp); + string sOutput = mk_formatDateTimeSpan(dateTimeSpan); + +// MK_DEBUG_TRACE("Delta="+sOutput+" ("+FloatToString(lastAction.fTimeStamp)+") ," +// +IntToString(FloatToInt(fTimeSpan))+" milliseconds."); + + if (fTimeSpan < fSpeedUpCursorMovementTime) + { + nCursorSpeedMode++; + } + else if (fTimeSpan < 2.0 * fSpeedUpCursorMovementTime) + { + } + else if (fTimeSpan < 3.0 * fSpeedUpCursorMovementTime) + { + nCursorSpeedMode--; + } + else + { + nCursorSpeedMode=1; + } + if (nCursorSpeedMode< 1) nCursorSpeedMode= 1; + if (nCursorSpeedMode>10) nCursorSpeedMode=10; + } + else + { + nCursorSpeedMode = 1; + } + + SetLocalInt(oObject, g_varEditorCursorSpeedMode, nCursorSpeedMode); + + switch (nCursorSpeedMode) + { + case 1: + case 2: + nCursorSpeed=1; + break; + case 3: + case 4: + nCursorSpeed=2; + break; + case 5: + case 6: + nCursorSpeed=3; + break; + case 7: + case 8: + nCursorSpeed=4; + break; + case 9: + case 10: + nCursorSpeed=5; + break; + } +/* + MK_DEBUG_TRACE( + "CursorSpeedMode=" + IntToString(nCursorSpeedMode)+", "+ + "CursorSpeed=" + IntToString(nCursorSpeed)); +*/ + return nCursorSpeed; +} + +/* +void main() +{ +} +/**/ + + diff --git a/_module/nss/mk_get_version.nss b/_module/nss/mk_get_version.nss new file mode 100644 index 00000000..623a8840 --- /dev/null +++ b/_module/nss/mk_get_version.nss @@ -0,0 +1,6 @@ +#include "mk_inc_version" + +void main() +{ + MK_VERSION_DetectGameVersionQ(OBJECT_SELF, GetLocalInt(OBJECT_SELF, "MK_NWN_VERSION_DEBUG_MESSAGE")); +} diff --git a/_module/nss/mk_im_cancel.nss b/_module/nss/mk_im_cancel.nss new file mode 100644 index 00000000..42e98c87 --- /dev/null +++ b/_module/nss/mk_im_cancel.nss @@ -0,0 +1,83 @@ +////////////////////////////////////////////////////////// +/* + Item Appearance Modification Conversation + Cancel Conversation Script +*/ +////////////////////////////////////////////////////////// + +//#include "mk_inc_init" +#include "mk_inc_generic" +#include "mk_inc_craft" +#include "mk_inc_ccoh_db" +#include "mk_inc_2da_disp" +#include "mk_inc_ccoh_db" + +void main() +{ + + object oPC = GetPCSpeaker(); + + object oTarget = MK_GetCurrentTarget(oPC); + + MK_DEBUG_TRACE("Executing 'mk_im_cancel' script. Current mod mode is '"+IntToString(CIGetCurrentModMode(oPC))+"!"); +// MK_DEBUG_TRACE(" > oPC: '"+GetName(oPC)+"'"); +// MK_DEBUG_TRACE(" > oTarget: '"+GetName(oTarget)+"'"); + +// int bDisableExtendedEditionFeatures = MK_INIT_GetAreEEFeaturesDisabled(); + + switch (CIGetCurrentModMode(oPC)) + { + case X2_CI_MODMODE_INVALID: + AssignCommand(oPC, ClearAllActions()); + break; + case MK_CI_MODMODE_CHARACTER: + MK_RestoreCharacterDescription(oPC); + SendMessageToPC(oPC, "Canceling character description editing - original description is restored."); + AssignCommand(oPC,ClearAllActions()); + break; + case MK_CI_MODMODE_BODY: + MK_CCOH_DB_RestoreBody(oTarget); + SendMessageToPC(oPC, "Canceling body modifying - original appearance is restored."); + MK_DoneBodyPart(oPC, oTarget); + AssignCommand(oPC,ClearAllActions()); + break; + case X2_CI_MODMODE_ARMOR: + case X2_CI_MODMODE_WEAPON: + case MK_CI_MODMODE_CLOAK: + case MK_CI_MODMODE_HELMET: + case MK_CI_MODMODE_SHIELD: + SendMessageToPC(oPC, "Canceling item modifying - original appearance is restored."); + MK_CancelModifyItem(oTarget, oPC); + break; + case MK_CI_MODMODE_ITEM: + SendMessageToPC(oPC, "Canceling item modifying - original item is restored."); + MK_CancelModifyItem(oTarget, oPC); + break; + } + + CISetCurrentModMode(oPC,X2_CI_MODMODE_INVALID ); + + MK_RemoveTemporaryEffects(oPC, MK_TAG_TEMP_EFFECT, oTarget); + + if (!GetLocalInt(oPC, MK_KEEP_CURRENT_TARGET)) + { + MK_SetCurrentTarget(oPC, OBJECT_INVALID); + } + else + { + DeleteLocalInt(oPC, MK_KEEP_CURRENT_TARGET); + } + + // in case the ESC key was used to exit the dialog + MK_Editor_CleanUp(oPC); + + MK_CCOH_DB_Cleanup(oPC); + MK_2DA_DISPLAY_Cleanup(); + + MK_GenericDialog_CleanUp(); + + MK_INIT_Cleanup(oPC, "MK_CCOH", "MK_CCOH_USER"); + + RestoreCameraFacing(); + +} diff --git a/_module/nss/mk_im_finished.nss b/_module/nss/mk_im_finished.nss new file mode 100644 index 00000000..9a373b0f --- /dev/null +++ b/_module/nss/mk_im_finished.nss @@ -0,0 +1,66 @@ +////////////////////////////////////////////////////////// +/* + Item Appearance Modification Conversation + Finish Conversation Script +*/ +////////////////////////////////////////////////////////// + +#include "mk_inc_generic" +#include "mk_inc_craft" +#include "mk_inc_body" +#include "mk_inc_horse" +#include "mk_inc_2da_disp" +#include "mk_inc_ccoh_db" + +void main() +{ + object oPC = GetPCSpeaker(); + object oTarget = MK_GetCurrentTarget(oPC); +// MK_DEBUG_TRACE("Executing 'mk_im_finish' script. Current mod mode is '"+IntToString(CIGetCurrentModMode(oPC))+"!"); + + switch (CIGetCurrentModMode(oPC)) + { + case X2_CI_MODMODE_INVALID: + AssignCommand(oPC, ClearAllActions()); + break; + case MK_CI_MODMODE_CHARACTER: + AssignCommand(oPC, ClearAllActions()); + SendMessageToPC(oPC, "Finishing character description editing."); + break; + case MK_CI_MODMODE_BODY: + switch (MK_GetBodyPartToBeModified(oPC)) + { + case MK_CRAFTBODY_HORSE: + if (MK_GetIsRiding(oTarget)) + { + SetLocalInt(oTarget, MK_VAR_CURRENT_HORSE, GetCreatureTailType(oTarget)); + } + break; + } + MK_DoneBodyPart(oPC, oTarget); + SendMessageToPC(oPC, "Finishing body modifying."); + break; + case X2_CI_MODMODE_ARMOR: + case X2_CI_MODMODE_WEAPON: + case MK_CI_MODMODE_CLOAK: + case MK_CI_MODMODE_HELMET: + case MK_CI_MODMODE_SHIELD: + MK_FinishModifyItem(oTarget, oPC); + SendMessageToPC(oPC, "Finishing item modifying."); + break; + } + CISetCurrentModMode(oPC, X2_CI_MODMODE_INVALID ); + + MK_RemoveTemporaryEffects(oPC, MK_TAG_TEMP_EFFECT, oTarget); + + MK_SetCurrentTarget(oPC, OBJECT_INVALID); + + MK_CCOH_DB_Cleanup(oPC); + MK_2DA_DISPLAY_Cleanup(); + + MK_GenericDialog_CleanUp(); + + MK_INIT_Cleanup(oPC, "MK_CCOH", "MK_CCOH_USER"); + + RestoreCameraFacing() ; +} diff --git a/_module/nss/mk_im_getchanged.nss b/_module/nss/mk_im_getchanged.nss new file mode 100644 index 00000000..bf2b2db0 --- /dev/null +++ b/_module/nss/mk_im_getchanged.nss @@ -0,0 +1,27 @@ +//#include "x2_inc_craft" +#include "mk_inc_craft" + +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oTarget = MK_GetCurrentTarget(oPC); + object oBackup = CIGetCurrentModBackup(oPC); + object oItem = CIGetCurrentModItem(oPC); + + int iResult; + + switch (CIGetCurrentModMode(oPC)) + { + case MK_CI_MODMODE_CHARACTER: + iResult = MK_GetIsDescriptionModified(oTarget); + break; +// case MK_CI_MODMODE_ITEM: +// iResult = (GetIsObjectValid(oItem) && (GetLocalInt(oItem, "MK_ITEM_MODIFIED")==1)); +// break; + default: + iResult = MK_GetIsModified(oItem, oBackup); + break; + } + + return iResult; +} diff --git a/_module/nss/mk_im_start.nss b/_module/nss/mk_im_start.nss new file mode 100644 index 00000000..ae1a1d29 --- /dev/null +++ b/_module/nss/mk_im_start.nss @@ -0,0 +1,172 @@ +#include "mk_inc_craft" +#include "mk_inc_generic" +#include "mk_inc_ccoh_db" +#include "mk_inc_states" + +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oTarget = MK_GetCurrentTarget(oPC); + object oItem; + + MK_CCOH_DB_Init(oPC); + + int nAction = MK_GenericDialog_GetAction(TRUE); + int nState = MK_GenericDialog_GetState(); + + switch (nState) + { + case MK_STATE_DATABASE_3: + MK_DEBUG_TRACE("mk_im_start: GetState=MK_STATE_DATABASE_3"); + switch (nAction) + { + case 250: + { + int nSelectedIASStrTypes = MK_CCOH_DB_GetSelectedIASStrTypes(oPC); + switch (MK_CCOH_DB_GetReadWriteMode(oPC)) + { + case MK_CCOH_DB_READ: + switch (CIGetCurrentModMode(oPC)) + { + case X2_CI_MODMODE_ARMOR: + case X2_CI_MODMODE_WEAPON: + case MK_CI_MODMODE_CLOAK: + case MK_CI_MODMODE_HELMET: + case MK_CI_MODMODE_SHIELD: + { + oItem = CIGetCurrentModItem(oPC); + + object oItemQ = MK_CCOH_DB_ReadItemAppearanceFromDatabase( + oPC, oItem, + MK_CCOH_DB_GetCurrentSlot(oPC), + nSelectedIASStrTypes); + if (GetIsObjectValid(oItemQ)) + { + DestroyObject(oItem); + oItem = oItemQ; + CISetCurrentModItem(oPC, oItem); + MK_EquipModifiedItem(oTarget, oPC); + SendMessageToPC(oPC, "Appearance read from database!"); + } + else + { + SendMessageToPC(oPC, "Failed to read appearance from database!"); + } + } +// case MK_CI_MODMODE_BODY: +// break; + } + break; + case MK_CCOH_DB_WRITE: + switch (CIGetCurrentModMode(oPC)) + { + case X2_CI_MODMODE_ARMOR: + case X2_CI_MODMODE_WEAPON: + case MK_CI_MODMODE_CLOAK: + case MK_CI_MODMODE_HELMET: + case MK_CI_MODMODE_SHIELD: + oItem = CIGetCurrentModItem(oPC); + if (MK_CCOH_DB_WriteItemAppearanceToDatabase( + oPC, oItem, + MK_CCOH_DB_GetCurrentSlot(oPC), + nSelectedIASStrTypes, + MK_CCOH_DB_GetCurrentSlotName(oPC))) + { + SendMessageToPC(oPC, "Appearance written to database!"); + } + else + { + SendMessageToPC(oPC, "Failed to write appearance to database!"); + } + break; +// case MK_CI_MODMODE_BODY: +// break; + } + break; + } + break; + } + } + nState = MK_STATE_INIT; + MK_GenericDialog_SetState(nState); + break; + case MK_STATE_DATABASE_1: + MK_DEBUG_TRACE("mk_im_start: GetState=MK_STATE_DATABASE_1"); + oItem = CIGetCurrentModItem(oPC); + nState = MK_STATE_INIT; + MK_GenericDialog_SetState(nState); + break; + case MK_STATE_INIT: + MK_DEBUG_TRACE("mk_im_start: GetState=MK_STATE_INIT"); + switch (nAction) + { + case X2_CI_MODMODE_ARMOR: + case X2_CI_MODMODE_WEAPON: + case MK_CI_MODMODE_CLOAK: + case MK_CI_MODMODE_HELMET: + case MK_CI_MODMODE_SHIELD: + StoreCameraFacing(); + CISetCurrentModMode(oPC, nAction); + MK_SetCurrentModPart(oPC, -1); + oItem = GetItemInSlot(MK_GetCurrentInventorySlot(oPC), oTarget); + // Make backup, make mirror item, call CISetCurrentModItem(), ... + MK_StartModifyItem(oPC, oItem, TRUE); + // Add light effect and immobilize player + MK_AddTemporaryEffects(oPC, MK_TAG_TEMP_EFFECT, TRUE, oTarget); + break; + default: + return FALSE; + } + break; + } + + float fFacing = GetFacing(oPC); + float fDistance = 3.5f; + float fPitch = 75.0f; + + switch (CIGetCurrentModMode(oPC)) + { + case X2_CI_MODMODE_ARMOR: + fFacing += 180.0; + break; + case X2_CI_MODMODE_WEAPON: + fFacing += 90.0; + break; + case MK_CI_MODMODE_CLOAK: + fFacing += 315.0; + break; + case MK_CI_MODMODE_HELMET: + fFacing += 180.0; + break; + case MK_CI_MODMODE_SHIELD: + fFacing += 270.0; + break; + } + + if (fFacing > 359.0) + { + fFacing -=359.0; + } + SetCameraFacing(fFacing, fDistance, fPitch, CAMERA_TRANSITION_TYPE_FAST); + +// int nSlot = MK_GetCurrentInventorySlot(oPC); +// object oItem = GetItemInSlot(nSlot, oPC); + + if (CIGetCurrentModMode(oPC) == MK_CI_MODMODE_CLOAK) + { + MK_GenericDialog_SetCondition(7, MK_VERSION_GetIsVersionGreaterEqual_1_69(oPC)); + } + + MK_GenericDialog_SetCondition(21, GetLocalInt(oPC, "MK_DISABLE_SAVE_ITEM_APPEARANCE")!=1); + + int bDisableTextEditor = (MK_VERSION_GetIsVersionLower_1_69(oPC) && (GetLocalInt(oPC, "MK_DISABLE_TEXT_EDITOR") == 1)); + MK_GenericDialog_SetCondition(22, !bDisableTextEditor && GetLocalInt(oPC, "MK_ENABLE_RENAME_ITEMS")); + MK_GenericDialog_SetCondition(23, !bDisableTextEditor && GetLocalInt(oPC, "MK_ENABLE_EDIT_DESCRIPTION")); + MK_GenericDialog_SetCondition(24, !MK_GetHiddenWhenEquipped(oItem)); + + MK_SetCustomTokenByItemTypeName(oTarget, oPC); + +// MK_VerifyCurrentModItem(oPC, "mk_im_start(end)"); + + return TRUE; +} diff --git a/_module/nss/mk_inc_2da_disp.nss b/_module/nss/mk_inc_2da_disp.nss new file mode 100644 index 00000000..0e16fa42 --- /dev/null +++ b/_module/nss/mk_inc_2da_disp.nss @@ -0,0 +1,594 @@ +////////////////////////////////////////////////////////////////////////////// +// mk_inc_2da_disp.nss +////////////////////////////////////////////////////////////////////////////// + +//#include "x3_inc_string" +#include "mk_inc_debug" +#include "mk_inc_tools" +#include "mk_inc_math" +#include "mk_inc_array" +#include "mk_inc_generic" +#include "mk_inc_tlk" +#include "mk_inc_delimiter" + +// const int MK_2DA_DISP_DEBUG = TRUE; +const int MK_2DA_DISP_DEBUG = FALSE; + +const int MK_2DA_DISP_USE_CACHE = TRUE; +const int MK_2DA_DISP_CACHE_ITEM_SIZE = 4; + +const string MK_2DA_DISP_ITEM_COUNT = "MK_2DA_DISP_ITEM_COUNT"; +const string MK_2DA_DISP_CURRENT_PAGE = "MK_2DA_DISP_CURRENT_PAGE"; +const string MK_2DA_DISP_ITEMS_PER_PAGE = "MK_2DA_DISP_ITEMS_PER_PAGE"; +const string MK_2DA_DISP_2DA_FILENAME = "MK_2DA_DISP_2DA_FILENAME"; +const string MK_2DA_DISP_2DA_COL_LABEL = "MK_2DA_DISP_2DA_COL_LABEL"; +const string MK_2DA_DISP_2DA_COL_STRREF = "MK_2DA_DISP_2DA_COL_STRREF"; +const string MK_2DA_DISP_2DA_COL_NOTEMPTY = "MK_2DA_DISP_2DA_COL_NOTEMPTY"; +const string MK_2DA_DISP_2DA_COL_VALUE = "MK_2DA_DISP_2DA_COL_VALUE"; + +const string MK_2DA_DISP_CURRENT_COLOR = "MK_2DA_DISP_CURRENT_COLOR"; +const string MK_2DA_DISP_DEFAULT_COLOR = "MK_2DA_DISP_DEFAULT_COLOR"; + +const string MK_2DA_DISP_2DA_CACHE = "MK_2DA_DISP_2DA_CACHE"; + +const string MK_2DA_DISP_CALLBACK_ROW = "MK_2DA_DISP_CALLBACK_ROW"; +const string MK_2DA_DISP_CALLBACK_LABEL = "MK_2DA_DISP_CALLBACK_LABEL"; +const string MK_2DA_DISP_CALLBACK_CHECK = "MK_2DA_DISP_CALLBACK_CHECK"; + +const string MK_2DA_DISP_DIALOG_TEXT = "MK_2DA_DISP_2DA_DISLOG_TEXT"; + +const int MK_2DA_DISP_TOKEN_BASE = 14440; +const int MK_2DA_DISP_TOKEN_CURRENT_PAGE = 14431; +const int MK_2DA_DISP_TOKEN_CURRENT_VALUE = 14430; + +const int MK_2DA_DISPLAY_MAX_PAGE_LENGTH = 20; + +////////////////////////////////////////////////////////////////////////////// +// Initializes the 2DA display system +// - s2DAfile: name of the 2DA file +// - s2DAColValue: name of the value column (if empty row number is returned +// by MK_2DA_DISPLAY_GetValueAsInt(). MK_2DA_DISPLAY_GetValueAsString will +// return an empty string in case s2DAColValue is empty). +// - s2DAColLabel: name of the label column +// - s2DAColStrRef: name of StrRef column +// if s2DAColStrRef is not empty that column will be used to read the label +// from tlk. If it's empty the text in s2DAColLabel will be used as label. +// - s2DAColNotEmpty: column that's always not empty so it can be used to +// get the number of rows in the 2DA file. If s2DAColNotEmpty is empty +// s2DAColLabel will be used instead. +void MK_2DA_DISPLAY_Initialize(string s2DAFile, string s2DAColValue, string s2DAColLabel, string s2DAColStrRef, + string s2DAColNotEmpty="", int nAllowedEmptyRowsInARow=10, string sCallbackScript=""); + + +////////////////////////////////////////////////////////////////////////////// +// returns the label for an item +// - nItem: item whose label should be returned +// - bShowItemID: if TRUE ' (nItem)' is added to the label +string MK_2DA_DISPLAY_GetItemLabel(int nRow, int bShowItemID = FALSE); + + +////////////////////////////////////////////////////////////////////////////// +string MK_2DA_DISPLAY_GetValueAsString(int nLine); + +////////////////////////////////////////////////////////////////////////////// +int MK_2DA_DISPLAY_GetValueAsInt(int nLine); + +////////////////////////////////////////////////////////////////////////////// +void MK_2DA_DISPLAY_DisplayPage(int nPage, int nCurrentValue=-1, string sCallbackScript="", int bShowItemID=TRUE); + +////////////////////////////////////////////////////////////////////////////// +int MK_2DA_DISPLAY_GetPageCount(); + +////////////////////////////////////////////////////////////////////////////// +int MK_2DA_DISPLAY_GetItemCount(); + +////////////////////////////////////////////////////////////////////////////// +int MK_2DA_DISPLAY_GetPageLength(); + +////////////////////////////////////////////////////////////////////////////// +void MK_2DA_DISPLAY_SetPageLength(int nPageLength); + +////////////////////////////////////////////////////////////////////////////// +int MK_2DA_DISPLAY_GetCurrentPage(); + +////////////////////////////////////////////////////////////////////////////// +int MK_2DA_DISPLAY_GetMaxPageLength(); + +////////////////////////////////////////////////////////////////////////////// +void MK_2DA_DISPLAY_SetCurrentPage(int nPage); + +////////////////////////////////////////////////////////////////////////////// +string MK_2DA_DISPLAY_GetCache(); + +////////////////////////////////////////////////////////////////////////////// +void MK_2DA_DISPLAY_SetCache(string sCache); + +////////////////////////////////////////////////////////////////////////////// +void MK_2DA_DISPLAY_Initialize(string s2DAFile, string s2DAColValue, string s2DAColLabel, string s2DAColStrRef, string s2DAColNotEmpty, int nAllowedEmptyRowsInARow, string sCallbackScript); + +////////////////////////////////////////////////////////////////////////////// +string MK_2DA_DISPLAY_Get2DAFileName(); + +void MK_2DA_DISPLAY_DEBUG_TRACE(string sMessage) +{ + if (MK_2DA_DISP_DEBUG) + { + MK_DEBUG_TRACE(sMessage); + } +} + + +string MK_2DA_DISPLAY_GetCache() +{ + return MK_ARRAY_GetLocalArrayBuffer(OBJECT_SELF, MK_2DA_DISP_2DA_CACHE); +// return GetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_CACHE); +} + +void MK_2DA_DISPLAY_SetCache(string sCache) +{ + MK_ARRAY_SetLocalArrayBuffer(OBJECT_SELF, MK_2DA_DISP_2DA_CACHE, sCache); +// SetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_CACHE, sCache); +} + +int MK_2DA_DISPLAY_GetMaxPageLength() +{ + return MK_2DA_DISPLAY_MAX_PAGE_LENGTH; +} + +void MK_2DA_DISPLAY_SetCurrentPage(int nPage) +{ + int nPageCount = MK_2DA_DISPLAY_GetPageCount(); + int nCurrentPage = (nPageCount>0 ? MK_MATH_MinInt(nPage, nPageCount) : nPage); + + SetLocalInt(OBJECT_SELF, MK_2DA_DISP_CURRENT_PAGE, nCurrentPage); +// SetLocalInt(OBJECT_SELF, MK_2DA_DISP_CURRENT_PAGE, MK_MATH_MinInt(nPage, MK_2DA_DISPLAY_GetPageCount())); +} + +int MK_2DA_DISPLAY_GetCurrentPage() +{ + return GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CURRENT_PAGE); +} + +int MK_2DA_DISPLAY_GetPageLength() +{ + return GetLocalInt(OBJECT_SELF, MK_2DA_DISP_ITEMS_PER_PAGE); +} + +void MK_2DA_DISPLAY_SetPageLength(int nPageLength) +{ + if (nPageLength==-1) + { + if (MK_2DA_DISPLAY_GetItemCount()<=MK_2DA_DISPLAY_MAX_PAGE_LENGTH) + { + nPageLength = MK_2DA_DISPLAY_MAX_PAGE_LENGTH; + } + else + { + nPageLength = MK_2DA_DISPLAY_MAX_PAGE_LENGTH-5; + } + } + SetLocalInt(OBJECT_SELF, MK_2DA_DISP_ITEMS_PER_PAGE, nPageLength); +} + + +int MK_2DA_DISPLAY_GetItemCount() +{ + return GetLocalInt(OBJECT_SELF, MK_2DA_DISP_ITEM_COUNT); +} + +int MK_2DA_DISPLAY_GetPageCount() +{ + int nPageLength = MK_2DA_DISPLAY_GetPageLength(); + int nPageCount = (nPageLength>0 ? (((MK_2DA_DISPLAY_GetItemCount() - 1) / nPageLength) + 1) : -1); + return nPageCount; +// return (((MK_2DA_DISPLAY_GetItemCount() - 1) / MK_2DA_DISPLAY_GetPageLength()) + 1); +} + +string MK_2DA_DISPLAY_Get2DAFileName() +{ + return GetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_FILENAME); +} + +int MK_2DA_DISPLAY_ItemToRow(int nItem) +{ + int nRow; + if (nItem==-1) + { + nRow = -1; + } + else if (MK_2DA_DISP_USE_CACHE) + { + nRow = MK_ARRAY_GetLocalArraySortedInt(OBJECT_SELF, MK_2DA_DISP_2DA_CACHE, nItem); +// string sCache = MK_2DA_DISPLAY_GetCache(); +// int nPos = nItem*MK_2DA_DISP_CACHE_ITEM_SIZE; +// nRow = StringToInt(GetSubString(sCache, nPos, MK_2DA_DISP_CACHE_ITEM_SIZE)); + } + else + { + nRow = nItem; + } + return nRow; +} + +int MK_2DA_DISPLAY_RowToItem(int nRow) +{ + int nItem; + if (nRow==-1) + { + nItem=-1; + } + else if (MK_2DA_DISP_USE_CACHE) + { + nItem = MK_ARRAY_SearchLocalArraySortedInt(OBJECT_SELF, MK_2DA_DISP_2DA_CACHE, nRow); + } + else + { + nItem = nRow; + } + return nItem; +} + +string MK_2DA_DISPLAY_GetItemLabel(int nRow, int bShowItemID) +{ +// string sLabel; + string s2DAFile = GetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_FILENAME); + string sColumnStrRef = GetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_COL_STRREF); + string sColumnLabel = GetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_COL_LABEL); + +// int nRow = MK_2DA_DISPLAY_ItemToRow(nItem); + + string sLabel = MK_TLK_Get2DAStringByStrRef(s2DAFile, nRow, sColumnStrRef, sColumnLabel, GetGender(OBJECT_SELF)); + +// int nStrRef = MK_Get2DAInt(s2DAFile, sColumnStrRef, nRow, 0); +// if (nStrRef!=0) +// { +// sLabel = MK_TLK_GetStringByStrRef(nStrRef, GetGender(OBJECT_SELF)); +// if (GetStringLeft(sLabel, 9) == "BadStrRef") +// { +// sLabel = Get2DAString(s2DAFile, sColumnLabel, nRow); +// } +// } +// else +// { +// sLabel = Get2DAString(s2DAFile, sColumnLabel, nRow); +// } + + if (bShowItemID) + { + sLabel += (" ("+IntToString(nRow)+")"); + } + return sLabel; +} + +int MK_2DA_DISPLAY_CalculateItemCount(string s2DAFile, string sColumn, int nAllowedEmptyRowsInARow=10, string sCallbackScript="") +{ + int nCount = 0; + int nRow = 0; + int nMaxRow = -1; + string sValue; + int bOk; + int nEmptyRows = 0; + string sCache = ""; + do + { + sValue = Get2DAString(s2DAFile, sColumn, nRow); +// MK_DEBUG_TRACE("MK_2DA_DISPLAY_CalculateItemCount: s2DA="+s2DAFile+", col="+sColumn+", nRow="+IntToString(nRow)+", sValue="+sValue); + if (sValue!="") + { + bOk = TRUE; + nEmptyRows = 0; + + if (MK_2DA_DISP_USE_CACHE) + { + int bCheck=TRUE; + if (sCallbackScript!="") + { + SetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW, nRow); +// MK_DEBUG_TRACE("Running callback script '"+sCallbackScript+"'..."); + ExecuteScript(sCallbackScript); + bCheck = GetLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_CHECK); + } + + if (bCheck) + { + sCache+=MK_ARRAY_LocalArraySortedInt_IntToString(nRow); +// sCache+=MK_IntToString(nRow, MK_2DA_DISP_CACHE_ITEM_SIZE, "0"); + nCount++; + } + } + else + { + nMaxRow = nRow; + } + } + else + { + bOk = ((++nEmptyRows) <= nAllowedEmptyRowsInARow); + } +// MK_DEBUG_TRACE("MK_2DA_DISPLAY_CalculateItemCount: nRow="+IntToString(nRow) +// +", sValue='"+sValue+"', nCount="+IntToString(nCount)+", nMaxRow=" +// +IntToString(nMaxRow)); + + nRow++; + + } + while (bOk); + + if (MK_2DA_DISP_USE_CACHE) + { + MK_2DA_DISPLAY_SetCache(sCache); + } + else + { + nCount = nMaxRow+1; + } +// MK_DEBUG_TRACE("MK_2DA_DISPLAY_CalculateItemCount(): "+IntToString(nCount)+"."); + + return nCount; +} + + +void MK_2DA_DISPLAY_Initialize(string s2DAFile, string s2DAColValue, string s2DAColLabel, string s2DAColStrRef, string s2DAColNotEmpty, int nAllowedEmptyRowsInARow, string sCallbackScript) +{ + MK_2DA_DISPLAY_DEBUG_TRACE("Initializing 2DA display system..."); + SetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_FILENAME, s2DAFile); + SetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_COL_VALUE, s2DAColValue); + SetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_COL_LABEL, s2DAColLabel); + SetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_COL_STRREF, s2DAColStrRef); + SetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_COL_NOTEMPTY, (s2DAColNotEmpty != "" ? s2DAColNotEmpty : s2DAColLabel)); + + if (s2DAFile!="") + { + SetLocalInt(OBJECT_SELF, MK_2DA_DISP_ITEM_COUNT, + MK_2DA_DISPLAY_CalculateItemCount(s2DAFile, GetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_COL_NOTEMPTY), nAllowedEmptyRowsInARow, sCallbackScript)); + } + else + { + SetLocalInt(OBJECT_SELF, MK_2DA_DISP_ITEM_COUNT, 0); + } + + MK_2DA_DISPLAY_SetCurrentPage(1); + SetLocalInt(OBJECT_SELF, MK_2DA_DISP_ITEMS_PER_PAGE, 20); + MK_2DA_DISPLAY_DEBUG_TRACE("2DA display system initialized (nItemCount="+IntToString(MK_2DA_DISPLAY_GetItemCount())+")."); +} + +void MK_2DA_DISPLAY_InitializeVirtual(string sCache) +{ + MK_2DA_DISPLAY_SetCache(sCache); + SetLocalInt(OBJECT_SELF, MK_2DA_DISP_ITEM_COUNT, GetStringLength(sCache) / MK_2DA_DISP_CACHE_ITEM_SIZE); + MK_2DA_DISPLAY_SetCurrentPage(1); + MK_DEBUG_TRACE("virtual 2DA display system initialized (nItemCount="+IntToString(MK_2DA_DISPLAY_GetItemCount())+")."); +} + +int MK_2DA_DISPLAY_UpdatePage(int nAction) +{ + int nCurrentPage = MK_2DA_DISPLAY_GetCurrentPage(); + int nPageCount = MK_2DA_DISPLAY_GetPageCount(); + int nPageOld=nCurrentPage; + switch (nAction) + { + case 250: + // First Page + MK_2DA_DISPLAY_SetCurrentPage(nCurrentPage=1); + break; + case 251: + // Prev Page + if (nCurrentPage>1) + MK_2DA_DISPLAY_SetCurrentPage(--nCurrentPage); + break; + case 252: + // Next Page + if (nCurrentPage"; + //StringToRGBString(sText, sRGB); + bEnable = TRUE; + } + } + + SetCustomToken(nToken, sText); +// MK_2DA_DISPLAY_DEBUG_TRACE("DispOptions: nToken="+IntToString(nToken)+", sText='"+sText+"', bEnable="+IntToString(bEnable)); + } + else + { + bEnable = FALSE; + } + MK_GenericDialog_SetCondition(nCondition, bEnable); +} + +void MK_2DA_DISPLAY_DisplayNavigationOptions(int nPage, int nPageCount) +{ + MK_2DA_DISPLAY_DisplayNavigationOption(250, -71, 14402, nPage>1); + MK_2DA_DISPLAY_DisplayNavigationOption(251, -72, 14403, nPage>1); + MK_2DA_DISPLAY_DisplayNavigationOption(252, -73, 14404, nPage1, 249); + MK_DELIMITER_Initialize(TRUE, 249); +// MK_GenericDialog_SetCondition(249, (nPageCount>1) && MK_DELIMITER_GetUseDelimiter()); +} + +void MK_2DA_DISPLAY_DisplayPage(int nPage, int nCurrentValue, string sCallbackScript, int bShowItemID) +{ + int iLine = 0; + int nPageLength = MK_2DA_DISPLAY_GetPageLength(); + int nItemCount = MK_2DA_DISPLAY_GetItemCount(); + int nPageCount = MK_2DA_DISPLAY_GetPageCount(); + int nMaxPageLength = MK_2DA_DISPLAY_GetMaxPageLength(); + int iItem = (nPage-1) * nPageLength; + + object oPC = GetPCSpeaker(); + + MK_2DA_DISPLAY_DEBUG_TRACE("DisplayPage: nPage="+IntToString(nPage) + +", nPageCount="+IntToString(nPageCount) + +", nPageLength="+IntToString(nPageLength) + +", nItemCount="+IntToString(nItemCount) + +", iItem="+IntToString(iItem) + ); + + MK_2DA_DISPLAY_DisplayNavigationOptions(nPage, nPageCount); + + string sLabel; + int bEnable; + while (iLine"; + } +// MK_DEBUG_TRACE("Label("+IntToString(iLine)+")="+sLabel); + SetCustomToken(MK_2DA_DISP_TOKEN_BASE + iLine, sLabel); + bEnable = TRUE; + } + else + { + bEnable = FALSE; + } + + MK_GenericDialog_SetCondition(iLine, bEnable); + + iItem++; + iLine++; + } + + string s = ""; + if (nPageCount>1) + { + s = "\n"+MK_TLK_GetStringByStrRef(-75)+" "+IntToString(nPage)+"/"+IntToString(nPageCount); + } + if (MK_2DA_DISP_TOKEN_CURRENT_PAGE>0) + { + SetCustomToken(MK_2DA_DISP_TOKEN_CURRENT_PAGE, s); + } + + if (nCurrentValue!=-1) + { + s = MK_2DA_DISPLAY_GetItemLabel(nCurrentValue, TRUE); + } + else + { + s = ""; + } + if (MK_2DA_DISP_TOKEN_CURRENT_VALUE>0) + { + SetCustomToken(MK_2DA_DISP_TOKEN_CURRENT_VALUE, s); + } + +} + +int MK_2DA_DISPLAY_GetSelectedItem(int nLine) +{ + int nPageLength = MK_2DA_DISPLAY_GetPageLength(); + if ((nLine<0) || (nLine>=nPageLength)) + { + return -1; + } + return ((MK_2DA_DISPLAY_GetCurrentPage()-1) * nPageLength) + nLine; +} + +int MK_2DA_DISPLAY_GetSelectedRow(int nLine) +{ + return MK_2DA_DISPLAY_ItemToRow(MK_2DA_DISPLAY_GetSelectedItem(nLine)); +} + +string MK_2DA_DISPLAY_GetValueAsString(int nLine) +{ + string sResult = ""; + int nRow = MK_2DA_DISPLAY_GetSelectedRow(nLine); + + string sColValue = GetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_COL_VALUE); + if (sColValue!="") + { + string s2DAFile = GetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_FILENAME); + sResult = Get2DAString(s2DAFile, sColValue, nRow); + } + return sResult; +} + +int MK_2DA_DISPLAY_GetValueAsInt(int nLine) +{ + int nResult = MK_2DA_DISPLAY_GetSelectedRow(nLine); + string sColValue = GetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_COL_VALUE); + if (sColValue!="") + { + string s2DAFile = GetLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_FILENAME); + nResult = StringToInt(Get2DAString(s2DAFile, sColValue, nResult)); + } + return nResult; +} + +int MK_2DA_DISPLAY_EnsureVisible(int nRow) +{ + int nItem = MK_2DA_DISPLAY_RowToItem(nRow); + int nCurrentPage = ( (nItem!=-1) ? (nItem / MK_2DA_DISPLAY_GetPageLength()) + 1 : MK_2DA_DISPLAY_GetCurrentPage() ); +// MK_2DA_DISPLAY_DEBUG_TRACE("MK_2DA_DISPLAY_EnsureVisible: nRow="+IntToString(nRow) +// +", nItem="+IntToString(nItem) +// +", PageLength="+IntToString(MK_2DA_DISPLAY_GetPageLength()) +// +", nCurPage="+IntToString(nCurrentPage)); + MK_2DA_DISPLAY_SetCurrentPage(nCurrentPage); + return nCurrentPage; +} + +void MK_2DA_DISPLAY_Cleanup() +{ + DeleteLocalInt(OBJECT_SELF, MK_2DA_DISP_CURRENT_PAGE); + DeleteLocalInt(OBJECT_SELF, MK_2DA_DISP_ITEMS_PER_PAGE); + DeleteLocalInt(OBJECT_SELF, MK_2DA_DISP_ITEM_COUNT); + DeleteLocalInt(OBJECT_SELF, MK_2DA_DISP_CALLBACK_ROW); + DeleteLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_FILENAME); + DeleteLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_COL_VALUE); + DeleteLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_COL_LABEL); + DeleteLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_COL_STRREF); + DeleteLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_COL_NOTEMPTY); + DeleteLocalString(OBJECT_SELF, MK_2DA_DISP_2DA_CACHE); +} diff --git a/_module/nss/mk_inc_app.nss b/_module/nss/mk_inc_app.nss new file mode 100644 index 00000000..85c3852d --- /dev/null +++ b/_module/nss/mk_inc_app.nss @@ -0,0 +1,6 @@ +////////////////////////////////////////////////////////////////////////////// +// mk_inc_app.nss +////////////////////////////////////////////////////////////////////////////// + + +const string g_2daAppearanceType = "appearance"; diff --git a/_module/nss/mk_inc_array.nss b/_module/nss/mk_inc_array.nss new file mode 100644 index 00000000..3a8926f1 --- /dev/null +++ b/_module/nss/mk_inc_array.nss @@ -0,0 +1,232 @@ +// mk_inc_array + +#include "mk_inc_tools" + +/////////////////////////////////////////////////////////////////////////////// +// General functions + +// Returns the buffer for the specified array +// - oObject: object the array is stored on +// - sArrayName: name of the array +// * return value: buffer of specified array +string MK_ARRAY_GetLocalArrayBuffer(object oObject, string sArrayName); + +// Sets the buffer for the specified array +// - oObject: object the array is stored on +// - sArrayName: name of the array +// - sBuffer: buffer the specified array should use. +// sBuffer is supposed to contain only '0' and '1'. +void MK_ARRAY_SetLocalArrayBuffer(object oObject, string sArrayName, string sBuffer); + +// Deletes an array +// - oObject: object the array is stored on +// - sArrayName: name of the array +void MK_ARRAY_DeleteLocalArray(object oObject, string sArrayName); + + +/////////////////////////////////////////////////////////////////////////// +// Sorted Int Array: + +// Appends a new element to the end of an array +// - oObject: object to store the array on +// - sArrayName: name of the array +// - nValue: element to be appended +// The element is appended regardless of its value +void MK_ARRAY_AppendLocalArraySortedInt(object oObject, string sArrayName, int nValue); + +// returns the length/size of the specified array +// - oObject: object the array is stored on +// - sArrayName: name of the array +// * returns the length/size of the specified array (the number of elements) +int MK_ARRAY_GetLocalArraySortedIntLength(object oObject, string sArrayName); + +// returns element at specified position of an sorted int array +// - oObject: object the array is stored on +// - sArrayName: name of the array +// - nPos: position in the array the value should be retrieved from +// * returns the value stored at position nPos +int MK_ARRAY_GetLocalArraySortedInt(object oObject, string sArrayName, int nPos); + +// returns the position of an integer in a sorted int array +// - oObject: object the array is stored on +// - sArrayName: name of the array +// - nValue: value to be searched +// * returns position of specified element or -1 if the element is not found +int MK_ARRAY_SearchLocalArraySortedInt(object oObject, string sArrayName, int nValue); + + +/////////////////////////////////////////////////////////////////////////// +// Bool Array: + +// Simulates storing a boolean value in an array +// - oObject: object to store the array on +// - sArrayName: name of the array +// - nPos: position/index within the array to store the value in +// - bValue: the (boolean) value (TRUE/FALSE) to store in the array +void MK_ARRAY_SetLocalArrayBool(object oObject, string sArrayName, int nPos, int bValue); + +// Simulates retrieving a boolean value from an array +// - oObject: object the array is stored on +// - sArrayName: name of the array +// - nPos: the position/index in the array the value should be retrieved from +// * return value: returns the value found at position/index nPos +int MK_ARRAY_GetLocalArrayBool(object oObject, string sArrayName, int nPos); + +// Returns the size/length of an array +// - oObject: object the array is stored on +// - sArrayName: name of the array +// * return value: size/length of an array +int MK_ARRAY_GetLocalArrayBoolLength(object oObject, string sArrayName); + + +/////////////////////////////////////////////////////////////////////////////// +// General functions + +string MK_ARRAY_GetLocalArrayBuffer(object oObject, string sArrayName) +{ + return GetLocalString(oObject, sArrayName); +} + +void MK_ARRAY_SetLocalArrayBuffer(object oObject, string sArrayName, string sBuffer) +{ + SetLocalString(oObject, sArrayName, sBuffer); +} + +void MK_ARRAY_DeleteLocalArray(object oObject, string sArrayName) +{ + DeleteLocalString(oObject, sArrayName); +} + +/////////////////////////////////////////////////////////////////////////////// +// Sorted Int Array: + +const int MK_ARRAY_INTEGER_SIZE = 4; + +string MK_ARRAY_LocalArraySortedInt_IntToString(int nValue) +{ + return MK_IntToString(nValue, MK_ARRAY_INTEGER_SIZE, " "); +} + +void MK_ARRAY_AppendLocalArraySortedInt(object oObject, string sArrayName, int nValue) +{ + string sBuffer = MK_ARRAY_GetLocalArrayBuffer(oObject, sArrayName); + sBuffer += MK_ARRAY_LocalArraySortedInt_IntToString(nValue); + MK_ARRAY_SetLocalArrayBuffer(oObject, sArrayName, sBuffer); +} + +int MK_ARRAY_GetLocalArraySortedIntLength(object oObject, string sArrayName) +{ + string sBuffer = MK_ARRAY_GetLocalArrayBuffer(oObject, sArrayName); + int nLen = GetStringLength(sBuffer) / MK_ARRAY_INTEGER_SIZE; + return nLen; +} + +int MK_ARRAY_GetLocalArraySortedInt(object oObject, string sArrayName, int nPos) +{ + string sBuffer = MK_ARRAY_GetLocalArrayBuffer(oObject, sArrayName); + string sValue = GetSubString(sBuffer, nPos*MK_ARRAY_INTEGER_SIZE, MK_ARRAY_INTEGER_SIZE); + return StringToInt(sValue); +} + +int MK_ARRAY_SearchLocalArraySortedInt(object oObject, string sArrayName, int nValue) +{ + string sBuffer = MK_ARRAY_GetLocalArrayBuffer(oObject, sArrayName); + int nPos, nPos0=0, nPos1=GetStringLength(sBuffer) / MK_ARRAY_INTEGER_SIZE; + int nValueQ; + while (nPos0<=nPos1) + { + nPos = (nPos0 + nPos1) / 2; + nValueQ = StringToInt(GetSubString(sBuffer, nPos*MK_ARRAY_INTEGER_SIZE, MK_ARRAY_INTEGER_SIZE)); + if (nValuenValueQ) + { + nPos0 = nPos+1; + } + else + { + return nPos; + } + } + return -1; +} + +/////////////////////////////////////////////////////////////////////////////// +// Bool Array: + +int MK_ARRAY_GetLocalArrayBool(object oObject, string sArrayName, int nPos) +{ + string sArray = MK_ARRAY_GetLocalArrayBuffer(oObject, sArrayName); + return (GetSubString(sArray, nPos, 1)=="1"); +} + + +int MK_ARRAY_GetLocalArrayBoolLength(object oObject, string sArrayName) +{ + string sArray = MK_ARRAY_GetLocalArrayBuffer(oObject, sArrayName); + return GetStringLength(sArray); +} + +int MK_ARRAY_GetIsLocalArrayBoolEqual(object oObject, string sArrayName, int bValue) +{ + string sArray = MK_ARRAY_GetLocalArrayBuffer(oObject, sArrayName); +// MK_DEBUG_TRACE("MK_ARRAY_GetIsLocalArrayBoolEqual: '"+sArray+"'"); + int iPos; + int nLength=GetStringLength(sArray); + string sValue = (bValue ? "1" : "0"); + for (iPos=0; iPos0) + { + sPrefix = GetStringLeft(sArray, nPos); + } + if (nPos+1 < nLength) + { + sPostfix = GetStringRight(sArray, (nLength-(nPos+1))); + } + + sArray = sPrefix + (bValue ? "1" : "0") + sPostfix; + + MK_ARRAY_SetLocalArrayBuffer(oObject, sArrayName, sArray); +} + + +/* +void main() +{ + +} +/**/ diff --git a/_module/nss/mk_inc_body.nss b/_module/nss/mk_inc_body.nss new file mode 100644 index 00000000..47d0fa0e --- /dev/null +++ b/_module/nss/mk_inc_body.nss @@ -0,0 +1,1484 @@ +// requires +#include "x3_inc_skin" +#include "mk_inc_tools_s" +#include "mk_inc_iaam" +//#include "mk_inc_ccoh_db" +#include "mk_inc_debug" + + +const int MK_CRAFTBODY_CREATUREPART_NAME = 12220; + +const int MK_CREATURE_PART_NEXT = 1; +const int MK_CREATURE_PART_PREV = 2; + +const int MK_CRAFTBODY_ERROR = 0; +const int MK_CRAFTBODY_HEAD = 1; + +const int MK_CRAFTBODY_TAIL = 3; +const int MK_CRAFTBODY_WINGS = 4; +const int MK_CRAFTBODY_PHENOTYPE = 5; + +const int MK_CRAFTBODY_PORTRAIT = 7; +const int MK_CRAFTBODY_BODY = 8; +const int MK_CRAFTBODY_HORSE = 9; + +const int MK_CRAFTBODY_COLOR = 10; + +const int MK_CRAFTBODY_APPRTYPE = 11; + +const int MK_CRAFTBODY_SCALE = 12; + +const int MK_CRAFTBODY_FOOTSTEP = 13; + +const int MK_CRAFTBODY_DEITY = 14; + +const int MK_CRAFTBODY_NUMBER_OF_BODYPARTS = 14; + +//const int MK_CRAFTBODY_SAVERESTORE = 21; + +const int MK_CRAFTBODY_NUMBER_OF_SLOTS = 10; + +const int MK_CRAFTBODY_NEXT = 1; +const int MK_CRAFTBODY_PREV = 2; +const int MK_CRAFTBODY_CLEAR = 3; + +const int MK_PORTRAIT_ID_NEXT = 1; +const int MK_PORTRAIT_ID_PREV = 2; +const int MK_PORTRAIT_RESREF_NEXT = 3; +const int MK_PORTRAIT_RESREF_PREV = 4; + +const string MK_CRAFTBODY_CURRENT = "MK_CRAFTBODY_CURRENT"; +const string MK_CRAFTBODY_SUB = "MK_CRAFTBODY_SUB"; +//const string MK_CRAFTBODY_SAVE = "MK_CRAFTBODY_SAVE"; + +const string MK_CRAFTBODY_HEAD_FILTER = "MK_CRAFTBODY_HEAD_FILTER"; + +const int MK_CRAFTBODY_TOKEN_NAME = 14422; +const int MK_CRAFTBODY_TOKEN_NUMBER = 14423; + +//const string MK_2DA_RIDE_PHENO = "mk_ride_pheno"; +//const string MK_2DA_RIDE_HORSES = "mk_horses"; + +//const string MK_VAR_CURRENT_HORSE = "MK_CurrentHorse"; +//const string MK_VAR_CURRENT_TAIL = "MK_CurrentTail"; + +//const int MK_HORSE_1 = 16; +//const int MK_HORSE_2 = 29; +//const int MK_HORSE_3 = 42; +//const int MK_HORSE_4 = 55; +//const int MK_HORSE_5 = 68; + +//const int MK_STATE_BODY = 10; + +/* +const int MK_STATE_BODY_SELECT = 10; +const int MK_STATE_BODY_MODIFY = 11; +*/ + + +// ---------------------------------------------------------------------------- +// Sets the part of the body to be modified +// - nBodyPart (MK_CRAFTBODY_*) +// MK_CRAFTBODY_ERROR +// MK_CRAFTBODY_HEAD +// MK_CRAFTBODY_TAIL +// MK_CRAFTBODY_WINGS +// MK_CRAFTBODY_PHENOTYPE +// MK_CRAFTBODY_PORTRAIT +// MK_CRAFTBODY_BODY +// ---------------------------------------------------------------------------- +void MK_SetBodyPartToBeModified(object oPC, int nBodyPart, int bSetCamera=FALSE); + +// ---------------------------------------------------------------------------- +// Returns the body part to be modified +// ---------------------------------------------------------------------------- +int MK_GetBodyPartToBeModified(object oCreature); + +// ---------------------------------------------------------------------------- +// Changes the creature's portrait +// - nMode +// MK_PORTRAITID_NEXT +// MK_PORTRAITID_PREV +// ---------------------------------------------------------------------------- +void MK_NewPortrait(object oCreature, int nMode, object oPC); + +// ---------------------------------------------------------------------------- +// Tries to find the portrait ID by searching the portraits.2da +// for a matching resref. +// - bCustom: searches custom portrait list +// ---------------------------------------------------------------------------- +int MK_GetPortraitIdFromResRef(object oPC, string sResRef, int bCustom=FALSE); + +// ---------------------------------------------------------------------------- +// Get the PortraitId of oTarget +// - oTarget: the object for which you are getting the portrait Id. +// +// The function calls GetPortraitId() and if PORTRAIT_INVALID is returned +// it tries GetPortraitResRef() and searches the returned ResRef in +// Portraits.2da. +// - bCustom: searches custom portrait list +// +// ---------------------------------------------------------------------------- +int MK_GetPortraitId(object oTarget, object oPC); + +// ---------------------------------------------------------------------------- +// Get the custom PortraitId of oTarget +// - oTarget: the object for which you are getting the portrait Id. +// +// The function reads the portrait resref and searches MK_Portraits.2da +// for a matching portrait. +// Returns PORTRAIT_INVALID if no matching portrait is found. Otherwise +// it returns the line number. +// ---------------------------------------------------------------------------- +int MK_GetCustomPortraitId(object oTarget, object oPC); + +// ---------------------------------------------------------------------------- +// Returns the current body part number +// ---------------------------------------------------------------------------- +int MK_GetBodyPart(object oCreature, object oPC, int nBodyPartToBeModified, int nSubBodyPart=0); + +// ---------------------------------------------------------------------------- +// Sets the current body part number +// ---------------------------------------------------------------------------- +void MK_SetBodyPart(int nBodyPart, object oCreature, int nBodyPartToBeModified, int nSubBodyPart=0); + +// ---------------------------------------------------------------------------- +// Calculates the save bodypart string +// ---------------------------------------------------------------------------- +string MK_GetSaveBodyPartString(object oCreature, int nBodyPart); + +// ---------------------------------------------------------------------------- +// Restores appearance of bodypart nBodyPart from string sSaveString +// ---------------------------------------------------------------------------- +void MK_RestoreBodyPartFromString(object oCreature, int nBodyPart, string sSaveString, float fDelay=0.0); + +// ---------------------------------------------------------------------------- +// Saves the current body appearance to slot nSlot +// ---------------------------------------------------------------------------- +//void MK_SaveBody(object oCreature, int nSlot); + +// ---------------------------------------------------------------------------- +// Compares the current body appearance with appearance in slot nSlot +// ---------------------------------------------------------------------------- +//int MK_CompareBody(object oCreature, int nSlot); + +// ---------------------------------------------------------------------------- +// Returns TRUE if slot nSlot stores a body appearance +// ---------------------------------------------------------------------------- +int MK_GetIsUsedSaveBodySlot(object oCreature, int nSlot); + +// ---------------------------------------------------------------------------- +// Restores the body appearance from slot nSlot +// ---------------------------------------------------------------------------- +//void MK_RestoreBody(object oCreature, int nSlot); + +// ---------------------------------------------------------------------------- +// Saves the current body part so it can be restored +// ---------------------------------------------------------------------------- +//void MK_SaveBodyPart(object oCreature); + +// ---------------------------------------------------------------------------- +// Restores a previously saved body part +// ---------------------------------------------------------------------------- +//void MK_RestoreBodyPart(object oCreature); + +// ---------------------------------------------------------------------------- +// Finishes modifying of creature body +// ---------------------------------------------------------------------------- +void MK_DoneBodyPart(object oPC, object oTarget); + +// ---------------------------------------------------------------------------- +// Some clean up +// ---------------------------------------------------------------------------- +void MK_CleanUpBodyPart(object oPC, object oTarget); + +// ---------------------------------------------------------------------------- +// Returns TRUE if nBodyPart is valid +// ---------------------------------------------------------------------------- +int MK_GetIsValidBodyPart(int nPartToBeModfied, int nBodyPart, string sUser2DA="", string sColumn="", + string sUser2DA2="", string sColumn2=""); + +// ---------------------------------------------------------------------------- +// Returns the name of nBodyPart +// ---------------------------------------------------------------------------- +string MK_GetBodyPartName(int nPartToBeModified, int nBodyPart); + +// ---------------------------------------------------------------------------- +// Returns the name of the current horse +// ---------------------------------------------------------------------------- +string MK_GetHorseName(int nHorse); + +// ---------------------------------------------------------------------------- +// Changes the body part +// - nMode +// MK_CRAFTBODY_NEXT +// MK_CRAFTBODY_PREV +// MK_CRAFTBODY_TOGGLE +// +// ---------------------------------------------------------------------------- +void MK_NewBodyPart(object oCreature, int nMode, object oPC=OBJECT_INVALID); + + +// ---------------------------------------------------------------------------- +// Sets the tokens 14422/14423 to current body part name/number +// ---------------------------------------------------------------------------- +void MK_SetBodyPartTokens(object oPC, object oTarget=OBJECT_INVALID); + +// ---------------------------------------------------------------------------- +// Sets the tokens 14422/14423 +// ---------------------------------------------------------------------------- +void MK_SetBodyPartTokens2(string sPartName, string sBodyPart); + +// ---------------------------------------------------------------------------- +int MK_GetMaxBodyPartID(object oPC, int nCreaturePart); + +string MK_BODY_GetCEPHeadColumn(object oPC); + +int MK_BODY_GetCEPHeadFilterExists(object oPC); + + +void MK_SetColor(object oObject, int nColorChannel, int nColorValue); + +/* +// ---------------------------------------------------------------------------- +// Initializes the horse selection for oCreature: +// - sets the phenotype to riding +// - sets the tail to the current horse or the starting horse of no +// current horse exists. +// ---------------------------------------------------------------------------- +int MK_InitializeHorseSelection(object oCreature); + +// ---------------------------------------------------------------------------- +int MK_GetIsRiding(object oCreature); +*/ + +// ---------------------------------------------------------------------------- +// implementation +// ---------------------------------------------------------------------------- + +void MK_SetColor(object oObject, int nColorChannel, int nColorValue) +{ + SetColor(oObject, nColorChannel, nColorValue); + + if (MK_VERSION_GetIsBuildVersionGreaterEqual(GetPCSpeaker(), 8193, 21) && !MK_VERSION_GetIsBuildVersionGreaterEqual(GetPCSpeaker(), 8193, 22)) + { + MK_DEBUG_TRACE("8193.21 workaround: removing head to force head to update colors!"); + int nHead = GetCreatureBodyPart(CREATURE_PART_HEAD, oObject); + SetCreatureBodyPart(CREATURE_PART_HEAD, 255, oObject); + DelayCommand(0.2, SetCreatureBodyPart(CREATURE_PART_HEAD, nHead, oObject)); + } +} + +const int MK_HORSE_CCOH_HORSE_SYSTEM = 1; +const int MK_HORSE_BIOWARE_HORSE_SYSTEM = 2; + +int MK_HORSE_GetHorseSystem(object oRider = OBJECT_SELF) +{ + int nHorseSystem = GetLocalInt(oRider, "MK_HORSE_USED_HORSE_SYSTEM"); +// MK_DEBUG_TRACE("MK_HORSE_GetHorseSystem: MK_HORSE_USED_HORSE_SYSTEM("+GetName(oRider)+")="+IntToString(nHorseSystem)); + if (nHorseSystem == 0) + { + nHorseSystem = GetLocalInt(GetModule(), "MK_HORSE_HORSE_SYSTEM"); +// MK_DEBUG_TRACE("MK_HORSE_GetHorseSystem: MK_HORSE_HORSE_SYSTEM("+GetName(OBJECT_SELF)+")="+IntToString(nHorseSystem)); + } + if (nHorseSystem == 0) + { + nHorseSystem = MK_HORSE_CCOH_HORSE_SYSTEM; + } + return nHorseSystem; +} + +string MK_HORSES_Get2DAFile() +{ + string s2DAFile = GetLocalString(GetModule(), "MK_2DA_VALID_HORSES"); + MK_DEBUG_TRACE("MK_HORSES_Get2DAFile(): '"+s2DAFile+"'"); + if (s2DAFile=="") s2DAFile = "mk_horses"; + + MK_DEBUG_TRACE(" > '"+s2DAFile+"'"); + return s2DAFile; +} + + +void MK_HORSE_SetUsedHorseSystem(object oRider, int nHorseSystem) +{ +// MK_DEBUG_TRACE("MK_HORSE_SetHorseSystem: MK_HORSE_USED_HORSE_SYSTEM("+GetName(oRider)+")="+IntToString(nHorseSystem)); + SetLocalInt(oRider, "MK_HORSE_USED_HORSE_SYSTEM", nHorseSystem); +} + +void MK_SetBodyPartToBeModified(object oPC, int nBodyPart, int bSetCamera) +{ +// MK_DEBUG_TRACE(" MK_SetBodyPartToBeModified(nBodyPart="+IntToString(nBodyPart)+", bSetCamera="+IntToString(bSetCamera)+")"); + SetLocalInt(oPC, MK_CRAFTBODY_CURRENT,nBodyPart); + + if (bSetCamera) + { + float fFacing = GetFacing(oPC) + 180.0; + float fPitch = 75.0; + float fDistance = 3.5f; + + switch (nBodyPart) + { + case MK_CRAFTBODY_HEAD: + fDistance = 2.5f; + break; + case MK_CRAFTBODY_TAIL: + fFacing += 135; + break; + case MK_CRAFTBODY_WINGS: + fFacing += 135; + break; + case MK_CRAFTBODY_PHENOTYPE: + break; + case MK_CRAFTBODY_BODY: + break; + } + if (fFacing > 359.0) + { + fFacing -=359.0; + } + + switch (GetRacialType(oPC)) + { + case RACIAL_TYPE_HALFORC: + fDistance += 1.0f; + break; + } + SetCameraFacing(fFacing, fDistance, fPitch,CAMERA_TRANSITION_TYPE_VERY_FAST) ; + } +} + +void MK_CraftBody_SetDefaultCameraFacing(object oPC) +{ + float fDistance = 3.5f; + float fPitch = 75.0f; + float fFacing; + fFacing = GetFacing(oPC) + 180.0; + if (fFacing > 359.0) + { + fFacing -=359.0; + } + SetCameraFacing(fFacing, fDistance, fPitch,CAMERA_TRANSITION_TYPE_VERY_FAST) ; +} + +void MK_SetSubPartToBeModified(object oPC, int nSubPart, int bSetCamera=TRUE) +{ + SetLocalInt(oPC, MK_CRAFTBODY_SUB, nSubPart); + + string sName; + switch (MK_GetBodyPartToBeModified(oPC)) + { + case MK_CRAFTBODY_BODY: + { + if (MK_IAAM_GetIsCreaturePart(nSubPart)) + { + if (bSetCamera) + { + // * Make the camera float near the PC + float fFacing = GetFacing(oPC) + 180.0; + if (fFacing > 359.0) + { + fFacing -=359.0; + } + + float fPitch = 75.0; + float fDistance = 3.5f; + + if (nSubPart == CREATURE_PART_RIGHT_FOOT || nSubPart == CREATURE_PART_LEFT_FOOT ) + { + fDistance = 3.5f; + fPitch = 47.0f; + } + else if (nSubPart == CREATURE_PART_LEFT_THIGH || nSubPart == CREATURE_PART_RIGHT_THIGH ) + { + fDistance = 2.5f; + fPitch = 65.0f; + } + else if (nSubPart == CREATURE_PART_RIGHT_SHIN || nSubPart == CREATURE_PART_LEFT_SHIN ) + { + fDistance = 3.5f; + fPitch = 95.0f; + } + + if (GetRacialType(oPC) == RACIAL_TYPE_HALFORC) + { + fDistance += 1.0f; + } + + SetCameraFacing(fFacing, fDistance, fPitch,CAMERA_TRANSITION_TYPE_VERY_FAST) ; + } + sName = MK_IAAM_GetName(nSubPart); +// MK_DEBUG_TRACE("MK_SetSubPartToBeModified: sName='"+sName+"'"); + + } + break; + } + default: + if (bSetCamera) + { + MK_CraftBody_SetDefaultCameraFacing(oPC); + } + break; + } + SetCustomToken(MK_CRAFTBODY_CREATUREPART_NAME, sName); +} + +int MK_GetBodyPartToBeModified(object oCreature) +{ + return GetLocalInt(oCreature,MK_CRAFTBODY_CURRENT); +} + +int MK_GetSubPartToBeModified(object oCreature) +{ + return GetLocalInt(oCreature,MK_CRAFTBODY_SUB); +} + +int MK_GetBoneArmBodyPart(int iBoneArm) +{ + int nPart=0; + switch (iBoneArm) + { + case 0: + nPart = CREATURE_PART_LEFT_BICEP; + break; + case 1: + nPart = CREATURE_PART_LEFT_FOREARM; + break; + case 2: + nPart = CREATURE_PART_LEFT_HAND; + break; + } + return nPart; +} + +int MK_GetTattooBodyPart(int iTattoo) +{ + int nPart=0; + switch (iTattoo) + { + case 0: + nPart = CREATURE_PART_TORSO; + break; + case 1: + nPart = CREATURE_PART_LEFT_BICEP; + break; + case 2: + nPart = CREATURE_PART_RIGHT_BICEP; + break; + case 3: + nPart = CREATURE_PART_LEFT_FOREARM; + break; + case 4: + nPart = CREATURE_PART_RIGHT_FOREARM; + break; + case 5: + nPart = CREATURE_PART_LEFT_THIGH; + break; + case 6: + nPart = CREATURE_PART_RIGHT_THIGH; + break; + case 7: + nPart = CREATURE_PART_LEFT_SHIN; + break; + case 8: + nPart = CREATURE_PART_RIGHT_SHIN; + break; + } + return nPart; +} + +string MK_BodyPartToColumn(int nPart) +{ + return Get2DAString("capart", "MDLNAME", nPart); +} + +int MK_BodyPart_ID2Model(int nPart, int nID) +{ + string sColumn = MK_BodyPartToColumn(nPart); + string sModel = Get2DAString("mk_bodyparts", sColumn, nID); + if (sModel=="") return -1; + return StringToInt(sModel); +} + +int MK_BodyPart_Model2ID(object oPC, int nPart, int nModel) +{ + string sColumn = MK_BodyPartToColumn(nPart); + + int nMin = 0; + int nMax = MK_GetMaxBodyPartID(oPC, nPart); + + int bFound=FALSE; + string s2DA = "MK_BodyParts"; + + int nId=nMin-1; + while ((!bFound) && (nId=0) + { +// string sPrefix = "MK_SaveSlot"+MK_IntToString(nSlot,2,"0")+"_"; + int nBodyPart; + for (nBodyPart=1; nBodyPart<=MK_CRAFTBODY_NUMBER_OF_BODYPARTS; nBodyPart++) + { +// string sVariable = sPrefix+"Part"+MK_IntToString(nBodyPart,2,"0"); +// string sSaveString = GetLocalString(oCreature, sVariable); +// if (sSaveString!="") return TRUE; + if (MK_BODY_GetDatabaseString(oCreature, nSlot, nBodyPart)!="") + { + return TRUE; + } + } + return FALSE; + } + else + { + int nSlotQ; + for (nSlotQ=1; nSlotQ<=MK_CRAFTBODY_NUMBER_OF_SLOTS; nSlotQ++) + { + if (MK_GetIsUsedSaveBodySlot(oCreature, nSlotQ)) + { + return TRUE; + } + } + return FALSE; + } +} + +string MK_GetSaveBodyPartString(object oCreature, int nBodyPart) +{ + string sSave=""; + switch (nBodyPart) +// switch (MK_GetBodyPartToBeModified(oCreature)) + { + case MK_CRAFTBODY_HEAD: + sSave = IntToString(GetCreatureBodyPart(CREATURE_PART_HEAD, oCreature)); + break; + case MK_CRAFTBODY_BODY: + { + int i; + for (i=0; i<=17; i++) + { + sSave+=MK_IntToString(GetCreatureBodyPart(i,oCreature),3); + } + } + break; + case MK_CRAFTBODY_COLOR: + { + int i; + int nColorChannel; + for (i=0; i<=3; i++) + { + sSave+=MK_IntToString(GetColor(oCreature, i),3); + } + } + break; + case MK_CRAFTBODY_TAIL: + sSave = IntToString(GetCreatureTailType(oCreature)); + break; + case MK_CRAFTBODY_WINGS: + sSave = IntToString(GetCreatureWingType(oCreature)); + break; + case MK_CRAFTBODY_PHENOTYPE: + sSave = IntToString(GetPhenoType(oCreature)); + break; + case MK_CRAFTBODY_HORSE: + sSave = MK_IntToString(GetPhenoType(oCreature),3) + + MK_IntToString(GetCreatureTailType(oCreature),3); + break; + case MK_CRAFTBODY_PORTRAIT: + { + int nId = GetPortraitId(oCreature); + if (nId!=PORTRAIT_INVALID) + { + sSave="ID="+IntToString(nId); + } + else + { + sSave="ResRef="+GetPortraitResRef(oCreature); + } + } + break; + } + return sSave; +} + +void MK_RestoreBodyPartFromString(object oCreature, int nBodyPart, string sSaveString, float fDelay) +{ + switch (nBodyPart) + { + case MK_CRAFTBODY_HEAD: + SetCreatureBodyPart(CREATURE_PART_HEAD, StringToInt(sSaveString), oCreature); + break; + case MK_CRAFTBODY_BODY: + { + int i; + int nNewBodyPart; + int nCurrentBodyPart; + for (i=0; i<=17; i++) + { + nNewBodyPart = StringToInt(GetSubString(sSaveString,i*3,3)); + nCurrentBodyPart = GetCreatureBodyPart(i, oCreature); + + if (nNewBodyPart!=nCurrentBodyPart) + { + SetCreatureBodyPart( + i, + nNewBodyPart, + oCreature); + ActionPauseConversation(); + ActionWait(fDelay); + ActionResumeConversation(); + } + } + } + break; + case MK_CRAFTBODY_COLOR: + { + int i, nNewColor, nCurrentColor; + for (i=0; i<=3; i++) + { + nNewColor = StringToInt(GetSubString(sSaveString,i*3,3)); + nCurrentColor = GetColor(oCreature, i); + + if (nNewColor!=nCurrentColor) + { + SetColor(oCreature, i, nNewColor); + + ActionPauseConversation(); + ActionWait(fDelay); + ActionResumeConversation(); + } + } + } + break; + case MK_CRAFTBODY_TAIL: + SetCreatureTailType(StringToInt(sSaveString), oCreature); + break; + case MK_CRAFTBODY_WINGS: + SetCreatureWingType(StringToInt(sSaveString), oCreature); + break; + case MK_CRAFTBODY_PHENOTYPE: + SetPhenoType(StringToInt(sSaveString), oCreature); + break; + case MK_CRAFTBODY_HORSE: + SetCreatureTailType(StringToInt(GetStringRight(sSaveString,3)), oCreature); + SetPhenoType(StringToInt(GetStringLeft(sSaveString,3)), oCreature); + break; + case MK_CRAFTBODY_PORTRAIT: + { + if (GetStringLeft(sSaveString,3)=="ID=") + { + int nId = StringToInt(GetSubString(sSaveString,3,GetStringLength(sSaveString)-3)); + SetPortraitId(oCreature,nId); + } + else if (GetStringLeft(sSaveString,7)=="ResRef=") + { + string sResRef = GetSubString(sSaveString,7,GetStringLength(sSaveString)-7); + SetPortraitResRef(oCreature, sResRef); + } + } + break; + } +} + +/* +void MK_RestoreBodyPart(object oCreature) +{ + string sSave=GetLocalString(oCreature, MK_CRAFTBODY_SAVE); + int nBodyPart = MK_GetBodyPartToBeModified(oCreature); + + MK_RestoreBodyPartFromString(oCreature, nBodyPart, sSave); + +// MK_CleanUpBodyPart(oCreature); +} +*/ + +/* +int MK_GetIsBodyModified(object oCreature) +{ + int bModified=FALSE; + + int nBodyPart = MK_GetBodyPartToBeModified(oCreature); + if (nBodyPart==MK_CRAFTBODY_SAVERESTORE) + { + bModified = !MK_CompareBody(oCreature, 0); + } + else + { + bModified = + (MK_GetSaveBodyPartString(oCreature, nBodyPart) != GetLocalString(oCreature, MK_CRAFTBODY_SAVE)); + } + return bModified; +} +*/ + +void MK_CleanUpBodyPart(object oPC, object oTarget) +{ +// DeleteLocalString(oTarget, MK_CRAFTBODY_SAVE); + DeleteLocalInt(oPC, MK_CRAFTBODY_SUB); + DeleteLocalInt(oPC, MK_CRAFTBODY_CURRENT); + DeleteLocalInt(oPC, "MK_PORTRAIT_MAX_ID"); + DeleteLocalInt(oPC, "MK_CUSTOM_MAX_ID"); + DeleteLocalInt(oPC, "MK_CURRENT_CUSTOM_PORTRAIT"); + + int i; + for (i=0; i<=17; i++) + { + string sColumn = Get2DAString("capart","MDLNAME",i); + if (sColumn!="") + { + DeleteLocalInt(oPC, "MK_"+sColumn+"_MAX_ID"); + } + } + for (i=1; i<=MK_CRAFTBODY_NUMBER_OF_BODYPARTS; i++) + { +// DeleteLocalInt(oPC, "MK_SaveSlot00_Part"+MK_IntToString(i,2,"0")); + DeleteLocalInt(oPC, MK_BODY_GetVarName(0, i)); + } +} + +void MK_DoneBodyPart(object oPC, object oTarget) +{ + MK_CleanUpBodyPart(oPC, oTarget); +} + +string MK_GetBodyPartName(int nPartToBeModified, int nBodyPart) +{ + string s2DA = ""; + string sColumn = ""; + + switch (nPartToBeModified) + { + case MK_CRAFTBODY_HEAD: + break; + case MK_CRAFTBODY_BODY: + break; + case MK_CRAFTBODY_TAIL: + s2DA = "TailModel"; + sColumn = "Label"; + break; + case MK_CRAFTBODY_HORSE: + s2DA = "TailModel"; + sColumn = "Label"; + break; + case MK_CRAFTBODY_WINGS: + s2DA = "WingModel"; + sColumn = "Label"; + break; + case MK_CRAFTBODY_PHENOTYPE: + s2DA = "PhenoType"; + sColumn = "Label"; + break; + case MK_CRAFTBODY_PORTRAIT: + s2DA = "Portraits"; + sColumn = "BaseResRef"; + break; + case MK_CRAFTBODY_COLOR: + break; + } + + string sPartName = ""; + + if ((s2DA!="") && (sColumn!="")) + { + sPartName = Get2DAString(s2DA, sColumn, nBodyPart); + } + return sPartName; +} + +string MK_GetHorseName(int nHorse) +{ + string sHorseName; + string sUser2DA = GetLocalString(GetPCSpeaker(), "MK_2DA_VALID_HORSES"); + string sColumn = "Horse"; + + if (MK_GetIsValidBodyPart(MK_CRAFTBODY_HORSE, nHorse, sUser2DA, sColumn)) + { + sHorseName=MK_GetBodyPartName(MK_CRAFTBODY_HORSE, nHorse); + } + else + { + sHorseName="No Horse"; + } + return sHorseName; +} + +string MK_GetRacialTypeAsString(object oCreature) +{ + int nRacialType = GetRacialType(oCreature); + string sRacialType=Get2DAString("racialtypes", "Label", nRacialType); +/* + switch (nRacialType) + { + case RACIAL_TYPE_DWARF: + sRacialType = "Dwarf"; + break; + case RACIAL_TYPE_ELF: + sRacialType = "Elf"; + break; + case RACIAL_TYPE_GNOME: + sRacialType = "Gnome"; + break; + case RACIAL_TYPE_HALFELF: + sRacialType = "Halfelf"; + break; + case RACIAL_TYPE_HALFLING: + sRacialType = "Halfling"; + break; + case RACIAL_TYPE_HALFORC: + sRacialType = "Halforc"; + break; + case RACIAL_TYPE_HUMAN: + sRacialType = "Human"; + break; + default: + sRacialType = IntToString(nRacialType); + break; + } +*/ + return sRacialType; +} + +string MK_GetGenderAsString(object oCreature) +{ + string sGender=""; + int nGender = GetGender(oCreature); + switch (nGender) + { + case GENDER_FEMALE: + sGender = "Female"; + break; + case GENDER_MALE: + sGender = "Male"; + break; + } + return sGender; +} + +int MK_GetIsValidBodyPart(int nPartToBeModified, int nBodyPart, string sUser2DA, string sColumn, + string sUser2DA2, string sColumn2) +{ + string sPartName = MK_GetBodyPartName(nPartToBeModified, nBodyPart); + + int bOk = FALSE; + switch (nPartToBeModified) + { + case MK_CRAFTBODY_HEAD: + bOk = TRUE; + break; + case MK_CRAFTBODY_BODY: + bOk = TRUE; + break; + case MK_CRAFTBODY_TAIL: + bOk = (sPartName!=""); + break; + case MK_CRAFTBODY_WINGS: + bOk = (sPartName!=""); + break; + case MK_CRAFTBODY_PHENOTYPE: + bOk = (sPartName!=""); + break; + case MK_CRAFTBODY_HORSE: + bOk = TRUE; + break; + case MK_CRAFTBODY_PORTRAIT: + bOk = TRUE; + break; + case MK_CRAFTBODY_COLOR: + bOk = TRUE; + break; + } + + if ((bOk) && ((sUser2DA!="") || (sUser2DA2!=""))) + { + bOk = ((sUser2DA !="") && (StringToInt(Get2DAString(sUser2DA, sColumn, nBodyPart))>0)) + || + ((sUser2DA2!="") && (StringToInt(Get2DAString(sUser2DA2, sColumn2, nBodyPart))>0)); + } + +// MK_DEBUG_TRACE("> MK_GetIsValidBodyPart: nBodyPart="+IntToString(nBodyPart)+", bOk="+IntToString(bOk)); + return bOk; +} + +int MK_GetMaxBodyPart(object oPC, int nBodyPart) +{ +// MK_DEBUG_TRACE("MK_GetMaxBodyPart("+IntToString(nBodyPart)+")"); + switch (nBodyPart) + { + case MK_CRAFTBODY_HEAD: + return GetLocalInt(oPC, "MK_HEAD_MAX_ID"); + case MK_CRAFTBODY_PORTRAIT: + return 0; + case MK_CRAFTBODY_COLOR: + return 175; + } + + string sVarName = "MK_BODYPART_"+IntToString(nBodyPart)+"_MAX_ID"; + + int nMax = GetLocalInt(oPC, sVarName); + + if (nMax==0) + { + string s2DA=""; + string sColumn=""; + + switch (nBodyPart) + { + case MK_CRAFTBODY_TAIL: + s2DA = "tailmodel"; + sColumn = "LABEL"; + break; + case MK_CRAFTBODY_HORSE: + s2DA = MK_HORSES_Get2DAFile(); + sColumn = "Horse"; + break; + case MK_CRAFTBODY_WINGS: + s2DA = "wingmodel"; + sColumn = "LABEL"; + break; + case MK_CRAFTBODY_PHENOTYPE: + s2DA = "phenotype"; + sColumn = "Label"; + break; + case MK_CRAFTBODY_PORTRAIT: + break; + } +// MK_DEBUG_TRACE(" > nMax="+IntToString(nMax)+", 2DA="+s2DA+", Column="+sColumn); + + if ((s2DA!="") && (sColumn!="")) + { + nMax = MK_Get2DALength(s2DA, sColumn, GetLocalInt(oPC, "MK_2DA_MAX_HOLE_SIZE")); + SetLocalInt(oPC, sVarName, nMax); + } + } + return nMax; +} + +void MK_SwapTattooColors(object oPC) +{ + if (!GetIsObjectValid(oPC)) + { + return; + } + int nColor1 = GetColor(oPC, COLOR_CHANNEL_TATTOO_1); + int nColor2 = GetColor(oPC, COLOR_CHANNEL_TATTOO_2); + SetColor(oPC, COLOR_CHANNEL_TATTOO_1, nColor2); + MK_SetColor(oPC, COLOR_CHANNEL_TATTOO_2, nColor1); +} + +void MK_NewBodyPart(object oCreature, int nMode, object oPC) +{ +// MK_DEBUG_TRACE("MK_NewBodyPart("+GetName(oCreature)+", "+IntToString(nMode)+", "+GetName(oPC)+")"); + if (!GetIsObjectValid(oPC)) oPC = oCreature; + + int nBodyPartToBeModified = MK_GetBodyPartToBeModified(oPC); + int nSubPartToBeModified = MK_GetSubPartToBeModified(oPC); + + int nMin = 0; + int nMax = 0; + + switch (nBodyPartToBeModified) + { + case MK_CRAFTBODY_BODY: + nMax = MK_GetMaxBodyPartID(oPC, nSubPartToBeModified); + break; + default: + nMax = MK_GetMaxBodyPart(oPC, nBodyPartToBeModified); + break; + } +// MK_DEBUG_TRACE(" > nMax = "+IntToString(nMax)); + + int nBodyPart = MK_GetBodyPart(oCreature, oPC, nBodyPartToBeModified, nSubPartToBeModified); + + string sUser2DA=""; + string sColumn="Default"; + string sUser2DA2=""; + string sColumn2=""; + + switch (nBodyPartToBeModified) + { + case MK_CRAFTBODY_HEAD: + { + int nCurrentFilter = GetLocalInt(oPC, MK_CRAFTBODY_HEAD_FILTER); +// MK_DEBUG_TRACE("MK_NewBodyPart: nCurrentFilter="+IntToString(nCurrentFilter)); + switch (nCurrentFilter) + { + case 0: + sUser2DA = ""; + sUser2DA2 = ""; + break; + case 1: + sUser2DA = "MK_HEADS_DEFAULT"; + sUser2DA2 = ""; + break; + case 2: + sUser2DA = GetLocalString(oCreature, "MK_2DA_VALID_HEADS"); + sUser2DA2 = ""; + break; + case 3: + sUser2DA = ""; + sUser2DA2 = "cepheadmodel"; + break; + case 4: + sUser2DA = GetLocalString(oCreature, "MK_2DA_VALID_HEADS"); + sUser2DA2 = "cepheadmodel"; + break; + } + + sColumn = MK_GetRacialTypeAsString(oCreature)+"_"+MK_GetGenderAsString(oCreature); + sColumn2 = MK_BODY_GetCEPHeadColumn(oCreature); + break; + } + case MK_CRAFTBODY_TAIL: + sUser2DA = GetLocalString(oPC, "MK_2DA_VALID_TAILS"); + break; + case MK_CRAFTBODY_WINGS: + sUser2DA = GetLocalString(oPC, "MK_2DA_VALID_WINGS"); + break; + case MK_CRAFTBODY_PHENOTYPE: + sUser2DA = GetLocalString(oPC, "MK_2DA_VALID_PHENOTYPES"); + break; + case MK_CRAFTBODY_HORSE: + sUser2DA = GetLocalString(oPC, "MK_2DA_VALID_HORSES"); + sColumn = "Horse"; + break; + } + +// MK_DEBUG_TRACE(" > sUser2DA='"+sUser2DA+"', sCol='"+sColumn+"', sUser2DA2='"+sUser2DA2+"', sCol2='"+sColumn2+"'"); + + do + { + switch (nMode) + { + case MK_CRAFTBODY_NEXT: + if (++nBodyPart>nMax) nBodyPart=nMin; + break; + case MK_CRAFTBODY_PREV: + if (--nBodyPart nBodyPart = "+IntToString(nBodyPart)); + } + while (!MK_GetIsValidBodyPart(nBodyPartToBeModified, nBodyPart, sUser2DA, sColumn, sUser2DA2, sColumn2) && (nMode != MK_CRAFTBODY_CLEAR)); + +// MK_DEBUG_TRACE("MK_NewBodyPart: nMode = "+IntToString(nMode) +// +", nBodyPart="+IntToString(nBodyPart) +// +", nBodyPartToBeModified="+IntToString(nBodyPartToBeModified) +// +", nSubPartToBeModified="+IntToString(nSubPartToBeModified)); + + MK_SetBodyPart(nBodyPart,oCreature,nBodyPartToBeModified,nSubPartToBeModified); + + return; +} + +void MK_SetBodyPartTokens(object oPC, object oTarget) +{ + if (!GetIsObjectValid(oTarget)) + { + oTarget = oPC; + } + int nToBeModified = MK_GetBodyPartToBeModified(oPC); + int nSubPartToBeModified = MK_GetSubPartToBeModified(oPC); + +// MK_DEBUG_TRACE("MK_SetBodyPartTokens: nToBeModified="+IntToString(nToBeModified)+ +// ", nSubPartToBeModified="+IntToString(nSubPartToBeModified)); + + string sBodyPart=""; + string sPartName=""; + + int nBodyPart = MK_GetBodyPart(oTarget, oPC, nToBeModified, + nSubPartToBeModified); + +// MK_DEBUG_TRACE("MK_SetBodyPartTokens: nToBeModified="+IntToString(nToBeModified)+ +// ", nSubPartToBeModified="+IntToString(nSubPartToBeModified)+ +// ", nBodyPart="+IntToString(nBodyPart)); + + switch (nToBeModified) + { + case MK_CRAFTBODY_BODY: + nBodyPart = MK_BodyPart_ID2Model( + nSubPartToBeModified, + nBodyPart); + sBodyPart = IntToString(nBodyPart); + break; + case MK_CRAFTBODY_PORTRAIT: + if (nBodyPart==PORTRAIT_INVALID) + { + nBodyPart=MK_GetCustomPortraitId(oTarget, oPC); + sBodyPart=(nBodyPart==PORTRAIT_INVALID ? "-" : IntToString(nBodyPart)+"C"); + sPartName = GetPortraitResRef(oTarget); + } + else + { + sBodyPart=IntToString(nBodyPart); + sPartName = MK_GetBodyPartName(nToBeModified,nBodyPart); + } + break; + default: + sPartName = MK_GetBodyPartName(nToBeModified,nBodyPart); + sBodyPart = IntToString(nBodyPart); + } + +// MK_DEBUG_TRACE("> nBodyPart="+IntToString(nBodyPart)+ +// ", sPartName="+sPartName+", sBodyPart="+sBodyPart); + MK_SetBodyPartTokens2(sPartName, sBodyPart); +} + +void MK_SetBodyPartTokens2(string sPartName, string sBodyPart) +{ + SetCustomToken(MK_CRAFTBODY_TOKEN_NAME, sPartName); + SetCustomToken(MK_CRAFTBODY_TOKEN_NUMBER, sBodyPart); +} + +int MK_GetMaxPortraitId(object oPC, int bCustom=FALSE) +{ + string sVarName = (bCustom ? "MK_CUSTOM_MAX_ID" : "MK_PORTRAIT_MAX_ID"); + + int nMax = GetLocalInt(oPC, sVarName); + if (nMax==0) + { + string s2DA = (bCustom ? "MK_Portraits" : "Portraits"); + int bContinue=TRUE; + int nEmpty=1; + int nMaxEmpty = GetLocalInt(oPC, "MK_2DA_MAX_HOLE_SIZE"); + while (bContinue) + { + if (Get2DAString(s2DA, "BaseResRef", nMax+nEmpty)!="") + { + nMax+=nEmpty; + nEmpty=1; + } + else + { + nEmpty++; + } + bContinue = (nEmpty<=nMaxEmpty); + } + SetLocalInt(oPC, sVarName, nMax); + } + return nMax; +} + +int MK_GetPortraitIdFromResRef(object oPC, string sResRef, int bCustom=FALSE) +{ + int nMin = 1; + int nMax = MK_GetMaxPortraitId(oPC, bCustom); + + int bFound=FALSE; + string sResRef0=GetStringLowerCase(sResRef); + string sResRef1; + + string s2DA = (bCustom ? "MK_Portraits" : "Portraits"); + + int iId=nMin-1; + while ((!bFound) && (iId nMax)) + { + nCurrId=nMin; + } + break; + case MK_PORTRAIT_ID_PREV: + case MK_PORTRAIT_RESREF_PREV: + if ((nCurrId==PORTRAIT_INVALID) || (--nCurrId < nMin)) + { + nCurrId=nMax; + } + break; + } + sResRef = Get2DAString(s2DA, sColResRef, nCurrId); + bPortraitIsValid = (sResRef!=""); + + bPortraitIsValid&=((bIgnoreGender)|(Get2DAString(s2DA, sColGender, nCurrId)==sGender)); + bPortraitIsValid&=((bIgnoreRace)|(Get2DAString(s2DA, sColRace, nCurrId)==sGender)); + } + while (!bPortraitIsValid); + + if (bCustom) + { + SetPortraitResRef(oCreature, sResRef); + } + else + { + SetPortraitId(oCreature, nCurrId); + } +} + +int MK_GetMaxBodyPartID(object oPC, int nCreaturePart) +{ + string sColumn = Get2DAString("capart", "MDLNAME", nCreaturePart); + if (sColumn=="") return -1; + + string sVarName = "MK_"+sColumn+"_MAX_ID"; + int nMax = GetLocalInt(oPC, sVarName); + + if (nMax==0) + { + string s2DA = "MK_BodyParts"; + int bContinue=TRUE; + int nEmpty=1; + int nMaxEmpty=1; + while (bContinue) + { + if (Get2DAString(s2DA, sColumn, nMax+nEmpty)!="") + { + nMax+=nEmpty; + nEmpty=1; + } + else + { + nEmpty++; + } + bContinue = (nEmpty<=nMaxEmpty); + } + SetLocalInt(oPC, sVarName, nMax); + } + return nMax; +} + + + +string MK_BODY_GetCEPHeadColumn(object oTarget) +{ + int nRacialType = GetRacialType(oTarget); + string sGender = MK_GetGenderAsString(oTarget); +// MK_DEBUG_TRACE("MK_BODY_GetCEPHeadColumn: sGender='"+sGender+"', nRacialType="+IntToString(nRacialType)); + string sColumn = Get2DAString("mk_head_cep_col", "Label_"+sGender, nRacialType); +// MK_DEBUG_TRACE("MK_BODY_GetCEPHeadColumn: sCol='"+sColumn+"'"); + return sColumn; +} + +int MK_BODY_GetCEPHeadFilterExists(object oTarget) +{ + string sCol = MK_BODY_GetCEPHeadColumn(oTarget); + return (StringToInt(Get2DAString("cepheadmodel", sCol, 1))!=0); +} + +/* +void main() +{ + +} +/**/ diff --git a/_module/nss/mk_inc_ccoh_db.nss b/_module/nss/mk_inc_ccoh_db.nss new file mode 100644 index 00000000..f302232e --- /dev/null +++ b/_module/nss/mk_inc_ccoh_db.nss @@ -0,0 +1,1836 @@ +#include "mk_inc_init" +#include "mk_inc_tools_s" +#include "mk_inc_craft" +#include "mk_inc_body" +#include "mk_inc_hex" +#include "mk_inc_scale" +#include "mk_inc_iprp" + +// name of global database +const string MK_CCOH_DB_DATABASE_NAME = "MK_CCOH"; + +// Get/SetLocalString(oPC, MK_CCOH_DB_DATABASE, MK_CCOH_DB_DATABASE_NAME) +// or +// Get/SetLocalString(oPC, MK_CCOH_DB_DATABASE, "") +// empty string: use local string +// "MK_CCOH" : use database "MK_CCOH" +const string MK_CCOH_DB_DATABASE = "MK_CCOH_DATABASE_NAME"; +const string MK_CCOH_DB_READWRITE = "MK_CCOH_DATABASE_READWRITE"; +const string MK_CCOH_DB_CURRENT_SLOTNR = "MK_CCOH_DATABASE_CURRENT_SLOTNR"; +const string MK_CCOH_DB_CURRENT_SLOTNAME = "MK_CCOH_DATABASE_CURRENT_SLOTNAME"; +const string MK_CCOH_DB_CURRENT_APPRTYPE = "MK_CCOH_DATABASE_CURRENT_APPRTYPE"; +const string MK_CCOH_DB_SAVED_BODY_APPEARANCE = "MK_CCOH_DATABASE_BODY_TEMP_SAVE"; + + +const int MK_CCOH_DB_ITEM_APPR_MODEL = 1; +const int MK_CCOH_DB_ITEM_APPR_COLOR = 2; +const int MK_CCOH_DB_ITEM_APPR_ALL = 3; + +const int ITEM_APPR_WEAPON_NUM_MODELS = 3; + +const int MK_CCOH_DB_BODY_APPR_HEAD = 1; +const int MK_CCOH_DB_BODY_APPR_TAIL = 4; +const int MK_CCOH_DB_BODY_APPR_WINGS = 8; +const int MK_CCOH_DB_BODY_APPR_PHENO = 16; +const int MK_CCOH_DB_BODY_APPR_PORTRAIT = 64; +const int MK_CCOH_DB_BODY_APPR_BODY = 128; +const int MK_CCOH_DB_BODY_APPR_HORSE = 256; +const int MK_CCOH_DB_BODY_APPR_COLOR = 512; +const int MK_CCOH_DB_BODY_APPR_TYPE = 1024; +const int MK_CCOH_DB_BODY_APPR_SCALE = 2048; +const int MK_CCOH_DB_BODY_APPR_FOOTSTEP = 4096; +const int MK_CCOH_DB_BOFY_APPR_DEITY = 8192; + + +const int MK_CCOH_DB_READ = 1; +const int MK_CCOH_DB_WRITE = 2; +const int MK_CCOH_DB_ADMIN = 255; + +// int g_bDbUsesHexData; + +const int g_nCCOH_DB_DbVersion = 1; +int g_bCCOH_DB_UseLocalDb = TRUE; + +int MK_CCOH_DB_GetUseLocalDb(object oPC); + +string MK_CCOH_DB_GetDatabaseName(object oPC); + +void MK_CCOH_DB_SetDatabaseName(object oPC, string sDatabaseName); + +void MK_CCOH_DB_SetReadWriteMode(object oPC, int nMode); + +int MK_CCOH_DB_GetReadWriteMode(object oPC); + +int MK_CCOH_DB_GetIsSlotUsed(object oPC, int iSlot); + +int MK_CCOH_DB_GetIsSlotValid(object oPC, int iSlot, object oItem); + +string MK_CCOH_DB_CreateSlotName(object oPC, int iSlot, int bAppendApprType=FALSE); + +string MK_CCOH_DB_GetVarName(object oPC, int nSlot); + +int MK_CCOH_DB_GetBaseItemTypeFromIAStr(string sIAStr); + +int MK_CCOH_DB_GetACBonusFromIAStr(string sIAStr); + +int MK_CCOH_DB_GetVersionFromIAStr(string sIAStr); + +string MK_CCOH_DB_GetSlotData(object oPC, int iSlot); + +string MK_CCOH_DB_GetSlotName(object oPC, int iSlot); + +void MK_CCOH_DB_SetSlotData(object oPC, int iSlot, string sIAStr); + +void MK_CCOH_DB_SetSlotName(object oPC, int iSlot, string sName); + +int MK_CCOH_DB_GetIsIAStrValid(string sIAStr); + +void MK_CCOH_DB_SetCurrentSlot(object oPC, int nSlot); + +void MK_CCOH_DB_SetCurrentSlotName(object oPC, string sSlotName); + +int MK_CCOH_DB_GetCurrentSlot(object oPC); + +string MK_CCOH_DB_GetCurrentSlotName(object oPC); + +void MK_CCOH_DB_DeleteCurrentSlot(object oPC); + +// int MK_CCOH_DB_GetIASStrTypesFromIAStr(string sIAStr); + +int MK_CCOH_DB_GetIASStrTypesFromSlot(object oPC, int nSlot); + +void MK_CCOH_DB_SetCurrentAppearanceType(object oPC, int nAppearanceType); + +int MK_CCOH_DB_GetCurrentAppearanceType(object oPC); + +int MK_CCOH_DB_StringToInt(string s, int nPos, int nLen=-1); + +object MK_CCOH_DB_IAStrToItemAppearance(object oItem, string sIAStr, int nMask=-1); + +int MK_CCOH_DB_IAStrToBodyAppearance(object oCreature, string sIAStr, int nMask=65279, float fDelay=0.0); + +int MK_CCOH_DB_GetIsItemAppearance(string sIAStr); + +int MK_CCOH_DB_GetIsBodyAppearance(string sIAStr); + +int MK_CCOH_DB_IASStrToBodyPart(object oCreature, string sIASStr, float fDelay=0.0); + +void MK_CCOH_DB_DeleteSlot(object oPC, int iSlot); + +// ---------------------------------------------------------------------------- +// Stores body appearance of creature into a string +// - oCreature: creature whose appearance is to be stored +// - nMask: use one or more from +// const int MK_CCOH_DB_BODY_APPR_HEAD = 1; +// const int MK_CCOH_DB_BODY_APPR_TAIL = 4; +// const int MK_CCOH_DB_BODY_APPR_WINGS = 8; +// const int MK_CCOH_DB_BODY_APPR_PHENO = 16; +// const int MK_CCOH_DB_BODY_APPR_PORTRAIT = 64; +// const int MK_CCOH_DB_BODY_APPR_BODY = 128; +// const int MK_CCOH_DB_BODY_APPR_HORSE = 256; +// const int MK_CCOH_DB_BODY_APPR_COLOR = 512; +// const int MK_CCOH_DB_BODY_APPR_TYPE = 1024; +// default value is 65279 = all but MK_CCOH_DB_BODY_APPR_HORSE +// MK_CCOH_DB_BODY_APPR_HORSE is not required anyway as it is +// covered by MK_CCOH_DB_BODY_APPR_TAIL, MK_CCOH_DB_BODY_APPR_PHENO +// and MK_CCOH_DB_BODY_APPR_TYPE +// ---------------------------------------------------------------------------- +string MK_CCOH_DB_BodyAppearanceToIAStr(object oCreature, int nMask=65279); + +// ---------------------------------------------------------------------------- +// Stores the appearance of the specified item +// into a string +// - oItem: item whose appearance should be stored +// - mask: MK_CCOH_DB_ITEM_APPR_... +// ---------------------------------------------------------------------------- +string MK_CCOH_DB_ItemToString(object oItem, int nMask=-1); + + +// ---------------------------------------------------------------------------- +// Writes the appearance of the specified item to database +// - oPC: player +// - oItem: item whose appearance should be stored +// - nSlot: slot used for storing the appearance +// - mask: MK_CCOH_DB_ITEM_APPR_... +// - sName: optional name for the stored appearance +// ---------------------------------------------------------------------------- +int MK_CCOH_DB_WriteItemAppearanceToDatabase(object oPC, object oItem, int nSlot, int nMask=-1, string sName=""); + + +// ---------------------------------------------------------------------------- +// Reads appearance of the specified item from database +// - oPC: player +// - oItem: item whose appearance should be changed +// - nSlot: slot used for reading the appearance +// - mask: MK_CCOH_DB_ITEM_APPR_... +// ---------------------------------------------------------------------------- +object MK_CCOH_DB_ReadItemAppearanceFromDatabase(object oPC, object oItem, int nSlot, int nMask=-1); + + +// ---------------------------------------------------------------------------- +// Format of hex DB string +/* + +Hex Header: + +0123456789012 +HvvmmTMMMbba! + +Dec Header: + +01234567890123 +DvvmmTMMMbbba! + +H/D: hex or decimal +vv: version of Db (currently 1) +mm; modmode +T : type (I=Item, B=Body) +M : mask (I: item appr type (1=Model, 2=Color, 3=Both), B: body type) +bb: base item type +a : AC bonus +! : delimiter + + + + +*/ +// ---------------------------------------------------------------------------- + +const int g_nVersionPos = 1; +const int g_nVersionLen = 2; + +const int g_nModModePos = 3; +const int g_nModModeLen = 2; + +const int g_nApprTypePos = 5; +const int g_nApprTypeLen = 1; + +const int g_nMaskPos = 6; +const int g_nMaskLen = 3; + +const string g_cHexDbMode = "H"; +const int g_nHexBaseItemTypePos = 9; +const int g_nHexBaseItemTypeLen = 2; +const int g_nHexACBonusPos = 11; +const int g_nHexACBonusLen = 1; +const int g_nHexDelimiterPos = 12; +const int g_nHexModelLen = 2; +const int g_nHexArmorColorLen = 2; +const int g_nHexWeaponColorLen = 1; + +const string g_cDecDbMode = "D"; +const int g_nDecBaseItemTypePos = 9; +const int g_nDecBaseItemTypeLen = 3; +const int g_nDecACBonusPos = 12; +const int g_nDecACBonusLen = 1; +const int g_nDecDelimiterPos = 13; +const int g_nDecModelLen = 3; +const int g_nDecArmorColorLen = 3; +const int g_nDecWeaponColorLen = 2; + + +struct IASTR_FORMAT_DEFINITION +{ + int bUseHexData; + string cDbMode; + int nVersionPos; + int nVersionLen; + int nModModePos; + int nModModeLen; + int nApprTypePos; + int nApprTypeLen; + int nMaskPos; + int nMaskLen; + int nBaseItemTypePos; + int nBaseItemTypeLen; + int nACBonusPos; + int nACBonusLen; + int nDelimiterPos; + + int nModelLen; + int nArmorColorLen; + int nWeaponColorLen; +}; + +struct IASTR_FORMAT_DEFINITION g_iastrFmtDef; + +const int MK_CCOH_DB_HexMode = 1; +const int MK_CCOH_DB_DecMode = 2; + +string MK_CCOH_DB_GetIASStrTypeName(int nModMode, int nApprType) +{ + string s2DAFile = "mk_apprtype_" + Get2DAString("mk_modmode", "TYPE2DA", nModMode); + int nStrRef = StringToInt(Get2DAString(s2DAFile, "StrRef", nApprType)); + return MK_TLK_GetStringByStrRef(nStrRef); +} + +void MK_CCOH_DB_SetValidIASStrTypes(object oPC, int nValidIASStrTypes) +{ + SetLocalInt(oPC, "MK_CCOH_DB_VALID_IASSTR_TYPES", nValidIASStrTypes); +// MK_DEBUG_TRACE("MK_CCOH_DB_SetValidIASStrTypes: "+IntToString(nValidIASStrTypes)); +} + +void MK_CCOH_DB_SetSelectedIASStrTypes(object oPC, int nSelectedIASStrTypes) +{ + SetLocalInt(oPC, "MK_CCOH_DB_SELECTED_IASSTR_TYPES", nSelectedIASStrTypes); +// MK_DEBUG_TRACE("MK_CCOH_DB_SetSelectedIASStrTypes: "+IntToString(nSelectedIASStrTypes)); +} + +int MK_CCOH_DB_GetValidIASStrTypes(object oPC) +{ + return GetLocalInt(oPC, "MK_CCOH_DB_VALID_IASSTR_TYPES"); +} + +int MK_CCOH_DB_GetSelectedIASStrTypes(object oPC) +{ + return GetLocalInt(oPC, "MK_CCOH_DB_SELECTED_IASSTR_TYPES"); +} + +int MK_CCOH_DB_ToggleSelectedIASStrType(object oPC, int nIASStrType) +{ +// MK_DEBUG_TRACE("MK_CCOH_DB_ToggleSelectedIASStrType("+IntToString(nIASStrType)+"):"); + int nSelectedIASStrTypes = MK_CCOH_DB_GetSelectedIASStrTypes(oPC); + int nIASStrTypeFlag = FloatToInt(pow(2.0, IntToFloat(nIASStrType))); +// MK_DEBUG_TRACE(" > nSelectedIASStrTypes="+IntToString(nSelectedIASStrTypes)); +// MK_DEBUG_TRACE(" > nIASStrTypeFlag="+IntToString(nIASStrTypeFlag)); + + if (nSelectedIASStrTypes & nIASStrTypeFlag) + { + nSelectedIASStrTypes = (nSelectedIASStrTypes & ~nIASStrTypeFlag); + } + else + { + nSelectedIASStrTypes = (nSelectedIASStrTypes | nIASStrTypeFlag); + } +// MK_DEBUG_TRACE(" > nSelectedIASStrTypes="+IntToString(nSelectedIASStrTypes)); + + MK_CCOH_DB_SetSelectedIASStrTypes(oPC, nSelectedIASStrTypes); + return nSelectedIASStrTypes; +} + +int MK_CCOH_DB_GetUseLocalDb(object oPC) +{ + return (MK_CCOH_DB_GetDatabaseName(oPC) == ""); +} + +string MK_CCOH_DB_GetDatabaseName(object oPC) +{ + return GetLocalString(oPC, MK_CCOH_DB_DATABASE); +} + +void MK_CCOH_DB_SetDatabaseName(object oPC, string sDatabaseName) +{ + SetLocalString(oPC, MK_CCOH_DB_DATABASE, sDatabaseName); + g_bCCOH_DB_UseLocalDb = MK_CCOH_DB_GetUseLocalDb(oPC); +} + +void MK_CCOH_DB_SetReadWriteMode(object oPC, int nMode) +{ + SetLocalInt(oPC, MK_CCOH_DB_READWRITE, nMode); +} + +int MK_CCOH_DB_GetReadWriteMode(object oPC) +{ + return GetLocalInt(oPC, MK_CCOH_DB_READWRITE); +} + +string MK_CCOH_DB_GetString(object oPC, string sVarName) +{ + string s=""; + if (g_bCCOH_DB_UseLocalDb) + { + s = GetLocalString(oPC, sVarName); + } + else + { + s = GetCampaignString(MK_CCOH_DB_GetDatabaseName(oPC), + sVarName); + } + return s; +} + +void MK_CCOH_DB_SetString(object oPC, string sVarName, string sValue) +{ + if (g_bCCOH_DB_UseLocalDb) + { +// MK_DEBUG_TRACE("MK_CCOH_DB_SetString(LOCAL, "+GetName(oPC)+", '"+sVarName+"', '"+sValue+"')"); + SetLocalString(oPC, sVarName, sValue); + } + else + { +// MK_DEBUG_TRACE("MK_CCOH_DB_SetString(GLOBAL, "+GetName(oPC)+", '"+sVarName+"', '"+sValue+"')"); + SetCampaignString(MK_CCOH_DB_GetDatabaseName(oPC), + sVarName, sValue); + } +} + +string MK_CCOH_DB_GetSlotData(object oPC, int iSlot) +{ + string sVarName = MK_CCOH_DB_GetVarName(oPC, iSlot); + string sSlotData = MK_CCOH_DB_GetString(oPC, sVarName+"D"); + MK_DEBUG_TRACE("MK_CCOH_DB_GetSlotData("+GetName(oPC)+", "+IntToString(iSlot)+")='"+sSlotData+"'"); + return sSlotData; +} + +string MK_CCOH_DB_GetSlotName(object oPC, int iSlot) +{ + string sVarName = MK_CCOH_DB_GetVarName(oPC, iSlot); + return MK_CCOH_DB_GetString(oPC, sVarName+"N"); +} + +void MK_CCOH_DB_SetSlotData(object oPC, int iSlot, string sIAStr) +{ + string sVarName = MK_CCOH_DB_GetVarName(oPC, iSlot); + MK_DEBUG_TRACE("MK_CCOH_DB_SetSlotData("+GetName(oPC)+", "+IntToString(iSlot)+", '"+sIAStr+"')"); + MK_CCOH_DB_SetString(oPC, sVarName+"D", sIAStr); +} + +void MK_CCOH_DB_SetSlotName(object oPC, int iSlot, string sName) +{ + string sVarName = MK_CCOH_DB_GetVarName(oPC, iSlot); + MK_CCOH_DB_SetString(oPC, sVarName+"N", sName); +} + +int MK_CCOH_DB_GetIsSlotUsed(object oPC, int iSlot) +{ + return (MK_CCOH_DB_GetSlotData(oPC, iSlot)!=""); +} + +int MK_CCOH_DB_GetIsSlotValid(object oPC, int iSlot, object oItem) +{ +// string sVarName = MK_CCOH_DB_GetVarName(iSlot); + string sIAStr = MK_CCOH_DB_GetSlotData(oPC, iSlot); +// MK_DEBUG_TRACE("MK_CCOH_DB_GetSLotData("+GetName(oPC)+", iSlot="+IntToString(iSlot)+ +// ", '"+GetName(oItem)+"')="+sIAStr); + if (sIAStr=="") + { + return FALSE; + } + if (!MK_CCOH_DB_GetIsIAStrValid(sIAStr)) + { +// MK_DEBUG_TRACE("MK_CCOH_DB_GetIsSlotValid(): sIAstr is invalid!"); + return FALSE; + } + if (GetIsObjectValid(oItem)) + { + if (!MK_CCOH_DB_GetIsItemAppearance(sIAStr)) + { + return FALSE; + } + int nBaseItemType = MK_CCOH_DB_GetBaseItemTypeFromIAStr(sIAStr); + if (nBaseItemType != GetBaseItemType(oItem)) + { +// MK_DEBUG_TRACE("MK_CCOH_DB_GetIsSlotValid(): base item types do not match ("+ +// IntToString(nBaseItemType)+" != "+IntToString(GetBaseItemType(oItem))+")"); + return FALSE; + } + } + else + { + if (!MK_CCOH_DB_GetIsBodyAppearance(sIAStr)) + { + return FALSE; + } + } + return TRUE; +} + +void MK_CCOH_DB_DeleteSlot(object oPC, int iSlot) +{ + MK_CCOH_DB_SetSlotName(oPC, iSlot, ""); + MK_CCOH_DB_SetSlotData(oPC, iSlot, ""); +} + + +int MK_CCOH_DB_GetApprTypesFromIAStr(string sIAStr) +{ + return MK_CCOH_DB_StringToInt(sIAStr, + g_iastrFmtDef.nMaskPos, + g_iastrFmtDef.nMaskLen); +} + +int MK_CCOH_DB_GetModModeFromIAStr(string sIAStr) +{ +// MK_DEBUG_TRACE("MK_CCOH_DB_GetModModeFromIAStr("+sIAStr+"):"); +// MK_DEBUG_TRACE("> nModModPod="+IntToString(g_iastrFmtDef.nModModePos) +// +", nModModeLen="+IntToString(g_iastrFmtDef.nModModeLen)); +// MK_DEBUG_TRACE("> SubStr='"+GetSubString(sIAStr, g_iastrFmtDef.nModModePos, g_iastrFmtDef.nModModeLen)+"'"); + return MK_CCOH_DB_StringToInt(sIAStr, + g_iastrFmtDef.nModModePos, + g_iastrFmtDef.nModModeLen); +} + +string MK_CCOH_DB_GetDescriptionFromIAStr(string sIAStr) +{ +// MK_DEBUG_TRACE("MK_CCOH_DB_GetDescriptionFromIAStr("+sIAStr+")"); + + string sDescription=""; + int nModMode = MK_CCOH_DB_GetModModeFromIAStr(sIAStr); + + string s2DAFile = "mk_apprtype_" + Get2DAString("mk_modmode", "TYPE2DA", nModMode); + int nCount = MK_Get2DAInt("mk_modmode", "TYPECOUNT", nModMode, 0); + int nApprTypes = MK_CCOH_DB_GetApprTypesFromIAStr(sIAStr); + +// MK_DEBUG_TRACE("> nModMode="+IntToString(nModMode)+", s2DAFile='"+s2DAFile+"', nCount="+IntToString(nCount)+", nApprTypes="+IntToString(nApprTypes)); + + int iApprType; + int nFlag=1; + for (iApprType=1; iApprType<=nCount; iApprType++) + { + if (nApprTypes & nFlag) + { + sDescription += Get2DAString(s2DAFile, "Token", iApprType); + } + nFlag*=2; + } +// MK_DEBUG_TRACE("> sDescription='"+sDescription+"'"); + return sDescription; +} + +string MK_CCOH_DB_CreateSlotName(object oPC, int iSlot, int bAppendApprType) +{ +// string sVarName = MK_CCOH_DB_GetVarName(iSlot); + +// string sSlotName = "Slot "+MK_IntToString(iSlot, 2, " ")+": "; + string sSlotName=""; + + string sName=MK_CCOH_DB_GetSlotName(oPC, iSlot); + string sData=MK_CCOH_DB_GetSlotData(oPC, iSlot); + + int bItemAppr = MK_CCOH_DB_GetIsItemAppearance(sData); + int bBodyAppr = MK_CCOH_DB_GetIsBodyAppearance(sData); + + if (sData == "") + { + sSlotName += ""; + } + else if (sName!="") + { + sSlotName += sName; + } + else if (bItemAppr) + { + int nBaseItemType = MK_CCOH_DB_GetBaseItemTypeFromIAStr(sData); + int nACBonus = MK_CCOH_DB_GetACBonusFromIAStr(sData); + string sItem = Get2DAString("baseitems", "Name", nBaseItemType); + if (nBaseItemType == 16) + { + sItem += (" (AC="+IntToString(nACBonus)+")"); + } + sSlotName += ("Unknown "+sItem); + } + else if (bBodyAppr) + { + sSlotName = "Body Appearance"; + } + + + if ((sData!="") && bAppendApprType) + { + sSlotName += ( " ("+MK_CCOH_DB_GetDescriptionFromIAStr(sData)+")"); + } + + return sSlotName; +} + +void MK_CCOH_DB_SetCurrentSlot(object oPC, int nSlot) +{ + SetLocalInt(oPC, MK_CCOH_DB_CURRENT_SLOTNR, nSlot); +} + +void MK_CCOH_DB_SetCurrentSlotName(object oPC, string sSlotName) +{ + SetLocalString(oPC, MK_CCOH_DB_CURRENT_SLOTNAME, sSlotName); +} + +void MK_CCOH_DB_DeleteCurrentSlot(object oPC) +{ + int nSlot = MK_CCOH_DB_GetCurrentSlot(oPC); + MK_CCOH_DB_DeleteSlot(oPC, nSlot); + MK_CCOH_DB_SetCurrentSlot(oPC, -1); + MK_CCOH_DB_SetCurrentSlotName(oPC, ""); +} + +int MK_CCOH_DB_GetCurrentSlot(object oPC) +{ + return GetLocalInt(oPC, MK_CCOH_DB_CURRENT_SLOTNR); +} + +string MK_CCOH_DB_GetCurrentSlotName(object oPC) +{ + return GetLocalString(oPC, MK_CCOH_DB_CURRENT_SLOTNAME); +} + +void MK_CCOH_DB_SetCurrentAppearanceType(object oPC, int nAppearanceType) +{ + SetLocalInt(oPC, MK_CCOH_DB_CURRENT_APPRTYPE, nAppearanceType); +} + +int MK_CCOH_DB_GetCurrentAppearanceType(object oPC) +{ + return GetLocalInt(oPC, MK_CCOH_DB_CURRENT_APPRTYPE); +} + +struct IASTR_FORMAT_DEFINITION MK_CCOH_DB_SetDbMode(int nDbMode) +{ + struct IASTR_FORMAT_DEFINITION iastrFmtDef; + iastrFmtDef.nVersionPos = g_nVersionPos; + iastrFmtDef.nVersionLen = g_nVersionLen; + iastrFmtDef.nApprTypePos = g_nApprTypePos; + iastrFmtDef.nApprTypeLen = g_nApprTypeLen; + iastrFmtDef.nModModePos = g_nModModePos; + iastrFmtDef.nModModeLen = g_nModModeLen; + iastrFmtDef.nMaskPos = g_nMaskPos; + iastrFmtDef.nMaskLen = g_nMaskLen; + + if (nDbMode == MK_CCOH_DB_HexMode) + { + iastrFmtDef.bUseHexData = TRUE; + iastrFmtDef.cDbMode = g_cHexDbMode; + iastrFmtDef.nBaseItemTypePos = g_nHexBaseItemTypePos; + iastrFmtDef.nBaseItemTypeLen = g_nHexBaseItemTypeLen; + iastrFmtDef.nACBonusPos = g_nHexACBonusPos; + iastrFmtDef.nACBonusLen = g_nHexACBonusLen; + iastrFmtDef.nDelimiterPos = g_nHexDelimiterPos; + iastrFmtDef.nModelLen = g_nHexModelLen; + iastrFmtDef.nArmorColorLen = g_nHexArmorColorLen; + iastrFmtDef.nWeaponColorLen = g_nHexWeaponColorLen; + int nColorLen; + } + else if (nDbMode == MK_CCOH_DB_DecMode) + { + iastrFmtDef.bUseHexData = FALSE; + iastrFmtDef.cDbMode = g_cDecDbMode; + iastrFmtDef.nBaseItemTypePos = g_nDecBaseItemTypePos; + iastrFmtDef.nBaseItemTypeLen = g_nDecBaseItemTypeLen; + iastrFmtDef.nACBonusPos = g_nDecACBonusPos; + iastrFmtDef.nACBonusLen = g_nDecACBonusLen; + iastrFmtDef.nDelimiterPos = g_nDecDelimiterPos; + iastrFmtDef.nModelLen = g_nDecModelLen; + iastrFmtDef.nArmorColorLen = g_nDecArmorColorLen; + iastrFmtDef.nWeaponColorLen = g_nDecWeaponColorLen; + } + return iastrFmtDef; +} + + +string MK_CCOH_DB_IntToHexString(int nInteger, int nLen) +{ + string sHex = IntToHexString(nInteger); + if (nLen<=8) + return GetStringRight(sHex, nLen); + return GetStringRight(sHex,8); +} + +string MK_CCOH_DB_IntToString(int nValue, int nLen) +{ + if (g_iastrFmtDef.bUseHexData) + { + return MK_CCOH_DB_IntToHexString(nValue, nLen); + } + else + { + if (nValue==-1) nValue = 255; + return MK_IntToString(nValue, nLen, "0"); + } +} + +string MK_CCOH_DB_FloatToString(float fValue, int nWidth, int nDecimals) +{ + return FloatToString(fValue, nWidth, nDecimals); +} + +int MK_CCOH_DB_StringToInt(string s, int nPos, int nLen) +{ + if (nLen==-1) + { + nLen = (GetStringLength(s)-nPos); + } + if (g_iastrFmtDef.bUseHexData) + { + return MK_HEX_HexStringToInt(GetSubString(s, nPos, nLen)); + } + else + { + return StringToInt(GetSubString(s, nPos, nLen)); + } +} + +float MK_CCOH_DB_StringToFloat(string s, int nPos, int nLen) +{ + if (nLen==-1) + { + nLen = (GetStringLength(s)-nPos); + } + return StringToFloat(GetSubString(s, nPos, nLen)); +} + + +int MK_CCOH_DB_GetACBonus(object oItem) +{ + int nACBonus = 0; + if (GetIsObjectValid(oItem)) + { + if (GetBaseItemType(oItem)==BASE_ITEM_ARMOR) + { + int nTorso = GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_MODEL, + ITEM_APPR_ARMOR_MODEL_TORSO); + string sACBonus = Get2DAString("parts_chest", "ACBONUS", nTorso); + nACBonus = FloatToInt(StringToFloat(sACBonus)); + } + } + return nACBonus; +} + +string MK_CCOH_DB_ItemColorToIASStr(object oItem) +{ + int nType = GetBaseItemType(oItem); + string sResult="C"; + int nItemAppearance; + int iColor; + int iPart; + switch (nType) + { + case BASE_ITEM_ARMOR: + case BASE_ITEM_CLOAK: + case BASE_ITEM_HELMET: + for (iColor=0; iColor Header='"+sResult+"'"); + int iBodyPart; + int nBit=1; + for (iBodyPart=1; iBodyPart<=MK_CRAFTBODY_NUMBER_OF_BODYPARTS; iBodyPart++) + { +// MK_DEBUG_TRACE(" > iBodyPart="+IntToString(iBodyPart)+", nBit="+IntToString(nBit)); + if (nMask & nBit) + { + sResult += (MK_CCOH_DB_BodyAppearanceToIASStr(oCreature, iBodyPart)); +// MK_DEBUG_TRACE(" > sResult='"+sResult+"'"); + } + nBit *= 2; + } + } + return sResult; +} + +int MK_CCOH_DB_ItemToModMode(object oItem) +{ + int nModMode = X2_CI_MODMODE_INVALID; + int nBaseItemType = GetBaseItemType(oItem); + switch (nBaseItemType) + { + case BASE_ITEM_ARMOR: + nModMode = X2_CI_MODMODE_ARMOR; + break; + case BASE_ITEM_CLOAK: + nModMode = MK_CI_MODMODE_CLOAK; + break; + case BASE_ITEM_HELMET: + nModMode = MK_CI_MODMODE_HELMET; + break; + case BASE_ITEM_BASTARDSWORD: + case BASE_ITEM_BATTLEAXE: + case BASE_ITEM_CLUB: + case BASE_ITEM_DAGGER: + case BASE_ITEM_DIREMACE: + case BASE_ITEM_DOUBLEAXE: + case BASE_ITEM_DWARVENWARAXE: + case BASE_ITEM_GREATAXE: + case BASE_ITEM_GREATSWORD: + case BASE_ITEM_HALBERD: + case BASE_ITEM_HANDAXE: + case BASE_ITEM_HEAVYCROSSBOW: + case BASE_ITEM_HEAVYFLAIL: + case BASE_ITEM_KAMA: + case BASE_ITEM_KATANA: + case BASE_ITEM_KUKRI: + case BASE_ITEM_LIGHTCROSSBOW: + case BASE_ITEM_LIGHTFLAIL: + case BASE_ITEM_LIGHTHAMMER: + case BASE_ITEM_LIGHTMACE: + case BASE_ITEM_LONGBOW: + case BASE_ITEM_LONGSWORD: + case BASE_ITEM_MORNINGSTAR: + case BASE_ITEM_QUARTERSTAFF: + case BASE_ITEM_RAPIER: + case BASE_ITEM_SCIMITAR: + case BASE_ITEM_SCYTHE: + case BASE_ITEM_SHORTBOW: + case BASE_ITEM_SHORTSPEAR: + case BASE_ITEM_SHORTSWORD: + case BASE_ITEM_SICKLE: + case BASE_ITEM_SLING: + case BASE_ITEM_TRIDENT: + case BASE_ITEM_TWOBLADEDSWORD: + case BASE_ITEM_WARHAMMER: + nModMode = X2_CI_MODMODE_WEAPON; + break; + case BASE_ITEM_LARGESHIELD: + case BASE_ITEM_SMALLSHIELD: + case BASE_ITEM_TOWERSHIELD: + nModMode = MK_CI_MODMODE_SHIELD; + break; + } + return nModMode; +} + +string MK_CCOH_DB_ItemAppearanceToIAStr(object oItem, int nMask) +{ + string sResult = ""; + if (GetIsObjectValid(oItem)) + { + sResult = MK_CCOH_DB_CreateHeader(MK_CCOH_DB_ItemToModMode(oItem), oItem, nMask); +/* int nType = GetBaseItemType(oItem); + int nACBonus = MK_CCOH_DB_GetACBonus(oItem); + + + sResult = g_iastrFmtDef.cDbMode + + MK_CCOH_DB_IntToString(g_nCCOH_DB_DbVersion, g_iastrFmtDef.nVersionLen) + + "I"+ + MK_CCOH_DB_IntToString(nMask, g_iastrFmtDef.nItemApprTypeLen); + + + sResult += (MK_CCOH_DB_IntToString(nType, g_iastrFmtDef.nBaseItemTypeLen) + + MK_CCOH_DB_IntToString(nACBonus, g_iastrFmtDef.nACBonusLen) + + "!"); +*/ + if (nMask & MK_CCOH_DB_ITEM_APPR_MODEL) + { + sResult += (MK_CCOH_DB_ItemModelToIASStr(oItem) + "!"); + } + if (nMask & MK_CCOH_DB_ITEM_APPR_COLOR) + { + sResult += (MK_CCOH_DB_ItemColorToIASStr(oItem) + "!"); + } + } + return sResult; +} + +string MK_CCOH_DB_GetVarName(object oPC, int nSlot) +{ + string sPrefix = ""; + if (!g_bCCOH_DB_UseLocalDb) + { + sPrefix = GetPCPublicCDKey(oPC, FALSE); +// MK_DEBUG_TRACE("MK_CCOH_DB_GetVarName: cdkey for '"+GetName(oPC)+"' is: "+sPrefix); + } + if (g_iastrFmtDef.bUseHexData) + { + return sPrefix+"MK_CCOH_IA_DB_"+MK_CCOH_DB_IntToHexString(nSlot,4); + } + else + { + return sPrefix+"MK_CCOH_IA_DB_"+MK_IntToString(nSlot,4, "0"); + } +} + +int MK_CCOH_DB_WriteBodyAppearanceToDatabase(object oPC, object oCreature, int nSlot, int nMask, string sName) +{ + if (!GetIsObjectValid(oPC)) return FALSE; + if (GetIsObjectValid(oCreature)) + { + MK_CCOH_DB_SetSlotData(oPC, nSlot, MK_CCOH_DB_BodyAppearanceToIAStr(oCreature, nMask)); + MK_CCOH_DB_SetSlotName(oPC, nSlot, sName); + } + else + { + MK_CCOH_DB_SetSlotData(oPC, nSlot, ""); + MK_CCOH_DB_SetSlotName(oPC, nSlot, ""); + } + return TRUE; +} + +int MK_CCOH_DB_WriteItemAppearanceToDatabase(object oPC, object oItem, int nSlot, int nMask, string sName) +{ + if (!GetIsObjectValid(oPC)) return FALSE; +// string sVarName= MK_CCOH_DB_GetVarName(nSlot); + if (GetIsObjectValid(oItem)) + { +// MK_DEBUG_TRACE("MK_CCOH_DB_WriteToDatabase("+GetName(oPC)+", "+GetName(oItem)+", slot="+IntToString(nSlot)+ +// ", nMark="+IntToString(nMask)+", sName='"+sName+"')"); + MK_CCOH_DB_SetSlotData(oPC, nSlot, MK_CCOH_DB_ItemAppearanceToIAStr(oItem, nMask)); + MK_CCOH_DB_SetSlotName(oPC, nSlot, sName); + } + else + { +// MK_DEBUG_TRACE("MK_CCOH_DB_WriteToDatabase("+GetName(oPC)+", '', slot="+IntToString(nSlot)+ +// ", nMark="+IntToString(nMask)+", sName='"+sName+"')"); + MK_CCOH_DB_SetSlotData(oPC, nSlot, ""); + MK_CCOH_DB_SetSlotName(oPC, nSlot, ""); + } + return TRUE; +} + +int MK_CCOH_DB_ReadBodyAppearanceFromDatabase(object oPC, object oCreature, int nSlot, int nMask) +{ +// MK_DEBUG_TRACE("MK_CCOH_DB_ReadFromDatabase('"+GetName(oPC)+"', '"+GetName(oItem)+"', nSlot=" +// +IntToString(nSlot)+", nMask="+IntToString(nMask)+")"); + if (!GetIsObjectValid(oPC)) return FALSE; + if (!GetIsObjectValid(oCreature)) return FALSE; + + string sIAStr = MK_CCOH_DB_GetSlotData(oPC, nSlot); + + float fDelay = GetLocalFloat(oPC, "MK_RESTOREBODY_DELAY"); + + return MK_CCOH_DB_IAStrToBodyAppearance(oCreature, sIAStr, nMask, fDelay); +} + +object MK_CCOH_DB_ReadItemAppearanceFromDatabase(object oPC, object oItem, int nSlot, int nMask) +{ +// MK_DEBUG_TRACE("MK_CCOH_DB_ReadFromDatabase('"+GetName(oPC)+"', '"+GetName(oItem)+"', nSlot=" +// +IntToString(nSlot)+", nMask="+IntToString(nMask)+")"); + if (!GetIsObjectValid(oPC)) return OBJECT_INVALID; + if (!GetIsObjectValid(oItem)) return OBJECT_INVALID; + + string sIAStr = MK_CCOH_DB_GetSlotData(oPC, nSlot); + + return MK_CCOH_DB_IAStrToItemAppearance(oItem, sIAStr, nMask); +} + +int MK_CCOH_DB_GetIsIAStrValid(string sIAStr) +{ + string s = GetStringLeft(sIAStr, 1); + if ((s!=g_cHexDbMode) && (s!=g_cDecDbMode)) + { +// MK_DEBUG_TRACE("MK_CCOH_DB_GetIsIAStrValid: s='"+s+"' != '"+g_cHexDbMode+"'/'"+g_cDecDbMode+"'"); + return FALSE; + } + if (GetSubString(sIAStr, g_iastrFmtDef.nDelimiterPos, 1) != "!") + { +// MK_DEBUG_TRACE("MK_CCOH_DB_GetIsIAStrValid: d='"+GetSubString(sIAStr, g_iastrFmtDef.nDelimiterPos, 1)+"' != '!'"); + return FALSE; + } + return TRUE; +} + +int MK_CCOH_DB_GetIsItemAppearance(string sIAStr) +{ + return (GetSubString(sIAStr, g_iastrFmtDef.nApprTypePos, g_iastrFmtDef.nApprTypeLen) == "I"); +} + +int MK_CCOH_DB_GetIsBodyAppearance(string sIAStr) +{ + return (GetSubString(sIAStr, g_iastrFmtDef.nApprTypePos, g_iastrFmtDef.nApprTypeLen) == "B"); +} + +int MK_CCOH_DB_GetBaseItemTypeFromIAStr(string sIAStr) +{ + return MK_CCOH_DB_StringToInt(sIAStr, g_iastrFmtDef.nBaseItemTypePos, g_iastrFmtDef.nBaseItemTypeLen); +} + +int MK_CCOH_DB_GetACBonusFromIAStr(string sIAStr) +{ + return MK_CCOH_DB_StringToInt(sIAStr, g_iastrFmtDef.nACBonusPos, g_iastrFmtDef.nACBonusLen); +} + +int MK_CCOH_DB_GetVersionFromIAStr(string sIAStr) +{ + return MK_CCOH_DB_StringToInt(sIAStr,g_iastrFmtDef.nVersionPos,g_iastrFmtDef.nVersionLen); +} + +string MK_CCOH_DB_GetNextIASStr(string sIAStr, int iStart) +{ + int iEnd=iStart; + int nLen = GetStringLength(sIAStr); + while (GetSubString(sIAStr,iEnd,1)!="!") + { + iEnd++; +// MK_DEBUG_TRACE("> iEnd="+IntToString(iEnd)+", c="+GetSubString(sIAStr,iEnd,1) +// +", nLen="+IntToString(nLen)); + if (iEnd>=nLen) + { + return ""; + } + } + return GetSubString(sIAStr, iStart, iEnd-iStart+1); +} + +int MK_CCOH_DB_ReadDbMode(string sIAStr) +{ + string c = GetStringLeft(sIAStr,1); + if (c == g_cHexDbMode) + { + g_iastrFmtDef = MK_CCOH_DB_SetDbMode(MK_CCOH_DB_HexMode); + return TRUE; + } + else if (c == g_cDecDbMode) + { + g_iastrFmtDef = MK_CCOH_DB_SetDbMode(MK_CCOH_DB_DecMode); + return TRUE; + } + return FALSE; +} + +int MK_CCOH_DB_IAStrToBodyAppearance(object oCreature, string sIAStr, int nMask, float fDelay) +{ + int nReturn=TRUE; + +// MK_DEBUG_TRACE("MK_CCOH_DB_IAStrToBodyAppearance('"+GetName(oCreature)+"', '"+sIAStr+"', nMask="+IntToString(nMask)+")"); + if (!GetIsObjectValid(oCreature)) + { +// MK_DEBUG_TRACE("MK_CCOH_DB_IAStrToItemAppearance: creature is invalid"); + return FALSE; + } + if (!MK_CCOH_DB_ReadDbMode(sIAStr)) + { +// MK_DEBUG_TRACE("MK_CCOH_DB_IAStrToItemAppearance: MK_CCOH_DB_ReadDbMode returns FALSE"); + return FALSE; + } + if (!MK_CCOH_DB_GetIsBodyAppearance(sIAStr)) + { + return FALSE; + } + + string sIASStr; + int nLen = GetStringLength(sIAStr); + int iPos = g_iastrFmtDef.nDelimiterPos+1; + int nCount = 0; + do + { + sIASStr = MK_CCOH_DB_GetNextIASStr(sIAStr, iPos); + iPos+=GetStringLength(sIASStr); + +// MK_DEBUG_TRACE("> iPos="+IntToString(iPos)+", sIASStr("+IntToString(nCount)+")='"+sIASStr+"'"); + + if (sIASStr!="") + { + // int nBodyPart = MK_CCOH_DB_IntToString(sIASStr, 0, 2); + nReturn = MK_CCOH_DB_IASStrToBodyPart(oCreature, sIASStr); + } + nCount++; + + } while ((sIASStr!="") && (iPos iPos="+IntToString(iPos)+", sIASStr("+IntToString(nCount)+")='"+sIASStr+"'"); + + if (sIASStr!="") + { + string c = GetStringLeft(sIASStr,1); + if ((c=="M") && (nMask & MK_CCOH_DB_ITEM_APPR_MODEL)) + { + SendMessageToPC(GetPCSpeaker(), "Reading model..."); + oItemQ = MK_CCOH_DB_IASStrToItemModel(oItemQ, sIASStr); + if (!GetIsObjectValid(oItemQ)) + { + SendMessageToPC(GetPCSpeaker(), + "Failed to read model from database!"); + } + } + else if ((c=="C") && (nMask & MK_CCOH_DB_ITEM_APPR_COLOR)) + { + SendMessageToPC(GetPCSpeaker(), "Reading color..."); + oItemQ = MK_CCOH_DB_IASStrToItemColor(oItemQ, sIASStr); + if (!GetIsObjectValid(oItemQ)) + { + SendMessageToPC(GetPCSpeaker(), + "Failed to read color from database!"); + } + } + } + nCount++; + + } while ((sIASStr!="") && (iPos nBaseItemType="+IntToString(nBaseItemType)); + int nPropColumn = MK_Get2DAInt("baseitems", "PropColumn", nBaseItemType, -1); + if (nPropColumn!=-1) + { + MK_CHEATS_DEBUG_TRACE(" > nPropColumn="+IntToString(nPropColumn)); + string sPropColumn = Get2DAString("mk_iprp_cols", "Column", nPropColumn); + if (sPropColumn!="") + { + MK_CHEATS_DEBUG_TRACE(" > sPropColumn='"+sPropColumn+"'"); + SetLocalString(oPC, "MK_CHEATS_CURRENT_PROPCOL", sPropColumn); +// SetLocalObject(oPC, "MK_CHEATS_CURRENT_ITEM", oItem); + MK_CHEATS_InitializeItemAdditionalCostCalculation(oItem); + + CISetCurrentModMode(oPC, MK_CI_MODMODE_ITEM); + MK_StartModifyItem(oPC, oItem, FALSE, FALSE); + + MK_CHEATS_SetCurrentItemPropertyID(-1); + MK_CHEATS_SetCurrentItemPropertySubType(-1); + MK_CHEATS_SetCurrentItemPropertyCostTableValue(-1); + + bReturn = TRUE; + } + } + } + break; + } + default: + CISetCurrentModItem(oPC, oItem); +// SetLocalObject(OBJECT_SELF, "MK_CHEATS_CURRENT_ITEM", oItem); + bReturn = TRUE; + } + } + else + { + DeleteLocalString(OBJECT_SELF, "MK_CHEATS_CURRENT_PROPCOL"); +// DeleteLocalObject(OBJECT_SELF, "MK_CHEATS_CURRENT_ITEM"); + DeleteLocalInt(OBJECT_SELF, "MK_CHEATS_CURRENT_ADDITIONAL_COST"); + DeleteLocalInt(OBJECT_SELF, "MK_CHEATS_CURRENT_IPROPID"); + DeleteLocalInt(OBJECT_SELF, "MK_CHEATS_CURRENT_IPROP_SUBTYPE"); + DeleteLocalInt(OBJECT_SELF, "MK_CHEATS_CURRENT_IPROP_COSTTABLEVALUE"); + CISetCurrentModItem(oPC, OBJECT_INVALID); + CISetCurrentModBackup(oPC, OBJECT_INVALID); + CISetCurrentModMode(oPC, 0); + } + return bReturn; +} + +object MK_CHEATS_GetCurrentItem() +{ + return CIGetCurrentModItem(GetPCSpeaker()); +} + +string MK_CHEATS_GetCurrentItemName(string sDefault) +{ + string sName=sDefault; + object oItem = MK_CHEATS_GetCurrentItem(); + if (GetIsObjectValid(oItem)) + { + sName = GetName(oItem); + } + return sName; +} + +int MK_CHEATS_CalculateCurrentItemAdditionalCost() +{ + int bReturn = FALSE; + object oTempCopy = GetLocalObject(OBJECT_SELF, "MK_CHEATS_CURRENT_ITEM_TEMPCOPY"); + if (GetIsObjectValid(oTempCopy)) + { +// MK_CHEATS_DEBUG_TRACE("MK_CHEATS_CalculateCurrentItemAdditionalCost: stackSize="+IntToString(GetItemStackSize(oTempCopy))); + SetItemStackSize(oTempCopy, 1); +// MK_CHEATS_DEBUG_TRACE("MK_CHEATS_CalculateCurrentItemAdditionalCost: stackSize="+IntToString(GetItemStackSize(oTempCopy))); + + int nAdditionalCost = MK_IPRP_GetItemAdditionalCostValue(oTempCopy); + + DeleteLocalObject(OBJECT_SELF, "MK_CHEATS_CURRENT_ITEM_TEMPCOPY"); + DestroyObject(oTempCopy); + + if (nAdditionalCost!=-1) + { + bReturn = TRUE; + MK_CHEATS_DEBUG_TRACE("Item Additional Cost Calculation successful!"); + } + else + { + MK_CHEATS_DEBUG_TRACE("Falied to calculate Item Additional Cost!"); + } + SetLocalInt(OBJECT_SELF, "MK_CHEATS_CURRENT_ADDITIONAL_COST", MK_MATH_MaxInt(nAdditionalCost,0)); + } + return bReturn; +} + +int MK_CHEATS_GetCurrentItemAdditionalCost() +{ + return GetLocalInt(OBJECT_SELF, "MK_CHEATS_CURRENT_ADDITIONAL_COST"); +} + +int MK_CHEATS_GetCurrentGoldPieceValue() +{ + return MK_IPRP_GetGoldPieceValue(MK_CHEATS_GetCurrentItem()); +} + +int MK_CHEATS_CalculateCurrentGoldPieceValue() +{ + MK_CHEATS_DEBUG_TRACE("MK_CHEATS_CalculateCurrentGoldPieceValue()"); + int nItemValue=-1; + int nAdditionalCost = MK_CHEATS_GetCurrentItemAdditionalCost(); + MK_CHEATS_DEBUG_TRACE(" > nAdditionalCost="+IntToString(nAdditionalCost)); + if (nAdditionalCost == -1) + { + nItemValue = MK_CHEATS_GetCurrentGoldPieceValue(); + } + else + { + nItemValue = MK_IPRP_CalculateGoldPieceValue(MK_CHEATS_GetCurrentItem(), nAdditionalCost); + } + MK_CHEATS_DEBUG_TRACE(" > nItemValue="+IntToString(nItemValue)); + return nItemValue; +} + +string MK_CHEATS_GetCurrentGoldPieceValueAsString(string sDefault) +{ + string sItemValue = sDefault; + object oItem = MK_CHEATS_GetCurrentItem(); + if (GetIsObjectValid(oItem)) + { + int nValue1 = MK_CHEATS_CalculateCurrentGoldPieceValue(); + int nValue2 = MK_CHEATS_GetCurrentGoldPieceValue(); + sItemValue = IntToString(nValue1) + " (" + IntToString(nValue2) +")"; + } + return sItemValue; +} + +string MK_CHEATS_GetCurrentItemPropertyName(string sDefault) +{ + string sItemPropertyName = sDefault; + if (GetIsObjectValid(MK_CHEATS_GetCurrentItem())) + { + int nType = MK_CHEATS_GetCurrentItemPropertyID(); + int nSubType = MK_CHEATS_GetCurrentItemPropertySubType(); + int nCostTableValue = MK_CHEATS_GetCurrentItemPropertyCostTableValue(); + sItemPropertyName = MK_IPRP_GetItemPropertyNameByID(nType, nSubType, nCostTableValue); +// MK_CHEATS_DEBUG_TRACE("MK_CHEATS_GetCurrentItemPropertyName(): nType="+IntToString(nType) +// +", nSubType="+IntToString(nSubType) +// +", nCostTableValue="+IntToString(nCostTableValue) +// +", name='"+sItemPropertyName+"'"); + } + return sItemPropertyName; +} + +string MK_CHEATS_GetCurrentPropColumn() +{ + return GetLocalString(OBJECT_SELF, "MK_CHEATS_CURRENT_PROPCOL"); +} + +void MK_CHEATS_SetCurrentItemPropertyID(int nIPropID) +{ + SetLocalInt(OBJECT_SELF, "MK_CHEATS_CURRENT_IPROPID", nIPropID); +} + +int MK_CHEATS_GetCurrentItemPropertyID() +{ + return GetLocalInt(OBJECT_SELF, "MK_CHEATS_CURRENT_IPROPID"); +} + +string MK_CHEATS_GetCurrentItemPropertyTypeName() +{ + string sIPropName=""; + int nIPropID = MK_CHEATS_GetCurrentItemPropertyID(); + if (nIPropID!=-1) + { + int nStrRef = MK_Get2DAInt("itempropdef", "Name", nIPropID, 0); + sIPropName = GetStringByStrRef(nStrRef, GetGender(OBJECT_SELF)); + } + return sIPropName; +} + +string MK_CHEATS_GetCurrentItemPropertyGameName() +{ + string sIPropName=""; + int nIPropID = MK_CHEATS_GetCurrentItemPropertyID(); + if (nIPropID!=-1) + { + int nStrRef = MK_Get2DAInt("itempropdef", "GameStrRef", nIPropID, 0); + sIPropName = GetStringByStrRef(nStrRef, GetGender(OBJECT_SELF)); + } + return sIPropName; +} + +string MK_CHEATS_GetCurrentSubTypeResRef() +{ + string sSubTypeResRef=""; + int nIPropID = MK_CHEATS_GetCurrentItemPropertyID(); + if (nIPropID!=-1) + { + sSubTypeResRef= Get2DAString("itempropdef", "SubTypeResRef", nIPropID); + } + return sSubTypeResRef; +} + +void MK_CHEATS_SetCurrentItemPropertySubType(int nSubType) +{ + SetLocalInt(OBJECT_SELF, "MK_CHEATS_CURRENT_IPROP_SUBTYPE", nSubType); +} + +int MK_CHEATS_GetCurrentItemPropertySubType() +{ + return GetLocalInt(OBJECT_SELF, "MK_CHEATS_CURRENT_IPROP_SUBTYPE"); +} + +string MK_CHEATS_GetCurrentItemPropertySubTypeName() +{ + string sSubTypeName=""; + int nSubType = MK_CHEATS_GetCurrentItemPropertySubType(); + + if (nSubType!=-1) + { + string sSubTypeResRef = MK_CHEATS_GetCurrentSubTypeResRef(); + sSubTypeName = GetStringByStrRef(MK_Get2DAInt(sSubTypeResRef, "Name", nSubType, 0), GetGender(OBJECT_SELF)); + } + return sSubTypeName; +} + +int MK_CHEATS_GetCurrentParam1ResRefID() +{ + int nIPropID = MK_CHEATS_GetCurrentItemPropertyID(); + int nSubType = MK_CHEATS_GetCurrentItemPropertySubType(); + + return MK_IPRP_GetParam1ResRefIDByID(nIPropID, nSubType); +} + +string MK_CHEATS_GetCurrentParam1ResRef() +{ + int nIPropID = MK_CHEATS_GetCurrentItemPropertyID(); + int nSubType = MK_CHEATS_GetCurrentItemPropertySubType(); + + return MK_IPRP_GetParam1ResRefByID(nIPropID, nSubType); +} + +string MK_CHEATS_GetCurrentCostTableResRef() +{ + int nIPropID = MK_CHEATS_GetCurrentItemPropertyID(); + return MK_IPRP_GetCostTableResRefByID(nIPropID); +} + +int MK_CHEATS_GetCurrentParam1TableStrRef() +{ + int nStrRef = 0; + int nIPropID = MK_CHEATS_GetCurrentItemPropertyID(); + int nSubType = MK_CHEATS_GetCurrentItemPropertySubType(); + + int nParam1ResRefID = MK_IPRP_GetParam1ResRefIDByID(nIPropID, nSubType); + if (nParam1ResRefID!=-1) + { + nStrRef = MK_Get2DAInt("iprp_paramtable", "Name", nParam1ResRefID, 0); + } + return nStrRef; +} + +void MK_CHEATS_SetCurrentItemPropertyParam1Value(int nParam1) +{ + SetLocalInt(OBJECT_SELF, "MK_CHEATS_CURRENT_IPROP_PARAM1", nParam1); +} + +int MK_CHEATS_GetCurrentItemPropertyParam1Value() +{ + return GetLocalInt(OBJECT_SELF, "MK_CHEATS_CURRENT_IPROP_PARAM1"); +} + +string MK_CHEATS_GetCurrentItemPropertyParam1Name() +{ + string sParam1Name=""; + int nParam1 = MK_CHEATS_GetCurrentItemPropertyParam1Value(); + if (nParam1!=-1) + { + string s2DAFile = MK_CHEATS_GetCurrentParam1ResRef(); + + int nStrRef = MK_Get2DAInt(s2DAFile, "Name", nParam1, 0); + + sParam1Name = GetStringByStrRef(nStrRef, GetGender(OBJECT_SELF)); + } + return sParam1Name; +} + +int MK_CHEATS_GetCurrentItemPropertyCostTableValue() +{ + return GetLocalInt(OBJECT_SELF, "MK_CHEATS_CURRENT_IPROP_COSTTABLEVALUE"); +} + +void MK_CHEATS_SetCurrentItemPropertyCostTableValue(int nCostTableValue) +{ + SetLocalInt(OBJECT_SELF, "MK_CHEATS_CURRENT_IPROP_COSTTABLEVALUE", nCostTableValue); +} + +string MK_CHEATS_GetCurrentItemPropertyCostTableValueName() +{ + string sCostTableValueName=""; + int nCostTableValue = MK_CHEATS_GetCurrentItemPropertyCostTableValue(); + if (nCostTableValue>0) + { + string s2DAFile = MK_CHEATS_GetCurrentCostTableResRef(); + + int nStrRef = MK_Get2DAInt(s2DAFile, "Name", nCostTableValue, 0); + + sCostTableValueName = GetStringByStrRef(nStrRef, GetGender(OBJECT_SELF)); + } + return sCostTableValueName; +} + +void MK_CHEATS_ToggleItemProperty(object oItem, int nIPropID, int nSubType=-1, int nCostTableValue=-1, int nParam1Value=0) +{ + MK_CHEATS_DEBUG_TRACE("MK_CHEATS_ToggleItemProperty('"+GetName(oItem)+"', nIPropID="+IntToString(nIPropID) + +", nSubType="+IntToString(nSubType) + +", nCostTableValue="+IntToString(nCostTableValue) + +", nParam1Value="+IntToString(nParam1Value)); + + itemproperty iProp = MK_IPRP_GetItemProperty(oItem, nIPropID, nSubType, nCostTableValue, nParam1Value); + if (GetIsItemPropertyValid(iProp)) + { + MK_CHEATS_DEBUG_TRACE("MK_CHEATS_ToggleItemProperty: property removed."); + RemoveItemProperty(oItem, iProp); + } + else if (MK_IPRP_CreateItemPropertyOnItem(oItem, nIPropID, nSubType, nCostTableValue, nParam1Value)) + { + MK_CHEATS_DEBUG_TRACE("MK_CHEATS_ToggleItemProperty: property created."); + } + else + { + MK_CHEATS_DEBUG_TRACE("MK_CHEATS_ToggleItemProperty: failed to create property."); + } +} + +int MK_CHEATS_GetIsCurrentItemModified() +{ + int bResult = FALSE; + object oPC = GetPCSpeaker(); + object oItem = CIGetCurrentModItem(oPC); + object oBackup = CIGetCurrentModBackup(oPC); + +// MK_CHEATS_DEBUG_TRACE("MK_CHEATS_GetIsCurrentItemModified(): '" +// +GetName(oItem)+"', '"+GetName(oBackup)+"'"); + + if (GetIsObjectValid(oItem) && GetIsObjectValid(oBackup)) + { + int nState = MK_GenericDialog_GetState(); + + switch (nState) + { + case MK_STATE_CHEATS_ITEMPROPS_ITEM: + case MK_STATE_CHEATS_ITEMPROPS_PROPERTY: + case MK_STATE_CHEATS_ITEMPROPS_SUBTYPE: + case MK_STATE_CHEATS_ITEMPROPS_COSTTABLE: + case MK_STATE_CHEATS_ITEMPROPS_PARAM1: + { + string sIASStrBackup = MK_CCOH_DB_ItemPropertiesToIASStr(oBackup); + string sIASStrCurrent = MK_CCOH_DB_ItemPropertiesToIASStr(oItem); + bResult = (sIASStrBackup != sIASStrCurrent); +// MK_CHEATS_DEBUG_TRACE(" > '"+sIASStrCurrent+"', '"+sIASStrBackup+"': bResult="+IntToString(bResult)); + break; + } + case MK_STATE_CHEATS_CHARGES: + bResult = GetItemCharges(oItem)!=GetItemCharges(oBackup); +// MK_CHEATS_DEBUG_TRACE(" > '"+IntToString(GetItemCharges(oItem))+"', '"+IntToString(GetItemCharges(oBackup))+"': bResult="+IntToString(bResult)); + break; + } + } + return bResult; +} + +int MK_CHEATS_GetRequiredGold(int nCurrentValue=-1) +{ +// MK_CHEATS_DEBUG_TRACE("MK_CHEATS_GetRequiredGold("+IntToString(nCurrentValue)+")"); + object oPC = GetPCSpeaker(); + int nRequiredGold = 0; + object oBackup = CIGetCurrentModBackup(oPC); + if (GetIsObjectValid(oBackup)) + { + if (nCurrentValue==-1) + { + nCurrentValue = MK_CHEATS_CalculateCurrentGoldPieceValue(); + } + int nBackupValue = MK_IPRP_GetGoldPieceValue(oBackup); + nRequiredGold = nCurrentValue - nBackupValue; +// MK_CHEATS_DEBUG_TRACE(" > nCurrentValue="+IntToString(nCurrentValue)); +// MK_CHEATS_DEBUG_TRACE(" > nBackupValue="+IntToString(nBackupValue)); +// MK_CHEATS_DEBUG_TRACE(" > nRequiredGold="+IntToString(nRequiredGold)); + float fFactor = 1.0f; + if (nRequiredGold > 0) + { + fFactor = GetLocalFloat(oPC, "MK_CHEATS_ITEM_BUY"); + } + else if (nRequiredGold < 0) + { + fFactor = GetLocalFloat(oPC, "MK_CHEATS_ITEM_SELL"); + } + nRequiredGold = FloatToInt(fFactor * nRequiredGold); +// MK_CHEATS_DEBUG_TRACE(" > fFactor="+FloatToString(fFactor)); +// MK_CHEATS_DEBUG_TRACE(" > nRequiredGold="+IntToString(nRequiredGold)); +// MK_CHEATS_DEBUG_TRACE("MK_CHEATS_GetRequiredGold: nCurrentValue="+IntToString(nCurrentValue) +// +", nBackupValue="+IntToString(nBackupValue) +// +", fFactor="+FloatToString(fFactor) +// +", nRequiredGold="+IntToString(nRequiredGold)); +// MK_CHEATS_DEBUG_TRACE(" > oBackup='"+GetName(oBackup)+"', nCalculatedValue="+IntToString(MK_IPRP_CalculateGoldPieceValue(oBackup))); + } + return nRequiredGold; +} + +int MK_CHEATS_CanModifyItem(int bDisplayMessage) +{ + object oPC = GetPCSpeaker(); + int nState = MK_GenericDialog_GetState(); + switch (nState) + { + case MK_STATE_CHEATS_ITEMPROPS_PROPERTY: + case MK_STATE_CHEATS_ITEMPROPS_SUBTYPE: + case MK_STATE_CHEATS_ITEMPROPS_COSTTABLE: + case MK_STATE_CHEATS_ITEMPROPS_PARAM1: + if (!GetLocalInt(oPC, "MK_CHEATS_IGNORE_MINMAX_PROPS")) + { + if (!MK_CHEATS_GetHasCurrentItemValidNumberOfCastSpellProps(bDisplayMessage)) + { + return FALSE; + } + } + break; + } + + switch (nState) + { + case MK_STATE_CHEATS_ITEMPROPS_PROPERTY: + case MK_STATE_CHEATS_ITEMPROPS_SUBTYPE: + case MK_STATE_CHEATS_ITEMPROPS_COSTTABLE: + case MK_STATE_CHEATS_ITEMPROPS_PARAM1: + case MK_STATE_CHEATS_CHARGES: + { + int nRequiredGold = MK_CHEATS_GetRequiredGold(); + int nGold = GetGold(oPC); + if (nRequiredGold > nGold) + { + if (bDisplayMessage) + { + SendMessageToPC(oPC, "Not enough gold to modify item!"); + } + return FALSE; + } + break; + } + } + return TRUE; +} + +int MK_CHEATS_FinishModifyItem() +{ + int bReturn = FALSE; + object oPC = GetPCSpeaker(); + + if (MK_CHEATS_CanModifyItem(FALSE)) + { + int nRequiredGold = MK_CHEATS_GetRequiredGold(); + int nGold = GetGold(oPC); + if (nGold >= nRequiredGold) + { + MK_FinishModifyItem(oPC, oPC); + + if (nRequiredGold > 0) + { + TakeGoldFromCreature(nRequiredGold, oPC, TRUE); + } + else if (nRequiredGold < 0) + { + GiveGoldToCreature(oPC, -nRequiredGold); + } + MK_CHEATS_SetCurrentItem(OBJECT_INVALID); + + // CISetCurrentModItem(oPC, OBJECT_INVALID); + // CISetCurrentModMode(oPC, 0); + // MK_CHEATS_SetCurrentItemPropertyID(-1); + // MK_CHEATS_SetCurrentItemPropertySubType(-1); + // MK_CHEATS_SetCurrentItemPropertyCostTableValue(-1); + + bReturn = TRUE; + } + } + return bReturn; +} + +void MK_CHEATS_CancelModifyItem() +{ + object oPC = GetPCSpeaker(); +// int nState = MK_GenericDialog_GetState(); + +// MK_GenericDialog_SetCurrentPage(nState, 1); +// MK_2DA_DISPLAY_Cleanup(); + MK_CancelModifyItem(oPC, oPC); + MK_CHEATS_SetCurrentItem(OBJECT_INVALID); +// CISetCurrentModItem(oPC, OBJECT_INVALID); +// CISetCurrentModMode(oPC, 0); +// MK_CHEATS_SetCurrentItemPropertyID(-1); +// MK_CHEATS_SetCurrentItemPropertySubType(-1); +// MK_CHEATS_SetCurrentItemPropertyCostTableValue(-1); +// MK_GenericDialog_SetState(nState = MK_STATE_CHEATS_ITEMPROPS_ITEM_INIT); +// MK_CHEATS_DEBUG_TRACE("MK_ITEMPROP_Cancel(): *terminate*"); +// return nState; +} + +int MK_CHEATS_GetHasCurrentItemValidNumberOfCastSpellProps(int bDisplayMessage) +{ + int bResult = FALSE; + object oItem = MK_CHEATS_GetCurrentItem(); + + int nBaseItemType = GetBaseItemType(oItem); + int nMinProps = MK_Get2DAInt("baseitems", "MinProps", nBaseItemType, 0); + int nMaxProps = MK_Get2DAInt("baseitems", "MaxProps", nBaseItemType, 0); + + int nCastSpellProps = MK_IPRP_GetItemPropertyCount(oItem, ITEM_PROPERTY_CAST_SPELL); + + if ((nMinProps<=nCastSpellProps) && (nMaxProps>=nCastSpellProps)) + { + bResult = TRUE; + } + else if (bDisplayMessage) + { + object oPC = GetPCSpeaker(); + SendMessageToPC(oPC, "Item has invalid number of Cast Spell properties: "+IntToString(nCastSpellProps)+"!"); + SendMessageToPC(oPC, "Allowed number of Cast Spell properties for this item: "+IntToString(nMinProps)+".."+IntToString(nMaxProps)+"!"); + } + + return bResult; +} + +void MK_CHEATS_SetCustomToken(/*int nState*/) +{ + object oPC = GetPCSpeaker(); + string sItemName; + string sItemValue = "-"; + string sRequiredGold = "-"; + int nRequiredGold = 0; + int nGold = GetGold(); + + object oItem = MK_CHEATS_GetCurrentItem(); + MK_CHEATS_DEBUG_TRACE("MK_CHEATS_SetCustomToken('"+GetName(oItem)+"'): valid="+IntToString(GetIsObjectValid(oItem))); + if (GetIsObjectValid(oItem)) + { + int nCurrentValue = MK_CHEATS_CalculateCurrentGoldPieceValue(); + nRequiredGold = MK_CHEATS_GetRequiredGold(nCurrentValue); + if (MK_DEBUG_GetDebugMode()) + { + int nGoldPieceValue = MK_CHEATS_GetCurrentGoldPieceValue(); + sItemValue = IntToString(nCurrentValue) + " / " + IntToString(nGoldPieceValue); + MK_CHEATS_DEBUG_TRACE(" > nCurrentValue="+IntToString(nCurrentValue)+", nGoldPieceValue="+IntToString(nGoldPieceValue)+", nRequiredGold="+IntToString(nRequiredGold)); + } + else + { + sItemValue = IntToString(nCurrentValue); + } + sRequiredGold = IntToString(nRequiredGold); + } + sRequiredGold += (" ("+IntToString(nGold)+")"); + + sItemName=MK_CHEATS_GetCurrentItemName("-"); + + SetCustomToken(14422, sItemName); + SetCustomToken(14423, sItemValue); + SetCustomToken(14426, sRequiredGold); + + string sDisabledOptionsColor = GetLocalString(OBJECT_SELF, "MK_DISABLED_OPTIONS_COLOR"); + string sCloseColor = (sDisabledOptionsColor!="" ? "" : ""); + + if (!GetLocalInt(oPC, "MK_CHEATS_IGNORE_MINMAX_PROPS") && !MK_CHEATS_GetHasCurrentItemValidNumberOfCastSpellProps()) + { + SetCustomToken(14460, sDisabledOptionsColor); + SetCustomToken(14470, " "+MK_TLK_GetStringByStrRef(-500)+""); + } + else if (nRequiredGold>nGold) + { + SetCustomToken(14460, sDisabledOptionsColor); + SetCustomToken(14470, " "+MK_TLK_GetStringByStrRef(-474)+""); + } + else + { + SetCustomToken(14460, ""); + SetCustomToken(14470, ""); + } +} + +void MK_CHEATS_InitializeFilterItemArray(object oPC) +{ + if (MK_ARRAY_GetLocalArrayBuffer(oPC, "MK_CHEATS_IPROP_ITEMFILTER") == "") + { + MK_ARRAY_InitializeLocalArrayBool(oPC, "MK_CHEATS_IPROP_ITEMFILTER", MK_Get2DALength("mk_iprp_cols", "Column"), TRUE); +// MK_ARRAY_SetLocalArrayBool(oPC, "MK_CHEATS_IPROP_ITEMFILTER", 17, FALSE); // no properties + } +} + + +int MK_CHEATS_GetIsItemTypeSelected(object oPC, int nItemType) +{ + return MK_ARRAY_GetLocalArrayBool(oPC, "MK_CHEATS_IPROP_ITEMFILTER", nItemType); +} + +int MK_CHEATS_GetAreAllItemTypesSelected(object oPC) +{ + return MK_ARRAY_GetIsLocalArrayBoolEqual(oPC, "MK_CHEATS_IPROP_ITEMFILTER", TRUE); +} + +void MK_CHEATS_SelectItemType(object oPC, int nItemType, int bSelect) +{ + MK_ARRAY_SetLocalArrayBool(oPC, "MK_CHEATS_IPROP_ITEMFILTER", nItemType, bSelect); +} + +void MK_CHEATS_SelectAllItemTypes(object oPC, int bSelect) +{ + MK_ARRAY_InitializeLocalArrayBool(oPC, "MK_CHEATS_IPROP_ITEMFILTER", MK_Get2DALength("mk_iprp_cols", "Column"), bSelect); +} + +/* +void main() +{ + +} +/**/ diff --git a/_module/nss/mk_inc_color.nss b/_module/nss/mk_inc_color.nss new file mode 100644 index 00000000..85e20499 --- /dev/null +++ b/_module/nss/mk_inc_color.nss @@ -0,0 +1,213 @@ +// mk_inc_color +#include "mk_inc_debug" +#include "x2_inc_craft" +#include "mk_inc_tools" +#include "mk_inc_modmodes" +#include "mk_inc_body" +#include "mk_inc_tlk" +#include "mk_inc_array" + +const string MK_COLOR_2DAFILE = "mk_color"; + +const int MK_COLOR_NUMBER = 0; +const int MK_COLOR_NEXT = 1; +const int MK_COLOR_PREV = 2; + +const string MK_COLOR_VALID_COLORS = "mk_color_valid_colors"; + + +// returns the matching column in 'mk_color.2da' +// - nModMode: either MK_CI_MODMODE_BODY or X2_CI_MODMODE_ARMOR, +// MK_CI_MODMODE_HELMET or MK_CI_MODMODE_CLOAK +// - nParam1: nModMode == MK_CI_MODMODE_BODY: MK_CRAFTBODY_COLOR +// else: ignored +// - nParam2: nModMode == MK_CI_MODMODE_BODY: COLOR_CHANNEL_* +// else: ITEM_APPR_ARMOR_COLOR_* +// * returns column +string MK_COLOR_Get2DAColumn(int nModMode, int nParam1, int nParam2); + + +// returns TRUE if specified color is valid +// - sColumn: column in 'mk_color.2da' +// - nColor: color number (0..176) +// * returns TRUE if color is valid and FALSE otherwise. +int MK_COLOR_GetIsColorValid(string sColumn, int nColor); + +// returns strref for specified color +// - sColumn: column in 'mk_color.2da' +// - nColor: color number (0..176) +// * returns strref if color is valid or 0. +int MK_COLOR_GetStrRef(string sColumn, int nColor); + +// returns color name for specified color +// - sColumn: column in 'mk_color.2da' +// - nColor: color number (0..176) +// * returns color name if color is valid or an empty string otherwise. +string MK_COLOR_GetColorName(string sColumn, int nColor); + +// returns color name for specified color +// - nModMode: either MK_CI_MODMODE_BODY or X2_CI_MODMODE_ARMOR, +// MK_CI_MODMODE_HELMET or MK_CI_MODMODE_CLOAK +// - nParam1: nModMode == MK_CI_MODMODE_BODY: MK_CRAFTBODY_COLOR +// else: ignored +// - nParam2: nModMode == MK_CI_MODMODE_BODY: COLOR_CHANNEL_* +// else: ITEM_APPR_ARMOR_COLOR_* +// - nColor: color number (0..176) +// * returns color name if color is valid or an empty string otherwise. +string MK_COLOR_GetColorName2(int nModMode, int nParam1, int nParam2, int nColor); + +// sets custom tokens to color name and color number +// - sColumn: column in 'mk_color.2da' +// - nColor: color number (0..176) +void MK_COLOR_SetCustomToken(string sColumn, int nColor, int nTokenName=14422, int nTokenNr=14423); + + +int MK_COLOR_SetColor(object oCreature, int nColorChannel, int nMode, int nColor=-1, object oPC=OBJECT_INVALID); + + +void MK_COLOR_SetValidColors(object oPC, string sValidColors) +{ + MK_ARRAY_SetLocalArrayBuffer(oPC, MK_COLOR_VALID_COLORS, sValidColors); +} + + +int MK_COLOR_SetColor(object oCreature, int nColorChannel, int nMode, int nColor, object oPC) +{ + if (!GetIsObjectValid(oPC)) + { + oPC = oCreature; + } + int nNewColor=-1; + switch (nMode) + { + case MK_COLOR_NUMBER: + nNewColor = nColor; + break; + case MK_COLOR_NEXT: + case MK_COLOR_PREV: + { + int nCurrentColor = GetColor(oCreature, nColorChannel); + int nPosCurrent = MK_ARRAY_SearchLocalArraySortedInt(oPC, MK_COLOR_VALID_COLORS, nCurrentColor); + int nColorCount = MK_ARRAY_GetLocalArraySortedIntLength(oPC, MK_COLOR_VALID_COLORS); + + int nPosNew=-1; + if (nPosCurrent==-1) + { + nPosNew=0; + } + else + { + switch (nMode) + { + case MK_COLOR_PREV: + nPosNew = (nPosCurrent + nColorCount - 1) % nColorCount; + break; + case MK_COLOR_NEXT: + nPosNew = (nPosCurrent + 1) % nColorCount; + break; + } + } + + if (nPosNew>=0) + { + nNewColor = MK_ARRAY_GetLocalArraySortedInt(oPC, MK_COLOR_VALID_COLORS, nPosNew); + } + + break; + } + } + if (nNewColor!=-1) + { + MK_SetColor(oCreature, nColorChannel, nNewColor); + } + return nNewColor; +} + +int MK_COLOR_GetStrRef(string sColumn, int nColor) +{ + return MK_Get2DAInt(MK_COLOR_2DAFILE, sColumn, nColor, 0); +} + +int MK_COLOR_GetIsColorValid(string sColumn, int nColor) +{ + int nStrRef = MK_COLOR_GetStrRef(sColumn, nColor); + return (nStrRef!=0); +} + +string MK_COLOR_GetColorName(string sColumn, int nColor) +{ + int nStrRef = MK_COLOR_GetStrRef(sColumn, nColor); + string sColorName = MK_TLK_GetStringByStrRef(nStrRef, GetGender(OBJECT_SELF)); +// MK_DEBUG_TRACE("MK_COLOR_GetColorName('"+sColumn+"',"+IntToString(nColor)+"): nStrRef="+IntToString(nStrRef)+", sName='"+sColorName+"'"); + return sColorName; +} + +string MK_COLOR_GetColorName2(int nModMode, int nParam1, int nParam2, int nColor) +{ + string sColumn = MK_COLOR_Get2DAColumn(nModMode, nParam1, nParam2); + return MK_COLOR_GetColorName(sColumn, nColor); +} + +string MK_COLOR_Get2DAColumn(int nModMode, int nParam1, int nParam2) +{ + string sColumn=""; + switch (nModMode) + { + case X2_CI_MODMODE_ARMOR: + case MK_CI_MODMODE_HELMET: + case MK_CI_MODMODE_CLOAK: + switch (nParam2) + { + case ITEM_APPR_ARMOR_COLOR_LEATHER1: + case ITEM_APPR_ARMOR_COLOR_LEATHER2: + sColumn = "Leather"; + break; + case ITEM_APPR_ARMOR_COLOR_CLOTH1: + case ITEM_APPR_ARMOR_COLOR_CLOTH2: + sColumn = "Cloth"; + break; + case ITEM_APPR_ARMOR_COLOR_METAL1: + case ITEM_APPR_ARMOR_COLOR_METAL2: + sColumn = "Metal"; + break; + } + break; + case MK_CI_MODMODE_BODY: + switch (nParam1) + { + case MK_CRAFTBODY_COLOR: + switch (nParam2) + { + case COLOR_CHANNEL_HAIR: + sColumn="Hair"; + break; + case COLOR_CHANNEL_SKIN: + sColumn="Skin"; + break; + case COLOR_CHANNEL_TATTOO_1: + case COLOR_CHANNEL_TATTOO_2: + sColumn="Tattoo"; + break; + } + break; + } + break; + } + return sColumn; +} + +void MK_COLOR_SetCustomToken(string sColumn, int nColor, int nTokenName, int nTokenNr) +{ + string sColorName=MK_COLOR_GetColorName(sColumn, nColor); + SetCustomToken(nTokenName, sColorName); +// MK_DEBUG_TRACE("SetCustomToken("+IntToString(nTokenName)+",'"+sColorName+"')"); + SetCustomToken(nTokenNr, IntToString(nColor)); +// MK_DEBUG_TRACE("SetCustomToken("+IntToString(nTokenNr)+","+IntToString(nColor)+")"); +} + +/* +void main() +{ + +} +/**/ diff --git a/_module/nss/mk_inc_craft.nss b/_module/nss/mk_inc_craft.nss new file mode 100644 index 00000000..81ea98e2 --- /dev/null +++ b/_module/nss/mk_inc_craft.nss @@ -0,0 +1,3666 @@ +// requires +#include "mk_inc_init" +#include "mk_inc_version" +#include "mk_inc_generic" +#include "x2_inc_craft" +#include "mk_inc_tools_s" +#include "mk_inc_editor" +#include "mk_inc_iaam" +#include "mk_inc_iaac" +#include "mk_inc_tlk" +#include "mk_inc_ipwrkcntn" +#include "mk_inc_vfx" +#include "mk_inc_exec" +#include "mk_inc_debug" +#include "mk_inc_iprp" + +const int MK_IP_ITEMTYPE_NEXT = 0; +const int MK_IP_ITEMTYPE_PREV = 1; +const int MK_IP_ITEMTYPE_OPPOSITE = 2; +const int MK_IP_ITEMCOLOR_NEXT = 3; +const int MK_IP_ITEMCOLOR_PREV = 4; +const int MK_IP_ITEMTYPE_CLEAR = 5; + +const int MK_IP_WEAPONCOLOR_NEXT = 3; +const int MK_IP_WEAPONCOLOR_PREV = 4; +const int MK_IP_WEAPONCOLOR_RESET = 5; + +const string MK_CURRENT_TARGET = "MK_CURRENT_TARGET"; +const string MK_BACKUP_PLAYERTARGETSCRIPT = "MK_BACKUP_PLAYERTARGETSCRIPT"; +const string MK_KEEP_CURRENT_TARGET = "MK_KEEP_CURRENT_TARGET"; + +const string MK_CCOH_ONPLAYERTARGETSCRIPT = "mk_onplayertargt"; + +/* +// Defined in x2_inc_craft +//const int X2_CI_MODMODE_INVALID = 0; +//const int X2_CI_MODMODE_ARMOR = 1; +//const int X2_CI_MODMODE_WEAPON = 2; + +const int MK_CI_MODMODE_CLOAK = 3; +const int MK_CI_MODMODE_HELMET = 4; +const int MK_CI_MODMODE_SHIELD = 5; +//const int MK_CI_MODMODE_CHARACTER = 255; // character description +const int MK_CI_MODMODE_CHARACTER = 8; // character description +const int MK_CI_MODMODE_BODY = 9; +//const int MK_CI_MODMODE_BODY = 127; // modify body (used only for proper + // abort dialog) +*/ +#include "mk_inc_modmodes" + +const int MK_TOKEN_PARTSTRING = 14422; +const int MK_TOKEN_PARTNUMBER = 14423; +const int MK_TOKEN_OPP_PART = 14430; + +const int MK_TOKEN_COLOR1 = 14424; +const int MK_TOKEN_COLOR2 = 14425; +const int MK_TOKEN_COLOR3 = 14426; +const int MK_TOKEN_COLOR4 = 14427; +const int MK_TOKEN_COLOR5 = 14428; +const int MK_TOKEN_COLOR6 = 14429; + +const int MK_TOKEN_COPYFROM = 14410; +const int MK_TOKEN_DYEFROM = 14432; +const int MK_TOKEN_SOURCEITEM = 14433; +const int MK_TOKEN_MATERIAL = 14434; + +const int MK_TOKEN_COLOR_CLOSE = 14435; +const int MK_TOKEN_COLOR_COLOR1 = 14436; +const int MK_TOKEN_COLOR_COLOR2 = 14437; +const int MK_TOKEN_COLOR_COLOR3 = 14438; +const int MK_TOKEN_COLOR_COLOR4 = 14439; +const int MK_TOKEN_COLOR_COLOR5 = 14480; + +/* +const int MK_STATE_INVALID = 0; +const int MK_STATE_COPY = 1; +const int MK_STATE_MATERIAL = 2; +const int MK_STATE_CGROUP = 3; +const int MK_STATE_COLOR = 4; +const int MK_STATE_SELECTPART = 5; +const int MK_STATE_MODIFY = 6; +const int MK_STATE_SELECTMODE = 7; +const int MK_STATE_INIT = 8; +const int MK_STATE_DATABASE_1 = 9; +const int MK_STATE_DATABASE_2 = 10; +const int MK_STATE_DATABASE_3 = 11; +const int MK_STATE_DATABASE_4 = 12; +*/ + +/* +const int MK_ITEM_APPR_MODEL_LRSHOULDER = 19; +const int MK_ITEM_APPR_MODEL_LRBICEP = 20; +const int MK_ITEM_APPR_MODEL_LRFOREARM = 21; +const int MK_ITEM_APPR_MODEL_LRHAND = 22; +const int MK_ITEM_APPR_MODEL_LRTHIGH = 23; +const int MK_ITEM_APPR_MODEL_LRSHIN = 24; +const int MK_ITEM_APPR_MODEL_LRFOOT = 25; + +const int MK_ITEM_APPR_ARMOR_NUM_MODELS = 26; +*/ + +// const int MK_TOKEN_MATERIAL = 14422; + +const int MK_TOKEN_ITEMLIST = 14440; + +// Token 14440-14461 for up to 22 color groups (176/8 = 22) +const int MK_TOKEN_COLORGROUP = 14440; + +// Token 14462-14477 for up to 16 color names +const int MK_TOKEN_COLORNAME = 14462; + +const int MK_TOKEN_NEWNAME = 14478; +const int MK_TOKEN_ORIGINALNAME = 14479; + +// int MK_NUMBER_OF_COLOR_GROUPS = 22; + +const string MK_VAR_CHARACTER_DESCRIPTION = "MK_CHARACTER_DESCRIPTION"; + +const string MK_TAG_TEMP_EFFECT = "MK_TAG_TEMP_EFFECT"; + +const string MK_LIGHTEFFECT_DURATION = "MK_LIGHTEFFECT_DURATION"; + +const string MK_PERPARTCOLORING = "MK_PERPARTCOLORING"; + +const string MK_O_CRAFT_MODIFY_MIRROR = "MK_O_CRAFT_MODIFY_MIRROR"; + +const string MK_MODIFYITEM_USECONTAINER = "MK_MODIFYITEM_USECONTAINER"; + +const string MK_MODIFYITEM_CURRENTITEMMODIFIED = "MK_MODIFYITEM_CURRENTITEMMODIFIED"; + +const string MK_MODIFYITEM_DEACTIVATE_MIRRORUPDATE = "MK_MODIFYITEM_DEACTIVATE_MIRRORUPDATE"; + +const string MK_COLOR_HIGHLIGHT = ""; +const string MK_COLOR_CLOSE = ""; + +// Colors per group +// int MK_NUMBER_OF_COLORS_PER_GROUP = (176 / MK_NUMBER_OF_COLOR_GROUPS); + +/* +// ---------------------------------------------------------------------------- +// On client/server with servervault characters forcing the client to quit +// when modifying an item will create a dupe item. This function removes that +// dupe. It should be called from the OnClientEnter script: +// +// MK_craft_remove_dupe(GetEnteringObject()); +// +// it cycles through the item slots of oPlayer and removes the items with +// GetLocalInt(oItem, MK_CRRAFTING_DUPE) == 1 +// also it cycles through the inventory and equips the item with +// GetLocalInt(oItem, MK_CRAFTING_BACKUP) > 0 +// +// In single player or on a server with local characters allowed this is not +// required because the character and the dupe are lost on a crash. +// ---------------------------------------------------------------------------- +int MK_craft_remove_dupe(object oPlayer); +*/ + + +// ---------------------------------------------------------------------------- +// Sets a creature as target of the CCOH modifications +// ---------------------------------------------------------------------------- +void MK_SetCurrentTarget(object oPC, object oTarget, int bKeepTarget=FALSE); + +// ---------------------------------------------------------------------------- +// Returns the current target. If no target was set previously oPC +// is returned. +// ---------------------------------------------------------------------------- +object MK_GetCurrentTarget(object oPC); + +// ---------------------------------------------------------------------------- +// Reads the current mod part and returns its name (as it is set in the custom +// token XP_IP_ITEMMODCONVERSATION_CTOKENBASE) +// ---------------------------------------------------------------------------- +string MK_CurrentModPart2PartName(object oPC); + +// ---------------------------------------------------------------------------- +// Reads a string from a 2DA file, if it does not exist it reads from DefaultColumn +// ---------------------------------------------------------------------------- +string MK_Get2DAStringEx(string s2DA, string sColumn, int nRow, string sDefaultColumn=""); + +// ---------------------------------------------------------------------------- +// Returns the color name for cloth/leather color iColor +// - iColor (0..63) +// Taken from Mandragon's Dye Kit +// ---------------------------------------------------------------------------- +string MK_ClothColor(int iColor); + +// ---------------------------------------------------------------------------- +// Returns the color name (if iColor between 0 and 63) for cloth/leather color +// iColor plus the color number in brackets +// Example 'Light Blue (24)' +// - iColor (0..176) +// ---------------------------------------------------------------------------- +string MK_ClothColorEx(int iColor, int bDisplayNumber = TRUE); + +string MK_ColorEx(int iMaterial, int iColor, int bDisplayNumber = TRUE); + +// ---------------------------------------------------------------------------- +// Returns the color name for metal color iColor +// - iColor (0..63) +// Taken from Mandragon's Dye Kit +// ---------------------------------------------------------------------------- +string MK_MetalColor(int iColor); + +// ---------------------------------------------------------------------------- +// Returns the color name (if iColor between 0 and 63) for metal color +// iColor plus the color number in brackets +// Example 'Lightest Gold (8)' +// - iColor (0..176) +// ---------------------------------------------------------------------------- +string MK_MetalColorEx(int iColor, int bDisplayNumber = TRUE); + +// ---------------------------------------------------------------------------- +// Uses 'CIGetCurrentModItem' to get the current item to be dyed. +// Then the script changes the color of layer iMaterialToDye to iColor. +// Finally the item is equipped again (if bEquipItem=TRUE). +// ---------------------------------------------------------------------------- +void MK_DyeItem(object oTarget, object oPC, int nMaterialToDye, int nColor); + +// ---------------------------------------------------------------------------- +// Prints the colors of oItem. +// ---------------------------------------------------------------------------- +void MK_DisplayColors(object oPC, object oItem); + +// ---------------------------------------------------------------------------- +// Gets the new armor appearance type of oArmor +// - nPart +// ITEM_APPR_ARMOR_MODEL_* +// nMode +// X2_IP_ARMORTYPE_PREV +// X2_IP_ARMORTYPE_NEXT +// ---------------------------------------------------------------------------- +int MK_GetArmorAppearanceType2(object oPC, object oArmor, int nPart, int nMode); + +// ---------------------------------------------------------------------------- +// Returns the new armor with nPart modified +// - nPart +// ITEM_APPR_ARMOR_MODEL_* +// nMode +// X2_IP_ARMORTYPE_PREV +// X2_IP_ARMORTYPE_NEXT +// ---------------------------------------------------------------------------- +object MK_GetModifiedArmor(object oPC, object oArmor, int nPart, int nMode, int bDestroyOldOnSuccess); + + +// ---------------------------------------------------------------------------- +// Returns the new weapon with nPart modified +// - nPart +// ITEM_APPR_WEAPON_MODEL_* +// ITEM_APPR_WEAPON_COLOR_* +// nMode +// MK_IP_ITEMTYPE_NEXT +// MK_IP_ITEMTYPE_PREV +// MK_IP_ITEMCOLOR_NEXT +// MK_IP_ITEMCOLOR_PREV +// ---------------------------------------------------------------------------- +object MK_GetModifiedWeapon(object oWeapon, int nPart, int nMode, int bDestroyOldOnSuccess); + +// ---------------------------------------------------------------------------- +// Returns the inventory slot of the current item +// ---------------------------------------------------------------------------- +int MK_GetCurrentInventorySlot(object oPC); + +// ---------------------------------------------------------------------------- +// Gets the new cloak appearance type of oCloak +// - nMode +// MK_IP_CLOAKTYPE_PREV +// MK_IP_CLOAKTYPE_NEXT +// ---------------------------------------------------------------------------- +int MK_GetCloakAppearanceType(object oCloak, int nPart, int nMode); + +// ---------------------------------------------------------------------------- +// Returns a new cloak based of oCloak with the model modified +// nMode - +// MK_IP_CLOAKTYPE_NEXT - next valid appearance +// MK_IP_CLOAKTYPE_PREV - previous valid apperance; +// bDestroyOldOnSuccess - Destroy oArmor in process? +// ---------------------------------------------------------------------------- +object MK_GetModifiedCloak(object oCloak, int nPart, int nMode, int bDestroyOldOnSuccess); + +// ---------------------------------------------------------------------------- +// Returns a new helm based of oHelmet with the model modified +// nMode - +// MK_IP_HELMTYPE_NEXT - next valid appearance +// MK_IP_HELMTYPE_PREV - previous valid apperance; +// bDestroyOldOnSuccess - Destroy oArmor in process? +// ---------------------------------------------------------------------------- +object MK_GetModifiedHelmet(object oHelmet, int nMode, int bDestroyOldOnSuccess); + +// ---------------------------------------------------------------------------- +// Copies the appearance of item oSource to item oDest +// +// iType iIndex +// ITEM_APPR_TYPE_SIMPLE_MODEL [Ignored] +// ITEM_APPR_TYPE_WEAPON_COLOR ITEM_APPR_WEAPON_COLOR_* +// ITEM_APPR_TYPE_WEAPON_MODEL ITEM_APPR_WEAPON_MODEL_* +// ITEM_APPR_TYPE_ARMOR_MODEL ITEM_APPR_ARMOR_MODEL_* +// ITEM_APPR_TYPE_ARMOR_COLOR ITEM_APPR_ARMOR_COLOR_* +// +// Script (idea) taken from a script posted by John Bye +// ---------------------------------------------------------------------------- +object MK_MatchItem(object oDest, object oSource, int nType, int nIndex); + + +// ---------------------------------------------------------------------------- +// Script (idea) taken from a script posted by John Bye +// ---------------------------------------------------------------------------- +object MK_ModifyCloakModel(object oPC, object oItem, int nNewValue); + +// ---------------------------------------------------------------------------- +// returns TRUE if the item is modified +// ---------------------------------------------------------------------------- +int MK_GetIsModified(object oItem, object oBackup); + +// ---------------------------------------------------------------------------- +// returns TRUE if the item is a weapon and if it can be modified +// Slings and whips are 1 part items and can't be modified. +// ---------------------------------------------------------------------------- +int MK_GetIsModifiableWeapon(object oItem); + +// ---------------------------------------------------------------------------- +// returns TRUE if the item is a shield +// ---------------------------------------------------------------------------- +int MK_GetIsShield(object oItem); + +// ---------------------------------------------------------------------------- +// returns TRUE if it is allowed to modify the item +// ---------------------------------------------------------------------------- +int MK_GetIsAllowedToModifyItem(object oPC, object oItem, object oTarget); + +// ---------------------------------------------------------------------------- +// initializes the RenameItem dialog +// ---------------------------------------------------------------------------- +void MK_InitializeRenameItem(object oPC, object oItem); + +// ---------------------------------------------------------------------------- +// initializes the EditDescription dialog +// ---------------------------------------------------------------------------- +void MK_InitializeEditDescription(object oPC, object oObject); + +// ---------------------------------------------------------------------------- +// prepares the editor +// ---------------------------------------------------------------------------- +void MK_PrepareEditor(object oPC, int nEditorID, int nOK, int nCancel, + string sHeadLine="", int nMaxLength=-1, int bSingleLine=FALSE, + int bDisableColors=FALSE, int bUseChatEvent=FALSE); + + +// ---------------------------------------------------------------------------- +// sets custom token 14410, 14411, ... to the current item type name +// (armor, weapon, cloak, helmet or shield) +// used in the crafting dialog +// ---------------------------------------------------------------------------- +void MK_SetCustomTokenByItemTypeName(object oTarget, object oPC); + + +// ---------------------------------------------------------------------------- +// special version of CopyItem that also copies a modified description +// ---------------------------------------------------------------------------- +object MK_CopyItem(object oItem, object oTargetInventory=OBJECT_INVALID, int bCopyVars=TRUE, int bShowAcquireItemMessage=TRUE); + + +void MK_DestroyItem(object oItem, int bShowUnacquireItemMessage=TRUE); + +// ---------------------------------------------------------------------------- +// special version of CopyItemAndModify that also copies a modified description +// ---------------------------------------------------------------------------- +object MK_CopyItemAndModify(object oItem, int nType, int nIndex, int nNewValue, int bCopyVars=TRUE, int nStoreValueOnItem=FALSE); + + +// ---------------------------------------------------------------------------- +// return the number of colors used for that mod mode +// ---------------------------------------------------------------------------- +int MK_GetNumColorsFromModMode(int nModMode); + +// ---------------------------------------------------------------------------- +// return the item appearance, work-around for per-part coloring +// ---------------------------------------------------------------------------- +int MK_GetItemAppearance2(object oItem, int nType, int nIndex, int nIndex2=-1); + + +// ---------------------------------------------------------------------------- +// return the item's color, calculates index in case of per-part coloring +// ---------------------------------------------------------------------------- +int MK_GetItemColor(object oPC, object oItem, int nType, int nIndex); + +// ---------------------------------------------------------------------------- +// calculates color index for per-part coloring +// ---------------------------------------------------------------------------- +int MK_CalculateColorIndex(int nIndex, int nPart); + +// Same as ActionEquipItem but identifies the item in case it isn't identified. +// Sets the item to not identified again after the item has been equipped +// fDelay: unidentifying is delayed to give ActionEquipItem some time to work +void MK_ActionEquipItem(object oTarget, object oItem, int nInventorySlot, float fDelay=0.1f); + + +object MK_CopyColor(object oDest, object oSource, int bCopyOverrideColors=FALSE); + +void MK_StartModifyItem(object oPC, object oItem, int bUseContainer=FALSE, int bCreateMirror=TRUE); + +void MK_EquipModifiedItem(object oTarget, object oPC); + +void MK_CancelModifyItem(object oTarget, object oPC); + +void MK_FinishModifyItem(object oTarget, object oPC); + +void MK_SetAppearanceValue(object oItem, int nType, int nIndex, int nValue); + +int MK_GetAppearanceValue(object oItem, int nType, int nIndex); + +int MK_GetIsPerPartColored(object oItem, int nType, int nIndex, int nPart); + +int MK_ModPart2StrRef(int nModPart); + +//void MK_SetCurrentModParts(object oPC, int nPart1, int nPart2); + +void MK_SetCurrentModPart(object oPC, int nPart, int bSetCamera=TRUE); + +int MK_GetCurrentModPart(object oPC); + +int MK_GetItemAppearance(object oItem, int nType, int nIndex); + +//int MK_GetCurrentModPart1(object oPC); + +//int MK_GetCurrentModPart2(object oPC); + +//void MK_SetCurrentModPart1(object oPC, int nPart); + +//void MK_SetCurrentModPart2(object oPC, int nPart); + +void MK_SetCurrentModMirror(object oPC, object oItem); + +object MK_GetCurrentModMirror(object oPC); + +void MK_SetModifyItemUseContainer(object oPC, int bUseContainer); + +int MK_GetModifyItemUseContainer(object oPC); + +void MK_SetCurrentItemIsModified(object oPC, int bModified=TRUE); + +void MK_SetItemIsModified(object oItem, int bModified=TRUE); + +int MK_GetCurrentItemIsModified(object oPC, int bReset=TRUE); + +int MK_DeactivateMirrorUpdate(object oTarget, object oPC, int bDeactivate, int bUpdateMirror=TRUE); + +int MK_GetUpdateMirror(object oPC); + +void MK_VerifyCurrentModItem(object oPC, string s); + +void MK_SetMaterialToken(int nMaterial); + +int MK_GetHiddenWhenEquipped(object oItem) +{ + if (MK_VERSION_GetIsVersionGreaterEqual_1_74()) + { + return GetHiddenWhenEquipped(oItem); + } + return FALSE; +} + +void MK_SetHiddenWhenEquipped(object oItem, int nValue) +{ + if (MK_VERSION_GetIsVersionGreaterEqual_1_74()) + { + SetHiddenWhenEquipped(oItem, nValue); + } +} + + +int MK_GetIsPerPartColoring(object oPC) +{ + return GetLocalInt(oPC, MK_PERPARTCOLORING); +} + +void MK_SetMaterialToken(int nMaterial) +{ +/* + string sToken=""; + switch (nMaterial) + { + case ITEM_APPR_ARMOR_COLOR_LEATHER1: + sToken = "Leather 1"; + break; + case ITEM_APPR_ARMOR_COLOR_LEATHER2: + sToken = "Leather 2"; + break; + case ITEM_APPR_ARMOR_COLOR_CLOTH1: + sToken = "Cloth 1"; + break; + case ITEM_APPR_ARMOR_COLOR_CLOTH2: + sToken = "Cloth 2"; + break; + case ITEM_APPR_ARMOR_COLOR_METAL1: + sToken = "Metal 1"; + break; + case ITEM_APPR_ARMOR_COLOR_METAL2: + sToken = "Metal 2"; + break; + } +*/ + string sToken = MK_IAAC_GetName(nMaterial); + SetCustomToken(MK_TOKEN_MATERIAL, sToken); +} + +int MK_DeactivateMirrorUpdate(object oTarget, object oPC, int bDeactivate, int bUpdateMirror) +{ +// MK_DEBUG_TRACE("MK_DeactivateMirrorUpdate(bDeactivate="+IntToString(bDeactivate) +// +",bUpdateMirror="+IntToString(bUpdateMirror)); + + if (!MK_GetModifyItemUseContainer(oPC)) return FALSE; + if (bDeactivate) + { + SetLocalInt(oPC, MK_MODIFYITEM_DEACTIVATE_MIRRORUPDATE, bDeactivate); + } + else + { + DeleteLocalInt(oPC, MK_MODIFYITEM_DEACTIVATE_MIRRORUPDATE); + if (bUpdateMirror) + { + MK_EquipModifiedItem(oTarget, oPC); + } + } + return TRUE; +} + +int MK_GetUpdateMirror(object oPC) +{ + if (!MK_GetModifyItemUseContainer(oPC)) + { + return FALSE; + } + return !GetLocalInt(oPC, MK_MODIFYITEM_DEACTIVATE_MIRRORUPDATE); +} + +void MK_SetItemIsModified(object oItem, int bModified) +{ + if (GetIsObjectValid(oItem)) + { + if (bModified) + { + SetLocalInt(oItem, MK_MODIFYITEM_CURRENTITEMMODIFIED, TRUE); + } + else + { + DeleteLocalInt(oItem, MK_MODIFYITEM_CURRENTITEMMODIFIED); + } + } +} + +void MK_SetCurrentItemIsModified(object oPC, int bModified) +{ + MK_SetItemIsModified(CIGetCurrentModItem(oPC)); +} + +int MK_GetCurrentItemIsModified(object oPC, int bReset) +{ + int bModified=FALSE; + object oItem = CIGetCurrentModItem(oPC); + if (GetIsObjectValid(oItem)) + { + bModified = GetLocalInt(oItem, MK_MODIFYITEM_CURRENTITEMMODIFIED); + if (bReset) + { + DeleteLocalInt(oItem, MK_MODIFYITEM_CURRENTITEMMODIFIED); + } + } + return bModified; +} + +void MK_SetModifyItemUseContainer(object oPC, int bUseContainer) +{ + SetLocalInt(oPC, MK_MODIFYITEM_USECONTAINER, bUseContainer); +} + +int MK_GetModifyItemUseContainer(object oPC) +{ + return GetLocalInt(oPC, MK_MODIFYITEM_USECONTAINER); +} + +void MK_SetCurrentModMirror(object oPC, object oItem) +{ + if (GetIsObjectValid(oItem)) + { + SetItemCursedFlag(oItem, TRUE); + SetLocalObject(oPC, MK_O_CRAFT_MODIFY_MIRROR, oItem); + } + else + { + DeleteLocalObject(oPC, MK_O_CRAFT_MODIFY_MIRROR); + } +} + +object MK_GetCurrentModMirror(object oPC) +{ + return GetLocalObject(oPC, MK_O_CRAFT_MODIFY_MIRROR); +} + + +void MK_CopyItemFlags(object oSource, object oDestination) +{ + string sDescription = GetDescription(oSource); + if (GetDescription(oDestination)!=sDescription) + { +// MK_DEBUG_TRACE("CopyItem: description copied manually!"); + SetDescription(oDestination, sDescription); + } + int nItemCursedFlag = GetItemCursedFlag(oSource); + if (GetItemCursedFlag(oDestination)!=nItemCursedFlag) + { +// MK_DEBUG_TRACE("CopyItem: cursed flag copied manually!"); + SetItemCursedFlag(oDestination, nItemCursedFlag); + } + int nPlotFlag = GetPlotFlag(oSource); + if (GetPlotFlag(oDestination)!=nPlotFlag) + { +// MK_DEBUG_TRACE("CopyItem: plot flag copied manually!"); + SetPlotFlag(oDestination, nPlotFlag); + } + int nHiddenWhenEquipped = MK_GetHiddenWhenEquipped(oSource); + if (MK_GetHiddenWhenEquipped(oDestination)!=nHiddenWhenEquipped) + { +// MK_DEBUG_TRACE("CopyItem: hidden when equipped flag copied manually!"); + MK_SetHiddenWhenEquipped(oDestination, nHiddenWhenEquipped); + } +} + +object MK_CopyItem(object oItem, object oTargetInventory, int bCopyVars, int bShowAcquireItemMessage) +{ + if (!GetIsObjectValid(oItem)) + { + return OBJECT_INVALID; + } +// int bAcquireItemMessageDisabled = FALSE; +// if (!bShowAcquireItemMessage && MK_VERSION_GetIsBuildVersionGreaterEqual(OBJECT_SELF, 8193, 21)) +// { +// SetTlkOverride(10468, ""); +// bAcquireItemMessageDisabled = TRUE; +// } + object oCopy = CopyItem(oItem, oTargetInventory, bCopyVars); +// if (bAcquireItemMessageDisabled) +// { +// SetTlkOverride(10468, ""); +// } + if (!GetIsObjectValid(oCopy)) + { + return OBJECT_INVALID; + } + MK_CopyItemFlags(oItem, oCopy); + + return oCopy; +} + +object MK_CopyItemAndModify(object oItem, int nType, int nIndex, int nNewValue, int bCopyVars, int nStoreValueOnItem) +{ +// MK_DEBUG_TRACE("MK_CopyItemAndModify(name="+GetName(oItem) +// +", nType="+IntToString(nType)+", nIndex="+IntToString(nIndex)+", nNewValue="+IntToString(nNewValue) +// +", bCopyVars="+IntToString(bCopyVars)+", nStoreValueOnItem="+IntToString(nStoreValueOnItem)+")"); + if (!GetIsObjectValid(oItem)) + { + return OBJECT_INVALID; + } +// MK_DEBUG_TRACE("> original item is possessed by '"+GetName(GetItemPossessor(oItem))+"'."); +// if (GetLocalInt(oItem, "MK_MIRRORITEM")) +// { +// MK_DEBUG_TRACE("> ORIGINAL ITEM IS MIRROR ITEM!"); +// } + + object oCopy = CopyItemAndModify(oItem, nType, nIndex, nNewValue, bCopyVars); + if (!GetIsObjectValid(oCopy)) + { + return OBJECT_INVALID; + } + MK_SetItemIsModified(oCopy, TRUE); +// MK_DEBUG_TRACE("> new item is possessed by '"+GetName(GetItemPossessor(oCopy))+"'."); + + MK_CopyItemFlags(oItem, oCopy); + if ((nType == ITEM_APPR_TYPE_ARMOR_COLOR) && nStoreValueOnItem && (nIndex>=ITEM_APPR_ARMOR_NUM_COLORS)) + { + MK_SetAppearanceValue(oCopy, nType, nIndex, nNewValue); + } + return oCopy; +} + +/* +const int MK_CUSTOMTOKEN_PREFIX_NONE = 0; +const int MK_CUSTOMTOKEN_PREFIX_YOUR = 1; +const int MK_CUSTOMTOKEN_PREFIX_THE = 2; +*/ + +void MK_SetCustomTokenByItemTypeName(object oTarget, object oPC) +{ + int nModMode = CIGetCurrentModMode(oPC); + string sToken=""; + + string s2DAFile = "mk_modmode"; + int nCol; + string sColumn; + int nStrRef; + int nGender = GetGender(oTarget); + int bOk = TRUE; + for (nCol=0; bOk; nCol++) + { + sColumn = "StrRef"+IntToString(nCol); + nStrRef = MK_Get2DAInt(s2DAFile, sColumn, nModMode); + sToken = MK_TLK_GetStringByStrRef(nStrRef, nGender); + if ((nModMode == MK_CI_MODMODE_CHARACTER) && (nCol==3) && (oPC!=oTarget)) + { + sToken = GetName(oTarget); + } + SetCustomToken(MK_TOKEN_COPYFROM+nCol, sToken); + bOk = (nCol<20) && (nStrRef!=0); + } +/* + switch (nModMode) + { + case MK_CI_MODMODE_CHARACTER: + nStrRef = (nPrefix ? -46 : -6); +// sToken = "character"; + break; + case X2_CI_MODMODE_ARMOR: + nStrRef = (nPrefix ? -41 : -1); +// sToken = "armor"; + break; + case X2_CI_MODMODE_WEAPON: + nStrRef = (nPrefix ? -42 : -2); +// sToken = "weapon"; + break; + case MK_CI_MODMODE_CLOAK: + nStrRef = (nPrefix ? -43 : -3); +// sToken = "cloak"; + break; + case MK_CI_MODMODE_HELMET: + nStrRef = (nPrefix ? -44 : -4); +// sToken = "helmet"; + break; + case MK_CI_MODMODE_SHIELD: + nStrRef = (nPrefix ? -45 : -5); +// sToken = "shield"; + break; + } + sToken = MK_TLK_GetStringByStrRef(nStrRef, GetGender(oPC)); + SetCustomToken(MK_TOKEN_COPYFROM, sToken); +*/ +} + +int MK_GetIsAllowedToModifyItem(object oPC, object oItem, object oTarget) +{ + if (!GetIsObjectValid(oPC)) + { + return FALSE; + } + if (!GetIsObjectValid(oTarget)) + { + return FALSE; + } + if (!GetIsObjectValid(oItem)) + { + return FALSE; + } + if (GetLocalInt(GetModule(),"X2_L_DO_NOT_ALLOW_MODIFY_ARMOR")) + { + return FALSE; + } + if (GetPlotFlag(oItem) && (GetLocalInt(oPC,"MK_ENABLE_MODIFY_PLOT_ITEMS")==0)) + { + SendMessageToPC(oPC, "Can't modify plot item '"+GetName(oItem)+"' (plot item modifying disabled)!"); + return FALSE; + } + if ((!GetLocalInt(oPC, "MK_IDENTIFY_EQUIPPED_ITEMS")) && (!GetIdentified(oItem))) + { + SendMessageToPC(oPC, "Can't modify unidentified item '"+GetName(oItem)+"' (auto-identifying disabled)!"); + return FALSE; + } + if (MK_VERSION_GetIsBuildVersionGreaterEqual(oPC, 8193, 21)) + { + int nBaseItemType = GetBaseItemType(oItem); + if (!GetBaseItemFitsInInventory(nBaseItemType, oTarget)) + { + SendMessageToPC(oPC, "Not enough inventory space to modify items of type '" + + GetStringByStrRef(MK_Get2DAInt("baseitems", "Name", nBaseItemType))+"'."); + return FALSE; + } + } + return TRUE; +} + +int MK_GetIsSameArmorAppearance(object oItem, object oBackup) +{ + int bIsSameApp=TRUE; + int iPart; + for (iPart=0; (bIsSameApp)&&(iPart"); // CLOSE tag + SetCustomToken(14436, ""); // orange (highlight) + SetCustomToken(14437, ""); // magenta (back) + SetCustomToken(14438, ""); // deepskyblue (model name/number) + SetCustomToken(14439, ""); // yellow (make changes) +} +*/ + +int MK_GetCurrentInventorySlot(object oPC) +{ + int nModMode = CIGetCurrentModMode(oPC); + return (nModMode!=-1 ? MK_Get2DAInt("mk_modmode", "INVENTORY_SLOT", nModMode) : -1); +/* int nInventorySlot=0; + + switch (CIGetCurrentModMode(oPC)) + { + case X2_CI_MODMODE_ARMOR: + nInventorySlot = INVENTORY_SLOT_CHEST; + break; + case X2_CI_MODMODE_WEAPON: + nInventorySlot = INVENTORY_SLOT_RIGHTHAND; + break; + case MK_CI_MODMODE_CLOAK: + nInventorySlot = INVENTORY_SLOT_CLOAK; + break; + case MK_CI_MODMODE_HELMET: + nInventorySlot = INVENTORY_SLOT_HEAD; + break; + case MK_CI_MODMODE_SHIELD: + nInventorySlot = INVENTORY_SLOT_LEFTHAND; + break; + default: + nInventorySlot = -1; + } + return nInventorySlot;*/ +} + +// copied from 'string ZEP_ListReverse(string s)' +string MK_ListReverse(string s) { + string sCache; + int n; + int l = GetStringLength(s); + s = GetSubString(s, 1, l); + while (s!="") { + // take string upto next seperator and put this in front of cache + n = FindSubString(s, ":")+1; + sCache = GetStringLeft(s, n) + sCache; + s = GetSubString(s, n, l); + } + return ":"+sCache; +} + +int MK_GetOppositePart(int nPart) +{ + return MK_IAAM_GetOpposite(nPart); +} +/* +int MK_GetOppositePart(int nPart) +{ + int nOppositePart=0; + switch (nPart) + { + case ITEM_APPR_ARMOR_MODEL_LSHOULDER: + nOppositePart = ITEM_APPR_ARMOR_MODEL_RSHOULDER; + break; + case ITEM_APPR_ARMOR_MODEL_RSHOULDER: + nOppositePart = ITEM_APPR_ARMOR_MODEL_LSHOULDER; + break; + case ITEM_APPR_ARMOR_MODEL_LBICEP: + nOppositePart = ITEM_APPR_ARMOR_MODEL_RBICEP; + break; + case ITEM_APPR_ARMOR_MODEL_RBICEP: + nOppositePart = ITEM_APPR_ARMOR_MODEL_LBICEP; + break; + case ITEM_APPR_ARMOR_MODEL_LFOREARM: + nOppositePart = ITEM_APPR_ARMOR_MODEL_RFOREARM; + break; + case ITEM_APPR_ARMOR_MODEL_RFOREARM: + nOppositePart = ITEM_APPR_ARMOR_MODEL_LFOREARM; + break; + case ITEM_APPR_ARMOR_MODEL_LHAND: + nOppositePart = ITEM_APPR_ARMOR_MODEL_RHAND; + break; + case ITEM_APPR_ARMOR_MODEL_RHAND: + nOppositePart = ITEM_APPR_ARMOR_MODEL_LHAND; + break; + case ITEM_APPR_ARMOR_MODEL_LTHIGH: + nOppositePart = ITEM_APPR_ARMOR_MODEL_RTHIGH; + break; + case ITEM_APPR_ARMOR_MODEL_RTHIGH: + nOppositePart = ITEM_APPR_ARMOR_MODEL_LTHIGH; + break; + case ITEM_APPR_ARMOR_MODEL_LSHIN: + nOppositePart = ITEM_APPR_ARMOR_MODEL_RSHIN; + break; + case ITEM_APPR_ARMOR_MODEL_RSHIN: + nOppositePart = ITEM_APPR_ARMOR_MODEL_LSHIN; + break; + case ITEM_APPR_ARMOR_MODEL_LFOOT: + nOppositePart = ITEM_APPR_ARMOR_MODEL_RFOOT; + break; + case ITEM_APPR_ARMOR_MODEL_RFOOT: + nOppositePart = ITEM_APPR_ARMOR_MODEL_LFOOT; + break; + } + return nOppositePart; + +} +*/ + +int MK_HasOppositePart(int nPart) +{ + int nReturn = FALSE; + int nOpposite = MK_IAAM_GetOpposite(nPart); + if (nOpposite!=-1) + { + string s; + int nStrRef = MK_IAAM_GetStrRef(nOpposite); + if (nStrRef!=-1) + { + s = GetStringByStrRef(nStrRef); + } + SetCustomToken(MK_TOKEN_OPP_PART, s); + nReturn = TRUE; + } + return nReturn; +} + +/* +int MK_HasOppositePart(int nPart) +{ + int nStrRef=0; + switch (nPart) + { + case ITEM_APPR_ARMOR_MODEL_LSHOULDER: + nStrRef=7146; + break; + case ITEM_APPR_ARMOR_MODEL_RSHOULDER: + nStrRef=7150; + break; + case ITEM_APPR_ARMOR_MODEL_LBICEP: + nStrRef=7147; + break; + case ITEM_APPR_ARMOR_MODEL_RBICEP: + nStrRef=7151; + break; + case ITEM_APPR_ARMOR_MODEL_LFOREARM: + nStrRef=7148; + break; + case ITEM_APPR_ARMOR_MODEL_RFOREARM: + nStrRef=7152; + break; + case ITEM_APPR_ARMOR_MODEL_LHAND: + nStrRef=7149; + break; + case ITEM_APPR_ARMOR_MODEL_RHAND: + nStrRef=7153; + break; + case ITEM_APPR_ARMOR_MODEL_LTHIGH: + nStrRef=83351; + break; + case ITEM_APPR_ARMOR_MODEL_RTHIGH: + nStrRef=83350; + break; + case ITEM_APPR_ARMOR_MODEL_LSHIN: + nStrRef=83349; + break; + case ITEM_APPR_ARMOR_MODEL_RSHIN: + nStrRef=83348; + break; + case ITEM_APPR_ARMOR_MODEL_LFOOT: + nStrRef=83346; + break; + case ITEM_APPR_ARMOR_MODEL_RFOOT: + nStrRef=83345; + break; + } + + int nResult = FALSE; + string s = ""; + + if (nStrRef>0) + { + s = GetStringByStrRef(nStrRef); + nResult = TRUE; + } + SetCustomToken(MK_TOKEN_OPP_PART, s); + + return nResult; +} +*/ + +/* +//copied from 'string ZEP_PreReadArmorACList(string sAC)' +string MK_PreReadArmorACList(string sAC) +{ + // pick the right 2da to read the parts from + string s2DA = "parts_chest"; + string sCache= ":"; + string sLine; + + int nMax = 255; + int n=1; + sAC = GetStringLeft(sAC, 1); + while (n<=nMax) { + // Verify validity of the ID and add to the list + sLine = Get2DAString(s2DA, "ACBONUS", n); + if (GetStringLeft(sLine, 1)==sAC) + { + sCache+= IntToString(n)+":"; + } + n++; + } + // Store the list in a modulestring, once normal, once reversed, both with ID 0 added as first index for cycling + SetLocalString(GetModule(), "MK_IDPreReadAC_"+GetStringLeft(sAC,1), sCache); + SetLocalString(GetModule(), "MK_IDPreReadACR_"+GetStringLeft(sAC,1), MK_ListReverse(sCache)); + + return GetLocalString(GetModule(), "MK_IDPreReadAC_"+GetStringLeft(sAC,1)); +} +*/ + + +string MK_GetParts2DAfile(int nPart) +{ + return MK_IAAM_GetParts2DAfile(nPart); +} + +int MK_GetPartsMaxID(int nPart) +{ + return MK_IAAM_GetPartsMaxID(nPart); +} + +/* +// - private - +// Prereads the 2da-file for nPart and puts all used ID's in a : seperated stringlist +string MK_PreReadArmorPartList(int nPart) { + // pick the right 2da to read the parts from + string s2DA = MK_GetParts2DAfile(nPart); + + string sCache= ":"; + string sLine; + int nMax = 255; + int n=1; + while (n<=nMax) { + // Verify validity of the ID and add to the list + sLine = Get2DAString(s2DA, "ACBONUS", n); + if (sLine!="") + { + sCache+= IntToString(n)+":"; +// MK_DEBUG_TRACE("MK_PreReadArmorPartList: n="+IntToString(n)+", sLine='"+sLine+"', sCache='"+sCache+"'"); + } + n++; + } + // Store the list in a modulestring, once normal, once reversed, both with ID 0 added as first index for cycling + SetLocalString(GetModule(), "MK_IDPreRead_"+IntToString(nPart), ":0"+sCache); + SetLocalString(GetModule(), "MK_IDPreReadR_"+IntToString(nPart), ":0"+MK_ListReverse(sCache)); + +// MK_DEBUG_TRACE("MK_PreReadArmorPartList: MK_IDPreRead_"+IntToString(nPart)+"='"+GetLocalString(GetModule(),"MK_IDPreRead_"+IntToString(nPart))); +// MK_DEBUG_TRACE("MK_PreReadArmorPartList: MK_IDPreReadR_"+IntToString(nPart)+"='"+GetLocalString(GetModule(),"MK_IDPreReadR_"+IntToString(nPart))); + return GetLocalString(GetModule(),"MK_IDPreRead_"+IntToString(nPart)); +} +*/ + + +// - private - +// Prereads the 2da-file for nPart and puts all used ID's in a : seperated stringlist +string MK_PreReadArmorPartList2(object oObject, int nPart, string sAC="") +{ + // pick the right 2da to read the parts from + string s2DA = MK_GetParts2DAfile(nPart); + string sCache = ""; + string sLine; + int nMax = MK_GetPartsMaxID(nPart); + int n = 0; + int nCount=0; +// MK_DEBUG_TRACE("MK_PreReadArmorPartList2("+IntToString(nPart)+", '"+sAC+"'), s2DA='"+s2DA+"', nMax="+IntToString(nMax)); + for (n=0; n<=nMax; n++) + { + // Verify validity of the ID and add to the list + sLine = Get2DAString(s2DA, "ACBONUS", n); + if ((sLine!="") && ((sAC=="") || (GetStringLeft(sLine,1)==sAC))) + { + sCache+=("!"+MK_IntToString(n,3," ")); + nCount++; + } + } + if (nCount>0) + { + string sStart = GetStringLeft(sCache, 4); + string sEnd = GetStringRight(sCache, 4); + sCache = sEnd + sCache + sStart; + } + SetLocalString(oObject, "MK_IAAM_PreReadIDs"+MK_IntToString(nPart,2,"0")+sAC, sCache); + return sCache; +} + +string MK_GetPreReadArmorPartCache(object oObject, int nPart, int nCurrApp) +{ + string sAC = ""; + if (nPart ==ITEM_APPR_ARMOR_MODEL_TORSO) + { + sAC = GetStringLeft(Get2DAString("parts_chest", "ACBONUS", nCurrApp),1); + } + + string sCache = GetLocalString(oObject,"MK_IAAM_PreReadIDs"+MK_IntToString(nPart,2,"0")+sAC); + if (sCache=="") + { + sCache = MK_PreReadArmorPartList2(oObject, nPart, sAC); + } + return sCache; +} + +void MK_ResetAllPreReadArmorPartCache(object oObject) +{ + int iPart; +// object oModule = GetModule(); + for (iPart = ITEM_APPR_ARMOR_MODEL_RFOOT; iPartnMax) nCurrApp = nMin; + break; + + case MK_IP_ITEMTYPE_PREV: + if (--nCurrApp nMaxApp) nCurrApp = nMinApp; + break; + case MK_IP_ITEMTYPE_PREV: + if (--nCurrApp < nMinApp) nCurrApp = nMaxApp; + break; + } + return nCurrApp; +} +*/ + +int MK_GetIsWeaponValid(object oWeapon, int nType, int nPart) +{ + int bReturn = FALSE; + if (GetIsObjectValid(oWeapon)) + { + switch (nType) + { + case ITEM_APPR_TYPE_WEAPON_COLOR: + { + int nAppearance = GetItemAppearance(oWeapon, ITEM_APPR_TYPE_WEAPON_MODEL, nPart); + object oTemp = MK_CopyItemAndModify(oWeapon, ITEM_APPR_TYPE_WEAPON_MODEL, nPart, nAppearance, FALSE); + if (GetIsObjectValid(oTemp)) + { + DestroyObject(oTemp); + bReturn = TRUE; + } + break; + } + case ITEM_APPR_TYPE_WEAPON_MODEL: + bReturn = TRUE; + break; + } + if (!bReturn) + { + DestroyObject(oWeapon); + } + } + return bReturn; +} + +object MK_GetModifiedWeapon(object oWeapon, int nPart, int nMode, int bDestroyOldOnSuccess) +{ +// int bDisableExtendedEditionFeatures = MK_INIT_GetAreEEFeaturesDisabled(); +// MK_DEBUG_TRACE("MK_GetModifiedWeapon(..,nPart="+IntToString(nPart)+", nMode="+IntToString(nMode)+")"); + int nBaseItemType = GetBaseItemType(oWeapon); + int nMin, nMax, nCurrApp; + int nType; + switch (nMode) + { + case X2_IP_WEAPONTYPE_NEXT: + case X2_IP_WEAPONTYPE_PREV: + nMin = MK_Get2DAInt("baseitems", "MinRange", nBaseItemType)/10; + nMax = MK_Get2DAInt("baseitems", "MaxRange", nBaseItemType)/10; + nType = ITEM_APPR_TYPE_WEAPON_MODEL; + break; + case MK_IP_WEAPONCOLOR_NEXT: + case MK_IP_WEAPONCOLOR_PREV: + case MK_IP_WEAPONCOLOR_RESET: + nMin = 1; + // if (bDisableExtendedEditionFeatures) + // nMax = 4; + // else + nMax = (MK_VERSION_GetIsVersionGreaterEqual_1_74() ? 9 : 4); + nType = ITEM_APPR_TYPE_WEAPON_COLOR; + break; + } + nCurrApp = GetItemAppearance(oWeapon, nType, nPart); +// MK_DEBUG_TRACE("> nType="+IntToString(nType)+", nMin="+IntToString(nMin) +// +", nMax="+IntToString(nMax)+", nCurrApp="+IntToString(nCurrApp)); + + object oNew; + + int nOldApp = nCurrApp; + + do + { + switch (nMode) + { + case X2_IP_WEAPONTYPE_NEXT: + case MK_IP_WEAPONCOLOR_NEXT: + if (++nCurrApp>nMax) nCurrApp = nMin; + break; + + case MK_IP_WEAPONCOLOR_PREV: + case X2_IP_WEAPONTYPE_PREV: + if (--nCurrApp MK_CopyItemAndModify(nType="+IntToString(nType)+", nPart="+IntToString(nPart)+", nCurrApp="+IntToString(nCurrApp)+")"); + oNew = MK_CopyItemAndModify(oWeapon, nType, nPart, nCurrApp, TRUE); + } + while (!MK_GetIsWeaponValid(oNew, nType, nPart) && (nOldApp!=nCurrApp)); + + if (GetIsObjectValid(oNew) && (nMax!=nMin) && (nOldApp==nCurrApp)) + { + oWeapon = oNew; + oNew = OBJECT_INVALID; + } + + if (GetIsObjectValid(oNew)) + { +// MK_DEBUG_TRACE("MK_GetModifiedWeapon: nType="+IntToString(nType)+", nPart="+IntToString(nPart)+", nCurrApp="+IntToString(nCurrApp)+": valid"); + MK_SetItemIsModified(oNew, TRUE); + + SetCustomToken(MK_TOKEN_PARTNUMBER, + IntToString(GetItemAppearance(oWeapon, ITEM_APPR_TYPE_WEAPON_MODEL, nPart)*10+ + GetItemAppearance(oWeapon, ITEM_APPR_TYPE_WEAPON_COLOR, nPart))); + + if( bDestroyOldOnSuccess ) + { + DestroyObject(oWeapon); + } + return oNew; + } + else + { +// MK_DEBUG_TRACE("MK_GetModifiedWeapon: nType="+IntToString(nType)+", nPart="+IntToString(nPart)+", nCurrApp="+IntToString(nCurrApp)+": INVALID"); + switch (nMode) + { + case X2_IP_WEAPONTYPE_NEXT: + case X2_IP_WEAPONTYPE_PREV: + if (GetItemAppearance(oWeapon, ITEM_APPR_TYPE_WEAPON_COLOR, nPart) != 1) + { + oNew = MK_GetModifiedWeapon(oWeapon, nPart, MK_IP_WEAPONCOLOR_RESET, FALSE); + if (GetIsObjectValid(oNew)) + { +// MK_DEBUG_TRACE("MK_GetModifiedWeapon: nType="+IntToString(nType)+", nPart="+IntToString(nPart)+", nCurrApp=1: valid"); + oNew = MK_GetModifiedWeapon(oNew, nPart, X2_IP_WEAPONTYPE_NEXT, TRUE); + if (GetIsObjectValid(oNew)) + { + if (GetItemAppearance(oNew, nType, nPart) != nOldApp) + { + DestroyObject(oWeapon); + return oNew; + } + else + { + DestroyObject(oNew); + } + } + } + // else + // { + // MK_DEBUG_TRACE("MK_GetModifiedWeapon: nPart="+IntToString(nPart)+", nCurrApp=1: INVALID"); + // } + } + break; + } + } + + return oWeapon; +} + +object MK_GetModifiedShield(object oShield, int nMode, int bDestroyOldOnSuccess) +{ + int nBaseItemType = GetBaseItemType(oShield); + int nMinApp = MK_Get2DAInt("baseitems", "MinRange", nBaseItemType); + int nMaxApp = MK_Get2DAInt("baseitems", "MaxRange", nBaseItemType); + + int nCurrApp = GetItemAppearance(oShield, ITEM_APPR_TYPE_SIMPLE_MODEL, 0); + + object oNew; + + do + { + switch (nMode) + { + case MK_IP_ITEMTYPE_NEXT: + if (++nCurrApp > nMaxApp) nCurrApp = nMinApp; + break; + case MK_IP_ITEMTYPE_PREV: + if (--nCurrApp < nMinApp) nCurrApp = nMaxApp; + break; + } + oNew = MK_CopyItemAndModify(oShield, ITEM_APPR_TYPE_SIMPLE_MODEL, 0, nCurrApp, TRUE); + } + while (!MK_GetIsWeaponValid(oNew, ITEM_APPR_TYPE_WEAPON_COLOR, 0)); +// while (!GetIsObjectValid(oNew)); + + MK_SetItemIsModified(oNew, TRUE); + + SetCustomToken(MK_TOKEN_PARTNUMBER, IntToString(nCurrApp)); + if( bDestroyOldOnSuccess ) + { + DestroyObject(oShield); + } + return oNew; +} + +object MK_GetDyedItem(object oArmor, int iPart, int iMaterialToDye, int iColor, int bDestroyOldOnSuccess, int nStoreValueOnItem) +{ + object oNew = OBJECT_INVALID; + + if (iPart==-1) + { + oNew = MK_CopyItemAndModify(oArmor, ITEM_APPR_TYPE_ARMOR_COLOR, iMaterialToDye, iColor, TRUE, FALSE); + } + else + { + int iIndex = MK_CalculateColorIndex(iMaterialToDye, iPart); + oNew = MK_CopyItemAndModify(oArmor, ITEM_APPR_TYPE_ARMOR_COLOR, iIndex, iColor, TRUE, nStoreValueOnItem); + } +// MK_DEBUG_TRACE("MK_GetDyedItem(iPart="+IntToString(iPart)+", iMaterial="+IntToString(iMaterialToDye)+ +// ", iColor="+IntToString(iColor)+"): success="+IntToString(oNew != OBJECT_INVALID)); + if (oNew != OBJECT_INVALID) + { + if( bDestroyOldOnSuccess ) + { + DestroyObject(oArmor); + } + return oNew; + } + + // Safety fallback, return old armor on failures + return oArmor; +} + + +object MK_MatchItem(object oDest, object oSource, int nType, int nIndex) +{ + int nValue = MK_GetItemAppearance(oSource, nType, nIndex); + if ((nValue==-1) && (nType==ITEM_APPR_TYPE_ARMOR_COLOR) && (nIndex>ITEM_APPR_ARMOR_NUM_COLORS)) + { + nValue = 255; + } + + if ((nValue!=-1) || ((nType==ITEM_APPR_TYPE_ARMOR_COLOR) && (nIndex>ITEM_APPR_ARMOR_NUM_COLORS))) + { + object oNew = MK_CopyItemAndModify(oDest, nType, nIndex, nValue, TRUE, TRUE); + if (GetIsObjectValid(oNew)) + { + DestroyObject(oDest); + return oNew; + } + } + return oDest; +} + +string MK_GetCloakModelResRef(int nModel) +{ + string sNr = "mk_clk_"; + if (nModel<100) sNr+="0"; + if (nModel<10) sNr+="0"; + sNr+=IntToString(nModel); + return sNr; +} + +object MK_CopyAppearance(object oDest, object oSource) +{ + if ((GetBaseItemType(oDest)!=BASE_ITEM_ARMOR) || + (GetBaseItemType(oSource)!=BASE_ITEM_ARMOR)) + { + return oDest; + } + + int bCopyTorso=FALSE; + + int nDestTorso = GetItemAppearance(oDest,ITEM_APPR_TYPE_ARMOR_MODEL,ITEM_APPR_ARMOR_MODEL_TORSO); + int nSourceTorso = GetItemAppearance(oSource,ITEM_APPR_TYPE_ARMOR_MODEL,ITEM_APPR_ARMOR_MODEL_TORSO); + if (nDestTorso!=nSourceTorso) + { + int nDestACBonus = MK_Get2DAInt("parts_chest","ACBONUS",nDestTorso); + int nSourceACBonus = MK_Get2DAInt("parts_chest","ACBONUS",nSourceTorso); + bCopyTorso = (nDestACBonus==nSourceACBonus); + } + + object oNewItem = oDest; + int iModelType; + for (iModelType=0; iModelType nPartCount="+IntToString(nPartCount)+", iModel="+IntToString(iModel)+", iPart="+IntToString(iPart)+", sColumn="+sColumn+", nVisible="+IntToString(nVisible)); + } + return nVisible; +/* + string sColumn=""; + switch (nPart) + { + case ITEM_APPR_ARMOR_MODEL_LBICEP: + sColumn = "HIDEBICEPR"; + break; + case ITEM_APPR_ARMOR_MODEL_RBICEP: + sColumn = "HIDEBICEPL"; + break; + case ITEM_APPR_ARMOR_MODEL_LFOREARM: + sColumn = "HIDEFOREL"; + break; + case ITEM_APPR_ARMOR_MODEL_RFOREARM: + sColumn = "HIDEFORER"; + break; + case ITEM_APPR_ARMOR_MODEL_LFOOT: + sColumn = "HIDEFOOTL"; + break; + case ITEM_APPR_ARMOR_MODEL_RFOOT: + sColumn = "HIDEFOOTR"; + break; + case ITEM_APPR_ARMOR_MODEL_LHAND: + sColumn = "HIDEHANDL"; + break; + case ITEM_APPR_ARMOR_MODEL_RHAND: + sColumn = "HIDEHANDR"; + break; + case ITEM_APPR_ARMOR_MODEL_LSHIN: + sColumn = "HIDESHINR"; + break; + case ITEM_APPR_ARMOR_MODEL_RSHIN: + sColumn = "HIDESHINL"; + break; + case ITEM_APPR_ARMOR_MODEL_LSHOULDER: + sColumn = "HIDESHOL"; + break; + case ITEM_APPR_ARMOR_MODEL_RSHOULDER: + sColumn = "HIDESHOR"; + break; + case ITEM_APPR_ARMOR_MODEL_LTHIGH: + sColumn = "HIDELEGL"; + break; + case ITEM_APPR_ARMOR_MODEL_RTHIGH: + sColumn = "HIDELEGR"; + break; + case ITEM_APPR_ARMOR_MODEL_NECK: + sColumn = "HIDENECK"; + break; + case ITEM_APPR_ARMOR_MODEL_BELT: + sColumn = "HIDEBELT"; + break; + case ITEM_APPR_ARMOR_MODEL_PELVIS: + sColumn = "HIDEPELVIS"; + break; + case ITEM_APPR_ARMOR_MODEL_TORSO: + sColumn = "HIDECHEST"; + break; + } + int nReturn=TRUE; + + if (sColumn!="") + { + nReturn = (0==StringToInt(Get2DAString("parts_robe", sColumn, nRobe))); + } + return nReturn; + */ +} + +void MK_DyeItem(object oTarget, object oPC, int nMaterialToDye, int nColor) +{ + if (!GetIsObjectValid(oPC)) + { + return; + } + if (!GetIsObjectValid(oTarget)) + { + return; + } + object oItem = CIGetCurrentModItem(oPC); + if (!GetIsObjectValid(oItem)) + { + return; + } + object oNew = oItem; + + int bPerPartColoring = GetLocalInt(oPC, MK_PERPARTCOLORING) && (CIGetCurrentModMode(oPC)==X2_CI_MODMODE_ARMOR); + int iColor; + int nColorCount = MK_IAAC_GetColorCount(nMaterialToDye); +// MK_DEBUG_TRACE("MK_DyeItem: iMaterialToDye="+IntToString(nMaterialToDye)+", nColorCount="+IntToString(nColorCount)); + for (iColor=0; iColor: iColor="+IntToString(iColor)+", iMaterial="+IntToString(iMaterial)); + + if ( bPerPartColoring ) + { + int nCurrentModPart = MK_GetCurrentModPart(oPC); + if (MK_IAAM_GetIsValid(nCurrentModPart)) + { + int nPartCount = MK_IAAM_GetPartCount(nCurrentModPart); + int iModel; +// oNew = oItem; + for (iModel=0; iModel: iModel="+IntToString(iModel)+", iPart="+IntToString(iPart)); + oNew = MK_GetDyedItem(oNew, iPart, iMaterial, nColor, TRUE, TRUE); + } + } + } + else + { + oNew = MK_GetDyedItem(oNew, -1, iMaterial, nColor, TRUE, FALSE); + } + } + + if (GetIsObjectValid(oNew)) + { + CISetCurrentModItem(oPC,oNew); + + MK_EquipModifiedItem(oTarget, oPC); + } +} + +void MK_SetColorToken(object oPC, object oItem, int nMaterialToDye) +{ + if (GetIsObjectValid(oItem)) + { + string sColor1 = GetLocalString(oPC, "MK_TOKEN_COLOR1"); + string sColor2 = GetLocalString(oPC, "MK_TOKEN_COLOR2"); + string sColor=""; + int nColor, iMaterial; + for (iMaterial = 0; iMaterial0) + { + sColor+=" *"+IntToString(nNumParts); + } + } + + SetCustomToken(MK_TOKEN_COLOR1+iMaterial, sColor); + } + } +} + +void MK_DisplayColors(object oPC, object oItem) +{ + if (GetIsObjectValid(oItem)) + { +// int iLeather1 = GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_LEATHER1); +// int iLeather2 = GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_LEATHER2); +// int iCloth1 = GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_CLOTH1); +// int iCloth2 = GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_CLOTH2); +// int iMetal1 = GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_METAL1); +// int iMetal2 = GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_METAL2); + int i; + string sOutput=""; + for (i=0; i-1) && (bSetCamera)) + { + // * Make the camera float near the PC + float fFacing = GetFacing(oPC) + 180.0; + if (fFacing > 359.0) + { + fFacing -=359.0; + } + + float fPitch = 75.0; + float fDistance = 3.5f; + + if (nPart1 == ITEM_APPR_ARMOR_MODEL_RFOOT || nPart1 == ITEM_APPR_ARMOR_MODEL_LFOOT ) + { + fDistance = 3.5f; + fPitch = 47.0f; + } + else if (nPart1 == ITEM_APPR_ARMOR_MODEL_LTHIGH || nPart1 == ITEM_APPR_ARMOR_MODEL_RTHIGH ) + { + fDistance = 2.5f; + fPitch = 65.0f; + } + else if (nPart1 == ITEM_APPR_ARMOR_MODEL_RSHIN || nPart1 == ITEM_APPR_ARMOR_MODEL_LSHIN ) + { + fDistance = 3.5f; + fPitch = 95.0f; + } + + if (GetRacialType(oPC) == RACIAL_TYPE_HALFORC) + { + fDistance += 1.0f; + } + + SetCameraFacing(fFacing, fDistance, fPitch,CAMERA_TRANSITION_TYPE_VERY_FAST) ; + } + sName = MK_IAAM_GetName(nPart); + break; + } + case X2_CI_MODMODE_WEAPON: + { + int nStrRef = -1; + switch (nPart) + { + case ITEM_APPR_WEAPON_MODEL_TOP: + nStrRef = 84540; + break; + case ITEM_APPR_WEAPON_MODEL_MIDDLE: + nStrRef = 84541; + break; + case ITEM_APPR_WEAPON_MODEL_BOTTOM: + nStrRef = 84542; + break; + } + if (nStrRef!=-1) + { + sName = GetStringByStrRef(nStrRef); + } + break; + } + } + +// SetCustomToken(X2_CI_MODIFYARMOR_GP_CTOKENBASE,"0"); +// SetCustomToken(X2_CI_MODIFYARMOR_GP_CTOKENBASE+1,"0"); + + SetCustomToken(XP_IP_ITEMMODCONVERSATION_CTOKENBASE, sName); +} + +int MK_GetIsModifiableWeapon(object oItem) +{ + int nBaseType = GetBaseItemType(oItem); + + // Modifiable Weapons are ModelType 2 (?) + int nModelType = MK_Get2DAInt("baseitems","ModelType",nBaseType); + if (nModelType!=2) + { + return FALSE; + } + // Weapons should have a Weapon Size (?) + int nWeaponSize = MK_Get2DAInt("baseitems","WeaponSize",nBaseType); + if (nWeaponSize==0) + { + return FALSE; + } + return TRUE; +} + +int MK_GetIsShield(object oItem) +{ + int bShield; + + switch (GetBaseItemType(oItem)) + { + case BASE_ITEM_LARGESHIELD: + case BASE_ITEM_SMALLSHIELD: + case BASE_ITEM_TOWERSHIELD: + bShield=TRUE; + break; + default: + bShield=FALSE; + break; + } + return bShield; +} + +void MK_InitializeEditDescription(object oPC, object oObject) +{ + string sDescription = GetDescription(oObject, FALSE); + string sOriginalDescription = GetDescription(oObject, TRUE); + + MK_GenericDialog_SetCondition(22, sDescription!=sOriginalDescription); + + SetLocalString(oPC, g_varEditorText, sDescription); + + if (MK_GetStringLength(sDescription, TRUE)>200) + { + sDescription = MK_CloseColorTags(MK_GetStringLeft(sDescription,200, TRUE)+"..."); + } + SetCustomToken(MK_TOKEN_PARTSTRING, sDescription); +} + +void MK_InitializeRenameItem(object oPC, object oItem) +{ + string sName = GetName(oItem, FALSE); + string sNewName = GetLocalString(oPC, "MK_NEWNAME"); + string sOriginalName = GetName(oItem, TRUE); + + SetCustomToken(MK_TOKEN_PARTSTRING, sName); + + int i; + int bOk; + + for (i=21; i<=22; i++) + { + bOk = FALSE; + + switch (i) + { + case 21: + if ((sNewName!="") && (sNewName!=sName)) + { + SetCustomToken(MK_TOKEN_NEWNAME , "'"+sNewName+"'"); + bOk = TRUE; + } + break; + case 22: + if (sName!=sOriginalName) + { + SetCustomToken(MK_TOKEN_ORIGINALNAME , "'"+sOriginalName+"'"); + bOk = TRUE; + } + break; + } + MK_GenericDialog_SetCondition(i, bOk); + } + + // + SetLocalString(oPC, g_varEditorText, (sNewName=="" ? sName : sNewName)); +} + +void MK_PrepareEditor(object oPC, int nEditorID, int nOK, int nCancel, + string sHeadLine, int nMaxLength, int bSingleLine, int bDisableColors, + int bUseChatEvent) +{ + SetLocalInt(oPC, g_varEditorID, nEditorID); + SetLocalInt(oPC, g_varEditorOK, nOK); + SetLocalInt(oPC, g_varEditorCancel, nCancel); + SetLocalInt(oPC, g_varEditorInit, 1); + // to make sure the editor gets initialized. + // Without this the editor doesn't get initialized and everything + // will most likely look very strange. + // So this is REQUIRED !!! + + SetLocalString(oPC, g_varEditorHeadLine, sHeadLine); + // text displayed as 'headline'. Set it something different than "" + // Otherwise the default headline 'IGTE vsersion - Text:' will be + // displayed. + + // Allready done in MK_InitializeRenameItem() so we don't have to it here: + // + // SetLocalString(oPC, g_varEditorText, sText); + // the text that gets edited. Without this the text editor will start + // empty (or containing something strange in case there are some remains + // from a previous call. + + // We don't need it: + // + SetLocalString(oPC, g_varEditorOnInit, ""); + // the OnInit script gets called after the editor is initialized. + // if you don't need it set it to "". + + // We don't need it: + // + SetLocalString(oPC, g_varEditorOnExit, ""); + // the OnExit script, gets called when the user exits the editor + // using the 'Exit' (= OK) option. + // that's the place where you should process the edited text. + // replace 'mk_editor_onexit' with your script name. + // Not required but without it the whole thing doesn't make much + // sense because everything the user has done is lost. + + // We don't need it: + // + SetLocalString(oPC, g_varEditorOnCancel, ""); + // the name of the 'OnCancel' script, gets called when the user + // exits the editor by choosing the 'Cancel' option. + // Warning: the script does not get called if the user uses 'escape' + // to exit the dialog. + // replace 'mk_editor_oncncl' with your script name or set it to an + // empty string if you don't have/need an 'OnCancel' script. + + SetLocalInt(oPC, g_varEditorMaxLength, nMaxLength); + // You can limit the length of the text by setting the variable + // g_varEditorMaxLength to value greater 0 + + SetLocalInt(oPC, g_varEditorSingleLine, bSingleLine); + // Setting 'g_varEditorSingleLine' to TRUE will disable the + // 'Return (insert new line)' dialog option. + + SetLocalInt(oPC, g_varEditorDisableColors, bDisableColors); + // Setting 'g_varEditorDisableColors' to TRUE will disable the + // 'Colors (insert color codes)' dialog option. + // Warning: the user still can use the chat line to insert color tags. + + SetLocalInt(oPC, g_varEditorDisableBlock, FALSE); + // Setting 'g_varEditorDisableBlock' to TRUE will disable the following + // dialog options: 'Shift Pos 1', 'Shift Left', 'Shift Right', 'Shift + // End', 'Shift Delete', 'Shift Insert' and 'Ctrl Insert'. This will + // perhaps make the editor less confusing but also you lose a lot of + // functionality (you can't use the block operations anymore). + + SetLocalInt(oPC, g_varEditorDisableLoadSave, FALSE); + // If g_varEditorDisableLoadSave is set to TRUE the player cannot load + // or save text. Of course still the text gets saved to + // g_varEditorText (if the player exits the editor using the OK button) + + SetLocalInt(oPC, g_varEditorUseOnPlayerChatEvent, bUseChatEvent); + // if you use the editor in a single player game you don't have to use + // the OnPlayerChatEvent because there are no other players and their + // chat messages can't interfere with the users chat messages. + // In a multiplayer game however you should use the OnPlayerChat event + // to store the chat message as a variable on the player. The editor then + // will use that variable instead of using the GetPCChatMessage command to + // get the text entered by the user. + // The OnPlayerChat event script should look like: + // + // #include "mk_inc_editor" + // void main() + // { + // object oPC = GetPCChatSpeaker(); + // string sChatMessage = GetPCChatMessage(); + // + // int bEditorRunning = GetLocalInt(oPC, g_varEditorRunning); + // if (bEditorRunning) // the editor is running + // { + // int bUseOnPlayerChatEvent = + // GetLocalInt(oPC, g_varEditorUseOnPlayerChatEvent); + // if (bUseOnPlayerChatEvent) + // { + // SetLocalString(oPC, g_varEditorChatMessageString, sChatMessage); + // + // // the following line is not required but will make everything + // // look much better. + // SetPCChatMessage(""); // delete the message so it does not + // // appear above the player's head + // } + // return; + // } + // + // /* + // ... + // */ + // } +} + +string MK_GetDescription(object oObject) +{ + string sDescription = GetDescription(oObject); + if (GetDescription(oObject, TRUE)==sDescription) + { + sDescription = ""; + } + return sDescription; +} + +void MK_SaveCharacterDescription(object oPC) +{ + SetLocalString(oPC, MK_VAR_CHARACTER_DESCRIPTION, + MK_GetDescription(oPC)); +} + +void MK_RestoreCharacterDescription(object oPC) +{ + SetDescription(oPC, GetLocalString(oPC, MK_VAR_CHARACTER_DESCRIPTION)); + DeleteLocalString(oPC, MK_VAR_CHARACTER_DESCRIPTION); +} + +int MK_GetIsDescriptionModified(object oPC) +{ + return MK_GetDescription(oPC)!=GetLocalString(oPC, MK_VAR_CHARACTER_DESCRIPTION); +} + +int MK_RemoveEffectsByTag(object oTarget, string sTagName) +{ + int nResult; + if (GetIsObjectValid(oTarget) && MK_VERSION_GetIsVersionGreaterEqual_1_74()) + { + effect eEff = GetFirstEffect(oTarget); + while (GetIsEffectValid(eEff)) + { + if (GetEffectTag(eEff) == sTagName) + { + nResult++; + RemoveEffect(oTarget, eEff); + } + eEff = GetNextEffect(oTarget); + } + } + return nResult; +} + +int MK_RemoveTemporaryEffects(object oPC, string sTagName, object oTarget=OBJECT_INVALID) +{ + int nResult = 0; + + MK_DEBUG_TRACE("MK_RemoveTemporaryEffects("+GetName(oPC)+",'"+sTagName+"', "+GetName(oTarget)+")"); + + if (!GetIsObjectValid(oTarget)) + { + oTarget = oPC; + } + + if (GetIsObjectValid(oPC)) + { +// int bDisableExtendedEditionFeatures = MK_INIT_GetAreEEFeaturesDisabled(); + int nNWNversion_GE_1_74 = MK_VERSION_GetIsVersionGreaterEqual_1_74(); + + if (nNWNversion_GE_1_74) + { + MK_RemoveEffectsByTag(oPC, sTagName); + if (oPC != oTarget) MK_RemoveEffectsByTag(oTarget, sTagName); + } + else + { + effect eEff = GetFirstEffect(oPC); + while (GetIsEffectValid(eEff)) + { + if ((GetEffectType(eEff) == EFFECT_TYPE_CUTSCENEIMMOBILIZE + && GetEffectCreator(eEff) == oPC + && GetEffectSubType(eEff) == SUBTYPE_EXTRAORDINARY )) + { + nResult++; + RemoveEffect(oPC, eEff); + } + eEff = GetNextEffect(oPC); + } + } + + if (nResult>0) + { + string s1=""; + string s2="s were"; + switch (nResult) + { + case 1: + s1="One"; + s2=" was"; + break; + case 2: + s1="Two"; + break; + case 3: + s1="Three"; + break; + default: + s1=IntToString(nResult); + break; + } + SendMessageToPC(oPC, s1 + " temporary effect" + s2 + " removed."); + } + } + return nResult; +} + +int MK_AddTemporaryEffects(object oPC, string sTagName, int bFreezePlayer, object oTarget=OBJECT_INVALID) +{ + MK_DEBUG_TRACE("MK_AddTemporaryEffects("+GetName(oPC)+",'"+sTagName+"', "+IntToString(bFreezePlayer)+", "+GetName(oTarget)+")"); + + int nResult = 0; + if (!GetIsObjectValid(oTarget)) + { + oTarget = oPC; + } + + if (GetIsObjectValid(oPC)) + { + int nNWNversion_GE_1_74 = MK_VERSION_GetIsVersionGreaterEqual_1_74(); +// int bDisableExtendedEditionFeatures = MK_INIT_GetAreEEFeaturesDisabled(); + + int nDurationType; + float fDuration=0.0f; + + int nVFX = -1; + + if (nNWNversion_GE_1_74) + { + nDurationType = DURATION_TYPE_PERMANENT; + SendMessageToPC(oPC, "Applying temporary light effect - will be removed when crafting dialog terminates."); + nVFX = VFX_DUR_AURA_WHITE; + } + else + { + fDuration = GetLocalFloat(oPC, MK_LIGHTEFFECT_DURATION); + if (fDuration<1.0) + { + fDuration = 120.0; + nDurationType = DURATION_TYPE_TEMPORARY; + } + nVFX = VFX_DUR_LIGHT_WHITE_20; + SendMessageToPC(oPC, "Applying temporary light effect - will disappear after "+IntToString(FloatToInt(fDuration))+" seconds."); + } + MK_VFX_ApplyVisualEffect(nVFX, oTarget, 0, nDurationType, fDuration, MK_TAG_TEMP_EFFECT); + nResult++; + + if (oPC != oTarget) + { + bFreezePlayer = FALSE; + +// if (nNWNversion_GE_1_74) +// { +// MK_VFX_ApplyVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY, oPC, 0, nDurationType, fDuration, MK_TAG_TEMP_EFFECT); +// SendMessageToPC(oPC, "Applying temporary invisibility effect - will be removed when crafting dialog terminates."); +// } + } + + if (bFreezePlayer) + { + //* Immobilize player while crafting + effect eImmob = EffectCutsceneImmobilize(); + eImmob = ExtraordinaryEffect(eImmob); + if (nNWNversion_GE_1_74) + { + eImmob = TagEffect(eImmob, MK_TAG_TEMP_EFFECT); + } + ApplyEffectToObject(DURATION_TYPE_PERMANENT,eImmob,oPC); + SendMessageToPC(oPC, "Applying temporary freeze effect - will be removed when crafting dialog terminates."); + nResult++; + } + } + + return nResult; +} + +int MK_ModPart2StrRef(int nModPart) +{ + int nStrRef=-1; + switch (nModPart) + { + case ITEM_APPR_ARMOR_MODEL_NECK: + nStrRef = 7143; + break; + case ITEM_APPR_ARMOR_MODEL_LSHOULDER: + nStrRef = 7150; + break; + case ITEM_APPR_ARMOR_MODEL_RSHOULDER: + nStrRef = 7146; + break; + case ITEM_APPR_ARMOR_MODEL_LBICEP: + nStrRef = 7151; + break; + case ITEM_APPR_ARMOR_MODEL_RBICEP: + nStrRef = 7147; + break; + case ITEM_APPR_ARMOR_MODEL_LFOREARM: + nStrRef = 7152; + break; + case ITEM_APPR_ARMOR_MODEL_RFOREARM: + nStrRef = 7148; + break; + case ITEM_APPR_ARMOR_MODEL_LHAND: + nStrRef = 7153; + break; + case ITEM_APPR_ARMOR_MODEL_RHAND: + nStrRef = 7149; + break; + case ITEM_APPR_ARMOR_MODEL_TORSO: + nStrRef = 7144; + break; + case ITEM_APPR_ARMOR_MODEL_BELT: + nStrRef = 6745; + break; + case ITEM_APPR_ARMOR_MODEL_PELVIS: + nStrRef = 7145; + break; + case ITEM_APPR_ARMOR_MODEL_LTHIGH: + nStrRef = 83350; + break; + case ITEM_APPR_ARMOR_MODEL_RTHIGH: + nStrRef = 83351; + break; + case ITEM_APPR_ARMOR_MODEL_LSHIN: + nStrRef = 83348; + break; + case ITEM_APPR_ARMOR_MODEL_RSHIN: + nStrRef = 83349; + break; + case ITEM_APPR_ARMOR_MODEL_LFOOT: + nStrRef = 83345; + break; + case ITEM_APPR_ARMOR_MODEL_RFOOT: + nStrRef = 83346; + break; + case ITEM_APPR_ARMOR_MODEL_ROBE: + nStrRef = 83691; + break; + } + return nStrRef; +} + + + +string MK_ModPart2String(int nModPart) +{ + string sReturn=""; + int nStrRef=MK_ModPart2StrRef(nModPart); + if (nStrRef!=-1) + { + sReturn = GetStringByStrRef(nStrRef); + } + return sReturn; +} + +string MK_CurrentModPart2String(object oPC) +{ + string sReturn; + + int nCurrentModPart1 = GetLocalInt(oPC,"X2_TAILOR_CURRENT_PART"); +// int nCurrentModPart2 = MK_GetCurrentModPart2(oPC); + + sReturn = MK_ModPart2String(nCurrentModPart1); +/* if (nCurrentModPart2>=0) + { + sReturn = sReturn + + "\\" + + MK_ModPart2String(nCurrentModPart2); + }*/ + return sReturn; +} + +int MK_GetNumColorsFromModMode(int nModMode) +{ + switch (nModMode) + { + case X2_CI_MODMODE_ARMOR: + return 6; + } + return 1; +} + +int MK_CalculateColorIndex(int nIndex, int nPart) +{ + return (ITEM_APPR_ARMOR_NUM_COLORS + nPart*ITEM_APPR_ARMOR_NUM_COLORS) + nIndex; +} + +void MK_SetAppearanceValue(object oItem, int nType, int nIndex, int nValue) +{ + string sVarName = "MK_APP_"+MK_IntToString(nType, 3, "0")+MK_IntToString(nIndex, 4, "0"); + if (nValue==255) + { + DeleteLocalInt(oItem, sVarName); + } + else + { + SetLocalInt(oItem, sVarName, nValue+1); + } +} + +int MK_GetAppearanceValue(object oItem, int nType, int nIndex) +{ + string sVarName = "MK_APP_"+MK_IntToString(nType, 3, "0")+MK_IntToString(nIndex, 4, "0"); + int nValue = GetLocalInt(oItem, sVarName); + return nValue-1; +} + +int MK_GetItemAppearance(object oItem, int nType, int nIndex) +{ + int nResult = GetItemAppearance(oItem, nType, nIndex); + if ((nType==ITEM_APPR_TYPE_ARMOR_COLOR) && (nIndex>=ITEM_APPR_ARMOR_NUM_COLORS)) + { + if (nResult==-1) + { + nResult = MK_GetAppearanceValue(oItem, nType, nIndex); + } + else + { + MK_DEBUG_TRACE("GetItemAppearance('"+GetName(oItem)+"', "+IntToString(nType) + +", "+IntToString(nIndex)+") = "+IntToString(nResult)+" !!!"); +// int nResultQ = MK_GetAppearanceValue(oItem, nType, nIndex); +// MK_DEBUG_TRACE("MK_GetItemAppearance('"+GetName(oItem)+"', "+IntToString(nType) +// +", "+IntToString(nIndex)+"): GetItemAppearance="+IntToString(nResult) +// +", AppearanceValue="+IntToString(nResultQ)); +// nResult = nResultQ; + } + } + return nResult; +} + +int MK_GetItemAppearance2(object oItem, int nType, int nIndex, int nIndex2) +{ + int nAppearance=-1; + switch (nType) + { + case ITEM_APPR_TYPE_ARMOR_COLOR: + nAppearance = GetItemAppearance(oItem, nType, nIndex); + if (nIndex2!=-1) + { + if (MK_IAAM_GetIsBase(nIndex2)) + { + nIndex = MK_CalculateColorIndex(nIndex, nIndex2); + } + else if (MK_IAAM_GetIsValid(nIndex2)) + { + nIndex = MK_CalculateColorIndex(nIndex, MK_IAAM_GetPart(nIndex2, 0)); + } + else + { + nIndex = -1; + } + if (nIndex!=-1) + { + int nValue = MK_GetAppearanceValue(oItem, nType, nIndex); + if (nValue>=0) + { + nAppearance = nValue; + } + } + } + break; + case ITEM_APPR_TYPE_ARMOR_MODEL: + if (MK_IAAM_GetIsValid(nIndex)) + { + nIndex = MK_IAAM_GetPart(nIndex, 0); + nAppearance = GetItemAppearance(oItem, nType, nIndex); + } + break; + default: + nAppearance = GetItemAppearance(oItem, nType, nIndex); + break; + } + return nAppearance; +} + +int MK_GetItemColor(object oPC, object oItem, int nType, int nIndex) +{ + int nAppearance; + int nMaterial = MK_IAAC_GetColor(nIndex, 0); + if (GetLocalInt(oPC, MK_PERPARTCOLORING)) + { + int nPart = MK_GetCurrentModPart(oPC); + nAppearance = MK_GetItemAppearance2(oItem, nType, nMaterial, nPart); +// MK_DEBUG_TRACE("MK_GetItemColor('"+GetName(oItem)+"', nType="+IntToString(nType)+", nIndex="+IntToString(nIndex) +// +", nMaterial="+IntToString(nMaterial)+", nPart="+IntToString(nPart)+")="+IntToString(nAppearance)); + } + else + { + nAppearance = GetItemAppearance(oItem, nType, nMaterial); +// MK_DEBUG_TRACE("MK_GetItemColor('"+GetName(oItem)+"', nType="+IntToString(nType)+", nIndex="+IntToString(nIndex) +// +", nMaterial="+IntToString(nMaterial)+")="+IntToString(nAppearance)); + } + return nAppearance; +} + +int MK_GetIsPerPartColored(object oItem, int nType, int nIndex, int nPart) +{ + int nReturn=0; +// MK_DEBUG_TRACE("MK_GetIsPerPartColored(nIndex="+IntToString(nIndex) +// +", nPart="+IntToString(nPart)+")..."); + switch (nType) + { + case ITEM_APPR_TYPE_ARMOR_COLOR: + if ((nIndex!=-1) && (nPart!=-1)) + { + if (MK_IAAC_GetIsBase(nIndex) && MK_IAAM_GetIsBase(nPart)) + { + if (MK_GetAppearanceValue(oItem, nType, MK_CalculateColorIndex(nIndex, nPart))>=0) + { + nReturn = 1; + } + } + else if (!MK_IAAM_GetIsBase(nPart)) + { + int nPartCount = MK_IAAM_GetPartCount(nPart); + int iModel; + for (iModel=0; iModel item is possessed by '"+GetName(GetItemPossessor(oItem))+"'."); + +// int nSlot = MK_GetCurrentInventorySlot(oPC); + object oContainer = MK_IPGetIPWorkContainer(); + if (GetIsObjectValid(oContainer)) + { + MK_DEBUG_TRACE("> "+GetName(oContainer)+" is valid!"); + } + +// object oItem = GetItemInSlot(nSlot, oPC); + + object oBackup = MK_CopyItem(oItem, oContainer, TRUE); + + // Mark the backup item. In case of a multiplayer crash this can be used + // to re-equip the backup item. + // SetLocalInt(oBackup, "MK_CRAFTING_BACKUP", nSlot+1); + CISetCurrentModBackup(oPC, oBackup); + MK_DEBUG_TRACE("> backup item created on "+GetName(oContainer)+" and stored."); + MK_DEBUG_TRACE("> backup item is possessed by '"+GetName(GetItemPossessor(oBackup))+"'."); + + if (bCreateMirror) + { + MK_SetModifyItemUseContainer(oPC, bUseContainer); + if (bUseContainer) + { + MK_DEBUG_TRACE("> modifying item will use container "+GetName(oContainer)+" (hopefully)!"); + object oMirror = oItem; + oItem = MK_CopyItem(oMirror, oContainer, TRUE); + MK_SetCurrentModMirror(oPC, oMirror); + SetLocalInt(oMirror, "MK_MIRRORITEM", 1); + MK_DEBUG_TRACE("> mirror item created to reflect item changes."); + MK_DEBUG_TRACE("> mirror item is possessed by '"+GetName(GetItemPossessor(oMirror))+"'."); + MK_DEBUG_TRACE("> current item is possessed by '"+GetName(GetItemPossessor(oItem))+"'."); + } + else + { + MK_DEBUG_TRACE("> modifying item will use players inventory!"); + MK_SetCurrentModMirror(oPC, OBJECT_INVALID); + MK_DEBUG_TRACE("> current item is possessed by '"+GetName(GetItemPossessor(oItem))+"'."); + } + } + + CISetCurrentModItem(oPC, oItem); + MK_DEBUG_TRACE("> current mod item set."); + MK_DEBUG_TRACE("> current mod item is '"+GetName(CIGetCurrentModItem(oPC))+"'."); +} + +void MK_DupeItemFix(object oItem) +{ + itemproperty ip = GetFirstItemProperty(oItem); + while(GetIsItemPropertyValid(ip)) + { + RemoveItemProperty(oItem,ip); + ip = GetNextItemProperty(oItem); + } + AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertyLimitUseByClass(20),oItem); + SetDescription(oItem,"This item was duped!"); + SetStolenFlag(oItem,TRUE); + SetLocalInt(oItem,"DUPLICATED_ITEM",TRUE); +} + +void MK_DestroyItem(object oItem, int bShowUnacquireItemMessage) +{ + if (GetIsObjectValid(oItem)) + { + SetLocalInt(oItem, "MK_ITEM_DESTROYED", TRUE); +// int bUnacquireItemMessageDisabled = FALSE; +// if (!bShowUnacquireItemMessage && MK_VERSION_GetIsBuildVersionGreaterEqual(OBJECT_SELF, 8193, 21)) +// { +// SetTlkOverride(10469, ""); +// bUnacquireItemMessageDisabled = TRUE; +// } + DestroyObject(oItem); +// if (bUnacquireItemMessageDisabled) +// { +// SetTlkOverride(10469, ""); +// } + } +} + +int MK_SearchItem(object oPC, object oItem) +{ + if (GetIsObjectValid(oItem) && GetIsObjectValid(oPC)) + { + int iSlot=0; + for (iSlot=0; iSlot<=NUM_INVENTORY_SLOTS; iSlot++) + { + if (GetItemInSlot(iSlot, oPC) == oItem) + { + return iSlot; + } + } + } + return -1; +} + +void MK_CancelModifyItem(object oTarget, object oPC) +{ + object oBackup = CIGetCurrentModBackup(oPC); + object oItem = CIGetCurrentModItem(oPC); + object oMirror = MK_GetCurrentModMirror(oPC); + + int nInventorySlot = MK_GetCurrentInventorySlot(oPC); + + int bUseContainer = GetIsObjectValid(oMirror); + + if (nInventorySlot == 256) + { + nInventorySlot = MK_SearchItem(oPC, (bUseContainer ? oMirror : oItem)); + } + + if (bUseContainer) + { + MK_DupeItemFix(oMirror); + MK_DestroyItem(oMirror); + } + else + { + MK_DupeItemFix(oItem); + } + + object oNew = MK_CopyItem(oBackup, oTarget, TRUE); + + MK_DestroyItem(oItem); + DestroyObject(oBackup); + + AssignCommand(oTarget, ClearAllActions(TRUE)); + + if (nInventorySlot != -1) + { +// AssignCommand(oTarget, ActionEquipItem(oNew,nInventorySlot)); + MK_ActionEquipItem(oTarget, oNew, nInventorySlot); + } +} + +void MK_FinishModifyItem(object oTarget, object oPC) +{ + object oBackup = CIGetCurrentModBackup(oPC); + object oMirror = MK_GetCurrentModMirror(oPC); + object oItem; + object oNew; + + if (GetIsObjectValid(oMirror)) + { + MK_DestroyItem(oMirror, FALSE); + object oItem = CIGetCurrentModItem(oPC); + oNew = MK_CopyItem(oItem, oTarget, TRUE, FALSE); + DestroyObject(oItem); + } + else + { + oNew = CIGetCurrentModItem(oPC); + } + + AssignCommand(oTarget, ClearAllActions(TRUE)); + int nInventorySlot = MK_GetCurrentInventorySlot(oPC); + if (nInventorySlot != -1) + { +// AssignCommand(oTarget, ActionEquipItem(oNew,nInventorySlot)); + MK_ActionEquipItem(oTarget, oNew, nInventorySlot); + } + + switch (CIGetCurrentModMode(oPC)) + { + case MK_CI_MODMODE_ITEM: + break; + default: + //------------------------------------------------------------------- + // This is to work around a problem with temporary item properties + // sometimes staying around when they are on a cloned item. + //------------------------------------------------------------------- + if (!GetLocalInt(oPC, "MK_KEEP_TEMP_ITEM_PROPS")) + { + IPRemoveAllItemProperties(oNew, DURATION_TYPE_TEMPORARY); + } + break; + } + + // remove backup + DestroyObject(oBackup); +} + +void MK_EquipModifiedItem(object oTarget, object oPC) +{ + MK_DEBUG_TRACE("MK_EquipModifiedItem("+GetName(oPC)+")"); + +// MK_DEBUG_TRACE("> GetModifyItemUseContainer: "+IntToString(MK_GetModifyItemUseContainer(oPC))+"."); + + if (MK_GetModifyItemUseContainer(oPC)) + { +// MK_DEBUG_TRACE("> GetCurrentItemIsModified: "+IntToString(MK_GetCurrentItemIsModified(oPC, FALSE))+"."); + if (MK_GetUpdateMirror(oPC)) + { +// MK_DEBUG_TRACE("> GetUpdateMirror: "+IntToString(MK_GetUpdateMirror(oPC))+"."); + if (MK_GetCurrentItemIsModified(oPC)) + { + object oItem = CIGetCurrentModItem(oPC); + AssignCommand(oTarget,ClearAllActions(TRUE)); + int nInventorySlot = MK_GetCurrentInventorySlot(oPC); + + object oMirror = MK_GetCurrentModMirror(oPC); + if (GetIsObjectValid(oMirror)) + { + MK_DestroyItem(oMirror, FALSE); + } + object oNew = MK_CopyItem(oItem, oTarget, TRUE, FALSE); + + MK_DEBUG_TRACE("> modified item copied to Target!"); + MK_SetCurrentModMirror(oPC, oNew); + MK_DEBUG_TRACE("> copy set as mirror item"); + SetLocalInt(oNew, "MK_MIRRORITEM", 1); +// AssignCommand(oTarget, ActionEquipItem(oNew, nInventorySlot)); + MK_ActionEquipItem(oTarget, oNew, nInventorySlot); + MK_DEBUG_TRACE("> mirror item equipped!"); + } + } + } + else + { + object oItem = CIGetCurrentModItem(oPC); + AssignCommand(oTarget,ClearAllActions(TRUE)); + int nInventorySlot = MK_GetCurrentInventorySlot(oPC); +// AssignCommand(oTarget, ActionEquipItem(oItem, nInventorySlot)); + MK_ActionEquipItem(oTarget, oItem, nInventorySlot); + MK_DEBUG_TRACE("> modified item equipped!"); + } +} + +void MK_VerifyCurrentModItem(object oPC, string s) +{ + object oItem = CIGetCurrentModItem(oPC); + if (GetIsObjectValid(oItem)) + { + int bMirror = GetLocalInt(oItem, "MK_MIRRORITEM"); + if (bMirror) + MK_DEBUG_TRACE(s+" :MIRROR : current mod item: '"+GetName(oItem)+"', possessed by '"+GetName(GetItemPossessor(oItem))+"'."); + else + MK_DEBUG_TRACE(s+" :OK : current mod item: '"+GetName(oItem)+"', possessed by '"+GetName(GetItemPossessor(oItem))+"'."); + } + else + { + MK_DEBUG_TRACE(s+" :INVALID: current mod item is invalid."); + } +} + +int MK_GetModifyShieldMode(object oPC) +{ + int nReturn = GetLocalInt(oPC, "MK_MODIFYSHIELD_MODE"); + switch (nReturn) + { + case 1: + case 2: + break; + default: + nReturn = (MK_VERSION_GetIsVersionGreaterEqual_1_74(oPC) ? 2 : 1); + break; + } + return nReturn; +} + +void MK_IM_NextPart(object oTarget, object oPC, object oItem, int nPart) +{ + if(GetIsObjectValid(oItem)) + { + object oNew = OBJECT_INVALID; + + switch (CIGetCurrentModMode(oPC)) + { + case X2_CI_MODMODE_ARMOR: + oNew = MK_GetModifiedArmor(oPC, oItem, nPart, X2_IP_ARMORTYPE_NEXT, TRUE); + break; + case X2_CI_MODMODE_WEAPON: + oNew = MK_GetModifiedWeapon(oItem, nPart, X2_IP_WEAPONTYPE_NEXT, TRUE); + MK_DEBUG_TRACE("MK_IM_NextPart: nAppearance="+IntToString(GetItemAppearance(oNew, ITEM_APPR_TYPE_SIMPLE_MODEL, nPart))); +// CISetCurrentModItem(oPC,oNew); + break; + case MK_CI_MODMODE_CLOAK: + oNew = MK_GetModifiedCloak(oItem, nPart, MK_IP_ITEMTYPE_NEXT, TRUE); +// CISetCurrentModItem(oPC,oNew); + break; + case MK_CI_MODMODE_HELMET: + oNew = MK_GetModifiedHelmet(oItem, MK_IP_ITEMTYPE_NEXT, TRUE); +// CISetCurrentModItem(oPC,oNew); + break; + case MK_CI_MODMODE_SHIELD: + switch (MK_GetModifyShieldMode(oPC)) + { + case 1: + oNew = MK_GetModifiedShield(oItem, MK_IP_ITEMTYPE_NEXT, TRUE); + break; + case 2: + oNew = MK_GetModifiedWeapon(oItem, 0, X2_IP_WEAPONTYPE_NEXT, TRUE); + break; + } +// CISetCurrentModItem(oPC,oNew); + break; + } + if (GetIsObjectValid(oNew)) + { + CISetCurrentModItem(oPC,oNew); + MK_EquipModifiedItem(oTarget, oPC); + } + } +} + +void MK_IM_PrevPart(object oTarget, object oPC, object oItem, int nPart) +{ + if(GetIsObjectValid(oItem)) + { + object oNew = OBJECT_INVALID; + + switch (CIGetCurrentModMode(oPC)) + { + case X2_CI_MODMODE_ARMOR: + oNew = MK_GetModifiedArmor(oPC, oItem, nPart, X2_IP_ARMORTYPE_PREV, TRUE); + break; + case X2_CI_MODMODE_WEAPON: + oNew = MK_GetModifiedWeapon(oItem, nPart, X2_IP_WEAPONTYPE_PREV, TRUE); + break; + case MK_CI_MODMODE_CLOAK: + oNew = MK_GetModifiedCloak(oItem, nPart, MK_IP_ITEMTYPE_PREV, TRUE); + break; + case MK_CI_MODMODE_HELMET: + oNew = MK_GetModifiedHelmet(oItem, MK_IP_ITEMTYPE_PREV, TRUE); + break; + case MK_CI_MODMODE_SHIELD: + switch (MK_GetModifyShieldMode(oPC)) + { + case 1: + oNew = MK_GetModifiedShield(oItem, MK_IP_ITEMTYPE_PREV, TRUE); + break; + case 2: + oNew = MK_GetModifiedWeapon(oItem, 0, X2_IP_WEAPONTYPE_PREV, TRUE); + break; + } + break; + } + if (GetIsObjectValid(oNew)) + { + CISetCurrentModItem(oPC,oNew); + MK_EquipModifiedItem(oTarget, oPC); + } + } +} + +void MK_IM_ClearPart(object oTarget, object oPC, object oItem, int nPart) +{ + if(GetIsObjectValid(oItem)) + { + object oNew = OBJECT_INVALID; + + switch (CIGetCurrentModMode(oPC)) + { + case X2_CI_MODMODE_ARMOR: + oNew = MK_GetModifiedArmor(oPC, oItem, nPart, MK_IP_ITEMTYPE_CLEAR, TRUE); + break; + case MK_CI_MODMODE_CLOAK: + oNew = MK_GetModifiedCloak(oItem, nPart, MK_IP_ITEMTYPE_CLEAR, TRUE); + break; + } + if (GetIsObjectValid(oNew)) + { + CISetCurrentModItem(oPC,oNew); + MK_EquipModifiedItem(oTarget, oPC); + } + } +} + +void MK_IM_OppositePart(object oTarget, object oPC, object oItem, int nPart) +{ + if(GetIsObjectValid(oItem)) + { + object oNew = OBJECT_INVALID; + + switch (CIGetCurrentModMode(oPC)) + { + case X2_CI_MODMODE_ARMOR: + if (MK_IAAM_GetHasOpposite(nPart)) + { + oNew = MK_GetModifiedArmor(oPC, oItem, nPart, MK_IP_ITEMTYPE_OPPOSITE, TRUE); + } + break; + } + if (GetIsObjectValid(oNew)) + { + CISetCurrentModItem(oPC,oNew); + MK_EquipModifiedItem(oTarget, oPC); + } + } +} + +void MK_IM_ToggleVisibility(object oTarget, object oPC, object oItem) +{ + if (GetIsObjectValid(oItem)) + { + MK_SetHiddenWhenEquipped(oItem, !MK_GetHiddenWhenEquipped(oItem)); + MK_SetItemIsModified(oItem, TRUE); + MK_EquipModifiedItem(oTarget, oPC); + } +} + +int MK_IM_GetColorCount(object oPC) +{ + int nColorCount = GetLocalInt(oPC, "MK_IM_COLOR_COUNT"); + if (nColorCount==0) + { + nColorCount = MK_Get2DALength("mk_color", "Cloth"); + SetLocalInt(oPC, "MK_IM_COLOR_COUNT", nColorCount); + } + return nColorCount; +} + +void MK_IM_NextColor(object oTarget, object oPC, object oItem, int nPart) +{ + if(GetIsObjectValid(oItem)) + { + object oNew = OBJECT_INVALID; + + switch (CIGetCurrentModMode(oPC)) + { + case X2_CI_MODMODE_ARMOR: + case MK_CI_MODMODE_CLOAK: + case MK_CI_MODMODE_HELMET: + { + int iMaterialToDye = GetLocalInt(oPC, "MK_MaterialToDye"); + int iColor = MK_GetItemColor(oPC, oItem, ITEM_APPR_TYPE_ARMOR_COLOR, iMaterialToDye); + int nColors = MK_IM_GetColorCount(oPC); + +// MK_DEBUG_TRACE("MK_IM_NextColor: iMaterialToDye="+IntToString(iMaterialToDye) +// +", oldColor="+IntToString(iColor)+", newColor="+IntToString((iColor+1) % 176)); + + iColor = (iColor+1) % nColors; + + MK_DyeItem(oTarget, oPC,iMaterialToDye,iColor); + + break; + } + case X2_CI_MODMODE_WEAPON: + { + oNew = MK_GetModifiedWeapon(oItem, nPart, MK_IP_WEAPONCOLOR_NEXT, TRUE); + break; + } + case MK_CI_MODMODE_SHIELD: + oNew = MK_GetModifiedWeapon(oItem, 0, MK_IP_WEAPONCOLOR_NEXT, TRUE); + break; + } + + if (GetIsObjectValid(oNew)) + { + CISetCurrentModItem(oPC,oNew); + MK_EquipModifiedItem(oTarget, oPC); + } + } +} + +void MK_IM_PrevColor(object oTarget, object oPC, object oItem, int nPart) +{ + if(GetIsObjectValid(oItem)) + { + object oNew = OBJECT_INVALID; + + switch (CIGetCurrentModMode(oPC)) + { + case X2_CI_MODMODE_ARMOR: + case MK_CI_MODMODE_CLOAK: + case MK_CI_MODMODE_HELMET: + { + int iMaterialToDye = GetLocalInt(oPC, "MK_MaterialToDye"); + int iColor = MK_GetItemColor(oPC, oItem, ITEM_APPR_TYPE_ARMOR_COLOR, iMaterialToDye); + int nColors = MK_IM_GetColorCount(oPC); + + iColor = (iColor+nColors-1) % nColors; + + MK_DyeItem(oTarget, oPC, iMaterialToDye, iColor); + break; + } + case X2_CI_MODMODE_WEAPON: + { + oNew = MK_GetModifiedWeapon(oItem, nPart, MK_IP_WEAPONCOLOR_PREV, TRUE); + break; + } + case MK_CI_MODMODE_SHIELD: + oNew = MK_GetModifiedWeapon(oItem, 0, MK_IP_WEAPONCOLOR_PREV, TRUE); + break; + } + + if (GetIsObjectValid(oNew)) + { + CISetCurrentModItem(oPC,oNew); + MK_EquipModifiedItem(oTarget, oPC); + } + } +} + +void MK_SetCurrentTarget(object oPC, object oTarget, int bKeepTarget) +{ + SetLocalObject(oPC, MK_CURRENT_TARGET, oTarget); +// SetLocalInt(oPC, MK_KEEP_CURRENT_TARGET, bKeepTarget); +} + +object MK_GetCurrentTarget(object oPC) +{ +// return OBJECT_SELF; + object oTarget = GetLocalObject(oPC, MK_CURRENT_TARGET); + return (GetIsObjectValid(oTarget) ? oTarget : OBJECT_SELF); +} + +void MK_BackupPlayerTargetScript() +{ + object oModule = GetModule(); + int nPlayerTargetingModeCount = GetLocalInt(oModule, "MK_PLAYERTARGETMODECOUNTER"); + if (nPlayerTargetingModeCount==0) + { + string sOriginalPlayerTargetScript = GetEventScript(oModule, EVENT_SCRIPT_MODULE_ON_PLAYER_TARGET); + if ((sOriginalPlayerTargetScript!="") && (sOriginalPlayerTargetScript!=MK_CCOH_ONPLAYERTARGETSCRIPT)) + { + MK_DEBUG_TRACE("Saving original OnPlayerTarget script '"+sOriginalPlayerTargetScript+"'"); + SetLocalString(oModule, MK_BACKUP_PLAYERTARGETSCRIPT, sOriginalPlayerTargetScript); + } + } + SetLocalInt(oModule, "MK_PLAYERTARGETMODECOUNTER", ++nPlayerTargetingModeCount); +} + +void MK_SetPlayerTargetScript(string sScript, int bBackup=TRUE) +{ + if (bBackup) + { + MK_BackupPlayerTargetScript(); + } + SetEventScript(GetModule(), EVENT_SCRIPT_MODULE_ON_PLAYER_TARGET, sScript); +} + +void MK_RestorePlayerTargetScript() +{ + object oModule = GetModule(); + int nPlayerTargetingModeCount = GetLocalInt(oModule, "MK_PLAYERTARGETMODECOUNTER"); + if (nPlayerTargetingModeCount==1) + { + string sPlayerTargetScript =GetEventScript(oModule, EVENT_SCRIPT_MODULE_ON_PLAYER_TARGET); + if (sPlayerTargetScript == MK_CCOH_ONPLAYERTARGETSCRIPT) + { + string sOriginalPlayerTargetScript = GetLocalString(oModule, MK_BACKUP_PLAYERTARGETSCRIPT); + if (sOriginalPlayerTargetScript!="") + { + MK_DEBUG_TRACE("Restoring original OnPlayerTarget script '"+sOriginalPlayerTargetScript+"'"); + SetEventScript(oModule, EVENT_SCRIPT_MODULE_ON_PLAYER_TARGET, sOriginalPlayerTargetScript); + DeleteLocalString(oModule, MK_BACKUP_PLAYERTARGETSCRIPT); + } + } + } + SetLocalInt(oModule, "MK_PLAYERTARGETMODECOUNTER", --nPlayerTargetingModeCount); +} + +int MK_GetIsPartBasedAppearanceType(object oTarget) +{ + int nAppearance = GetAppearanceType(oTarget); + string sModelType = Get2DAString("appearance", "MODELTYPE", nAppearance); + return (sModelType == "P"); +} + +void MK_ActionEquipItem(object oTarget, object oItem, int nInventorySlot, float fDelay) +{ + MK_DEBUG_TRACE("MK_ActionEquipItem('"+GetName(oTarget)+'", '"+GetName(oItem)+"', nSlot="+IntToString(nInventorySlot)+")"); + int nIdentified = MK_IPRP_SetIdentified(oItem, TRUE); + if (!nIdentified) MK_DEBUG_TRACE(" > item identified: "+IntToString(GetIdentified(oItem))); + AssignCommand(oTarget, ActionEquipItem(oItem, nInventorySlot)); + DelayCommand(fDelay, SetIdentified(oItem, nIdentified)); +} + + +/* +void main() +{ +} +/**/ diff --git a/_module/nss/mk_inc_craft_0.nss b/_module/nss/mk_inc_craft_0.nss new file mode 100644 index 00000000..f9dad405 --- /dev/null +++ b/_module/nss/mk_inc_craft_0.nss @@ -0,0 +1,18 @@ +// mk_inc_craft_0 + +/* Defined in x2_inc_craft +const int X2_CI_MODMODE_INVALID = 0; +const int X2_CI_MODMODE_ARMOR = 1; +const int X2_CI_MODMODE_WEAPON = 2; +*/ +const int MK_CI_MODMODE_CLOAK = 3; +const int MK_CI_MODMODE_HELMET = 4; +const int MK_CI_MODMODE_SHIELD = 5; +const int MK_CI_MODMODE_CHARACTER = 8; // character description +const int MK_CI_MODMODE_BODY = 9; + +/* +void main( +{ +} +/**/ diff --git a/_module/nss/mk_inc_debug.nss b/_module/nss/mk_inc_debug.nss new file mode 100644 index 00000000..391703eb --- /dev/null +++ b/_module/nss/mk_inc_debug.nss @@ -0,0 +1,55 @@ + +void MK_DEBUG_TRACE(string s); + +int MK_DEBUG_GetDebugMode(); + +object MK_DEBUG_GetPC(object oPC = OBJECT_SELF) +{ + if (GetIsPC(oPC)) + { + return oPC; + } + oPC = GetMaster(oPC); + if (GetIsPC(oPC)) + { + return oPC; + } + return GetFirstPC(); +} + +int MK_DEBUG_GetDebugMode() +{ + return GetLocalInt(GetModule(), "MK_DISPLAY_DEBUG_MESSAGES"); +} + +void MK_DEBUG_TRACE(string s) +{ + if (!MK_DEBUG_GetDebugMode()) return; + object oPC = MK_DEBUG_GetPC(OBJECT_SELF); + if (GetIsObjectValid(oPC)) + { + SendMessageToPC(oPC, s); + } +/**/ +} + +/* +void MK_DEBUG_SetCustomToken(int nCustomTokenNumber, string sTokenValue) +{ + SetCustomToken(nCustomTokenNumber, sTokenValue); + MK_DEBUG_TRACE("SetCustomToken("+IntToString(nCustomTokenNumber)+",'"+sTokenValue+'")"); +} +*/ + +void MK_DEBUG_SpawnScriptDebugger() +{ + if (!MK_DEBUG_GetDebugMode()) return; + SpawnScriptDebugger(); +} + +/* +void main() +{ + +} +/**/ diff --git a/_module/nss/mk_inc_delimiter.nss b/_module/nss/mk_inc_delimiter.nss new file mode 100644 index 00000000..b1d07294 --- /dev/null +++ b/_module/nss/mk_inc_delimiter.nss @@ -0,0 +1,31 @@ +//#include "x3_inc_string" +#include "mk_inc_generic" + +void MK_DELIMITER_Initialize(int bEnable=TRUE, int nCondition=MK_DELIMITER_CONDITION); + +void MK_DELIMITER_Initialize(int bEnable, int nCondition) +{ + bEnable = bEnable && MK_DELIMITER_GetUseDelimiter(); + string sToken=""; + if (bEnable) + { +// string sRGB = GetLocalString(OBJECT_SELF, MK_DELIMITER_COLOR); + string sColorTag = GetLocalString(MK_GetObjectQ(), MK_DELIMITER_COLOR); + string sColorEnd = ""; + sToken = sColorTag + "--------------------------------------------------" + sColorEnd; +// sToken = StringToRGBString("--------------------------------------------------",sRGB); + } + SetCustomToken(MK_DELIMITER_TOKEN, sToken); + + if (nCondition!=MK_DELIMITER_CONDITION) + { + MK_GenericDialog_SetCondition(nCondition, bEnable); + } +} + +/* +void main() +{ + +} +/**/ diff --git a/_module/nss/mk_inc_editor.nss b/_module/nss/mk_inc_editor.nss new file mode 100644 index 00000000..a2724ab9 --- /dev/null +++ b/_module/nss/mk_inc_editor.nss @@ -0,0 +1,128 @@ +#include "mk_inc_time" + +const string g_varEditorOnExit = "MK_EditBox_OnExit"; +const string g_varEditorOnCancel = "MK_EditBox_OnCancel"; +const string g_varEditorOnInit = "MK_EditBox_OnInit"; + +const string g_varEditorHeadLine = "MK_Editor_HeadLine"; +const string g_varEditorInit = "MK_Editor_Init"; +const string g_varEditorText = "MK_Editor_Text"; +const string g_varEditorMaxLength = "MK_Editor_MaxLength"; +const string g_varEditorSingleLine = "MK_Editor_SingleLine"; +const string g_varEditorDisableColors = "MK_Editor_DisableColors"; +const string g_varEditorDisableBlock = "MK_Editor_DisableBlock"; +const string g_varEditorUseOnPlayerChatEvent = "MK_Editor_UseOnPlayerChatEvent"; +const string g_varEditorChatMessageString = "MK_Editor_ChatMessageString"; +const string g_varEditorDisableLoadSave = "MK_Editor_DisableLoadSave"; +const string g_varEditorID = "MK_Editor_ID"; +const string g_varEditorOK = "MK_Editor_OK"; +const string g_varEditorCancel = "MK_Editor_Cancel"; + +const string g_varEditorBuffer = "MK_Editor_Buffer"; +const string g_varEditorClipboard = "MK_Editor_Clipboard"; +const string g_varEditorCursor = "MK_Editor_Cursor"; +const string g_varEditorBlock = "MK_Editor_Block"; +const string g_varEditorMenuMode = "MK_Editor_MenuMode"; +const string g_varEditorRunning = "MK_Editor_Running"; + +const string g_varEditorLastAction = "MK_Editor_LastAction"; +const string g_varEditorTimeStamp = "MK_Editor_TimeStamp"; +const string g_varEditorCursorSpeedMode = "MK_Editor_CursorSpeedMode"; + +const string g_varEditorLoadSaveSlots = "MK_EditorFileSlot_"; +// MK_EditorFileSlot_01, MK_EditorFileSlot_02, ... + +const string g_varEditorCounter = "MK_Editor_Counter"; + +const string g_varEditorColor2DA = "MK_Editor_Color2DA"; + +void MK_Editor_ExecuteScript(object oPC, string sVarName); + +string MK_Editor_GetScript(object oPC, string sVarName); + +void MK_Editor_CleanUp(object oPC); + + +void MK_Editor_ExecuteScript(object oPC, string sVarName) +{ + string sScript = MK_Editor_GetScript(oPC, sVarName); + if (sScript!="") + { + ExecuteScript(sScript, oPC); + } +} + + +string MK_Editor_GetScript(object oPC, string sVarName) +{ + string sScript; + sScript = GetLocalString(oPC, sVarName); + if (sScript=="") + { + sScript = GetLocalString(GetModule(), sVarName); + } + return sScript; +} + +void MK_Editor_CleanUp(object oPC) +{ + if (GetLocalInt(oPC, g_varEditorRunning)) + { + DeleteLocalString(oPC, g_varEditorOnExit); + DeleteLocalString(oPC, g_varEditorOnCancel); + DeleteLocalString(oPC, g_varEditorOnInit); + + DeleteLocalInt(oPC, g_varEditorInit); + DeleteLocalInt(oPC, g_varEditorID); + DeleteLocalInt(oPC, g_varEditorOK); + DeleteLocalInt(oPC, g_varEditorCancel); + + DeleteLocalString(oPC, g_varEditorText); + DeleteLocalString(oPC, g_varEditorHeadLine); + + DeleteLocalInt(oPC, g_varEditorMaxLength); + DeleteLocalInt(oPC, g_varEditorSingleLine); + DeleteLocalInt(oPC, g_varEditorDisableColors); + DeleteLocalInt(oPC, g_varEditorDisableBlock); + DeleteLocalInt(oPC, g_varEditorUseOnPlayerChatEvent); + DeleteLocalString(oPC, g_varEditorChatMessageString); + + DeleteLocalString(oPC, g_varEditorBuffer); + DeleteLocalString(oPC, g_varEditorClipboard); + DeleteLocalInt(oPC, g_varEditorCursor); + DeleteLocalInt(oPC, g_varEditorBlock); + DeleteLocalInt(oPC, g_varEditorMenuMode); + DeleteLocalInt(oPC, g_varEditorRunning); + + DeleteLocalInt(oPC, g_varEditorLastAction); + DeleteLocalInt(oPC, g_varEditorCursorSpeedMode); + + mk_deleteTimeStampOnObject(oPC, g_varEditorTimeStamp); + + object oModule = GetModule(); + + // number of editor instances currently running (including this one) + int nCounter = GetLocalInt(oModule, g_varEditorCounter); + SetLocalInt(oModule, g_varEditorCounter, --nCounter); + + if (nCounter==0) + { + // we're the last one so lets delete everything + + DeleteLocalInt(oModule, g_varEditorColor2DA); + + int i; + for (i=1; i<50; i++) + { + SetCustomToken(19950+i, ""); + } + } + } +} + +/* +void main() +{ + +} +/* */ diff --git a/_module/nss/mk_inc_editor_c.nss b/_module/nss/mk_inc_editor_c.nss new file mode 100644 index 00000000..cc3f112e --- /dev/null +++ b/_module/nss/mk_inc_editor_c.nss @@ -0,0 +1,88 @@ +//:://///////////////////////////////////////////// +//:: Name +//:: FileName mk_inc_editor_c +//:: Copyright (c) 2008 +//::////////////////////////////////////////////// +/* + +*/ +//::////////////////////////////////////////////// +//:: Created By: Kamiryn +//:: Created On: 2008-03-03 +//::////////////////////////////////////////////// + +// Cursor used by the editor +const string sCursor = "|"; + +// Name of a color 2DA file +const string sColor2DA = "mk_colors"; + +// Name of column of the color name +const string sColor2DAName = "Color"; + +// Name of column of the color tag +const string sColor2DATag = "Code"; + +// the text color, used for the text +const string sText1ColorTag = ""; + +// the editor color, used for top and bottom lines +const string sText2ColorTag = ""; + +// the color of the cursor +const string sCursorColorTag = ""; + +// if a block is marked this color gets used +const string sBlockColorTag = ""; + +// the color used to highlight the 'keys' +const string sKeyColorTag = ""; + +// the color used for the 'OK' button +const string sExitColorTag = ""; + +// the color used for the 'Cancel' button +const string sCancelColorTag = ""; + +// the color used to highlight the 'Insert' option +const string sInsertColorTag = ""; + +// the color of 'Back to main menu' +const string sBackToMainMenuColor = ""; + +// the color used for the 'Help' button. +const string sHelpColorTag = ""; + +// the color used for the Load/Save button +const string sLoadSaveColorTag = ""; + +const string sLoadFromSlotColorTag = ""; +const string sSaveToSlotColorTag = ""; + +// the color used for text 'Color Off' +const string sColorOffColorTag = ""; + +// the close color tag. Don't change it. +const string sCloseTag = ""; + +const string sColorNameRed = "red"; +const string sColorTagRed = ""; +const string sColorNameGreen = "green"; +const string sColorTagGreen = ""; +const string sColorNameBlue = "blue"; +const string sColorTagBlue = ""; +const string sColorNameCyan = "cyan"; +const string sColorTagCyan = ""; +const string sColorNameMagenta = "magenta"; +const string sColorTagMagenta = ""; +const string sColorNameYellow = "yellow"; +const string sColorTagYellow = ""; + +const float fSpeedUpCursorMovementTime = 250.0f; // Milliseconds + +/* +void main() +{ + +} +/* */ diff --git a/_module/nss/mk_inc_exec.nss b/_module/nss/mk_inc_exec.nss new file mode 100644 index 00000000..5f956146 --- /dev/null +++ b/_module/nss/mk_inc_exec.nss @@ -0,0 +1,219 @@ +// mk_inc_exec + +#include "mk_inc_debug" + +const string MK_EXEC_INT_VALUE = "MK_EXEC_INT_VALUE"; +const string MK_EXEC_STR_VALUE = "MK_EXEC_STR_VALUE"; +const string MK_EXEC_OBJ_VALUE = "MK_EXEC_OBJ_VALUE"; +const string MK_EXEC_FLT_VALUE = "MK_EXEC_FLT_VALUE"; + +const string MK_EXEC_INT_PARAM = "MK_EXEC_INT_PARAM"; +const string MK_EXEC_OBJ_PARAM = "MK_EXEC_OBJ_PARAM"; + +// Make oTarget run sScript and then return execution to the calling script. +// The return value should be set inside sScript by making a call to +// void MK_EXEC_INT_SetReturnValue(int nReturnValue) +// If sScript does not specify a compiled script, nothing happens. +// If sScript does not set the return value nDefault will be returned instead. +// sVarName is the name of a local int to be used to store the return value. +int MK_EXEC_INT_ExecuteScript(string sScript, object oTarget = OBJECT_SELF, int nDefault=0, string sVarName=MK_EXEC_INT_VALUE); + + +int MK_EXEC_INT_I_I_ExecuteScript(string sScript, int nParam0, int nParam1, object oTarget = OBJECT_SELF, int nDefault=0, string sVarName=MK_EXEC_INT_VALUE); + +int MK_EXEC_INT_O_O_O_I_I_ExecuteScript(string sScript, object oParam0, object oParam1, object oParam2, int nParam3, int nParam4, object oTarget=OBJECT_SELF, int nDefault=0, string sVarName=MK_EXEC_INT_VALUE); + +// Make oTarget run sScript and then return execution to the calling script. +// The return value should be set inside sScript by making a call to +// void MK_EXEC_INT_SetReturnValue(int nReturnValue) +// If sScript does not specify a compiled script, nothing happens. +// If sScript does not set the return value sDefault will be returned instead. +// sVarName is the name of a local int to be used to store the return value. +string MK_EXEC_STR_ExecuteScript(string sScript, object oTarget = OBJECT_SELF, string sDefault="", string sVarName=MK_EXEC_STR_VALUE); + +// Make oTarget run sScript and then return execution to the calling script. +// The return value should be set inside sScript by making a call to +// void MK_EXEC_INT_SetReturnValue(int nReturnValue) +// If sScript does not specify a compiled script, nothing happens. +// If sScript does not set the return value sDefault will be returned instead. +// sVarName is the name of a local int to be used to store the return value. +object MK_EXEC_OBJ_ExecuteScript(string sScript, object oTarget = OBJECT_SELF, object oDefault=OBJECT_INVALID, string sVarName=MK_EXEC_STR_VALUE); + + +// To be used inside a script called by MK_EXEC_INT_ExecuteScript(...) +// to set the value returned by MK_EXEC_INT_ExecuteScript(...). +void MK_EXEC_INT_SetReturnValue(int nReturnValue, object oTarget = OBJECT_SELF, string sVarName=MK_EXEC_INT_VALUE); + +// To be used inside a script called by MK_EXEC_STR_ExecuteScript(...) +// to set the value returned by MK_EXEC_STR_ExecuteScript(...). +void MK_EXEC_STR_SetReturnValue(string sReturnValue, object oTarget = OBJECT_SELF, string sVarName=MK_EXEC_INT_VALUE); + +// To be used inside a script called by MK_EXEC_OBJ_ExecuteScript(...) +// to set the value returned by MK_EXEC_OBJ_ExecuteScript(...). +void MK_EXEC_OBJ_SetReturnValue(object oReturnValue, object oTarget = OBJECT_SELF, string sVarName=MK_EXEC_INT_VALUE); + + +void MK_EXEC_SetIntParam(int nParam, int nValue, object oTarget = OBJECT_SELF, string sVarName=MK_EXEC_INT_PARAM); + +void MK_EXEC_SetObjParam(int nParam, object oValue, object oTarget = OBJECT_SELF, string sVarName=MK_EXEC_OBJ_PARAM); + +int MK_EXEC_GetIntParam(int nParam, object oTarget = OBJECT_SELF, string sVarName=MK_EXEC_INT_PARAM); + +object MK_EXEC_GetObjParam(int nParam, object oTarget = OBJECT_SELF, string sVarName=MK_EXEC_OBJ_PARAM); + + +void MK_EXEC_SetIntParam(int nParam, int nValue, object oTarget, string sVarName) +{ + SetLocalInt(oTarget, sVarName+IntToString(nParam), nValue); +} + +void MK_EXEC_SetObjParam(int nParam, object oValue, object oTarget, string sVarName) +{ + SetLocalObject(oTarget, sVarName+IntToString(nParam), oValue); +} + +int MK_EXEC_GetIntParam(int nParam, object oTarget, string sVarName) +{ + return GetLocalInt(oTarget, sVarName+IntToString(nParam)); +} + +object MK_EXEC_GetObjParam(int nParam, object oTarget, string sVarName) +{ + return GetLocalObject(oTarget, sVarName+IntToString(nParam)); +} + +void MK_EXEC_INT_SetReturnValue(int nReturnValue, object oTarget, string sVarName) +{ + SetLocalInt(oTarget, sVarName, nReturnValue); + MK_DEBUG_TRACE("MK_EXEC_INT_SetReturnValue("+IntToString(nReturnValue)+", "+GetName(oTarget)+", "+sVarName+")"); +} + +void MK_EXEC_STR_SetReturnValue(string sReturnValue, object oTarget, string sVarName) +{ + SetLocalString(oTarget, sVarName, sReturnValue); + MK_DEBUG_TRACE("MK_EXEC_STR_SetReturnValue('"+sReturnValue+'", "+GetName(oTarget)+", "+sVarName+")"); +} + +void MK_EXEC_OBJ_SetReturnValue(object oReturnValue, object oTarget, string sVarName) +{ + SetLocalObject(oTarget, sVarName, oReturnValue); + MK_DEBUG_TRACE("MK_EXEC_OBJ_SetReturnValue('"+GetName(oReturnValue)+'", "+GetName(oTarget)+", "+sVarName+")"); +} + +int MK_EXEC_INT_GetReturnValue(object oTarget, string sVarName=MK_EXEC_INT_VALUE) +{ + return GetLocalInt(oTarget, sVarName); +} + +string MK_EXEC_STR_GetReturnValue(object oTarget, string sVarName=MK_EXEC_INT_VALUE) +{ + return GetLocalString(oTarget, sVarName); +} + +object MK_EXEC_OBJ_GetReturnValue(object oTarget, string sVarName=MK_EXEC_INT_VALUE) +{ + return GetLocalObject(oTarget, sVarName); +} + +void MK_EXEC_INT_DeleteReturnValue(object oTarget, string sVarName=MK_EXEC_INT_VALUE) +{ + DeleteLocalInt(oTarget, sVarName); +} + +void MK_EXEC_STR_DeleteReturnValue(object oTarget, string sVarName=MK_EXEC_INT_VALUE) +{ + DeleteLocalString(oTarget, sVarName); +} + +void MK_EXEC_OBJ_DeleteReturnValue(object oTarget, string sVarName=MK_EXEC_INT_VALUE) +{ + DeleteLocalObject(oTarget, sVarName); +} + +void MK_EXEC_ExecuteScript(string sScript, object oTarget) +{ +// if (sScript=="") return; +// string sOverideScript = GetLocalString(GetModule(), sScript); +// if (sOverrideScript!="") +// { +// sScript = sOverrideScript; +// } + ExecuteScript(sScript, oTarget); +} + + +int MK_EXEC_INT_ExecuteScript(string sScript, object oTarget, int nDefault, string sVarName) +{ + MK_EXEC_INT_SetReturnValue(nDefault, oTarget, sVarName); + + MK_EXEC_ExecuteScript(sScript, oTarget); + + int nReturn = MK_EXEC_INT_GetReturnValue(oTarget, sVarName); +// MK_DEBUG_TRACE("MK_EXEC_INT_ExecuteScript("+sScript+", "+GetName(oTarget)+", "+IntToString(nDefault)+", "+sVarName+")="+IntToString(nReturn)); + MK_EXEC_INT_DeleteReturnValue(oTarget, sVarName); + return nReturn; +} + +int MK_EXEC_INT_I_I_ExecuteScript(string sScript, int nParam0, int nParam1, object oTarget, int nDefault, string sVarName) +{ + MK_EXEC_SetIntParam(0, nParam0); + MK_EXEC_SetIntParam(1, nParam1); +// MK_DEBUG_TRACE("MK_EXEC_INT_I_I_ExecuteScript('"+sScript+"', nParam0="+IntToString(nParam0)+", nParam1="+IntToString(nParam1)+")"); + + int nReturn = MK_EXEC_INT_ExecuteScript(sScript, oTarget, nDefault, sVarName); + +// MK_DEBUG_TRACE(" > nReturn = "+IntToString(nReturn)); + MK_EXEC_SetIntParam(1, 0); + MK_EXEC_SetIntParam(0, 0); + + return nReturn; +} + +int MK_EXEC_INT_O_O_O_I_I_ExecuteScript(string sScript, object oParam0, object oParam1, object oParam2, int nParam3, int nParam4, object oTarget, int nDefault, string sVarName) +{ + MK_EXEC_SetObjParam(0, oParam0, oTarget); + MK_EXEC_SetObjParam(1, oParam1, oTarget); + MK_EXEC_SetObjParam(2, oParam2, oTarget); + MK_EXEC_SetIntParam(3, nParam3, oTarget); + MK_EXEC_SetIntParam(4, nParam4, oTarget); + + int nReturn = MK_EXEC_INT_ExecuteScript(sScript, oTarget, nDefault, sVarName); +// MK_DEBUG_TRACE(" > nReturn = "+IntToString(nReturn)); + + MK_EXEC_SetIntParam(4, 0, oTarget); + MK_EXEC_SetIntParam(3, 0, oTarget); + MK_EXEC_SetObjParam(2, OBJECT_INVALID, oTarget); + MK_EXEC_SetObjParam(1, OBJECT_INVALID, oTarget); + MK_EXEC_SetObjParam(0, OBJECT_INVALID, oTarget); + + return nReturn; +} + + +string MK_EXEC_STR_ExecuteScript(string sScript, object oTarget, string sDefault, string sVarName) +{ + MK_EXEC_STR_SetReturnValue(sDefault, oTarget, sVarName); + + MK_EXEC_ExecuteScript(sScript, oTarget); + + string sReturn = MK_EXEC_STR_GetReturnValue(oTarget, sVarName); + MK_EXEC_STR_DeleteReturnValue(oTarget, sVarName); + return sReturn; +} + +object MK_EXEC_OBJ_ExecuteScript(string sScript, object oTarget, object oDefault, string sVarName) +{ + MK_EXEC_OBJ_SetReturnValue(oDefault, oTarget, sVarName); + + MK_EXEC_ExecuteScript(sScript, oTarget); + + object oReturn = MK_EXEC_OBJ_GetReturnValue(oTarget, sVarName); + MK_EXEC_OBJ_DeleteReturnValue(oTarget, sVarName); + return oReturn; +} + +/* +void main() +{ +} +/**/ diff --git a/_module/nss/mk_inc_generic.nss b/_module/nss/mk_inc_generic.nss new file mode 100644 index 00000000..1c9db7d9 --- /dev/null +++ b/_module/nss/mk_inc_generic.nss @@ -0,0 +1,222 @@ +#include "mk_inc_debug" + +//const int MK_GENERIC_DIALOG_DEBUG = TRUE; +const int MK_GENERIC_DIALOG_DEBUG = FALSE; + +const int MK_GENERIC_DIALOG_NUMBER_OF_VARIABLES = 257; + +const int MK_GENERIC_DIALOG_INVALID_ACTION = -1; + +const int MK_GENERIC_DIALOG_STATE_DISPLAY_TOKEN = 14400; + +const string MK_DISABLED_OPTIONS_COLOR = "MK_DISABLED_OPTIONS_COLOR"; + +const string MK_GENERIC_ACTION_SCRIPT = "MK_GENERIC_ACTION_SCRIPT"; + +void MK_GenericDialog_CleanUp(); + +int MK_GenericDialog_SetState(int nState); + +int MK_GenericDialog_GetState(int bClearState=FALSE); + +int MK_GenericDialog_StateToCustomToken(int nToken); + +int MK_GenericDialog_IsInState(int nState, int bClearState=FALSE); + +void MK_GenericDialog_SetCondition(int nCondition, int bIsTrue); + +void MK_GenericDialog_SetConditionRange(int nConditionFrom, int nConditionTo, int bTrue); + +int MK_GenericDialog_GetCondition(int nCondition, int nReset=TRUE); + +void MK_GenericDialog_SetObject(int nObject, object oObject); + +object MK_GenericDialog_GetObject(int nObject); + +void MK_GenericDialog_SetAction(int nAction); + +int MK_GenericDialog_GetAction(int bClearAction=TRUE); + +void MK_GenericDialog_SetCurrentPage(int nState, int nPage); + +int MK_GenericDialog_GetCurrentPage(int nState); + +object MK_GetObjectQ() +{ + object oReturn = GetPCSpeaker(); + if (!GetIsObjectValid(oReturn)) oReturn = OBJECT_SELF; + return oReturn; +} + +void MK_GenericDialog_DEBUG_TRACE(string sMessage) +{ + if (MK_GENERIC_DIALOG_DEBUG) + { + MK_DEBUG_TRACE(sMessage); + } +} + +const int MK_DELIMITER_TOKEN = 14401; +const int MK_DELIMITER_CONDITION = 256; +const string MK_USE_DELIMITER = "MK_USE_DELIMITER"; +const string MK_DELIMITER_COLOR = "MK_DELIMITER_COLOR"; + +int MK_DELIMITER_GetUseDelimiter() +{ + return GetLocalInt(MK_GetObjectQ(), MK_USE_DELIMITER); +} + + +void MK_GenericDialog_CleanUp() +{ + object oObject = MK_GetObjectQ(); + SetCustomToken(MK_GENERIC_DIALOG_STATE_DISPLAY_TOKEN,""); + int iVar; + for (iVar=0; iVar"+IntToString(nState)+"\n"); + return nOldState; +} + +int MK_GenericDialog_GetState(int bClearState=FALSE) +{ + object oObject = MK_GetObjectQ(); + int nState = GetLocalInt(oObject, "MK_STATE"); + if (bClearState) + { + MK_GenericDialog_SetState(-1); + } + return nState; +} + +int MK_GenericDialog_IsInState(int nState, int bClearState=FALSE) +{ + return MK_GenericDialog_GetState()==nState; +} + +void MK_GenericDialog_SetCondition(int nCondition, int bIsTrue) +{ +// if (nCondition==20) MK_DEBUG_TRACE("MK_GenericDialog_SetCondition("+IntToString(nCondition)+", "+IntToString(bIsTrue)+")"); + object oObject = MK_GetObjectQ(); +// MK_GenericDialog_DEBUG_TRACE("MK_GenericDialog_SetCondition("+IntToString(nCondition)+", "+IntToString(bIsTrue)+")"); + SetLocalInt(oObject, "MK_CONDITION_"+IntToString(nCondition), bIsTrue); +} + +void MK_GenericDialog_SetConditionRange(int nConditionFrom, int nConditionTo, int bIsTrue) +{ + int iCondition; + for (iCondition=nConditionFrom; iCondition<=nConditionTo; iCondition++) + { + MK_GenericDialog_SetCondition(iCondition, bIsTrue); + } +} + +int MK_GenericDialog_GetCondition(int nCondition, int nReset) +{ + if (nReset && (nCondition!=256)) MK_GenericDialog_DEBUG_TRACE("MK_GenericDialog_GetCondition("+IntToString(nCondition)+", "+IntToString(nReset)+")"); + object oObject = MK_GetObjectQ(); + string sVarName = "MK_CONDITION_"+IntToString(nCondition); + int nReturn = GetLocalInt(oObject, sVarName); +// if (nCondition==20) MK_DEBUG_TRACE(" > nReturn = "+IntToString(nReturn)); + if (nReturn) + { + if (nReset || (nCondition==MK_DELIMITER_CONDITION)) + { + DeleteLocalInt(oObject, sVarName); +// if (nCondition==20) MK_DEBUG_TRACE(" > deleting "+sVarName); + } + if ((nCondition!=MK_DELIMITER_CONDITION) && MK_DELIMITER_GetUseDelimiter()) + { + MK_GenericDialog_SetCondition(MK_DELIMITER_CONDITION, TRUE); + } + } + return nReturn; +} + +void MK_GenericDialog_SetObject(int nObject, object oObject) +{ + object oObjectQ = MK_GetObjectQ(); + SetLocalObject(oObjectQ, "MK_OBJECT_"+IntToString(nObject), oObject); +} + +object MK_GenericDialog_GetObject(int nObject) +{ + object oObject = MK_GetObjectQ(); + return GetLocalObject(oObject, "MK_OBJECT_"+IntToString(nObject)); +} + +void MK_GenericDialog_SetAction(int nAction) +{ + object oObject = MK_GetObjectQ(); + SetLocalInt(oObject, "MK_ACTION", nAction+1); + string sActionScript = MK_GenericDialog_GetActionScript(); + MK_GenericDialog_DEBUG_TRACE("MK_GenericDialog_SetAction("+IntToString(nAction)+"[,'"+sActionScript+"'])"); + if (sActionScript!="") + { + ExecuteScript(sActionScript, oObject); + } +} + +int MK_GenericDialog_GetAction(int bClearAction=TRUE) +{ + object oObject = MK_GetObjectQ(); + int nAction = GetLocalInt(oObject, "MK_ACTION") - 1; + if (bClearAction) + { + SetLocalInt(oObject, "MK_ACTION", MK_GENERIC_DIALOG_INVALID_ACTION); + } + return nAction; +} + +void MK_GenericDialog_SetCurrentPage(int nState, int nPage) +{ + object oObject = MK_GetObjectQ(); + SetLocalInt(oObject, "MK_GENERIC_CURRENTPAGE_"+IntToString(nState), nPage); +} + +int MK_GenericDialog_GetCurrentPage(int nState) +{ + object oObject = MK_GetObjectQ(); + return GetLocalInt(oObject, "MK_GENERIC_CURRENTPAGE_"+IntToString(nState)); +} + + +/* +void main() +{ + +} +/**/ diff --git a/_module/nss/mk_inc_head.nss b/_module/nss/mk_inc_head.nss new file mode 100644 index 00000000..f569447e --- /dev/null +++ b/_module/nss/mk_inc_head.nss @@ -0,0 +1,406 @@ +///////////////////////////////////////////////////////////////////////////// +// +// mk_inc_head.nss +// +///////////////////////////////////////////////////////////////////////////// + +#include "mk_inc_debug" +#include "mk_inc_tools" +#include "mk_inc_array" +#include "mk_inc_body" + +// name of the local that stores the head filter definition 2da file +const string MK_DEF_HEAD = "mk_def_head"; + +const string MK_HEAD_MAX_HEAD_ID = "MK_HEAD_MAX_ID"; + +const string MK_HEAD_SELECTED_FILTER = "MK_HEAD_SELECTED_FILTER"; + +const string MK_HEAD_VALID_HEADS = "MK_HEAD_VALID_HEADS"; + +const string MK_HEAD_DISABLE_CHANGE_FILTER = "MK_HEAD_DISABLE_CHANGE_FILTER"; +const string MK_HEAD_DEFAULT_FILTER = "MK_HEAD_DEFAULT_FILTER"; + +const int MK_HEAD_NEXT = 1; +const int MK_HEAD_PREV = 2; +const int MK_HEAD_MODEL = 3; + +///////////////////////////////////////////////////////////////////////////// + +// initializes the head filter system +// sets the 2da file used (mk_sys_head.2da or mk_def_head.2da) +// returns FALSE if none of these files were found. +int MK_HEAD_Initialize(object oPC, object oTarget); + +// returns the 2DA file used to store the valid filters (mk_sys_head or mk_def_head) +string MK_HEAD_Get2DAFile(object oPC); + +// returns the max head ID. If no max head ID is set then 255 is returned +int MK_HEAD_GetMaxHeadID(object oPC); + +// returns Get2DAString("mk_def_head", "2DAFILE", nFilterID) +string MK_HEAD_GetFilter2DAFile(object oPC, int nFilterID); + +// returns RacialType_Gender +string MK_HEAD_GetBaseColumn(object oTarget); + +// returns the column name for the specified object (racialtype, gender) and +// the specified filter ID (row in "mk_def_head") +string MK_HEAD_GetColumn(object oPC, object oTarget, int nFilterID); + +// returns TRUE if the specified filter provides no heads for oTarget +int MK_HEAD_GetIsFilterEmpty(object oPC, object oTarget, int nFilterID); + +// sets the head model to be used on the creature specified +// - oTarget: the creature to change the head for +// - nMode: MK_HEAD_NEXT: next valid head model number +// MK_HEAD_PREV: previous valid head model number +// MK_HEAD_MODEL: set head model number to nModelNumber +// - nModelNumber: model number used for mode MK_HEAD_MODEL +int MK_HEAD_SetCreatureHead(object oTarget, int nMode, int nModelNumber=-1); + +string MK_HEAD_GetSelectedFilterAsText(object oPC, object oTarget); + +// creates the valid heads string for oTarget on oTarget +string MK_HEAD_CreateValidHeadsString(object oTarget, object oPC); + +string MK_HEAD_GetSelectedFilterString(object oTarget); + +void MK_HEAD_SetSelectedFilterString(object oTarget, string sSelectedFilter); + + +int MK_HEAD_GetMaxHeadID(object oPC) +{ + int nMaxID = GetLocalInt(oPC, MK_HEAD_MAX_HEAD_ID); + if (nMaxID==0) + { + nMaxID = 255; + } + return nMaxID; +} + + +int MK_HEAD_Initialize(object oPC, object oTarget) +{ + MK_DEBUG_TRACE("MK_HEAD:Initialize('"+GetName(oPC)+"')"); + int bReturn = TRUE; + string s2DA = "mk_def_head"; + if (Get2DAString(s2DA, "NAME", 0) == "MK_HEAD_DEFAULT") + { + MK_DEBUG_TRACE(" > "+s2DA+".2DA found ("+Get2DAString(s2DA, "NAME", 0)+")."); + SetLocalString(oPC, MK_DEF_HEAD, s2DA); + } + else + { + s2DA = "mk_sys_head"; + if (Get2DAString(s2DA, "NAME", 0) == "MK_HEAD_DEFAULT") + { + MK_DEBUG_TRACE(" > "+s2DA+".2DA found."); + SetLocalString(oPC, MK_DEF_HEAD, s2DA); + } + else + { + MK_DEBUG_TRACE(" > "+s2DA+".2DA not found."); + DeleteLocalString(oPC, MK_DEF_HEAD); + SendMessageToPC(oPC, "Head filter definition files 'mk_def_head.2da' or 'mk_sys_head.2da' not found!"); + bReturn = FALSE; + } + } + if (MK_HEAD_GetSelectedFilterString(oTarget)=="") + { + MK_HEAD_SetSelectedFilterString(oTarget, GetLocalString(oPC, MK_HEAD_DEFAULT_FILTER)); + } + return bReturn; +} + +string MK_HEAD_Get2DAFile(object oPC) +{ + return GetLocalString(oPC, MK_DEF_HEAD); +} + +int MK_HEAD_GetIsCCOHFilter(object oPC, int nFilterID) +{ + return MK_Get2DAInt(MK_HEAD_Get2DAFile(oPC), "CCOH", nFilterID); +} + +string MK_HEAD_GetFilter2DAFile(object oPC, int nFilterID) +{ + return Get2DAString(MK_HEAD_Get2DAFile(oPC), "2DAFILE", nFilterID); +} + +string MK_HEAD_GetBaseColumn(object oTarget) +{ + int nRacialType = GetRacialType(oTarget); + int nGender = GetGender(oTarget); + string sColumn = Get2DAString("racialtypes", "Label", nRacialType) + +"_" + +MK_GetGenderAsString(oTarget); + return sColumn; +} + +string MK_HEAD_GetColumn(object oPC, object oTarget, int nFilterID) +{ + string sBaseColumn = MK_HEAD_GetBaseColumn(oTarget); + string sColumn = Get2DAString(MK_HEAD_Get2DAFile(oPC), sBaseColumn, nFilterID); + if (sColumn=="") + { + sColumn = sBaseColumn; + } + return sColumn; +} + +string MK_HEAD_GetFilterLabel(object oPC, int nFilterID, object oTarget = OBJECT_SELF) +{ + string sLabel=""; + string s2DA = MK_HEAD_Get2DAFile(oPC); + int nStrRef = MK_Get2DAInt(s2DA, "STRREF", nFilterID); + if (nStrRef!=0) + { + sLabel = MK_TLK_GetStringByStrRef(nStrRef, GetGender(oTarget)); + } + else + { + sLabel = Get2DAString(s2DA, "LABEL", nFilterID); + } + return sLabel; +} + +int MK_HEAD_GetIsFilterEmpty(object oPC, object oTarget, int nFilterID) +{ + string s2DAFile = MK_HEAD_GetFilter2DAFile(oPC, nFilterID); + + if (MK_Get2DAInt(s2DAFile, "DISABLE", FALSE)) + { + return TRUE; + } + + string sColumn = MK_HEAD_GetColumn(oPC, oTarget, nFilterID); + +// MK_DEBUG_TRACE("MK_HEAD_GetIsFilterEmpty("+IntToString(nFilterID)+"): s2DAfile='"+s2DAFile+"', sColumn='"+sColumn+"', CCOH="+(MK_HEAD_GetIsCCOHFilter(oPC, nFilterID) ? "J" : "N")); + + if (MK_HEAD_GetIsCCOHFilter(oPC, nFilterID)) + { + if (Get2DAString(s2DAFile, sColumn, 256)=="") + { + return TRUE; + } + } + +// MK_DEBUG_TRACE("MK_HEAD_GetIsFilterEmpty: s2DAFile='"+s2DAFile+"', sColumn='"+sColumn+"'"); + int iRow; +// MK_DEBUG_TRACE(" > MaxHeadID="+IntToString(MK_HEAD_GetMaxHeadID(oPC))); + + for (iRow=1; iRow<=MK_HEAD_GetMaxHeadID(oPC); iRow++) + { + if (Get2DAString(s2DAFile, sColumn, iRow)!="") + { +// MK_DEBUG_TRACE(" > iRow="+IntToString(iRow)+", sValue='"+Get2DAString(s2DAFile, sColumn, iRow)+"'"); + return FALSE; + } + } + return TRUE; +} + +string MK_HEAD_GetSelectedFilterString(object oTarget) +{ + return GetLocalString(oTarget, MK_HEAD_SELECTED_FILTER); +} + +int MK_HEAD_GetFilterCount(object oTarget) +{ + return MK_ARRAY_GetLocalArrayBoolLength(oTarget, MK_HEAD_SELECTED_FILTER); +} + +void MK_HEAD_SetSelectedFilterString(object oTarget, string sSelectedFilter) +{ + SetLocalString(oTarget, MK_HEAD_SELECTED_FILTER, sSelectedFilter); +} + +void MK_HEAD_SelectFilter(object oTarget, int nFilterID, int bSelect) +{ + MK_ARRAY_SetLocalArrayBool(oTarget, MK_HEAD_SELECTED_FILTER, nFilterID, bSelect); +} + +int MK_HEAD_GetIsFilterSelected(object oTarget, int nFilterID) +{ + return MK_ARRAY_GetLocalArrayBool(oTarget, MK_HEAD_SELECTED_FILTER, nFilterID); +} + +string MK_HEAD_GetSelectedFilterAsText(object oPC, object oTarget) +{ + string sSelectedFilter = MK_HEAD_GetSelectedFilterString(oTarget); + string s=""; + int nLen = MK_HEAD_GetFilterCount(oTarget); + int iFilter; +// MK_DEBUG_TRACE("MK_HEAD_GetSelectedFilterAsText: sSelectedFilter='"+sSelectedFilter+"', nLen="+IntToString(nLen)); + for (iFilter=0; iFilter sToken='"+s+"'"); + return s; +} + +int MK_HEAD_ToggleFilter(object oTarget, int nFilterID) +{ + int bSelect = !MK_HEAD_GetIsFilterSelected(oTarget, nFilterID); + MK_HEAD_SelectFilter(oTarget, nFilterID, bSelect); + return bSelect; +} + +string MK_HEAD_GetHeadsString(object oPC, object oTarget, int nFilterID, string sHeadsString="") +{ + string s2DAFile = MK_HEAD_GetFilter2DAFile(oPC, nFilterID); + string sColumn = MK_HEAD_GetColumn(oPC, oTarget, nFilterID); + string s=""; + int nLength = GetStringLength(sHeadsString); + int iRow; + for (iRow=0; iRow sHeadsString='"+sHeadsString+"'"); + nCount++; + } + } + int iHeads; + string sValidHeads = ""; + if (nCount>0) + { + int nHeadCount = GetStringLength(sHeadsString); + for (iHeads=0; iHeads=0) + { + nNew = MK_ARRAY_GetLocalArraySortedInt(oTarget, MK_HEAD_VALID_HEADS, nPosNew); + } + + if (nNew!=-1) + { + SetCreatureBodyPart(CREATURE_PART_HEAD, nNew, oTarget); + nReturn = nNew; + } +// MK_DEBUG_TRACE(" > nCurrent="+IntToString(nCurrent)+ +// ", ValidHeads='"+sValidHeads+"', nPos="+IntToString(nPos)+ +// ", nNew="+IntToString(nNew)); + + break; + } + } + return nReturn; +} + + +/* +void main() +{ +} +/**/ + diff --git a/_module/nss/mk_inc_hex.nss b/_module/nss/mk_inc_hex.nss new file mode 100644 index 00000000..deabc0e4 --- /dev/null +++ b/_module/nss/mk_inc_hex.nss @@ -0,0 +1,65 @@ +#include "mk_inc_debug" + +int MK_HEX_GetIsValidHexChar(string c) +{ + return ((c=="0") || (c=="1") || (c=="2") || (c=="3") || (c=="4") || + (c=="5") || (c=="6") || (c=="7") || (c=="8") || (c=="9") || + (c=="a") || (c=="b") || (c=="c") || (c=="d") || (c=="e") || + (c=="f")); +} + +int MK_HEX_GetHexValue(string c) +{ + int nValue = StringToInt(c); + if (nValue>0) + return nValue; + else if (c=="0") + return 0; + else if (c=="a") + return 10; + else if (c=="b") + return 11; + else if (c=="c") + return 12; + else if (c=="d") + return 13; + else if (c=="e") + return 14; + else if (c=="f") + return 15; + return -1; +} + + +int MK_HEX_HexStringToInt(string sHexString) +{ + int nLen = GetStringLength(sHexString); + int iStart=0; + if ((nLen>=2) && (GetStringLeft(sHexString,2)=="0x")) + { + iStart+=2; + } + int iPos; + int nValue = 0; + int n; + for (iPos=iStart; iPos iStart="+IntToString(iStart)+ + ", iPos="+IntToString(iPos)+ + ", nLen="+IntToString(nLen)+ + ", c="+c+ + ", h="+IntToString(h)+ + ", nValue="+IntToString(nValue));*/ + if (h==-1) + { + return -1; + } + nValue*=16; + nValue+=h; + } +// MK_DEBUG_TRACE("MK_HEX_HexStringToInt("+sHexString+")="+IntToString(nValue)); + return nValue; +} + diff --git a/_module/nss/mk_inc_horse.nss b/_module/nss/mk_inc_horse.nss new file mode 100644 index 00000000..d10359cf --- /dev/null +++ b/_module/nss/mk_inc_horse.nss @@ -0,0 +1,263 @@ +#include "mk_inc_debug" +#include "x3_inc_horse" +#include "mk_inc_ccoh_db" +#include "mk_inc_body" +#include "mk_inc_exec" + +const string MK_VAR_CURRENT_HORSE = "MK_CurrentHorse"; +const string MK_VAR_CURRENT_TAIL = "MK_CurrentTail"; +const string MK_VAR_CURRENT_APPR = "MK_CurrentAppr"; + +const string MK_2DA_RIDE_PHENO = "mk_ride_pheno"; +// const string MK_2DA_RIDE_HORSES = "mk_horses"; + +const string MK_SCRIPT_ON_MOUNT = "mk_on_mount"; +const string MK_SCRIPT_ON_DISMOUNT = "mk_on_dismount"; +const string MK_SCRIPT_ON_MOUNTED = "mk_on_mounted"; +const string MK_SCRIPT_ON_DISMOUNTED = "mk_on_dismounted"; + +const int MK_HORSE_1 = 16; +const int MK_HORSE_2 = 29; +const int MK_HORSE_3 = 42; +const int MK_HORSE_4 = 55; +const int MK_HORSE_5 = 68; + +// ---------------------------------------------------------------------------- +// Initializes the horse selection for oCreature: +// - sets the phenotype to riding +// - sets the tail to the current horse or the starting horse of no +// current horse exists. +// ---------------------------------------------------------------------------- +int MK_InitializeHorseSelection(object oCreature); + +// ---------------------------------------------------------------------------- +int MK_GetIsRiding(object oCreature); + +// ---------------------------------------------------------------------------- +int MK_PhenoTypeNormal2Ride(int nPhenoType); + +// ---------------------------------------------------------------------------- +int MK_PhenoTypeRide2Normal(int nPhenoType); + + +int MK_GetRidingAppearanceType(object oPC) +{ + string sColumn = MK_GetRacialTypeAsString(oPC)+"_"+MK_GetGenderAsString(oPC); + string sApprType = Get2DAString("mk_ride_appr", sColumn, 0); + if (sApprType=="") + { + return -1; + } + return StringToInt(sApprType); +} + + +int MK_GetIsRiding(object oCreature) +{ + int nResult; + switch (MK_HORSE_GetHorseSystem(oCreature)) + { + case MK_HORSE_BIOWARE_HORSE_SYSTEM: + nResult = HorseGetIsMounted(oCreature); + break; + case MK_HORSE_CCOH_HORSE_SYSTEM: + { + int nPhenoType = GetPhenoType(oCreature); + int nPhenoTypeRide = MK_PhenoTypeNormal2Ride(nPhenoType); + int nPhenoTypeNormal = MK_PhenoTypeRide2Normal(nPhenoType); + + nResult = ((nPhenoTypeRide==-1) && (nPhenoTypeNormal!=-1)); + break; + } + } + return nResult; +} + +int MK_GetIsNotRiding(object oCreature) +{ + int nResult; + switch (MK_HORSE_GetHorseSystem(oCreature)) + { + case MK_HORSE_BIOWARE_HORSE_SYSTEM: + nResult = !HorseGetIsMounted(oCreature); + break; + case MK_HORSE_CCOH_HORSE_SYSTEM: + { + int nPhenoType = GetPhenoType(oCreature); + int nPhenoTypeRide = MK_PhenoTypeNormal2Ride(nPhenoType); + int nPhenoTypeNormal = MK_PhenoTypeRide2Normal(nPhenoType); + + nResult = ((nPhenoTypeRide!=-1) && (nPhenoTypeNormal==-1)); + break; + } + } + return nResult; +} + +int MK_PhenoTypeNormal2Ride(int nPhenoType) +{ + string s = Get2DAString(MK_2DA_RIDE_PHENO, "Ride", nPhenoType); + return ( (s=="") ? -1 : StringToInt(s) ); +} + +int MK_PhenoTypeRide2Normal(int nPhenoType) +{ + string s = Get2DAString(MK_2DA_RIDE_PHENO, "Normal", nPhenoType); + return ( (s=="") ? -1 : StringToInt(s) ); +} + +int MK_HORSE_ExecuteScript(string sScript, object oTarget, string sOverrideScript, int nDefault=0) +{ + string sOScript = GetLocalString(GetModule(), sOverrideScript); + if (sOScript!="") sScript = sOScript; + return MK_EXEC_INT_ExecuteScript(sScript, oTarget, nDefault); +} + +int MK_CreatureMountHorse(object oCreature, int nHorse) +{ +// int nPhenoTypeNormal, nPhenoTypeRide, nTailType; + if (nHorse==0) + { + if (MK_GetIsRiding(oCreature)) + { + if (MK_HORSE_ExecuteScript(MK_SCRIPT_ON_DISMOUNT, oCreature, "MK_SCRIPT_ON_DISMOUNT", TRUE)) + { + switch (MK_HORSE_GetHorseSystem(oCreature)) + { + case MK_HORSE_BIOWARE_HORSE_SYSTEM: + HorseInstantDismount(oCreature); + DeleteSkinInt(oCreature, "nX3_HorseAppearance"); + break; + case MK_HORSE_CCOH_HORSE_SYSTEM: + { + // no horse selected and riding: unmount + string sIAStr = GetLocalString(oCreature, "MK_RIDING_PHENOTAIL_SAVE"); + if (sIAStr!="") + { + DeleteLocalString(oCreature, "MK_RIDING_PHENOTAIL_SAVE"); + MK_CCOH_DB_IAStrToBodyAppearance(oCreature, sIAStr, MK_CCOH_DB_BODY_APPR_HORSE); + } + else + { + int nPhenoTypeNormal = MK_PhenoTypeRide2Normal(GetPhenoType(oCreature)); + + int nTailType = GetLocalInt(oCreature, MK_VAR_CURRENT_TAIL); + int nApprType = GetLocalInt(oCreature, MK_VAR_CURRENT_APPR); + + SetPhenoType(nPhenoTypeNormal, oCreature); + SetCreatureTailType(nTailType, oCreature); + SetCreatureAppearanceType(oCreature, nApprType); + } + break; + } + } + MK_HORSE_SetUsedHorseSystem(oCreature, 0); + MK_HORSE_ExecuteScript(MK_SCRIPT_ON_DISMOUNTED, oCreature, "MK_SCRIPT_ON_DISMOUNTED"); + } + } + } + else if (nHorse>0) + { + if (MK_GetIsNotRiding(oCreature)) + { + // we're not riding yet so change phenotype + if (MK_HORSE_ExecuteScript(MK_SCRIPT_ON_MOUNT, oCreature, "MK_SCRIPT_ON_MOUNT", TRUE)) + { + switch (MK_HORSE_GetHorseSystem(oCreature)) + { + case MK_HORSE_BIOWARE_HORSE_SYSTEM: + { + string s2DAFile = MK_HORSES_Get2DAFile(); + string sResRef = Get2DAString(s2DAFile, "ResRef", nHorse); + HorseInstantMount(oCreature, nHorse, FALSE, sResRef); + int nAppearanceType = MK_Get2DAInt(s2DAFile, "Appearance", nHorse); + SetSkinInt(oCreature, "nX3_HorseAppearance", nAppearanceType); + MK_DEBUG_TRACE("SetSkinInt("+GetName(oCreature)+", \"nX3_HorseAppearance\", "+IntToString(nAppearanceType)); + break; + } + case MK_HORSE_CCOH_HORSE_SYSTEM: + { + string sIAStr = MK_CCOH_DB_BodyAppearanceToIAStr(oCreature, MK_CCOH_DB_BODY_APPR_HORSE); + if (sIAStr!="") + { + SetLocalString(oCreature, "MK_RIDING_PHENOTAIL_SAVE", sIAStr); + } + else + { + SetLocalInt(oCreature, MK_VAR_CURRENT_TAIL, GetCreatureTailType(oCreature)); + SetLocalInt(oCreature, MK_VAR_CURRENT_APPR, GetAppearanceType(oCreature)); + } + int nPhenoTypeRide = MK_PhenoTypeNormal2Ride(GetPhenoType(oCreature)); + if (nPhenoTypeRide!=-1) + { + SetPhenoType(nPhenoTypeRide, oCreature); + } + int nApprType = MK_GetRidingAppearanceType(oCreature); + if (nApprType!=-1) + { + SetCreatureAppearanceType(oCreature, nApprType); + } + SetFootstepType(FOOTSTEP_TYPE_HORSE, oCreature); + SetCreatureTailType(nHorse, oCreature); + + break; + } + } + + MK_HORSE_SetUsedHorseSystem(oCreature, MK_HORSE_GetHorseSystem(oCreature)); + + MK_HORSE_ExecuteScript(MK_SCRIPT_ON_MOUNTED, oCreature, "MK_SCRIPT_ON_MOUNTED"); + } + } + else + { + SetCreatureTailType(nHorse, oCreature); + switch (MK_HORSE_GetHorseSystem(oCreature)) + { + case MK_HORSE_BIOWARE_HORSE_SYSTEM: + { + string s2DAFile = MK_HORSES_Get2DAFile(); + string sResRef = Get2DAString(s2DAFile, "ResRef", nHorse); + SetSkinString(oCreature, "sX3_HorseResRef", sResRef); + int nAppearanceType = MK_Get2DAInt(s2DAFile, "Appearance", nHorse); + SetSkinInt(oCreature, "nX3_HorseAppearance", nAppearanceType); + MK_DEBUG_TRACE("MK_CreatureMountHorse("+IntToString(nHorse)+"): sResRef="+sResRef+", nAppearanceType="+IntToString(nAppearanceType)); + break; + } + } + } + } + return TRUE; +} + +void MK_SetCustomTokenToHorseName(int nCustomTokenNumber, int nHorse) +{ + string sHorseName = MK_GetHorseName(nHorse); + SetCustomToken(nCustomTokenNumber, + sHorseName + "(" + IntToString(nHorse) + ")"); +} + +int MK_InitializeHorseSelection(object oCreature) +{ + int bIsRiding = MK_GetIsRiding(oCreature); + int nCurrentHorse = GetLocalInt(oCreature, MK_VAR_CURRENT_HORSE); + + if (nCurrentHorse != 0) + { + MK_SetCustomTokenToHorseName(14440,nCurrentHorse); + } + MK_SetCustomTokenToHorseName(14441,MK_HORSE_1); + MK_SetCustomTokenToHorseName(14442,MK_HORSE_2); + MK_SetCustomTokenToHorseName(14443,MK_HORSE_3); + MK_SetCustomTokenToHorseName(14444,MK_HORSE_4); + MK_SetCustomTokenToHorseName(14445,MK_HORSE_5); + + return TRUE; +} + +/* +void main() +{ + +} +/**/ diff --git a/_module/nss/mk_inc_iaac.nss b/_module/nss/mk_inc_iaac.nss new file mode 100644 index 00000000..11294169 --- /dev/null +++ b/_module/nss/mk_inc_iaac.nss @@ -0,0 +1,180 @@ +#include "mk_inc_debug" +#include "mk_inc_language" +#include "mk_inc_tlk" +#include "mk_inc_tools" +#include "mk_inc_color" + +const int MK_ITEM_APPR_ARMOR_COLOR_LEATHER = 6; +const int MK_ITEM_APPR_ARMOR_COLOR_CLOTH = 7; +const int MK_ITEM_APPR_ARMOR_COLOR_METAL = 8; +const int MK_ITEM_APPR_ARMOR_COLOR_LEATHERCLOTH = 9; +const int MK_ITEM_APPR_ARMOR_COLOR_ALL = 10; + +const int MK_ITEM_APPR_ARMOR_NUM_COLORS = 11; + +const string MK_IAAC_2DA_FILE = "mk_iaac_def"; + +//--------------------------------------------------------------------------- +// a) in this include file color always means the material (leather 1, +// leather 2, cloth 1, ... or one of the composed materials (leather 1+2,..). +// b) the actual color is colorValue +//--------------------------------------------------------------------------- + +//--------------------------------------------------------------------------- +// returns TRUE if the specified color is valid +//--------------------------------------------------------------------------- +int MK_IAAC_GetIsValid(int nColor); + +//--------------------------------------------------------------------------- +// returns TRUE if the specified color is a base color +// means: 0 <= nCOLOR < ITEM_APPR_ARMOR_NUM_COLORS +//--------------------------------------------------------------------------- +int MK_IAAC_GetIsBase(int nColor); + +//--------------------------------------------------------------------------- +// returns the color count for the specified armor color +//--------------------------------------------------------------------------- +int MK_IAAC_GetColorCount(int nColor); + +//--------------------------------------------------------------------------- +// returns color no nNumber for the specified color +//--------------------------------------------------------------------------- +int MK_IAAC_GetColor(int nColor, int nNumber); + +//--------------------------------------------------------------------------- +// returns TRUE if specified color contains specified color +// nColor: >=0, =0, 0); +} + +int MK_IAAC_GetIsBase(int nColor) +{ + return (0<=nColor) && (nColor"; + } + return sString; +} + + +/* +void main() +{ + +} +/**/ diff --git a/_module/nss/mk_inc_version.nss b/_module/nss/mk_inc_version.nss new file mode 100644 index 00000000..da42a828 --- /dev/null +++ b/_module/nss/mk_inc_version.nss @@ -0,0 +1,573 @@ +#include "mk_inc_tools" + +//const int MK_NWN_VERSION_1_68 = 68; +//const int MK_NWN_VERSION_1_69 = 69; +//const int MK_NWN_VERSION_1_74 = 74; +//const int MK_NWN_VERSION_1_79 = 79; + +const string MK_NWN_VERSION_2DAFILE = "mk_version"; + +const string MK_NWN_VERSION_MAJOR = "mk_nwn_version_major"; +const string MK_NWN_VERSION_MINOR = "mk_nwn_version_minor"; + +const int MK_NWN_VERSION_CURRENT_MAJOR = 1; +const int MK_NWN_VERSION_CURRENT_MINOR = 79; + +struct MK_VERSION_DATA +{ + int nMajor; + int nMinor; +}; + +struct MK_VERSION_DATA MK_VERSION_Initialize(object oPC, int bDisplayMessage); + +struct MK_VERSION_DATA MK_VERSION_GetGameVersion(object oPC); + +struct MK_VERSION_DATA MK_VERSION_DetectGameVersion(object oPC, int bDisplayProgress=FALSE); + +struct MK_VERSION_DATA MK_VERSION_DetectGameVersionEx(object oPC); + +int MK_VERSION_GetIsExtendedVersion(object oPC); + +int MK_VERSION_GetIsVersionLower(object oPC, int nMajor, int nMinor); + +int MK_VERSION_GetIsVersionGreaterEqual(object oPC, int nMajor, int nMinor); + +int MK_VERSION_GetIsVersionGreaterEqual_1_80(object oPC = OBJECT_INVALID); + +int MK_VERSION_GetIsVersionGreaterEqual_1_75(object oPC = OBJECT_INVALID); + +int MK_VERSION_GetIsVersionGreaterEqual_1_74(object oPC = OBJECT_INVALID); + +int MK_VERSION_GetIsVersionGreaterEqual_1_69(object oPC = OBJECT_INVALID); + +int MK_VERSION_GetIsVersionGreaterEqual_1_67(object oPC = OBJECT_INVALID); + +int MK_VERSION_GetIsVersionGreaterEqual_1_66(object oPC = OBJECT_INVALID); + +int MK_VERSION_GetIsVersionGreaterEqual_1_64(object oPC = OBJECT_INVALID); + +int MK_VERSION_GetIsVersionGreaterEqual_1_61(object oPC = OBJECT_INVALID); + +int MK_VERSION_GetIsVersionLower_1_61(object oPC = OBJECT_INVALID); + +int MK_VERSION_GetIsVersionLower_1_67(object oPC = OBJECT_INVALID); + +int MK_VERSION_GetIsVersionLower_1_68(object oPC = OBJECT_INVALID); + +int MK_VERSION_GetIsVersionLower_1_69(object oPC = OBJECT_INVALID); + +int MK_VERSION_GetIsVersionLower_1_74(object oPC = OBJECT_INVALID); + +int MK_VERSION_GetIsVersionLower_1_79(object oPC = OBJECT_INVALID); + +int MK_VERSION_GetIsVersionLower_1_83(object oPC = OBJECT_INVALID); + +float MK_VERSION_VersionDataToFloat(struct MK_VERSION_DATA verData); + +string MK_VERSION_VersionDataToString(struct MK_VERSION_DATA verData); + +struct MK_VERSION_DATA MK_VERSION_StringToVersionData(string sNWNversion); + +void MK_VERSION_VersionDataToLocal(struct MK_VERSION_DATA verData, object oPC); + +struct MK_VERSION_DATA MK_VERSION_LocalToVersionData(object oPC); + +int MK_VERSION_GetIsVersionDataValid(struct MK_VERSION_DATA verData); + + +int MK_VERSION_GetIsBuildVersionGreaterEqual(object oPC, int nMajor, int nMinor); + +// 1.69+ or nStart==0: same as FindSubString +// else Workaround for the missing starting position parameter +int MK_VERSION_FindSubString(string sString, string sSubString, int nStart=0); + + +object MK_VERSION_GetObject(object oPC) +{ + if (!GetIsObjectValid(oPC)) + { + oPC = GetPCSpeaker(); + } + if (!GetIsObjectValid(oPC)) + { + oPC = OBJECT_SELF; + } + return oPC; +} + +struct MK_VERSION_DATA MK_VERSION_SetVersion(int nMajor, int nMinor) +{ + struct MK_VERSION_DATA verData; + verData.nMajor = nMajor; + verData.nMinor = nMinor; + return verData; +} + +struct MK_VERSION_DATA MK_VERSION_Initialize(object oPC, int bDisplayMessage) +{ + struct MK_VERSION_DATA verData; + string sNWNversion = GetStringLowerCase(GetLocalString(oPC, "MK_NWN_VERSION_DETECTION")); + if (sNWNversion=="auto") + { +// verData = MK_VERSION_DetectGameVersion(oPC, GetLocalInt(oPC, "MK_NWN_VERSION_DEBUG_MESSAGE")); + verData = MK_VERSION_DetectGameVersionEx(oPC); + SendMessageToPC(oPC, "NWN version detection: NWN version "+MK_VERSION_VersionDataToString(verData)+" detected."); + } + else if (sNWNversion=="") + { + verData = MK_VERSION_SetVersion(MK_NWN_VERSION_CURRENT_MAJOR, MK_NWN_VERSION_CURRENT_MINOR); + SendMessageToPC(oPC, "NWN version detection: NWN version "+MK_VERSION_VersionDataToString(verData)+" assumed."); + } + else if (StringToFloat(sNWNversion)>1.0f) + { + verData = MK_VERSION_StringToVersionData(sNWNversion); + SendMessageToPC(oPC, "NWN version detection: NWN version "+MK_VERSION_VersionDataToString(verData)+" assumed."); + } + else + { + verData = MK_VERSION_SetVersion(MK_NWN_VERSION_CURRENT_MAJOR, MK_NWN_VERSION_CURRENT_MINOR); + SendMessageToPC(oPC, "NWN version detection: Unrecognized NWN version detection mode: '"+sNWNversion+"'! NWN version "+MK_VERSION_VersionDataToString(verData)+" assumed."); + } + MK_VERSION_VersionDataToLocal(verData, oPC); + + return verData; +} + +struct MK_VERSION_DATA MK_VERSION_GetGameVersion(object oPC) +{ + oPC = MK_VERSION_GetObject(oPC); + struct MK_VERSION_DATA verData = MK_VERSION_LocalToVersionData(oPC); + if (!MK_VERSION_GetIsVersionDataValid(verData)) + { + verData = MK_VERSION_Initialize(oPC, TRUE); + } + return verData; +} + +int MK_VERSION_GetIsExtendedVersion(object oPC) +{ + return MK_VERSION_GetIsVersionGreaterEqual_1_74(oPC); +} + +int MK_VERSION_GetIsVersionLower(object oPC, int nMajor, int nMinor) +{ + struct MK_VERSION_DATA verData = MK_VERSION_GetGameVersion(oPC); + return ((verData.nMajornMajor) || ((verData.nMajor==nMajor) && (verData.nMinor>=nMinor))); +} + +int MK_VERSION_GetIsVersionGreaterEqual_1_80(object oPC) +{ + return MK_VERSION_GetIsVersionGreaterEqual(oPC, 1, 80); +} + +int MK_VERSION_GetIsVersionGreaterEqual_1_75(object oPC) +{ + return MK_VERSION_GetIsVersionGreaterEqual(oPC, 1, 75); +} + +int MK_VERSION_GetIsVersionGreaterEqual_1_74(object oPC) +{ + return MK_VERSION_GetIsVersionGreaterEqual(oPC, 1, 74); +} + +int MK_VERSION_GetIsVersionGreaterEqual_1_69(object oPC) +{ + return MK_VERSION_GetIsVersionGreaterEqual(oPC, 1, 69); +} + +int MK_VERSION_GetIsVersionGreaterEqual_1_67(object oPC) +{ + return MK_VERSION_GetIsVersionGreaterEqual(oPC, 1, 67); +} + +int MK_VERSION_GetIsVersionGreaterEqual_1_66(object oPC) +{ + return MK_VERSION_GetIsVersionGreaterEqual(oPC, 1, 66); +} + +int MK_VERSION_GetIsVersionGreaterEqual_1_64(object oPC) +{ + return MK_VERSION_GetIsVersionGreaterEqual(oPC, 1, 64); +} + +int MK_VERSION_GetIsVersionGreaterEqual_1_61(object oPC) +{ + return MK_VERSION_GetIsVersionGreaterEqual(oPC, 1, 61); +} + +int MK_VERSION_GetIsVersionLower_1_61(object oPC) +{ + return MK_VERSION_GetIsVersionLower(oPC, 1, 67); +} + +int MK_VERSION_GetIsVersionLower_1_67(object oPC) +{ + return MK_VERSION_GetIsVersionLower(oPC, 1, 67); +} + +int MK_VERSION_GetIsVersionLower_1_68(object oPC) +{ + return MK_VERSION_GetIsVersionLower(oPC, 1, 68); +} + +int MK_VERSION_GetIsVersionLower_1_69(object oPC) +{ + return MK_VERSION_GetIsVersionLower(oPC, 1, 69); +} + +int MK_VERSION_GetIsVersionLower_1_74(object oPC) +{ + return MK_VERSION_GetIsVersionLower(oPC, 1, 74); +} + +int MK_VERSION_GetIsVersionLower_1_79(object oPC) +{ + return MK_VERSION_GetIsVersionLower(oPC, 1, 79); +} + +int MK_VERSION_GetIsVersionLower_1_83(object oPC) +{ + return MK_VERSION_GetIsVersionLower(oPC, 1, 83); +} + +string MK_VERSION_Get2DAString(string sColumn, int nRow) +{ + return Get2DAString(MK_NWN_VERSION_2DAFILE, sColumn, nRow); +} + +int MK_VERSION_Get2DAInt(string sColumn, int nRow) +{ + return MK_Get2DAInt(MK_NWN_VERSION_2DAFILE, sColumn, nRow); +} + +float MK_VERSION_VersionDataToFloat(struct MK_VERSION_DATA verData) +{ + return (1.0f * verData.nMajor) + + ( (1.0f * verData.nMinor) / pow(10.0f, 1.0f * GetStringLength(IntToString(verData.nMinor))) ); +} + +string MK_VERSION_VersionDataToString(struct MK_VERSION_DATA verData) +{ + return IntToString(verData.nMajor)+"."+IntToString(verData.nMinor); +} + +struct MK_VERSION_DATA MK_VERSION_StringToVersionData(string sNWNversion) +{ + struct MK_VERSION_DATA verData; + int n = FindSubString(sNWNversion, "."); + if (n<=0) + { + verData = MK_VERSION_SetVersion(-1,0); + } + else + { + verData = MK_VERSION_SetVersion( + StringToInt(GetStringLeft(sNWNversion, n)), + StringToInt(GetStringRight(sNWNversion, GetStringLength(sNWNversion)-n-1))); + } + return verData; +} + +void MK_VERSION_VersionDataToLocal(struct MK_VERSION_DATA verData, object oPC) +{ + SetLocalInt(oPC, MK_NWN_VERSION_MAJOR, verData.nMajor); + SetLocalInt(oPC, MK_NWN_VERSION_MINOR, verData.nMinor); +} + +void MK_VERSION_VersionToLocal(int nMajor, int nMinor, object oPC) +{ +// MK_DEBUG_TRACE("MK_VERSION_VersionToLocal("+IntToString(nMajor)+", "+IntToString(nMinor)+")"); + SetLocalInt(oPC, MK_NWN_VERSION_MAJOR, nMajor); + SetLocalInt(oPC, MK_NWN_VERSION_MINOR, nMinor); +} + +struct MK_VERSION_DATA MK_VERSION_LocalToVersionData(object oPC) +{ + struct MK_VERSION_DATA verData; + verData.nMajor = GetLocalInt(oPC, MK_NWN_VERSION_MAJOR); + verData.nMinor = GetLocalInt(oPC, MK_NWN_VERSION_MINOR); + return verData; +} + +int MK_VERSION_GetIsVersionDataValid(struct MK_VERSION_DATA verData) +{ + return (verData.nMajor>=1); +} + +struct MK_VERSION_DATA MK_VERSION_DetectGameVersion(object oPC, int bDisplayProgress) +{ + int nVersionMajor = 1; + int nVersionMinor = 0; + int bOk = TRUE; + int iRow=0; + struct MK_VERSION_DATA verData; + string s2DAFile; + string s2DACol; + int n2DARow; + string s2DAValue; + int b2DAIsEqual; + + while (bOk) + { + verData = MK_VERSION_SetVersion(nVersionMajor, nVersionMinor); + + nVersionMajor = MK_VERSION_Get2DAInt("Major", iRow); + nVersionMinor = MK_VERSION_Get2DAInt("Minor", iRow); + + if (nVersionMajor>=1) + { + s2DAFile = MK_VERSION_Get2DAString("2DA_FILE", iRow); + s2DACol = MK_VERSION_Get2DAString("2DA_COL", iRow); + if ((s2DAFile != "") && (s2DACol != "")) + { + n2DARow = MK_VERSION_Get2DAInt("2DA_ROW", iRow); + s2DAValue = MK_VERSION_Get2DAString("2DA_VALUE", iRow); + b2DAIsEqual = MK_VERSION_Get2DAInt("2DA_EQUAL", iRow); + + string sValue = Get2DAString(s2DAFile, s2DACol, n2DARow); + + bOk = (b2DAIsEqual ? (sValue == s2DAValue) : (sValue != s2DAValue)); + + if (bDisplayProgress) + { + if (!bOk) + { + SendMessageToPC(oPC, "NWN version detection: version '" + + MK_VERSION_Get2DAString("Version", iRow) + + "' test failed: Get2DAString("+s2DAFile+","+s2DACol+","+IntToString(n2DARow)+")='" + + sValue + "' " + (b2DAIsEqual ? "unequal" : "equal") + " '" + s2DAValue + "'"); + } + else + { + SendMessageToPC(oPC, "NWN version detection: version '" + + MK_VERSION_Get2DAString("Version", iRow) + + "' test passed: Get2DAString("+s2DAFile+","+s2DACol+","+IntToString(n2DARow)+")='" + + sValue + "' " + (b2DAIsEqual ? "equal" : "unequal") + " '" + s2DAValue + "'"); + } + } + } + else + { + bOk = TRUE; + } + } + else + { + bOk = FALSE; + } + iRow++; + } + return verData; +} + +int MK_VERSION_FindSubString(string sString, string sSubString, int nStart) +{ + if (nStart==0) + { + return FindSubString(sString, sSubString); + } + else if (MK_VERSION_GetIsVersionGreaterEqual_1_69()) + { + return FindSubString(sString, sSubString, nStart); + } + string sStringQ = GetStringRight(sString, GetStringLength(sString) - nStart); + int nReturn = FindSubString(sStringQ, sSubString); + if (nReturn != -1) + { + nReturn+=nStart; + } + return nReturn; +} + + + +/* +int MK_SetGameVersion(object oPC, int nGameVersion) +{ + SetLocalInt(oPC, "MK_DETECTED_GAME_VERSION", nGameVersion); + return nGameVersion; +} +*/ + +void MK_VERSION_DetectGameVersionQ(object oPC, int bDisplayProgress) +{ + if (bDisplayProgress) + { + SendMessageToPC(oPC, "Extended game version detection..."); + } + int nReturn; + string sReturn; + MK_VERSION_VersionToLocal(1, 22, oPC); + + // The follwing function was added in 1.23 + // int GetStealthMode(object oCreature); + // if we crash we're not running NWN 1.23 + nReturn = GetStealthMode(oPC); + MK_VERSION_VersionToLocal(1, 23, oPC); + + // No new command in 1.24 unfortunately + + // The follwing function was added in 1.25 + // int GetStealthMode(object oCreature); + // if we crash we're not running NWN 1.25 + sReturn = GetResRef(oPC); + MK_VERSION_VersionToLocal(1, 25, oPC); + + // No new command in 1.26 unfortunately + + // The follwing function was added in 1.27 + // int GetDroppableFlag(object oItem); + // if we crash we're not running NWN 1.27 + nReturn = GetDroppableFlag(oPC); + MK_VERSION_VersionToLocal(1, 27, oPC); + + // The follwing function was added in 1.28 + // object CopyObject(object oSource, location locLocation, object oOwner = OBJECT_INVALID, string sNewTag = ""); + // if we crash we're not running NWN 1.28 + CopyObject(OBJECT_INVALID, GetLocation(oPC)); + MK_VERSION_VersionToLocal(1, 28, oPC); + + // No new command in 1.29 unfortunately + + // The follwing function was added in 1.30 + // int GetAppearanceType(object oCreature); + // if we crash we're not running NWN 1.30 + nReturn = GetAppearanceType(oPC); + MK_VERSION_VersionToLocal(1, 30, oPC); + + // The follwing function was added in 1.31 + // int GetWeather(object oArea); + // if we crash we're not running NWN 1.31 + nReturn = GetWeather(GetArea(oPC)); + MK_VERSION_VersionToLocal(1, 31, oPC); + + // No new command in 1.32 unfortunately + + // The follwing function was added in 1.61 + // int GetIsCreatureDisarmable(object oCreature) + // if we crash we're not running NWN 1.61 + nReturn = GetIsCreatureDisarmable(oPC); + MK_VERSION_VersionToLocal(1, 61, oPC); + + // No new command in 1.62 unfortunately + + // No patch notes for 1.63 (did it acutually exist?) + + // The follwing function was added in 1.64 + // int GetPhenoType(object oCreature) + // if we crash we're not running NWN 1.64 + nReturn = GetPhenoType(oPC); + MK_VERSION_VersionToLocal(1, 64, oPC); + + // The follwing function was added in 1.65 + // int GetSkyBox(object oArea=OBJECT_INVALID) + // if we crash we're not running NWN 1.65 + nReturn = GetSkyBox(); + MK_VERSION_VersionToLocal(1, 65, oPC); + + // The follwing function was added in 1.66 + // int GetPickpocketableFlag(object oItem) + // if we crash we're not running NWN 1.66 + nReturn = GetPickpocketableFlag(oPC); + MK_VERSION_VersionToLocal(1, 66, oPC); + + // The follwing function was added in 1.67 + // int GetCreatureWingType(object oCreature=OBJECT_SELF) + // if we crash we're not running NWN 1.67 + nReturn = GetCreatureWingType(oPC); + MK_VERSION_VersionToLocal(1, 67, oPC); + + // The follwing function was added in 1.68 + // void SetUseableFlag(object oPlaceable, int nUseableFlag); + // if we crash we're not running NWN 1.68 + SetUseableFlag(OBJECT_INVALID, FALSE); + MK_VERSION_VersionToLocal(1, 68, oPC); + + // The follwing function was added in 1.69 + // string GetPCChatMessage() + // if we crash we're not running NWN 1.69 + sReturn = GetPCChatMessage(); + MK_VERSION_VersionToLocal(1, 69, oPC); + + // The follwing function was added in 1.74 + // object GetFirstArea(); + // if we crash we're not running NWN 1.74 + GetFirstArea(); + MK_VERSION_VersionToLocal(1, 74, oPC); + + // The follwing function was added in 1.75 + // float GetObjectVisualTransform(object oObject, int nTransform); + // if we crash we're not running NWN 1.75 + //GetObjectVisualTransform(oPC, OBJECT_VISUAL_TRANSFORM_SCALE); + //MK_VERSION_VersionToLocal(1, 75, oPC); + // Build 8193.21 has changed the signature of GetObjectVisualTransform() + // and also SetObjectVisualTransform() so we would crash here always if + // we're running on NWN pre 8193.21. + // As there aren't any other function new to 1.75 we can't detect it + // anymore unfortunately. + + // no idea how to detect 1.76 + // no idea how to detect 1.77 + // no idea how to detect 1.78 + + // The follwing function was added in 1.79 + // string GetRandomUUID(); + // if we crash we're not running NWN 1.79 + sReturn = GetRandomUUID(); + MK_VERSION_VersionToLocal(1, 79, oPC); + + // The follwing function was added in 1.80 + // int GetPlayerBuildVersionMajor(object oPlayer); + // if we crash we're not running NWN 1.80 + nReturn = GetPlayerBuildVersionMajor(oPC); + MK_VERSION_VersionToLocal(1, 80, oPC); + + if (!MK_VERSION_GetIsBuildVersionGreaterEqual(oPC, 8193, 13)) + { + return; + } + MK_VERSION_VersionToLocal(1, 81, oPC); + + if (!MK_VERSION_GetIsBuildVersionGreaterEqual(oPC, 8193, 20)) + { + return; + } + MK_VERSION_VersionToLocal(1, 82, oPC); + if (!MK_VERSION_GetIsBuildVersionGreaterEqual(oPC, 8193, 21)) + { + return; + } + MK_VERSION_VersionToLocal(1, 83, oPC); +} + +struct MK_VERSION_DATA MK_VERSION_DetectGameVersionEx(object oPC) +{ + MK_VERSION_VersionToLocal(1, 0, oPC); + ExecuteScript("mk_get_version", oPC); + return MK_VERSION_LocalToVersionData(oPC); +} + +int MK_VERSION_GetIsBuildVersionGreaterEqual(object oPC, int nMajor, int nMinor) +{ + int nReturn = FALSE; + + oPC = MK_VERSION_GetObject(oPC); + + if (MK_VERSION_GetIsVersionGreaterEqual_1_80(oPC)) + { + nReturn = (GetPlayerBuildVersionMajor(oPC)>nMajor) + || ( (GetPlayerBuildVersionMajor(oPC)==nMajor) + && + (GetPlayerBuildVersionMinor(oPC)>=nMinor) ); + } + return nReturn; +} + + diff --git a/_module/nss/mk_inc_vfx.nss b/_module/nss/mk_inc_vfx.nss new file mode 100644 index 00000000..f9a30f3e --- /dev/null +++ b/_module/nss/mk_inc_vfx.nss @@ -0,0 +1,665 @@ +////////////////////////////////////////////////////////////////////////////// +// mk_inc_vfx.nss +////////////////////////////////////////////////////////////////////////////// + +#include "mk_inc_version" +#include "mk_inc_tools" +#include "mk_inc_body" + +const string MK_VFX_BIOWARE_2DA = "visualeffects"; + +const string MK_VFX_MODE = "mk_vfx_mode"; + +const string MK_VFX_PER_PAGE = "MK_VFX_PER_PAGE"; + +const string MK_DEF_VFX = "mk_def_vfx"; + +const string MK_VFX_CURRENT_VFX = "MK_VFX_CURRENT_VFX"; +const string MK_VFX_CURRENT_ROW = "MK_VFX_CURRENT_ROW"; + +const string MK_EFFECT_SCALE = "MK_EFFECT_SCALE"; +const string MK_EFFECT_TRANSLATE = "MK_EFFECT_TRANSLATE"; +const string MK_EFFECT_ROTATE = "MK_EFFECT_ROTATE"; + +/* +const int MK_VFX_MODE_GLEYES = 0; +const int MK_VFX_MODE_LIGHTS = 1; +const int MK_VFX_MODE_CEP = 2; +const int MK_VFX_MODE_USER = 3; +const int MK_VFX_MODE_ALL = 4; +const int MK_VFX_MODE_ERROR = -1; +*/ + +// initializes the vfx filter system +// sets the 2da file used (mk_sys_vfx.2da or mk_def_vfx.2da) +// returns FALSE if none of these files were found. +int MK_VFX_Initialize(object oPC); + +////////////////////////////////////////////////////////////////////////////// +string MK_VFX_Get_VFXModeFile(object oPC); + +////////////////////////////////////////////////////////////////////////////// +string MK_VFX_Get2DAFile(object oPC, int nVFXmode); + +////////////////////////////////////////////////////////////////////////////// +int MK_VFX_GetVFX(object oPC, int nVFXmode, int nRow, object oTarget = OBJECT_SELF); + +////////////////////////////////////////////////////////////////////////////// +int MK_VFX_GetVFXIsValid(object oPC, int nVFXmode, int nRow, object oTarget = OBJECT_SELF); + +////////////////////////////////////////////////////////////////////////////// +//string MK_VFX_GetValueColumn(int nVFXmode, object oPC = OBJECT_SELF); + +////////////////////////////////////////////////////////////////////////////// +string MK_VFX_GetTag(int nVFX); + +////////////////////////////////////////////////////////////////////////////// +int MK_VFX_GetHasVFX(object oPC, int nVFX, object oTarget); + +////////////////////////////////////////////////////////////////////////////// +int MK_VFX_RemoveVFX(object oPC, int nVFX, object oPC); + +////////////////////////////////////////////////////////////////////////////// +int MK_VFX_ApplyVFX(object oPC, int nVFX, object oPC, int nVFXmode=-1, int nRow=-1); + +////////////////////////////////////////////////////////////////////////////// +int MK_VFX_GetNumberOfVFXPerPage(object oPC); + +////////////////////////////////////////////////////////////////////////////// +void MK_VFX_RemoveAllEffects(object oPC, int nEffectType=EFFECT_TYPE_VISUALEFFECT, int nEffectSubType=0); + +////////////////////////////////////////////////////////////////////////////// +int MK_VFX_GetVFXMode(object oPC); + +////////////////////////////////////////////////////////////////////////////// +void MK_VFX_SetVFXMode(int nVFXMode, object oPC); + + +string MK_EFFECT_GetTag(effect e); + +effect MK_EFFECT_VisualEffect(int nVisualEffectId, int nMissEffect=FALSE, float fScale=1.0f, vector vTranslate=[0.0,0.0,0.0], vector vRotate=[0.0,0.0,0.0]); + +float MK_EFFECT_GetScale(effect e); + +vector MK_EFFECT_GetTranslate(effect e); + +vector MK_EFFECT_GetRotate(effect e); + +effect MK_EFFECT_GetCurrentEffect(object oTarget); + +void MK_EFFECT_UpdateEffect(object oTarget, int nVFX, object oPC, float fScale=1.0f, vector vTranslate=[0.0,0.0,0.0], vector vRotate=[0.0,0.0,0.0]); + +void MK_VFX_ApplyVisualEffect(int nVisualEffectId, object oTarget, int nSubType, int nDurationType, float fDuration=0.0f, string sTag="", int bMissEffect=FALSE, float fScale=1.0f, vector vTranslate=[0.0,0.0,0.0], vector vRotate=[0.0,0.0,0.0], int bDelay=FALSE); + +////////////////////////////////////////////////////////////////////////////// + +int MK_VFX_Initialize(object oPC) +{ + MK_DEBUG_TRACE("MK_HEAD:Initialize('"+GetName(oPC)+"')"); + int bReturn = TRUE; + string s2DA = "mk_def_vfx"; + if (Get2DAString(s2DA, "NAME", 0) == "MK_VFX_ALL") + { + MK_DEBUG_TRACE(" > "+s2DA+".2DA found ("+Get2DAString(s2DA, "NAME", 0)+")."); + SetLocalString(oPC, MK_DEF_VFX, s2DA); + } + else + { + s2DA = "mk_sys_vfx"; + if (Get2DAString(s2DA, "NAME", 0) == "MK_VFX_ALL") + { + MK_DEBUG_TRACE(" > "+s2DA+".2DA found."); + SetLocalString(oPC, MK_DEF_VFX, s2DA); + } + else + { + MK_DEBUG_TRACE(" > "+s2DA+".2DA not found."); + DeleteLocalString(oPC, MK_DEF_VFX); + SendMessageToPC(oPC, "VFX filter definition files 'mk_def_vfx.2da' or 'mk_sys_vfx.2da' not found!"); + bReturn = FALSE; + } + } + return bReturn; +} + +int MK_VFX_GetCurrentVFX() +{ + return GetLocalInt(OBJECT_SELF, MK_VFX_CURRENT_VFX); +} + +void MK_VFX_SetCurrentVFX(int nVFX) +{ + SetLocalInt(OBJECT_SELF, MK_VFX_CURRENT_VFX, nVFX); +} + +int MK_VFX_GetCurrentRow() +{ + return GetLocalInt(OBJECT_SELF, MK_VFX_CURRENT_ROW); +} + +void MK_VFX_SetCurrentRow(int nRow) +{ + SetLocalInt(OBJECT_SELF, MK_VFX_CURRENT_ROW, nRow); +} + +string MK_VFX_Get_VFXModeFile(object oPC) +{ + return GetLocalString(oPC, MK_DEF_VFX); +} + +int MK_VFX_GetVFXMode(object oPC) +{ + return GetLocalInt(oPC, MK_VFX_MODE); +} + +void MK_VFX_SetVFXMode(int nVFXMode, object oPC) +{ + SetLocalInt(oPC, MK_VFX_MODE, nVFXMode); +} + +int MK_VFX_GetVFXIsValid(object oPC, int nVFXmode, int nRow, object oTarget) +{ + int bReturn = FALSE; + int nVFX = MK_VFX_GetVFX(oPC, nVFXmode, nRow, oTarget); + if (nVFX!=-1) + { + bReturn = (Get2DAString(MK_VFX_BIOWARE_2DA, "Type_FD", nVFX)!=""); + } + return bReturn; +} + +int MK_VFX_GetNumberOfVFXPerPage(object oPC) +{ + return GetLocalInt(oPC, MK_VFX_PER_PAGE); +} + +string MK_VFX_Get2DAFile(object oPC, int nVFXmode) +{ + string s2DA = Get2DAString(MK_VFX_Get_VFXModeFile(oPC), "2DAFILE", nVFXmode); + if (s2DA=="") + { + s2DA = MK_VFX_BIOWARE_2DA; + } + return s2DA; +} + +string MK_VFX_GetRaceGenderColumn(object oTarget) +{ + int nRacialType = GetRacialType(oTarget); + string sAppearance =Get2DAString("racialtypes", "Appearance", nRacialType); + if (sAppearance!="") + { + nRacialType = MK_Search2DAFile("racialtypes", "Appearance", sAppearance, 50); + } + return Get2DAString("racialtypes", "Label", nRacialType)+"_"+MK_GetGenderAsString(oTarget); +} + +int MK_VFX_GetVFX(object oPC, int nVFXMode, int nRow, object oTarget) +{ + int nVFX=-1; + string s2DA = Get2DAString(MK_VFX_Get_VFXModeFile(oPC), "2DAFILE", nVFXMode); +// MK_DEBUG_TRACE("MK_VFX_GetVFX("+IntToString(nVFXMode)+","+IntToString(nRow)+"): s2DA="+s2DA); + if (s2DA=="") + { + nVFX = nRow; + } + else + { + string sColumn = MK_VFX_GetRaceGenderColumn(oTarget); + nVFX = MK_Get2DAInt(s2DA, sColumn, nRow, -1); +// MK_DEBUG_TRACE(" > sColumn="+sColumn+", nVFX="+IntToString(nVFX)); + if (nVFX == -1) + { + nVFX = MK_Get2DAInt(s2DA, "Default", nRow, -1); +// MK_DEBUG_TRACE(" > nVFX="+IntToString(nVFX)); + } + } + return nVFX; +} + +string MK_VFX_GetTag(int nVFX) +{ + return "MK_VFX_"+MK_IntToString(nVFX, 5, "0"); +} + +int MK_VFX_GetHasVFX(object oPC, int nVFX, object oTarget) +{ + if (MK_VERSION_GetIsVersionLower_1_74(oPC)) + { + return FALSE; + } + + string sTag = MK_VFX_GetTag(nVFX); + + effect eEff = GetFirstEffect(oTarget); + while (GetIsEffectValid(eEff)) + { + if (MK_EFFECT_GetTag(eEff) == sTag) + { + return TRUE; + } + eEff = GetNextEffect(oTarget); + } + return FALSE; +} + +int MK_VFX_RemoveVFX(object oTarget, int nVFX, object oPC) +{ + if (MK_VERSION_GetIsVersionLower_1_74(oPC)) + { + SendMessageToPC(oPC, "EE features are disabled. Can't remove specific effects!"); + return FALSE; + } + + string sTag = MK_VFX_GetTag(nVFX); + + effect eEff = GetFirstEffect(oTarget); + while (GetIsEffectValid(eEff)) + { + if (MK_EFFECT_GetTag(eEff) == sTag) + { + RemoveEffect(oTarget, eEff); + return TRUE; + } + eEff = GetNextEffect(oTarget); + } +// SendMessageToPC(oPC, "Specified effect not found!"); + return FALSE; +} + +int MK_VFX_ApplyVFX(object oTarget, int nVFX, object oPC, int nVFXmode, int nRow) +{ + int nDurationType = DURATION_TYPE_INSTANT; + int nSubType = SUBTYPE_MAGICAL; + string s2DAFile = MK_VFX_Get2DAFile(oPC, nVFXmode); + if (s2DAFile!="") + { + if (nRow==-1) nRow = nVFX; + string sTypeFD = Get2DAString(s2DAFile, "Type_FD", nRow); + if ((sTypeFD == "D") || (sTypeFD == "B")) + { + if (Get2DAString(s2DAFile, "Supernatural", nRow) == "1") + { + nSubType = SUBTYPE_SUPERNATURAL; + } + nDurationType = DURATION_TYPE_PERMANENT; + } + } + + MK_VFX_ApplyVisualEffect(nVFX, oTarget, nSubType, nDurationType, 0.0f, MK_VFX_GetTag(nVFX)); + SendMessageToPC(oPC, "Applying specified vfx (name="+Get2DAString(s2DAFile, "Label", nRow)+","+IntToString(nVFX)+")!"); + +/* + effect eEffect = MK_EFFECT_VisualEffect(nVFX); + + int nDurationType = DURATION_TYPE_INSTANT; + string s2DAFile = MK_VFX_Get2DAFile(nVFXmode); + if (s2DAFile!="") + { + if (nRow==-1) nRow = nVFX; + string sTypeFD = Get2DAString(s2DAFile, "Type_FD", nRow); + if ((sTypeFD == "D") || (sTypeFD == "B")) + { + if (Get2DAString(s2DAFile, "Supernatural", nRow) == "1") + { + eEffect = SupernaturalEffect(eEffect); + } + nDurationType = DURATION_TYPE_PERMANENT; + } + } +// if (MK_VERSION_GetIsVersionGreaterEqual_1_74(oPC)) +// { +// eEffect = TagEffect(eEffect, MK_VFX_GetTag(nVFX)); +// } + + SendMessageToPC(oPC, "Applying specified vfx (name="+Get2DAString(s2DAFile, "Label", nRow)+","+IntToString(nVFX)+")!"); + + ApplyEffectToObject(nDurationType, eEffect, oPC); +*/ + return TRUE; +} + +void MK_VFX_RemoveAllEffects(object oTarget, int nEffectType, int nEffectSubType) +{ + effect eEffect = GetFirstEffect(oTarget); + while (GetIsEffectValid(eEffect)) + { + if ( ( GetEffectType (eEffect) == nEffectType ) && + ( (nEffectSubType==0) || (GetEffectSubType(eEffect) == nEffectSubType)) ) + { + RemoveEffect(oTarget, eEffect); + } + eEffect = GetNextEffect(oTarget); + } +} + +/* +struct MK_VFX_DESCRIPTION +{ + string sDescription; + string sPrefix1; + string sPrefix2; +}; + +struct MK_VFX_DESCRIPTION MK_VFX_SetDescription(string sName) +{ + struct MK_VFX_DESCRIPTION desc; + + int nPos0 = FindSubString(sName, "_"); + int nPos1 = ( (nPos0 == -1) ? -1 : MK_VERSION_FindSubString(sName, "_", nPos0+1) ); + int nLen = GetStringLength(sName); + + if (nPos1!=-1) + { + desc.sPrefix1 = GetStringLeft(sName, nPos0); + if (desc.sPrefix1 == "SCENE") + { + desc.sPrefix2 = ""; + desc.sDescription = GetStringRight(sName, nLen - nPos0 - 1); + } + else + { + desc.sPrefix2 = GetSubString(sName, nPos0+1, nPos1 - nPos0 -1); + desc.sDescription = GetStringRight(sName, nLen - nPos1 - 1); + } + } + else if (nPos0!=-1) + { + desc.sDescription = GetStringRight(sName, nLen - nPos0 - 1); + desc.sPrefix1 = GetStringLeft(sName, nPos0); + desc.sPrefix2 = ""; + } + else + { + desc.sDescription = sName; + desc.sPrefix1 = ""; + desc.sPrefix2 = ""; + } + return desc; +} +*/ + +string MK_VFX_GetDescription(int nVFXmode, int nVFX, string sName) +{ + string sDescription; + switch (nVFXmode) + { + case 0: + { + int nLen = GetStringLength(sName); + int nNewLen = -1; + if ((nLen>25) && (nVFX>=100)) + { + nNewLen = 24; + } + else if ((nLen>26) && (nVFX>=10)) + { + nNewLen = 25; + } + else if (nLen>27) + { + nNewLen = 26; + } + if (nNewLen!=-1) + { + sName = GetStringLeft(sName, nNewLen)+".."; + } + sDescription = sName + " ("+IntToString(nVFX)+")"; + break; + } + default: + sDescription = sName + " ("+IntToString(nVFX)+")"; + break; + } +/* + case 1: + case 2: + case 3: + sDescription = sName + " ("+IntToString(nVFX)+")"; + break; + default: + { + struct MK_VFX_DESCRIPTION desc = MK_VFX_SetDescription(sName); + sDescription = desc.sDescription + " ("+IntToString(nVFX); + if ((desc.sPrefix1 != "VFX") && (desc.sPrefix1 != "")) + { + sDescription += (", " + desc.sPrefix1); + } + if (desc.sPrefix2 != "") + { + sDescription += (", " + desc.sPrefix2); + } + sDescription += ")"; + break; + } + } +*/ + return sDescription; +} + + +effect MK_EFFECT_VisualEffect(int nVisualEffectId, int nMissEffect, float fScale, vector vTranslate, vector vRotate) +{ + effect e; + + if (MK_VERSION_GetIsBuildVersionGreaterEqual(OBJECT_SELF, 8193, 14)) + { + MK_DEBUG_TRACE("EffectVisualEffect("+IntToString(nVisualEffectId) + +", "+IntToString(nMissEffect) + +", "+FloatToString(fScale, 7, 3) + +", ("+FloatToString(vTranslate.x, 7, 3) + +", "+FloatToString(vTranslate.y, 7, 3) + +", "+FloatToString(vTranslate.z, 7, 3)+")" + +", ("+FloatToString(vRotate.x, 7, 3) + +", "+FloatToString(vRotate.y, 7, 3) + +", "+FloatToString(vRotate.z, 7, 3)+")"); + + e = EffectVisualEffect(nVisualEffectId, nMissEffect, fScale, vTranslate, vRotate); + } + else + { + MK_DEBUG_TRACE("EffectVisualEffect("+IntToString(nVisualEffectId)+")"); + e = EffectVisualEffect(nVisualEffectId); + } + + if (MK_VERSION_GetIsVersionGreaterEqual_1_74()) + { + string sTag = MK_VFX_GetTag(nVisualEffectId); + if (MK_VERSION_GetIsBuildVersionGreaterEqual(OBJECT_SELF, 8193, 14)) + { + sTag += "$$$"; + sTag += (FloatToString(fScale, 7, 3) + "§"); + sTag += (FloatToString(vTranslate.x, 9, 3) + +FloatToString(vTranslate.y, 9, 3) + +FloatToString(vTranslate.z, 9, 3) + "§"); + sTag += (FloatToString(vRotate.x , 9, 3) + +FloatToString(vRotate.y , 9, 3) + +FloatToString(vRotate.z , 9, 3) + "$"); + } + MK_DEBUG_TRACE(" > sTag = '"+sTag+"'"); + e = TagEffect(e, sTag); + } + + return e; +} + +string MK_EFFECT_GetTag(effect e) +{ + string sTag = GetEffectTag(e); + int nPos = FindSubString(sTag, "$$$"); + if (nPos!=-1) + { + sTag = GetStringLeft(sTag, nPos); + } + return sTag; +} + +float MK_EFFECT_GetScale(effect e) +{ + float fScale = 1.0f; + string sTag = GetEffectTag(e); + int nPos = FindSubString(sTag, "$$$"); + if (nPos != -1) + { + sTag = GetSubString(sTag, nPos+3, 7); + fScale = StringToFloat(sTag); + } + return fScale; +} + +vector MK_EFFECT_GetTranslate(effect e) +{ + vector vTrans = [0.0, 0.0, 0.0]; + string sTag = GetEffectTag(e); + int nPos = FindSubString(sTag, "$$$"); + if (nPos != -1) + { + sTag = GetSubString(sTag, nPos+3+10, 28); + vTrans.x = StringToFloat(GetSubString(sTag,0,9)); + vTrans.y = StringToFloat(GetSubString(sTag,9,9)); + vTrans.z = StringToFloat(GetSubString(sTag,18,9)); + } + return vTrans; +} + +vector MK_EFFECT_GetRotate(effect e) +{ + vector vRotate = [0.0, 0.0, 0.0]; + string sTag = GetEffectTag(e); + int nPos = FindSubString(sTag, "$$$"); + if (nPos != -1) + { + sTag = GetSubString(sTag, nPos+3+10+28, 28); + vRotate.x = StringToFloat(GetSubString(sTag,0,9)); + vRotate.y = StringToFloat(GetSubString(sTag,9,9)); + vRotate.z = StringToFloat(GetSubString(sTag,18,9)); + } + + return vRotate; +} + +effect MK_EFFECT_GetCurrentEffect(object oTarget) +{ + int nVFX = MK_VFX_GetCurrentVFX(); + string sTag = MK_VFX_GetTag(nVFX); + + effect eEff = GetFirstEffect(oTarget); + while (GetIsEffectValid(eEff)) + { + if (MK_EFFECT_GetTag(eEff) == sTag) + { + return eEff; + } + eEff = GetNextEffect(oTarget); + } + effect e; + return e; +} + +void MK_EFFECT_UpdateEffect(object oTarget, int nVFX, object oPC, float fScale, vector vTranslate, vector vRotate) +{ + MK_DEBUG_TRACE("UpdateEffect(...,"+IntToString(nVFX)+", "+FloatToString(fScale, 7, 3)+")"); + + if (nVFX!=-1) + { + string sTag = MK_VFX_GetTag(nVFX); + effect e = GetFirstEffect(oTarget); + while (GetIsEffectValid(e)) + { + if (MK_EFFECT_GetTag(e) == sTag) + { + MK_DEBUG_TRACE(" > effect found!"); + int nSubType = GetEffectSubType(e); + int nDurationType = GetEffectDurationType(e); + int nDurationRemaining = GetEffectDurationRemaining(e); + + RemoveEffect(oTarget, e); + + effect eEff = MK_EFFECT_VisualEffect(nVFX, FALSE, fScale, vTranslate, vRotate); + + switch (nSubType) + { + case SUBTYPE_SUPERNATURAL: + eEff = SupernaturalEffect(eEff); + break; + case SUBTYPE_MAGICAL: + eEff = MagicalEffect(eEff); + break; + case SUBTYPE_EXTRAORDINARY: + eEff = ExtraordinaryEffect(eEff); + break; + } + + MK_DEBUG_TRACE(" > nDurationType="+IntToString(nDurationType)); + + SetLocalString(oPC, MK_EFFECT_SCALE, FloatToString(fScale, 7, 3)); + SetLocalString(oPC, MK_EFFECT_TRANSLATE, "("+FloatToString(vTranslate.x,7,3)+ + FloatToString(vTranslate.y, 7, 3)+ + FloatToString(vTranslate.z, 7, 3)+")"); + SetLocalString(oPC, MK_EFFECT_ROTATE, "("+FloatToString(vRotate.x,7,3)+ + FloatToString(vRotate.y, 7, 3)+ + FloatToString(vRotate.z, 7, 3)+")"); + + DelayCommand(0.0f, ApplyEffectToObject(nDurationType, eEff, oTarget, IntToFloat(nDurationRemaining))); + +// ApplyEffectToObject(nDurationType, eEff, oPC, IntToFloat(nDurationRemaining)); + + return; + } + e = GetNextEffect(oTarget); + } + MK_DEBUG_TRACE(" > effect not found!"); + } +} + +void MK_VFX_ApplyVisualEffect(int nVisualEffectId, object oTarget, int nSubType, int nDurationType, float fDuration, string sTag, int bMissEffect, float fScale, vector vTranslate, vector vRotate, int bDelay) +{ + if (MK_VERSION_GetIsBuildVersionGreaterEqual(OBJECT_SELF, 8193, 14)) + { + effect e = EffectVisualEffect(nVisualEffectId, bMissEffect, fScale, vTranslate, vRotate); + + switch (nSubType) + { + case SUBTYPE_EXTRAORDINARY: + e = ExtraordinaryEffect(e); + break; + case SUBTYPE_SUPERNATURAL: + e = SupernaturalEffect(e); + break; + } + + if (sTag!="") + { + e = TagEffect(e, sTag); + } + + if (bDelay) + { + DelayCommand(0.0f, ApplyEffectToObject(nDurationType, e, oTarget, fDuration)); + } + else + { + ApplyEffectToObject(nDurationType, e, oTarget, fDuration); + } + } + else + { + string sScript="mk_apply_vis_eff"; + object oObject = oTarget; + SetLocalInt(oObject, "PARAM_01", nVisualEffectId); + SetLocalObject(oObject, "PARAM_02", oTarget); + SetLocalInt(oObject, "PARAM_03", nSubType); + SetLocalInt(oObject, "PARAM_04", nDurationType); + SetLocalFloat(oObject, "PARAM_05", fDuration); + SetLocalString(oObject, "PARAM_06", sTag); + SetLocalInt(oObject, "PARAM_07", bDelay); + ExecuteScript(sScript, oObject); + } +} + + +/* +void main() +{ +} +/**/ diff --git a/_module/nss/mk_ncond_27.nss b/_module/nss/mk_ncond_27.nss new file mode 100644 index 00000000..5fe70909 --- /dev/null +++ b/_module/nss/mk_ncond_27.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return !MK_GenericDialog_GetCondition(27, FALSE); +} diff --git a/_module/nss/mk_ncond_28.nss b/_module/nss/mk_ncond_28.nss new file mode 100644 index 00000000..fe39f088 --- /dev/null +++ b/_module/nss/mk_ncond_28.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return !MK_GenericDialog_GetCondition(28, FALSE); +} diff --git a/_module/nss/mk_ncond_29.nss b/_module/nss/mk_ncond_29.nss new file mode 100644 index 00000000..27a72c59 --- /dev/null +++ b/_module/nss/mk_ncond_29.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return !MK_GenericDialog_GetCondition(29, FALSE); +} diff --git a/_module/nss/mk_ncond_30.nss b/_module/nss/mk_ncond_30.nss new file mode 100644 index 00000000..62059fdb --- /dev/null +++ b/_module/nss/mk_ncond_30.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return !MK_GenericDialog_GetCondition(30, FALSE); +} diff --git a/_module/nss/mk_ncond_31.nss b/_module/nss/mk_ncond_31.nss new file mode 100644 index 00000000..0ad88832 --- /dev/null +++ b/_module/nss/mk_ncond_31.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return !MK_GenericDialog_GetCondition(31, FALSE); +} diff --git a/_module/nss/mk_ncond_32.nss b/_module/nss/mk_ncond_32.nss new file mode 100644 index 00000000..561af6a3 --- /dev/null +++ b/_module/nss/mk_ncond_32.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return !MK_GenericDialog_GetCondition(32, FALSE); +} diff --git a/_module/nss/mk_ncond_33.nss b/_module/nss/mk_ncond_33.nss new file mode 100644 index 00000000..7c896994 --- /dev/null +++ b/_module/nss/mk_ncond_33.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return !MK_GenericDialog_GetCondition(33, FALSE); +} diff --git a/_module/nss/mk_ncond_34.nss b/_module/nss/mk_ncond_34.nss new file mode 100644 index 00000000..cb57c2cf --- /dev/null +++ b/_module/nss/mk_ncond_34.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return !MK_GenericDialog_GetCondition(34, FALSE); +} diff --git a/_module/nss/mk_ncond_35.nss b/_module/nss/mk_ncond_35.nss new file mode 100644 index 00000000..392278d1 --- /dev/null +++ b/_module/nss/mk_ncond_35.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return !MK_GenericDialog_GetCondition(35, FALSE); +} diff --git a/_module/nss/mk_ncond_36.nss b/_module/nss/mk_ncond_36.nss new file mode 100644 index 00000000..650e6cf6 --- /dev/null +++ b/_module/nss/mk_ncond_36.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return !MK_GenericDialog_GetCondition(36, FALSE); +} diff --git a/_module/nss/mk_ncond_37.nss b/_module/nss/mk_ncond_37.nss new file mode 100644 index 00000000..67985e4d --- /dev/null +++ b/_module/nss/mk_ncond_37.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return !MK_GenericDialog_GetCondition(37, FALSE); +} diff --git a/_module/nss/mk_ncond_38.nss b/_module/nss/mk_ncond_38.nss new file mode 100644 index 00000000..492ca475 --- /dev/null +++ b/_module/nss/mk_ncond_38.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return !MK_GenericDialog_GetCondition(38, FALSE); +} diff --git a/_module/nss/mk_ncond_39.nss b/_module/nss/mk_ncond_39.nss new file mode 100644 index 00000000..30b7b702 --- /dev/null +++ b/_module/nss/mk_ncond_39.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +int StartingConditional() +{ + return !MK_GenericDialog_GetCondition(39, FALSE); +} diff --git a/_module/nss/mk_on_dismount.nss b/_module/nss/mk_on_dismount.nss new file mode 100644 index 00000000..ba20a305 --- /dev/null +++ b/_module/nss/mk_on_dismount.nss @@ -0,0 +1,16 @@ +// mk_on_dismount + +#include "mk_inc_exec" + +// this script is called by the CCOH horse system to verify +// if dismounting is allowed at the moment. +// +// Provide TRUE as a parameter to MK_EXEC_INT_SetReturnValue(int nReturn) +// to allow mounting or provide FALSE to disallow mounting + + +void main() +{ + SendMessageToPC(OBJECT_SELF, "*** script \"mk_on_dismount\" called ***"); + MK_EXEC_INT_SetReturnValue(TRUE); +} diff --git a/_module/nss/mk_on_dismounted.nss b/_module/nss/mk_on_dismounted.nss new file mode 100644 index 00000000..51b07812 --- /dev/null +++ b/_module/nss/mk_on_dismounted.nss @@ -0,0 +1,25 @@ +// mk_on_dismounted.nss + +#include "mk_inc_horse" +//#include "x3_inc_horse" + +// this script is called by the CCOH horse system after dismounting +// it could be used to dismount all the PC's henchmen for example + +void main() +{ + object oRider = OBJECT_SELF; + if (!GetIsPC(oRider)) return; + + SendMessageToPC(OBJECT_SELF, "*** script \"mk_on_dismounted\" called ***"); + + int iHench; + for (iHench=1; iHench<=GetMaxHenchmen(); iHench++) + { + object oHench = GetHenchman(oRider, iHench); + if (GetIsObjectValid(oHench)) + { + MK_CreatureMountHorse(oHench, 0); + } + } +} diff --git a/_module/nss/mk_on_mount.nss b/_module/nss/mk_on_mount.nss new file mode 100644 index 00000000..71d7991c --- /dev/null +++ b/_module/nss/mk_on_mount.nss @@ -0,0 +1,22 @@ +// mk_on_mount.nss + +#include "mk_inc_exec" + +// this script is called by the CCOH horse system to verify +// if mounting horse is allowed at the moment. +// +// Provide TRUE as a parameter to MK_EXEC_INT_SetReturnValue(int nReturn) +// to allow mounting or provide FALSE to disallow mounting + +void main() +{ + SendMessageToPC(OBJECT_SELF, "*** script \"mk_on_mount\" called ***"); +// MK_EXEC_INT_SetReturnValue(TRUE); + int nReturn = !GetIsAreaInterior(GetArea(OBJECT_SELF)); + if (!nReturn) + { + if (GetIsPC(OBJECT_SELF)) + SendMessageToPC(OBJECT_SELF, GetStringByStrRef(112003)); + } + MK_EXEC_INT_SetReturnValue(nReturn); +} diff --git a/_module/nss/mk_on_mounted.nss b/_module/nss/mk_on_mounted.nss new file mode 100644 index 00000000..9b4ffb51 --- /dev/null +++ b/_module/nss/mk_on_mounted.nss @@ -0,0 +1,32 @@ +// mk_on_mounted.nss + +#include "mk_inc_horse" +//#include "x3_inc_horse" + +// this script is called by the CCOH horse system after smounting +// it could be used to mount all the PC's henchmen for example + + +void main() +{ + object oRider = OBJECT_SELF; + if (!GetIsPC(oRider)) return; + + SendMessageToPC(OBJECT_SELF, "*** script \"mk_on_mounted\" called ***"); + + int iHench; + for (iHench=1; iHench<=GetMaxHenchmen(); iHench++) + { + object oHench = GetHenchman(oRider, iHench); + if (!HorseGetIsMounted(oHench)) + { + int nHorse = GetLocalInt(oHench, MK_VAR_CURRENT_HORSE); + if (nHorse<=0) + { + nHorse = 17 + ((iHench-1) % 4) * 13; + } + MK_CreatureMountHorse(oHench, nHorse); + } + } + +} diff --git a/_module/nss/mk_onplayerchat.nss b/_module/nss/mk_onplayerchat.nss new file mode 100644 index 00000000..db391bd5 --- /dev/null +++ b/_module/nss/mk_onplayerchat.nss @@ -0,0 +1,25 @@ +#include "mk_inc_editor" + +void main() +{ + object oPC = GetPCChatSpeaker(); + string sChatMessage = GetPCChatMessage(); + + int bEditorRunning = GetLocalInt(oPC, g_varEditorRunning); + if (bEditorRunning) // the editor is running + { + int bUseOnPlayerChatEvent = + GetLocalInt(oPC, g_varEditorUseOnPlayerChatEvent); + + if (bUseOnPlayerChatEvent) + { + SetLocalString(oPC, g_varEditorChatMessageString, sChatMessage); + + // the following line is not required but will make everything + // look much better. + SetPCChatMessage(""); // delete the message so it does not + // appear above the player's head + } + return; + } +} diff --git a/_module/nss/mk_onplayertargt.nss b/_module/nss/mk_onplayertargt.nss new file mode 100644 index 00000000..3378f2f4 --- /dev/null +++ b/_module/nss/mk_onplayertargt.nss @@ -0,0 +1,74 @@ +#include "mk_inc_craft" +#include "mk_inc_debug" +#include "mk_inc_version" + +void MK_SetEventScript(object oObject, int nHandler, string sScript) +{ + SetEventScript(oObject, nHandler, sScript); +} + +string MK_GetEventScript(object oObject, int nHandler) +{ + return GetEventScript(oObject, nHandler); +} + + +void main() +{ + MK_DEBUG_TRACE("mk_onplayertargt..."); + + MK_RestorePlayerTargetScript(); + + object oPC = GetLastPlayerToSelectTarget(); + object oTargetOld = MK_GetCurrentTarget(oPC); + object oTargetNew = GetTargetingModeSelectedObject(); + int nEnableTarget = GetLocalInt(oPC, "MK_ENABLE_SELECT_TARGET"); + + MK_DEBUG_TRACE(" > oPC="+GetName(oPC)); + MK_DEBUG_TRACE(" > oTargetOld="+GetName(oTargetOld)); + MK_DEBUG_TRACE(" > oTargetNew="+GetName(oTargetNew)); + + if (GetIsObjectValid(oTargetNew)) + { + if (GetIsPC(oTargetNew) && (oTargetNew != oPC)) // no PCs allowed + { + SendMessageToPC(oPC, "Invalid target! You can't modify other PCs!"); + oTargetNew = oTargetOld; + } + else if (nEnableTarget==1) // henchmen only + { + if (!MK_GetIsHenchman(oTargetNew, oPC)) + { + SendMessageToPC(oPC, "Invalid target! Only your own henchmen are allowed!"); + oTargetNew = oTargetOld; + } + } + + if (oTargetNew!=oTargetOld) + { + MK_SetCurrentTarget(oPC, oTargetNew); + if (oTargetNew!=oPC) + { + AssignCommand(oPC, ActionForceMoveToObject(oTargetNew, FALSE, 1.0f, 5.0f)); + + if (MK_VERSION_GetIsVersionGreaterEqual_1_74(oPC)) + { + string sOnConversationScript = MK_GetEventScript(oTargetNew, EVENT_SCRIPT_CREATURE_ON_DIALOGUE); + if (sOnConversationScript!="") + { + SetLocalString(oTargetNew, "MK_CCOH_ON_DIALOG_SCRIPT", sOnConversationScript); + SetEventScript(oTargetNew, EVENT_SCRIPT_CREATURE_ON_DIALOGUE, ""); + // safety belt: if dialog does not start for some reason then this will restore the OnConversation script + DelayCommand(10.0f, MK_SetEventScript(oTargetNew, EVENT_SCRIPT_CREATURE_ON_DIALOGUE, sOnConversationScript)); + } + } + } + } + } + else + { + oTargetNew = oTargetOld; + } + + AssignCommand(oPC, ActionStartConversation(oTargetNew, "x0_skill_ctrap", TRUE, FALSE)); +} diff --git a/_module/nss/mk_pre_app.nss b/_module/nss/mk_pre_app.nss new file mode 100644 index 00000000..79b043be --- /dev/null +++ b/_module/nss/mk_pre_app.nss @@ -0,0 +1,94 @@ +#include "mk_inc_generic" +#include "mk_inc_states" +#include "mk_inc_2da_disp" +#include "mk_inc_ccoh_db" + +const string MK_APPEARANCE_TYPE_SAVE = "MK_APPEARANCE_TYPE_SAVE"; + +void RestoreOriginalAppearance(object oTarget) +{ + string sIAStr = GetLocalString(oTarget, MK_APPEARANCE_TYPE_SAVE); + MK_DEBUG_TRACE("Restoring original appearance type: '"+sIAStr+"'"); + if (sIAStr!="") + { + MK_CCOH_DB_IAStrToBodyAppearance(oTarget, sIAStr, MK_CCOH_DB_BODY_APPR_TYPE); + DeleteLocalString(oTarget, MK_APPEARANCE_TYPE_SAVE); + } +} + +void SaveOriginalAppearance(object oTarget) +{ + string sIAStr = GetLocalString(oTarget, MK_APPEARANCE_TYPE_SAVE); + if (sIAStr=="") + { + sIAStr = MK_CCOH_DB_BodyAppearanceToIAStr(oTarget, MK_CCOH_DB_BODY_APPR_TYPE); + SetLocalString(oTarget, MK_APPEARANCE_TYPE_SAVE, sIAStr); + } +} + +int GetHasOriginalAppearance(object oTarget) +{ + string sIAStr1 = GetLocalString(oTarget, MK_APPEARANCE_TYPE_SAVE); + string sIAStr2 = MK_CCOH_DB_BodyAppearanceToIAStr(oTarget, MK_CCOH_DB_BODY_APPR_TYPE); + return (sIAStr1=="") || (sIAStr1==sIAStr2); +} + +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oTarget = MK_GetCurrentTarget(oPC); + + MK_CCOH_DB_Init(oPC); + + int nState = MK_GenericDialog_GetState(); + int nAction = MK_GenericDialog_GetAction(); + + int nCurrentPage; + + switch (nState) + { + case MK_STATE_APPEARANCETYPE: + nCurrentPage = MK_2DA_DISPLAY_GetCurrentPage(); + switch (nAction) + { + case 250: + case 251: + case 252: + case 253: + nCurrentPage = MK_2DA_DISPLAY_UpdatePage(nAction); + break; + case 127: + // Restore original appearance + RestoreOriginalAppearance(oTarget); + break; + default: + int nNewAppearanceType = MK_2DA_DISPLAY_GetValueAsInt(nAction); + if (nNewAppearanceType!=-1) + { + SaveOriginalAppearance(oTarget); + SetCreatureAppearanceType(oTarget, nNewAppearanceType); + } + break; + } + break; + default: + nState = MK_STATE_APPEARANCETYPE; + MK_2DA_DISPLAY_Initialize("appearance", "", "NAME", "STRING_REF", "LABEL", 1500); + nCurrentPage = MK_2DA_DISPLAY_GetCurrentPage(); + MK_GenericDialog_SetState(nState); + CISetCurrentModMode(oPC, MK_CI_MODMODE_BODY); + break; + } + + switch (nState) + { + case MK_STATE_APPEARANCETYPE: + MK_2DA_DISPLAY_DisplayPage(nCurrentPage, GetAppearanceType(oTarget)); + + MK_GenericDialog_SetCondition(127, !GetHasOriginalAppearance(oTarget)); + MK_GenericDialog_SetCondition(254, MK_CCOH_DB_GetIsBodyChanged(oTarget)); + break; + } + + return TRUE; +} diff --git a/_module/nss/mk_pre_armorpart.nss b/_module/nss/mk_pre_armorpart.nss new file mode 100644 index 00000000..f3673abf --- /dev/null +++ b/_module/nss/mk_pre_armorpart.nss @@ -0,0 +1,93 @@ +#include "mk_inc_generic" + +#include "x2_inc_craft" +#include "mk_inc_craft" +#include "mk_inc_states" + +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oTarget = MK_GetCurrentTarget(oPC); + + int nNWNversion_GE_1_74 = MK_VERSION_GetIsVersionGreaterEqual_1_74(); +// int nDisableEEFeatures = MK_INIT_GetAreEEFeaturesDisabled(); + + object oItem = CIGetCurrentModItem(oPC); + + int nState = MK_GenericDialog_GetState(TRUE); + + switch (nState) + { + case MK_STATE_COPY: + { + int nItem = MK_GenericDialog_GetAction(); + MK_DEBUG_TRACE("mk_pre_armorpart(MK_STATE_COPY): nItem="+IntToString(nItem)); + if (nItem>=0) + { + object oSourceItem = MK_GenericDialog_GetObject(nItem); + MK_DEBUG_TRACE("mk_pre_armorpart(MK_STATE_COPY): oSourceItem="+GetName(oSourceItem)); + + if (GetIsObjectValid(oSourceItem)) + { + oItem = MK_CopyAppearance(oItem, oSourceItem); + MK_DEBUG_TRACE("mk_pre_armorpart(MK_STATE_COPY): oItem="+GetName(oItem)); + + CISetCurrentModItem(oPC,oItem); + + MK_EquipModifiedItem(oTarget, oPC); + } + } + break; + } + case MK_STATE_MODIFY: + CISetDefaultModItemCamera(oPC); + break; + case MK_STATE_SELECTPART: + { + int nAction = MK_GenericDialog_GetAction(); + switch (nAction) + { +// case 249: +// MK_ResetAllPreReadArmorPartCache(); +// break; + case 250: + case 251: + MK_IM_ToggleVisibility(oTarget, oPC, oItem); + oItem = CIGetCurrentModItem(oPC); + break; + } + break; + } + case MK_STATE_INIT: + CISetDefaultModItemCamera(oPC); + MK_ResetAllPreReadArmorPartCache(oPC); + break; + } + + MK_GenericDialog_SetState(MK_STATE_SELECTPART); + + int nVisible = !MK_GetHiddenWhenEquipped(oItem);; + + int nRobe = GetItemAppearance(oItem,ITEM_APPR_TYPE_ARMOR_MODEL,ITEM_APPR_ARMOR_MODEL_ROBE); + + int iItemAppr; + int nValid; + for (iItemAppr=0; iItemAppr nIASStrTypes="+IntToString(nSelectedIASStrTypes)+ + ", RWmode="+IntToString(MK_CCOH_DB_GetReadWriteMode(oPC))); + switch (MK_CCOH_DB_GetReadWriteMode(oPC)) + { + case MK_CCOH_DB_READ: + switch (CIGetCurrentModMode(oPC)) + { + case MK_CI_MODMODE_BODY: + if (MK_CCOH_DB_ReadBodyAppearanceFromDatabase( + oPC, oTarget, + MK_CCOH_DB_GetCurrentSlot(oPC), + nSelectedIASStrTypes)) + { + SendMessageToPC(oPC, "Appearance read from database!"); + } + else + { + SendMessageToPC(oPC, "Failed to read appearance from database!"); + } + break; + } + break; + case MK_CCOH_DB_WRITE: + switch (CIGetCurrentModMode(oPC)) + { + case MK_CI_MODMODE_BODY: + if (MK_CCOH_DB_WriteBodyAppearanceToDatabase( + oPC, oTarget, + MK_CCOH_DB_GetCurrentSlot(oPC), + nSelectedIASStrTypes, + MK_CCOH_DB_GetCurrentSlotName(oPC))) + { + SendMessageToPC(oPC, "Appearance written to database!"); + } + else + { + SendMessageToPC(oPC, "Failed to write appearance to database!"); + } + break; + } + break; + } + break; + } + } + nState = MK_STATE_BODY_SELECT; + MK_GenericDialog_SetState(nState); + break; + case MK_STATE_BODY_SELECT: + if ((nAction>0) && (nAction<=MK_CRAFTBODY_NUMBER_OF_BODYPARTS)) + { + // So the finish/cancel scripts work properly + CISetCurrentModMode(oPC, MK_CI_MODMODE_BODY); + + MK_SetBodyPartToBeModified(oPC, nAction, TRUE); +// MK_SaveBodyPart(oPC); + + switch (nAction) + { + case MK_CRAFTBODY_BODY: + MK_SetSubPartToBeModified(oPC, -1, FALSE); + break; + case MK_CRAFTBODY_COLOR: + MK_SetSubPartToBeModified(oPC, -1, oPC==oTarget); + break; + } + nState = MK_STATE_BODY_MODIFY; + MK_GenericDialog_SetState(nState); + } +/* else if (nAction==MK_CRAFTBODY_SAVERESTORE) + { + // So the cancel script restores the body + CISetCurrentModMode(oPC, MK_CI_MODMODE_BODY); + MK_SetBodyPartToBeModified(oPC, nAction); +// MK_SaveBody(oPC, 0); + }*/ + else if (nAction!=255) + { + SendMessageToPC(oPC, "mk_pre_body: I think we shouldn't be here. Something went wrong?"); + } + + switch (MK_GetBodyPartToBeModified(oPC)) + { +// case MK_CRAFTBODY_HORSE: + case MK_CRAFTBODY_BODY: + case MK_CRAFTBODY_COLOR: + case MK_CRAFTBODY_PHENOTYPE: + case MK_CRAFTBODY_HEAD: + case MK_CRAFTBODY_TAIL: + case MK_CRAFTBODY_WINGS: +// case MK_CRAFTBODY_SCALE: + MK_AddTemporaryEffects(oPC, MK_TAG_TEMP_EFFECT, FALSE, oTarget); + break; + } + + break; + case MK_STATE_BODY_MODIFY: + + switch (nBodyPartToBeModified) + { + case MK_CRAFTBODY_PORTRAIT: + if ((nAction>=1) && (nAction<=4)) + { + MK_NewPortrait(oTarget, nAction, oPC); + ClearAllActions(); + // So we have the proper portrait in the dialog as well + ActionPauseConversation(); + ActionWait(GetLocalFloat(oPC, "MK_PORTRAIT_DELAY")); + ActionResumeConversation(); + } + break; + case MK_CRAFTBODY_HEAD: + switch (nAction) + { + case 1: + case 2: + MK_NewBodyPart(oTarget, nAction, oPC); + break; + case 20: + case 21: + case 22: + case 23: + case 24: + SetLocalInt(oPC, MK_CRAFTBODY_HEAD_FILTER, (nAction-20)); + break; + case 250: + MK_SwapTattooColors(oTarget); + break; + } + break; + case MK_CRAFTBODY_PHENOTYPE: + case MK_CRAFTBODY_TAIL: + case MK_CRAFTBODY_WINGS: + switch (nAction) + { + case 1: + case 2: + case 3: + MK_NewBodyPart(oTarget, nAction, oPC); + break; + } + break; + case MK_CRAFTBODY_BODY: + { + int nCurrentSubPart = MK_GetSubPartToBeModified(oPC); + if (nCurrentSubPart==-1) + { + nCurrentSubPart = nAction; + nAction = -1; + MK_SetSubPartToBeModified(oPC, nCurrentSubPart, (oPC==oTarget) && (nBodyPartToBeModified == MK_CRAFTBODY_BODY)); + } + else if (nAction == -1) + { + nCurrentSubPart = -1; + MK_SetSubPartToBeModified(oPC, nCurrentSubPart, (oPC==oTarget) && (nBodyPartToBeModified == MK_CRAFTBODY_BODY)); + } + + if ((nCurrentSubPart!=-1) && (nAction!=-1)) + { + switch (nAction) + { + case 1: + case 2: + MK_NewBodyPart(oTarget, nAction, oPC); + break; + } + } + break; + } + case MK_CRAFTBODY_COLOR: + { + int nCurrentSubPart = MK_GetSubPartToBeModified(oPC); + if ((nCurrentSubPart==-1) && (nAction==250)) + { + MK_SwapTattooColors(oTarget); + } + else if (nCurrentSubPart==-1) + { + nCurrentSubPart = nAction; + nAction = -1; + MK_SetSubPartToBeModified(oPC, nCurrentSubPart, (oPC==oTarget) && (nBodyPartToBeModified == MK_CRAFTBODY_BODY)); + } + else if (nAction == -1) + { + nCurrentSubPart = -1; + MK_SetSubPartToBeModified(oPC, nCurrentSubPart, (oPC==oTarget) && (nBodyPartToBeModified == MK_CRAFTBODY_BODY)); + } + + if ((nCurrentSubPart!=-1) && (nAction!=-1)) + { + switch (nAction) + { + case 1: + case 2: + MK_NewBodyPart(oTarget, nAction, oPC); + break; + } + } + break; + } + case MK_CRAFTBODY_HORSE: + { + int nHorse=-1; + switch (nAction) + { + case 1: + case 2: + MK_NewBodyPart(oTarget, nAction, oPC); + break; + case 3: + nHorse = GetLocalInt(oTarget, MK_VAR_CURRENT_HORSE); + break; + case 4: + nHorse = MK_HORSE_1; + break; + case 5: + nHorse = MK_HORSE_2; + break; + case 6: + nHorse = MK_HORSE_3; + break; + case 7: + nHorse = MK_HORSE_4; + break; + case 8: + nHorse = MK_HORSE_5; + break; + case 20: + nHorse = 0; + break; + } + if (nHorse!=-1) + { + MK_CreatureMountHorse(oTarget,nHorse); + } + break; + } + } + break; + } + + switch (nState) + { + case MK_STATE_BODY_SELECT: + { +// MK_DEBUG_TRACE("mk_pre_body: state=MK_STATE_BODY_SELECT"); + int nPartBased = MK_GetIsPartBasedAppearanceType(oTarget); + int iCondition; + int bOk; + string sVarName; + for (iCondition=11; iCondition<=26; iCondition++) + { + bOk = (!GetIsCraftingDisabled(oPC, iCondition)); + switch (iCondition) + { + case 11: // portraits + bOk = bOk && MK_VERSION_GetIsVersionGreaterEqual_1_67(oPC); + break; + case 12: // head + case 14: // body parts + case 15: // tail + case 16: // wings + bOk = bOk && nPartBased && MK_VERSION_GetIsVersionGreaterEqual_1_67(oPC); + break; + case 13: // pheno + bOk = bOk && nPartBased && MK_VERSION_GetIsVersionGreaterEqual_1_64(oPC); + break; + case 17: // color + bOk = bOk && nPartBased && MK_VERSION_GetIsVersionGreaterEqual_1_69(oPC); + break; + case 18: // not used + case 20: // not used + bOk = FALSE; + break; + case 21: // scale +// bOk = bOk && MK_VERSION_GetIsVersionGreaterEqual_1_75(oPC); + bOk = bOk && MK_VERSION_GetIsBuildVersionGreaterEqual(oPC, 8193, 21); + break; + case 23: // description + bOk = bOk && MK_VERSION_GetIsVersionGreaterEqual_1_69(oPC) && + // (!GetIsCraftingDisabled(oPC, iCondition)) && + (!MK_CCOH_DB_GetIsBodyChanged(oPC)) && + (GetLocalInt(oPC, "MK_DISABLE_TEXT_EDITOR")!=1); + break; + case 25: // footstep type + bOk = bOk && MK_VERSION_GetIsVersionGreaterEqual_1_66(oPC); + break; + case 26: // deity + bOk = bOk && (oPC == oTarget); + break; +// default: +// bOk = (!GetIsCraftingDisabled(oPC, iCondition)); +// break; + } + MK_GenericDialog_SetCondition(iCondition, bOk); + } + MK_GenericDialog_SetCondition(254, MK_CCOH_DB_GetIsBodyChanged(oPC)); + break; + } + case MK_STATE_BODY_MODIFY: +// MK_DEBUG_TRACE("mk_pre_body: state=MK_STATE_BODY_MODIFY"); + + MK_GenericDialog_SetCondition(254, MK_CCOH_DB_GetIsBodyChanged(oPC)); + MK_GenericDialog_SetCondition(255, FALSE); + MK_GenericDialog_SetCondition(257, TRUE); + + switch (MK_GetBodyPartToBeModified(oPC)) + { +/* + case MK_CRAFTBODY_SAVERESTORE: + { + int bUsedAny=FALSE; + int nSlot; + for (nSlot=1; nSlot<=MK_CRAFTBODY_NUMBER_OF_SLOTS; nSlot++) + { + int bUsed = MK_GetIsUsedSaveBodySlot(oPC, nSlot); + bUsedAny = bUsedAny || bUsed; + MK_GenericDialog_SetCondition(nSlot, !bUsed); + MK_GenericDialog_SetCondition(10+nSlot, bUsed); + } + MK_GenericDialog_SetCondition(0, bUsedAny); + MK_GenericDialog_SetCondition(22, !bIsModified); + break; + } +*/ + case MK_CRAFTBODY_HEAD: + { + MK_GenericDialog_SetCondition(17, + MK_VERSION_GetIsVersionGreaterEqual_1_69(oPC) && + (!GetIsCraftingDisabled(oPC, 17))); + + int nCurrentFilter = GetLocalInt(oPC, MK_CRAFTBODY_HEAD_FILTER); + int nUserFilter = (GetLocalString(oPC, "MK_2DA_VALID_HEADS")!=""); + int nCEPFilter = (MK_BODY_GetCEPHeadFilterExists(oPC)); + MK_GenericDialog_SetCondition(20, (nCurrentFilter!=0)); + MK_GenericDialog_SetCondition(21, (nCurrentFilter!=1)); + MK_GenericDialog_SetCondition(22, (nCurrentFilter!=2) && (nUserFilter) && (!nCEPFilter)); + MK_GenericDialog_SetCondition(23, (nCurrentFilter!=3) && (!nUserFilter) && (nCEPFilter)); + MK_GenericDialog_SetCondition(24, (nCurrentFilter!=4) && (nUserFilter) && (nCEPFilter)); + + string sFilter=""; + switch (nCurrentFilter) + { + case 0: + sFilter = "none"; + break; + case 1: + sFilter = "Bioware"; + break; + case 2: + sFilter = "User"; + break; + case 3: + sFilter = "CEP"; + break; + case 4: + sFilter = "User / CEP"; + break; + } + SetCustomToken(14433, sFilter); + + break; + } + case MK_CRAFTBODY_PORTRAIT: + { + int nMaxCustomId = MK_GetMaxPortraitId(oPC, TRUE); + MK_GenericDialog_SetCondition(3,nMaxCustomId>0); + MK_GenericDialog_SetCondition(4,nMaxCustomId>0); + break; + } + case MK_CRAFTBODY_BODY: + { + int nBodyPart; + for (nBodyPart=0; nBodyPart<=17; nBodyPart++) + { + int nMaxBodyPartID = MK_GetMaxBodyPartID(oPC, nBodyPart); + MK_GenericDialog_SetCondition(nBodyPart, nMaxBodyPartID>0); + } + break; + } + case MK_CRAFTBODY_HORSE: + { +// MK_DEBUG_TRACE("mk_pre_body: part=MK_CRAFTBODY_HORSE"); + int bIsRiding = MK_GetIsRiding(oTarget); + int nCurrentHorse = GetLocalInt(oTarget, MK_VAR_CURRENT_HORSE); + int nHorse = GetCreatureTailType(oTarget); +// MK_DEBUG_TRACE("bIsRiding="+IntToString(bIsRiding)+", nCurrentHorse="+IntToString(nCurrentHorse)+", nHorse="+IntToString(nHorse)); + MK_GenericDialog_SetCondition(1, bIsRiding); + MK_GenericDialog_SetCondition(2, bIsRiding); + MK_GenericDialog_SetCondition(3, (nCurrentHorse!=0) && (nHorse!=nCurrentHorse)); + MK_GenericDialog_SetCondition(4, (nCurrentHorse!=MK_HORSE_1) && (nHorse!=MK_HORSE_1)); + MK_GenericDialog_SetCondition(5, (nCurrentHorse!=MK_HORSE_2) && (nHorse!=MK_HORSE_2)); + MK_GenericDialog_SetCondition(6, (nCurrentHorse!=MK_HORSE_3) && (nHorse!=MK_HORSE_3)); + MK_GenericDialog_SetCondition(7, (nCurrentHorse!=MK_HORSE_4) && (nHorse!=MK_HORSE_4)); + MK_GenericDialog_SetCondition(8, (nCurrentHorse!=MK_HORSE_5) && (nHorse!=MK_HORSE_5)); + MK_GenericDialog_SetCondition(20, bIsRiding); + MK_SetBodyPartTokens(oPC, oTarget); + + switch (MK_HORSE_GetHorseSystem(oPC)) + { + case MK_HORSE_BIOWARE_HORSE_SYSTEM: + MK_GenericDialog_SetCondition(254, FALSE); + MK_GenericDialog_SetCondition(255, TRUE); + MK_GenericDialog_SetCondition(257, FALSE); + SetCustomToken(14424, "Bioware Instant Horse System."); + break; + case MK_HORSE_CCOH_HORSE_SYSTEM: + MK_GenericDialog_SetCondition(254, TRUE); + MK_GenericDialog_SetCondition(255, FALSE); + MK_GenericDialog_SetCondition(257, TRUE); + SetCustomToken(14424, "CCOH Simple Horse System."); + break; + } + + break; + } +/* default: + MK_SetBodyPartTokens(oPC); + break;*/ + } + MK_SetBodyPartTokens(oPC, oTarget); + + break; + } + + MK_DELIMITER_Initialize(); + + return TRUE; +} diff --git a/_module/nss/mk_pre_cheats.nss b/_module/nss/mk_pre_cheats.nss new file mode 100644 index 00000000..80456807 --- /dev/null +++ b/_module/nss/mk_pre_cheats.nss @@ -0,0 +1,1556 @@ +#include "mk_inc_generic" +#include "mk_inc_debug" +#include "mk_inc_states" +#include "mk_inc_math" +#include "mk_inc_delimiter" +#include "mk_inc_itm_disp" +#include "mk_inc_2da_disp" +#include "mk_inc_cheats" + +//const int MK_CHEATS_DEBUG = FALSE; + +const string MK_CHEATS_LEVEL_XP = "MK_CHEATS_LEVEL_XP"; +const string MK_CHEATS_GOLD_AMOUNT = "MK_CHEATS_GOLD_AMOUNT"; +const string MK_CHEATS_ALIGNMENT_GOODEVIL = "MK_CHEATS_ALIGNMENT_GOODEVIL"; +const string MK_CHEATS_ALIGNMENT_LAWCHAOS = "MK_CHEATS_ALIGNMENT_LAWCHAOS"; + +/* +void MK_CHEATS_DEBUG_TRACE(string sMessage) +{ + if (MK_ITM_DISPLAY_DEBUG) + { + MK_DEBUG_TRACE(sMessage); + } +} +*/ + +string MK_CHEATS_GetCheatEnabledDisableVarName(int nState, int bEnabled) +{ + return "MK_CHEATS_" + IntToString(nState) + "_" + (bEnabled ? "ENABLED" : "DISABLED"); +} + +int MK_CHEATS_GetIsCheatEnabled(int nState) +{ + string sVarName = MK_CHEATS_GetCheatEnabledDisableVarName(nState, TRUE); + int nReturn = GetLocalInt(OBJECT_SELF, sVarName); + MK_CHEATS_DEBUG_TRACE("MK_CHEATS_GetIsCheatEnabled("+IntToString(nState)+"): GetLocalInt("+sVarName+")="+IntToString(nReturn)); + return nReturn; +} + +int MK_CHEATS_GetIsCheatDisabled(int nState) +{ + string sVarName = MK_CHEATS_GetCheatEnabledDisableVarName(nState, FALSE); + int nReturn = GetLocalInt(OBJECT_SELF, sVarName); + MK_CHEATS_DEBUG_TRACE("MK_CHEATS_GetIsCheatDisabled("+IntToString(nState)+"): GetLocalInt("+sVarName+")="+IntToString(nReturn)); + return nReturn; +} + +void MK_CHEATS_DisableCheat(int nState, int bDisable=TRUE) +{ + SetLocalInt(OBJECT_SELF, MK_CHEATS_GetCheatEnabledDisableVarName(nState, FALSE), bDisable); + MK_CHEATS_DEBUG_TRACE("MK_CHEATS_DisableCheat("+IntToString(nState)+", "+IntToString(bDisable)+"): " + +"GetLocalInt("+MK_CHEATS_GetCheatEnabledDisableVarName(nState, FALSE)+")=" + + IntToString(GetLocalInt(OBJECT_SELF, MK_CHEATS_GetCheatEnabledDisableVarName(nState, FALSE)))); +} + +int MK_CHEATS_GetItemFlagDefaultMode(int nState) +{ + int nMode = 0; + switch (nState) + { + case MK_STATE_CHEATS_PLOTFLAG: + nMode = MK_ITM_DISP_ALL | MK_ITM_DISP_HIDDENSLOTS; + break; + default: + nMode = MK_ITM_DISP_ALL; + break; + } + return nMode; +} + +string MK_CHEATS_GetCheatDisabledMessage(int nState) +{ + string sReturn = ""; + if (!MK_CHEATS_GetIsCheatEnabled(nState)) + { + sReturn = MK_TLK_GetStringByStrRef(-466); + } + else if (MK_CHEATS_GetIsCheatDisabled(nState)) + { + sReturn = MK_TLK_GetStringByStrRef(-485); + } + else + { + switch (nState) + { + case MK_STATE_CHEATS_CURSEDFLAG: + case MK_STATE_CHEATS_PLOTFLAG: + case MK_STATE_CHEATS_STOLENFLAG: + case MK_STATE_CHEATS_NOTIDENTIFIED: + { + int nStateQ = MK_GenericDialog_SetState(nState); + MK_ITM_DISPLAY_Initialize(BASE_ITEM_INVALID, MK_CHEATS_GetItemFlagDefaultMode(nState), MK_ITM_DISP_MAX_PAGE_LENGTH, "mk_cb_iflag_chk"); + MK_CHEATS_DEBUG_TRACE("MK_CHEATS_GetCheatDisabledMessage("+IntToString(nState)+"): nItemCount = "+IntToString(MK_ITM_DISPLAY_GetItemCount())); + MK_GenericDialog_SetState(nStateQ); + if (MK_ITM_DISPLAY_GetItemCount()==0) + { + sReturn = MK_TLK_GetStringByStrRef(-467); + } + MK_ITM_DISPLAY_Cleanup(); + break; + } + case MK_STATE_CHEATS_FEATS: + case MK_STATE_CHEATS_SKILLPOINTS: + if (!GetIsObjectValid(GetItemInSlot(INVENTORY_SLOT_CARMOUR, OBJECT_SELF))) + { + sReturn = MK_TLK_GetStringByStrRef(-465); + } + break; +// case MK_STATE_CHEATS_CHARGES: +// sReturn = MK_TLK_GetStringByStrRef(-473); +// break; + } + } + return sReturn; +} + +int MK_CHEATS_GetCheatEnabled(int nState) +{ + return (MK_CHEATS_GetCheatDisabledMessage(nState)==""); +} + +void MK_CHEATS_SetCustomTokens() +{ + string sDisabledOptionsColor = GetLocalString(OBJECT_SELF, "MK_DISABLED_OPTIONS_COLOR"); + string sCloseColor = (sDisabledOptionsColor!="" ? "" : ""); + string sMessage=""; + int nToken1,nToken2; + int nCondition; + + int iState; + for (iState = MK_STATE_CHEATS+1; iState<=MK_STATE_CHEATS_SWAPITEMPROPS; iState++) + { + sMessage = MK_CHEATS_GetCheatDisabledMessage(iState); + switch (iState) + { + case MK_STATE_CHEATS_LEVEL: + nToken1 = 14460; nToken2 = nToken1+10; + nCondition = 31; + break; + case MK_STATE_CHEATS_GOLD: + nToken1 = 14461; nToken2 = nToken1+10; + nCondition = 32; + break; + case MK_STATE_CHEATS_ALIGNMENT: + nToken1 = 14462; nToken2 = nToken1+10; + nCondition = 33; + break; + case MK_STATE_CHEATS_FEATS: + nToken1 = 14463; nToken2 = nToken1+10; + nCondition = 34; + break; + case MK_STATE_CHEATS_SKILLPOINTS: + nToken1 = 14464; nToken2 = nToken1+10; + nCondition = 37; + break; + case MK_STATE_CHEATS_ITEMPROPS: + nToken1 = 14465; nToken2 = nToken1+10; + nCondition = 38; + break; + case MK_STATE_CHEATS_CURSEDFLAG: + nToken1 = 14466; nToken2 = nToken1+10; + nCondition = 35; + break; + case MK_STATE_CHEATS_OPENSTORE: + nToken1 = 14467; nToken2 = nToken1+10; + nCondition = 36; + break; + case MK_STATE_CHEATS_CHARGES: + nToken1 = 14468; nToken2 = nToken1+10; + nCondition = 39; + break; + case MK_STATE_CHEATS_PLOTFLAG: + nToken1 = 14469; nToken2 = nToken1+10; + nCondition = 30; + break; + case MK_STATE_CHEATS_STOLENFLAG: + nToken1 = 14449; nToken2 = nToken1+10; + nCondition = 29; + break; + case MK_STATE_CHEATS_NOTIDENTIFIED: + nToken1 = 14448; nToken2 = nToken1+10; + nCondition = 28; + break; + case MK_STATE_CHEATS_SWAPITEMPROPS: + nToken1 = 14447; nToken2 = nToken1+10; + nCondition = 27; + break; + } + int bEnable = (sMessage==""); + SetCustomToken(nToken1, (!bEnable ? sDisabledOptionsColor : "")); + SetCustomToken(nToken2, (!bEnable ? sMessage+sCloseColor : "")); + MK_GenericDialog_SetCondition(nCondition, bEnable); + } +} + + +int MK_CHEATS_GetLevel(object oPC) +{ + int nCurrentXP = GetXP(oPC); + int nCurrentLevel = FloatToInt(0.5 + sqrt((125.0+nCurrentXP)/500.0)); +// 1/2+WURZEL((125+D11)/500) + return nCurrentLevel; +} + +int _max(int n1, int n2) +{ + return (n1>n2 ? n1 : n2); +} + +int _min(int n1, int n2) +{ + return (n1=0) + { + int nXP = GetLocalInt(oPC, MK_CHEATS_LEVEL_XP); + SetXP(oPC, nRequiredXP); + SetLocalInt(oPC, MK_CHEATS_LEVEL_XP, nXP + (nRequiredXP - nCurrentXP)); + } + } +} + +void MK_CHEATS_GiveGold(object oPC, int nGold) +{ + int nCurrentGold = GetGold(oPC); + int nGoldGiven = GetLocalInt(oPC, MK_CHEATS_GOLD_AMOUNT); + if (nGold>0) + { + GiveGoldToCreature(oPC, nGold); + } + else if (nGold<0) + { + TakeGoldFromCreature(-nGold, oPC, TRUE); + } + SetLocalInt(oPC, MK_CHEATS_GOLD_AMOUNT, nGoldGiven + GetGold(oPC) - nCurrentGold); +} + +void MK_CHEATS_AdjustAlignment(object oPC, int nAlignment, int nShift) +{ + int nCurrentAlignment=-1; + int nAlignmentShifted=-1; + switch (nAlignment) + { + case ALIGNMENT_CHAOTIC: + nAlignment = ALIGNMENT_LAWFUL; + nShift*=-1; + case ALIGNMENT_LAWFUL: + nCurrentAlignment = GetLawChaosValue(oPC); + nAlignmentShifted = GetLocalInt(oPC, MK_CHEATS_ALIGNMENT_LAWCHAOS); + break; + break; + case ALIGNMENT_EVIL: + nAlignment = ALIGNMENT_GOOD; + nShift*=-1; + case ALIGNMENT_GOOD: + nCurrentAlignment = GetGoodEvilValue(oPC); + nAlignmentShifted = GetLocalInt(oPC, MK_CHEATS_ALIGNMENT_GOODEVIL); + break; + } + MK_CHEATS_DEBUG_TRACE("MK_CHEATS_AdjustAlignment: nAlignment="+IntToString(nAlignment) + +", nShift="+IntToString(nShift)+", nCurrentAlignment="+IntToString(nCurrentAlignment)); + + AdjustAlignment(oPC, nAlignment, nShift, FALSE); + + int nNewAlignment=-1; + + switch (nAlignment) + { + case ALIGNMENT_LAWFUL: + nNewAlignment = GetLawChaosValue(oPC); + break; + case ALIGNMENT_GOOD: + nNewAlignment = GetGoodEvilValue(oPC); + break; + } + + int nCurrentShift = nNewAlignment - nCurrentAlignment; + + MK_CHEATS_DEBUG_TRACE(" > nNewAlignment="+IntToString(nNewAlignment) + + ", nNewAlignment-nOldAlignment="+IntToString(nNewAlignment-nCurrentAlignment) + + ", desired="+IntToString(nShift)); + + if ((nCurrentShift != nShift) && (nNewAlignment!=0) && (nNewAlignment!=100)) + { + int nAdjustment = -(nCurrentShift - nShift); + MK_CHEATS_DEBUG_TRACE(" > adjustment required: adjustment="+IntToString(nAdjustment)); + AdjustAlignment(oPC, nAlignment, nAdjustment, FALSE); + } + + switch (nAlignment) + { + case ALIGNMENT_LAWFUL: + nNewAlignment = GetLawChaosValue(oPC); + SetLocalInt(oPC, MK_CHEATS_ALIGNMENT_LAWCHAOS, nAlignmentShifted + (nNewAlignment-nCurrentAlignment)); + break; + case ALIGNMENT_GOOD: + nNewAlignment = GetGoodEvilValue(oPC); + SetLocalInt(oPC, MK_CHEATS_ALIGNMENT_GOODEVIL, nAlignmentShifted + (nNewAlignment-nCurrentAlignment)); + break; + } +} + +void MK_CHEATS_RestoreAlignment(object oPC) +{ + int nShift; + nShift = GetLocalInt(oPC, MK_CHEATS_ALIGNMENT_LAWCHAOS); + if (nShift>0) + { + MK_CHEATS_AdjustAlignment(oPC, ALIGNMENT_CHAOTIC, nShift); + } + else if (nShift<0) + { + MK_CHEATS_AdjustAlignment(oPC, ALIGNMENT_LAWFUL, -nShift); + } + nShift = GetLocalInt(oPC, MK_CHEATS_ALIGNMENT_GOODEVIL); + if (nShift>0) + { + MK_CHEATS_AdjustAlignment(oPC, ALIGNMENT_EVIL, nShift); + } + else if (nShift<0) + { + MK_CHEATS_AdjustAlignment(oPC, ALIGNMENT_GOOD, -nShift); + } +} + +void _SetAlignmentToken(int nToken, string sAlignmentText, int nAlignmentValue, int nShifted) +{ + string s = sAlignmentText + " (" + IntToString(nAlignmentValue) + + (nShifted!=0 ? " / " + (nShifted>0 ? "+" : "") + IntToString(nShifted) : "") + ")"; + SetCustomToken(nToken, s); +} + +void MK_CHEATS_SetAlignmentToken(object oPC, int nTokenLawChaos, int nTokenGoodEvil) +{ + int nStrRef=-1; + switch (GetAlignmentGoodEvil(oPC)) + { + case ALIGNMENT_GOOD: + nStrRef = 265; + break; + case ALIGNMENT_EVIL: + nStrRef = 266; + break; + case ALIGNMENT_NEUTRAL: + nStrRef = 264; + break; + default: + nStrRef=-1; + break; + } + string sAlignmentGoodEvilText = (nStrRef!=-1 ? GetStringByStrRef(nStrRef) : ""); + + switch (GetAlignmentLawChaos(oPC)) + { + case ALIGNMENT_LAWFUL: + nStrRef = 268; + break; + case ALIGNMENT_CHAOTIC: + nStrRef = 267; + break; + case ALIGNMENT_NEUTRAL: + nStrRef = 264; + break; + default: + nStrRef=-1; + break; + } + string sAlignmentLawChaosText = (nStrRef!=-1 ? GetStringByStrRef(nStrRef) : ""); + + int nCurrentAlignmentGoodEvil = GetGoodEvilValue(oPC); + int nCurrentAlignmentLawChaos = GetLawChaosValue(oPC); + + int nShiftedGoodEvil = GetLocalInt(oPC, MK_CHEATS_ALIGNMENT_GOODEVIL); + int nShiftedLawChaos = GetLocalInt(oPC, MK_CHEATS_ALIGNMENT_LAWCHAOS); + + _SetAlignmentToken(nTokenGoodEvil, sAlignmentGoodEvilText, nCurrentAlignmentGoodEvil, nShiftedGoodEvil); + _SetAlignmentToken(nTokenLawChaos, sAlignmentLawChaosText, nCurrentAlignmentLawChaos, nShiftedLawChaos); + +// SetCustomToken(nTokenGoodEvil, sAlignmentGoodEvilText + " (" + IntToString(nCurrentAlignmentGoodEvil) +// + "[" + ( nShiftedGoodEvil > 0 ? "+" : "" ) + IntToString(nShiftedGoodEvil) + "])"); +// SetCustomToken(nTokenLawChaos, sAlignmentLawChaosText + " (" + IntToString(nCurrentAlignmentLawChaos) +// + "[" + ( nShiftedLawChaos > 0 ? "+" : "" ) + IntToString(nShiftedLawChaos) + "])"); +} + +void MK_CHEATS_ToggleFeat(int nFeat) +{ + object oItem = GetItemInSlot(INVENTORY_SLOT_CARMOUR, OBJECT_SELF); + if (!GetIsObjectValid(oItem)) + { + return; + } + itemproperty iProp = MK_IPRP_GetItemProperty(oItem, ITEM_PROPERTY_BONUS_FEAT, nFeat); + if (GetIsItemPropertyValid(iProp)) + { + RemoveItemProperty(oItem, iProp); + } + else + { +// iProp = TagItemProperty(ItemPropertyBonusFeat(nFeat), MK_CHEATS_CreateItemPropertyTag(ITEM_PROPERTY_BONUS_FEAT, nFeat)); + iProp = ItemPropertyBonusFeat(nFeat); + AddItemProperty(DURATION_TYPE_PERMANENT, iProp, oItem); + } +} + +int MK_CHEATS_GetCurrentSkillBonus(int bRemoveProperties=FALSE) +{ + int nSkillBonus = 0; + object oItem = GetItemInSlot(INVENTORY_SLOT_CARMOUR, OBJECT_SELF); + if (GetIsObjectValid(oItem)) + { + int nSkill = MK_CHEATS_GetCurrentSkill(); + if (nSkill!=-1) + { + nSkillBonus = MK_IPRP_GetSkillBonus(oItem, nSkill, bRemoveProperties); + } + } + return nSkillBonus; +} + +int MK_CHEATS_GetHasModifiedSkill() +{ + object oItem = GetItemInSlot(INVENTORY_SLOT_CARMOUR, OBJECT_SELF); + int iSkill; + for (iSkill=0; iSkill=0) && (!bCanSetSkillBonus); + bDisableDecrease = (nSkillBonus<=0) && (!bCanSetSkillBonus); + } + + SetCustomToken(14471, (bDisableIncrease ? sDisabledOptionsColor : "")); + SetCustomToken(14472, (bDisableIncrease ? "" : "")); + SetCustomToken(14473, (bDisableDecrease ? sDisabledOptionsColor : "")); + SetCustomToken(14474, (bDisableDecrease ? "" : "")); + SetCustomToken(14475, (nSkillBonus==0 ? sDisabledOptionsColor : "")); + SetCustomToken(14476, (nSkillBonus==0 ? "" : "")); + SetCustomToken(14477, (!bHasModifiedSkills ? sDisabledOptionsColor : "")); + SetCustomToken(14478, (!bHasModifiedSkills ? "" : "")); +} + +void MK_CHEATS_AdjustCurrentSkill(int nValue) +{ + int nSkill = MK_CHEATS_GetCurrentSkill(); + if (nSkill == -1) + { + return; + } + object oItem = GetItemInSlot(INVENTORY_SLOT_CARMOUR, OBJECT_SELF); + if (!GetIsObjectValid(oItem)) + { + return; + } + if (!MK_CHEATS_GetCanSetSkillBonus(MK_CHEATS_GetCurrentSkillBonus(FALSE) + nValue)) + { + return; + } + + int nSkillBonus = MK_CHEATS_GetCurrentSkillBonus(TRUE) + nValue; + + if (nSkillBonus!=0) + { + itemproperty iProp; + string sTag; + if (nSkillBonus>0) + { + iProp = ItemPropertySkillBonus(nSkill, nSkillBonus); +// sTag = MK_CHEATS_CreateItemPropertyTag(ITEM_PROPERTY_SKILL_BONUS, nSkill); + } + else + { + iProp = ItemPropertyDecreaseSkill(nSkill, -nSkillBonus); +// sTag = MK_CHEATS_CreateItemPropertyTag(ITEM_PROPERTY_DECREASED_SKILL_MODIFIER, nSkill); + } + if (GetIsItemPropertyValid(iProp)) + { +// iProp = TagItemProperty(iProp, sTag); + AddItemProperty(DURATION_TYPE_PERMANENT, iProp, oItem); + } + } +} + +void MK_CHEATS_ResetCurrentSkill() +{ + MK_CHEATS_GetCurrentSkillBonus(TRUE); +} + +void MK_CHEATS_ResetAllSkills() +{ + object oItem = GetItemInSlot(INVENTORY_SLOT_CARMOUR, OBJECT_SELF); + int iSkill; + for (iSkill=0; iSkill=MK_CHEATS_MIN_CHARGES) || (nAdjustBy>0)) + { + SetItemCharges(oItem, MK_MATH_MaxInt(MK_CHEATS_MIN_CHARGES, nCharges + nAdjustBy)); + } + } +} + +int MK_CHEATS_FinishChangeCharges() +{ + int nState = MK_GenericDialog_GetState(); + object oItem = MK_CHEATS_GetCurrentItem(); + if (MK_CHEATS_FinishModifyItem()) + { + MK_CHEATS_SetCurrentItem(oItem); +// MK_ITM_DISPLAY_Cleanup(); +// MK_GenericDialog_SetState(nState = MK_STATE_CHEATS); + } + return nState; +} + +int MK_CHEATS_CancelChangeCharges() +{ + MK_CHEATS_DEBUG_TRACE("MK_CHEATS_CancelChangeCharges() *start*"); + + int nState = MK_GenericDialog_GetState(); + + MK_CHEATS_CancelModifyItem(); + + MK_ITM_DISPLAY_Cleanup(); + MK_ITM_DISPLAY_Initialize(BASE_ITEM_INVALID, MK_ITM_DISP_ALL, 10, "mk_cb_ichrg_chk"); + +// MK_GenericDialog_SetState(nState = MK_STATE_CHEATS); + + MK_CHEATS_DEBUG_TRACE("MK_CHEATS_CancelChangeCharges(): *terminate*"); + return nState; +} + + +int MK_CHEATS_OpenCurrentStore() +{ + int bReturn = TRUE; + int nStoreID = MK_CHEATS_GetCurrentStore(); + if (nStoreID!=-1) + { + object oPC = GetPCSpeaker(); + object oStore = MK_CHEATS_SearchCurrentStore(); + if (!GetIsObjectValid(oStore)) + { + MK_DEBUG_TRACE("MK_CHEATS_OpenCurrentStore: store with tag '"+MK_CHEATS_GetCurrentStoreTag()+"' not found!"); + oStore = CreateObject(OBJECT_TYPE_STORE, MK_CHEATS_GetCurrentStoreResRef(), + GetLocation(oPC)); + } + if (GetIsObjectValid(oStore)) + { + MK_DEBUG_TRACE("MK_CHEATS_OpenCurrentStore: sResRef ='"+MK_CHEATS_GetCurrentStoreResRef()+"', sTag = '"+GetTag(oStore)+"'"); + object oStoreQ = GetObjectByTag(MK_CHEATS_GetCurrentStoreTag()); + if (!GetIsObjectValid(oStoreQ)) + { + MK_DEBUG_TRACE(" > store sill not found?"); + } + int nMarkUp = 0, nMarkDown=0; + if (MK_Get2DAInt("mk_cheat_stores", "ADJUST_PRICES", nStoreID, 0)) + { + nMarkUp = FloatToInt(100*GetLocalFloat(oPC, "MK_CHEATS_ITEM_BUY") - 100); + nMarkDown = FloatToInt(100*GetLocalFloat(oPC, "MK_CHEATS_ITEM_SELL") - 100); + int nStoreMarkUp = MK_Get2DAInt("mk_cheat_stores", "SELL", nStoreID, -1); + int nStoreMarkDown = MK_Get2DAInt("mk_cheat_stores", "BUY", nStoreID, -1); + if (nStoreMarkUp!=-1) + { + nMarkUp += (100-nStoreMarkUp); + } + if (nStoreMarkDown!=-1) + { + nMarkDown += (100-nStoreMarkDown); + } + } + MK_DEBUG_TRACE("OpenStore('"+GetName(oStore)+"', '"+GetName(oPC)+"', nMarkup="+IntToString(nMarkUp)+", "+IntToString(nMarkDown)+")"); + OpenStore(oStore, oPC, nMarkUp, nMarkDown); + bReturn = !GetLocalInt(OBJECT_SELF, "MK_CHEATS_EXTITDLGONOPENSTORE"); + MK_DEBUG_TRACE("MK_CHEATS_OpenCurrentStore(): "+GetTag(oStore)+" opened!"); + } + } + MK_CHEATS_DEBUG_TRACE("MK_CHEATS_OpenCurrentStore()="+IntToString(bReturn)); + return bReturn; +} + +int MK_CHEATS_PrepareDisablingCurrentCheat() +{ + int nState = MK_GenericDialog_GetState(); + int nToken = 0; + switch (nState) + { + case MK_STATE_CHEATS_LEVEL: + nToken = -475; + break; + case MK_STATE_CHEATS_GOLD: + nToken = -476; + break; + case MK_STATE_CHEATS_ALIGNMENT: + nToken = -477; + break; + case MK_STATE_CHEATS_FEATS: + nToken = -478; + break; + case MK_STATE_CHEATS_CURSEDFLAG: + nToken = -481; + break; + case MK_STATE_CHEATS_OPENSTORE: + nToken = -483; + break; + case MK_STATE_CHEATS_SKILLPOINTS: + nToken = -479; + break; + case MK_STATE_CHEATS_ITEMPROPS: + nToken = -480; + break; + case MK_STATE_CHEATS_CHARGES: + nToken = -482; + break; + case MK_STATE_CHEATS_PLOTFLAG: + nToken = -489; + break; + case MK_STATE_CHEATS_STOLENFLAG: + nToken = -493; + break; + case MK_STATE_CHEATS_NOTIDENTIFIED: + nToken = -494; + break; + default: + nToken = -484; + break; + } + SetCustomToken(14422, MK_TLK_GetStringByStrRef(nToken)); + SetLocalInt(OBJECT_SELF, "MK_CHEATS_DISABLE_CHEAT", nState); + MK_GenericDialog_SetState(nState = MK_STATE_CHEATS_DISABLE); + return nState; +} + +int MK_CHEATS_DisableCurrentCheat() +{ + int nCheat = GetLocalInt(OBJECT_SELF, "MK_CHEATS_DISABLE_CHEAT"); + MK_CHEATS_DisableCheat(nCheat, TRUE); + int nState = MK_STATE_CHEATS; + MK_GenericDialog_SetState(nState); + return nState; +} + +int MK_CHEATS_ToggleFlag(object oItem, int nState) +{ + int nFlag; + string sVarName = "MK_CHEATS_FLAG_"+IntToString(nState); + int nMarked = GetLocalInt(oItem, sVarName); + switch (nState) + { + case MK_STATE_CHEATS_CURSEDFLAG: + SetItemCursedFlag(oItem, nFlag = !GetItemCursedFlag(oItem)); + break; + case MK_STATE_CHEATS_PLOTFLAG: + SetPlotFlag(oItem, nFlag = !GetPlotFlag(oItem)); + break; + case MK_STATE_CHEATS_STOLENFLAG: + SetStolenFlag(oItem, nFlag = !GetStolenFlag(oItem)); + break; + case MK_STATE_CHEATS_NOTIDENTIFIED: + { + int nIdentified = GetIdentified(oItem); + int nGold = GetLocalInt(OBJECT_SELF, "MK_CHEATS_ITEM_IDENTIFY"); + if ((!nIdentified) && (!nMarked)) + { + int nGold = GetLocalInt(OBJECT_SELF, "MK_CHEATS_ITEM_IDENTIFY"); + if (GetGold() >= nGold) + { + SetIdentified(oItem, TRUE); + nFlag = FALSE; + if (nGold>0) + { + TakeGoldFromCreature(nGold, OBJECT_SELF, TRUE); + SendMessageToPC(OBJECT_SELF, "Item identified: name is "+MK_IPRP_GetItemName(oItem)+"!"); + } + } + else + { + // we haven't done anything so we make sure that + // the local int doesn't get changed later + nMarked = !nMarked; + nFlag = TRUE; + SendMessageToPC(OBJECT_SELF, "Failed to identify "+MK_IPRP_GetItemName(oItem)+": not enough gold!"); + } + } + else + { + if ((nIdentified) && (nMarked) && (nGold>0)) + { + GiveGoldToCreature(OBJECT_SELF, nGold); + SendMessageToPC(OBJECT_SELF, "Previously identified item made unidentified again. Gold is returned!"); + } + SetIdentified(oItem, !nIdentified); + nFlag = nIdentified; + } + break; + } + } + // Mark Uncursed/Unplot/Unstolen/Identified items or remove mark + // when items are recursed, re-plot, re-stolen or re-unidentified + // or mark items, when they are cursed, plot, stolen or unidentified + // and remove mark, when they are uncursed, unplot, unstolen or identified. + // This looks confusing but the idea is, that marked items are modified + // by CCOH + SetLocalInt(oItem, sVarName, !nMarked); + + return nFlag; +} + +void MK_CHEATS_SetToggleFlagToken(int nState) +{ +// MK_DEBUG_TRACE("MK_CHEATS_SetToggleFlagToken("+IntToString(nState)+")"); + object oPC = OBJECT_SELF; + int nStrRef1, nStrRef2, nStrRef3, nStrRefS; + string sText1, sText2, sText3, sTextS; + int bText3Colored=TRUE; + string sColorToken; + string sTokenEnd = ""; + switch (nState) + { + case MK_STATE_CHEATS_CURSEDFLAG: + nStrRef1 = -486; nStrRef2 = -487; nStrRef3 = -488; nStrRefS = 111874; + break; + case MK_STATE_CHEATS_PLOTFLAG: + nStrRef1 = -490; nStrRef2 = -491; nStrRef3 = -492; nStrRefS = 6808; + break; + case MK_STATE_CHEATS_STOLENFLAG: + nStrRef1 = -495; nStrRef2 = -496; nStrRef3 = -497; nStrRefS = 7102; + break; + case MK_STATE_CHEATS_NOTIDENTIFIED: + nStrRef1 = -498; nStrRef2 = 0; nStrRef3 = 0; nStrRefS = 5548; + sColorToken = GetLocalString(oPC, "MK_GOLD_COLOR"); + sText2 = "\n"+GetStringByStrRef(65759)+": "+sColorToken+IntToString(GetGold(oPC))+sTokenEnd; + sText3 = "\n"+GetStringByStrRef(84370)+": "+sColorToken+IntToString(GetLocalInt(oPC, "MK_CHEATS_ITEM_IDENTIFY"))+sTokenEnd; + bText3Colored=FALSE; + break; + } + int nGender = GetGender(OBJECT_SELF); + + if (nStrRef1!=0) sText1 = MK_TLK_GetStringByStrRef(nStrRef1, nGender); + if (nStrRef2!=0) sText2 = MK_TLK_GetStringByStrRef(nStrRef2, nGender); + if (nStrRef3!=0) sText3 = MK_TLK_GetStringByStrRef(nStrRef3, nGender); + if (nStrRefS!=0) sTextS = MK_TLK_GetStringByStrRef(nStrRefS, nGender); + + if (bText3Colored) + { + string sColorToken = GetLocalString(oPC, "MK_WARNING_COLOR"); + if (sColorToken!="") + { + sText3 = sColorToken+sText3+sTokenEnd; + } + } + + SetCustomToken(14422, sText1); + SetCustomToken(14423, sText2); + SetCustomToken(14424, sText3); + SetCustomToken(14425, sTextS); +} + +void MK_CHEATS_UnsetCurrentFlagForAllItems() +{ + object oPC = GetPCSpeaker(); + int nState = MK_GenericDialog_GetState(); + int nFlag; + string sVarName = "MK_CHEATS_FLAG_"+IntToString(nState); + int nMarked; + int nCount = MK_ITM_DISPLAY_GetItemCount(); + int iItem; + for (iItem=0; iItem=nGoldRequired) + { + SetIdentified(oItem, nFlag); + TakeGoldFromCreature(nGoldRequired, oPC, TRUE); + } + else + { + nFlag = FALSE; + SendMessageToPC(oPC, "Failed to identify "+MK_IPRP_GetItemName(oItem)+": not enough gold!"); + } + } + break; + } + if (nFlag) + { + SetLocalInt(oItem, sVarName, TRUE); + } + } + } + } +} + +void MK_CHEATS_RestoreCurrentFlagForAllItems() +{ + object oPC = GetPCSpeaker(); + int nState = MK_GenericDialog_GetState(); + int nFlag; + string sVarName = "MK_CHEATS_FLAG_"+IntToString(nState); + int nMarked; + int nCount = MK_ITM_DISPLAY_GetItemCount(); + int iItem; + for (iItem=0; iItem=0) && (nAction=0) && (nAction=0) && (nAction=0) && (nAction=0) && (nAction" : "")); + SetCustomToken(14473, (bMaxLevel ? GetLocalString(OBJECT_SELF, MK_DISABLED_OPTIONS_COLOR) : "")); + SetCustomToken(14474, (bMaxLevel ? "" : "")); + int nXP = GetLocalInt(oPC, MK_CHEATS_LEVEL_XP); + MK_GenericDialog_SetConditionRange(28, 31, TRUE); + MK_GenericDialog_SetCondition(38, nXP!=0); + MK_GenericDialog_SetCondition(39, nXP!=0); + SetCustomToken(14421, IntToString(nLevel)); + SetCustomToken(14422, IntToString(GetXP(oPC))); + SetCustomToken(14423, IntToString(nXP)); + MK_GenericDialog_SetCondition(127, TRUE); + break; + } + case MK_STATE_CHEATS_GOLD: + { + int nCurrentGold = GetGold(oPC); + int nGoldGiven = GetLocalInt(oPC, MK_CHEATS_GOLD_AMOUNT); + SetCustomToken(14471, (nCurrentGold==0 ? GetLocalString(OBJECT_SELF, MK_DISABLED_OPTIONS_COLOR) : "")); + SetCustomToken(14472, (nCurrentGold==0 ? "" : "")); + MK_GenericDialog_SetConditionRange(25, 34, TRUE); + MK_GenericDialog_SetCondition(38, nGoldGiven!=0); + MK_GenericDialog_SetCondition(39, nGoldGiven!=0); + SetCustomToken(14422, IntToString(nCurrentGold)); + SetCustomToken(14423, (nGoldGiven>0 ? "+" : "") + IntToString(nGoldGiven)); + MK_GenericDialog_SetCondition(127, TRUE); + break; + } + case MK_STATE_CHEATS_ALIGNMENT: + { + MK_CHEATS_SetAlignmentToken(oPC, 14422, 14424); +// SetCustomToken(14422, IntToString(nAlignmentGoodEvil)); +// int nAlignmentShiftGoodEvil = GetLocalInt(oPC, MK_CHEATS_ALIGNMENT_GOODEVIL); +// SetCustomToken(14423, (nAlignmentShiftGoodEvil>0 ? "+" : "") + IntToString(nAlignmentShiftGoodEvil)); + +// SetCustomToken(14424, IntToString(nAlignmentLawChaos)); +// int nAlignmentShiftLawChaos = GetLocalInt(oPC, MK_CHEATS_ALIGNMENT_LAWCHAOS); +// SetCustomToken(14425, (nAlignmentShiftLawChaos>0 ? "+" : "") + IntToString(nAlignmentShiftLawChaos)); + + int bAlignmentShifted = (GetLocalInt(oPC, MK_CHEATS_ALIGNMENT_GOODEVIL)!=0) + || (GetLocalInt(oPC, MK_CHEATS_ALIGNMENT_LAWCHAOS)!=0); + MK_GenericDialog_SetConditionRange(31, 34, TRUE); + MK_GenericDialog_SetCondition(35, bAlignmentShifted); + MK_GenericDialog_SetCondition(36, bAlignmentShifted); + + string sDisabledColor = GetLocalString(OBJECT_SELF, MK_DISABLED_OPTIONS_COLOR); + string sEndColor = ""; + int nAlignmentGoodEvil = GetGoodEvilValue(oPC); + int nAlignmentLawChaos = GetLawChaosValue(oPC); + SetCustomToken(14471, (nAlignmentGoodEvil==100 ? sDisabledColor : "")); + SetCustomToken(14472, (nAlignmentGoodEvil==100 ? sEndColor : "")); + SetCustomToken(14473, (nAlignmentGoodEvil==0 ? sDisabledColor : "")); + SetCustomToken(14474, (nAlignmentGoodEvil==0 ? sEndColor : "")); + SetCustomToken(14475, (nAlignmentLawChaos==100 ? sDisabledColor : "")); + SetCustomToken(14476, (nAlignmentLawChaos==100 ? sEndColor : "")); + SetCustomToken(14477, (nAlignmentLawChaos==0 ? sDisabledColor : "")); + SetCustomToken(14478, (nAlignmentLawChaos==0 ? sEndColor : "")); + + MK_GenericDialog_SetCondition(127, TRUE); + break; + } + case MK_STATE_CHEATS_FEATS: + MK_2DA_DISPLAY_DisplayPage(MK_2DA_DISPLAY_GetCurrentPage(), -1, "mk_cb_iprp_ftlbl", TRUE); + MK_GenericDialog_SetCondition(127, TRUE); + break; + case MK_STATE_CHEATS_CURSEDFLAG: + case MK_STATE_CHEATS_PLOTFLAG: + case MK_STATE_CHEATS_STOLENFLAG: + case MK_STATE_CHEATS_NOTIDENTIFIED: + { + MK_ITM_DISPLAY_DisplayPage(MK_ITM_DISPLAY_GetCurrentPage(), "mk_cb_iflag_lbl"); + MK_GenericDialog_SetCondition(127, TRUE); + MK_CHEATS_SetToggleFlagToken(nState); + int bShowAll = GetLocalInt(oPC, "MK_CHEATS_SHOWALLITEMS"); + MK_GenericDialog_SetCondition(39, !bShowAll); + MK_GenericDialog_SetCondition(38, bShowAll); + MK_GenericDialog_SetConditionRange(30, 31, TRUE); + break; + } + case MK_STATE_CHEATS_CHARGES: + { + object oItem = MK_CHEATS_GetCurrentItem(); + int bIsValid = GetIsObjectValid(oItem); + + MK_CHEATS_SetCustomToken(); + + MK_GenericDialog_SetConditionRange(30, 33, bIsValid); + + if (GetIsObjectValid(oItem)) + { + int nCharges = GetItemCharges(oItem); + SetCustomToken(14461, (!GetIsObjectValid(oItem) ? GetLocalString(OBJECT_SELF, MK_DISABLED_OPTIONS_COLOR) : "")); + SetCustomToken(14462, (!GetIsObjectValid(oItem) || (nCharges<=MK_CHEATS_MIN_CHARGES) ? GetLocalString(OBJECT_SELF, MK_DISABLED_OPTIONS_COLOR) : "")); + SetCustomToken(14471, (!GetIsObjectValid(oItem) ? "" : "")); + SetCustomToken(14472, (!GetIsObjectValid(oItem) || (nCharges<=MK_CHEATS_MIN_CHARGES) ? "" : "")); + + SetCustomToken(14424, IntToString(GetItemCharges(oItem))); + MK_ITM_DISPLAY_HidePage(); + MK_GenericDialog_SetConditionRange(38,39, FALSE); + MK_GenericDialog_SetCondition(127, FALSE); + } + else + { + SetCustomToken(14424, "-"); + MK_ITM_DISPLAY_DisplayPage(MK_ITM_DISPLAY_GetCurrentPage(), "mk_cb_ichrg_lbl"); + int bShowAll = GetLocalInt(oPC, "MK_CHEATS_SHOWALLITEMS"); + MK_GenericDialog_SetCondition(39, !bShowAll); + MK_GenericDialog_SetCondition(38, bShowAll); +// MK_GenericDialog_SetCondition(37, TRUE); + MK_GenericDialog_SetCondition(127, TRUE); + } + + int bModified = MK_CHEATS_GetIsCurrentItemModified(); + MK_GenericDialog_SetCondition(254, bModified); + MK_GenericDialog_SetCondition(255, !bModified); + MK_GenericDialog_SetCondition(257, bModified); + + break; + } + case MK_STATE_CHEATS_SKILLPOINTS: + MK_CHEATS_SetSkillsToken(); + MK_2DA_DISPLAY_DisplayPage(MK_2DA_DISPLAY_GetCurrentPage(), MK_CHEATS_GetCurrentSkill(), "mk_cb_iprp_sklbl", FALSE); + MK_GenericDialog_SetConditionRange(30, 34, TRUE); + MK_GenericDialog_SetCondition(127, TRUE); + break; + case MK_STATE_CHEATS_OPENSTORE: + { + MK_2DA_DISPLAY_DisplayPage(MK_2DA_DISPLAY_GetCurrentPage(), MK_CHEATS_GetCurrentStore(), "mk_cb_store_lbl", TRUE); + SetCustomToken(14422, MK_CHEATS_GetCurrentStoreName()); + + SetCustomToken(14460, ""); + SetCustomToken(14470, ""); + object oStore = MK_CHEATS_SearchCurrentStore(); + int nStoreID = MK_CHEATS_GetCurrentStore(); + if (GetIsObjectValid(oStore)) + { + object oArea = GetArea(oStore); + SetCustomToken(14424, GetName(oArea)); + } + else if (nStoreID!=-1) + { + int nStrRef = MK_Get2DAInt("mk_cheat_stores", "LOCATION", nStoreID, 7221); + SetCustomToken(14424, MK_TLK_GetStringByStrRef(nStrRef, GetGender(oPC))); + } + else + { + SetCustomToken(14460, GetLocalString(OBJECT_SELF, "MK_DISABLED_OPTIONS_COLOR")); + SetCustomToken(14470, " *no store selected*"); + SetCustomToken(14424, ""); + } + MK_GenericDialog_SetCondition(30, TRUE); + MK_GenericDialog_SetCondition(127, TRUE); + break; + } + case MK_STATE_CHEATS_DISABLE: + // custom token set in MK_CHEATS_PrepareDisablingCurrentCheat() + break; + } + + MK_DEBUG_TRACE("mk_pre_cheats: bReturn="+IntToString(bReturn)); + + if (bReturn) + { + MK_DELIMITER_Initialize(); + } + else + { + ExecuteScript("mk_im_cancel"); + } + + MK_GenericDialog_SetCondition(256, FALSE); + + return bReturn; +} diff --git a/_module/nss/mk_pre_color2.nss b/_module/nss/mk_pre_color2.nss new file mode 100644 index 00000000..a88b6e50 --- /dev/null +++ b/_module/nss/mk_pre_color2.nss @@ -0,0 +1,109 @@ +// mk_pre_color + +#include "mk_inc_generic" + +#include "mk_inc_body" +#include "mk_inc_craft" +#include "mk_inc_ccoh_db" +#include "mk_inc_color" +#include "mk_inc_states" +#include "mk_inc_delimiter" +#include "mk_inc_2da_disp" + +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oTarget = MK_GetCurrentTarget(oPC); + + MK_CCOH_DB_Init(oPC); + + int nState = MK_GenericDialog_GetState(); + + int nAction = MK_GenericDialog_GetAction(); + + string sColumn=""; + +// int nCurrentPage=-1; + + MK_DEBUG_TRACE("mk_pre_color2: nState="+IntToString(nState) + +", nAction="+IntToString(nAction)); + + switch (nState) + { + case MK_STATE_BODY_SELECT: + MK_GenericDialog_SetState(nState = MK_STATE_COLOR_SELECT); + // So the finish/cancel scripts work properly + CISetCurrentModMode(oPC, MK_CI_MODMODE_BODY); + MK_SetBodyPartToBeModified(oPC, MK_CRAFTBODY_COLOR, TRUE); + MK_SetSubPartToBeModified(oPC, -1, oPC==oTarget); + MK_AddTemporaryEffects(oPC, MK_TAG_TEMP_EFFECT, FALSE, oTarget); + break; + case MK_STATE_COLOR_SELECT: + switch (nAction) + { + case 0: + case 1: + case 2: + case 3: + MK_SetSubPartToBeModified(oPC, nAction, oPC==oTarget); + sColumn = MK_COLOR_Get2DAColumn(MK_CI_MODMODE_BODY, MK_CRAFTBODY_COLOR, nAction); + MK_GenericDialog_SetState(nState = MK_STATE_COLOR_MODIFY); + MK_2DA_DISPLAY_Initialize(MK_COLOR_2DAFILE, sColumn, "", sColumn, sColumn, 10); + MK_2DA_DISPLAY_SetPageLength(GetLocalInt(oPC, "MK_NUMBER_OF_COLORS_PER_GROUP")); + MK_2DA_DISPLAY_EnsureVisible(GetColor(oTarget, nAction)); + MK_COLOR_SetValidColors(oPC, MK_2DA_DISPLAY_GetCache()); +// nCurrentPage = MK_2DA_DISPLAY_GetCurrentPage(); + + break; + case 250: + MK_SwapTattooColors(oTarget); + break; + } + break; + case MK_STATE_COLOR_MODIFY: + switch (nAction) + { + case 31: + case 32: + MK_2DA_DISPLAY_EnsureVisible(MK_COLOR_SetColor(oTarget, MK_GetSubPartToBeModified(oPC), nAction-30, -1, oPC)); + break; + case 250: + case 251: + case 252: + case 253: + MK_2DA_DISPLAY_UpdatePage(nAction); + break; + case -1: + MK_GenericDialog_SetState(nState = MK_STATE_COLOR_SELECT); + MK_SetSubPartToBeModified(oPC, -1, oPC==oTarget); + break; + default: + if ((nAction>=0) && (nAction=1) && (nAction<=30)) + { + MK_CCOH_DB_SetCurrentSlot(oPC, nAction); + string sSlotName; + if (MK_CCOH_DB_GetIsSlotUsed(oPC, nAction)) + { + sSlotName = MK_CCOH_DB_CreateSlotName(oPC, nAction, FALSE); + } + else + { + switch (CIGetCurrentModMode(oPC)) + { + case MK_CI_MODMODE_BODY: + sSlotName = GetName(oTarget); + break; + default: + sSlotName = GetName(oItem); + break; + } + } + MK_CCOH_DB_SetCurrentSlotName(oPC, sSlotName); + + int nValidIASStrTypes; + switch (MK_CCOH_DB_GetReadWriteMode(oPC)) + { + case MK_CCOH_DB_READ: + nValidIASStrTypes = MK_CCOH_DB_GetIASStrTypesFromSlot(oPC, nAction); + break; + case MK_CCOH_DB_WRITE: + switch (CIGetCurrentModMode(oPC)) + { + case X2_CI_MODMODE_ARMOR: + case MK_CI_MODMODE_CLOAK: + case MK_CI_MODMODE_HELMET: + nValidIASStrTypes = MK_CCOH_DB_ITEM_APPR_MODEL | MK_CCOH_DB_ITEM_APPR_COLOR; + break; + case X2_CI_MODMODE_WEAPON: + case MK_CI_MODMODE_SHIELD: + nValidIASStrTypes = MK_CCOH_DB_ITEM_APPR_MODEL; + break; + case MK_CI_MODMODE_BODY: + nValidIASStrTypes = MK_CCOH_DB_BODY_APPR_HEAD | MK_CCOH_DB_BODY_APPR_TAIL + | MK_CCOH_DB_BODY_APPR_WINGS | MK_CCOH_DB_BODY_APPR_PHENO + | MK_CCOH_DB_BODY_APPR_PORTRAIT | MK_CCOH_DB_BODY_APPR_BODY + | MK_CCOH_DB_BODY_APPR_COLOR | MK_CCOH_DB_BODY_APPR_TYPE + | MK_CCOH_DB_BODY_APPR_SCALE; + break; + } + break; + } + MK_CCOH_DB_SetValidIASStrTypes(oPC, nValidIASStrTypes); + MK_CCOH_DB_SetSelectedIASStrTypes(oPC, nValidIASStrTypes); + + MK_GenericDialog_SetState(MK_STATE_DATABASE_3); + } + else if (nAction == 255) + { + MK_GenericDialog_SetState(MK_STATE_DATABASE_1); + } + break; + case MK_STATE_DATABASE_3: + // We've just choosen what to read or write (model, color or both) + switch (nAction) + { + case 18: + switch (CIGetCurrentModMode(oPC)) + { + case X2_CI_MODMODE_ARMOR: + case X2_CI_MODMODE_WEAPON: + case MK_CI_MODMODE_CLOAK: + case MK_CI_MODMODE_HELMET: + case MK_CI_MODMODE_SHIELD: + MK_CCOH_DB_SetCurrentSlotName(oPC, GetName(oItem)); + break; + case MK_CI_MODMODE_BODY: + MK_CCOH_DB_SetCurrentSlotName(oPC, GetName(oTarget)); + break; + } + break; + case 20: +// SendMessageToPC(oPC, "Delete selected slot!"); + MK_CCOH_DB_DeleteCurrentSlot(oPC); + MK_GenericDialog_SetState(MK_STATE_DATABASE_2); + break; + case 100: + { + // Editor: OK + string sSlotName = MK_TrimString(GetLocalString(oPC, g_varEditorBuffer)); + MK_CCOH_DB_SetCurrentSlotName(oPC, sSlotName); + MK_Editor_CleanUp(oPC); + break; + } + case 101: + // Editor: Cancel + MK_Editor_CleanUp(oPC); + break; + case 255: + MK_CCOH_DB_SetCurrentSlot(oPC, -1); + MK_CCOH_DB_SetCurrentSlotName(oPC, ""); + MK_GenericDialog_SetState(MK_STATE_DATABASE_2); + break; + default: + if ((nAction>=0) && (nAction<=15)) + { + MK_CCOH_DB_ToggleSelectedIASStrType(oPC, nAction); + } + break; + } + break; + default: + break; + } + + int bOk; + + nState = MK_GenericDialog_GetState(); + +// MK_DEBUG_TRACE("mk_pre_db_item(2): nState="+IntToString(nState)+ +// ", nCurrentModMode="+IntToString(CIGetCurrentModMode(oPC))); + + int iCondition; + + switch (nState) + { + case MK_STATE_DATABASE_1: + { + // We're about to choose what to do: read/write, local/global + bOk = MK_CCOH_DB_GetUseLocalDb(oPC); + MK_GenericDialog_SetCondition(10, bOk); + MK_GenericDialog_SetCondition(11, bOk); + MK_GenericDialog_SetCondition(12, !bOk); + MK_GenericDialog_SetCondition(13, !bOk); + MK_GenericDialog_SetCondition(15, TRUE); + int nMode = CIGetCurrentModMode(oPC); + for (iCondition=1; iCondition<=5; iCondition++) + { + MK_GenericDialog_SetCondition(iCondition, nMode == iCondition); + } + MK_GenericDialog_SetCondition(127, (nMode == MK_CI_MODMODE_BODY)); + break; + } + case MK_STATE_DATABASE_2: + { + // We're about to choose the slot number + int nReadWriteMode = MK_CCOH_DB_GetReadWriteMode(oPC); + int nEmptySlots = 0; + int nMaxEmptySlots = 1; + int bIsEmpty; + for (iCondition=1; iCondition<=30; iCondition++) + { + switch (nReadWriteMode) + { + case MK_CCOH_DB_READ: + bOk = MK_CCOH_DB_GetIsSlotValid(oPC, iCondition, oItem); + break; + case MK_CCOH_DB_WRITE: + { + bOk = TRUE; + if (!MK_CCOH_DB_GetIsSlotUsed(oPC, iCondition) && (nMaxEmptySlots < ++nEmptySlots)) + { + bOk = FALSE; + } + break; + } + case MK_CCOH_DB_ADMIN: + bOk = MK_CCOH_DB_GetIsSlotUsed(oPC, iCondition); + break; + default: + bOk = FALSE; + break; + } + if (bOk) + { + string sSlotName = MK_CCOH_DB_CreateSlotName(oPC, iCondition, TRUE); + SetCustomToken(14439+iCondition, sSlotName); + } + MK_GenericDialog_SetCondition(iCondition, bOk); + } + break; + } + case MK_STATE_DATABASE_3: + { + // We're about to choose what to read or write (model, color or both) + int nSlot = MK_CCOH_DB_GetCurrentSlot(oPC); + SetCustomToken(14430, (nSlot!=-1 ? MK_CCOH_DB_GetCurrentSlotName(oPC) + " ("+IntToString(nSlot)+")" : GetStringByStrRef(53185)) ); + + int nCurrentModMode = CIGetCurrentModMode(oPC); + + int nValidIASStrTypes = MK_CCOH_DB_GetValidIASStrTypes(oPC); + int nSelectedIASStrTypes = MK_CCOH_DB_GetSelectedIASStrTypes(oPC); + + MK_DEBUG_TRACE("mk_pre_db_item: nValidIASStrTypes="+IntToString(nValidIASStrTypes)+ + ", nSelectedIASStrTypes="+IntToString(nSelectedIASStrTypes)); + + int iCondition; + int nApprFlag = 1; + int nCount=0; + for (iCondition=0; iCondition<=15; iCondition++) + { + bOk = (nValidIASStrTypes & nApprFlag); + SetCustomToken(14440+iCondition, + ( nSelectedIASStrTypes & nApprFlag ? "[X] " : "[_] ") + + MK_CCOH_DB_GetIASStrTypeName(nCurrentModMode, iCondition+1)); + MK_GenericDialog_SetCondition(iCondition, bOk); + if (bOk) nCount++; + + nApprFlag*=2; + } + + string sText1=""; + string sText2=""; + switch (MK_CCOH_DB_GetReadWriteMode(oPC)) + { + case MK_CCOH_DB_READ: + sText1 = MK_TLK_GetStringByStrRef(-79); + sText2 = MK_TLK_GetStringByStrRef(-91); + + MK_GenericDialog_SetCondition(18,FALSE); + MK_GenericDialog_SetCondition(19,FALSE); + + MK_GenericDialog_SetCondition(20, FALSE); + + break; + case MK_CCOH_DB_WRITE: + { + sText1 = MK_TLK_GetStringByStrRef(-78); + sText2 = MK_TLK_GetStringByStrRef(-92); + + string sText18; + int bEnable18; + switch (nCurrentModMode) + { + case MK_CI_MODMODE_BODY: + sText18 = GetName(oTarget); + bEnable18 = (sText18!=MK_CCOH_DB_GetCurrentSlotName(oPC)); + break; + default: + sText18 = GetName(oItem); + bEnable18 = (sText18!=MK_CCOH_DB_GetCurrentSlotName(oPC)); + break; + } + SetCustomToken(14431, sText18); + MK_GenericDialog_SetCondition(18, bEnable18); + + MK_GenericDialog_SetCondition(19, + MK_VERSION_GetIsVersionGreaterEqual_1_69(oPC) && (GetLocalInt(oPC, "MK_DISABLE_TEXT_EDITOR")!=1)); + + MK_GenericDialog_SetCondition(20, FALSE); + + // In case the editor gets started + int bUseChatEvent = GetLocalInt(oPC, "MK_EDITOR_USE_CHAT_EVENT"); + SetLocalString(oPC, g_varEditorText, MK_CCOH_DB_GetCurrentSlotName(oPC)); + +// MK_DEBUG_TRACE("MK_PrepeareEditor()"); + MK_PrepareEditor(oPC, 3, 24, 25, "Edit slot name:", + 30, + TRUE, FALSE, bUseChatEvent); +// MK_GenericDialog_SetCondition(100, FALSE); +// MK_GenericDialog_SetCondition(101, FALSE); +// MK_GenericDialog_SetCondition(102, TRUE); +// MK_GenericDialog_SetCondition(103, FALSE); + break; + } + case MK_CCOH_DB_ADMIN: + MK_GenericDialog_SetCondition(19, nSlot!=-1); + MK_GenericDialog_SetCondition(20, nSlot!=-1); + + // In case the editor gets started + int bUseChatEvent = GetLocalInt(oPC, "MK_EDITOR_USE_CHAT_EVENT"); + SetLocalString(oPC, g_varEditorText, MK_CCOH_DB_GetCurrentSlotName(oPC)); + +// MK_DEBUG_TRACE("MK_PrepeareEditor()"); + MK_PrepareEditor(oPC, 3, 24, 25, "Edit slot name:", + 30, + TRUE, FALSE, bUseChatEvent); +// MK_GenericDialog_SetCondition(100, FALSE); +// MK_GenericDialog_SetCondition(101, FALSE); +// MK_GenericDialog_SetCondition(102, TRUE); +// MK_GenericDialog_SetCondition(103, FALSE); + + break; + } + +// MK_DEBUG_TRACE("SetCustomToken(14460, "+sText1+")"); + SetCustomToken(14460, sText1); + SetCustomToken(14461, sText2); + + MK_GenericDialog_SetCondition(21, nSelectedIASStrTypes && (nCurrentModMode == X2_CI_MODMODE_ARMOR)); + MK_GenericDialog_SetCondition(22, nSelectedIASStrTypes && (nCurrentModMode == X2_CI_MODMODE_WEAPON)); + MK_GenericDialog_SetCondition(23, nSelectedIASStrTypes && (nCurrentModMode == MK_CI_MODMODE_CLOAK)); + MK_GenericDialog_SetCondition(24, nSelectedIASStrTypes && (nCurrentModMode == MK_CI_MODMODE_HELMET)); + MK_GenericDialog_SetCondition(25, nSelectedIASStrTypes && (nCurrentModMode == MK_CI_MODMODE_SHIELD)); + MK_GenericDialog_SetCondition(29, nSelectedIASStrTypes && (nCurrentModMode == MK_CI_MODMODE_BODY)); + + MK_DELIMITER_Initialize(nCount>0); + + break; + } + } + + return TRUE; +} diff --git a/_module/nss/mk_pre_deity.nss b/_module/nss/mk_pre_deity.nss new file mode 100644 index 00000000..10b0a9d2 --- /dev/null +++ b/_module/nss/mk_pre_deity.nss @@ -0,0 +1,234 @@ +#include "mk_inc_generic" +#include "mk_inc_states" +#include "mk_inc_2da_disp" +#include "mk_inc_ccoh_db" +#include "mk_inc_editor" + +int MK_DEITY_SearchDeityName(string s2DA, string sDeity, int nMaxRangeOfEmptyRows) +{ + string sColumnLabel = "LABEL"; + string sColumnName = "Name"; + string sColumnStrRef = "StrRef"; + + int nLength = MK_Get2DALength(s2DA, sColumnLabel, nMaxRangeOfEmptyRows); + int iRow; + int nStrRef; + string sName; + for (iRow=0; iRow racialtype: "+ sRacialTypeColumn); + + int nAlignmentGoodEvil = GetAlignmentGoodEvil(oPC); + int nAlignmentLawChaos = GetAlignmentLawChaos(oPC); + string sAlignmentColumn = ""; + switch (nAlignmentLawChaos) + { + case ALIGNMENT_CHAOTIC: + sAlignmentColumn = "C"; + break; + case ALIGNMENT_NEUTRAL: + sAlignmentColumn = "N"; + break; + case ALIGNMENT_LAWFUL: + sAlignmentColumn = "L"; + break; + } + switch (nAlignmentGoodEvil) + { + case ALIGNMENT_GOOD: + sAlignmentColumn += "G"; + break; + case ALIGNMENT_NEUTRAL: + if (sAlignmentColumn=="N") + { + sAlignmentColumn = "TN"; + } + else + { + sAlignmentColumn += "N"; + } + break; + case ALIGNMENT_EVIL: + sAlignmentColumn += "E"; + break; + } + SetLocalString(oPC, "MK_BODY_DEITY_ALIGNMENT_COLUMN", sAlignmentColumn); + MK_DEBUG_TRACE(" > alignment: "+ sAlignmentColumn); + + int iClass; + int nNoAlignmentGenderAdjustment=TRUE; + for (iClass=1; iClass<=3; iClass++) + { + int nClassType = GetClassByPosition(iClass, oPC); + switch (nClassType) + { + case CLASS_TYPE_CLERIC: + case CLASS_TYPE_DRUID: + case CLASS_TYPE_PALADIN: + case CLASS_TYPE_RANGER: + SetLocalString(oPC, "MK_BODY_DEITY_CLASS"+IntToString(iClass)+"_COLUMN", Get2DAString("classes", "Label", nClassType)); + MK_DEBUG_TRACE(" > class"+IntToString(iClass)+": "+ Get2DAString("classes", "Label", nClassType)); + nNoAlignmentGenderAdjustment=FALSE; + break; + } + } + SetLocalInt(oPC, "MK_BODY_DEITY_ALIGNMENTGENDER_ADJUST", (nNoAlignmentGenderAdjustment ? 0 : 1)); + MK_DEBUG_TRACE(" > adjust: "+IntToString(GetLocalInt(oPC, "MK_BODY_DEITY_ALIGNMENTGENDER_ADJUST"))); + + string sGenderColumn=""; + switch (GetGender(oPC)) + { + case GENDER_FEMALE: + sGenderColumn = "Female"; + break; + case GENDER_MALE: + sGenderColumn = "Male"; + break; + } + SetLocalString(oPC, "MK_BODY_DEITY_GENDER_COLUMN", sGenderColumn); + MK_DEBUG_TRACE(" > alignment: "+ sGenderColumn); +} + +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + + MK_CCOH_DB_Init(oPC); + + int nState = MK_GenericDialog_GetState(); + int nAction = MK_GenericDialog_GetAction(); + + int nCurrentPage; + + string s2DA = GetLocalString(oPC, "MK_DEITY_2DAFILE"); + if (s2DA == "") s2DA = "mk_deities"; + + switch (nState) + { + case MK_STATE_DEITY: + nCurrentPage = MK_2DA_DISPLAY_GetCurrentPage(); + switch (nAction) + { + case 250: + case 251: + case 252: + case 253: + nCurrentPage = MK_2DA_DISPLAY_UpdatePage(nAction); + break; + case 100: + // pressed OK in the 'edit box' -> get the description + { + string sText = MK_TrimString(GetLocalString(oPC, g_varEditorBuffer)); + int bDisableColors = GetLocalInt(oPC, g_varEditorDisableColors); + if (bDisableColors) + { + // We don't want colors, so lets remove them. + // Just in case the user has used the chat line + // to enter color tokens. + sText = MK_RemoveColorTagsFromString(sText); + } + else + { + // We close all color tags in case the user has forgotten + // to do so. + sText = MK_CloseColorTags(sText); + } + SetDeity(oPC, sText); +// SetLocalString(oPC, "MK_NEWNAME", sText); + MK_Editor_CleanUp(oPC); + break; + } + case 101: + // pressed Cancel in the 'edit box' + MK_Editor_CleanUp(oPC); + break; + default: + if ((nAction>=0) && (nAction=0) && (nAction=0) && (nAction=0)) + { + MK_GenericDialog_SetCondition(36, MK_GetIsPerPartColored(oItem, ITEM_APPR_TYPE_ARMOR_COLOR, -1, nCurrentModPart)); +// if ((nMaterial>=0) && (nMaterial=0) && (nMaterial get the description + { + string sText = MK_TrimString(GetLocalString(oPC, g_varEditorBuffer)); + int bDisableColors = GetLocalInt(oPC, g_varEditorDisableColors); + if (bDisableColors) + { + // We don't want colors, so lets remove them. + // Just in case the user has used the chat line + // to enter color tokens. + sText = MK_RemoveColorTagsFromString(sText); + } + else + { + // We close all color tags in case the user has forgotten + // to do so. + sText = MK_CloseColorTags(sText); + } + SetDescription(oItem, sText); +// SetLocalString(oPC, "MK_NEWNAME", sText); + } + MK_Editor_CleanUp(oPC); + break; + case 101: + // pressed Cancel in the 'edit box' + MK_Editor_CleanUp(oPC); + break; +/* case 21: + // rename item + SetName(oItem, GetLocalString(oPC, "MK_NEWNAME")); + break;*/ + } + + MK_InitializeEditDescription(oPC, oItem); + + // In case the editor gets started + int bUseChatEvent = GetLocalInt(oPC, "MK_EDITOR_USE_CHAT_EVENT"); + MK_PrepareEditor(oPC, 2, 22, 23, "Edit description:", -1, FALSE, FALSE, bUseChatEvent); + +// MK_GenericDialog_SetCondition(100, FALSE); +// MK_GenericDialog_SetCondition(101, TRUE); +// MK_GenericDialog_SetCondition(102, FALSE); +// MK_GenericDialog_SetCondition(103, FALSE); + + MK_SetCustomTokenByItemTypeName(oTarget, oPC); + + return TRUE; +} diff --git a/_module/nss/mk_pre_footstep.nss b/_module/nss/mk_pre_footstep.nss new file mode 100644 index 00000000..099a698a --- /dev/null +++ b/_module/nss/mk_pre_footstep.nss @@ -0,0 +1,128 @@ +#include "mk_inc_generic" +#include "mk_inc_states" +#include "mk_inc_delimiter" +#include "mk_inc_2da_disp" +#include "mk_inc_ccoh_db" + + +const string MK_FOOTSTEP_TYPE_SAVE = "MK_WINGS_TYPE_SAVE"; + +void RestoreOriginalFootstepType(object oTarget) +{ + string sIAStr = GetLocalString(oTarget, MK_FOOTSTEP_TYPE_SAVE); + MK_DEBUG_TRACE("Restoring original footstep type: '"+sIAStr+"'"); + if (sIAStr!="") + { + MK_CCOH_DB_IAStrToBodyAppearance(oTarget, sIAStr, MK_CCOH_DB_BODY_APPR_FOOTSTEP); + DeleteLocalString(oTarget, MK_FOOTSTEP_TYPE_SAVE); + } +} + +void SaveOriginalFootstepType(object oTarget) +{ + string sIAStr = GetLocalString(oTarget, MK_FOOTSTEP_TYPE_SAVE); + if (sIAStr=="") + { + sIAStr = MK_CCOH_DB_BodyAppearanceToIAStr(oTarget, MK_CCOH_DB_BODY_APPR_FOOTSTEP); + SetLocalString(oTarget, MK_FOOTSTEP_TYPE_SAVE, sIAStr); + } +} + +int GetHasOriginalFootstepType(object oTarget) +{ + string sIAStr1 = GetLocalString(oTarget, MK_FOOTSTEP_TYPE_SAVE); + string sIAStr2 = MK_CCOH_DB_BodyAppearanceToIAStr(oTarget, MK_CCOH_DB_BODY_APPR_FOOTSTEP); + return (sIAStr1=="") || (sIAStr1==sIAStr2); +} + +string GetFootstepSoundResRef(object oTarget, int nFootstepSound) +{ + location loc = GetLocation(oTarget); + int nSurfaceMaterial = GetSurfaceMaterial(loc); + int nNumber = GetLocalInt(oTarget, "MK_FOOTSTEP_SOUND_NR"); + nNumber = (nNumber + 1) % 3; + SetLocalInt(oTarget, "MK_FOOTSTEP_SOUND_NR", nNumber); + string sMaterial = Get2DAString("surfacemat", "Name", nSurfaceMaterial); + if (sMaterial=="") sMaterial = "Stone"; + string sColumn = sMaterial + IntToString(nNumber); + string sResRef = Get2DAString("footstepsounds", sColumn , nFootstepSound); +// MK_DEBUG_TRACE("GetFootstepSoundResRef(): nSurfaceMaterial="+IntToString(nSurfaceMaterial) +// +"', sColumn='"+sColumn +// +"', sResRef='"+sResRef+"'"); + return sResRef; +} + +void PlayCurrentFootstepSound(object oPC, object oTarget) +{ + int nFootstepSound = GetFootstepType(oTarget); + string sSoundResRef = GetFootstepSoundResRef(oTarget, nFootstepSound); + SendMessageToPC(oPC, "Playing '"+sSoundResRef+"' ..."); + PlaySound(sSoundResRef); +} + + +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oTarget = MK_GetCurrentTarget(oPC); + + MK_CCOH_DB_Init(oPC); + + int nState = MK_GenericDialog_GetState(); + int nAction = MK_GenericDialog_GetAction(); + + int nCurrentPage; + + switch (nState) + { + case MK_STATE_FOOTSTEP: + nCurrentPage = MK_2DA_DISPLAY_GetCurrentPage(); + switch (nAction) + { + case 250: + case 251: + case 252: + case 253: + nCurrentPage = MK_2DA_DISPLAY_UpdatePage(nAction); + break; + case 127: + // Restore original appearance + RestoreOriginalFootstepType(oTarget); + break; + default: + if ((nAction>=0) && (nAction=0) && (nAction=0) && (nAction 0) + { + fFactor = GetLocalFloat(oPC, "MK_CHEATS_ITEM_BUY"); + } + else if (nRequiredGold < 0) + { + fFactor = GetLocalFloat(oPC, "MK_CHEATS_ITEM_SELL"); + } + nRequiredGold = FloatToInt(fFactor * nRequiredGold); + MK_DEBUG_TRACE("MK_ITEMPROP_GetRequiredGold: nCurrentValue="+IntToString(nCurrentValue) + +", nBackupValue="+IntToString(nBackupValue) + +", fFactor="+FloatToString(fFactor) + +", nRequiredGold="+IntToString(nRequiredGold)); + } + return nRequiredGold; +} +*/ + +void MK_ITEMPROP_SetCustomToken(int nState) +{ + MK_CHEATS_SetCustomToken(); + +// string sItemName; +// string sItemValue = "-"; + string sItemPropertyName; +// string sRequiredGold = "-"; +// int nRequiredGold = 0; +// int nGold = GetGold(); + +// object oItem = MK_CHEATS_GetCurrentItem(); +// if (GetIsObjectValid(oItem)) +// { +// int nCurrentValue = MK_CHEATS_CalculateCurrentGoldPieceValue(); +// int nGoldPieceValue = MK_CHEATS_GetCurrentGoldPieceValue(); +// sItemValue = IntToString(nCurrentValue) + " / " + IntToString(nGoldPieceValue); + +// nRequiredGold = MK_CHEATS_GetRequiredGold(nCurrentValue); +// sRequiredGold = IntToString(nRequiredGold); +// } +// sRequiredGold += (" ("+IntToString(nGold)+")"); + +// sItemName=MK_CHEATS_GetCurrentItemName("-"); + sItemPropertyName = MK_CHEATS_GetCurrentItemPropertyName("-"); + +// SetCustomToken(14422, sItemName); +// SetCustomToken(14423, sItemValue); + SetCustomToken(14424, sItemPropertyName); +// SetCustomToken(14426, sRequiredGold); + + // if (nRequiredGold>nGold) + // { +// string sDisabledOptionsColor = GetLocalString(OBJECT_SELF, "MK_DISABLED_OPTIONS_COLOR"); +// string sCloseColor = (sDisabledOptionsColor!="" ? "" : ""); + +// SetCustomToken(14460, sDisabledOptionsColor); +// SetCustomToken(14470, " "+MK_TLK_GetStringByStrRef(-474)+""); +// } + + + int nStrRef = 0; + switch (nState) + { + case MK_STATE_CHEATS_ITEMPROPS_PARAM1: + nStrRef = MK_CHEATS_GetCurrentParam1TableStrRef(); + break; + case MK_STATE_CHEATS_ITEMPROPS_COSTTABLE: + nStrRef = -471; + break; + case MK_STATE_CHEATS_ITEMPROPS_SUBTYPE: + nStrRef = -470; + break; + case MK_STATE_CHEATS_ITEMPROPS_PROPERTY: + nStrRef = -469; + break; + case MK_STATE_CHEATS_ITEMPROPS_ITEM: + nStrRef = -468; + break; + } + SetCustomToken(14425, MK_TLK_GetStringByStrRef(nStrRef)); +} + +int MK_ITEMPROP_Finish() +{ + int nState = MK_GenericDialog_GetState(); + if (MK_CHEATS_FinishModifyItem()) + { + object oPC = GetPCSpeaker(); + + MK_GenericDialog_SetCurrentPage(nState, 1); + MK_2DA_DISPLAY_Cleanup(); + MK_GenericDialog_SetState(nState = MK_STATE_CHEATS_ITEMPROPS_ITEM_INIT); + } + return nState; +} + +int MK_ITEMPROP_Cancel() +{ + MK_DEBUG_TRACE("MK_ITEMPROP_Cancel() *start*"); + object oPC = GetPCSpeaker(); + int nState = MK_GenericDialog_GetState(); + MK_GenericDialog_SetCurrentPage(nState, 1); + MK_2DA_DISPLAY_Cleanup(); + + MK_CHEATS_CancelModifyItem(); + + MK_GenericDialog_SetState(nState = MK_STATE_CHEATS_ITEMPROPS_ITEM_INIT); + MK_DEBUG_TRACE("MK_ITEMPROP_Cancel(): *terminate*"); + return nState; +} + +/* +void DisplayDebugOutputQ(string sMsg, object oItem) +{ + string sIASStr = ""; + int nCalculatedValue = -1; + int nGoldPieceValue = -1; + if (GetIsObjectValid(oItem)) + { + sIASStr = MK_CCOH_DB_ItemPropertiesToIASStr(oItem); + nCalculatedValue = MK_IPRP_CalculateGoldPieceValue(oItem, 0); + nGoldPieceValue = MK_IPRP_GetGoldPieceValue(oItem); + } + MK_DEBUG_TRACE(sMsg+": oItem='"+GetName(oItem) + +"', sIASStr='"+sIASStr + +"', nCalculatedValue="+IntToString(nCalculatedValue) + +"', nGoldPieceValue="+IntToString(nGoldPieceValue)); +} + +void DisplayDebugOutput(object oPC) +{ + object oItem = CIGetCurrentModItem(oPC); + object oBackup = CIGetCurrentModBackup(oPC); + DisplayDebugOutputQ("Current item", oItem); + DisplayDebugOutputQ("Backup item ", oBackup); + object oContainer = IPGetIPWorkContainer(); + if (GetIsObjectValid(oContainer)) + { + int iItem=0; + object oItemQ = GetFirstItemInInventory(oContainer); + while (GetIsObjectValid(oItemQ)) + { + DisplayDebugOutputQ("Item "+IntToString(++iItem), oItemQ); + oItemQ = GetNextItemInInventory(oContainer); + } + } +} +*/ + +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + + int nState = MK_GenericDialog_GetState(); + int nAction = MK_GenericDialog_GetAction(); + + MK_DEBUG_TRACE("mk_pre_itemprop: nState="+IntToString(nState)+", nAction="+IntToString(nAction)); +// DisplayDebugOutput(oPC); + + switch (nState) + { + case MK_STATE_CHEATS: + MK_CHEATS_SetCurrentItem(OBJECT_INVALID); + MK_CHEATS_SetCurrentItemPropertyID(-1); + MK_CHEATS_SetCurrentItemPropertySubType(-1); + MK_CHEATS_SetCurrentItemPropertyCostTableValue(-1); + MK_CHEATS_SetCurrentItemPropertyParam1Value(-1); + MK_GenericDialog_SetCurrentPage(MK_STATE_CHEATS_ITEMPROPS_ITEM, 1); + MK_GenericDialog_SetCurrentPage(MK_STATE_CHEATS_ITEMPROPS_PROPERTY, 1); + MK_GenericDialog_SetCurrentPage(MK_STATE_CHEATS_ITEMPROPS_SUBTYPE, 1); + MK_GenericDialog_SetCurrentPage(MK_STATE_CHEATS_ITEMPROPS_COSTTABLE, 1); + + MK_GenericDialog_SetState(nState = MK_STATE_CHEATS_ITEMPROPS_ITEM_INIT); + break; + case MK_STATE_CHEATS_ITEMPROPS_ITEM: + switch (nAction) + { + case 250: // First page + case 251: // previous page + case 252: // next page + case 253: // last page + MK_ITM_DISPLAY_UpdatePage(nAction); + break; + case 31: // filter items + MK_ITM_DISPLAY_Cleanup(); + MK_GenericDialog_SetState(nState = MK_STATE_CHEATS_ITEMPROPS_FILTERITEMS_INIT); + SetLocalInt(oPC, "MK_CHEATS_ITEMPROPS_FILTERITEMS_SHOWALL", MK_CHEATS_GetAreAllItemTypesSelected(oPC)); + break; + default: + if ((nAction>=0) && (nAction=0) && (nAction=0) && (nAction=0) && (nAction=0) && (nAction=0) && (nAction0); + MK_GenericDialog_SetConditionRange(31, 32, FALSE); + MK_GenericDialog_SetCondition(33, TRUE); + MK_GenericDialog_SetCondition(127, FALSE); + SetCustomToken(14427, MK_TLK_GetStringByStrRef( GetLocalInt(oPC, "MK_CHEATS_ITEMPROPS_SHOWCURRENTONLY") ? -39 : -40 )); + break; + case MK_STATE_CHEATS_ITEMPROPS_SUBTYPE: + MK_2DA_DISPLAY_DisplayPage(MK_2DA_DISPLAY_GetCurrentPage(), -1, "mk_cb_iprp_stlbl", FALSE); + MK_GenericDialog_SetCondition(100, FALSE); + MK_GenericDialog_SetCondition(101, TRUE); + MK_GenericDialog_SetCondition(30, MK_CHEATS_GetCurrentItemPropertyCount(MK_CHEATS_GetCurrentItemPropertyID())>0); + MK_GenericDialog_SetConditionRange(31, 32, FALSE); + MK_GenericDialog_SetCondition(33, TRUE); + MK_GenericDialog_SetCondition(127, FALSE); + SetCustomToken(14427, MK_TLK_GetStringByStrRef( GetLocalInt(oPC, "MK_CHEATS_ITEMPROPS_SHOWCURRENTONLY") ? -39 : -40 )); + break; + case MK_STATE_CHEATS_ITEMPROPS_COSTTABLE: + MK_2DA_DISPLAY_DisplayPage(MK_2DA_DISPLAY_GetCurrentPage(), -1, "mk_cb_iprp_ctlbl", FALSE); + MK_GenericDialog_SetCondition(100, FALSE); + MK_GenericDialog_SetCondition(101, TRUE); + MK_GenericDialog_SetCondition(30, MK_CHEATS_GetCurrentItemPropertyCount( + MK_CHEATS_GetCurrentItemPropertyID(), MK_CHEATS_GetCurrentItemPropertySubType())>0); + MK_GenericDialog_SetConditionRange(31, 32, FALSE); + MK_GenericDialog_SetCondition(33, TRUE); + MK_GenericDialog_SetCondition(127, FALSE); + SetCustomToken(14427, MK_TLK_GetStringByStrRef( GetLocalInt(oPC, "MK_CHEATS_ITEMPROPS_SHOWCURRENTONLY") ? -39 : -40 )); + break; + case MK_STATE_CHEATS_ITEMPROPS_PARAM1: + MK_2DA_DISPLAY_DisplayPage(MK_2DA_DISPLAY_GetCurrentPage(), -1, "mk_cb_iprp_p1lbl", FALSE); + MK_GenericDialog_SetCondition(100, FALSE); + MK_GenericDialog_SetCondition(101, TRUE); + MK_GenericDialog_SetCondition(30, MK_CHEATS_GetCurrentItemPropertyCount( + MK_CHEATS_GetCurrentItemPropertyID(), MK_CHEATS_GetCurrentItemPropertySubType(), MK_CHEATS_GetCurrentItemPropertyCostTableValue())>0); + MK_GenericDialog_SetConditionRange(31, 32, FALSE); + MK_GenericDialog_SetCondition(33, TRUE); + MK_GenericDialog_SetCondition(127, FALSE); + SetCustomToken(14427, MK_TLK_GetStringByStrRef( GetLocalInt(oPC, "MK_CHEATS_ITEMPROPS_SHOWCURRENTONLY") ? -39 : -40 )); + break; + } + + MK_GenericDialog_SetCondition(254, bIsModified); + MK_GenericDialog_SetCondition(257, bIsModified); + + MK_DELIMITER_Initialize(); + MK_ITEMPROP_SetCustomToken(nState); + +// DisplayDebugOutput(oPC); + + return TRUE; +} diff --git a/_module/nss/mk_pre_material.nss b/_module/nss/mk_pre_material.nss new file mode 100644 index 00000000..87d63cb6 --- /dev/null +++ b/_module/nss/mk_pre_material.nss @@ -0,0 +1,165 @@ +#include "mk_inc_generic" +#include "mk_inc_version" +#include "mk_inc_iaam" +#include "mk_inc_craft" +#include "mk_inc_states" + +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oTarget = MK_GetCurrentTarget(oPC); + +// int nDisableEEFeatures = MK_INIT_GetAreEEFeaturesDisabled(); + int nVersion_GE_1_74 = MK_VERSION_GetIsVersionGreaterEqual_1_74(oPC); + + int nPerPartColoring = GetLocalInt(oPC, MK_PERPARTCOLORING); + + object oItem; + + switch (MK_GenericDialog_GetState(TRUE)) + { + case MK_STATE_COLOR: + { + int nColor = MK_GenericDialog_GetAction(); + int nNumberOfColorsPerGroup = GetLocalInt(oPC, "MK_NUMBER_OF_COLORS_PER_GROUP"); + if ((nColor>=0) && (nColor=0) + { + object oSourceItem = MK_GenericDialog_GetObject(nItem); + + if (GetIsObjectValid(oSourceItem)) + { + oItem = CIGetCurrentModItem(oPC); + + int bMirrorUpdateDeactivated = FALSE; + if (MK_GetUpdateMirror(oPC)) + { + bMirrorUpdateDeactivated=TRUE; + MK_DeactivateMirrorUpdate(oTarget, oPC, TRUE); + } + + oItem = MK_CopyColor(oItem, oSourceItem, nVersion_GE_1_74); + CISetCurrentModItem(oPC,oItem); + + if (bMirrorUpdateDeactivated) + { + MK_DeactivateMirrorUpdate(oTarget, oPC, FALSE); + } + else + { + MK_EquipModifiedItem(oTarget, oPC); + } + } + } + } + break; + case MK_STATE_SELECTPART: + { + int nPart = MK_GenericDialog_GetAction(); + if ((nPart>=0) && (nPart=0) + { + int nValue = MK_GetIsPerPartColored(oItem, ITEM_APPR_TYPE_ARMOR_COLOR, -1, nCurrentModPart); + MK_GenericDialog_SetCondition(252, nValue); + } + else + { + MK_GenericDialog_SetCondition(252, FALSE); + } + MK_GenericDialog_SetCondition(250, TRUE); + MK_GenericDialog_SetCondition(255, nPerPartColoring); + } + break; + } + default: + SetCustomToken(14421,""); + break; + } + + return TRUE; +} diff --git a/_module/nss/mk_pre_perpart_s.nss b/_module/nss/mk_pre_perpart_s.nss new file mode 100644 index 00000000..d7be6a99 --- /dev/null +++ b/_module/nss/mk_pre_perpart_s.nss @@ -0,0 +1,87 @@ +#include "mk_inc_generic" +#include "x2_inc_craft" +#include "mk_inc_iaam" +#include "mk_inc_craft" +#include "mk_inc_states" + +/* +int IsVisible(object oItem, int nModel, int nRobe) +{ + int nPartCount = MK_IAAM_GetPartCount(nModel); + int i; + + int nHiddenByRobeCount=0; + int nEmptyAppearanceCount=0; + + for (i=0; (i0) + { + nVisible=FALSE; + } + else + { + switch (nPartCount) + { + case 1: + case 2: + nVisible = (nEmptyAppearanceCount==0); + break; + case 3: + case 4: + case 5: + case 6: + nVisible = (nEmptyAppearanceCount<=2); + break; + default: + nVisible = (nEmptyAppearanceCount<=4); + break; + } + } + MK_DEBUG_TRACE("IsVisible: nModel="+IntToString(nModel)+", nRobe="+IntToString(nRobe)+", nPartCount="+IntToString(nPartCount)+ + ", nHiddenByRobeCount="+IntToString(nHiddenByRobeCount)+", nEmptyAppearanceCount="+IntToString(nEmptyAppearanceCount)+", nVisible="+IntToString(nVisible)); + + return nVisible; +} +*/ + +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = CIGetCurrentModItem(oPC); + + MK_GenericDialog_SetState(MK_STATE_SELECTPART); + +// int nDisableEEFeatures = MK_INIT_GetAreEEFeaturesDisabled(); + int nVisible = !MK_GetHiddenWhenEquipped(oItem); + + int nRobe = GetItemAppearance(oItem,ITEM_APPR_TYPE_ARMOR_MODEL,ITEM_APPR_ARMOR_MODEL_ROBE); + + int iItemAppr; + int nValid; + for (iItemAppr=0; iItemAppr get the name + { + string sText = MK_TrimString(GetLocalString(oPC, g_varEditorBuffer)); + int bDisableColors = GetLocalInt(oPC, g_varEditorDisableColors); + if (bDisableColors) + { + // We don't want colors, so lets remove them. + // Just in case the user used the chat line to + // enter color tokens. + sText = MK_RemoveColorTagsFromString(sText); + } + else + { + // We close all color tags in case the user has forgotten + // to do so. + sText = MK_CloseColorTags(sText); + } + SetLocalString(oPC, "MK_NEWNAME", sText); + } + MK_Editor_CleanUp(oPC); + break; + case 101: + // pressed Cancel in the 'edit box' +// SetLocalString(oPC, "MK_NEWNAME", ""); + MK_Editor_CleanUp(oPC); + break; + } + + MK_InitializeRenameItem(oPC, oItem); + + // In case the editor gets started + int nMaxLength = GetLocalInt(oPC, "MK_ITEM_NAME_MAX_LENGTH"); + int bUseChatEvent = GetLocalInt(oPC, "MK_EDITOR_USE_CHAT_EVENT"); + MK_PrepareEditor(oPC, 1, 20, 21, "Rename item:", + nMaxLength>0 ? nMaxLength : 30, + TRUE, FALSE, bUseChatEvent); +// MK_GenericDialog_SetCondition(100, TRUE); +// MK_GenericDialog_SetCondition(101, FALSE); +// MK_GenericDialog_SetCondition(102, FALSE); +// MK_GenericDialog_SetCondition(103, FALSE); + + MK_SetCustomTokenByItemTypeName(oTarget, oPC); + + return TRUE; +} diff --git a/_module/nss/mk_pre_scale.nss b/_module/nss/mk_pre_scale.nss new file mode 100644 index 00000000..c4f90a9f --- /dev/null +++ b/_module/nss/mk_pre_scale.nss @@ -0,0 +1,79 @@ +#include "mk_inc_generic" +#include "mk_inc_states" +#include "mk_inc_craft" +#include "mk_inc_tools_s" +#include "mk_inc_ccoh_db" +#include "mk_inc_scale" + +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oTarget = MK_GetCurrentTarget(oPC); + + MK_CCOH_DB_Init(oPC); + + int nState = MK_GenericDialog_GetState(); + int nAction = MK_GenericDialog_GetAction(); + + float fScaleFactor = MK_SCALE_GetScaleFactor(oTarget); + + switch (nState) + { + case MK_STATE_SCALE: + switch (nAction) + { + case 249: + fScaleFactor=1.0; + break; + case 250: + fScaleFactor+=0.1; + break; + case 251: + fScaleFactor+=0.01; + break; + case 252: + fScaleFactor-=0.01; + break; + case 253: + fScaleFactor-=0.1; + break; + } + + if (MK_SCALE_GetIsScaleFactorValid(fScaleFactor)) + { + MK_SCALE_SetScaleFactor(oTarget, fScaleFactor); + } + + break; + default: + nState = MK_STATE_SCALE; + MK_GenericDialog_SetState(nState); + CISetCurrentModMode(oPC, MK_CI_MODMODE_BODY); + MK_SetBodyPartToBeModified(oPC, MK_CRAFTBODY_SCALE, TRUE); + + break; + } + + + switch (nState) + { + case MK_STATE_SCALE: + { + fScaleFactor = MK_SCALE_GetScaleFactor(oTarget); +// GetObjectVisualTransform(oTarget, OBJECT_VISUAL_TRANSFORM_SCALE); + + MK_SCALE_DisplayScaleOption(250, -94, 14402, MK_SCALE_GetIsScaleFactorValid(fScaleFactor+0.1)); + MK_SCALE_DisplayScaleOption(251, -95, 14403, MK_SCALE_GetIsScaleFactorValid(fScaleFactor+0.01)); + MK_SCALE_DisplayScaleOption(252, -96, 14404, MK_SCALE_GetIsScaleFactorValid(fScaleFactor-0.01)); + MK_SCALE_DisplayScaleOption(253, -97, 14405, MK_SCALE_GetIsScaleFactorValid(fScaleFactor-0.1)); + MK_SCALE_DisplayScaleOption(249, -98, 14406, (fabs(fScaleFactor-1.0)>0.001) ); + + MK_GenericDialog_SetCondition(254, MK_CCOH_DB_GetIsBodyChanged(oTarget)); + + SetCustomToken(14423, MK_TrimString(FloatToString(fScaleFactor,10,2))); + break; + } + } + + return TRUE; +} diff --git a/_module/nss/mk_pre_swp_iprop.nss b/_module/nss/mk_pre_swp_iprop.nss new file mode 100644 index 00000000..2aa1a4cc --- /dev/null +++ b/_module/nss/mk_pre_swp_iprop.nss @@ -0,0 +1,167 @@ +#include "mk_inc_states" +#include "mk_inc_delimiter" +#include "mk_inc_itm_disp" +#include "mk_inc_swp_iprop" + +const int MK_STATE_CHEATS_SWAPITEMPROPS_ITEM1_INIT = 1001; +const int MK_STATE_CHEATS_SWAPITEMPROPS_ITEM2_INIT = 1002; +const int MK_STATE_CHEATS_SWAPITEMPROPS_SWAP_INIT = 1003; + +void MK_SWAPIPROP_CalculateSwapCost() +{ + object oItem1 = MK_SWAPIPROP_GetItem(MK_STATE_CHEATS_SWAPITEMPROPS_ITEM1); + object oItem2 = MK_SWAPIPROP_GetItem(MK_STATE_CHEATS_SWAPITEMPROPS_ITEM2); + + int nCost = 0; + if (GetIsObjectValid(oItem1) && GetIsObjectValid(oItem2)) + { + nCost = MK_SWAPIPROP_CalculateItemPropertySwapCost(oItem1, oItem2); + } + MK_SWAPIPROP_SetCost(nCost); +} + +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + + int nState = MK_GenericDialog_GetState(); + int nAction = MK_GenericDialog_GetAction(); + + MK_DEBUG_TRACE("mk_pre_itemprop: nState="+IntToString(nState)+", nAction="+IntToString(nAction)); +// DisplayDebugOutput(oPC); + + switch (nState) + { + case MK_STATE_CHEATS: + switch (nAction) + { + case 27: + MK_GenericDialog_SetState(nState=MK_STATE_CHEATS_SWAPITEMPROPS_ITEM1_INIT); + break; + } + break; + case MK_STATE_CHEATS_SWAPITEMPROPS_ITEM1: + switch (nAction) + { + case 250: // First page + case 251: // previous page + case 252: // next page + case 253: // last page + MK_ITM_DISPLAY_UpdatePage(nAction); + break; + default: + if ((nAction>=0) && (nAction=nCost) + { + MK_SWAPIPROP_SwapItemProperties(oItem1, oItem2); + if (nCost>0) + { + TakeGoldFromCreature(nCost, oPC, TRUE); + } + else if (nCost<0) + { + GiveGoldToCreature(oPC, -nCost); + } + + MK_SWAPIPROP_SetItem(OBJECT_INVALID, MK_STATE_CHEATS_SWAPITEMPROPS_ITEM1); + MK_SWAPIPROP_SetItem(OBJECT_INVALID, MK_STATE_CHEATS_SWAPITEMPROPS_ITEM2); + MK_SWAPIPROP_CalculateSwapCost(); + + MK_ITM_DISPLAY_Cleanup(); + MK_GenericDialog_SetState(nState=MK_STATE_CHEATS_SWAPITEMPROPS_ITEM1_INIT); + } + } + break; + } + case 255: // Back + MK_ITM_DISPLAY_Cleanup(); + MK_SWAPIPROP_SetItem(OBJECT_INVALID, MK_STATE_CHEATS_SWAPITEMPROPS_ITEM1); + MK_SWAPIPROP_SetItem(OBJECT_INVALID, MK_STATE_CHEATS_SWAPITEMPROPS_ITEM2); + MK_SWAPIPROP_CalculateSwapCost(); + MK_GenericDialog_SetState(nState=MK_STATE_CHEATS_SWAPITEMPROPS_ITEM1_INIT); + break; + default: + if ((nAction>=0) && (nAction=0) + { + object oSourceItem = MK_GenericDialog_GetObject(nItem); + + if (GetIsObjectValid(oSourceItem)) + { + oItem = MK_CopyAppearance(oItem, oSourceItem); + + CISetCurrentModItem(oPC,oItem); + + MK_EquipModifiedItem(oPC); + } + } + break; + }*/ + case MK_STATE_MODIFY: + CISetDefaultModItemCamera(oPC); + break; + case MK_STATE_SELECTPART: + { + int nAction = MK_GenericDialog_GetAction(); + switch (nAction) + { + case 250: + case 251: + MK_IM_ToggleVisibility(oTarget, oPC, oItem); + oItem = CIGetCurrentModItem(oPC); + break; + } + break; + } + case MK_STATE_INIT: + CISetDefaultModItemCamera(oPC); + break; + } + + MK_GenericDialog_SetState(MK_STATE_SELECTPART); + + int nVisible = !MK_GetHiddenWhenEquipped(oItem); + + MK_GenericDialog_SetConditionRange(1, 3, nVisible); + + int nNWNversion_GE_1_74 = MK_VERSION_GetIsVersionGreaterEqual_1_74(oPC); + MK_GenericDialog_SetCondition(250, (nNWNversion_GE_1_74) && (!nVisible)); + MK_GenericDialog_SetCondition(251, (nNWNversion_GE_1_74) && (nVisible)); + + MK_SetCurrentModPart(oPC, -1); + + return TRUE; +} diff --git a/_module/nss/mk_pre_wings.nss b/_module/nss/mk_pre_wings.nss new file mode 100644 index 00000000..ff302ba2 --- /dev/null +++ b/_module/nss/mk_pre_wings.nss @@ -0,0 +1,100 @@ +#include "mk_inc_generic" +#include "mk_inc_states" +#include "mk_inc_2da_disp" +#include "mk_inc_ccoh_db" + + +const string MK_WINGS_TYPE_SAVE = "MK_WINGS_TYPE_SAVE"; + +void RestoreOriginalWings(object oPC) +{ + string sIAStr = GetLocalString(oPC, MK_WINGS_TYPE_SAVE); + MK_DEBUG_TRACE("Restoring original wings type: '"+sIAStr+"'"); + if (sIAStr!="") + { + MK_CCOH_DB_IAStrToBodyAppearance(oPC, sIAStr, MK_CCOH_DB_BODY_APPR_WINGS); + DeleteLocalString(oPC, MK_WINGS_TYPE_SAVE); + } +} + +void SaveOriginalWings(object oPC) +{ + string sIAStr = GetLocalString(oPC, MK_WINGS_TYPE_SAVE); + if (sIAStr=="") + { + sIAStr = MK_CCOH_DB_BodyAppearanceToIAStr(oPC, MK_CCOH_DB_BODY_APPR_WINGS); + SetLocalString(oPC, MK_WINGS_TYPE_SAVE, sIAStr); + } +} + +int GetHasOriginalWings(object oPC) +{ + string sIAStr1 = GetLocalString(oPC, MK_WINGS_TYPE_SAVE); + string sIAStr2 = MK_CCOH_DB_BodyAppearanceToIAStr(oPC, MK_CCOH_DB_BODY_APPR_WINGS); + return (sIAStr1=="") || (sIAStr1==sIAStr2); +} + + +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oTarget = MK_GetCurrentTarget(oPC); + + MK_CCOH_DB_Init(oPC); + + int nState = MK_GenericDialog_GetState(); + int nAction = MK_GenericDialog_GetAction(); + + int nCurrentPage; + + switch (nState) + { + case MK_STATE_WINGS: + nCurrentPage = MK_2DA_DISPLAY_GetCurrentPage(); + switch (nAction) + { + case 250: + case 251: + case 252: + case 253: + nCurrentPage = MK_2DA_DISPLAY_UpdatePage(nAction); + break; + case 127: + // Restore original appearance + RestoreOriginalWings(oTarget); + break; + default: + int nNewWingType = MK_2DA_DISPLAY_GetValueAsInt(nAction); + if (nNewWingType!=-1) + { + SaveOriginalWings(oTarget); + SetCreatureWingType(nNewWingType, oTarget); + } + break; + } + break; + default: + nState = MK_STATE_WINGS; + MK_2DA_DISPLAY_Initialize("wingmodel", "", "LABEL", "", "", 300); + MK_2DA_DISPLAY_EnsureVisible(GetCreatureWingType(oTarget)); + nCurrentPage = MK_2DA_DISPLAY_GetCurrentPage(); + MK_GenericDialog_SetState(nState); + CISetCurrentModMode(oPC, MK_CI_MODMODE_BODY); + MK_AddTemporaryEffects(oPC, MK_TAG_TEMP_EFFECT, FALSE, oTarget); + break; + } + + switch (nState) + { + case MK_STATE_WINGS: + MK_DELIMITER_Initialize(); + + MK_2DA_DISPLAY_DisplayPage(nCurrentPage, GetCreatureWingType(oTarget)); + + MK_GenericDialog_SetCondition(127, !GetHasOriginalWings(oTarget)); + MK_GenericDialog_SetCondition(254, MK_CCOH_DB_GetIsBodyChanged(oTarget)); + break; + } + + return TRUE; +} diff --git a/_module/nss/mk_set_00.nss b/_module/nss/mk_set_00.nss new file mode 100644 index 00000000..191510a4 --- /dev/null +++ b/_module/nss/mk_set_00.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(0); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 0); +} diff --git a/_module/nss/mk_set_01.nss b/_module/nss/mk_set_01.nss new file mode 100644 index 00000000..76f6ae24 --- /dev/null +++ b/_module/nss/mk_set_01.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(1); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 1); +} diff --git a/_module/nss/mk_set_02.nss b/_module/nss/mk_set_02.nss new file mode 100644 index 00000000..49dfc3c7 --- /dev/null +++ b/_module/nss/mk_set_02.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(2); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 2); +} diff --git a/_module/nss/mk_set_03.nss b/_module/nss/mk_set_03.nss new file mode 100644 index 00000000..802be751 --- /dev/null +++ b/_module/nss/mk_set_03.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(3); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 3); +} diff --git a/_module/nss/mk_set_04.nss b/_module/nss/mk_set_04.nss new file mode 100644 index 00000000..ab067ea8 --- /dev/null +++ b/_module/nss/mk_set_04.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(4); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 4); +} diff --git a/_module/nss/mk_set_05.nss b/_module/nss/mk_set_05.nss new file mode 100644 index 00000000..99ca57ab --- /dev/null +++ b/_module/nss/mk_set_05.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(5); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 5); +} diff --git a/_module/nss/mk_set_06.nss b/_module/nss/mk_set_06.nss new file mode 100644 index 00000000..ccc4eff8 --- /dev/null +++ b/_module/nss/mk_set_06.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(6); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 6); +} diff --git a/_module/nss/mk_set_07.nss b/_module/nss/mk_set_07.nss new file mode 100644 index 00000000..ab712ce1 --- /dev/null +++ b/_module/nss/mk_set_07.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(7); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 7); +} diff --git a/_module/nss/mk_set_08.nss b/_module/nss/mk_set_08.nss new file mode 100644 index 00000000..6d9f42fb --- /dev/null +++ b/_module/nss/mk_set_08.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(8); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 8); +} diff --git a/_module/nss/mk_set_09.nss b/_module/nss/mk_set_09.nss new file mode 100644 index 00000000..c9d85abc --- /dev/null +++ b/_module/nss/mk_set_09.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(9); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 9); +} diff --git a/_module/nss/mk_set_10.nss b/_module/nss/mk_set_10.nss new file mode 100644 index 00000000..dc60ef16 --- /dev/null +++ b/_module/nss/mk_set_10.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(10); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 10); +} diff --git a/_module/nss/mk_set_100.nss b/_module/nss/mk_set_100.nss new file mode 100644 index 00000000..5400244c --- /dev/null +++ b/_module/nss/mk_set_100.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(100); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 22); +} diff --git a/_module/nss/mk_set_101.nss b/_module/nss/mk_set_101.nss new file mode 100644 index 00000000..2020b784 --- /dev/null +++ b/_module/nss/mk_set_101.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(101); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 22); +} diff --git a/_module/nss/mk_set_11.nss b/_module/nss/mk_set_11.nss new file mode 100644 index 00000000..bc49bdca --- /dev/null +++ b/_module/nss/mk_set_11.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(11); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 11); +} diff --git a/_module/nss/mk_set_12.nss b/_module/nss/mk_set_12.nss new file mode 100644 index 00000000..7efd4649 --- /dev/null +++ b/_module/nss/mk_set_12.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(12); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 12); +} diff --git a/_module/nss/mk_set_127.nss b/_module/nss/mk_set_127.nss new file mode 100644 index 00000000..d69f0eb6 --- /dev/null +++ b/_module/nss/mk_set_127.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(127); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 22); +} diff --git a/_module/nss/mk_set_13.nss b/_module/nss/mk_set_13.nss new file mode 100644 index 00000000..be2207d5 --- /dev/null +++ b/_module/nss/mk_set_13.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(13); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 13); +} diff --git a/_module/nss/mk_set_14.nss b/_module/nss/mk_set_14.nss new file mode 100644 index 00000000..94b1ce9e --- /dev/null +++ b/_module/nss/mk_set_14.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(14); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 14); +} diff --git a/_module/nss/mk_set_15.nss b/_module/nss/mk_set_15.nss new file mode 100644 index 00000000..1b879d3d --- /dev/null +++ b/_module/nss/mk_set_15.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(15); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 15); +} diff --git a/_module/nss/mk_set_16.nss b/_module/nss/mk_set_16.nss new file mode 100644 index 00000000..a1312f66 --- /dev/null +++ b/_module/nss/mk_set_16.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(16); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 16); +} diff --git a/_module/nss/mk_set_17.nss b/_module/nss/mk_set_17.nss new file mode 100644 index 00000000..930a757f --- /dev/null +++ b/_module/nss/mk_set_17.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(17); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 17); +} diff --git a/_module/nss/mk_set_18.nss b/_module/nss/mk_set_18.nss new file mode 100644 index 00000000..690b2ee7 --- /dev/null +++ b/_module/nss/mk_set_18.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(18); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 18); +} diff --git a/_module/nss/mk_set_19.nss b/_module/nss/mk_set_19.nss new file mode 100644 index 00000000..de9e71ff --- /dev/null +++ b/_module/nss/mk_set_19.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(19); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 19); +} diff --git a/_module/nss/mk_set_20.nss b/_module/nss/mk_set_20.nss new file mode 100644 index 00000000..8f9dd919 --- /dev/null +++ b/_module/nss/mk_set_20.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(20); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 20); +} diff --git a/_module/nss/mk_set_21.nss b/_module/nss/mk_set_21.nss new file mode 100644 index 00000000..9ddeaf0c --- /dev/null +++ b/_module/nss/mk_set_21.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(21); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 21); +} diff --git a/_module/nss/mk_set_22.nss b/_module/nss/mk_set_22.nss new file mode 100644 index 00000000..f0609d9f --- /dev/null +++ b/_module/nss/mk_set_22.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(22); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 22); +} diff --git a/_module/nss/mk_set_23.nss b/_module/nss/mk_set_23.nss new file mode 100644 index 00000000..f8d8267c --- /dev/null +++ b/_module/nss/mk_set_23.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(23); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_24.nss b/_module/nss/mk_set_24.nss new file mode 100644 index 00000000..0eb914f1 --- /dev/null +++ b/_module/nss/mk_set_24.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(24); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_249.nss b/_module/nss/mk_set_249.nss new file mode 100644 index 00000000..53e78e16 --- /dev/null +++ b/_module/nss/mk_set_249.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(249); +} diff --git a/_module/nss/mk_set_25.nss b/_module/nss/mk_set_25.nss new file mode 100644 index 00000000..33854098 --- /dev/null +++ b/_module/nss/mk_set_25.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(25); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_250.nss b/_module/nss/mk_set_250.nss new file mode 100644 index 00000000..ba1829fb --- /dev/null +++ b/_module/nss/mk_set_250.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(250); +} diff --git a/_module/nss/mk_set_251.nss b/_module/nss/mk_set_251.nss new file mode 100644 index 00000000..a9797cd6 --- /dev/null +++ b/_module/nss/mk_set_251.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(251); +} diff --git a/_module/nss/mk_set_252.nss b/_module/nss/mk_set_252.nss new file mode 100644 index 00000000..5486d99c --- /dev/null +++ b/_module/nss/mk_set_252.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(252); +} diff --git a/_module/nss/mk_set_253.nss b/_module/nss/mk_set_253.nss new file mode 100644 index 00000000..87037ba5 --- /dev/null +++ b/_module/nss/mk_set_253.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(253); +} diff --git a/_module/nss/mk_set_254.nss b/_module/nss/mk_set_254.nss new file mode 100644 index 00000000..34510e8a --- /dev/null +++ b/_module/nss/mk_set_254.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(254); +} diff --git a/_module/nss/mk_set_255.nss b/_module/nss/mk_set_255.nss new file mode 100644 index 00000000..27714f93 --- /dev/null +++ b/_module/nss/mk_set_255.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(255); +} diff --git a/_module/nss/mk_set_257.nss b/_module/nss/mk_set_257.nss new file mode 100644 index 00000000..44c85518 --- /dev/null +++ b/_module/nss/mk_set_257.nss @@ -0,0 +1,6 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(257); +} diff --git a/_module/nss/mk_set_26.nss b/_module/nss/mk_set_26.nss new file mode 100644 index 00000000..224664dd --- /dev/null +++ b/_module/nss/mk_set_26.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(26); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_27.nss b/_module/nss/mk_set_27.nss new file mode 100644 index 00000000..b01678ed --- /dev/null +++ b/_module/nss/mk_set_27.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(27); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_28.nss b/_module/nss/mk_set_28.nss new file mode 100644 index 00000000..242a2dd6 --- /dev/null +++ b/_module/nss/mk_set_28.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(28); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_29.nss b/_module/nss/mk_set_29.nss new file mode 100644 index 00000000..a89a7750 --- /dev/null +++ b/_module/nss/mk_set_29.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(29); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_30.nss b/_module/nss/mk_set_30.nss new file mode 100644 index 00000000..1aec6b6c --- /dev/null +++ b/_module/nss/mk_set_30.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(30); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_31.nss b/_module/nss/mk_set_31.nss new file mode 100644 index 00000000..58006cc2 --- /dev/null +++ b/_module/nss/mk_set_31.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(31); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_32.nss b/_module/nss/mk_set_32.nss new file mode 100644 index 00000000..db7125ae --- /dev/null +++ b/_module/nss/mk_set_32.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(32); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_33.nss b/_module/nss/mk_set_33.nss new file mode 100644 index 00000000..6f8c6826 --- /dev/null +++ b/_module/nss/mk_set_33.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(33); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_34.nss b/_module/nss/mk_set_34.nss new file mode 100644 index 00000000..7b0ef4b2 --- /dev/null +++ b/_module/nss/mk_set_34.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(34); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_35.nss b/_module/nss/mk_set_35.nss new file mode 100644 index 00000000..38cdd51b --- /dev/null +++ b/_module/nss/mk_set_35.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(35); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_36.nss b/_module/nss/mk_set_36.nss new file mode 100644 index 00000000..cb89a903 --- /dev/null +++ b/_module/nss/mk_set_36.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(36); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_37.nss b/_module/nss/mk_set_37.nss new file mode 100644 index 00000000..d86dc1a8 --- /dev/null +++ b/_module/nss/mk_set_37.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(37); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_38.nss b/_module/nss/mk_set_38.nss new file mode 100644 index 00000000..740e0d35 --- /dev/null +++ b/_module/nss/mk_set_38.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(38); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_39.nss b/_module/nss/mk_set_39.nss new file mode 100644 index 00000000..c949fb01 --- /dev/null +++ b/_module/nss/mk_set_39.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(39); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_40.nss b/_module/nss/mk_set_40.nss new file mode 100644 index 00000000..a3fe8b2c --- /dev/null +++ b/_module/nss/mk_set_40.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(40); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", 23); +} diff --git a/_module/nss/mk_set_invalid.nss b/_module/nss/mk_set_invalid.nss new file mode 100644 index 00000000..ab8c579e --- /dev/null +++ b/_module/nss/mk_set_invalid.nss @@ -0,0 +1,7 @@ +#include "mk_inc_generic" + +void main() +{ + MK_GenericDialog_SetAction(MK_GENERIC_DIALOG_INVALID_ACTION); +// SetLocalInt(OBJECT_SELF, "MK_ACTION", -1); +} diff --git a/_module/nss/mk_start_acp.nss b/_module/nss/mk_start_acp.nss new file mode 100644 index 00000000..dcecaa68 --- /dev/null +++ b/_module/nss/mk_start_acp.nss @@ -0,0 +1,11 @@ +#include "mk_inc_debug" +#include "mk_inc_craft" + +void main() +{ + object oPC = GetPCSpeaker(); + object oTarget = MK_GetCurrentTarget(oPC); + MK_DEBUG_TRACE("mk_start_acp: oPC='"+GetName(oPC)+"', oTarget='"+GetName(oTarget)+"'"); + + AssignCommand(oPC, ActionStartConversation(oTarget, "mk_acp", TRUE, FALSE)); +} diff --git a/_module/nss/nw_o0_death.nss b/_module/nss/nw_o0_death.nss index 37ad61f4..eb3bd05b 100644 --- a/_module/nss/nw_o0_death.nss +++ b/_module/nss/nw_o0_death.nss @@ -26,6 +26,28 @@ void ClearAllFactionMembers(object oMember, object oPlayer) oClear = GetNextFactionMember(oMember, FALSE); } } */ + +void onDeathApplyPenalty(object oDied) +{ + int nXP = GetXP(oDied); + int nPenalty = 50 * GetHitDice(oDied); + int nHD = GetHitDice(oDied); + // * You can not lose a level with this respawning + int nMin = ((nHD * (nHD - 1)) / 2) * 1000; + + int nNewXP = nXP - nPenalty; + if (nNewXP < nMin) + nNewXP = nMin; + if (nXP != nNewXP) + SetXP(oDied, nNewXP); + + int nGoldToTake = FloatToInt(0.10 * GetGold(oDied)); + // * a cap of 10 000gp taken from you + if (nGoldToTake > 10000) + nGoldToTake = 10000; + TakeGoldFromCreature(nGoldToTake, oDied, TRUE); +} + void Raise(object oPlayer) { effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION); @@ -70,7 +92,7 @@ void main() xPC = GetLastPlayerDying(); xLoc = GetLocation(xPC); //Create corpse at player's feet - xCorpse = CreateObject(OBJECT_TYPE_PLACEABLE,"corpse002",xLoc); +/* xCorpse = CreateObject(OBJECT_TYPE_PLACEABLE,"corpse002",xLoc); //Drop equipment on corpse for (xCount = 1; xCount < 15; xCount++) { @@ -98,7 +120,8 @@ void main() } //Now drop half of player's gold. xGold = (GetGold(xPC)/2); - AssignCommand(xItem,TakeGoldFromCreature(xGold,xPC,FALSE)); + AssignCommand(xItem,TakeGoldFromCreature(xGold,xPC,FALSE)); */ + onDeathApplyPenalty(xPC); //Now let's pop the death GUI DelayCommand(2.5, PopUpDeathGUIPanel(xPC,TRUE,TRUE)); diff --git a/_module/nss/nw_o0_death_ras.nss b/_module/nss/nw_o0_death_ras.nss index 52f3abef..1b59f26b 100644 --- a/_module/nss/nw_o0_death_ras.nss +++ b/_module/nss/nw_o0_death_ras.nss @@ -3,6 +3,29 @@ Script: Drop Items To Corpse Created By: Jaden Wagener Created On: 08/29/02 **********************************/ + +void onDeathApplyPenalty(object oDied) +{ + int nXP = GetXP(oDied); + int nPenalty = 50 * GetHitDice(oDied); + int nHD = GetHitDice(oDied); + // * You can not lose a level with this respawning + int nMin = ((nHD * (nHD - 1)) / 2) * 1000; + + int nNewXP = nXP - nPenalty; + if (nNewXP < nMin) + nNewXP = nMin; + if (nXP != nNewXP) + SetXP(oDied, nNewXP); + + int nGoldToTake = FloatToInt(0.10 * GetGold(oDied)); + // * a cap of 10 000gp taken from you + if (nGoldToTake > 10000) + nGoldToTake = 10000; + TakeGoldFromCreature(nGoldToTake, oDied, TRUE); +} + + //Drops all player's equipment and half of gold onto the corpse. //Combination of Diablo I and II death styles. //Script should be placed in module's OnDeath slot @@ -15,7 +38,7 @@ void main() //Get player and find locations xPC = GetLastPlayerDying(); xLoc = GetLocation(xPC); - //Create corpse at player's feet +/* //Create corpse at player's feet xCorpse = CreateObject(OBJECT_TYPE_PLACEABLE,"corpse002",xLoc); //Drop equipment on corpse for (xCount = 1; xCount < 15; xCount++) @@ -44,7 +67,9 @@ void main() } //Now drop half of player's gold. xGold = (GetGold(xPC)/2); - AssignCommand(xItem,TakeGoldFromCreature(xGold,xPC,FALSE)); + AssignCommand(xItem,TakeGoldFromCreature(xGold,xPC,FALSE)); */ + + onDeathApplyPenalty(xPC); //Now let's pop the death GUI DelayCommand(2.5, PopUpDeathGUIPanel(xPC,TRUE,TRUE)); } diff --git a/_module/nss/on_client_enter.nss b/_module/nss/on_client_enter.nss index 81ab770d..22a5fb96 100644 --- a/_module/nss/on_client_enter.nss +++ b/_module/nss/on_client_enter.nss @@ -34,7 +34,7 @@ void main() || (GetLevelByClass(CLASS_TYPE_TENEBROUS_APOSTATE, oPC) != 0)) { GiveDMFI(oPC, "hlslang_11"); - SendMessageToPC(oPC, "Abyssal language given."); + SendMessageToPC(oPC, "Abyssal language acquired."); } //:: Celestial @@ -53,7 +53,7 @@ void main() || (GetLevelByClass(CLASS_TYPE_SLAYER_OF_DOMIEL, oPC) != 0)) { GiveDMFI(oPC, "hlslang_10"); - SendMessageToPC(oPC, "Celestial language given."); + SendMessageToPC(oPC, "Celestial language acquired."); } //::Infernal @@ -71,7 +71,7 @@ void main() || (GetLevelByClass(CLASS_TYPE_DIABOLIST, oPC) != 0)) { GiveDMFI(oPC, "hlslang_12"); - SendMessageToPC(oPC, "Infernal language given."); + SendMessageToPC(oPC, "Infernal language acquired."); } //:: Animal @@ -79,7 +79,7 @@ void main() (GetLevelByClass(CLASS_TYPE_MONK, oPC) > 16) || (GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oPC) != 0)) { GiveDMFI(oPC, "hlslang_8"); - SendMessageToPC(oPC, "Animal language given."); + SendMessageToPC(oPC, "Animal language acquired."); } //:: Draconic @@ -90,35 +90,35 @@ void main() (GetLevelByClass(CLASS_TYPE_VASSAL, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_SWIFT_WING, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_TALON_OF_TIAMAT, oPC)!=0)) { GiveDMFI(oPC, "hlslang_7"); - SendMessageToPC(oPC, "Draconic language given."); + SendMessageToPC(oPC, "Draconic language acquired."); } //:: Drow if (GetRacialType(oPC) == RACIAL_TYPE_DROW_MALE || GetRacialType(oPC) == RACIAL_TYPE_DROW_FEMALE || GetRacialType(oPC) == RACIAL_TYPE_HALFDROW) { GiveDMFI(oPC, "hlslang_13"); - SendMessageToPC(oPC, "Drow language given."); + SendMessageToPC(oPC, "Drow language acquired."); } //:: Dwarven if (MyPRCGetRacialType(oPC) == RACIAL_TYPE_DWARF) { GiveDMFI(oPC, "hlslang_4"); - SendMessageToPC(oPC, "Dwarven language given."); + SendMessageToPC(oPC, "Dwarven language acquired."); } //:: Elven if ((MyPRCGetRacialType(oPC) == RACIAL_TYPE_ELF) || (MyPRCGetRacialType(oPC) == RACIAL_TYPE_HALFELF)) { GiveDMFI(oPC, "hlslang_1"); - SendMessageToPC(oPC, "Elven language given."); + SendMessageToPC(oPC, "Elven language acquired."); } //:: Gnome if (MyPRCGetRacialType(oPC) == RACIAL_TYPE_GNOME) { GiveDMFI(oPC, "hlslang_2"); - SendMessageToPC(oPC, "Gnomish language given."); + SendMessageToPC(oPC, "Gnomish language acquired."); } //:: Goblin @@ -127,14 +127,14 @@ void main() (GetRacialType(oPC) == RACIAL_TYPE_SUNSCORCH_HOBGOBLIN)) { GiveDMFI(oPC, "hlslang_6"); - SendMessageToPC(oPC, "Goblin language given."); + SendMessageToPC(oPC, "Goblin language acquired."); } //:: Halfling if (MyPRCGetRacialType(oPC) == RACIAL_TYPE_HALFLING) { GiveDMFI(oPC, "hlslang_3"); - SendMessageToPC(oPC, "Halfling language given."); + SendMessageToPC(oPC, "Halfling language acquired."); } //:: Orc @@ -142,7 +142,7 @@ void main() GetRacialType(oPC) == RACIAL_TYPE_GRAYORC || GetRacialType(oPC) == RACIAL_TYPE_ORC) { GiveDMFI(oPC, "hlslang_5"); - SendMessageToPC(oPC, "Orc language given."); + SendMessageToPC(oPC, "Orc language acquired."); } //:: Thieves' Cant @@ -153,13 +153,32 @@ void main() (GetLevelByClass(CLASS_TYPE_SHADOWDANCER, oPC)!=0)) { GiveDMFI(oPC, "hlslang_9"); - SendMessageToPC(oPC, "Thieves' language given."); + SendMessageToPC(oPC, "Thieves' Cant language acquired."); } - + +//:: New player setup if(GetIsPC(oPC)&& GetIsObjectValid(oPC)) { SirElrics_SimplePlayerSetUp(oPC); } + +//:: Give DMFI Wands if player doesn't have them + if ( GetItemPossessedBy(oPC, "dmfi_dicebag") == OBJECT_INVALID ) + { + DelayCommand(1.0, FloatingTextStringOnCreature("DMFI Dicebag acquired.", oPC)); + GiveDMFI(oPC, "dmfi_dicebag"); + } + if ( GetItemPossessedBy(oPC, "dmfi_emote") == OBJECT_INVALID ) + { + DelayCommand(1.0, FloatingTextStringOnCreature("DMFI Emote Wand acquired.", oPC)); + GiveDMFI(oPC, "dmfi_emote"); + } + if ( GetItemPossessedBy(oPC, "dmfi_naming") == OBJECT_INVALID ) + { + DelayCommand(1.0, FloatingTextStringOnCreature("DMFI Naming acquired.", oPC)); + GiveDMFI(oPC, "dmfi_naming"); + } + //Test to see if PC has a skill book.. if not, then create one. if (GetItemPossessedBy(oPC,"NoDrop_SkillLogBook")==OBJECT_INVALID) { diff --git a/_module/utm/mk_ccoh_store001.utm.json b/_module/utm/mk_ccoh_store001.utm.json new file mode 100644 index 00000000..a7fd1232 --- /dev/null +++ b/_module/utm/mk_ccoh_store001.utm.json @@ -0,0 +1,31285 @@ +{ + "__data_type": "UTM ", + "BlackMarket": { + "type": "byte", + "value": 1 + }, + "BM_MarkDown": { + "type": "int", + "value": 100 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "ID": { + "type": "byte", + "value": 5 + }, + "IdentifyPrice": { + "type": "int", + "value": 100 + }, + "LocName": { + "type": "cexolocstring", + "value": { + "0": "CCOH superstore 1" + } + }, + "MarkDown": { + "type": "int", + "value": 100 + }, + "MarkUp": { + "type": "int", + "value": 100 + }, + "MaxBuyPrice": { + "type": "int", + "value": -1 + }, + "OnOpenStore": { + "type": "resref", + "value": "" + }, + "OnStoreClosed": { + "type": "resref", + "value": "" + }, + "ResRef": { + "type": "resref", + "value": "mk_ccoh_store001" + }, + "StoreGold": { + "type": "int", + "value": -1 + }, + "StoreList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth027" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 1, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth011" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 2, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth017" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 3, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth015" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 4, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth021" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 5, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 6, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_cloth008" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 7, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth022" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 8, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth024" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 9, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth012" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 10, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mduerar010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 11, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth011" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 12, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth014" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 13, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_cloth005" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 14, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_sequencer2" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 15, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 16, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth020" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 17, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth016" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 18, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_sequencer3" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 19, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth014" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 20, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_cus_lastwords" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 21, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_cloth002" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 22, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth013" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 23, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mcloth005" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 24, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth012" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 25, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth016" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 26, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth026" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 27, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth018" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 28, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 29, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth028" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 30, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 31, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_it_pmrobe" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 32, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 33, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth007" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 34, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth007" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 35, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_cloth001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 36, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth008" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 37, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth010" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 38, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x1_mcloth001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 39, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x3_it_robeeyes" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 40, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 41, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth006" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 42, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_cloth003" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 43, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 44, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_cus_robe1" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 45, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth017" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 46, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth015" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 47, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth018" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 48, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth019" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 49, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth020" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 50, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth021" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 33 + } + }, + { + "__struct_id": 51, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth022" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 33 + } + }, + { + "__struct_id": 52, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mcloth001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 33 + } + }, + { + "__struct_id": 53, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mcloth002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 33 + } + }, + { + "__struct_id": 54, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 33 + } + }, + { + "__struct_id": 55, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_sequencer1" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 36 + } + }, + { + "__struct_id": 56, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_cus_shiftertu" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 36 + } + }, + { + "__struct_id": 57, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth019" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 36 + } + }, + { + "__struct_id": 58, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth008" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 36 + } + }, + { + "__struct_id": 59, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth013" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 36 + } + }, + { + "__struct_id": 60, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 40 + } + }, + { + "__struct_id": 61, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth023" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 40 + } + }, + { + "__struct_id": 62, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth006" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 40 + } + }, + { + "__struct_id": 63, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_cloth004" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 40 + } + }, + { + "__struct_id": 64, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth025" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 40 + } + }, + { + "__struct_id": 65, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 43 + } + }, + { + "__struct_id": 66, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth005" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 43 + } + }, + { + "__struct_id": 67, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 43 + } + }, + { + "__struct_id": 68, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_it_adaplate" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 43 + } + }, + { + "__struct_id": 69, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl021" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 43 + } + }, + { + "__struct_id": 70, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_cus_armoroffa" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 46 + } + }, + { + "__struct_id": 71, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl054" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 46 + } + }, + { + "__struct_id": 72, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl025" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 46 + } + }, + { + "__struct_id": 73, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_aarcl011" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 46 + } + }, + { + "__struct_id": 74, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl051" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 46 + } + }, + { + "__struct_id": 75, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl064" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 50 + } + }, + { + "__struct_id": 76, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl076" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 50 + } + }, + { + "__struct_id": 77, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl019" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 50 + } + }, + { + "__struct_id": 78, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl020" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 50 + } + }, + { + "__struct_id": 79, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl043" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 50 + } + }, + { + "__struct_id": 80, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl044" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 53 + } + }, + { + "__struct_id": 81, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x3_it_blackmail" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 53 + } + }, + { + "__struct_id": 82, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl028" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 53 + } + }, + { + "__struct_id": 83, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_c3_maarcl028" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 53 + } + }, + { + "__struct_id": 84, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_cus_casielsso" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 53 + } + }, + { + "__struct_id": 85, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl042" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 56 + } + }, + { + "__struct_id": 86, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl024" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 56 + } + }, + { + "__struct_id": 87, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar036" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 56 + } + }, + { + "__struct_id": 88, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar037" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 56 + } + }, + { + "__struct_id": 89, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar038" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 56 + } + }, + { + "__struct_id": 90, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar039" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 60 + } + }, + { + "__struct_id": 91, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar040" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 60 + } + }, + { + "__struct_id": 92, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar041" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 60 + } + }, + { + "__struct_id": 93, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar042" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 60 + } + }, + { + "__struct_id": 94, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar029" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 60 + } + }, + { + "__struct_id": 95, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar030" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 63 + } + }, + { + "__struct_id": 96, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar031" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 63 + } + }, + { + "__struct_id": 97, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar032" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 63 + } + }, + { + "__struct_id": 98, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar033" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 63 + } + }, + { + "__struct_id": 99, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar034" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 63 + } + }, + { + "__struct_id": 100, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar035" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 66 + } + }, + { + "__struct_id": 101, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mduerar001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 66 + } + }, + { + "__struct_id": 102, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mduerar002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 66 + } + }, + { + "__struct_id": 103, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mduerar003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 66 + } + }, + { + "__struct_id": 104, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl022" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 66 + } + }, + { + "__struct_id": 105, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl029" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 70 + } + }, + { + "__struct_id": 106, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_aarcl007" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 70 + } + }, + { + "__struct_id": 107, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl053" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 70 + } + }, + { + "__struct_id": 108, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl068" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 70 + } + }, + { + "__struct_id": 109, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl080" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 70 + } + }, + { + "__struct_id": 110, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl023" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 73 + } + }, + { + "__struct_id": 111, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl024" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 73 + } + }, + { + "__struct_id": 112, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_armor_002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 73 + } + }, + { + "__struct_id": 113, + "InventoryRes": { + "type": "resref", + "value": "x2_armor_004" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 73 + } + }, + { + "__struct_id": 114, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl047" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 73 + } + }, + { + "__struct_id": 115, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl048" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 76 + } + }, + { + "__struct_id": 116, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl026" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 76 + } + }, + { + "__struct_id": 117, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_aarcl006" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 76 + } + }, + { + "__struct_id": 118, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl052" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 76 + } + }, + { + "__struct_id": 119, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl069" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 76 + } + }, + { + "__struct_id": 120, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl081" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 80 + } + }, + { + "__struct_id": 121, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl021" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 80 + } + }, + { + "__struct_id": 122, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl022" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 80 + } + }, + { + "__struct_id": 123, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl045" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 80 + } + }, + { + "__struct_id": 124, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl046" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 80 + } + }, + { + "__struct_id": 125, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl036" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 83 + } + }, + { + "__struct_id": 126, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl041" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 83 + } + }, + { + "__struct_id": 127, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl020" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 83 + } + }, + { + "__struct_id": 128, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl027" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 83 + } + }, + { + "__struct_id": 129, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl059" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 83 + } + }, + { + "__struct_id": 130, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl062" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 86 + } + }, + { + "__struct_id": 131, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl063" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 86 + } + }, + { + "__struct_id": 132, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_aarcl005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 86 + } + }, + { + "__struct_id": 133, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl050" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 86 + } + }, + { + "__struct_id": 134, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl074" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 86 + } + }, + { + "__struct_id": 135, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl086" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 90 + } + }, + { + "__struct_id": 136, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl017" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 90 + } + }, + { + "__struct_id": 137, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl018" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 90 + } + }, + { + "__struct_id": 138, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl041" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 90 + } + }, + { + "__struct_id": 139, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl042" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 90 + } + }, + { + "__struct_id": 140, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl037" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 93 + } + }, + { + "__struct_id": 141, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_c3_maarcl037" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 93 + } + }, + { + "__struct_id": 142, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_cus_thegilded" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 93 + } + }, + { + "__struct_id": 143, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_cus_theironsk" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 93 + } + }, + { + "__struct_id": 144, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl018" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 93 + } + }, + { + "__struct_id": 145, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl060" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 96 + } + }, + { + "__struct_id": 146, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 96 + } + }, + { + "__struct_id": 147, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl011" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 96 + } + }, + { + "__struct_id": 148, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 96 + } + }, + { + "__struct_id": 149, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 96 + } + }, + { + "__struct_id": 150, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl013" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 100 + } + }, + { + "__struct_id": 151, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl006" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 100 + } + }, + { + "__struct_id": 152, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_mcloth005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 100 + } + }, + { + "__struct_id": 153, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl032" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 100 + } + }, + { + "__struct_id": 154, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_cus_bindingso" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 100 + } + }, + { + "__struct_id": 155, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 103 + } + }, + { + "__struct_id": 156, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl017" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 103 + } + }, + { + "__struct_id": 157, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl012" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 103 + } + }, + { + "__struct_id": 158, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_aarcl012" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 103 + } + }, + { + "__struct_id": 159, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl046" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 103 + } + }, + { + "__struct_id": 160, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl067" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 106 + } + }, + { + "__struct_id": 161, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl079" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 106 + } + }, + { + "__struct_id": 162, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl009" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 106 + } + }, + { + "__struct_id": 163, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl010" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 106 + } + }, + { + "__struct_id": 164, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl033" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 106 + } + }, + { + "__struct_id": 165, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl034" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 110 + } + }, + { + "__struct_id": 166, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_cus_dancerssi" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 110 + } + }, + { + "__struct_id": 167, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 110 + } + }, + { + "__struct_id": 168, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 110 + } + }, + { + "__struct_id": 169, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 110 + } + }, + { + "__struct_id": 170, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 113 + } + }, + { + "__struct_id": 171, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar005" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 113 + } + }, + { + "__struct_id": 172, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar006" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 113 + } + }, + { + "__struct_id": 173, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar007" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 113 + } + }, + { + "__struct_id": 174, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar008" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 113 + } + }, + { + "__struct_id": 175, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 116 + } + }, + { + "__struct_id": 176, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar010" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 116 + } + }, + { + "__struct_id": 177, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar011" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 116 + } + }, + { + "__struct_id": 178, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar012" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 116 + } + }, + { + "__struct_id": 179, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar013" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 116 + } + }, + { + "__struct_id": 180, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar014" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 120 + } + }, + { + "__struct_id": 181, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mduerar007" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 120 + } + }, + { + "__struct_id": 182, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mduerar008" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 120 + } + }, + { + "__struct_id": 183, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mduerar009" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 120 + } + }, + { + "__struct_id": 184, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_cus_fletchers" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 120 + } + }, + { + "__struct_id": 185, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl033" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 123 + } + }, + { + "__struct_id": 186, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl041" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 123 + } + }, + { + "__struct_id": 187, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_aarcl001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 123 + } + }, + { + "__struct_id": 188, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl044" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 123 + } + }, + { + "__struct_id": 189, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl071" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 123 + } + }, + { + "__struct_id": 190, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl083" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 126 + } + }, + { + "__struct_id": 191, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 126 + } + }, + { + "__struct_id": 192, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 126 + } + }, + { + "__struct_id": 193, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl027" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 126 + } + }, + { + "__struct_id": 194, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl028" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 126 + } + }, + { + "__struct_id": 195, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 130 + } + }, + { + "__struct_id": 196, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mithralsh" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 130 + } + }, + { + "__struct_id": 197, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_aarcl009" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 130 + } + }, + { + "__struct_id": 198, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl043" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 130 + } + }, + { + "__struct_id": 199, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl072" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 130 + } + }, + { + "__struct_id": 200, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl084" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 133 + } + }, + { + "__struct_id": 201, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 133 + } + }, + { + "__struct_id": 202, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 133 + } + }, + { + "__struct_id": 203, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl025" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 133 + } + }, + { + "__struct_id": 204, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl026" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 133 + } + }, + { + "__struct_id": 205, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl034" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 206, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl005" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 207, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x1_maarcl001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 208, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl008" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 209, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_it_novel003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 210, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_aarcl002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 140 + } + }, + { + "__struct_id": 211, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl045" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 140 + } + }, + { + "__struct_id": 212, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl075" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 140 + } + }, + { + "__struct_id": 213, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl087" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 140 + } + }, + { + "__struct_id": 214, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl005" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 140 + } + }, + { + "__struct_id": 215, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 143 + } + }, + { + "__struct_id": 216, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl029" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 143 + } + }, + { + "__struct_id": 217, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl030" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 143 + } + }, + { + "__struct_id": 218, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl007" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 143 + } + }, + { + "__struct_id": 219, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl040" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 143 + } + }, + { + "__struct_id": 220, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_it_adachain" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 146 + } + }, + { + "__struct_id": 221, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl014" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 146 + } + }, + { + "__struct_id": 222, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl016" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 146 + } + }, + { + "__struct_id": 223, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_aarcl010" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 146 + } + }, + { + "__struct_id": 224, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl049" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 146 + } + }, + { + "__struct_id": 225, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl065" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 150 + } + }, + { + "__struct_id": 226, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl077" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 150 + } + }, + { + "__struct_id": 227, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl015" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 150 + } + }, + { + "__struct_id": 228, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl016" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 150 + } + }, + { + "__struct_id": 229, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl039" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 150 + } + }, + { + "__struct_id": 230, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl040" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 153 + } + }, + { + "__struct_id": 231, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_aarcl004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 153 + } + }, + { + "__struct_id": 232, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl035" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 153 + } + }, + { + "__struct_id": 233, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl066" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 153 + } + }, + { + "__struct_id": 234, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl078" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 153 + } + }, + { + "__struct_id": 235, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl013" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 156 + } + }, + { + "__struct_id": 236, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl014" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 156 + } + }, + { + "__struct_id": 237, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl037" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 156 + } + }, + { + "__struct_id": 238, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl038" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 156 + } + }, + { + "__struct_id": 239, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl039" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 156 + } + }, + { + "__struct_id": 240, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl058" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 160 + } + }, + { + "__struct_id": 241, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl061" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 160 + } + }, + { + "__struct_id": 242, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl036" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 160 + } + }, + { + "__struct_id": 243, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl015" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 160 + } + }, + { + "__struct_id": 244, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar022" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 160 + } + }, + { + "__struct_id": 245, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar023" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 163 + } + }, + { + "__struct_id": 246, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar024" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 163 + } + }, + { + "__struct_id": 247, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar025" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 163 + } + }, + { + "__struct_id": 248, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar026" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 163 + } + }, + { + "__struct_id": 249, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar027" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 163 + } + }, + { + "__struct_id": 250, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar028" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 166 + } + }, + { + "__struct_id": 251, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar015" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 166 + } + }, + { + "__struct_id": 252, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar016" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 166 + } + }, + { + "__struct_id": 253, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar017" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 166 + } + }, + { + "__struct_id": 254, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar018" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 166 + } + }, + { + "__struct_id": 255, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar019" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 170 + } + }, + { + "__struct_id": 256, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar020" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 170 + } + }, + { + "__struct_id": 257, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mdrowar021" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 170 + } + }, + { + "__struct_id": 258, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mduerar004" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 170 + } + }, + { + "__struct_id": 259, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mduerar005" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 170 + } + }, + { + "__struct_id": 260, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl037" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 173 + } + }, + { + "__struct_id": 261, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_mduerar006" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 173 + } + }, + { + "__struct_id": 262, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_aarcl008" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 173 + } + }, + { + "__struct_id": 263, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl047" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 173 + } + }, + { + "__struct_id": 264, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl070" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 173 + } + }, + { + "__struct_id": 265, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl082" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 176 + } + }, + { + "__struct_id": 266, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl007" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 176 + } + }, + { + "__struct_id": 267, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl008" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 176 + } + }, + { + "__struct_id": 268, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl031" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 176 + } + }, + { + "__struct_id": 269, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl032" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 176 + } + }, + { + "__struct_id": 270, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 271, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl050" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 272, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mithralch" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 273, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_aarcl003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 274, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl048" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 275, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl073" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 183 + } + }, + { + "__struct_id": 276, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl085" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 183 + } + }, + { + "__struct_id": 277, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl011" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 183 + } + }, + { + "__struct_id": 278, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl012" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 183 + } + }, + { + "__struct_id": 279, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_armor_003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 183 + } + }, + { + "__struct_id": 280, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl035" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 186 + } + }, + { + "__struct_id": 281, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl036" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 186 + } + }, + { + "__struct_id": 282, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_armor_001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 186 + } + }, + { + "__struct_id": 283, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_maarcl049" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 186 + } + }, + { + "__struct_id": 284, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_cloth029" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 186 + } + }, + { + "__struct_id": 285, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_it_creitem146" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 190 + } + }, + { + "__struct_id": 286, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_it_creitem145" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 190 + } + }, + { + "__struct_id": 287, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_c3_creitem147" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 190 + } + }, + { + "__struct_id": 288, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_it_creitem147" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 190 + } + }, + { + "__struct_id": 289, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_it_creitem148" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 190 + } + }, + { + "__struct_id": 290, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x3_it_pdlarm" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 193 + } + }, + { + "__struct_id": 291, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x3_it_pdmail" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 193 + } + }, + { + "__struct_id": 292, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x3_it_pdshield" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 193 + } + }, + { + "__struct_id": 293, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_it_creitem149" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 193 + } + }, + { + "__struct_id": 294, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_it_creitem144" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 193 + } + }, + { + "__struct_id": 295, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_it_creitem142" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 196 + } + }, + { + "__struct_id": 296, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_it_creitem143" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 196 + } + }, + { + "__struct_id": 297, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_djinni_robe" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 196 + } + }, + { + "__struct_id": 298, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_it_adahelm" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 196 + } + }, + { + "__struct_id": 299, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe014" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 197 + } + }, + { + "__struct_id": 300, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe015" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 198 + } + }, + { + "__struct_id": 301, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_helm_004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 200 + } + }, + { + "__struct_id": 302, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_ardrowhe001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 200 + } + }, + { + "__struct_id": 303, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_arduerhe001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 200 + } + }, + { + "__struct_id": 304, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 200 + } + }, + { + "__struct_id": 305, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 200 + } + }, + { + "__struct_id": 306, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 202 + } + }, + { + "__struct_id": 307, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe005" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 202 + } + }, + { + "__struct_id": 308, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_it_arhelm03" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 202 + } + }, + { + "__struct_id": 309, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe007" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 202 + } + }, + { + "__struct_id": 310, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe008" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 202 + } + }, + { + "__struct_id": 311, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_armhe010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 204 + } + }, + { + "__struct_id": 312, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_armhe012" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 204 + } + }, + { + "__struct_id": 313, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe009" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 204 + } + }, + { + "__struct_id": 314, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe010" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 204 + } + }, + { + "__struct_id": 315, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe011" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 204 + } + }, + { + "__struct_id": 316, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe016" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 206 + } + }, + { + "__struct_id": 317, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe012" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 206 + } + }, + { + "__struct_id": 318, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe017" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 206 + } + }, + { + "__struct_id": 319, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_armhe001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 206 + } + }, + { + "__struct_id": 320, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_arhe004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 206 + } + }, + { + "__struct_id": 321, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_helm_001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 208 + } + }, + { + "__struct_id": 322, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe002" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 208 + } + }, + { + "__struct_id": 323, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe013" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 208 + } + }, + { + "__struct_id": 324, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_armhe011" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 208 + } + }, + { + "__struct_id": 325, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_armhe002" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 208 + } + }, + { + "__struct_id": 326, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_armhe001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 210 + } + }, + { + "__struct_id": 327, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_it_novel004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 210 + } + }, + { + "__struct_id": 328, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_it_arhelm01" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 210 + } + }, + { + "__struct_id": 329, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_helm_003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 210 + } + }, + { + "__struct_id": 330, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_arhe001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 210 + } + }, + { + "__struct_id": 331, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x3_it_pdhelmet" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 212 + } + }, + { + "__struct_id": 332, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_armhe008" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 212 + } + }, + { + "__struct_id": 333, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_arhe002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 212 + } + }, + { + "__struct_id": 334, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_arhe005" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 212 + } + }, + { + "__struct_id": 335, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_armhe009" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 212 + } + }, + { + "__struct_id": 336, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_helm_002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 214 + } + }, + { + "__struct_id": 337, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_armhe007" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 214 + } + }, + { + "__struct_id": 338, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_armhe006" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 214 + } + }, + { + "__struct_id": 339, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_arhe003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 214 + } + }, + { + "__struct_id": 340, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_ashmlw006" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 214 + } + }, + { + "__struct_id": 341, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmlw006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 216 + } + }, + { + "__struct_id": 342, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_adrowshl001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 216 + } + }, + { + "__struct_id": 343, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_adrowshl002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 216 + } + }, + { + "__struct_id": 344, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_adrowshl003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 216 + } + }, + { + "__struct_id": 345, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_it_iwoodshldl" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 217 + } + }, + { + "__struct_id": 346, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_ashmlw003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 220 + } + }, + { + "__struct_id": 347, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashlw001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 220 + } + }, + { + "__struct_id": 348, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmlw002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 220 + } + }, + { + "__struct_id": 349, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmlw008" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 220 + } + }, + { + "__struct_id": 350, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmlw009" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 220 + } + }, + { + "__struct_id": 351, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_ashmlw001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 223 + } + }, + { + "__struct_id": 352, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_ashmlw002" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 223 + } + }, + { + "__struct_id": 353, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_ashmlw003" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 223 + } + }, + { + "__struct_id": 354, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_ashmlw004" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 223 + } + }, + { + "__struct_id": 355, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmlw005" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 223 + } + }, + { + "__struct_id": 356, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_ashmlw005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 226 + } + }, + { + "__struct_id": 357, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmlw003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 226 + } + }, + { + "__struct_id": 358, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmlw004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 226 + } + }, + { + "__struct_id": 359, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmlw007" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 226 + } + }, + { + "__struct_id": 360, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmsw005" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 226 + } + }, + { + "__struct_id": 361, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmsw004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 228 + } + }, + { + "__struct_id": 362, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_it_ironwshlds" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 230 + } + }, + { + "__struct_id": 363, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmsw007" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 230 + } + }, + { + "__struct_id": 364, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmsw003" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 230 + } + }, + { + "__struct_id": 365, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmsw010" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 230 + } + }, + { + "__struct_id": 366, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmsw011" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 230 + } + }, + { + "__struct_id": 367, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmsw006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 232 + } + }, + { + "__struct_id": 368, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_smchaosshield" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 232 + } + }, + { + "__struct_id": 369, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashsw001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 232 + } + }, + { + "__struct_id": 370, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmsw002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 232 + } + }, + { + "__struct_id": 371, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmsw008" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 232 + } + }, + { + "__struct_id": 372, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmsw009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 234 + } + }, + { + "__struct_id": 373, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_ashmsw001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 234 + } + }, + { + "__struct_id": 374, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_ashmsw002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 234 + } + }, + { + "__struct_id": 375, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_ashmsw003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 234 + } + }, + { + "__struct_id": 376, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_ashmsw004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 234 + } + }, + { + "__struct_id": 377, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_ashmto005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 236 + } + }, + { + "__struct_id": 378, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmto007" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 236 + } + }, + { + "__struct_id": 379, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmto005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 236 + } + }, + { + "__struct_id": 380, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmto010" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 236 + } + }, + { + "__struct_id": 381, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmto011" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 236 + } + }, + { + "__struct_id": 382, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmto006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 240 + } + }, + { + "__struct_id": 383, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmto003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 240 + } + }, + { + "__struct_id": 384, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_it_ironwshldt" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 240 + } + }, + { + "__struct_id": 385, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmto004" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 240 + } + }, + { + "__struct_id": 386, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashto001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 240 + } + }, + { + "__struct_id": 387, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmto002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 244 + } + }, + { + "__struct_id": 388, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmto008" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 244 + } + }, + { + "__struct_id": 389, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "nw_ashmto009" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 244 + } + }, + { + "__struct_id": 390, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_ashmto001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 244 + } + }, + { + "__struct_id": 391, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x0_ashmto002" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 244 + } + }, + { + "__struct_id": 392, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_ashmto003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 250 + } + }, + { + "__struct_id": 393, + "Infinite": { + "type": "byte", + "value": 1 + }, + "InventoryRes": { + "type": "resref", + "value": "x2_ashmto004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 250 + } + }, + { + "__struct_id": 394, + "InventoryRes": { + "type": "resref", + "value": "x3_it_emeraldsh" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 250 + } + }, + { + "__struct_id": 395, + "InventoryRes": { + "type": "resref", + "value": "x3_it_rubysh" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 250 + } + }, + { + "__struct_id": 396, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt011" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 397, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt018" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 398, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbelt008" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 399, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt019" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 400, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt020" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 401, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt021" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 402, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbelt003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 403, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbelt004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 404, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbelt005" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 405, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbelt006" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 406, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbelt007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 407, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbelt001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 408, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt008" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 409, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt007" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 410, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt016" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 411, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 39 + } + }, + { + "__struct_id": 412, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt006" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 39 + } + }, + { + "__struct_id": 413, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mbelt002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 39 + } + }, + { + "__struct_id": 414, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbelt002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 39 + } + }, + { + "__struct_id": 415, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt010" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 39 + } + }, + { + "__struct_id": 416, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 49 + } + }, + { + "__struct_id": 417, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 49 + } + }, + { + "__struct_id": 418, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 49 + } + }, + { + "__struct_id": 419, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt014" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 49 + } + }, + { + "__struct_id": 420, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt017" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 49 + } + }, + { + "__struct_id": 421, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt013" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 59 + } + }, + { + "__struct_id": 422, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt012" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 59 + } + }, + { + "__struct_id": 423, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mbelt006" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 59 + } + }, + { + "__struct_id": 424, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mbelt004" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 59 + } + }, + { + "__struct_id": 425, + "InventoryRes": { + "type": "resref", + "value": "x2_belt_001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 59 + } + }, + { + "__struct_id": 426, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt015" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 69 + } + }, + { + "__struct_id": 427, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mbelt001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 69 + } + }, + { + "__struct_id": 428, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mbelt007" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 69 + } + }, + { + "__struct_id": 429, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt005" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 69 + } + }, + { + "__struct_id": 430, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mbelt003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 69 + } + }, + { + "__struct_id": 431, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mbelt008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 79 + } + }, + { + "__struct_id": 432, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbelt009" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 79 + } + }, + { + "__struct_id": 433, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 248 + } + }, + { + "__struct_id": 434, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots015" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 248 + } + }, + { + "__struct_id": 435, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots016" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 248 + } + }, + { + "__struct_id": 436, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots017" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 248 + } + }, + { + "__struct_id": 437, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots010" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 248 + } + }, + { + "__struct_id": 438, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mboots005" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 250 + } + }, + { + "__struct_id": 439, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots011" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 252 + } + }, + { + "__struct_id": 440, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots012" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 254 + } + }, + { + "__struct_id": 441, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots013" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 254 + } + }, + { + "__struct_id": 442, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mboots001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 254 + } + }, + { + "__struct_id": 443, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots014" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 254 + } + }, + { + "__struct_id": 444, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mboots002" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 254 + } + }, + { + "__struct_id": 445, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mboots003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 446, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mboots004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 447, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 448, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 449, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mboots010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 450, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 451, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 452, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 453, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 454, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mboots006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 455, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mboots007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 456, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mboots008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 457, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mboots009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 458, + "InventoryRes": { + "type": "resref", + "value": "x1_it_mboots001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 459, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots018" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 460, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots019" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 461, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots020" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 462, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots021" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 463, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots022" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 464, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mboots001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 465, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mboots003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 466, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 467, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mboots004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 468, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mboots004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 469, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mboots002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 470, + "InventoryRes": { + "type": "resref", + "value": "x2_nash_boot" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 471, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbracer002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 79 + } + }, + { + "__struct_id": 472, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mbracer001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 79 + } + }, + { + "__struct_id": 473, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbracer005" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 79 + } + }, + { + "__struct_id": 474, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbracer007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 89 + } + }, + { + "__struct_id": 475, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbracer008" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 89 + } + }, + { + "__struct_id": 476, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbracer009" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 89 + } + }, + { + "__struct_id": 477, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbracer010" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 89 + } + }, + { + "__struct_id": 478, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbracer001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 89 + } + }, + { + "__struct_id": 479, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbracer002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 480, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbracer003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 481, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbracer004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 482, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbracer001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 483, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbracer010" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 484, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbracer003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 109 + } + }, + { + "__struct_id": 485, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbracer004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 109 + } + }, + { + "__struct_id": 486, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbracer005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 109 + } + }, + { + "__struct_id": 487, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbracer006" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 109 + } + }, + { + "__struct_id": 488, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbracer006" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 109 + } + }, + { + "__struct_id": 489, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbracer007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 119 + } + }, + { + "__struct_id": 490, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbracer008" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 119 + } + }, + { + "__struct_id": 491, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mbracer009" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 119 + } + }, + { + "__struct_id": 492, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbracer011" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 119 + } + }, + { + "__struct_id": 493, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mbracer002" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 119 + } + }, + { + "__struct_id": 494, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl038" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 495, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl039" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 496, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl030" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 497, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl040" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 498, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl032" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 499, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl057" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 500, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mcloak002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 501, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl104" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 502, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl105" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 503, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl106" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 504, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mcloak004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 505, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mcloak005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 506, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl033" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 507, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl056" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 508, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl055" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 509, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl088" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 510, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl089" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 511, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl090" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 512, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl091" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 513, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mcloak006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 514, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mcloak007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 515, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl098" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 516, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl097" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 517, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl096" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 518, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl099" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 519, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl025" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 520, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl026" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 521, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl027" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 522, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl028" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 523, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl029" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 524, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl031" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 525, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mcloak001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 526, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl030" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 527, + "InventoryRes": { + "type": "resref", + "value": "x2_it_drowcl001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 528, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl102" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 529, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl101" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 530, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl100" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 531, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl103" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 532, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl034" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 533, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mcloak003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 534, + "InventoryRes": { + "type": "resref", + "value": "x2_nash_cloak" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 535, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl031" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 536, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl092" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 537, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl093" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 538, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl094" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 539, + "InventoryRes": { + "type": "resref", + "value": "nw_maarcl095" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 540, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mcloak008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 541, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mcloak009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 542, + "InventoryRes": { + "type": "resref", + "value": "x1_it_mcloak001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 543, + "InventoryRes": { + "type": "resref", + "value": "x0_maarcl035" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 544, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove016" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 129 + } + }, + { + "__struct_id": 545, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove017" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 129 + } + }, + { + "__struct_id": 546, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove018" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 129 + } + }, + { + "__struct_id": 547, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove020" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 129 + } + }, + { + "__struct_id": 548, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove021" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 129 + } + }, + { + "__struct_id": 549, + "InventoryRes": { + "type": "resref", + "value": "x2_glove_bal" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 139 + } + }, + { + "__struct_id": 550, + "InventoryRes": { + "type": "resref", + "value": "x1_it_mglove001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 139 + } + }, + { + "__struct_id": 551, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mglove005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 139 + } + }, + { + "__struct_id": 552, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbracer013" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 139 + } + }, + { + "__struct_id": 553, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove006" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 139 + } + }, + { + "__struct_id": 554, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mglove001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 149 + } + }, + { + "__struct_id": 555, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 149 + } + }, + { + "__struct_id": 556, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove008" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 149 + } + }, + { + "__struct_id": 557, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mglove006" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 149 + } + }, + { + "__struct_id": 558, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove007" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 149 + } + }, + { + "__struct_id": 559, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 159 + } + }, + { + "__struct_id": 560, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mglove003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 159 + } + }, + { + "__struct_id": 561, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mglove007" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 159 + } + }, + { + "__struct_id": 562, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove016" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 159 + } + }, + { + "__struct_id": 563, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove005" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 159 + } + }, + { + "__struct_id": 564, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove017" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 169 + } + }, + { + "__struct_id": 565, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove018" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 169 + } + }, + { + "__struct_id": 566, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove019" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 169 + } + }, + { + "__struct_id": 567, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove020" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 169 + } + }, + { + "__struct_id": 568, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 169 + } + }, + { + "__struct_id": 569, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 179 + } + }, + { + "__struct_id": 570, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 179 + } + }, + { + "__struct_id": 571, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 179 + } + }, + { + "__struct_id": 572, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove021" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 179 + } + }, + { + "__struct_id": 573, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove010" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 179 + } + }, + { + "__struct_id": 574, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove022" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 189 + } + }, + { + "__struct_id": 575, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove023" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 189 + } + }, + { + "__struct_id": 576, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove024" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 189 + } + }, + { + "__struct_id": 577, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove025" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 189 + } + }, + { + "__struct_id": 578, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove006" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 189 + } + }, + { + "__struct_id": 579, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 199 + } + }, + { + "__struct_id": 580, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove008" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 199 + } + }, + { + "__struct_id": 581, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove009" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 199 + } + }, + { + "__struct_id": 582, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove005" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 199 + } + }, + { + "__struct_id": 583, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 219 + } + }, + { + "__struct_id": 584, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove026" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 219 + } + }, + { + "__struct_id": 585, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove015" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 219 + } + }, + { + "__struct_id": 586, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove027" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 219 + } + }, + { + "__struct_id": 587, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove029" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 229 + } + }, + { + "__struct_id": 588, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove030" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 229 + } + }, + { + "__struct_id": 589, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove011" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 229 + } + }, + { + "__struct_id": 590, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove012" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 229 + } + }, + { + "__struct_id": 591, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove013" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 592, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove014" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 593, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mglove022" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 594, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove012" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 595, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 596, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mglove002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 597, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove013" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 598, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove015" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 599, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mglove004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 600, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove011" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 601, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mbracer012" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 602, + "InventoryRes": { + "type": "resref", + "value": "x2_nash_glove" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 603, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mglove001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 604, + "InventoryRes": { + "type": "resref", + "value": "x0_misc_fists" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + } + ] + } + }, + { + "__struct_id": 4, + "ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "InventoryRes": { + "type": "resref", + "value": "x2_it_crewmazera" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 1, + "InventoryRes": { + "type": "resref", + "value": "x2_it_crewpwh001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 2, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewbs001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 3, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewsw001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 4, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_bodxl1" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 5, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_bodxl2" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 6, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_bodxl3" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 7, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_bodxl4" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 8, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewls005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 9, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_daelb1" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 10, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_daelb2" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 11, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_daelb3" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 12, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_daelb4" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 13, + "InventoryRes": { + "type": "resref", + "value": "x3_it_diamondsw" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 14, + "InventoryRes": { + "type": "resref", + "value": "x2_it_wplmss011" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 15, + "InventoryRes": { + "type": "resref", + "value": "x2_it_wplmss012" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 16, + "InventoryRes": { + "type": "resref", + "value": "x2_wdrowfl001" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 17, + "InventoryRes": { + "type": "resref", + "value": "x2_wdrowfl002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 18, + "InventoryRes": { + "type": "resref", + "value": "x2_wdrowfl003" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 19, + "InventoryRes": { + "type": "resref", + "value": "x2_wdrowls001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 20, + "InventoryRes": { + "type": "resref", + "value": "x2_wdrowls002" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 21, + "InventoryRes": { + "type": "resref", + "value": "x2_wdrowls003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 22, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewss001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 23, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewss002" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 24, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewss003" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 25, + "InventoryRes": { + "type": "resref", + "value": "x2_wdrowls004" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 26, + "InventoryRes": { + "type": "resref", + "value": "x2_wduerbta001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 27, + "InventoryRes": { + "type": "resref", + "value": "x2_wduerbta002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 28, + "InventoryRes": { + "type": "resref", + "value": "x2_wduergra001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 29, + "InventoryRes": { + "type": "resref", + "value": "x2_wduergra002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 30, + "InventoryRes": { + "type": "resref", + "value": "x2_wduergra003" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 31, + "InventoryRes": { + "type": "resref", + "value": "x2_wduersc001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 32, + "InventoryRes": { + "type": "resref", + "value": "x2_wduersc002" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 33, + "InventoryRes": { + "type": "resref", + "value": "x2_wduersc003" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 34, + "InventoryRes": { + "type": "resref", + "value": "x3_it_emeraldwh" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 35, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewcl003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 36, + "InventoryRes": { + "type": "resref", + "value": "x2_it_crewpfxbow" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 37, + "InventoryRes": { + "type": "resref", + "value": "x2_it_frzdrowbld" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 38, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewgs005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 39, + "InventoryRes": { + "type": "resref", + "value": "x2_it_crewpkobs2" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 40, + "InventoryRes": { + "type": "resref", + "value": "x2_it_crewpkobsw" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 41, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_linxl1" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 42, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_linxl2" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 43, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_linxl3" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 44, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_linxl4" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 45, + "InventoryRes": { + "type": "resref", + "value": "x0_manti_spikes" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 46, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewgx003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 47, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewgx002" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 48, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewcl002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 25 + } + }, + { + "__struct_id": 49, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewcl001" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 25 + } + }, + { + "__struct_id": 50, + "InventoryRes": { + "type": "resref", + "value": "x2_it_crewprakxb" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 51, + "InventoryRes": { + "type": "resref", + "value": "x2_it_crewpvscyt" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 52, + "InventoryRes": { + "type": "resref", + "value": "x3_it_rubywh" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 53, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_shasb1" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 54, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_shasb2" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 55, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_shasb3" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 56, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_shasb4" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 57, + "InventoryRes": { + "type": "resref", + "value": "x2_it_crewgs001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 58, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewls006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 33 + } + }, + { + "__struct_id": 59, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewgs006" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 33 + } + }, + { + "__struct_id": 60, + "InventoryRes": { + "type": "resref", + "value": "nw_it_crewsw002" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 33 + } + }, + { + "__struct_id": 61, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_galsb1" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 33 + } + }, + { + "__struct_id": 62, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_galsb2" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 35 + } + }, + { + "__struct_id": 63, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_galsb3" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 36 + } + }, + { + "__struct_id": 64, + "InventoryRes": { + "type": "resref", + "value": "nw_hen_galsb4" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 40 + } + }, + { + "__struct_id": 65, + "InventoryRes": { + "type": "resref", + "value": "nw_wammar003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 66, + "InventoryRes": { + "type": "resref", + "value": "nw_wamar001" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 67, + "InventoryRes": { + "type": "resref", + "value": "nw_wammar009" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 68, + "InventoryRes": { + "type": "resref", + "value": "nw_wammar010" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 69, + "InventoryRes": { + "type": "resref", + "value": "nw_wammar011" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 33 + } + }, + { + "__struct_id": 70, + "InventoryRes": { + "type": "resref", + "value": "x2_wammar012" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 35 + } + }, + { + "__struct_id": 71, + "InventoryRes": { + "type": "resref", + "value": "x2_wammar013" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 37 + } + }, + { + "__struct_id": 72, + "InventoryRes": { + "type": "resref", + "value": "nw_wammar001" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 37 + } + }, + { + "__struct_id": 73, + "InventoryRes": { + "type": "resref", + "value": "x2_wammar001" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 38 + } + }, + { + "__struct_id": 74, + "InventoryRes": { + "type": "resref", + "value": "nw_wammar002" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 38 + } + }, + { + "__struct_id": 75, + "InventoryRes": { + "type": "resref", + "value": "nw_wammar005" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 38 + } + }, + { + "__struct_id": 76, + "InventoryRes": { + "type": "resref", + "value": "nw_wammar006" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 38 + } + }, + { + "__struct_id": 77, + "InventoryRes": { + "type": "resref", + "value": "nw_wammar007" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 38 + } + }, + { + "__struct_id": 78, + "InventoryRes": { + "type": "resref", + "value": "nw_wammar004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 38 + } + }, + { + "__struct_id": 79, + "InventoryRes": { + "type": "resref", + "value": "nw_wammar008" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 40 + } + }, + { + "__struct_id": 80, + "InventoryRes": { + "type": "resref", + "value": "nw_wambo001" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 40 + } + }, + { + "__struct_id": 81, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbo008" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 40 + } + }, + { + "__struct_id": 82, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbo009" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 40 + } + }, + { + "__struct_id": 83, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbo010" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 40 + } + }, + { + "__struct_id": 84, + "InventoryRes": { + "type": "resref", + "value": "x2_wammbo011" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 40 + } + }, + { + "__struct_id": 85, + "InventoryRes": { + "type": "resref", + "value": "x2_wammbo012" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 40 + } + }, + { + "__struct_id": 86, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbo005" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 40 + } + }, + { + "__struct_id": 87, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbo001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 88, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbo002" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 89, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbo004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 90, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbo006" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 91, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbo003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 92, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbo007" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 93, + "InventoryRes": { + "type": "resref", + "value": "x2_wammbo001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 94, + "InventoryRes": { + "type": "resref", + "value": "nw_wambu001" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 95, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbu008" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 96, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbu009" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 97, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbu010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 98, + "InventoryRes": { + "type": "resref", + "value": "x2_wammbu009" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 99, + "InventoryRes": { + "type": "resref", + "value": "x2_wammbu010" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 100, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbu004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 39 + } + }, + { + "__struct_id": 101, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbu002" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 39 + } + }, + { + "__struct_id": 102, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbu003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 39 + } + }, + { + "__struct_id": 103, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbu005" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 39 + } + }, + { + "__struct_id": 104, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbu001" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 42 + } + }, + { + "__struct_id": 105, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbu006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 43 + } + }, + { + "__struct_id": 106, + "InventoryRes": { + "type": "resref", + "value": "nw_wammbu007" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 43 + } + }, + { + "__struct_id": 107, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmgr004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 44 + } + }, + { + "__struct_id": 108, + "InventoryRes": { + "type": "resref", + "value": "x2_it_minoaxe" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 44 + } + }, + { + "__struct_id": 109, + "InventoryRes": { + "type": "resref", + "value": "nw_waxgr001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 44 + } + }, + { + "__struct_id": 110, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmgr002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 44 + } + }, + { + "__struct_id": 111, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmgr009" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 44 + } + }, + { + "__struct_id": 112, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmgr011" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 50 + } + }, + { + "__struct_id": 113, + "InventoryRes": { + "type": "resref", + "value": "x0_waxmgr001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 50 + } + }, + { + "__struct_id": 114, + "InventoryRes": { + "type": "resref", + "value": "x0_waxmgr002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 50 + } + }, + { + "__struct_id": 115, + "InventoryRes": { + "type": "resref", + "value": "x2_waxmgr003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 50 + } + }, + { + "__struct_id": 116, + "InventoryRes": { + "type": "resref", + "value": "x2_waxmgr004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 50 + } + }, + { + "__struct_id": 117, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmgr006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 54 + } + }, + { + "__struct_id": 118, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmgr003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 54 + } + }, + { + "__struct_id": 119, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmgr005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 54 + } + }, + { + "__struct_id": 120, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmgr008" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 54 + } + }, + { + "__struct_id": 121, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmgr010" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 54 + } + }, + { + "__struct_id": 122, + "InventoryRes": { + "type": "resref", + "value": "x2_waxmgr005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 60 + } + }, + { + "__struct_id": 123, + "InventoryRes": { + "type": "resref", + "value": "x1_waxmgr001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 60 + } + }, + { + "__struct_id": 124, + "InventoryRes": { + "type": "resref", + "value": "x2_wmdwraxe009" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 60 + } + }, + { + "__struct_id": 125, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmhn005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 48 + } + }, + { + "__struct_id": 126, + "InventoryRes": { + "type": "resref", + "value": "x2_wdwraxe001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 60 + } + }, + { + "__struct_id": 127, + "InventoryRes": { + "type": "resref", + "value": "x2_wmdwraxe002" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 60 + } + }, + { + "__struct_id": 128, + "InventoryRes": { + "type": "resref", + "value": "x2_wmdwraxe003" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 63 + } + }, + { + "__struct_id": 129, + "InventoryRes": { + "type": "resref", + "value": "x2_wmdwraxe004" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 63 + } + }, + { + "__struct_id": 130, + "InventoryRes": { + "type": "resref", + "value": "x2_wmdwraxe005" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 63 + } + }, + { + "__struct_id": 131, + "InventoryRes": { + "type": "resref", + "value": "x2_wmdwraxe006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 64 + } + }, + { + "__struct_id": 132, + "InventoryRes": { + "type": "resref", + "value": "x2_wmdwraxe007" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 64 + } + }, + { + "__struct_id": 133, + "InventoryRes": { + "type": "resref", + "value": "x2_wmdwraxe008" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 66 + } + }, + { + "__struct_id": 134, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmhn003" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 48 + } + }, + { + "__struct_id": 135, + "InventoryRes": { + "type": "resref", + "value": "nw_waxhn001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 48 + } + }, + { + "__struct_id": 136, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmhn002" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 48 + } + }, + { + "__struct_id": 137, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmhn010" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 48 + } + }, + { + "__struct_id": 138, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmhn011" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 48 + } + }, + { + "__struct_id": 139, + "InventoryRes": { + "type": "resref", + "value": "x0_waxmhn001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 48 + } + }, + { + "__struct_id": 140, + "InventoryRes": { + "type": "resref", + "value": "x0_waxmhn002" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 48 + } + }, + { + "__struct_id": 141, + "InventoryRes": { + "type": "resref", + "value": "x2_waxmhn003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 48 + } + }, + { + "__struct_id": 142, + "InventoryRes": { + "type": "resref", + "value": "x2_waxmhn004" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 48 + } + }, + { + "__struct_id": 143, + "InventoryRes": { + "type": "resref", + "value": "x2_wmdwraxe010" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 66 + } + }, + { + "__struct_id": 144, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmhn008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 58 + } + }, + { + "__struct_id": 145, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmhn009" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 58 + } + }, + { + "__struct_id": 146, + "InventoryRes": { + "type": "resref", + "value": "x2_waxmhn005" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 58 + } + }, + { + "__struct_id": 147, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmhn006" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 58 + } + }, + { + "__struct_id": 148, + "InventoryRes": { + "type": "resref", + "value": "x2_wmdwraxe011" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 66 + } + }, + { + "__struct_id": 149, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmhn004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 58 + } + }, + { + "__struct_id": 150, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmbt003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 67 + } + }, + { + "__struct_id": 151, + "InventoryRes": { + "type": "resref", + "value": "nw_waxbt001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 67 + } + }, + { + "__struct_id": 152, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmbt002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 70 + } + }, + { + "__struct_id": 153, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmbt010" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 70 + } + }, + { + "__struct_id": 154, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmbt011" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 70 + } + }, + { + "__struct_id": 155, + "InventoryRes": { + "type": "resref", + "value": "x0_waxmbt001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 70 + } + }, + { + "__struct_id": 156, + "InventoryRes": { + "type": "resref", + "value": "x0_waxmbt002" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 70 + } + }, + { + "__struct_id": 157, + "InventoryRes": { + "type": "resref", + "value": "x2_waxmbt003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 73 + } + }, + { + "__struct_id": 158, + "InventoryRes": { + "type": "resref", + "value": "x2_waxmbt004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 73 + } + }, + { + "__struct_id": 159, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmbt005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 73 + } + }, + { + "__struct_id": 160, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmbt006" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 73 + } + }, + { + "__struct_id": 161, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmbt004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 73 + } + }, + { + "__struct_id": 162, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmbt008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 76 + } + }, + { + "__struct_id": 163, + "InventoryRes": { + "type": "resref", + "value": "nw_waxmbt009" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 76 + } + }, + { + "__struct_id": 164, + "InventoryRes": { + "type": "resref", + "value": "x2_waxmbt005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 76 + } + }, + { + "__struct_id": 165, + "InventoryRes": { + "type": "resref", + "value": "nw_it_novel006" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 76 + } + }, + { + "__struct_id": 166, + "InventoryRes": { + "type": "resref", + "value": "nw_wswbs001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 76 + } + }, + { + "__struct_id": 167, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmbs002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 80 + } + }, + { + "__struct_id": 168, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmbs009" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 80 + } + }, + { + "__struct_id": 169, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmbs010" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 80 + } + }, + { + "__struct_id": 170, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmbs001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 80 + } + }, + { + "__struct_id": 171, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmbs002" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 80 + } + }, + { + "__struct_id": 172, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmbs003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 84 + } + }, + { + "__struct_id": 173, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmbs004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 84 + } + }, + { + "__struct_id": 174, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmbs004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 84 + } + }, + { + "__struct_id": 175, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmbs005" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 84 + } + }, + { + "__struct_id": 176, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmbs007" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 84 + } + }, + { + "__struct_id": 177, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmbs006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 90 + } + }, + { + "__struct_id": 178, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmbs005" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 90 + } + }, + { + "__struct_id": 179, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmbs003" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 90 + } + }, + { + "__struct_id": 180, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmbs006" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 90 + } + }, + { + "__struct_id": 181, + "InventoryRes": { + "type": "resref", + "value": "x2_c3_wswmbs006" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 90 + } + }, + { + "__struct_id": 182, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmdg003" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 43 + } + }, + { + "__struct_id": 183, + "InventoryRes": { + "type": "resref", + "value": "nw_wswdg001" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 58 + } + }, + { + "__struct_id": 184, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmdg002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 58 + } + }, + { + "__struct_id": 185, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmdg008" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 58 + } + }, + { + "__struct_id": 186, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmdg009" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 58 + } + }, + { + "__struct_id": 187, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmdg001" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 58 + } + }, + { + "__struct_id": 188, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmdg002" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 59 + } + }, + { + "__struct_id": 189, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmdg003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 59 + } + }, + { + "__struct_id": 190, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmdg004" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 59 + } + }, + { + "__struct_id": 191, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmdg004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 59 + } + }, + { + "__struct_id": 192, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmdg005" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 59 + } + }, + { + "__struct_id": 193, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmdg005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 69 + } + }, + { + "__struct_id": 194, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmdg007" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 69 + } + }, + { + "__struct_id": 195, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmdg006" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 69 + } + }, + { + "__struct_id": 196, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmdg006" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 69 + } + }, + { + "__struct_id": 197, + "InventoryRes": { + "type": "resref", + "value": "x1_wswmdg001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 69 + } + }, + { + "__struct_id": 198, + "InventoryRes": { + "type": "resref", + "value": "x2_it_wpblkblade" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 94 + } + }, + { + "__struct_id": 199, + "InventoryRes": { + "type": "resref", + "value": "x1_wswmgs001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 94 + } + }, + { + "__struct_id": 200, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmgs004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 94 + } + }, + { + "__struct_id": 201, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmgs003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 94 + } + }, + { + "__struct_id": 202, + "InventoryRes": { + "type": "resref", + "value": "nw_wswgs001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 94 + } + }, + { + "__struct_id": 203, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmgs002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 100 + } + }, + { + "__struct_id": 204, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmgs011" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 100 + } + }, + { + "__struct_id": 205, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmgs001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 100 + } + }, + { + "__struct_id": 206, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmgs002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 100 + } + }, + { + "__struct_id": 207, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmgs004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 100 + } + }, + { + "__struct_id": 208, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmgs003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 105 + } + }, + { + "__struct_id": 209, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmgs009" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 105 + } + }, + { + "__struct_id": 210, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmgs010" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 105 + } + }, + { + "__struct_id": 211, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmgs005" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 105 + } + }, + { + "__struct_id": 212, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmgs005" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 105 + } + }, + { + "__struct_id": 213, + "InventoryRes": { + "type": "resref", + "value": "nw_it_novel009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 110 + } + }, + { + "__struct_id": 214, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmgs006" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 110 + } + }, + { + "__struct_id": 215, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmls005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 110 + } + }, + { + "__struct_id": 216, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmls005" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 110 + } + }, + { + "__struct_id": 217, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmls009" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 110 + } + }, + { + "__struct_id": 218, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmls011" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 110 + } + }, + { + "__struct_id": 219, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmls006" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 110 + } + }, + { + "__struct_id": 220, + "InventoryRes": { + "type": "resref", + "value": "nw_it_novel007" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 110 + } + }, + { + "__struct_id": 221, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmls006" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 114 + } + }, + { + "__struct_id": 222, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmls007" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 114 + } + }, + { + "__struct_id": 223, + "InventoryRes": { + "type": "resref", + "value": "x3_it_coldironb" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 114 + } + }, + { + "__struct_id": 224, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmls007" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 114 + } + }, + { + "__struct_id": 225, + "InventoryRes": { + "type": "resref", + "value": "nw_wswls001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 114 + } + }, + { + "__struct_id": 226, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmls002" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 114 + } + }, + { + "__struct_id": 227, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmls010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 115 + } + }, + { + "__struct_id": 228, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmls012" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 115 + } + }, + { + "__struct_id": 229, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmls001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 115 + } + }, + { + "__struct_id": 230, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmls002" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 115 + } + }, + { + "__struct_id": 231, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmls003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 120 + } + }, + { + "__struct_id": 232, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmls004" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 120 + } + }, + { + "__struct_id": 233, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmls004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 120 + } + }, + { + "__struct_id": 234, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmrp004" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 120 + } + }, + { + "__struct_id": 235, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmka007" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 120 + } + }, + { + "__struct_id": 236, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmrp006" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 120 + } + }, + { + "__struct_id": 237, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmsc008" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 120 + } + }, + { + "__struct_id": 238, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmsc009" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 120 + } + }, + { + "__struct_id": 239, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmsc005" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 120 + } + }, + { + "__struct_id": 240, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmka004" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 123 + } + }, + { + "__struct_id": 241, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmka005" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 123 + } + }, + { + "__struct_id": 242, + "InventoryRes": { + "type": "resref", + "value": "nw_wswka001" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 123 + } + }, + { + "__struct_id": 243, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmka002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 124 + } + }, + { + "__struct_id": 244, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmka011" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 126 + } + }, + { + "__struct_id": 245, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmka010" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 126 + } + }, + { + "__struct_id": 246, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmka001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 126 + } + }, + { + "__struct_id": 247, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmka002" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 126 + } + }, + { + "__struct_id": 248, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmka003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 127 + } + }, + { + "__struct_id": 249, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmka004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 130 + } + }, + { + "__struct_id": 250, + "InventoryRes": { + "type": "resref", + "value": "x2_it_cremumkat" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 130 + } + }, + { + "__struct_id": 251, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmka006" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 130 + } + }, + { + "__struct_id": 252, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmsc006" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 123 + } + }, + { + "__struct_id": 253, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmrp005" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 130 + } + }, + { + "__struct_id": 254, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmrp008" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 130 + } + }, + { + "__struct_id": 255, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmrp009" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 130 + } + }, + { + "__struct_id": 256, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmrp005" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 130 + } + }, + { + "__struct_id": 257, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmka006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 133 + } + }, + { + "__struct_id": 258, + "InventoryRes": { + "type": "resref", + "value": "nw_wswrp001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 133 + } + }, + { + "__struct_id": 259, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmrp002" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 133 + } + }, + { + "__struct_id": 260, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmrp011" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 133 + } + }, + { + "__struct_id": 261, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmrp001" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 133 + } + }, + { + "__struct_id": 262, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmrp002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 133 + } + }, + { + "__struct_id": 263, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmrp003" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 133 + } + }, + { + "__struct_id": 264, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmrp004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 133 + } + }, + { + "__struct_id": 265, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmrp007" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 133 + } + }, + { + "__struct_id": 266, + "InventoryRes": { + "type": "resref", + "value": "nw_wswsc001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 267, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmsc002" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 268, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmsc010" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 269, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmsc011" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 270, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmsc001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 271, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmsc002" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 272, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmsc003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 273, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmsc004" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 274, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmsc005" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 275, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmsc004" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 136 + } + }, + { + "__struct_id": 276, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmka008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 140 + } + }, + { + "__struct_id": 277, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmka009" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 140 + } + }, + { + "__struct_id": 278, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmka005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 140 + } + }, + { + "__struct_id": 279, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmsc007" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 140 + } + }, + { + "__struct_id": 280, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmss005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 88 + } + }, + { + "__struct_id": 281, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmss008" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 88 + } + }, + { + "__struct_id": 282, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmss010" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 88 + } + }, + { + "__struct_id": 283, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmss005" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 88 + } + }, + { + "__struct_id": 284, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmss004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 88 + } + }, + { + "__struct_id": 285, + "InventoryRes": { + "type": "resref", + "value": "x2_it_crewmmuice" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 88 + } + }, + { + "__struct_id": 286, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmss006" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 88 + } + }, + { + "__struct_id": 287, + "InventoryRes": { + "type": "resref", + "value": "nw_wswss001" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 88 + } + }, + { + "__struct_id": 288, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmss002" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 88 + } + }, + { + "__struct_id": 289, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmss009" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 88 + } + }, + { + "__struct_id": 290, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmss011" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 118 + } + }, + { + "__struct_id": 291, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmss001" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 118 + } + }, + { + "__struct_id": 292, + "InventoryRes": { + "type": "resref", + "value": "x0_wswmss002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 118 + } + }, + { + "__struct_id": 293, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmss003" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 118 + } + }, + { + "__struct_id": 294, + "InventoryRes": { + "type": "resref", + "value": "x2_wswmss004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 118 + } + }, + { + "__struct_id": 295, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmss003" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 118 + } + }, + { + "__struct_id": 296, + "InventoryRes": { + "type": "resref", + "value": "nw_wswmss006" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 124 + } + }, + { + "__struct_id": 297, + "InventoryRes": { + "type": "resref", + "value": "x1_wswmls001" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 140 + } + }, + { + "__struct_id": 298, + "InventoryRes": { + "type": "resref", + "value": "nw_wblcl001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 140 + } + }, + { + "__struct_id": 299, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmcl002" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 140 + } + }, + { + "__struct_id": 300, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmcl010" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 142 + } + }, + { + "__struct_id": 301, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmcl011" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 143 + } + }, + { + "__struct_id": 302, + "InventoryRes": { + "type": "resref", + "value": "x0_wblmcl001" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 143 + } + }, + { + "__struct_id": 303, + "InventoryRes": { + "type": "resref", + "value": "x0_wblmcl002" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 143 + } + }, + { + "__struct_id": 304, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmcl003" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 143 + } + }, + { + "__struct_id": 305, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmcl004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 143 + } + }, + { + "__struct_id": 306, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmcl012" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 143 + } + }, + { + "__struct_id": 307, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmcl008" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 143 + } + }, + { + "__struct_id": 308, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmcl009" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 143 + } + }, + { + "__struct_id": 309, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmcl005" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 143 + } + }, + { + "__struct_id": 310, + "InventoryRes": { + "type": "resref", + "value": "x2_it_iwoodclub" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 145 + } + }, + { + "__struct_id": 311, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmcl005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 146 + } + }, + { + "__struct_id": 312, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmcl006" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 146 + } + }, + { + "__struct_id": 313, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmcl003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 146 + } + }, + { + "__struct_id": 314, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmcl004" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 146 + } + }, + { + "__struct_id": 315, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfh004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 146 + } + }, + { + "__struct_id": 316, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfl007" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 146 + } + }, + { + "__struct_id": 317, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfl006" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 146 + } + }, + { + "__struct_id": 318, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfh003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 150 + } + }, + { + "__struct_id": 319, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfh005" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 150 + } + }, + { + "__struct_id": 320, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfl008" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 146 + } + }, + { + "__struct_id": 321, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfl009" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 150 + } + }, + { + "__struct_id": 322, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmfl005" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 150 + } + }, + { + "__struct_id": 323, + "InventoryRes": { + "type": "resref", + "value": "nw_wblfh001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 150 + } + }, + { + "__struct_id": 324, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfh002" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 150 + } + }, + { + "__struct_id": 325, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfh010" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 153 + } + }, + { + "__struct_id": 326, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfh011" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 154 + } + }, + { + "__struct_id": 327, + "InventoryRes": { + "type": "resref", + "value": "x0_wblmfh001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 154 + } + }, + { + "__struct_id": 328, + "InventoryRes": { + "type": "resref", + "value": "x0_wblmfh002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 154 + } + }, + { + "__struct_id": 329, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmfh003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 154 + } + }, + { + "__struct_id": 330, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmfh004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 160 + } + }, + { + "__struct_id": 331, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfl005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 157 + } + }, + { + "__struct_id": 332, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfh006" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 160 + } + }, + { + "__struct_id": 333, + "InventoryRes": { + "type": "resref", + "value": "nw_wblfl001" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 157 + } + }, + { + "__struct_id": 334, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfl002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 160 + } + }, + { + "__struct_id": 335, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfl010" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 160 + } + }, + { + "__struct_id": 336, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfl011" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 160 + } + }, + { + "__struct_id": 337, + "InventoryRes": { + "type": "resref", + "value": "x0_wblmfl001" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 160 + } + }, + { + "__struct_id": 338, + "InventoryRes": { + "type": "resref", + "value": "x0_wblmfl002" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 160 + } + }, + { + "__struct_id": 339, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmfl003" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 160 + } + }, + { + "__struct_id": 340, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmfl004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 163 + } + }, + { + "__struct_id": 341, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmfl004" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 163 + } + }, + { + "__struct_id": 342, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfh008" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 163 + } + }, + { + "__struct_id": 343, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfh009" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 163 + } + }, + { + "__struct_id": 344, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmfh005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 164 + } + }, + { + "__struct_id": 345, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmfl004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 164 + } + }, + { + "__struct_id": 346, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhl004" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 148 + } + }, + { + "__struct_id": 347, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmhw006" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 166 + } + }, + { + "__struct_id": 348, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhl006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 158 + } + }, + { + "__struct_id": 349, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhl003" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 158 + } + }, + { + "__struct_id": 350, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhl005" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 158 + } + }, + { + "__struct_id": 351, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhw006" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 167 + } + }, + { + "__struct_id": 352, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhw003" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 167 + } + }, + { + "__struct_id": 353, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhw004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 170 + } + }, + { + "__struct_id": 354, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmhl006" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 158 + } + }, + { + "__struct_id": 355, + "InventoryRes": { + "type": "resref", + "value": "nw_wblhl001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 158 + } + }, + { + "__struct_id": 356, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhl002" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 158 + } + }, + { + "__struct_id": 357, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhl010" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 158 + } + }, + { + "__struct_id": 358, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhl011" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 158 + } + }, + { + "__struct_id": 359, + "InventoryRes": { + "type": "resref", + "value": "x0_wblmhl001" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 164 + } + }, + { + "__struct_id": 360, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmhl003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 167 + } + }, + { + "__struct_id": 361, + "InventoryRes": { + "type": "resref", + "value": "x0_wblmhl002" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 167 + } + }, + { + "__struct_id": 362, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmhl004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 168 + } + }, + { + "__struct_id": 363, + "InventoryRes": { + "type": "resref", + "value": "nw_c3_wblmhw005" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 170 + } + }, + { + "__struct_id": 364, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhw005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 170 + } + }, + { + "__struct_id": 365, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhw009" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 170 + } + }, + { + "__struct_id": 366, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhw010" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 170 + } + }, + { + "__struct_id": 367, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmhw005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 173 + } + }, + { + "__struct_id": 368, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhl008" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 168 + } + }, + { + "__struct_id": 369, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhl009" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 173 + } + }, + { + "__struct_id": 370, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmhl005" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 173 + } + }, + { + "__struct_id": 371, + "InventoryRes": { + "type": "resref", + "value": "nw_wblhw001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 173 + } + }, + { + "__struct_id": 372, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhw002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 173 + } + }, + { + "__struct_id": 373, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhw011" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 173 + } + }, + { + "__struct_id": 374, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmhw012" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 175 + } + }, + { + "__struct_id": 375, + "InventoryRes": { + "type": "resref", + "value": "x0_wblmhw001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 176 + } + }, + { + "__struct_id": 376, + "InventoryRes": { + "type": "resref", + "value": "x0_wblmhw002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 176 + } + }, + { + "__struct_id": 377, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmhw003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 176 + } + }, + { + "__struct_id": 378, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmhw004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 176 + } + }, + { + "__struct_id": 379, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmml006" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 178 + } + }, + { + "__struct_id": 380, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmml004" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 178 + } + }, + { + "__struct_id": 381, + "InventoryRes": { + "type": "resref", + "value": "x1_wblmml001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 382, + "InventoryRes": { + "type": "resref", + "value": "nw_wblml001" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 383, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmml002" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 384, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmml011" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 385, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmml012" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 386, + "InventoryRes": { + "type": "resref", + "value": "x0_wblmml001" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 387, + "InventoryRes": { + "type": "resref", + "value": "x0_wblmml002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 388, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmml003" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 389, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmml004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 390, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmml009" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 180 + } + }, + { + "__struct_id": 391, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmml010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 182 + } + }, + { + "__struct_id": 392, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmml005" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 182 + } + }, + { + "__struct_id": 393, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmml007" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 182 + } + }, + { + "__struct_id": 394, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmml005" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 182 + } + }, + { + "__struct_id": 395, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmml008" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 182 + } + }, + { + "__struct_id": 396, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmms003" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 182 + } + }, + { + "__struct_id": 397, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmms006" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 182 + } + }, + { + "__struct_id": 398, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmms008" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 182 + } + }, + { + "__struct_id": 399, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmms009" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 182 + } + }, + { + "__struct_id": 400, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmms005" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 182 + } + }, + { + "__struct_id": 401, + "InventoryRes": { + "type": "resref", + "value": "nw_wblms001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 184 + } + }, + { + "__struct_id": 402, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmms002" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 184 + } + }, + { + "__struct_id": 403, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmms010" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 184 + } + }, + { + "__struct_id": 404, + "InventoryRes": { + "type": "resref", + "value": "x0_wblmms001" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 184 + } + }, + { + "__struct_id": 405, + "InventoryRes": { + "type": "resref", + "value": "x0_wblmms002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 184 + } + }, + { + "__struct_id": 406, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmms003" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 185 + } + }, + { + "__struct_id": 407, + "InventoryRes": { + "type": "resref", + "value": "x2_wblmms004" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 185 + } + }, + { + "__struct_id": 408, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmms007" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 185 + } + }, + { + "__struct_id": 409, + "InventoryRes": { + "type": "resref", + "value": "nw_wblmms004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 185 + } + }, + { + "__struct_id": 410, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmqs003" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 185 + } + }, + { + "__struct_id": 411, + "InventoryRes": { + "type": "resref", + "value": "x2_wdbmqs005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 190 + } + }, + { + "__struct_id": 412, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmma004" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 190 + } + }, + { + "__struct_id": 413, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmax006" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 190 + } + }, + { + "__struct_id": 414, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmax008" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 190 + } + }, + { + "__struct_id": 415, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmax009" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 190 + } + }, + { + "__struct_id": 416, + "InventoryRes": { + "type": "resref", + "value": "x2_wdbmax005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 194 + } + }, + { + "__struct_id": 417, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmqs006" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 190 + } + }, + { + "__struct_id": 418, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmsw007" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 194 + } + }, + { + "__struct_id": 419, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmsw005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 194 + } + }, + { + "__struct_id": 420, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmax007" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 194 + } + }, + { + "__struct_id": 421, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmax005" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 194 + } + }, + { + "__struct_id": 422, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbma001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 200 + } + }, + { + "__struct_id": 423, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmma002" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 200 + } + }, + { + "__struct_id": 424, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmma010" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 200 + } + }, + { + "__struct_id": 425, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmma011" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 200 + } + }, + { + "__struct_id": 426, + "InventoryRes": { + "type": "resref", + "value": "x0_wdbmma001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 200 + } + }, + { + "__struct_id": 427, + "InventoryRes": { + "type": "resref", + "value": "x0_wdbmma002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 204 + } + }, + { + "__struct_id": 428, + "InventoryRes": { + "type": "resref", + "value": "x2_wdbmma003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 204 + } + }, + { + "__struct_id": 429, + "InventoryRes": { + "type": "resref", + "value": "x2_wdbmma004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 204 + } + }, + { + "__struct_id": 430, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbax001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 204 + } + }, + { + "__struct_id": 431, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmax002" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 204 + } + }, + { + "__struct_id": 432, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmax010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 210 + } + }, + { + "__struct_id": 433, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmax011" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 210 + } + }, + { + "__struct_id": 434, + "InventoryRes": { + "type": "resref", + "value": "x0_wdbmax001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 210 + } + }, + { + "__struct_id": 435, + "InventoryRes": { + "type": "resref", + "value": "x0_wdbmax002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 210 + } + }, + { + "__struct_id": 436, + "InventoryRes": { + "type": "resref", + "value": "x2_wdbmax003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 210 + } + }, + { + "__struct_id": 437, + "InventoryRes": { + "type": "resref", + "value": "x2_wdbmax004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 214 + } + }, + { + "__struct_id": 438, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmma006" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 214 + } + }, + { + "__struct_id": 439, + "InventoryRes": { + "type": "resref", + "value": "x2_wdbmqs006" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 214 + } + }, + { + "__struct_id": 440, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmma008" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 214 + } + }, + { + "__struct_id": 441, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmma009" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 214 + } + }, + { + "__struct_id": 442, + "InventoryRes": { + "type": "resref", + "value": "x2_wdbmma005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 220 + } + }, + { + "__struct_id": 443, + "InventoryRes": { + "type": "resref", + "value": "x2_it_iwoodstaff" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 214 + } + }, + { + "__struct_id": 444, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmma003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 220 + } + }, + { + "__struct_id": 445, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmqs004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 220 + } + }, + { + "__struct_id": 446, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbqs001" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 220 + } + }, + { + "__struct_id": 447, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmqs002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 220 + } + }, + { + "__struct_id": 448, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmqs008" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 220 + } + }, + { + "__struct_id": 449, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmqs009" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 220 + } + }, + { + "__struct_id": 450, + "InventoryRes": { + "type": "resref", + "value": "x0_wdbmqs001" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 220 + } + }, + { + "__struct_id": 451, + "InventoryRes": { + "type": "resref", + "value": "x0_wdbmqs002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 224 + } + }, + { + "__struct_id": 452, + "InventoryRes": { + "type": "resref", + "value": "x2_wdbmqs003" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 224 + } + }, + { + "__struct_id": 453, + "InventoryRes": { + "type": "resref", + "value": "x2_wdbmqs004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 224 + } + }, + { + "__struct_id": 454, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmax004" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 224 + } + }, + { + "__struct_id": 455, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmqs007" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 224 + } + }, + { + "__struct_id": 456, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmqs005" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 224 + } + }, + { + "__struct_id": 457, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmma005" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 224 + } + }, + { + "__struct_id": 458, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmsw006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 230 + } + }, + { + "__struct_id": 459, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmsw004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 230 + } + }, + { + "__struct_id": 460, + "InventoryRes": { + "type": "resref", + "value": "x2_wdbmqs007" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 224 + } + }, + { + "__struct_id": 461, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbsw001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 230 + } + }, + { + "__struct_id": 462, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmsw002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 230 + } + }, + { + "__struct_id": 463, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmsw010" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 230 + } + }, + { + "__struct_id": 464, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmsw011" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 235 + } + }, + { + "__struct_id": 465, + "InventoryRes": { + "type": "resref", + "value": "x0_wdbmsw001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 235 + } + }, + { + "__struct_id": 466, + "InventoryRes": { + "type": "resref", + "value": "x0_wdbmsw002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 235 + } + }, + { + "__struct_id": 467, + "InventoryRes": { + "type": "resref", + "value": "x2_wdbmsw003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 235 + } + }, + { + "__struct_id": 468, + "InventoryRes": { + "type": "resref", + "value": "x2_wdbmsw004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 235 + } + }, + { + "__struct_id": 469, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmsw008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 240 + } + }, + { + "__struct_id": 470, + "InventoryRes": { + "type": "resref", + "value": "nw_wdbmsw009" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 240 + } + }, + { + "__struct_id": 471, + "InventoryRes": { + "type": "resref", + "value": "x2_wdbmsw005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 240 + } + }, + { + "__struct_id": 472, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmsc004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 187 + } + }, + { + "__struct_id": 473, + "InventoryRes": { + "type": "resref", + "value": "x2_c3_wspmsc004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 187 + } + }, + { + "__struct_id": 474, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmsc003" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 188 + } + }, + { + "__struct_id": 475, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmku005" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 188 + } + }, + { + "__struct_id": 476, + "InventoryRes": { + "type": "resref", + "value": "x2_wspmku005" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 188 + } + }, + { + "__struct_id": 477, + "InventoryRes": { + "type": "resref", + "value": "x2_whip_black" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 198 + } + }, + { + "__struct_id": 478, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmka006" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 198 + } + }, + { + "__struct_id": 479, + "InventoryRes": { + "type": "resref", + "value": "x2_it_crewpwhip2" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 198 + } + }, + { + "__struct_id": 480, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmsc008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 208 + } + }, + { + "__struct_id": 481, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmsc009" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 208 + } + }, + { + "__struct_id": 482, + "InventoryRes": { + "type": "resref", + "value": "x2_wspmsc005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 208 + } + }, + { + "__struct_id": 483, + "InventoryRes": { + "type": "resref", + "value": "x2_it_wpmwhip_h" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 208 + } + }, + { + "__struct_id": 484, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmka004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 208 + } + }, + { + "__struct_id": 485, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmka007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 218 + } + }, + { + "__struct_id": 486, + "InventoryRes": { + "type": "resref", + "value": "x2_wspmka005" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 218 + } + }, + { + "__struct_id": 487, + "InventoryRes": { + "type": "resref", + "value": "nw_wspka001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 218 + } + }, + { + "__struct_id": 488, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmka002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 218 + } + }, + { + "__struct_id": 489, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmka008" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 218 + } + }, + { + "__struct_id": 490, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmka009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 228 + } + }, + { + "__struct_id": 491, + "InventoryRes": { + "type": "resref", + "value": "x0_wspmka001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 228 + } + }, + { + "__struct_id": 492, + "InventoryRes": { + "type": "resref", + "value": "x0_wspmka002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 228 + } + }, + { + "__struct_id": 493, + "InventoryRes": { + "type": "resref", + "value": "x2_wspmka003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 228 + } + }, + { + "__struct_id": 494, + "InventoryRes": { + "type": "resref", + "value": "x2_wspmka004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 228 + } + }, + { + "__struct_id": 495, + "InventoryRes": { + "type": "resref", + "value": "nw_wspku001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 188 + } + }, + { + "__struct_id": 496, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmku002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 240 + } + }, + { + "__struct_id": 497, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmku008" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 240 + } + }, + { + "__struct_id": 498, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmku009" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 240 + } + }, + { + "__struct_id": 499, + "InventoryRes": { + "type": "resref", + "value": "x0_wspmku001" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 240 + } + }, + { + "__struct_id": 500, + "InventoryRes": { + "type": "resref", + "value": "x0_wspmku002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 242 + } + }, + { + "__struct_id": 501, + "InventoryRes": { + "type": "resref", + "value": "x2_wspmku003" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 242 + } + }, + { + "__struct_id": 502, + "InventoryRes": { + "type": "resref", + "value": "x2_wspmku004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 242 + } + }, + { + "__struct_id": 503, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmku003" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 242 + } + }, + { + "__struct_id": 504, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmku007" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 244 + } + }, + { + "__struct_id": 505, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmku004" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 244 + } + }, + { + "__struct_id": 506, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmka005" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 244 + } + }, + { + "__struct_id": 507, + "InventoryRes": { + "type": "resref", + "value": "x2_sic_renewal" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 245 + } + }, + { + "__struct_id": 508, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmku006" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 245 + } + }, + { + "__struct_id": 509, + "InventoryRes": { + "type": "resref", + "value": "x2_it_crewpwhip" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 245 + } + }, + { + "__struct_id": 510, + "InventoryRes": { + "type": "resref", + "value": "nw_wspsc001" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 246 + } + }, + { + "__struct_id": 511, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmsc002" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 246 + } + }, + { + "__struct_id": 512, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmsc010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 247 + } + }, + { + "__struct_id": 513, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmsc011" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 247 + } + }, + { + "__struct_id": 514, + "InventoryRes": { + "type": "resref", + "value": "x0_wspmsc001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 248 + } + }, + { + "__struct_id": 515, + "InventoryRes": { + "type": "resref", + "value": "x0_wspmsc002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 248 + } + }, + { + "__struct_id": 516, + "InventoryRes": { + "type": "resref", + "value": "x2_wspmsc003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 248 + } + }, + { + "__struct_id": 517, + "InventoryRes": { + "type": "resref", + "value": "x2_wspmsc004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 250 + } + }, + { + "__struct_id": 518, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmsc005" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 250 + } + }, + { + "__struct_id": 519, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmsc006" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 250 + } + }, + { + "__struct_id": 520, + "InventoryRes": { + "type": "resref", + "value": "x2_kuk_storm" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 246 + } + }, + { + "__struct_id": 521, + "InventoryRes": { + "type": "resref", + "value": "nw_wspmka003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 250 + } + }, + { + "__struct_id": 522, + "InventoryRes": { + "type": "resref", + "value": "x2_it_wpwhip" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 250 + } + }, + { + "__struct_id": 523, + "InventoryRes": { + "type": "resref", + "value": "x2_it_wpmwhip1" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 252 + } + }, + { + "__struct_id": 524, + "InventoryRes": { + "type": "resref", + "value": "x2_it_wpmwhip2" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 252 + } + }, + { + "__struct_id": 525, + "InventoryRes": { + "type": "resref", + "value": "x2_it_wpmwhip3" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 252 + } + }, + { + "__struct_id": 526, + "InventoryRes": { + "type": "resref", + "value": "x2_it_wpmwhip4" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 252 + } + }, + { + "__struct_id": 527, + "InventoryRes": { + "type": "resref", + "value": "x2_it_wpmwhip5" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 252 + } + }, + { + "__struct_id": 528, + "InventoryRes": { + "type": "resref", + "value": "x2_it_wpmwhip6" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 254 + } + }, + { + "__struct_id": 529, + "InventoryRes": { + "type": "resref", + "value": "x2_it_wpmwhip7" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 254 + } + }, + { + "__struct_id": 530, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmhb003" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 254 + } + }, + { + "__struct_id": 531, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmss005" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 254 + } + }, + { + "__struct_id": 532, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmss007" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 254 + } + }, + { + "__struct_id": 533, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmsc004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 254 + } + }, + { + "__struct_id": 534, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmhb006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 535, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmss008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 536, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmss009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 537, + "InventoryRes": { + "type": "resref", + "value": "x2_wplmss005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 538, + "InventoryRes": { + "type": "resref", + "value": "nw_wplhb001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 539, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmhb002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 540, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmhb010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 541, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmhb011" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 542, + "InventoryRes": { + "type": "resref", + "value": "x0_wplmhb001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 543, + "InventoryRes": { + "type": "resref", + "value": "x0_wplmhb002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 544, + "InventoryRes": { + "type": "resref", + "value": "x2_wplmhb003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 545, + "InventoryRes": { + "type": "resref", + "value": "x2_wplmhb004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 546, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmss004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 547, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmsc005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 548, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmsc003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 549, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmhb008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 550, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmhb009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 551, + "InventoryRes": { + "type": "resref", + "value": "x2_wplmhb005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 552, + "InventoryRes": { + "type": "resref", + "value": "nw_wplsc001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 553, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmsc002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 554, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmsc010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 555, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmsc011" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 556, + "InventoryRes": { + "type": "resref", + "value": "x0_wplmsc001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 557, + "InventoryRes": { + "type": "resref", + "value": "x0_wplmsc002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 558, + "InventoryRes": { + "type": "resref", + "value": "x2_wplmsc003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 559, + "InventoryRes": { + "type": "resref", + "value": "x2_wplmsc004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 560, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmsc008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 561, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmsc009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 562, + "InventoryRes": { + "type": "resref", + "value": "x2_wplmsc005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 563, + "InventoryRes": { + "type": "resref", + "value": "nw_wplss001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 564, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmss002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 565, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmss010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 566, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmss011" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 567, + "InventoryRes": { + "type": "resref", + "value": "x0_wplmss001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 568, + "InventoryRes": { + "type": "resref", + "value": "x0_wplmss002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 569, + "InventoryRes": { + "type": "resref", + "value": "x2_wplmss003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 570, + "InventoryRes": { + "type": "resref", + "value": "x2_wplmss004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 571, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmss006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 572, + "InventoryRes": { + "type": "resref", + "value": "nw_wpltr001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 573, + "InventoryRes": { + "type": "resref", + "value": "nw_wpltr002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 574, + "InventoryRes": { + "type": "resref", + "value": "nw_wpltr003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 575, + "InventoryRes": { + "type": "resref", + "value": "nw_wpltr004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 576, + "InventoryRes": { + "type": "resref", + "value": "nw_wpltr005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 577, + "InventoryRes": { + "type": "resref", + "value": "nw_wpltr006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 578, + "InventoryRes": { + "type": "resref", + "value": "nw_wpltr007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 579, + "InventoryRes": { + "type": "resref", + "value": "nw_wpltr008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 580, + "InventoryRes": { + "type": "resref", + "value": "nw_wpltr009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 581, + "InventoryRes": { + "type": "resref", + "value": "nw_wpltr010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 582, + "InventoryRes": { + "type": "resref", + "value": "x2_it_venomhb" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 583, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmhb007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 584, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmsc006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 585, + "InventoryRes": { + "type": "resref", + "value": "nw_wplmhb004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 586, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxh003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 587, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxl003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 588, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxh004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 589, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmxl005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 590, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxl007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 591, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxl004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 592, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmxh005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 593, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxh005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 594, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxh007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 595, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxh006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 596, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwxh001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 597, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxh002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 598, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxh008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 599, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxh009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 600, + "InventoryRes": { + "type": "resref", + "value": "x0_wbwmxh001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 601, + "InventoryRes": { + "type": "resref", + "value": "x0_wbwmxh002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 602, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmxh003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 603, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmxh004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 604, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwxl001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 605, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxl002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 606, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxl008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 607, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxl009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 608, + "InventoryRes": { + "type": "resref", + "value": "x0_wbwmxl001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 609, + "InventoryRes": { + "type": "resref", + "value": "x0_wbwmxl002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 610, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmxl003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 611, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmxl004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 612, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmxl005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 613, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmln010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 614, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmln011" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 615, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmln012" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 616, + "InventoryRes": { + "type": "resref", + "value": "x0_wbwmln003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 617, + "InventoryRes": { + "type": "resref", + "value": "x0_wbwmln004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 618, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmln007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 619, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmln008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 620, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmln004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 621, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmln010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 622, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmln006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 623, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwln001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 624, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmln002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 625, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmln008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 626, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmln009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 627, + "InventoryRes": { + "type": "resref", + "value": "x0_wbwmln001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 628, + "InventoryRes": { + "type": "resref", + "value": "x0_wbwmln002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 629, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmln005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 630, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmln006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 631, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmln007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 632, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmln009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 633, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmln005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 634, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmln003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 635, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmsh009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 636, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsh010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 637, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsh011" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 638, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsh012" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 639, + "InventoryRes": { + "type": "resref", + "value": "x0_wbwmsh003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 640, + "InventoryRes": { + "type": "resref", + "value": "x0_wbwmsh004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 641, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmsh007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 642, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmsh008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 643, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsh003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 644, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsh006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 645, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsh007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 646, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsh004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 647, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwsh001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 648, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsh002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 649, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsh008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 650, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsh009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 651, + "InventoryRes": { + "type": "resref", + "value": "x0_wbwmsh001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 652, + "InventoryRes": { + "type": "resref", + "value": "x0_wbwmsh002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 653, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmsh005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 654, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmsh006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 655, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsh005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 656, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmsl005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 657, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsl007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 658, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwsl001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 659, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsl001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 660, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsl009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 661, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsl010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 662, + "InventoryRes": { + "type": "resref", + "value": "x0_wbwmsl001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 663, + "InventoryRes": { + "type": "resref", + "value": "x0_wbwmsl002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 664, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmsl003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 665, + "InventoryRes": { + "type": "resref", + "value": "x2_wbwmsl004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 666, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsl004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 667, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsl006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 668, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsl003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 669, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsl005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 670, + "InventoryRes": { + "type": "resref", + "value": "nw_wbwmsl008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 671, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmdt006" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 69 + } + }, + { + "__struct_id": 672, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmdt004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 79 + } + }, + { + "__struct_id": 673, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmax004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 674, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmax005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 675, + "InventoryRes": { + "type": "resref", + "value": "nw_wthdt001" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 79 + } + }, + { + "__struct_id": 676, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmdt002" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 79 + } + }, + { + "__struct_id": 677, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmdt008" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 79 + } + }, + { + "__struct_id": 678, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmdt009" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 79 + } + }, + { + "__struct_id": 679, + "InventoryRes": { + "type": "resref", + "value": "x0_wthmdt001" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 79 + } + }, + { + "__struct_id": 680, + "InventoryRes": { + "type": "resref", + "value": "x0_wthmdt002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 79 + } + }, + { + "__struct_id": 681, + "InventoryRes": { + "type": "resref", + "value": "x2_wthmdt003" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 79 + } + }, + { + "__struct_id": 682, + "InventoryRes": { + "type": "resref", + "value": "x2_wthmdt004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 683, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmdt007" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 684, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmdt003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 685, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmsh004" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 686, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmax007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 687, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmsh007" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 688, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmdt005" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 689, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmsh006" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 690, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmax006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 691, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmsh005" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 692, + "InventoryRes": { + "type": "resref", + "value": "nw_wthsh001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 693, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmsh002" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 99 + } + }, + { + "__struct_id": 694, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmsh008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 119 + } + }, + { + "__struct_id": 695, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmsh009" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 119 + } + }, + { + "__struct_id": 696, + "InventoryRes": { + "type": "resref", + "value": "x0_wthmsh002" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 119 + } + }, + { + "__struct_id": 697, + "InventoryRes": { + "type": "resref", + "value": "x0_wthmsh001" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 119 + } + }, + { + "__struct_id": 698, + "InventoryRes": { + "type": "resref", + "value": "x2_wthmsh003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 129 + } + }, + { + "__struct_id": 699, + "InventoryRes": { + "type": "resref", + "value": "x2_wthmsh004" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 129 + } + }, + { + "__struct_id": 700, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmsh003" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 129 + } + }, + { + "__struct_id": 701, + "InventoryRes": { + "type": "resref", + "value": "nw_wthax001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 702, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmax002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 703, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmax008" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 704, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmax009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 705, + "InventoryRes": { + "type": "resref", + "value": "x0_wthmax001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 706, + "InventoryRes": { + "type": "resref", + "value": "x0_wthmax002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 707, + "InventoryRes": { + "type": "resref", + "value": "x2_wthmax003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 708, + "InventoryRes": { + "type": "resref", + "value": "x2_wthmax004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 709, + "InventoryRes": { + "type": "resref", + "value": "nw_wthmax003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + } + ] + } + }, + { + "__struct_id": 2, + "ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion016" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 1, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion006" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 2, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion005" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 3, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion009" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 4, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion015" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 5, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion014" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 6, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion007" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 7, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion003" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 8, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 9, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion020" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 10, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 11, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mpotion002" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 12, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion010" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 13, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion013" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 14, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion017" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 15, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion012" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 16, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion008" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 17, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mpotion001" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 18, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion011" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 19, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion019" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 20, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion018" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 21, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion004" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 22, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion022" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 23, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion023" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 24, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mpotion021" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 25, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr603" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 26, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 27, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr201" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 28, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr102" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 29, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr509" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 30, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr204" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 31, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr701" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 32, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr804" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 33, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr508" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 34, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr201" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 35, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr501" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 36, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr101" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 37, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr601" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 38, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr202" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 39, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr501" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 40, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr801" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 41, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr901" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 42, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr602" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 43, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr701" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 44, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr502" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 45, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr901" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 46, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr801" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 47, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr603" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 48, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr303" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 49, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr103" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 50, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr102" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 51, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr211" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 52, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr202" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 53, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr803" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 54, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr212" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 55, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr112" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 56, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr307" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 57, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr107" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 58, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr213" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 59, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr207" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 60, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr607" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 61, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr405" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 62, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr107" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 63, + "InventoryRes": { + "type": "resref", + "value": "nw_it_spdvscr202" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 64, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr610" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 65, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr504" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 66, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr307" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 67, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr217" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 68, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr206" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 69, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr502" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 70, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr110" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 71, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr201" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 72, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr507" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 73, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr406" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 74, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr301" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 75, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr411" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 76, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr707" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 77, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr804" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 78, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr605" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 79, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr702" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 80, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr601" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 81, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr104" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 82, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr001" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 83, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr203" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 84, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr308" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 85, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr305" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 86, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr206" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 87, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 88, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr101" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 89, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr202" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 90, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr403" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 91, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr704" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 92, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr703" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 93, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr601" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 94, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr501" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 95, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr301" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 96, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr301" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 97, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr102" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 98, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr404" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 99, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr309" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 100, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr905" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 101, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr503" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 102, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr105" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 103, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr604" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 104, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr219" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 105, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr801" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 106, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr003" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 107, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr416" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 108, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr901" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 109, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr215" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 110, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr101" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 111, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr503" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 112, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr908" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 113, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr412" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 114, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr106" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 115, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr103" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 116, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr608" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 117, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr418" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 118, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr509" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 119, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr101" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 120, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr413" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 121, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr504" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 122, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr305" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 123, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr708" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 124, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr704" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 125, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr309" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 126, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr501" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 127, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr304" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 128, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr205" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 129, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr403" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 130, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr205" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 131, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 132, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr605" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 133, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr220" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 134, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr405" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 135, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr902" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 136, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr203" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 137, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr208" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 138, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr209" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 139, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr601" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 140, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr306" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 141, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr103" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 142, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr602" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 143, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr701" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 144, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr303" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 145, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr304" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 146, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr803" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 147, + "InventoryRes": { + "type": "resref", + "value": "nw_it_spdvscr701" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 148, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr602" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 149, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr606" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 150, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr508" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 151, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr612" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 152, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr912" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 153, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr613" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 154, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr303" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 155, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr406" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 156, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr604" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 157, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr312" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 158, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr605" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 159, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr505" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 160, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr302" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 161, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr204" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 162, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr505" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 163, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr401" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 164, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr101" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 165, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr809" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 166, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr104" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 167, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr401" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 168, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr106" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 169, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr902" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 170, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr408" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 171, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr804" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 172, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr501" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 173, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr301" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 174, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr401" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 175, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 176, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr201" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 177, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr302" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 178, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr207" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 179, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr310" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 180, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr314" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 181, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr102" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 182, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr603" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 183, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr401" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 184, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr303" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 185, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr216" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 186, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr602" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 187, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr218" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 188, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr511" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 189, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr512" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 190, + "InventoryRes": { + "type": "resref", + "value": "nw_it_spdvscr201" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 191, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr417" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 192, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr513" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 193, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 194, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr310" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 195, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr104" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 196, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr302" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 197, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscrmc" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 198, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr106" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 199, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr109" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 200, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr304" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 201, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr105" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 202, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr807" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 203, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr402" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 204, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr806" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 205, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr611" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 206, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr801" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 207, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr202" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 208, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr301" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 209, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr502" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 210, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr906" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 211, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr801" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 212, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr506" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 213, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr401" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 214, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr502" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 215, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr901" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 216, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr705" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 217, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr802" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 218, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr315" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 219, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr311" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 220, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr113" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 221, + "InventoryRes": { + "type": "resref", + "value": "nw_it_spdvscr402" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 222, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr203" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 223, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr502" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 224, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr221" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 225, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr409" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 25 + } + }, + { + "__struct_id": 226, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr603" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 25 + } + }, + { + "__struct_id": 227, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr604" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 25 + } + }, + { + "__struct_id": 228, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr407" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 25 + } + }, + { + "__struct_id": 229, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr415" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 25 + } + }, + { + "__struct_id": 230, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr903" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 25 + } + }, + { + "__struct_id": 231, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr702" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 25 + } + }, + { + "__struct_id": 232, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr312" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 25 + } + }, + { + "__struct_id": 233, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr808" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 25 + } + }, + { + "__struct_id": 234, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr706" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 25 + } + }, + { + "__struct_id": 235, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr102" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 236, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscral" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 237, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr303" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 238, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr305" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 239, + "InventoryRes": { + "type": "resref", + "value": "nw_it_spdvscr501" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 240, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr111" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 241, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 242, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr702" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 243, + "InventoryRes": { + "type": "resref", + "value": "nw_it_spdvscr301" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 244, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr402" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 245, + "InventoryRes": { + "type": "resref", + "value": "nw_it_spdvscr302" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 246, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr107" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 247, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr205" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 248, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr201" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 249, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 250, + "InventoryRes": { + "type": "resref", + "value": "nw_it_spdvscr401" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 251, + "InventoryRes": { + "type": "resref", + "value": "nw_it_spdvscr702" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 252, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr108" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 253, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr210" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 254, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr302" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 255, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr313" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 256, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr205" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 257, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr609" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 258, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr410" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 259, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr703" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 260, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr910" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 261, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr103" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 262, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr105" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 263, + "InventoryRes": { + "type": "resref", + "value": "nw_it_spdvscr203" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 264, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr506" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 265, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr108" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 266, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr313" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 267, + "InventoryRes": { + "type": "resref", + "value": "nw_it_spdvscr204" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 268, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr701" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 269, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr507" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 270, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr304" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 271, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr305" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 272, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr204" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 273, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr604" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 274, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr602" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 275, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr403" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 276, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr903" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 277, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr105" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 278, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr306" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 279, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr404" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 280, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr904" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 281, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr510" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 282, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr605" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 283, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr703" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 284, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr805" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 285, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr803" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 31 + } + }, + { + "__struct_id": 286, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr802" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 31 + } + }, + { + "__struct_id": 287, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr202" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 31 + } + }, + { + "__struct_id": 288, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr614" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 31 + } + }, + { + "__struct_id": 289, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr902" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 31 + } + }, + { + "__struct_id": 290, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr104" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 31 + } + }, + { + "__struct_id": 291, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr606" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 31 + } + }, + { + "__struct_id": 292, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr214" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 31 + } + }, + { + "__struct_id": 293, + "InventoryRes": { + "type": "resref", + "value": "x2_it_sparscr601" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 31 + } + }, + { + "__struct_id": 294, + "InventoryRes": { + "type": "resref", + "value": "x1_it_spdvscr901" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 31 + } + }, + { + "__struct_id": 295, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr311" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 296, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr503" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 297, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr002" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 298, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr909" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 299, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr407" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 300, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr204" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 301, + "InventoryRes": { + "type": "resref", + "value": "nw_it_sparscr907" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 302, + "InventoryRes": { + "type": "resref", + "value": "x2_it_spdvscr701" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 303, + "InventoryRes": { + "type": "resref", + "value": "x1_it_sparscr302" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 304, + "InventoryRes": { + "type": "resref", + "value": "x2_it_cfm_bscrl" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 305, + "InventoryRes": { + "type": "resref", + "value": "x2_it_pcpotion" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 33 + } + }, + { + "__struct_id": 306, + "InventoryRes": { + "type": "resref", + "value": "x2_it_cfm_pbottl" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 33 + } + } + ] + } + }, + { + "__struct_id": 3, + "ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "InventoryRes": { + "type": "resref", + "value": "x2_it_rakstaff" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 1, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck032" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 2, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck030" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 3, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck004" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 4, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck031" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 5, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck029" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 6, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck036" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 7, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck001" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 8, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck012" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 9, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck013" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 10, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck014" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 11, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck015" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 12, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck021" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 13, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck022" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 14, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck005" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 15, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mneck006" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 16, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck034" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 17, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mneck001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 18, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck001" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 19, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck002" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 20, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck003" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 21, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck024" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 22, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck020" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 23, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck025" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 24, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck026" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 25, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck027" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 26, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck028" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 27, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck016" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 28, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck017" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 29, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck018" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 30, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck019" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 31, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mneck005" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 32, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck020" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 33, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck023" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 34, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck022" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 35, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck037" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 36, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck035" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 37, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck033" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 38, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mneck004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 39, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck005" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 40, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck007" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 41, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck008" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 42, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck009" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 43, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck010" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 44, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck011" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 45, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck006" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 46, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck007" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 47, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck008" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 48, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 49, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mneck003" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 50, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck006" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 51, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck015" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 52, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck016" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 53, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck017" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 54, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck018" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 55, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck019" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 56, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck011" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 57, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck012" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 58, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck012" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 59, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck013" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 60, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mneck014" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 61, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck021" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 62, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 63, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mneck004" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 64, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mring007" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 65, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mring008" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 66, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mring009" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 67, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring021" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 68, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring023" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 69, + "InventoryRes": { + "type": "resref", + "value": "x3_it_hornedring" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 70, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring017" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 71, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring029" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 72, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring019" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 73, + "InventoryRes": { + "type": "resref", + "value": "x2_nash_ring" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 74, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mring013" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 75, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mring001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 76, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring006" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 77, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring024" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 78, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring014" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 79, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring015" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 80, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring016" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 81, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring017" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 82, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring021" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 83, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring022" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 84, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring023" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 85, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring010" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 86, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring009" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 87, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mring010" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 88, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring008" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 89, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring010" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 90, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring009" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 91, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring002" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 92, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring011" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 93, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mring005" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 94, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring024" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 95, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring029" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 96, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring025" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 97, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring026" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 98, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring027" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 99, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring028" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 100, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring025" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 101, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring026" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 102, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring027" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 103, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring028" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 104, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mring006" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 105, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mring002" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 106, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring007" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 107, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mring004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 108, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring012" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 109, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 110, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring011" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 111, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring005" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 112, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring001" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 113, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 114, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring003" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 115, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring005" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 116, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mring011" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 117, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mring012" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 118, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring030" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 119, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 120, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring016" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 121, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring008" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 122, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring018" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 123, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring019" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 124, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring020" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 125, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring012" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 126, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring013" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 127, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring014" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 128, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring015" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 129, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring004" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 130, + "InventoryRes": { + "type": "resref", + "value": "x3_it_ringregen" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 131, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring031" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 132, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring032" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 133, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring033" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 134, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring013" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 135, + "InventoryRes": { + "type": "resref", + "value": "x0_it_mring014" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 136, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring006" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 137, + "InventoryRes": { + "type": "resref", + "value": "nw_it_novel001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 138, + "InventoryRes": { + "type": "resref", + "value": "x2_it_mring018" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 139, + "InventoryRes": { + "type": "resref", + "value": "x2_cus_ring" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 140, + "InventoryRes": { + "type": "resref", + "value": "nw_it_mring022" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 141, + "InventoryRes": { + "type": "resref", + "value": "x2_ring_pet" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 142, + "InventoryRes": { + "type": "resref", + "value": "x1_it_mring001" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 143, + "InventoryRes": { + "type": "resref", + "value": "x1_it_mring002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 144, + "InventoryRes": { + "type": "resref", + "value": "x0_misc_twand" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 145, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgmrd006" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 146, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgmrd004" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 147, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgmrd002" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 148, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgmrd005" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 149, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgmrd003" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 150, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgrd002" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 151, + "InventoryRes": { + "type": "resref", + "value": "x2_it_wmgrd001" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 152, + "InventoryRes": { + "type": "resref", + "value": "x0_wmgmrd007" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 153, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgst002" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 154, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgst004" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 155, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgst005" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 156, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgst006" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 157, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgst003" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 158, + "InventoryRes": { + "type": "resref", + "value": "nw_it_novel008" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 159, + "InventoryRes": { + "type": "resref", + "value": "x2_wmgst001" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 160, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgwn011" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 161, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgwn003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 162, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgwn002" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 163, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgwn013" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 164, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgwn007" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 165, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgwn004" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 166, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgwn006" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 167, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgwn005" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 168, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgwn012" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 169, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgwn010" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 170, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgwn008" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 171, + "InventoryRes": { + "type": "resref", + "value": "nw_wmgwn009" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 172, + "InventoryRes": { + "type": "resref", + "value": "x2_it_cfm_wand" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 173, + "InventoryRes": { + "type": "resref", + "value": "x2_it_pcwand" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + } + ] + } + }, + { + "__struct_id": 1, + "ItemList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap014" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 1, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap034" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 2, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap022" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 3, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap018" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 4, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap030" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 5, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap026" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 6, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap006" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 7, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap042" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 8, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap038" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 9, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap002" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 10, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap010" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 11, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap036" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 12, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap016" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 13, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap024" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 14, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap020" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 15, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap032" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 16, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap028" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 17, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap008" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 18, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap044" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 19, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap040" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 20, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 21, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap012" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 22, + "InventoryRes": { + "type": "resref", + "value": "x2_it_trap001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 23, + "InventoryRes": { + "type": "resref", + "value": "x2_it_trap002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 24, + "InventoryRes": { + "type": "resref", + "value": "x2_it_trap003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + } + }, + { + "__struct_id": 25, + "InventoryRes": { + "type": "resref", + "value": "x2_it_trap004" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 26, + "InventoryRes": { + "type": "resref", + "value": "nw_it_medkit001" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 27, + "InventoryRes": { + "type": "resref", + "value": "nw_it_medkit004" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 28, + "InventoryRes": { + "type": "resref", + "value": "nw_it_medkit002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 29, + "InventoryRes": { + "type": "resref", + "value": "nw_it_medkit003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 30, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap033" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 31, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap013" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 32, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap021" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 33, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap017" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 34, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap029" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 35, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap025" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 36, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 37, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap041" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 38, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap037" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 39, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap001" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 14 + } + }, + { + "__struct_id": 40, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap009" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 41, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap035" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 42, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap015" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 43, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap023" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 15 + } + }, + { + "__struct_id": 44, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap019" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 45, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap031" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 46, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap027" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 47, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap007" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 48, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap043" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 17 + } + }, + { + "__struct_id": 49, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap039" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 18 + } + }, + { + "__struct_id": 50, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 51, + "InventoryRes": { + "type": "resref", + "value": "nw_it_trap011" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 52, + "InventoryRes": { + "type": "resref", + "value": "nw_it_picks001" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 53, + "InventoryRes": { + "type": "resref", + "value": "nw_it_picks004" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 54, + "InventoryRes": { + "type": "resref", + "value": "x2_it_picks002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 55, + "InventoryRes": { + "type": "resref", + "value": "nw_it_picks002" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 56, + "InventoryRes": { + "type": "resref", + "value": "nw_it_picks003" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 57, + "InventoryRes": { + "type": "resref", + "value": "x2_it_picks001" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 20 + } + }, + { + "__struct_id": 58, + "InventoryRes": { + "type": "resref", + "value": "x0_misc_twig" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 59, + "InventoryRes": { + "type": "resref", + "value": "x0_misc_lyrics" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 60, + "InventoryRes": { + "type": "resref", + "value": "x0_misc_charge" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 61, + "InventoryRes": { + "type": "resref", + "value": "x0_misc_prayer" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 62, + "InventoryRes": { + "type": "resref", + "value": "x2_it_acidbomb" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 63, + "InventoryRes": { + "type": "resref", + "value": "x1_wmgrenade001" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 64, + "InventoryRes": { + "type": "resref", + "value": "x1_wmgrenade002" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 65, + "InventoryRes": { + "type": "resref", + "value": "x1_wmgrenade003" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 66, + "InventoryRes": { + "type": "resref", + "value": "x1_wmgrenade004" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 67, + "InventoryRes": { + "type": "resref", + "value": "x2_it_firebomb" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 19 + } + }, + { + "__struct_id": 68, + "InventoryRes": { + "type": "resref", + "value": "x1_wmgrenade005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 69, + "InventoryRes": { + "type": "resref", + "value": "x1_wmgrenade006" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 70, + "InventoryRes": { + "type": "resref", + "value": "x1_wmgrenade007" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 71, + "InventoryRes": { + "type": "resref", + "value": "nw_it_contain006" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 72, + "InventoryRes": { + "type": "resref", + "value": "nw_it_thnmisc001" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 22 + } + }, + { + "__struct_id": 73, + "InventoryRes": { + "type": "resref", + "value": "nw_it_contain005" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 74, + "InventoryRes": { + "type": "resref", + "value": "nw_it_contain003" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 75, + "InventoryRes": { + "type": "resref", + "value": "nw_it_contain004" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 76, + "InventoryRes": { + "type": "resref", + "value": "x2_it_cmat_adam" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 77, + "InventoryRes": { + "type": "resref", + "value": "x2_it_cmat_iron" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 24 + } + }, + { + "__struct_id": 78, + "InventoryRes": { + "type": "resref", + "value": "x2_it_cmat_mith" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 25 + } + }, + { + "__struct_id": 79, + "InventoryRes": { + "type": "resref", + "value": "x2_it_cmat_steel" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 80, + "InventoryRes": { + "type": "resref", + "value": "x2_it_lightgem01" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 23 + } + }, + { + "__struct_id": 81, + "InventoryRes": { + "type": "resref", + "value": "x2_it_cmat_cloth" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 82, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison020" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 83, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison038" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 84, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison014" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 85, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison026" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 26 + } + }, + { + "__struct_id": 86, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison032" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 87, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison008" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 88, + "InventoryRes": { + "type": "resref", + "value": "x2_it_bmt_bshaft" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 89, + "InventoryRes": { + "type": "resref", + "value": "x2_it_amt_feath" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 90, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison021" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 27 + } + }, + { + "__struct_id": 91, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison039" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 92, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison015" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 93, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison027" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 94, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison033" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 95, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison009" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 96, + "InventoryRes": { + "type": "resref", + "value": "x2_it_lightgem05" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 97, + "InventoryRes": { + "type": "resref", + "value": "x2_it_bmt_helm" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 28 + } + }, + { + "__struct_id": 98, + "InventoryRes": { + "type": "resref", + "value": "x2_it_amt_iband" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 99, + "InventoryRes": { + "type": "resref", + "value": "x2_it_amt_chain" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 100, + "InventoryRes": { + "type": "resref", + "value": "x2_it_amt_hhead" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 101, + "InventoryRes": { + "type": "resref", + "value": "x2_it_amt_morb" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 102, + "InventoryRes": { + "type": "resref", + "value": "x2_it_amt_rings" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 103, + "InventoryRes": { + "type": "resref", + "value": "x2_it_amt_spikes" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 104, + "InventoryRes": { + "type": "resref", + "value": "x2_it_cmat_ironw" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 105, + "InventoryRes": { + "type": "resref", + "value": "x2_it_amt_lblade" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 106, + "InventoryRes": { + "type": "resref", + "value": "x2_it_cmat_bone" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 107, + "InventoryRes": { + "type": "resref", + "value": "x2_it_bmt_ltorso" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 108, + "InventoryRes": { + "type": "resref", + "value": "x2_it_cmat_leath" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 109, + "InventoryRes": { + "type": "resref", + "value": "x2_it_amt_lpatch" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 110, + "InventoryRes": { + "type": "resref", + "value": "x2_it_amt_lstrng" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 111, + "InventoryRes": { + "type": "resref", + "value": "x2_it_bmt_xbows" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 31 + } + }, + { + "__struct_id": 112, + "InventoryRes": { + "type": "resref", + "value": "x2_it_bmt_wpole" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 113, + "InventoryRes": { + "type": "resref", + "value": "x2_it_bmt_oakhlt" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 114, + "InventoryRes": { + "type": "resref", + "value": "x2_it_lightgem06" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 115, + "InventoryRes": { + "type": "resref", + "value": "x2_it_cmat_elmw" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 116, + "InventoryRes": { + "type": "resref", + "value": "x2_it_cmat_oakw" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 117, + "InventoryRes": { + "type": "resref", + "value": "x2_it_bmt_proj" + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 33 + } + }, + { + "__struct_id": 118, + "InventoryRes": { + "type": "resref", + "value": "x2_it_lightgem03" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 34 + } + }, + { + "__struct_id": 119, + "InventoryRes": { + "type": "resref", + "value": "x2_it_lightgem04" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 34 + } + }, + { + "__struct_id": 120, + "InventoryRes": { + "type": "resref", + "value": "x2_it_amt_blades" + }, + "Repos_PosX": { + "type": "word", + "value": 2 + }, + "Repos_Posy": { + "type": "word", + "value": 34 + } + }, + { + "__struct_id": 121, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison019" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 34 + } + }, + { + "__struct_id": 122, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison013" + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 34 + } + }, + { + "__struct_id": 123, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison025" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 34 + } + }, + { + "__struct_id": 124, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison031" + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 34 + } + }, + { + "__struct_id": 125, + "InventoryRes": { + "type": "resref", + "value": "x2_it_poison007" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 34 + } + }, + { + "__struct_id": 126, + "InventoryRes": { + "type": "resref", + "value": "x2_it_amt_ahead" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 35 + } + }, + { + "__struct_id": 127, + "InventoryRes": { + "type": "resref", + "value": "x2_it_bmt_cchst" + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 35 + } + }, + { + "__struct_id": 128, + "InventoryRes": { + "type": "resref", + "value": "x2_it_bmt_stors2" + }, + "Repos_PosX": { + "type": "word", + "value": 3 + }, + "Repos_Posy": { + "type": "word", + "value": 35 + } + }, + { + "__struct_id": 129, + "InventoryRes": { + "type": "resref", + "value": "x2_it_bmt_sshld" + }, + "Repos_PosX": { + "type": "word", + "value": 5 + }, + "Repos_Posy": { + "type": "word", + "value": 35 + } + }, + { + "__struct_id": 130, + "InventoryRes": { + "type": "resref", + "value": "x2_it_bmt_mhlt" + }, + "Repos_PosX": { + "type": "word", + "value": 7 + }, + "Repos_Posy": { + "type": "word", + "value": 35 + } + }, + { + "__struct_id": 131, + "InventoryRes": { + "type": "resref", + "value": "x2_it_lightgem07" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 35 + } + }, + { + "__struct_id": 132, + "InventoryRes": { + "type": "resref", + "value": "x2_it_bmt_cloth" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 37 + } + }, + { + "__struct_id": 133, + "InventoryRes": { + "type": "resref", + "value": "x2_it_amt_cpadd" + }, + "Repos_PosX": { + "type": "word", + "value": 0 + }, + "Repos_Posy": { + "type": "word", + "value": 36 + } + }, + { + "__struct_id": 134, + "InventoryRes": { + "type": "resref", + "value": "x2_it_lightgem02" + }, + "Repos_PosX": { + "type": "word", + "value": 9 + }, + "Repos_Posy": { + "type": "word", + "value": 36 + } + } + ] + } + } + ] + }, + "Tag": { + "type": "cexostring", + "value": "MK_CCOH_STORE001" + }, + "WillNotBuy": { + "type": "list", + "value": [ + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 19 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 16 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 20 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 109 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 3 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 2 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 21 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 102 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 25 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 74 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 26 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 78 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 104 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 27 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 80 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 28 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 66 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 106 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 112 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 71 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 73 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 70 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 72 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 69 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 22 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 31 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 32 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 33 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 108 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 105 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 36 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 77 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 76 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 18 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 13 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 81 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 10 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 38 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 39 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 35 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 17 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 40 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 41 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 65 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 42 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 92 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 56 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 7 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 4 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 37 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 8 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 1 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 9 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 44 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 45 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 46 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 34 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 29 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 24 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 79 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 94 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 47 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 49 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 101 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 50 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 51 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 52 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 53 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 75 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 55 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 0 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 11 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 59 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 60 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 61 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 110 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 14 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 58 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 82 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 62 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 63 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 15 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 57 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 64 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 95 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 93 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 12 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 103 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 5 + } + }, + { + "__struct_id": 97869, + "BaseItem": { + "type": "int", + "value": 111 + } + } + ] + }, + "WillOnlyBuy": { + "type": "list", + "value": [] + } +} diff --git a/_module/utm/mk_ccoh_store002.utm.json b/_module/utm/mk_ccoh_store002.utm.json new file mode 100644 index 00000000..fb3520ff --- /dev/null +++ b/_module/utm/mk_ccoh_store002.utm.json @@ -0,0 +1,89 @@ +{ + "__data_type": "UTM ", + "BlackMarket": { + "type": "byte", + "value": 1 + }, + "BM_MarkDown": { + "type": "int", + "value": 100 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "ID": { + "type": "byte", + "value": 5 + }, + "IdentifyPrice": { + "type": "int", + "value": 100 + }, + "LocName": { + "type": "cexolocstring", + "value": { + "0": "CCOH Superstore 2" + } + }, + "MarkDown": { + "type": "int", + "value": 100 + }, + "MarkUp": { + "type": "int", + "value": 100 + }, + "MaxBuyPrice": { + "type": "int", + "value": -1 + }, + "OnOpenStore": { + "type": "resref", + "value": "" + }, + "OnStoreClosed": { + "type": "resref", + "value": "" + }, + "ResRef": { + "type": "resref", + "value": "mk_ccoh_store002" + }, + "StoreGold": { + "type": "int", + "value": -1 + }, + "StoreList": { + "type": "list", + "value": [ + { + "__struct_id": 0 + }, + { + "__struct_id": 4 + }, + { + "__struct_id": 2 + }, + { + "__struct_id": 3 + }, + { + "__struct_id": 1 + } + ] + }, + "Tag": { + "type": "cexostring", + "value": "MK_CCOH_STORE002" + }, + "WillNotBuy": { + "type": "list", + "value": [] + }, + "WillOnlyBuy": { + "type": "list", + "value": [] + } +} diff --git a/_release/Aschbourne [PRC8-CEP3].7z b/_release/Aschbourne [PRC8-CEP3].7z index 6d7357a2..0c395050 100644 Binary files a/_release/Aschbourne [PRC8-CEP3].7z and b/_release/Aschbourne [PRC8-CEP3].7z differ