diff --git a/_module/itp/creaturepalcus.itp.json b/_module/itp/creaturepalcus.itp.json index 633460bd..1845fb3e 100644 --- a/_module/itp/creaturepalcus.itp.json +++ b/_module/itp/creaturepalcus.itp.json @@ -10,10 +10,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 48 - }, "LIST": { "type": "list", "value": [ @@ -202,10 +198,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 5 - }, "LIST": { "type": "list", "value": [ @@ -332,10 +324,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 6 - }, "LIST": { "type": "list", "value": [ @@ -443,10 +431,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 7 - }, "LIST": { "type": "list", "value": [ @@ -497,10 +481,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 8 - }, "LIST": { "type": "list", "value": [ @@ -570,10 +550,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 9 - }, "LIST": { "type": "list", "value": [ @@ -859,10 +835,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 20 - }, "LIST": { "type": "list", "value": [ @@ -1350,10 +1322,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 21 - }, "LIST": { "type": "list", "value": [ @@ -1632,10 +1600,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 22 - }, "LIST": { "type": "list", "value": [ @@ -2907,10 +2871,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 34 - }, "LIST": { "type": "list", "value": [ @@ -2961,10 +2921,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 35 - }, "LIST": { "type": "list", "value": [ @@ -3034,10 +2990,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 36 - }, "LIST": { "type": "list", "value": [ @@ -3069,10 +3021,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 37 - }, "LIST": { "type": "list", "value": [ @@ -3192,10 +3140,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 14 - }, "LIST": { "type": "list", "value": [ @@ -3227,10 +3171,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 15 - }, "LIST": { "type": "list", "value": [ @@ -3319,10 +3259,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 16 - }, "LIST": { "type": "list", "value": [ @@ -3468,10 +3404,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 17 - }, "LIST": { "type": "list", "value": [ @@ -3579,10 +3511,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 18 - }, "LIST": { "type": "list", "value": [ @@ -3633,10 +3561,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 19 - }, "LIST": { "type": "list", "value": [ @@ -3668,10 +3592,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 50 - }, "LIST": { "type": "list", "value": [ @@ -3772,10 +3692,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 10 - }, "LIST": { "type": "list", "value": [ @@ -3826,10 +3742,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 11 - }, "LIST": { "type": "list", "value": [ @@ -3887,10 +3799,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 49 - }, "LIST": { "type": "list", "value": [ @@ -3922,10 +3830,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 13 - }, "LIST": { "type": "list", "value": [ @@ -4342,10 +4246,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 23 - }, "LIST": { "type": "list", "value": [ @@ -4548,10 +4448,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 24 - }, "LIST": { "type": "list", "value": [ @@ -5552,10 +5448,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 25 - }, "STRREF": { "type": "dword", "value": 6718 @@ -5563,10 +5455,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 47 - }, "LIST": { "type": "list", "value": [ @@ -5636,10 +5524,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 26 - }, "LIST": { "type": "list", "value": [ @@ -5678,10 +5562,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 12 - }, "STRREF": { "type": "dword", "value": 6703 @@ -5694,10 +5574,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 27 - }, "LIST": { "type": "list", "value": [ @@ -5843,10 +5719,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 28 - }, "LIST": { "type": "list", "value": [ @@ -5973,10 +5845,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 29 - }, "LIST": { "type": "list", "value": [ @@ -6844,10 +6712,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 30 - }, "LIST": { "type": "list", "value": [ @@ -7012,10 +6876,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 31 - }, "LIST": { "type": "list", "value": [ @@ -7351,10 +7211,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 32 - }, "LIST": { "type": "list", "value": [ @@ -7975,10 +7831,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 33 - }, "LIST": { "type": "list", "value": [ @@ -8504,10 +8356,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 38 - }, "LIST": { "type": "list", "value": [ @@ -8596,10 +8444,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 39 - }, "LIST": { "type": "list", "value": [ @@ -9144,10 +8988,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 40 - }, "STRREF": { "type": "dword", "value": 27 @@ -9155,10 +8995,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 42 - }, "STRREF": { "type": "dword", "value": 31 @@ -9166,10 +9002,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 41 - }, "LIST": { "type": "list", "value": [ @@ -9239,10 +9071,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 43 - }, "LIST": { "type": "list", "value": [ @@ -9369,10 +9197,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 44 - }, "LIST": { "type": "list", "value": [ @@ -10221,10 +10045,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 45 - }, "LIST": { "type": "list", "value": [ @@ -10591,10 +10411,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 0 - }, "LIST": { "type": "list", "value": [ @@ -12821,6 +12637,25 @@ "value": "prc_pm_mage2" } }, + { + "__struct_id": 0, + "CR": { + "type": "float", + "value": 3.0 + }, + "FACTION": { + "type": "cexostring", + "value": "Defender" + }, + "NAME": { + "type": "cexostring", + "value": "Spiritual Weapon" + }, + "RESREF": { + "type": "resref", + "value": "prc_spirit_weapn" + } + }, { "__struct_id": 0, "CR": { @@ -13552,10 +13387,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 1 - }, "LIST": { "type": "list", "value": [ @@ -14461,10 +14292,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 2 - }, "LIST": { "type": "list", "value": [ @@ -15142,10 +14969,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 3 - }, "LIST": { "type": "list", "value": [ @@ -17514,10 +17337,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 4 - }, "LIST": { "type": "list", "value": [ @@ -35511,10 +35330,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 46 - }, "LIST": { "type": "list", "value": [ diff --git a/_module/itp/doorpalcus.itp.json b/_module/itp/doorpalcus.itp.json index 6ff3ed66..82c108fa 100644 --- a/_module/itp/doorpalcus.itp.json +++ b/_module/itp/doorpalcus.itp.json @@ -10,10 +10,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 0 - }, "LIST": { "type": "list", "value": [ @@ -103,10 +99,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 1 - }, "LIST": { "type": "list", "value": [ @@ -163,10 +155,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 2 - }, "LIST": { "type": "list", "value": [ @@ -190,10 +178,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 3 - }, "STRREF": { "type": "dword", "value": 6691 @@ -201,10 +185,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 4 - }, "STRREF": { "type": "dword", "value": 6692 @@ -219,10 +199,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 5 - }, "LIST": { "type": "list", "value": [ @@ -251,10 +227,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 6 - }, "STRREF": { "type": "dword", "value": 6736 @@ -262,10 +234,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 9 - }, "STRREF": { "type": "dword", "value": 201 @@ -273,10 +241,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 7 - }, "STRREF": { "type": "dword", "value": 6737 @@ -284,10 +248,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 8 - }, "LIST": { "type": "list", "value": [ diff --git a/_module/itp/encounterpalcus.itp.json b/_module/itp/encounterpalcus.itp.json index f3ea1441..1ccb1513 100644 --- a/_module/itp/encounterpalcus.itp.json +++ b/_module/itp/encounterpalcus.itp.json @@ -5,10 +5,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 8 - }, "LIST": { "type": "list", "value": [ @@ -153,10 +149,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 9 - }, "LIST": { "type": "list", "value": [ @@ -224,10 +216,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 6 - }, "LIST": { "type": "list", "value": [ @@ -1769,10 +1757,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 7 - }, "LIST": { "type": "list", "value": [ @@ -2461,10 +2445,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 0 - }, "STRREF": { "type": "dword", "value": 6688 @@ -2472,10 +2452,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 1 - }, "LIST": { "type": "list", "value": [ @@ -2499,10 +2475,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 2 - }, "STRREF": { "type": "dword", "value": 6690 @@ -2510,10 +2482,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 3 - }, "STRREF": { "type": "dword", "value": 6691 @@ -2521,10 +2489,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 4 - }, "LIST": { "type": "list", "value": [ @@ -2555,10 +2519,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 5 - }, "LIST": { "type": "list", "value": [ diff --git a/_module/itp/itempalcus.itp.json b/_module/itp/itempalcus.itp.json index 66a2e9b8..4a60ca9f 100644 --- a/_module/itp/itempalcus.itp.json +++ b/_module/itp/itempalcus.itp.json @@ -10,10 +10,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 5 - }, "LIST": { "type": "list", "value": [ @@ -356,10 +352,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 8 - }, "LIST": { "type": "list", "value": [ @@ -559,10 +551,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 9 - }, "LIST": { "type": "list", "value": [ @@ -938,10 +926,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 6 - }, "LIST": { "type": "list", "value": [ @@ -1042,10 +1026,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 7 - }, "LIST": { "type": "list", "value": [ @@ -1168,10 +1148,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 58 - }, "LIST": { "type": "list", "value": [ @@ -1185,6 +1161,17 @@ "type": "resref", "value": "devarobe" } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Unarmed Spiritual Weapon \"Fists\"" + }, + "RESREF": { + "type": "resref", + "value": "prc_sprtwp_armor" + } } ] }, @@ -1200,10 +1187,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 11 - }, "LIST": { "type": "list", "value": [ @@ -1315,10 +1298,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 10 - }, "LIST": { "type": "list", "value": [ @@ -1375,10 +1354,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 12 - }, "LIST": { "type": "list", "value": [ @@ -1509,10 +1484,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 55 - }, "LIST": { "type": "list", "value": [ @@ -3945,10 +3916,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 13 - }, "LIST": { "type": "list", "value": [ @@ -6084,10 +6051,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 63 - }, "LIST": { "type": "list", "value": [ @@ -6375,10 +6338,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 59 - }, "LIST": { "type": "list", "value": [ @@ -6490,10 +6449,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 14 - }, "LIST": { "type": "list", "value": [ @@ -8554,6 +8509,17 @@ "value": "servantprops4" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Spiritual Weapon Properties" + }, + "RESREF": { + "type": "resref", + "value": "prc_sprtwpn_hide" + } + }, { "__struct_id": 0, "NAME": { @@ -8937,10 +8903,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 56 - }, "LIST": { "type": "list", "value": [ @@ -10275,6 +10237,17 @@ "value": "spectre_touch" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Spirtual Weapon Slam" + }, + "RESREF": { + "type": "resref", + "value": "prc_sprtwpn_slam" + } + }, { "__struct_id": 0, "NAME": { @@ -10373,10 +10346,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 60 - }, "LIST": { "type": "list", "value": [ @@ -11736,10 +11705,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 16 - }, "LIST": { "type": "list", "value": [ @@ -11994,10 +11959,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 15 - }, "LIST": { "type": "list", "value": [ @@ -12263,10 +12224,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 17 - }, "LIST": { "type": "list", "value": [ @@ -12455,10 +12412,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 18 - }, "LIST": { "type": "list", "value": [ @@ -12702,10 +12655,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 19 - }, "LIST": { "type": "list", "value": [ @@ -12879,10 +12828,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 64 - }, "LIST": { "type": "list", "value": [ @@ -12917,10 +12862,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 57 - }, "LIST": { "type": "list", "value": [ @@ -13026,10 +12967,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 21 - }, "LIST": { "type": "list", "value": [ @@ -13372,10 +13309,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 22 - }, "LIST": { "type": "list", "value": [ @@ -13923,10 +13856,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 20 - }, "LIST": { "type": "list", "value": [ @@ -13994,10 +13923,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 23 - }, "LIST": { "type": "list", "value": [ @@ -15583,10 +15508,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 24 - }, "LIST": { "type": "list", "value": [ @@ -16149,10 +16070,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 26 - }, "LIST": { "type": "list", "value": [ @@ -17916,6 +17833,17 @@ "value": 767 } }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "prc_scr_997" + }, + "STRREF": { + "type": "dword", + "value": 16790493 + } + }, { "__struct_id": 0, "RESREF": { @@ -20831,6 +20759,17 @@ "value": 16827179 } }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "prc_scr_995" + }, + "STRREF": { + "type": "dword", + "value": 16790488 + } + }, { "__struct_id": 0, "RESREF": { @@ -24978,6 +24917,50 @@ "value": 6340 } }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "prc_scr_874" + }, + "STRREF": { + "type": "dword", + "value": 16790512 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "prc_scr_865" + }, + "STRREF": { + "type": "dword", + "value": 16790497 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "prc_scr_868" + }, + "STRREF": { + "type": "dword", + "value": 16790502 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "prc_scr_871" + }, + "STRREF": { + "type": "dword", + "value": 16790507 + } + }, { "__struct_id": 0, "NAME": { @@ -26100,6 +26083,17 @@ "value": 917 } }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "prc_scr_877" + }, + "STRREF": { + "type": "dword", + "value": 16790517 + } + }, { "__struct_id": 0, "RESREF": { @@ -26199,6 +26193,28 @@ "value": 2671 } }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "prc_scr_880" + }, + "STRREF": { + "type": "dword", + "value": 16790522 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "prc_scr_881" + }, + "STRREF": { + "type": "dword", + "value": 16790525 + } + }, { "__struct_id": 0, "NAME": { @@ -26892,6 +26908,17 @@ "value": 16829598 } }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "prc_scr_884" + }, + "STRREF": { + "type": "dword", + "value": 16790530 + } + }, { "__struct_id": 0, "NAME": { @@ -27634,10 +27661,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 54 - }, "LIST": { "type": "list", "value": [ @@ -27919,10 +27942,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 0 - }, "LIST": { "type": "list", "value": [ @@ -28088,7 +28107,7 @@ }, "RESREF": { "type": "resref", - "value": "mc_blckstickbloo" + "value": "mc_blckstickbld" } }, { @@ -28264,7 +28283,7 @@ }, "RESREF": { "type": "resref", - "value": "mc_pieceofleathe" + "value": "mc_pieceofleathr" } }, { @@ -28520,6 +28539,17 @@ "value": 16826278 } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Banded" + }, + "RESREF": { + "type": "resref", + "value": "sdarmor4" + } + }, { "__struct_id": 0, "NAME": { @@ -28674,6 +28704,17 @@ "value": "bralaniscimitar" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Breastplate" + }, + "RESREF": { + "type": "resref", + "value": "sdarmor5" + } + }, { "__struct_id": 0, "NAME": { @@ -28773,6 +28814,17 @@ "value": 16826288 } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Chain" + }, + "RESREF": { + "type": "resref", + "value": "sdarmor6" + } + }, { "__struct_id": 0, "RESREF": { @@ -28894,6 +28946,17 @@ "value": "fky_chat_target" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Cover" + }, + "RESREF": { + "type": "resref", + "value": "sdarmor1" + } + }, { "__struct_id": 0, "NAME": { @@ -29136,6 +29199,17 @@ "value": "mc_fur" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Garb" + }, + "RESREF": { + "type": "resref", + "value": "sdarmor0" + } + }, { "__struct_id": 0, "RESREF": { @@ -29232,7 +29306,7 @@ }, "RESREF": { "type": "resref", - "value": "mc_grasshopperhl" + "value": "mc_grasshopprhlg" } }, { @@ -29279,6 +29353,17 @@ "value": "mc_gumarabic" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Half-plate" + }, + "RESREF": { + "type": "resref", + "value": "sdarmor7" + } + }, { "__struct_id": 0, "NAME": { @@ -30016,6 +30101,17 @@ "value": "mc_rawmeat" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Plate" + }, + "RESREF": { + "type": "resref", + "value": "sdarmor8" + } + }, { "__struct_id": 0, "NAME": { @@ -30379,6 +30475,17 @@ "value": 4668 } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Studded Leather" + }, + "RESREF": { + "type": "resref", + "value": "sdarmor3" + } + }, { "__struct_id": 0, "RESREF": { @@ -30511,6 +30618,17 @@ "value": "mc_tinytarts" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Toughened Leather" + }, + "RESREF": { + "type": "resref", + "value": "sdarmor2" + } + }, { "__struct_id": 0, "NAME": { @@ -30751,10 +30869,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 1 - }, "LIST": { "type": "list", "value": [ @@ -30769,6 +30883,116 @@ "value": "epicspellcasting" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Large 1" + }, + "RESREF": { + "type": "resref", + "value": "sdlarge1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Large 10" + }, + "RESREF": { + "type": "resref", + "value": "sdlarge10" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Large 2" + }, + "RESREF": { + "type": "resref", + "value": "sdlarge2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Large 3" + }, + "RESREF": { + "type": "resref", + "value": "sdlarge3" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Large 4" + }, + "RESREF": { + "type": "resref", + "value": "sdlarge4" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Large 5" + }, + "RESREF": { + "type": "resref", + "value": "sdlarge5" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Large 6" + }, + "RESREF": { + "type": "resref", + "value": "sdlarge6" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Large 7" + }, + "RESREF": { + "type": "resref", + "value": "sdlarge7" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Large 8" + }, + "RESREF": { + "type": "resref", + "value": "sdlarge8" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Large 9" + }, + "RESREF": { + "type": "resref", + "value": "sdlarge9" + } + }, { "__struct_id": 0, "NAME": { @@ -30813,6 +31037,39 @@ "value": "prc_ipbase" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Small 1" + }, + "RESREF": { + "type": "resref", + "value": "sdsmall1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Small 2" + }, + "RESREF": { + "type": "resref", + "value": "sdsmall2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Small 3" + }, + "RESREF": { + "type": "resref", + "value": "sdsmall3" + } + }, { "__struct_id": 0, "NAME": { @@ -30823,6 +31080,39 @@ "type": "resref", "value": "soul_gem" } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Tower 1" + }, + "RESREF": { + "type": "resref", + "value": "sdtower1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Tower 2" + }, + "RESREF": { + "type": "resref", + "value": "sdtower2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Tower 3" + }, + "RESREF": { + "type": "resref", + "value": "sdtower3" + } } ] }, @@ -30833,10 +31123,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 2 - }, "LIST": { "type": "list", "value": [ @@ -30851,6 +31137,39 @@ "value": "craft_amulet" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Amulet 1" + }, + "RESREF": { + "type": "resref", + "value": "sdammy1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Amulet 2" + }, + "RESREF": { + "type": "resref", + "value": "sdammy2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Amulet 3" + }, + "RESREF": { + "type": "resref", + "value": "sdammy3" + } + }, { "__struct_id": 0, "NAME": { @@ -30884,6 +31203,28 @@ "value": "craft_belt" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Belt 1" + }, + "RESREF": { + "type": "resref", + "value": "sdbelt1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Belt 2" + }, + "RESREF": { + "type": "resref", + "value": "sdbelt2" + } + }, { "__struct_id": 0, "NAME": { @@ -30906,6 +31247,39 @@ "value": "craft_boots" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Boots 1" + }, + "RESREF": { + "type": "resref", + "value": "sdboots1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Boots 2" + }, + "RESREF": { + "type": "resref", + "value": "sdboots2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Boots 3" + }, + "RESREF": { + "type": "resref", + "value": "sdboots3" + } + }, { "__struct_id": 0, "NAME": { @@ -30928,6 +31302,39 @@ "value": "craft_bracers" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Bracers 1" + }, + "RESREF": { + "type": "resref", + "value": "sdbracers1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Bracers 2" + }, + "RESREF": { + "type": "resref", + "value": "sdbracers2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Bracers 3" + }, + "RESREF": { + "type": "resref", + "value": "sdbracers3" + } + }, { "__struct_id": 0, "NAME": { @@ -30950,6 +31357,39 @@ "value": "craft_cloak" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Cloak 1" + }, + "RESREF": { + "type": "resref", + "value": "sdcloak1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Cloak 2" + }, + "RESREF": { + "type": "resref", + "value": "sdcloak2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Cloak 3" + }, + "RESREF": { + "type": "resref", + "value": "sdcloak3" + } + }, { "__struct_id": 0, "NAME": { @@ -30983,6 +31423,39 @@ "value": "craft_gloves" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Helm 1" + }, + "RESREF": { + "type": "resref", + "value": "sdhelm1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Helm 2" + }, + "RESREF": { + "type": "resref", + "value": "sdhelm2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Helm 3" + }, + "RESREF": { + "type": "resref", + "value": "sdhelm3" + } + }, { "__struct_id": 0, "NAME": { @@ -31016,6 +31489,72 @@ "value": "kamaofperfection" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Monk Gloves" + }, + "RESREF": { + "type": "resref", + "value": "sd_mgloves" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Monk Gloves" + }, + "RESREF": { + "type": "resref", + "value": "sd_mgloves1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Monk Gloves" + }, + "RESREF": { + "type": "resref", + "value": "sd_mgloves2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Monk Gloves" + }, + "RESREF": { + "type": "resref", + "value": "sd_mgloves3" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Monk Gloves" + }, + "RESREF": { + "type": "resref", + "value": "sd_mgloves4" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Monk Gloves" + }, + "RESREF": { + "type": "resref", + "value": "sd_mgloves5" + } + }, { "__struct_id": 0, "NAME": { @@ -31027,6 +31566,50 @@ "value": "craft_ring" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Ring 1" + }, + "RESREF": { + "type": "resref", + "value": "sdring1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Ring 2" + }, + "RESREF": { + "type": "resref", + "value": "sdring2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Ring 3" + }, + "RESREF": { + "type": "resref", + "value": "sdring3" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Ring 4" + }, + "RESREF": { + "type": "resref", + "value": "sdring4" + } + }, { "__struct_id": 0, "NAME": { @@ -31091,13 +31674,97 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 3 - }, "LIST": { "type": "list", "value": [ + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdarrow" + }, + "STRREF": { + "type": "dword", + "value": 1517 + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Bastard Sword" + }, + "RESREF": { + "type": "resref", + "value": "sd_bastard" + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdbaxe" + }, + "STRREF": { + "type": "dword", + "value": 169 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdbolt" + }, + "STRREF": { + "type": "dword", + "value": 1519 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdclub" + }, + "STRREF": { + "type": "dword", + "value": 1522 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sddagger" + }, + "STRREF": { + "type": "dword", + "value": 191 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sddsmace" + }, + "STRREF": { + "type": "dword", + "value": 1526 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sddsaxe" + }, + "STRREF": { + "type": "dword", + "value": 1527 + } + }, { "__struct_id": 0, "NAME": { @@ -31208,6 +31875,28 @@ "value": "esminskin1" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Greataxe" + }, + "RESREF": { + "type": "resref", + "value": "sdgaxe" + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdgsword" + }, + "STRREF": { + "type": "dword", + "value": 167 + } + }, { "__struct_id": 0, "NAME": { @@ -31318,6 +32007,50 @@ "value": "guildsilks" } }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdhalberd" + }, + "STRREF": { + "type": "dword", + "value": 175 + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Handaxe" + }, + "RESREF": { + "type": "resref", + "value": "sdhaxe" + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdhcbow" + }, + "STRREF": { + "type": "dword", + "value": 173 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdhflail" + }, + "STRREF": { + "type": "dword", + "value": 1529 + } + }, { "__struct_id": 0, "NAME": { @@ -31329,6 +32062,160 @@ "value": "irongskin1" } }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdkama" + }, + "STRREF": { + "type": "dword", + "value": 1534 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdkatana" + }, + "STRREF": { + "type": "dword", + "value": 1535 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdkukri" + }, + "STRREF": { + "type": "dword", + "value": 1536 + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Light Crossbow" + }, + "RESREF": { + "type": "resref", + "value": "sdlcbow" + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdlflail" + }, + "STRREF": { + "type": "dword", + "value": 176 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdlhamm" + }, + "STRREF": { + "type": "dword", + "value": 1531 + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Longbow" + }, + "RESREF": { + "type": "resref", + "value": "sdlbow" + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdlsword" + }, + "STRREF": { + "type": "dword", + "value": 166 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdmace" + }, + "STRREF": { + "type": "dword", + "value": 177 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdmstar" + }, + "STRREF": { + "type": "dword", + "value": 1541 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdqstaff" + }, + "STRREF": { + "type": "dword", + "value": 1544 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdrapier" + }, + "STRREF": { + "type": "dword", + "value": 1545 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdscim" + }, + "STRREF": { + "type": "dword", + "value": 1547 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdscythe" + }, + "STRREF": { + "type": "dword", + "value": 1549 + } + }, { "__struct_id": 0, "NAME": { @@ -31823,6 +32710,127 @@ "type": "resref", "value": "sewaterskin1" } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdssword" + }, + "STRREF": { + "type": "dword", + "value": 106 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdsbow" + }, + "STRREF": { + "type": "dword", + "value": 171 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdsickle" + }, + "STRREF": { + "type": "dword", + "value": 1554 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdspear" + }, + "STRREF": { + "type": "dword", + "value": 1552 + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Staff 1" + }, + "RESREF": { + "type": "resref", + "value": "sdstaff1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Staff 2" + }, + "RESREF": { + "type": "resref", + "value": "sdstaff2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Staff 3" + }, + "RESREF": { + "type": "resref", + "value": "sdstaff3" + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sddbsword" + }, + "STRREF": { + "type": "dword", + "value": 172 + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Waraxe" + }, + "RESREF": { + "type": "resref", + "value": "sdwaxe" + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdwhamm" + }, + "STRREF": { + "type": "dword", + "value": 178 + } + }, + { + "__struct_id": 0, + "RESREF": { + "type": "resref", + "value": "sdwhip" + }, + "STRREF": { + "type": "dword", + "value": 83617 + } } ] }, @@ -31833,10 +32841,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 4 - }, "LIST": { "type": "list", "value": [ @@ -31851,6 +32855,600 @@ "value": "dm_chat_control" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Benevolent Cord" + }, + "RESREF": { + "type": "resref", + "value": "sd_cleric_s1_6" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Benevolent Ephod" + }, + "RESREF": { + "type": "resref", + "value": "sd_cleric_s1_5" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Benevolent Grips" + }, + "RESREF": { + "type": "resref", + "value": "sd_cleric_s1_1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Benevolent Mitre" + }, + "RESREF": { + "type": "resref", + "value": "sd_cleric_s1_3" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Benevolent Plate" + }, + "RESREF": { + "type": "resref", + "value": "sd_cleric_s1_4" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Benevolent Sandals" + }, + "RESREF": { + "type": "resref", + "value": "sd_cleric_s1_2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Conan's Bearskin Cloak" + }, + "RESREF": { + "type": "resref", + "value": "sd_barb_s4" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Conan's Belt" + }, + "RESREF": { + "type": "resref", + "value": "sd_barb_s3" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Conan's Crown" + }, + "RESREF": { + "type": "resref", + "value": "sd_barb_s1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Conan's Footstraps/c>" + }, + "RESREF": { + "type": "resref", + "value": "sd_barb_s5" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Conan's Loincloth" + }, + "RESREF": { + "type": "resref", + "value": "sd_barb_s2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Conan's Wriststrap" + }, + "RESREF": { + "type": "resref", + "value": "sd_barb_s6" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Dorian's Crest" + }, + "RESREF": { + "type": "resref", + "value": "sd_fighter_s1_2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Dorian's Gauntlets" + }, + "RESREF": { + "type": "resref", + "value": "sd_fighter_s1_5" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Dorian's Greaves" + }, + "RESREF": { + "type": "resref", + "value": "sd_fighter_s1_6" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Dorian's Helm" + }, + "RESREF": { + "type": "resref", + "value": "sd_fighter_s1_3" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Dorian's Vestguard" + }, + "RESREF": { + "type": "resref", + "value": "sd_fighter_s1_1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Dorian's Waistband" + }, + "RESREF": { + "type": "resref", + "value": "sd_fighter_s1_4" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Mystra's Cape" + }, + "RESREF": { + "type": "resref", + "value": "sd_wizard_s1_5" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Mystra's Robe" + }, + "RESREF": { + "type": "resref", + "value": "sd_wizard_s1_2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Mystra's Sash" + }, + "RESREF": { + "type": "resref", + "value": "sd_wizard_s1_4" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Mystra's Slippers" + }, + "RESREF": { + "type": "resref", + "value": "sd_wizard_s1_6" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Mystra's Tiara" + }, + "RESREF": { + "type": "resref", + "value": "sd_wizard_s1_3" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Mystra's Wraps" + }, + "RESREF": { + "type": "resref", + "value": "sd_wizard_s1_1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Oracle's Cord" + }, + "RESREF": { + "type": "resref", + "value": "sd_druid_s1_4" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Oracle's Covering" + }, + "RESREF": { + "type": "resref", + "value": "sd_druid_s1_2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Oracle's Headdress" + }, + "RESREF": { + "type": "resref", + "value": "sd_druid_s1_1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Oracle's Mantle" + }, + "RESREF": { + "type": "resref", + "value": "sd_druid_s1_5" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Oracle's Shinwraps" + }, + "RESREF": { + "type": "resref", + "value": "sd_druid_s1_3" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Oracle's Stanchions" + }, + "RESREF": { + "type": "resref", + "value": "sd_druid_s1_6" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Shinobi's Kabuto" + }, + "RESREF": { + "type": "resref", + "value": "sd_fighter_s2_2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Shinobi's Kimono" + }, + "RESREF": { + "type": "resref", + "value": "sd_fighter_s2_3" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Shinobi's Obi" + }, + "RESREF": { + "type": "resref", + "value": "sd_fighter_s2_5" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Shinobi's Oyoroi" + }, + "RESREF": { + "type": "resref", + "value": "sd_fighter_s2_6" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Shinobi's Tabi" + }, + "RESREF": { + "type": "resref", + "value": "sd_fighter_s2_4" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Shinobi's Tekou" + }, + "RESREF": { + "type": "resref", + "value": "sd_fighter_s2_1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Thera's Cape" + }, + "RESREF": { + "type": "resref", + "value": "sd_sorc_s1_2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Thera's Robe" + }, + "RESREF": { + "type": "resref", + "value": "sd_sorc_s1_1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Thera's Sash" + }, + "RESREF": { + "type": "resref", + "value": "sd_sorc_s1_3" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Thera's Slippers" + }, + "RESREF": { + "type": "resref", + "value": "sd_sorc_s1_4" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Thera's Tiara" + }, + "RESREF": { + "type": "resref", + "value": "sd_sorc_s1_5" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Thera's Wraps" + }, + "RESREF": { + "type": "resref", + "value": "sd_sorc_s1_6" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Trancendent Amulet" + }, + "RESREF": { + "type": "resref", + "value": "sd_monk_s1_6" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Trancendent Cap" + }, + "RESREF": { + "type": "resref", + "value": "sd_monk_s1_1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Trancendent Clogs" + }, + "RESREF": { + "type": "resref", + "value": "sd_monk_s1_5" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Trancendent Harness" + }, + "RESREF": { + "type": "resref", + "value": "sd_monk_s1_2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Trancendent Sequin Belt" + }, + "RESREF": { + "type": "resref", + "value": "sd_monk_s1_3" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Trancendent Windcatcher" + }, + "RESREF": { + "type": "resref", + "value": "sd_monk_s1_4" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Zealot's Gloves" + }, + "RESREF": { + "type": "resref", + "value": "sd_paladin_s1_1" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Zealot's Plate" + }, + "RESREF": { + "type": "resref", + "value": "sd_paladin_s1_5" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Zealot's Sabatons" + }, + "RESREF": { + "type": "resref", + "value": "sd_paladin_s1_2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Zealot's Targe" + }, + "RESREF": { + "type": "resref", + "value": "sd_paladin_s1_3" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Zealot's Vanguard" + }, + "RESREF": { + "type": "resref", + "value": "sd_paladin_s1_4" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Zealot's Waistguard" + }, + "RESREF": { + "type": "resref", + "value": "sd_paladin_s1_6" + } + }, { "__struct_id": 0, "NAME": { @@ -31928,6 +33526,17 @@ "value": "prc_wf_compbody" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Critter skin" + }, + "RESREF": { + "type": "resref", + "value": "sd_skin" + } + }, { "__struct_id": 0, "NAME": { @@ -32313,6 +33922,39 @@ "value": "mightsilk23" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Socket Gem" + }, + "RESREF": { + "type": "resref", + "value": "sd_rune" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Socket Gem" + }, + "RESREF": { + "type": "resref", + "value": "sd_rune2" + } + }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Socket Gem" + }, + "RESREF": { + "type": "resref", + "value": "sd_rune3" + } + }, { "__struct_id": 0, "NAME": { @@ -32527,10 +34169,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 53 - }, "LIST": { "type": "list", "value": [ @@ -32641,10 +34279,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 27 - }, "LIST": { "type": "list", "value": [ @@ -32866,10 +34500,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 28 - }, "LIST": { "type": "list", "value": [ @@ -32992,10 +34622,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 29 - }, "LIST": { "type": "list", "value": [ @@ -33108,10 +34734,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 32 - }, "LIST": { "type": "list", "value": [ @@ -33245,10 +34867,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 30 - }, "LIST": { "type": "list", "value": [ @@ -33371,10 +34989,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 31 - }, "LIST": { "type": "list", "value": [ @@ -33465,10 +35079,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 33 - }, "LIST": { "type": "list", "value": [ @@ -33613,10 +35223,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 34 - }, "LIST": { "type": "list", "value": [ @@ -33739,10 +35345,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 35 - }, "LIST": { "type": "list", "value": [ @@ -33942,10 +35544,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 36 - }, "LIST": { "type": "list", "value": [ @@ -34277,10 +35875,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 37 - }, "LIST": { "type": "list", "value": [ @@ -34755,10 +36349,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 38 - }, "LIST": { "type": "list", "value": [ @@ -34981,10 +36571,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 39 - }, "LIST": { "type": "list", "value": [ @@ -35052,10 +36638,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 40 - }, "LIST": { "type": "list", "value": [ @@ -35178,10 +36760,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 41 - }, "LIST": { "type": "list", "value": [ @@ -35284,17 +36862,6 @@ "value": "legend27" } }, - { - "__struct_id": 0, - "NAME": { - "type": "cexostring", - "value": "Maul" - }, - "RESREF": { - "type": "resref", - "value": "maul" - } - }, { "__struct_id": 0, "NAME": { @@ -35337,10 +36904,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 42 - }, "LIST": { "type": "list", "value": [ @@ -35463,10 +37026,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 61 - }, "LIST": { "type": "list", "value": [ @@ -35541,10 +37100,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 46 - }, "LIST": { "type": "list", "value": [ @@ -35810,10 +37365,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 47 - }, "LIST": { "type": "list", "value": [ @@ -36194,10 +37745,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 48 - }, "LIST": { "type": "list", "value": [ @@ -36265,10 +37812,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 49 - }, "LIST": { "type": "list", "value": [ @@ -36567,10 +38110,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 50 - }, "LIST": { "type": "list", "value": [ @@ -36645,10 +38184,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 51 - }, "LIST": { "type": "list", "value": [ @@ -36897,10 +38432,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 43 - }, "LIST": { "type": "list", "value": [ @@ -37012,10 +38543,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 44 - }, "LIST": { "type": "list", "value": [ @@ -37149,10 +38676,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 45 - }, "LIST": { "type": "list", "value": [ @@ -37231,10 +38754,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 62 - }, "LIST": { "type": "list", "value": [ @@ -37298,10 +38817,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 52 - }, "LIST": { "type": "list", "value": [ diff --git a/_module/itp/placeablepalcus.itp.json b/_module/itp/placeablepalcus.itp.json index 296d8fb0..8ee76d3c 100644 --- a/_module/itp/placeablepalcus.itp.json +++ b/_module/itp/placeablepalcus.itp.json @@ -5,10 +5,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 7 - }, "LIST": { "type": "list", "value": [ @@ -241,10 +237,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 22 - }, "STRREF": { "type": "dword", "value": 111663 @@ -252,10 +244,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 6 - }, "LIST": { "type": "list", "value": [ @@ -2050,10 +2038,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 8 - }, "LIST": { "type": "list", "value": [ @@ -2121,10 +2105,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 9 - }, "LIST": { "type": "list", "value": [ @@ -2456,10 +2436,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 10 - }, "LIST": { "type": "list", "value": [ @@ -2912,10 +2888,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 11 - }, "LIST": { "type": "list", "value": [ @@ -3335,10 +3307,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 12 - }, "LIST": { "type": "list", "value": [ @@ -3439,10 +3407,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 14 - }, "STRREF": { "type": "dword", "value": 9122 @@ -3450,10 +3414,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 15 - }, "LIST": { "type": "list", "value": [ @@ -3504,10 +3464,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 0 - }, "LIST": { "type": "list", "value": [ @@ -3729,10 +3685,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 1 - }, "LIST": { "type": "list", "value": [ @@ -3811,10 +3763,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 2 - }, "LIST": { "type": "list", "value": [ @@ -3959,10 +3907,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 3 - }, "STRREF": { "type": "dword", "value": 6691 @@ -3970,10 +3914,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 4 - }, "LIST": { "type": "list", "value": [ @@ -4037,10 +3977,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 13 - }, "LIST": { "type": "list", "value": [ @@ -4086,19 +4022,11 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 16 - }, "LIST": { "type": "list", "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 17 - }, "LIST": { "type": "list", "value": [ @@ -4122,10 +4050,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 19 - }, "STRREF": { "type": "dword", "value": 5836 @@ -4133,10 +4057,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 21 - }, "STRREF": { "type": "dword", "value": 67585 @@ -4144,10 +4064,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 20 - }, "STRREF": { "type": "dword", "value": 53151 @@ -4155,10 +4071,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 18 - }, "LIST": { "type": "list", "value": [ @@ -4189,10 +4101,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 5 - }, "LIST": { "type": "list", "value": [ @@ -4211,7 +4119,7 @@ "__struct_id": 0, "NAME": { "type": "cexostring", - "value": "Genesis Enterance Portal" + "value": "Genesis Entrance Portal" }, "RESREF": { "type": "resref", diff --git a/_module/itp/soundpalcus.itp.json b/_module/itp/soundpalcus.itp.json index 5a8a56a8..a3ff800d 100644 --- a/_module/itp/soundpalcus.itp.json +++ b/_module/itp/soundpalcus.itp.json @@ -5,10 +5,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 6 - }, "STRREF": { "type": "dword", "value": 6694 @@ -16,10 +12,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 13 - }, "STRREF": { "type": "dword", "value": 63289 @@ -27,10 +19,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 12 - }, "STRREF": { "type": "dword", "value": 62487 @@ -38,10 +26,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 7 - }, "STRREF": { "type": "dword", "value": 62483 @@ -49,10 +33,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 5 - }, "STRREF": { "type": "dword", "value": 62482 @@ -65,10 +45,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 0 - }, "STRREF": { "type": "dword", "value": 6688 @@ -76,10 +52,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 1 - }, "STRREF": { "type": "dword", "value": 6689 @@ -87,10 +59,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 2 - }, "STRREF": { "type": "dword", "value": 6690 @@ -98,10 +66,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 3 - }, "STRREF": { "type": "dword", "value": 6691 @@ -109,10 +73,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 4 - }, "STRREF": { "type": "dword", "value": 6692 @@ -127,10 +87,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 8 - }, "STRREF": { "type": "dword", "value": 62484 diff --git a/_module/itp/storepalcus.itp.json b/_module/itp/storepalcus.itp.json index 025368c5..0d92f379 100644 --- a/_module/itp/storepalcus.itp.json +++ b/_module/itp/storepalcus.itp.json @@ -5,10 +5,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 5 - }, "LIST": { "type": "list", "value": [ @@ -92,10 +88,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 0 - }, "LIST": { "type": "list", "value": [ @@ -152,10 +144,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 1 - }, "LIST": { "type": "list", "value": [ @@ -201,10 +189,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 2 - }, "STRREF": { "type": "dword", "value": 6690 @@ -212,10 +196,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 3 - }, "LIST": { "type": "list", "value": [ @@ -239,10 +219,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 4 - }, "STRREF": { "type": "dword", "value": 6692 diff --git a/_module/itp/triggerpalcus.itp.json b/_module/itp/triggerpalcus.itp.json index 581b70fa..3503bce1 100644 --- a/_module/itp/triggerpalcus.itp.json +++ b/_module/itp/triggerpalcus.itp.json @@ -5,10 +5,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 5 - }, "STRREF": { "type": "dword", "value": 1082 @@ -16,10 +12,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 6 - }, "LIST": { "type": "list", "value": [ @@ -307,10 +299,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 16 - }, "STRREF": { "type": "dword", "value": 9129 @@ -323,10 +311,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 0 - }, "LIST": { "type": "list", "value": [ @@ -361,10 +345,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 1 - }, "STRREF": { "type": "dword", "value": 6689 @@ -372,10 +352,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 2 - }, "STRREF": { "type": "dword", "value": 6690 @@ -383,10 +359,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 3 - }, "STRREF": { "type": "dword", "value": 6691 @@ -394,10 +366,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 4 - }, "STRREF": { "type": "dword", "value": 6692 @@ -417,10 +385,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 11 - }, "STRREF": { "type": "dword", "value": 53181 @@ -428,10 +392,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 12 - }, "STRREF": { "type": "dword", "value": 2255 @@ -439,10 +399,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 13 - }, "STRREF": { "type": "dword", "value": 2256 @@ -450,10 +406,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 14 - }, "STRREF": { "type": "dword", "value": 2257 @@ -461,10 +413,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 15 - }, "STRREF": { "type": "dword", "value": 53182 diff --git a/_module/itp/waypointpalcus.itp.json b/_module/itp/waypointpalcus.itp.json index cee240bf..3a83a289 100644 --- a/_module/itp/waypointpalcus.itp.json +++ b/_module/itp/waypointpalcus.itp.json @@ -10,10 +10,6 @@ "value": [ { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 0 - }, "LIST": { "type": "list", "value": [ @@ -59,10 +55,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 1 - }, "STRREF": { "type": "dword", "value": 6689 @@ -70,10 +62,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 2 - }, "STRREF": { "type": "dword", "value": 6690 @@ -81,10 +69,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 3 - }, "STRREF": { "type": "dword", "value": 6691 @@ -92,10 +76,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 4 - }, "STRREF": { "type": "dword", "value": 6692 @@ -110,10 +90,6 @@ }, { "__struct_id": 0, - "ID": { - "type": "byte", - "value": 5 - }, "LIST": { "type": "list", "value": [ diff --git a/_module/ncs/airlessaura1.ncs b/_module/ncs/airlessaura1.ncs index 7961ea56..8c294006 100644 Binary files a/_module/ncs/airlessaura1.ncs and b/_module/ncs/airlessaura1.ncs differ diff --git a/_module/ncs/altardeath2.ncs b/_module/ncs/altardeath2.ncs index 771f9243..7a7ab4e3 100644 Binary files a/_module/ncs/altardeath2.ncs and b/_module/ncs/altardeath2.ncs differ diff --git a/_module/ncs/darktrigger2a.ncs b/_module/ncs/darktrigger2a.ncs index 0d166dc2..025fa0b7 100644 Binary files a/_module/ncs/darktrigger2a.ncs and b/_module/ncs/darktrigger2a.ncs differ diff --git a/_module/ncs/moad_spawn.ncs b/_module/ncs/moad_spawn.ncs index 31a05e65..395b96af 100644 Binary files a/_module/ncs/moad_spawn.ncs and b/_module/ncs/moad_spawn.ncs differ diff --git a/_module/ncs/no_spn_dragon.ncs b/_module/ncs/no_spn_dragon.ncs index 9a5d40e7..e32d1ac2 100644 Binary files a/_module/ncs/no_spn_dragon.ncs and b/_module/ncs/no_spn_dragon.ncs differ diff --git a/_module/ncs/prc_pwonspawn.ncs b/_module/ncs/prc_pwonspawn.ncs index 279796a4..871366b3 100644 Binary files a/_module/ncs/prc_pwonspawn.ncs and b/_module/ncs/prc_pwonspawn.ncs differ diff --git a/_module/ncs/sd_area_purge.ncs b/_module/ncs/sd_area_purge.ncs new file mode 100644 index 00000000..7f5e497b Binary files /dev/null and b/_module/ncs/sd_area_purge.ncs differ diff --git a/_module/ncs/sd_chest_lever.ncs b/_module/ncs/sd_chest_lever.ncs new file mode 100644 index 00000000..1d1b668d Binary files /dev/null and b/_module/ncs/sd_chest_lever.ncs differ diff --git a/_module/ncs/sd_chest_loot.ncs b/_module/ncs/sd_chest_loot.ncs new file mode 100644 index 00000000..bbc97455 Binary files /dev/null and b/_module/ncs/sd_chest_loot.ncs differ diff --git a/_module/ncs/sd_chestspwn_ent.ncs b/_module/ncs/sd_chestspwn_ent.ncs new file mode 100644 index 00000000..7175ab11 Binary files /dev/null and b/_module/ncs/sd_chestspwn_ent.ncs differ diff --git a/_module/ncs/sd_clear_sok_chs.ncs b/_module/ncs/sd_clear_sok_chs.ncs new file mode 100644 index 00000000..4de883c2 Binary files /dev/null and b/_module/ncs/sd_clear_sok_chs.ncs differ diff --git a/_module/ncs/sd_creature_kill.ncs b/_module/ncs/sd_creature_kill.ncs new file mode 100644 index 00000000..88cf05fb Binary files /dev/null and b/_module/ncs/sd_creature_kill.ncs differ diff --git a/_module/ncs/sd_destroy_lbag.ncs b/_module/ncs/sd_destroy_lbag.ncs new file mode 100644 index 00000000..17fa791b Binary files /dev/null and b/_module/ncs/sd_destroy_lbag.ncs differ diff --git a/_module/ncs/sd_destroyself.ncs b/_module/ncs/sd_destroyself.ncs new file mode 100644 index 00000000..aed4c271 Binary files /dev/null and b/_module/ncs/sd_destroyself.ncs differ diff --git a/_module/ncs/sd_dth.ncs b/_module/ncs/sd_dth.ncs new file mode 100644 index 00000000..7cb065df Binary files /dev/null and b/_module/ncs/sd_dth.ncs differ diff --git a/_module/ncs/sd_loot_anim.ncs b/_module/ncs/sd_loot_anim.ncs new file mode 100644 index 00000000..1614b931 Binary files /dev/null and b/_module/ncs/sd_loot_anim.ncs differ diff --git a/_module/ncs/sd_loot_corpse.ncs b/_module/ncs/sd_loot_corpse.ncs new file mode 100644 index 00000000..994dc8cb Binary files /dev/null and b/_module/ncs/sd_loot_corpse.ncs differ diff --git a/_module/ncs/sd_oncliententer.ncs b/_module/ncs/sd_oncliententer.ncs new file mode 100644 index 00000000..122c5967 Binary files /dev/null and b/_module/ncs/sd_oncliententer.ncs differ diff --git a/_module/ncs/sd_onrespawn.ncs b/_module/ncs/sd_onrespawn.ncs new file mode 100644 index 00000000..fd31849e Binary files /dev/null and b/_module/ncs/sd_onrespawn.ncs differ diff --git a/_module/ncs/sd_set_item.ncs b/_module/ncs/sd_set_item.ncs new file mode 100644 index 00000000..6f9b673b Binary files /dev/null and b/_module/ncs/sd_set_item.ncs differ diff --git a/_module/ncs/sd_setdrop.ncs b/_module/ncs/sd_setdrop.ncs new file mode 100644 index 00000000..7e7ce408 Binary files /dev/null and b/_module/ncs/sd_setdrop.ncs differ diff --git a/_module/ncs/sd_setplot.ncs b/_module/ncs/sd_setplot.ncs new file mode 100644 index 00000000..bdf8e9fe Binary files /dev/null and b/_module/ncs/sd_setplot.ncs differ diff --git a/_module/ncs/sd_soc_install.ncs b/_module/ncs/sd_soc_install.ncs new file mode 100644 index 00000000..eeb88251 Binary files /dev/null and b/_module/ncs/sd_soc_install.ncs differ diff --git a/_module/ncs/silenttrigger2.ncs b/_module/ncs/silenttrigger2.ncs index 90e8f4e5..2274260f 100644 Binary files a/_module/ncs/silenttrigger2.ncs and b/_module/ncs/silenttrigger2.ncs differ diff --git a/_module/nss/codi_spawn.nss b/_module/nss/codi_spawn.nss index 819c5a4f..8d30862a 100644 --- a/_module/nss/codi_spawn.nss +++ b/_module/nss/codi_spawn.nss @@ -44,6 +44,7 @@ const int EVENT_USER_DEFINED_POSTSPAWN = 1511; #include "ms_name_inc" #include "x2_inc_switches" + void Embiggen(object oNPC, float fIncrease); void Embiggen(object oNPC, float fIncrease) @@ -597,6 +598,7 @@ void main() //:: Set or Randomize name ms_Nomenclature(OBJECT_SELF); + //:: Post Spawn event requested if (nSpecEvent == 2 || nSpecEvent == 3) diff --git a/_module/nss/inc_colorstring.nss b/_module/nss/inc_colorstring.nss new file mode 100644 index 00000000..1f7a0595 --- /dev/null +++ b/_module/nss/inc_colorstring.nss @@ -0,0 +1,7 @@ +const string COLORTOKEN =" ##################$%&'()*+,-./0123456789:;;==?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[[]^_`abcdefghijklmnopqrstuvwxyz{|}~~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¡¢£¤¥¦§¨©ª«¬¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþþ"; + +string ColorString(string sText, int nRed=255, int nGreen=255, int nBlue=255) +{ + return "" + sText + ""; +} + diff --git a/_module/nss/inc_itm_appear.nss b/_module/nss/inc_itm_appear.nss new file mode 100644 index 00000000..2f9bd6e8 --- /dev/null +++ b/_module/nss/inc_itm_appear.nss @@ -0,0 +1,228 @@ +//::////////////////////////////////////////////// +// Common Loot Generator Script +// Created By: Scott Milliorn +// Module - A Carpathian Nightmare +// Date: June 13th, 2018 +// +// Additional help with donation of code from Dorrian of Trials of Newcastle +// +// If any code is used from this script please give credit to both - +// Milliorn of A Carpathian Nightmare +// Dorrian of Trials of Newcastle +//::////////////////////////////////////////////// +#include "prc_x2_itemprop" + +//:: Randomize the color of Weapons. +void ColorWeapon(object oItem, int iBottom, int iMiddle ,int iTop, object oPC); + +//:: Randomize the color of Armor. (By Dorrian & Milliorn) +void ColorArmor(object oItem, int cloth1, int cloth2, int leather1, int leather2, int metal1, int metal2, object oPC); + +//:: Randomize the appearance of Rings, Amulets & Belts. +void ChangeRingAmuBelt(object oItem, int appearance, object oPC); + +//:: Random Weapon parts. +void ChangeWeaponAppearance(object oItem, int iBottom, int iMiddle ,int iTop, int iBottomC, int iMiddleC ,int iTopC, object oPC); + +//:: Random Helm & Cloak color and/or appearance. +void ColorHelmClk(object oItem, int cloth1, int cloth2, int leather1, int leather2, int metal1, int metal2, int appearance, object oPC); + +//:: Random Armor parts. +void ChangeArmor(object oItem, + int iRandomShoulder, + int iRandomBicep, + int iRandomForearm, + int iRandomHand, + int iRandomThigh, + int iRandomShins, + int iRandomFeet, + int iRandomPelvis, + int iRandomBelt, + int iRandomNeck, + int iRandomChest, + int cloth1, + int cloth2, + int leather1, + int leather2, + int metal1, + int metal2, + object oPC); + +void ChangeArmor(object oItem, + int iRandomShoulder, + int iRandomBicep, + int iRandomForearm, + int iRandomHand, + int iRandomThigh, + int iRandomShins, + int iRandomFeet, + int iRandomPelvis, + int iRandomBelt, + int iRandomNeck, + int iRandomChest, + int cloth1, + int cloth2, + int leather1, + int leather2, + int metal1, + int metal2, + object oPC) +{ + object oCopyBox = GetObjectByTag("LOOT_GENERATOR"); + + object oCopy = CopyItem(oItem,oCopyBox, TRUE); + DestroyObject(oItem); // remove old item + object oCopy1 = CopyItemAndModify(oCopy, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_RFOOT, iRandomFeet, TRUE); + DestroyObject(oCopy); // remove old item + object oCopy2 = CopyItemAndModify(oCopy1, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LFOOT, iRandomFeet, TRUE); + DestroyObject(oCopy1); // remove old item + object oCopy3 = CopyItemAndModify(oCopy2, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_RSHIN, iRandomShins, TRUE); + DestroyObject(oCopy2); // remove old item + object oCopy4 = CopyItemAndModify(oCopy3, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LSHIN, iRandomShins, TRUE); + DestroyObject(oCopy3); // remove old item + object oCopy5 = CopyItemAndModify(oCopy4, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LTHIGH, iRandomThigh, TRUE); + DestroyObject(oCopy4); // remove old item + object oCopy6 = CopyItemAndModify(oCopy5, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_RTHIGH, iRandomThigh, TRUE); + DestroyObject(oCopy5); // remove old item + object oCopy7 = CopyItemAndModify(oCopy6, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_PELVIS, iRandomPelvis, TRUE); + DestroyObject(oCopy6); // remove old item + object oCopy8 = CopyItemAndModify(oCopy7, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_TORSO, iRandomChest, TRUE); + DestroyObject(oCopy7); // remove old item + object oCopy9 = CopyItemAndModify(oCopy8, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_BELT, iRandomBelt, TRUE); + DestroyObject(oCopy8); // remove old item + object oCopy10 = CopyItemAndModify(oCopy9, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_NECK, iRandomNeck, TRUE); + DestroyObject(oCopy9); // remove old item + object oCopy11 = CopyItemAndModify(oCopy10, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_RFOREARM, iRandomForearm, TRUE); + DestroyObject(oCopy10); // remove old item + object oCopy12 = CopyItemAndModify(oCopy11, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LFOREARM, iRandomForearm, TRUE); + DestroyObject(oCopy11); // remove old item + object oCopy13 = CopyItemAndModify(oCopy12, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_RBICEP, iRandomBicep, TRUE); + DestroyObject(oCopy12); // remove old item + object oCopy14 = CopyItemAndModify(oCopy13, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LBICEP, iRandomBicep, TRUE); + DestroyObject(oCopy13); // remove old item + object oCopy15 = CopyItemAndModify(oCopy14, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_RSHOULDER, iRandomShoulder, TRUE); + DestroyObject(oCopy14); // remove old item + object oCopy16 = CopyItemAndModify(oCopy15, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LSHOULDER, iRandomShoulder, TRUE); + DestroyObject(oCopy15); // remove old item + object oCopy17 = CopyItemAndModify(oCopy16, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_RHAND, iRandomHand, TRUE); + DestroyObject(oCopy16); // remove old item + object oCopy18 = CopyItemAndModify(oCopy17, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LHAND, iRandomHand, TRUE); + DestroyObject(oCopy17); // remove old item + object oCopy19 = CopyItemAndModify(oCopy18, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_CLOTH1, cloth1, TRUE); + DestroyObject(oCopy18); // remove old item + object oCopy20 = CopyItemAndModify(oCopy19, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_CLOTH2, cloth2, TRUE); + DestroyObject(oCopy19); // remove old item + object oCopy21 = CopyItemAndModify(oCopy20, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_LEATHER1, leather1, TRUE); + DestroyObject(oCopy20); // remove old item + object oCopy22 = CopyItemAndModify(oCopy21, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_LEATHER2, leather2, TRUE); + DestroyObject(oCopy21); // remove old item + object oCopy23 = CopyItemAndModify(oCopy22, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_METAL1, metal1, TRUE); + DestroyObject(oCopy22); // remove old item + object oCopy24 = CopyItemAndModify(oCopy23, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_METAL2, metal2, TRUE); + DestroyObject(oCopy23); // remove old item + object oCopy25 = CopyItem(oCopy24,oPC, TRUE); + DestroyObject(oCopy24); // remove old item + +} + +void ColorArmor(object oItem, int cloth1, int cloth2, int leather1, int leather2, int metal1, int metal2, object oPC) +{ + object oCopyBox = GetObjectByTag("LOOT_GENERATOR"); + + object oCopy = CopyItem(oItem,oCopyBox, TRUE); + DestroyObject(oItem); // remove old item + object oCopy1 = CopyItemAndModify(oCopy, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_CLOTH1, cloth1, TRUE); + DestroyObject(oCopy); // remove old item + object oCopy2 = CopyItemAndModify(oCopy1, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_CLOTH2, cloth2, TRUE); + DestroyObject(oCopy1); // remove old item + object oCopy3 = CopyItemAndModify(oCopy2, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_LEATHER1, leather1, TRUE); + DestroyObject(oCopy2); // remove old item + object oCopy4 = CopyItemAndModify(oCopy3, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_LEATHER2, leather2, TRUE); + DestroyObject(oCopy3); // remove old item + object oCopy5 = CopyItemAndModify(oCopy4, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_METAL1, metal1, TRUE); + DestroyObject(oCopy4); // remove old item + object oCopy6 = CopyItemAndModify(oCopy5, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_METAL2, metal2, TRUE); + DestroyObject(oCopy5); // remove old item + object oCopy7 = CopyItem(oCopy6,oPC, TRUE); + DestroyObject(oCopy6); // remove old item +} + +void ColorHelmClk(object oItem, int cloth1, int cloth2, int leather1, int leather2, int metal1, int metal2, int appearance, object oPC) +{ + object oCopyBox = GetObjectByTag("LOOT_GENERATOR"); + + object oCopy = CopyItem(oItem,oCopyBox, TRUE); + DestroyObject(oItem); // remove old item + object oCopy1 = CopyItemAndModify(oCopy, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_CLOTH1, cloth1, TRUE); + DestroyObject(oCopy); // remove old item + object oCopy2 = CopyItemAndModify(oCopy1, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_CLOTH2, cloth2, TRUE); + DestroyObject(oCopy1); // remove old item + object oCopy3 = CopyItemAndModify(oCopy2, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_LEATHER1, leather1, TRUE); + DestroyObject(oCopy2); // remove old item + object oCopy4 = CopyItemAndModify(oCopy3, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_LEATHER2, leather2, TRUE); + DestroyObject(oCopy3); // remove old item + object oCopy5 = CopyItemAndModify(oCopy4, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_METAL1, metal1, TRUE); + DestroyObject(oCopy4); // remove old item + object oCopy6 = CopyItemAndModify(oCopy5, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_METAL2, metal2, TRUE); + DestroyObject(oCopy5); // remove old item + object oCopy7 = CopyItemAndModify(oCopy6, ITEM_APPR_TYPE_SIMPLE_MODEL, 0, appearance, TRUE); + DestroyObject(oCopy6); // remove old item + object oCopy8 = CopyItem(oCopy7,oPC, TRUE); + DestroyObject(oCopy7); // remove old item +} + +void ChangeRingAmuBelt(object oItem, int appearance, object oPC) +{ + object oCopyBox = GetObjectByTag("LOOT_GENERATOR"); + + object oCopy = CopyItem(oItem,oCopyBox, TRUE); + DestroyObject(oItem); // remove old item + object oCopy1 = CopyItemAndModify(oCopy, ITEM_APPR_TYPE_SIMPLE_MODEL, 0, appearance, TRUE); + DestroyObject(oCopy); // remove old item + object oCopy2 = CopyItem(oCopy1,oPC, TRUE); + DestroyObject(oCopy1); // remove old item +} + +void ChangeWeaponAppearance(object oItem, int iBottom, int iMiddle ,int iTop, int iBottomC, int iMiddleC, int iTopC, object oPC) +{ + object oCopyBox = GetObjectByTag("LOOT_GENERATOR"); + + object oCopy = CopyItem(oItem,oCopyBox, TRUE); + DestroyObject(oItem); // remove old item + object oCopy1 = CopyItemAndModify(oCopy, ITEM_APPR_TYPE_WEAPON_MODEL, ITEM_APPR_WEAPON_MODEL_BOTTOM, iBottom, TRUE); + DestroyObject(oCopy); // remove old item + object oCopy2 = CopyItemAndModify(oCopy1, ITEM_APPR_TYPE_WEAPON_MODEL, ITEM_APPR_WEAPON_MODEL_MIDDLE, iMiddle, TRUE); + DestroyObject(oCopy1); // remove old item + object oCopy3 = CopyItemAndModify(oCopy2, ITEM_APPR_TYPE_WEAPON_MODEL, ITEM_APPR_WEAPON_MODEL_TOP, iTop, TRUE); + DestroyObject(oCopy2); // remove old item + object oCopy4 = CopyItemAndModify(oCopy3, ITEM_APPR_TYPE_WEAPON_COLOR, ITEM_APPR_WEAPON_COLOR_BOTTOM, iBottomC, TRUE); + DestroyObject(oCopy3); // remove old item + object oCopy5 = CopyItemAndModify(oCopy4, ITEM_APPR_TYPE_WEAPON_COLOR, ITEM_APPR_WEAPON_COLOR_MIDDLE, iMiddleC, TRUE); + DestroyObject(oCopy4); // remove old item + object oCopy6 = CopyItemAndModify(oCopy5, ITEM_APPR_TYPE_WEAPON_COLOR, ITEM_APPR_WEAPON_COLOR_TOP, iTopC, TRUE); + DestroyObject(oCopy5); // remove old item + object oCopy7 = CopyItem(oCopy6,oPC, TRUE); + DestroyObject(oCopy6); // remove old item + + +} + +void ColorWeapon(object oItem, int iBottom, int iMiddle ,int iTop, object oPC) +{ + object oCopyBox = GetObjectByTag("LOOT_GENERATOR"); + + object oCopy = CopyItem(oItem,oCopyBox, TRUE); + DestroyObject(oItem); // remove old item + object oCopy1 = CopyItemAndModify(oCopy, ITEM_APPR_TYPE_WEAPON_COLOR, ITEM_APPR_WEAPON_COLOR_BOTTOM, iBottom, TRUE); + DestroyObject(oCopy); // remove old item + object oCopy2 = CopyItemAndModify(oCopy1, ITEM_APPR_TYPE_WEAPON_COLOR, ITEM_APPR_WEAPON_COLOR_MIDDLE, iMiddle, TRUE); + DestroyObject(oCopy1); // remove old item + object oCopy3 = CopyItemAndModify(oCopy2, ITEM_APPR_TYPE_WEAPON_COLOR, ITEM_APPR_WEAPON_COLOR_TOP, iTop, TRUE); + DestroyObject(oCopy2); // remove old item + object oCopy4 = CopyItem(oCopy3,oPC, TRUE); + DestroyObject(oCopy3); // remove old item +} + +//::void main () {} + + diff --git a/_module/nss/moad_spawn.nss b/_module/nss/moad_spawn.nss index 4ec8ecde..792d8fad 100644 --- a/_module/nss/moad_spawn.nss +++ b/_module/nss/moad_spawn.nss @@ -32,6 +32,8 @@ #include "x2_inc_switches" #include "nwnx_webhook" #include "nwnx_util" +#include "sd_lootsystem" +#include "ms_name_inc" const int EVENT_USER_DEFINED_PRESPAWN = 1510; const int EVENT_USER_DEFINED_POSTSPAWN = 1511; @@ -85,6 +87,12 @@ void main() // Execute default OnSpawn script. ExecuteScript("nw_c2_default9", OBJECT_SELF); +//:: Set or Randomize name + ms_Nomenclature(OBJECT_SELF); + +//:: Testing OnSpawn loot system. + sd_droploot(OBJECT_SELF, OBJECT_SELF); + //Post Spawn event requeste if (nSpecEvent == 2 || nSpecEvent == 3) diff --git a/_module/nss/pqj_inc.nss b/_module/nss/pqj_inc.nss new file mode 100644 index 00000000..02ef6a25 --- /dev/null +++ b/_module/nss/pqj_inc.nss @@ -0,0 +1,249 @@ +//:://///////////////////////////////////////////// +//:: Persistent Quests & Journal Entries / Beta +//:: pqj_inc +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + + Persistent Quests and Journal Entries + + This is a compact set of scripts (4 public functions, 2 private functions) to help you get + a persistent journal and to generally manage quests without much overhead. + + it works like this: + + you prepare your journal in the toolbox, assigning proper tags/ids, then you normally use + AddJournalQuestEntry() and RemoveJournalQuestEntry() to manage them via scripting. + + now, you just have to use AddPersistentJournalQuestEntry() and RemovePersistentJournalQuestEntry() + with exact the same parameters (bAllPlayer, bAllPartyMembers and bAllowOverrideHigher still work like + in the original bioware functions). this means no restrictions, it's fully transparent. + + now add the following line of code to your Module OnClientEnter script (don't forget to include this script): + RebuildJournalQuestEntries(GetEnteringObject()); + + that's all, now you have a persistent journal... you can basically use CTRL-R to find/replace the + original functions with the persistent ones and add the OnClientEnter code. + + furthermore, you can use RetrieveQuestState() to get the current state of a + quest for the specified player/quest-tag. this means you can manage your conversations with + this function and control quest-flow. you won't need to store additional LocalInts somewhere, just + use the DB information. + + technical blabla: + + minimized DB usage: stores all quest states in a single string + + i'm using a combo of tokenized + padded string to get maximum parsing efficiency. + tokenized: i can find & change a single quest entry with only a few string commands + padded: i can browse through a large string (100+ quest entries) with minimal need of string manipulation + so this won't slow down your server during journal rebuilds even with tons of quests + + this is beta code and pretty much un-optimized ..still needs some bug hunting + +*/ +//::////////////////////////////////////////////// +//:: Created By: Knat +//:: Created On: 19.06.2003 +//::////////////////////////////////////////////// + +// database filename +const string PQJ_DATABASE = "JOURNALS"; +// database fieldname +const string PQJ_PLAYER_VARNAME = "QUESTJOURNAL"; + +// +//void main (){} +// +// +// transparent wrapper to AddJournalQuestEntry +// use this function instead of the original one to store quest/journal data +// persistently using the bio DB. all function parameters work similar to the original function +// +// Add a journal quest entry to oCreature. +// - szPlotID: the plot identifier used in the toolset's Journal Editor +// - nState: the state of the plot as seen in the toolset's Journal Editor +// - oCreature +// - bAllPartyMembers: If this is TRUE, the entry will show up in the journal of +// everyone in the party +// - bAllPlayers: If this is TRUE, the entry will show up in the journal of +// everyone in the world +// - bAllowOverrideHigher: If this is TRUE, you can set the state to a lower +// number than the one it is currently on +void AddPersistentJournalQuestEntry(string szPlotID, int nState, object oCreature, int bAllPartyMembers=TRUE, int bAllPlayers=FALSE, int bAllowOverrideHigher=FALSE); + +// transparent wrapper to RemoveJournalQuestEntry() +// use this function instead of the original one to remove quest/journal data +// persistently using the bio DB. all function parameters work similar to the original function +// +// Remove a journal quest entry from oCreature. +// - szPlotID: the plot identifier used in the toolset's Journal Editor +// - oCreature +// - bAllPartyMembers: If this is TRUE, the entry will be removed from the +// journal of everyone in the party +// - bAllPlayers: If this is TRUE, the entry will be removed from the journal of +// everyone in the world +void RemovePersistentJournalQuestEntry(string szPlotID, object oCreature, int bAllPartyMembers=TRUE, int bAllPlayers=FALSE); + +// use this function to rebuild the journal on oCreature using the bio DB +// a good place is the Module OnClientEnter() event +void RebuildJournalQuestEntries(object oCreature); + +// retrieve persistent quest state from the DB +// - szPlotID: the plot identifier used in the toolset's Journal Editor +int RetrieveQuestState(string szPlotID, object oCreature); + +// ----------------------------------------------------------------------------- + +void RebuildJournalQuestEntries(object oCreature) +{ + if(GetIsPC(oCreature)) + { + string sEntries = GetCampaignString(PQJ_DATABASE,PQJ_PLAYER_VARNAME,oCreature); + int i, nCount = GetStringLength(sEntries) / 44; + + string sQuest; + for(i=0;i < nCount;i++) + { + // get quest + sQuest = GetSubString(sEntries,(i*44),32); + // remove padding + sQuest = GetStringLeft(sQuest, FindSubString(sQuest, " ")); + // add journal entry + AddJournalQuestEntry(sQuest, StringToInt(GetSubString(sEntries,(i*44) + 33,8)), oCreature, FALSE, FALSE, TRUE); + } + } +} + +int RetrieveQuestState(string szPlotID, object oCreature) +{ + // retrieve all quest entries + string sEntries = GetCampaignString(PQJ_DATABASE,PQJ_PLAYER_VARNAME,oCreature); + // get quest we search for and add padding + string sQuest = (GetStringLength(szPlotID) < 32) ? szPlotID + GetStringLeft(" ",32 - GetStringLength(szPlotID)) : GetStringLeft(szPlotID,32); + + // find target quest + int nPos = FindSubString(sEntries, sQuest + ">"); + + if( nPos != -1) // success ?? get & return value + return StringToInt(GetStringLeft(GetStringRight(sEntries,GetStringLength(sEntries)-nPos-GetStringLength(sQuest)-1),10)); + + // quest not started yet + return 0; +} + +void StoreQuestEntry(string szPlotID, int nState, object oCreature, int bAllowOverrideHigher=FALSE) +{ + // retrieve all quest entries + string sEntries = GetCampaignString(PQJ_DATABASE,PQJ_PLAYER_VARNAME,oCreature); + + // pad quest + string sQuest = (GetStringLength(szPlotID) < 32) ? szPlotID + GetStringLeft(" ",32 - GetStringLength(szPlotID)) : GetStringLeft(szPlotID,32); + // pad state + string sState = IntToString(nState); + sState = (GetStringLength(sState) < 10) ? sState + GetStringLeft(" ",10 - GetStringLength(sState)) : GetStringLeft(sState,10); + + // find target quest + int nPos = FindSubString(sEntries, sQuest + ">"); + + if( nPos != -1) // success ? + { + + // check for override flag + if(!bAllowOverrideHigher) // new state < old state ? return + if(nState < StringToInt(GetStringRight(sEntries,GetStringLength(sEntries)-nPos-GetStringLength(sQuest)-1))) + return; + + // replace old quest state with new one + string sL = GetStringLeft(sEntries, nPos + GetStringLength(sQuest) + 1); + sEntries = sL + sState + GetStringRight(sEntries, GetStringLength(sEntries) - GetStringLength(sL) - 10); + } + else // add quest + sEntries += sQuest + ">" + sState + "|"; + + // store quest entries + SetCampaignString(PQJ_DATABASE,PQJ_PLAYER_VARNAME,sEntries,oCreature); +} + +void DeleteQuestEntry(string szPlotID, object oCreature) +{ + // retrieve all quest entries + string sEntries = GetCampaignString(PQJ_DATABASE,PQJ_PLAYER_VARNAME,oCreature); + // pad quest + string sQuest = (GetStringLength(szPlotID) < 32) ? szPlotID + GetStringLeft(" ",32 - GetStringLength(szPlotID)) : GetStringLeft(szPlotID,32); + // find target quest + int nPos = FindSubString(sEntries, sQuest + ">"); + + if( nPos != -1) // success ? + { + + // replace old quest state with new one + string sL = GetStringLeft(sEntries, nPos); + sEntries = sL + GetStringRight(sEntries, GetStringLength(sEntries) - GetStringLength(sL) - 44); + + // store quest entries + SetCampaignString(PQJ_DATABASE,PQJ_PLAYER_VARNAME,sEntries,oCreature); + } + +} + +void RemovePersistentJournalQuestEntry(string szPlotID, object oCreature, int bAllPartyMembers=TRUE, int bAllPlayers=FALSE) +{ + RemoveJournalQuestEntry(szPlotID, oCreature, bAllPartyMembers, bAllPlayers); + // store data + if(bAllPlayers) + { + // all players + object oPC = GetFirstPC(); + while(GetIsObjectValid(oPC)) + { + if(GetIsPC(oPC)) DeleteQuestEntry(szPlotID, oPC); + oPC = GetNextPC(); + } + } + else if(bAllPartyMembers) + { + // whole group + object oPartyMember = GetFirstFactionMember(oCreature, TRUE); + while (GetIsObjectValid(oPartyMember)) + { + DeleteQuestEntry(szPlotID, oPartyMember); + oPartyMember = GetNextFactionMember(oCreature, TRUE); + } + } + else + { + // player only + DeleteQuestEntry(szPlotID, oCreature); + } +} + +void AddPersistentJournalQuestEntry(string szPlotID, int nState, object oCreature, int bAllPartyMembers=TRUE, int bAllPlayers=FALSE, int bAllowOverrideHigher=FALSE) +{ + AddJournalQuestEntry(szPlotID, nState, oCreature, bAllPartyMembers, bAllPlayers, bAllowOverrideHigher); + // store data + if(bAllPlayers) + { + // all players + object oPC = GetFirstPC(); + while(GetIsObjectValid(oPC)) + { + if(GetIsPC(oPC)) StoreQuestEntry(szPlotID, nState, oPC, bAllowOverrideHigher); + oPC = GetNextPC(); + } + } + else if(bAllPartyMembers) + { + //SendMessageToPC(oCreature, "PARTY"); + object oPartyMember = GetFirstFactionMember(oCreature, TRUE); + while (GetIsObjectValid(oPartyMember)) + { + StoreQuestEntry(szPlotID, nState, oPartyMember, bAllowOverrideHigher); + oPartyMember = GetNextFactionMember(oCreature, TRUE); + } + } + else + { + StoreQuestEntry(szPlotID, nState, oCreature, bAllowOverrideHigher); + } +} diff --git a/_module/nss/prc_pwonspawn.nss b/_module/nss/prc_pwonspawn.nss index 27a22b6e..74e10b7f 100644 --- a/_module/nss/prc_pwonspawn.nss +++ b/_module/nss/prc_pwonspawn.nss @@ -10,6 +10,9 @@ #include "nw_i0_plot" #include "rd_level" #include "inc_sqlite_time" +#include "inc_debug" +#include "prc_inc_racial" +#include "sd_lootsystem" void ReallyEquipItemInSlot(object oNPC, object oItem, int nSlot); @@ -31,6 +34,7 @@ void main() int nTotalPCs; int nTotalPCLevel; int nAveragePCLevel; + int iRacial = GetRacialType(OBJECT_SELF); int nCommoner = GetLevelByClass(CLASS_TYPE_COMMONER, OBJECT_SELF); string sCurrentDate = SQLite_GetSystemDate(); @@ -39,7 +43,22 @@ void main() object oArea = GetArea(OBJECT_SELF); object oSkelly; object oPC = GetFirstObjectInArea(oArea); - + +//:: Testing OnSpawn loot system. + if (iRacial == RACIAL_TYPE_ANIMAL || + iRacial == RACIAL_TYPE_BEAST || + iRacial == RACIAL_TYPE_CONSTRUCT || + iRacial == RACIAL_TYPE_OOZE || + iRacial == RACIAL_TYPE_PLANT || + iRacial == RACIAL_TYPE_VERMIN) + { + if(DEBUG) {FloatingTextStringOnCreature("Creature doesn't carry treasure", GetFirstPC(), FALSE);} + } + else + { + sd_droploot(OBJECT_SELF, OBJECT_SELF); + } + //:: Get average PC level for area //:: Cycle through PCs in Area diff --git a/_module/nss/sd_area_purge.nss b/_module/nss/sd_area_purge.nss new file mode 100644 index 00000000..8e822eb5 --- /dev/null +++ b/_module/nss/sd_area_purge.nss @@ -0,0 +1,10 @@ +#include "sd_reset_inc" + +void main() +{ + object oPC = GetExitingObject(); + if (!(GetIsPC(oPC)))return; + + AREA_CLEAR(oPC); + +} diff --git a/_module/nss/sd_chest_lever.nss b/_module/nss/sd_chest_lever.nss new file mode 100644 index 00000000..57f0488d --- /dev/null +++ b/_module/nss/sd_chest_lever.nss @@ -0,0 +1,100 @@ +void SD_NAMECHEST(object oChest, string sChestRange) +{ + SetName(oChest, sChestRange); +} + +void SPAWN_CHESTS(int iLevel) +{ + +object oMod = GetModule(); +object oPC = GetFirstPC(); + +int iWC = iLevel+0; +int iSC = iLevel+5; +int iAC = iLevel+10; +int iMC = iLevel+15; +int iGC = iLevel+20; +int iGM = iLevel+25; + +string sLevel = IntToString(iLevel); + + +string sWLev = IntToString(iWC); +string sSLev = IntToString(iSC); +string sALev = IntToString(iAC); +string sMLev = IntToString(iMC); +string sGLev = IntToString(iGC); +string sGMLev = IntToString(iGM); + + +object oWP1 = GetWaypointByTag("sd_weap"); +object oWP2 = GetWaypointByTag("sd_shield"); +object oWP3 = GetWaypointByTag("sd_arm"); +object oWP4 = GetWaypointByTag("sd_magi"); +object oWP5 = GetWaypointByTag("sd_gloves"); +object oWP6 = GetWaypointByTag("sd_gems"); + +effect eDiss = EffectVisualEffect(VFX_FNF_DISPEL_GREATER); +effect eApp = EffectVisualEffect(VFX_FNF_LOS_HOLY_10); + +object oCH1 = CreateObject(OBJECT_TYPE_PLACEABLE, "sd_lootchest", GetLocation(oWP1), FALSE, sWLev); +DelayCommand(0.1, SD_NAMECHEST(oCH1, "Weapon Chest: Range "+sLevel)); +DelayCommand(0.3, ApplyEffectToObject(DURATION_TYPE_INSTANT, eApp, oCH1)); +object oCH2 = CreateObject(OBJECT_TYPE_PLACEABLE, "sd_lootchest", GetLocation(oWP2), FALSE, sSLev); +DelayCommand(0.1, SD_NAMECHEST(oCH2, "Shield Chest: Range "+sLevel)); +DelayCommand(0.3, ApplyEffectToObject(DURATION_TYPE_INSTANT, eApp, oCH2)); +object oCH3 = CreateObject(OBJECT_TYPE_PLACEABLE, "sd_lootchest", GetLocation(oWP3), FALSE, sALev); +DelayCommand(0.1, SD_NAMECHEST(oCH3, "Armor Chest: Range "+sLevel)); +DelayCommand(0.3, ApplyEffectToObject(DURATION_TYPE_INSTANT, eApp, oCH3)); +object oCH4 = CreateObject(OBJECT_TYPE_PLACEABLE, "sd_lootchest", GetLocation(oWP4), FALSE, sMLev); +DelayCommand(0.1, SD_NAMECHEST(oCH4, "Mag Item Chest: Range "+sLevel)); +DelayCommand(0.3, ApplyEffectToObject(DURATION_TYPE_INSTANT, eApp, oCH4)); +object oCH5 = CreateObject(OBJECT_TYPE_PLACEABLE, "sd_lootchest", GetLocation(oWP5), FALSE, sGLev); +DelayCommand(0.1, SD_NAMECHEST(oCH5, "Monk Gloves Chest: Range "+sLevel)); +DelayCommand(0.3, ApplyEffectToObject(DURATION_TYPE_INSTANT, eApp, oCH5)); +object oCH6 = CreateObject(OBJECT_TYPE_PLACEABLE, "sd_lootchest", GetLocation(oWP6), FALSE, sGMLev); +DelayCommand(0.1, SD_NAMECHEST(oCH6, "Gem Chest: Range "+sLevel)); +DelayCommand(0.3, ApplyEffectToObject(DURATION_TYPE_INSTANT, eApp, oCH6)); +} + +void main() +{ + object oMod = GetModule(); + object oPC = GetFirstPC(); + int iLevel = GetLocalInt(oMod, "range"); + + ++iLevel; + + if (iLevel>=6)iLevel=1; + + SetLocalInt(oMod, "range", iLevel); + + + effect eDiss = EffectVisualEffect(VFX_FNF_DISPEL_GREATER); + effect eApp = EffectVisualEffect(VFX_FNF_LOS_HOLY_10); + + int iSafe = GetLocalInt(OBJECT_SELF, "switched"); + if (iSafe==1){FloatingTextStringOnCreature("You must wait 5 seconds", oPC);return;} + + AssignCommand(OBJECT_SELF, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); + AssignCommand(OBJECT_SELF, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); + + SetLocalInt(OBJECT_SELF, "switched", 1); + DelayCommand(6.0, SetLocalInt(OBJECT_SELF, "switched", 0)); + + object oArea = GetArea(OBJECT_SELF); + object oItem = GetFirstObjectInArea(oArea); + while (GetIsObjectValid(oItem)) + { + if (GetObjectType(oItem)==OBJECT_TYPE_PLACEABLE && + GetHasInventory(oItem) && GetName(oItem)!="Socketed Items") + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, eDiss, oItem); + DestroyObject(oItem, 0.2f); + } + oItem = GetNextObjectInArea(oArea); + } + + +DelayCommand(4.0, SPAWN_CHESTS(iLevel)); +} diff --git a/_module/nss/sd_chest_loot.nss b/_module/nss/sd_chest_loot.nss new file mode 100644 index 00000000..f264ad7f --- /dev/null +++ b/_module/nss/sd_chest_loot.nss @@ -0,0 +1,62 @@ +#include "sd_lootsystem" + +void main() +{ + object oPC = GetLastOpenedBy(); + string sTag = GetTag(OBJECT_SELF); + int iLoot = StringToInt(sTag); + + switch (iLoot) + { + case 1: DropWeapon(oPC, OBJECT_SELF, 1, 0, 1); break; + case 2: DropWeapon(oPC, OBJECT_SELF, 2, 0, 1); break; + case 3: DropWeapon(oPC, OBJECT_SELF, 3, 0, 1); break; + case 4: DropWeapon(oPC, OBJECT_SELF, 4, 0, 1); break; + case 5: DropWeapon(oPC, OBJECT_SELF, 5, 0, 1); break; + + case 6: DropShield(oPC, OBJECT_SELF, 1, 0, 1); break; + case 7: DropShield(oPC, OBJECT_SELF, 2, 0, 1); break; + case 8: DropShield(oPC, OBJECT_SELF, 3, 0, 1); break; + case 9: DropShield(oPC, OBJECT_SELF, 4, 0, 1); break; + case 10: DropShield(oPC, OBJECT_SELF, 5, 0, 1); break; + + case 11: DropArmor(oPC, OBJECT_SELF, 1, 0, 1); break; + case 12: DropArmor(oPC, OBJECT_SELF, 2, 0, 1); break; + case 13: DropArmor(oPC, OBJECT_SELF, 3, 0, 1); break; + case 14: DropArmor(oPC, OBJECT_SELF, 4, 0, 1); break; + case 15: DropArmor(oPC, OBJECT_SELF, 5, 0, 1); break; + + case 16: DropMagicItem(oPC, OBJECT_SELF, 1, 0, 1); break; + case 17: DropMagicItem(oPC, OBJECT_SELF, 2, 0, 1); break; + case 18: DropMagicItem(oPC, OBJECT_SELF, 3, 0, 1); break; + case 19: DropMagicItem(oPC, OBJECT_SELF, 4, 0, 1); break; + case 20: DropMagicItem(oPC, OBJECT_SELF, 5, 0, 1); break; + + case 21: DropMonkGloves(oPC, OBJECT_SELF, 1, 0, 1); break; + case 22: DropMonkGloves(oPC, OBJECT_SELF, 2, 0, 1); break; + case 23: DropMonkGloves(oPC, OBJECT_SELF, 3, 0, 1); break; + case 24: DropMonkGloves(oPC, OBJECT_SELF, 4, 0, 1); break; + case 25: DropMonkGloves(oPC, OBJECT_SELF, 5, 0, 1); break; + + case 26: DropGem(oPC, OBJECT_SELF, 1); break; + case 27: DropGem(oPC, OBJECT_SELF, 2); break; + case 28: DropGem(oPC, OBJECT_SELF, 3); break; + case 29: DropGem(oPC, OBJECT_SELF, 4); break; + case 30: DropGem(oPC, OBJECT_SELF, 5); break; + + case 31: { + DropWeapon(oPC, OBJECT_SELF, 1, 100, 1); + DropShield(oPC, OBJECT_SELF, 1, 100, 1); + DropArmor(oPC, OBJECT_SELF, 1, 100, 1); + DropMagicItem(oPC, OBJECT_SELF, 1, 100, 1); + DropMonkGloves(oPC, OBJECT_SELF, 1, 100, 1);}break; + } + +object oItem = GetFirstItemInInventory(OBJECT_SELF); +while (GetIsObjectValid(oItem)) + { + if (GetIdentified(oItem)==FALSE)SetIdentified(oItem, TRUE); + oItem = GetNextItemInInventory(OBJECT_SELF); + } + +} diff --git a/_module/nss/sd_chestspwn_ent.nss b/_module/nss/sd_chestspwn_ent.nss new file mode 100644 index 00000000..ff56ebdf --- /dev/null +++ b/_module/nss/sd_chestspwn_ent.nss @@ -0,0 +1,56 @@ +void SD_NAMECHEST(object oChest, string sChestRange) +{ + SetName(oChest, sChestRange); +} + +void main() +{ + +object oMod = GetModule(); +object oPC = GetFirstPC(); +object oEnter = GetEnteringObject(); + +if (oEnter!=oPC)return; + +int iLevel = 1; + +SetLocalInt(oMod, "range", 1); + +string sLevel = IntToString(iLevel); + +int iWC = iLevel+0; +int iSC = iLevel+5; +int iAC = iLevel+10; +int iMC = iLevel+15; +int iGC = iLevel+20; +int iGM = iLevel+25; + + +string sWLev = IntToString(iWC); +string sSLev = IntToString(iSC); +string sALev = IntToString(iAC); +string sMLev = IntToString(iMC); +string sGLev = IntToString(iGC); +string sGMLev = IntToString(iGM); + + +object oWP1 = GetWaypointByTag("sd_weap"); +object oWP2 = GetWaypointByTag("sd_shield"); +object oWP3 = GetWaypointByTag("sd_arm"); +object oWP4 = GetWaypointByTag("sd_magi"); +object oWP5 = GetWaypointByTag("sd_gloves"); +object oWP6 = GetWaypointByTag("sd_gems"); + +object oCH1 = CreateObject(OBJECT_TYPE_PLACEABLE, "sd_lootchest", GetLocation(oWP1), FALSE, sWLev); +DelayCommand(0.2, SD_NAMECHEST(oCH1, "Weapon Chest: Range "+sLevel)); +object oCH2 = CreateObject(OBJECT_TYPE_PLACEABLE, "sd_lootchest", GetLocation(oWP2), FALSE, sSLev); +DelayCommand(0.2, SD_NAMECHEST(oCH2, "Shield Chest: Range "+sLevel)); +object oCH3 = CreateObject(OBJECT_TYPE_PLACEABLE, "sd_lootchest", GetLocation(oWP3), FALSE, sALev); +DelayCommand(0.2, SD_NAMECHEST(oCH3, "Armor Chest: Range "+sLevel)); +object oCH4 = CreateObject(OBJECT_TYPE_PLACEABLE, "sd_lootchest", GetLocation(oWP4), FALSE, sMLev); +DelayCommand(0.2, SD_NAMECHEST(oCH4, "Mag Item Chest: Range "+sLevel)); +object oCH5 = CreateObject(OBJECT_TYPE_PLACEABLE, "sd_lootchest", GetLocation(oWP5), FALSE, sGLev); +DelayCommand(0.2, SD_NAMECHEST(oCH5, "Monk Gloves Chest: Range "+sLevel)); +object oCH6 = CreateObject(OBJECT_TYPE_PLACEABLE, "sd_lootchest", GetLocation(oWP6), FALSE, sGMLev); +DelayCommand(0.2, SD_NAMECHEST(oCH6, "Gem Chest: Range "+sLevel)); +} diff --git a/_module/nss/sd_clear_sok_chs.nss b/_module/nss/sd_clear_sok_chs.nss new file mode 100644 index 00000000..ccf9cb28 --- /dev/null +++ b/_module/nss/sd_clear_sok_chs.nss @@ -0,0 +1,10 @@ +void main() +{ + object oItem = GetFirstItemInInventory(OBJECT_SELF); +while (GetIsObjectValid(oItem)) + { + DestroyObject(oItem); + oItem = GetNextItemInInventory(OBJECT_SELF); + } + +} diff --git a/_module/nss/sd_creature_kill.nss b/_module/nss/sd_creature_kill.nss new file mode 100644 index 00000000..0e6ad4c7 --- /dev/null +++ b/_module/nss/sd_creature_kill.nss @@ -0,0 +1,19 @@ +void main() +{ + object oPC = GetLastUsedBy(); + object oArea = GetArea(oPC); + effect eBlood = EffectVisualEffect(VFX_COM_CHUNK_RED_LARGE); + effect eDeath = EffectDeath(TRUE, FALSE); + + object oCreature = GetFirstObjectInArea(oArea); + while (GetIsObjectValid(oCreature)) + { + if (GetObjectType(oCreature)==OBJECT_TYPE_CREATURE&& + GetIsEnemy(oPC, oCreature)) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, eBlood, oCreature); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oCreature); + } + oCreature = GetNextObjectInArea(oArea); + } +} diff --git a/_module/nss/sd_destroy_lbag.nss b/_module/nss/sd_destroy_lbag.nss new file mode 100644 index 00000000..86a35d64 --- /dev/null +++ b/_module/nss/sd_destroy_lbag.nss @@ -0,0 +1,39 @@ +#include "prc_inc_racial" +void main() +{ +object oPC = GetLastClosedBy(); +object oItem; +object oCorpse = GetLocalObject(OBJECT_SELF, "oHostBody"); +object oBlood = GetLocalObject(OBJECT_SELF, "oBlood"); +object oBones; +location lLoc = GetLocation(oCorpse); +int iCount; + +AssignCommand(oPC, ClearAllActions()); + +oItem = GetFirstItemInInventory(OBJECT_SELF); +while (GetIsObjectValid(oItem)) + { + ++iCount; + oItem = GetNextItemInInventory(OBJECT_SELF); + } +if (iCount==0){ + AssignCommand(oCorpse, SetIsDestroyable(TRUE, FALSE, FALSE)); + DestroyObject(oBlood); + DestroyObject(oCorpse); + if ((MyPRCGetRacialType(oCorpse) != RACIAL_TYPE_CONSTRUCT) && + (MyPRCGetRacialType(oCorpse) != RACIAL_TYPE_ELEMENTAL)&& + (MyPRCGetRacialType(oCorpse) != RACIAL_TYPE_DRAGON)&& + (MyPRCGetRacialType(oCorpse) != RACIAL_TYPE_ANIMAL)) + + { + oBones = CreateObject(OBJECT_TYPE_PLACEABLE, + "plc_bones", + lLoc, FALSE); + ExecuteScript("sd_destroyself", oBones); + } + DestroyObject(OBJECT_SELF, 0.2f); + } + + +} diff --git a/_module/nss/sd_destroyself.nss b/_module/nss/sd_destroyself.nss new file mode 100644 index 00000000..5ffbea09 --- /dev/null +++ b/_module/nss/sd_destroyself.nss @@ -0,0 +1,4 @@ +void main() +{ + DelayCommand(30.0, DestroyObject(OBJECT_SELF)); +} diff --git a/_module/nss/sd_dth.nss b/_module/nss/sd_dth.nss new file mode 100644 index 00000000..6bb453cd --- /dev/null +++ b/_module/nss/sd_dth.nss @@ -0,0 +1,6 @@ +void main() +{ + object oPC = GetLastUsedBy(); + effect eLos = EffectDeath(TRUE); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eLos, oPC); +} diff --git a/_module/nss/sd_loot_anim.nss b/_module/nss/sd_loot_anim.nss new file mode 100644 index 00000000..1c8d8a99 --- /dev/null +++ b/_module/nss/sd_loot_anim.nss @@ -0,0 +1,16 @@ +void main() +{ +object oPC = GetLastUsedBy(); + + // Play crouch animation only if PC just opened the corpse inventory GUI + // EXCEPTION: If the PC opens the corpse inventory, then quickly presses + // the "I" key (to open the PC inventory), a BioWare software bug will + // trick the software into permanently thinking the corpse inventory is + // open (even though the GUI can be opened and closed normally). This will + // cause the animation to play when corpse is opened or closed (a minor + // bug). + if (GetIsOpen(OBJECT_SELF)) + { + AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 1.0f, 1.2f)); + } +} diff --git a/_module/nss/sd_loot_corpse.nss b/_module/nss/sd_loot_corpse.nss new file mode 100644 index 00000000..e7a57bf6 --- /dev/null +++ b/_module/nss/sd_loot_corpse.nss @@ -0,0 +1,56 @@ +#include "sd_lootsystem" +#include "prc_inc_racial" +void BodyFade(object oHostBody, object oBlood) +{ + object oBones; + location lLoc = GetLocation(oHostBody); + SetPlotFlag(oHostBody, FALSE); + AssignCommand(oHostBody, SetIsDestroyable(TRUE,FALSE,FALSE)); + if ((MyPRCGetRacialType(oHostBody) != RACIAL_TYPE_CONSTRUCT) && + (MyPRCGetRacialType(oHostBody) != RACIAL_TYPE_ELEMENTAL)&& + (MyPRCGetRacialType(oHostBody) != RACIAL_TYPE_DRAGON)&& + (MyPRCGetRacialType(oHostBody) != RACIAL_TYPE_ANIMAL)) + + { + + } + DestroyObject(oBlood); + if (GetIsDead(oHostBody))DestroyObject(oHostBody, 0.2f); + } + +void main() +{ + float lsDelay = 60.0; // Corpse & loot fade delay + object oHostBody = OBJECT_SELF; //Get the Dead Creature Object + object oBlood; + object oSaveBlood; + string sBaseTag = GetTag(oHostBody); //Get that TAG of the dead creature + string sPrefix = GetStringLeft(sBaseTag, 4); //Look for Dead Prefix + location lLoc = GetLocation(oHostBody); + + if ((MyPRCGetRacialType(oHostBody) != RACIAL_TYPE_UNDEAD) && + (MyPRCGetRacialType(oHostBody) != RACIAL_TYPE_CONSTRUCT) && + (MyPRCGetRacialType(oHostBody) != RACIAL_TYPE_ELEMENTAL)&& + (MyPRCGetRacialType(oHostBody) != RACIAL_TYPE_DRAGON)) + { + oBlood = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_bloodstain", lLoc, FALSE); + } + DelayCommand(lsDelay, BodyFade(oHostBody, oBlood)); + + + //Sink the lootbag into the ground a little + float fSinkCorpseObj = 0.1f; //depth + vector vHostBodyLoc = GetPosition(oHostBody); + float fCorpseFacing = GetFacing(oHostBody); + vector vCorpseLoc = Vector(vHostBodyLoc.x, vHostBodyLoc.y, vHostBodyLoc.z - fSinkCorpseObj); + location lCorpseLoc = Location(GetArea(oHostBody), vCorpseLoc, fCorpseFacing); + + //Create the lootbag + object oLootCorpse = CreateObject(OBJECT_TYPE_PLACEABLE, "rr_sack", lCorpseLoc, FALSE); //Spawn our lootable object + + SetLocalObject(oLootCorpse, "oHostBody", oHostBody); //Set Local for deletion later if needed + SetLocalObject(oLootCorpse, "oBlood", oBlood); + NameSack(oLootCorpse); + DelayCommand(0.1,sd_droploot(oHostBody, oLootCorpse)); + DelayCommand(lsDelay, LootClear(oLootCorpse)); +} diff --git a/_module/nss/sd_lootsys_tools.nss b/_module/nss/sd_lootsys_tools.nss index 599132b0..d4ebcf50 100644 --- a/_module/nss/sd_lootsys_tools.nss +++ b/_module/nss/sd_lootsys_tools.nss @@ -1,4 +1,4 @@ -#include "x2_inc_itemprop" +#include "prc_x2_itemprop" //#include "nw_i0_generic" ////////////////////////////////////////////////////////// @@ -84,7 +84,7 @@ void DropScroll(object oMob, object oSack, int iRange); // oMob = the creature that just died // oSack = the object into which you will spawn the potion // iStack = Stacksize -void DropPot(object oMob, object oSack, int iStack); +void DropPotion(object oMob, object oSack, int iStack); // Generates a random misc item (i.e. bag) // ======================================= @@ -122,7 +122,11 @@ void sd_droploot (object oMob, object oSack); void DropAlchemyRecipe(object oMob, object oSack, int iRange); - +void SetEyes(int iType, object oMob) +{ + effect eVis = EffectVisualEffect(iType); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis, oMob); +} const string COLORTOKEN =" ##################$%&'()*+,-./0123456789:;;==?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[[]^_`abcdefghijklmnopqrstuvwxyz{|}~~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¡¢£¤¥¦§¨©ª«¬¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþþ"; @@ -652,7 +656,7 @@ object oRecipe = CreateItemOnObject(sType, oSack, 1); SetIdentified(oRecipe, FALSE); } -void DropPot(object oMod, object oSack, int iStack) +void DropPotion(object oMod, object oSack, int iStack) { string sPotion; @@ -1401,7 +1405,7 @@ void MeleeImbue(object oItem) IPSafeAddItemProperty(oItem, ipAdd); } -void MCimbue(object oItem, int iRange) +void MassCritImbue(object oItem, int iRange) { itemproperty ipAdd; int iDam; @@ -1523,7 +1527,7 @@ int sd_GetAbil() return iType; } -void DAMimbue(object oItem, int iRange) +void DamageTypeImbue(object oItem, int iRange) { itemproperty ipAdd; itemproperty ipVis; @@ -1893,7 +1897,7 @@ ipAdd = ItemPropertyRegeneration(iRegen); IPSafeAddItemProperty(oItem, ipAdd); } -void VRimbue(object oItem, int iRange) +void VampRegenImbue(object oItem, int iRange) { int iRegen; itemproperty ipAdd; diff --git a/_module/nss/sd_lootsystem.nss b/_module/nss/sd_lootsystem.nss new file mode 100644 index 00000000..7b522a75 --- /dev/null +++ b/_module/nss/sd_lootsystem.nss @@ -0,0 +1,7202 @@ +////////////////////////////////////////////////////////// +//::use: #include"sd_lootsystem" +//:: +//:: +//:: Slayers of Darkmoon loot generation system +//:: +//:: +//:: +//:: Commche 2006 +//:: + +#include "prc_x2_itemprop" +#include "prc_inc_newip" +#include "nw_i0_generic" +#include "inc_itm_appear" +#include "inc_epicspells" + + +////////////////////////////////////////////////////////// +//: Constants +//: +//:note* See line 4408(?) for specific item droprate configuration + +const int LUCK_CHANCE = 5000; // 1 in x chance getting a much better item (0 for off) +const int DROP_RATE = 1; // % modifyer for loot drop (see line 4619 for specifics) +const int CHANCE_WORN = 0; // % chance of worn item (0 for off) +const int CHANCE_BROKEN = 0; // % chance of broken item (0 for off) + +int iRandomShoulder = Random(24), + iRandomBicep = Random(15), + iRandomForearm = Random(23), + iRandomHand = Random(9), + iRandomThigh = Random(16), + iRandomShins = Random(21), + iRandomFeet = Random(16), + iRandomRobe = Random(11), + iRandomPelvis = Random(37), + iRandomBelt = Random(16), + iRandomNeck = Random(6), + iRandomChest = Random(61); + + + int iRandomArmor1 = Random(175), + iRandomArmor2 = Random(175), + iRandomArmor3 = Random(175), + iRandomArmor4 = Random(175), + iRandomArmor5 = Random(175), + iRandomArmor6 = Random(175); + +int iRandomWeapon1 = d4(), + iRandomWeapon2 = d4(), + iRandomWeapon3 = d4(); + +int iRandomCloak = Random(16), + iRandomHelmet = Random(124); + +int iRandRing = Random(238), + iRandBelt = Random(255), + iRandAmulet = Random(255), + iRandBracer = Random(178), + iRandGauntlet = Random(199); + + +//------------------------------------------------------------------------------ +// Returns TRUE if oItem is a bludgeoning weapon +//------------------------------------------------------------------------------ +int PRCGetBludgeoningWeapon(object oItem) +{ + int nItem = GetBaseItemType(oItem); + //exclude creature weapons + if(nItem == BASE_ITEM_CBLUDGWEAPON) + return FALSE; + int nWeapon = (StringToInt(Get2DACache("baseitems", "WeaponType", nItem))); + // 2 = bludgeoning, 5 = bludgeoning/piercing + return (nWeapon == 2 || nWeapon == 5); +} + + +// Generates a random weapon +// ======================================= +// oMob = the creature that just died +// oSack = the object into which you will spawn the weapon +// iRange = the quality of the weapon: 1=lowest 5=highest +// SockChance = a % chance for the generated weapon to be socketed +// DamBroke = a switch to disable chance of damaged/broken weapon: 0=on 1=off +void DropWeapon(object oMob, object oSack, int iRange, int SockChance, int DamBroke); + +// Generates random chest armor +// ======================================= +// oMob = the creature that just died +// oSack = the object into which you will spawn the armor +// iRange = the quality of the armor: 1=lowest 5=highest +// SockChance = a % chance for the generated armor to be socketed +// DamBroke = a switch to disable chance of damaged/broken armor: 0=on 1=off +void DropArmor(object oMob, object oSack, int iRange, int SockChance, int DamBroke); + +// Generates a random shield +// ======================================= +// oMob = the creature that just died +// oSack = the object into which you will spawn the shield +// iRange = the quality of the shield: 1=lowest 5=highest +// SockChance = a % chance for the generated shield to be socketed +// DamBroke = a switch to disable chance of damaged/broken shield: 0=on 1=off +void DropShield(object oMob, object oSack, int iRange, int SockChance, int DamBroke); + +// Generates random monk gloves +// ======================================= +// oMob = the creature that just died +// oSack = the object into which you will spawn the gloves +// iRange = the quality of the gloves: 1=lowest 5=highest +// SockChance = a % chance for the generated gloves to be socketed +// DamBroke = a switch to disable chance of damaged/broken gloves: 0=on 1=off +void DropMonkGloves(object oMob, object oSack, int iRange, int SockChance, int DamBroke); + +// Generates a random magic item (i.e. boots, helm, amulet, ring, belt, bracer) +// ============================================================================ +// oMob = the creature that just died +// oSack = the object into which you will spawn the item +// iRange = the quality of the item: 1=lowest 5=highest +// SockChance = a % chance for the generated item to be socketed +// DamBroke = a switch to disable chance of damaged/broken item: 0=on 1=off +void DropMagicItem(object oMob, object oSack, int iRange, int SockChance, int DamBroke); + +// Generates a random socket gem +// ======================================= +// oMob = the creature that just died +// oSack = the object into which you will spawn the gem +// iRange = the quality of the gem: 1=lowest 5=highest +void DropGem (object oMob, object oSack, int iRange); + +// Generates random ranged ammo (only arrows & bolts) +// ================================================== +// oMob = the creature that just died +// oSack = the object into which you will spawn the ammo +// iRange = the quality of the ammo: 1=lowest 5=highest +void DropAmmo(object oMob, object oSack, int iRange); + +// Generates a random scroll +// ======================================= +// oMob = the creature that just died +// oSack = the object into which you will spawn the scroll +// iRange = the quality of the scroll: 1=lowest 5=highest +// note* this is based on the gold-value of the scroll +void DropScroll(object oMob, object oSack, int iRange); + +// Generates a random potion +// ======================================= +// oMob = the creature that just died +// oSack = the object into which you will spawn the potion +void DropPotion(object oMob, object oSack); + +// Generates a random misc item (i.e. bag) +// ======================================= +// oMob = the creature that just died +// oSack = the object into which you will spawn the misc +void DropMisc(object oMob, object oSack); + +// Generates a random rod or wand +// ======================================= +// oMob = the creature that just died +// oSack = the object into which you will spawn the rod or wand +void DropRodWand(object oMob, object oSack); + +// Generates random gold +// ================================================== +// oMob = the creature that just died +// note* the gold amount will be based on the creature's level using the below formula +// Gold = (d20()*Creature LVL)+(15*Creature LVL)+iBonus +// oSack = the object into which you will spawn the ammo +// iBonus = additional gold to be added to the tally +void DropGold(object oMob, object oSack, int iBonus); + +// Drop randomly chosen and generated loot & some gold +// =================================================== +// *This is the main call function of the sd lootsystem +// oMob = the creature that just died (the loot dropped is based on their class & level) +// oSack = the object into which you will spawn the loot +void sd_droploot (object oMob, object oSack); + +// Drop randomly chosen class set item piece +// =================================================== +// *you can control what class type of set item will drop +// oMob = the creature that just died (the loot dropped is based on their class & level) +// oSack = the object into which you will spawn the loot +// iClass = the pereferred class of the drop +// eg: +// (1 - Fighter (2 - wiz (3 - sorc (4 - rogue/dex fighter (5 -cleric (6 - bard +// (7 - pally (8 - druid (9 - ranger (10 - monk (11 - barb (12 - weapon sets +// Default is 0: this will instead choose randomly from every item regardless +// of class +void DropSetItem(object oMob, object oSack, int iClass = 0); + +// CHEST CLEARER +void ClearChest (object oMob) +{ + //:: Clears all inventory items from the mob, then destroys the mob object itself. + object oItem = GetFirstItemInInventory(oMob); + + while (GetIsObjectValid(oItem)) + { + DestroyObject(oItem); + oItem = GetNextItemInInventory(oMob); + } +} + +const string COLORTOKEN =" ##################$%&'()*+,-./0123456789:;;==?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[[]^_`abcdefghijklmnopqrstuvwxyz{|}~~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¡¢£¤¥¦§¨©ª«¬¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþþ"; + +string ColorString(string sText, int nRed=255, int nGreen=255, int nBlue=255) +{ + return "" + sText + ""; +} + +void SetThreatLevel(object oMob) +{ + int iHD = GetHitDice(OBJECT_SELF); + int iRange; + string sName; + string cName = GetName(oMob); + + if (iHD>0&&iHD<11) iRange=1; // lvl 1-10 + if (iHD>10&&iHD<19) iRange=2; // lvl 11-18 + if (iHD>18&&iHD<28) iRange=3; // lvl 19-27 + if (iHD>27&&iHD<36) iRange=4; // lvl 28-35 + if (iHD>35/* &&iHD<61 */) iRange=5; // lvl 36+ + + switch(iRange) + { + case 1: sName = ColorString(cName,255, 255, 255); break; + case 2: sName = ColorString(cName,189, 183, 107); break; + case 3: sName = ColorString(cName,218, 165, 32); break; + case 4: sName = ColorString(cName,210, 105, 30); break; + case 5: sName = ColorString(cName,255, 0, 0); break; + + } + + if (GetLocalInt(OBJECT_SELF, "BOSS")==1)sName = ColorString(cName,255, 255, 0); + SetName(oMob, sName); +} + +void NameSack(object oSack) +{ + string sName = GetName(OBJECT_SELF); + sName+= " Corpse"; + SetName(oSack, sName); +} + +void InvClear (object oMob) +{ + object oItem = GetFirstItemInInventory(oMob); + + while (GetIsObjectValid(oItem)) + { + if (GetPlotFlag(oItem) == FALSE) + { + DestroyObject(oItem); + } + + oItem = GetNextItemInInventory(oMob); + } +} + +void LootClear (object oMob) +{ + object oItem = GetFirstItemInInventory(oMob); + + while (GetIsObjectValid(oItem)) + { + DestroyObject(oItem); + oItem = GetNextItemInInventory(oMob); + } + + DestroyObject(oMob); +} + +void DropAlchemy(object oMob, object oSack, int iRange) +{ + string sAlchemical; + int nRandom = Random(16) + 1; + int iRoll; + + if (iRange==1) + {//:: Alchemical items + iRoll = Random(21); + switch (iRoll) + { + case 0: sAlchemical = "prc_brittlebn"; break; + case 1: sAlchemical = "x1_wmgrenade001"; break; + case 2: sAlchemical = "x1_wmgrenade002"; break; + case 3: sAlchemical = "x1_wmgrenade003"; break; + case 4: sAlchemical = "x1_wmgrenade004"; break; + case 5: sAlchemical = "x1_wmgrenade005"; break; + case 6: sAlchemical = "x1_wmgrenade006"; break; + case 7: sAlchemical = "x1_wmgrenade007"; break; + case 8: sAlchemical = "prc_it_antitox"; break; + case 9: sAlchemical = "prc_it_blendcrm"; break; + case 10: sAlchemical = "prc_it_crcklpdr"; break; + case 11: sAlchemical = "prc_it_emblmfr"; break; + case 12: sAlchemical = "prc_it_fareyeoil"; break; + case 13: sAlchemical = "prc_it_healblm"; break; + case 14: sAlchemical = "prc_it_keenear"; break; + case 15: sAlchemical = "prc_it_lockslip"; break; + case 16: sAlchemical = "prc_it_nerv"; break; + case 17: sAlchemical = "prc_it_scrmflsk"; break; + case 18: sAlchemical = "prc_it_shedden"; break; + case 19: sAlchemical = "prc_it_shedden2"; break; + case 20: sAlchemical = "prc_it_softfoot"; break; + } + } + if (iRange >= 2) + {//:: Alchemical Items + iRoll = Random(27); + switch (iRoll) + { + case 0: sAlchemical = "x1_wmgrenade006"; break; + case 1: sAlchemical = "x2_it_acidbomb"; break; + case 2: sAlchemical = "x2_it_firebomb"; break; + case 3: sAlchemical = "prc_it_shedden3"; break; + case 4: sAlchemical = "prc_it_shedden4"; break; + case 5: sAlchemical = "prc_it_shedden5"; break; + case 6: sAlchemical = "nw_it_medkit004"; break; + case 7: sAlchemical = "x1_wmgrenade007"; break; + case 8: sAlchemical = "prc_it_antitox"; break; + case 9: sAlchemical = "prc_it_blendcrm"; break; + case 10: sAlchemical = "prc_it_crcklpdr"; break; + case 11: sAlchemical = "prc_it_emblmfr"; break; + case 12: sAlchemical = "prc_it_fareyeoil"; break; + case 13: sAlchemical = "prc_it_healblm"; break; + case 14: sAlchemical = "prc_it_keenear"; break; + case 15: sAlchemical = "prc_it_lockslip"; break; + case 16: sAlchemical = "prc_it_nerv"; break; + case 17: sAlchemical = "prc_it_scrmflsk"; break; + case 18: sAlchemical = "prc_it_shedden"; break; + case 19: sAlchemical = "prc_it_shedden2"; break; + case 20: sAlchemical = "prc_it_softfoot"; break; + case 21: sAlchemical = "prc_brittlebn"; break; + case 22: sAlchemical = "x1_wmgrenade001"; break; + case 23: sAlchemical = "x1_wmgrenade002"; break; + case 24: sAlchemical = "x1_wmgrenade003"; break; + case 25: sAlchemical = "x1_wmgrenade004"; break; + case 26: sAlchemical = "x1_wmgrenade005"; break; + + } + } + + object oAlchemy = CreateItemOnObject(sAlchemical, oSack, 1); + + SetIdentified(oAlchemy, FALSE); +} + +void DropScroll(object oMob, object oSack, int iRange) +{ + string sType; + int nRandom = Random(16) + 1; + int iRoll; + + if (iRange==1) //:: scrolls up to max value of 300 + { + iRoll = d100(); + switch (iRoll) + { + case 1: sType = "x1_it_sparscr002"; break; + case 2: sType = "nw_it_sparscr107"; break; + case 3: sType = "x1_it_sparscr102"; break; + case 4: sType = "x1_it_spdvscr101"; break; + case 5: sType = "x2_it_spdvscr202"; break; + case 6: sType = "x2_it_spdvscr103"; break; + case 7: sType = "x2_it_spdvscr102"; break; + case 8: sType = "nw_it_sparscr211"; break; + case 9: sType = "x1_it_spdvscr202"; break; + case 10: sType = "nw_it_sparscr212"; break; + case 11: sType = "nw_it_sparscr112"; break; + case 12: sType = "x1_it_spdvscr107"; break; + case 13: sType = "nw_it_sparscr213"; break; + case 14: sType = "x2_it_sparscr207"; break; + case 15: sType = "nw_it_sparscr107"; break; + case 16: sType = "nw_it_spdvscr202"; break; + case 17: sType = "nw_it_sparscr217"; break; + case 18: sType = "x2_it_sparscr206"; break; + case 19: sType = "nw_it_sparscr110"; break; + case 20: sType = "x2_it_sparscr201"; break; + case 21: sType = "x1_it_spdvscr301"; break; + case 22: sType = "x2_it_spdvscr104"; break; + case 23: sType = "x2_it_spdvscr001"; break; + case 24: sType = "x2_it_spdvscr203"; break; + case 25: sType = "x2_it_spdvscr308"; break; + case 26: sType = "nw_it_sparscr206"; break; + case 27: sType = "nw_it_sparscr003"; break; + case 28: sType = "x2_it_spdvscr101"; break; + case 29: sType = "x2_it_sparscr202"; break; + case 30: sType = "x1_it_spdvscr102"; break; + case 31: sType = "x2_it_spdvscr105"; break; + case 32: sType = "nw_it_sparscr219"; break; + case 33: sType = "x1_it_sparscr003"; break; + case 34: sType = "nw_it_sparscr215"; break; + case 35: sType = "nw_it_sparscr101"; break; + case 36: sType = "x2_it_spdvscr106"; break; + case 37: sType = "x1_it_spdvscr103"; break; + case 38: sType = "x1_it_sparscr101"; break; + case 39: sType = "x1_it_sparscr101"; break; + case 40: sType = "x2_it_sparscr305"; break; + case 41: sType = "x1_it_spdvscr205"; break; + case 42: sType = "x2_it_sparscr205"; break; + case 43: sType = "x1_it_sparscr001"; break; + case 44: sType = "nw_it_sparscr220"; break; + case 45: sType = "x2_it_sparscr203"; break; + case 46: sType = "nw_it_sparscr208"; break; + case 47: sType = "nw_it_sparscr209"; break; + case 48: sType = "nw_it_sparscr103"; break; + case 49: sType = "x2_it_spdvscr204"; break; + case 50: sType = "nw_it_sparscr308"; break; + case 51: sType = "x2_it_sparscr101"; break; + case 52: sType = "x2_it_sparscr104"; break; + case 53: sType = "nw_it_sparscr106"; break; + case 54: sType = "x1_it_spdvscr104"; break; + case 55: sType = "x1_it_spdvscr001"; break; + case 56: sType = "x1_it_spdvscr201"; break; + case 57: sType = "nw_it_sparscr207"; break; + case 58: sType = "x2_it_sparscr102"; break; + case 59: sType = "nw_it_sparscr216"; break; + case 60: sType = "nw_it_sparscr218"; break; + case 61: sType = "nw_it_spdvscr201"; break; + case 62: sType = "nw_it_sparscr004"; break; + case 63: sType = "nw_it_sparscr104"; break; + case 64: sType = "x1_it_spdvscr106"; break; + case 65: sType = "nw_it_sparscr109"; break; + case 66: sType = "x2_it_sparscr105"; break; + case 67: sType = "nw_it_sparscr202"; break; + case 68: sType = "nw_it_sparscr113"; break; + case 69: sType = "x1_it_spdvscr203"; break; + case 70: sType = "nw_it_sparscr221"; break; + case 71: sType = "nw_it_sparscr102"; break; + case 72: sType = "x2_it_sparscral"; break; + case 73: sType = "nw_it_sparscr111"; break; + case 74: sType = "nw_it_sparscr002"; break; + case 75: sType = "x2_it_spdvscr107"; break; + case 76: sType = "x2_it_spdvscr205"; break; + case 77: sType = "nw_it_sparscr201"; break; + case 78: sType = "nw_it_sparscr001"; break; + case 79: sType = "x2_it_spdvscr108"; break; + case 80: sType = "nw_it_sparscr210"; break; + case 81: sType = "x2_it_sparscr103"; break; + case 82: sType = "x1_it_sparscr103"; break; + case 83: sType = "x1_it_spdvscr105"; break; + case 84: sType = "nw_it_spdvscr203"; break; + case 85: sType = "nw_it_sparscr108"; break; + case 86: sType = "nw_it_spdvscr204"; break; + case 87: sType = "x2_it_sparscr204"; break; + case 88: sType = "nw_it_sparscr105"; break; + case 89: sType = "nw_it_sparscr203"; break; + case 90: sType = "x1_it_sparscr202"; break; + case 91: sType = "x1_it_sparscr104"; break; + case 92: sType = "nw_it_sparscr214"; break; + case 93: sType = "x2_it_spdvscr002"; break; + case 94: sType = "nw_it_sparscr204"; break; + } + } + + if (iRange==2) + { + iRoll = d100(); //:: scrolls valued 540-1621 + switch (iRoll) + { + case 1: sType = "nw_it_sparscr509"; break; + case 2: sType = "x2_it_spdvscr508"; break; + case 3: sType = "x2_it_sparscr501"; break; + case 4: sType = "x2_it_spdvscr501"; break; + case 5: sType = "nw_it_sparscr414"; break; + case 6: sType = "x1_it_sparscr502"; break; + case 7: sType = "x2_it_spdvscr307"; break; + case 8: sType = "nw_it_sparscr405"; break; + case 9: sType = "x2_it_spdvscr504"; break; + case 10: sType = "nw_it_sparscr307"; break; + case 11: sType = "nw_it_sparscr502"; break; + case 12: sType = "nw_it_sparscr507"; break; + case 13: sType = "nw_it_sparscr406"; break; + case 14: sType = "nw_it_sparscr411"; break; + case 15: sType = "x2_it_spdvscr402"; break; + case 16: sType = "x2_it_spdvscr305"; break; + case 17: sType = "x2_it_spdvscr403"; break; + case 18: sType = "nw_it_sparscr501"; break; + case 19: sType = "nw_it_sparscr301"; break; + case 20: sType = "x1_it_sparscr301"; break; + case 21: sType = "x2_it_spdvscr404"; break; + case 22: sType = "x2_it_spdvscr309"; break; + case 23: sType = "nw_it_sparscr416"; break; + case 24: sType = "nw_it_sparscr503"; break; + case 25: sType = "nw_it_sparscr608"; break; + case 26: sType = "nw_it_sparscr418"; break; + case 27: sType = "x2_it_spdvscr509"; break; + case 28: sType = "nw_it_sparscr413"; break; + case 29: sType = "nw_it_sparscr504"; break; + case 30: sType = "nw_it_sparscr309"; break; + case 31: sType = "x1_it_sparscr501"; break; + case 32: sType = "nw_it_sparscr304"; break; + case 33: sType = "x1_it_spdvscr403"; break; + case 34: sType = "x2_it_spdvscr405"; break; + case 35: sType = "x2_it_spdvscr306"; break; + case 36: sType = "x2_it_sparscr701"; break; + case 37: sType = "nw_it_sparscr602"; break; + case 38: sType = "x1_it_spdvscr303"; break; + case 39: sType = "x2_it_sparscr304"; break; + case 40: sType = "nw_it_sparscr508"; break; + case 41: sType = "x1_it_sparscr303"; break; + case 42: sType = "x2_it_spdvscr406"; break; + case 43: sType = "nw_it_sparscr312"; break; + case 44: sType = "x2_it_spdvscr505"; break; + case 45: sType = "x2_it_spdvscr302"; break; + case 46: sType = "nw_it_sparscr505"; break; + case 47: sType = "x2_it_spdvscr401"; break; + case 48: sType = "nw_it_sparscr408"; break; + case 49: sType = "x1_it_spdvscr501"; break; + case 50: sType = "x2_it_spdvscr301"; break; + case 51: sType = "x1_it_spdvscr401"; break; + case 52: sType = "x1_it_spdvscr302"; break; + case 53: sType = "x2_it_spdvscr310"; break; + case 54: sType = "nw_it_sparscr314"; break; + case 55: sType = "x1_it_sparscr401"; break; + case 56: sType = "x2_it_sparscr303"; break; + case 57: sType = "x2_it_sparscr602"; break; + case 58: sType = "nw_it_sparscr511"; break; + case 59: sType = "nw_it_sparscr512"; break; + case 60: sType = "nw_it_sparscr417"; break; + case 61: sType = "nw_it_sparscr513"; break; + case 62: sType = "nw_it_sparscr310"; break; + case 63: sType = "nw_it_sparscr302"; break; + case 64: sType = "x2_it_sparscrmc"; break; + case 65: sType = "x2_it_spdvscr304"; break; + case 66: sType = "x1_it_spdvscr402"; break; + case 67: sType = "x2_it_sparscr301"; break; + case 68: sType = "x2_it_sparscr502"; break; + case 69: sType = "nw_it_sparscr506"; break; + case 70: sType = "nw_it_sparscr401"; break; + case 71: sType = "x2_it_spdvscr502"; break; + case 72: sType = "nw_it_sparscr315"; break; + case 73: sType = "x2_it_spdvscr311"; break; + case 74: sType = "nw_it_spdvscr402"; break; + case 75: sType = "x1_it_spdvscr502"; break; + case 76: sType = "nw_it_sparscr409"; break; + case 77: sType = "x2_it_spdvscr407"; break; + case 78: sType = "nw_it_sparscr415"; break; + case 79: sType = "x2_it_spdvscr312"; break; + case 80: sType = "x1_it_spdvscr305"; break; + case 81: sType = "nw_it_spdvscr501"; break; + case 82: sType = "nw_it_spdvscr301"; break; + case 83: sType = "nw_it_sparscr402"; break; + case 84: sType = "nw_it_spdvscr401"; break; + case 85: sType = "x2_it_sparscr302"; break; + case 86: sType = "nw_it_sparscr410"; break; + case 87: sType = "x2_it_spdvscr506"; break; + case 88: sType = "nw_it_sparscr313"; break; + case 89: sType = "x2_it_spdvscr507"; break; + case 90: sType = "x1_it_spdvscr304"; break; + case 91: sType = "nw_it_sparscr305"; break; + case 92: sType = "nw_it_sparscr403"; break; + case 93: sType = "nw_it_sparscr306"; break; + case 94: sType = "nw_it_sparscr404"; break; + case 95: sType = "nw_it_sparscr510"; break; + case 96: sType = "x2_it_sparscr902"; break; + case 97: sType = "nw_it_sparscr606"; break; + case 98: sType = "x2_it_spdvscr503"; break; + case 99: sType = "nw_it_sparscr407"; break; + case 100: sType = "x1_it_sparscr302"; break; + } + } + + if (iRange==3) + { + iRoll = d100(); //:: scrolls valued 2400-3200 + switch (iRoll) + { + case 1: sType = "nw_it_sparscr603"; break; + case 2: sType = "x1_it_spdvscr701"; break; + case 3: sType = "x1_it_spdvscr601"; break; + case 4: sType = "x1_it_sparscr602"; break; + case 5: sType = "x1_it_sparscr701"; break; + case 6: sType = "x2_it_spdvscr603"; break; + case 7: sType = "nw_it_sparscr607"; break; + case 8: sType = "nw_it_sparscr610"; break; + case 9: sType = "nw_it_sparscr707"; break; + case 10: sType = "x1_it_spdvscr605"; break; + case 11: sType = "x1_it_spdvscr702"; break; + case 12: sType = "x2_it_spdvscr601"; break; + case 13: sType = "nw_it_sparscr704"; break; + case 14: sType = "x1_it_spdvscr703"; break; + case 15: sType = "x1_it_sparscr601"; break; + case 16: sType = "x1_it_spdvscr604"; break; + case 17: sType = "x2_it_sparscr503"; break; + case 18: sType = "nw_it_sparscr708"; break; + case 19: sType = "x1_it_spdvscr704"; break; + case 20: sType = "x1_it_sparscr605"; break; + case 21: sType = "nw_it_sparscr601"; break; + case 22: sType = "nw_it_spdvscr701"; break; + case 23: sType = "x1_it_spdvscr602"; break; + case 24: sType = "x2_it_spdvscr606"; break; + case 25: sType = "nw_it_sparscr612"; break; + case 26: sType = "nw_it_sparscr613"; break; + case 27: sType = "x2_it_spdvscr604"; break; + case 28: sType = "x2_it_spdvscr605"; break; + case 29: sType = "x1_it_sparscr603"; break; + case 30: sType = "nw_it_sparscr611"; break; + case 31: sType = "x1_it_spdvscr603"; break; + case 32: sType = "nw_it_sparscr604"; break; + case 33: sType = "nw_it_sparscr702"; break; + case 34: sType = "nw_it_sparscr706"; break; + case 35: sType = "nw_it_sparscr802"; break; + case 36: sType = "x2_it_spdvscr702"; break; + case 37: sType = "nw_it_spdvscr702"; break; + case 38: sType = "nw_it_sparscr609"; break; + case 39: sType = "x2_it_sparscr703"; break; + case 40: sType = "nw_it_sparscr701"; break; + case 41: sType = "x1_it_sparscr604"; break; + case 42: sType = "x2_it_spdvscr602"; break; + case 43: sType = "nw_it_sparscr605"; break; + case 44: sType = "nw_it_sparscr703"; break; + case 45: sType = "x2_it_spdvscr803"; break; + case 46: sType = "nw_it_sparscr614"; break; + case 47: sType = "nw_it_sparscr614"; break; + case 48: sType = "x2_it_sparscr601"; break; + case 49: sType = "x2_it_spdvscr701"; break; + case 50: sType = "nw_it_sparscr603"; break; + case 51: sType = "x1_it_spdvscr701"; break; + case 52: sType = "x1_it_spdvscr601"; break; + case 53: sType = "x1_it_sparscr602"; break; + case 54: sType = "x1_it_sparscr701"; break; + case 55: sType = "x2_it_spdvscr603"; break; + case 56: sType = "nw_it_sparscr607"; break; + case 57: sType = "nw_it_sparscr610"; break; + case 58: sType = "nw_it_sparscr707"; break; + case 59: sType = "x1_it_spdvscr605"; break; + case 60: sType = "x1_it_spdvscr702"; break; + case 61: sType = "x2_it_spdvscr601"; break; + case 62: sType = "nw_it_sparscr704"; break; + case 63: sType = "x1_it_spdvscr703"; break; + case 64: sType = "x1_it_sparscr601"; break; + case 65: sType = "x1_it_spdvscr604"; break; + case 66: sType = "x2_it_sparscr503"; break; + case 67: sType = "nw_it_sparscr708"; break; + case 68: sType = "x1_it_spdvscr704"; break; + case 69: sType = "x1_it_sparscr605"; break; + case 70: sType = "nw_it_sparscr601"; break; + case 71: sType = "nw_it_spdvscr701"; break; + case 72: sType = "x1_it_spdvscr602"; break; + case 73: sType = "x2_it_spdvscr606"; break; + case 74: sType = "nw_it_sparscr612"; break; + case 75: sType = "nw_it_sparscr613"; break; + case 76: sType = "x2_it_spdvscr604"; break; + case 77: sType = "x2_it_spdvscr605"; break; + case 78: sType = "x1_it_sparscr603"; break; + case 79: sType = "nw_it_sparscr611"; break; + case 80: sType = "x1_it_spdvscr603"; break; + case 81: sType = "nw_it_sparscr604"; break; + case 82: sType = "nw_it_sparscr702"; break; + case 83: sType = "nw_it_sparscr706"; break; + case 84: sType = "nw_it_sparscr802"; break; + case 85: sType = "x2_it_spdvscr702"; break; + case 86: sType = "nw_it_spdvscr702"; break; + case 87: sType = "nw_it_sparscr609"; break; + case 88: sType = "x2_it_sparscr703"; break; + case 89: sType = "nw_it_sparscr701"; break; + case 90: sType = "x1_it_sparscr604"; break; + case 91: sType = "x2_it_spdvscr602"; break; + case 92: sType = "nw_it_sparscr605"; break; + case 93: sType = "nw_it_sparscr703"; break; + case 94: sType = "x2_it_spdvscr803"; break; + case 95: sType = "nw_it_sparscr614"; break; + case 96: sType = "nw_it_sparscr614"; break; + case 97: sType = "x2_it_sparscr601"; break; + case 98: sType = "x2_it_spdvscr701"; break; + case 99: sType = "x2_it_sparscr703"; break; + case 100: sType = "nw_it_sparscr701"; break; + } + } + + if (iRange==4||iRange==5) + { + iRoll = Random(40)+1; //:: scrolls valued above 3200 + switch (iRoll) + { + case 1: sType = "nw_it_sparscr806"; break; + case 2: sType = "x2_it_spdvscr804"; break; + case 3: sType = "x1_it_sparscr801"; break; + case 4: sType = "x1_it_sparscr901"; break; + case 5: sType = "x2_it_sparscr901"; break; + case 6: sType = "x2_it_sparscr801"; break; + case 7: sType = "x1_it_spdvscr803"; break; + case 8: sType = "x1_it_spdvscr804"; break; + case 9: sType = "nw_it_sparscr905"; break; + case 10: sType = "x2_it_spdvscr901"; break; + case 11: sType = "nw_it_sparscr908"; break; + case 12: sType = "nw_it_sparscr902"; break; + case 13: sType = "nw_it_sparscr803"; break; + case 14: sType = "nw_it_sparscr912"; break; + case 15: sType = "nw_it_sparscr809"; break; + case 16: sType = "x2_it_spdvscr902"; break; + case 17: sType = "nw_it_sparscr804"; break; + case 18: sType = "nw_it_sparscr807"; break; + case 19: sType = "nw_it_sparscr806"; break; + case 20: sType = "x2_it_spdvscr801"; break; + case 21: sType = "nw_it_sparscr906"; break; + case 22: sType = "nw_it_sparscr801"; break; + case 23: sType = "nw_it_sparscr901"; break; + case 24: sType = "x2_it_spdvscr802"; break; + case 25: sType = "nw_it_sparscr903"; break; + case 26: sType = "nw_it_sparscr808"; break; + case 27: sType = "nw_it_sparscr910"; break; + case 28: sType = "x2_it_spdvscr903"; break; + case 29: sType = "nw_it_sparscr904"; break; + case 30: sType = "nw_it_sparscr805"; break; + case 31: sType = "x1_it_spdvscr802"; break; + case 32: sType = "nw_it_sparscr911"; break; + case 33: sType = "x1_it_spdvscr901"; break; + case 34: sType = "nw_it_sparscr909"; break; + case 35: sType = "nw_it_sparscr907"; break; + case 36: sType = "x1_it_spdvscr801"; break; + case 37: sType = "nw_it_sparscr906"; break; + case 38: sType = "nw_it_sparscr808"; break; + case 39: sType = "x2_it_sparscr801"; break; + case 40: sType = "x2_it_spdvscr804"; break; + } + } + + object oScroll = CreateItemOnObject(sType, oSack, 1); + + SetIdentified(oScroll, FALSE); +} + +void DropPotion(object oMod, object oSack) +{ + string sPotion; + + int nRandom = Random(41) + 1; + switch (nRandom) + { + case 1: sPotion = "hy_mpotion001"; break; + case 2: sPotion = "hy_mpotion002"; break; + case 3: sPotion = "hy_mpotion003"; break; + case 4: sPotion = "hy_mpotion005"; break; + case 5: sPotion = "hy_mpotion006"; break; + case 6: sPotion = "hy_mpotion008"; break; + case 7: sPotion = "hy_mpotion009"; break; + case 8: sPotion = "x2_it_mpotion001"; break; + case 9: sPotion = "nw_it_mpotion001" ; break; + case 10: sPotion = "nw_it_mpotion002" ; break; + case 11: sPotion = "nw_it_mpotion003" ; break; + case 12: sPotion = "nw_it_mpotion004" ; break; + case 13: sPotion = "nw_it_mpotion005" ; break; + case 14: sPotion = "nw_it_mpotion006"; break; + case 15: sPotion = "nw_it_mpotion007"; break; + case 16: sPotion = "nw_it_mpotion008"; break; + case 17: sPotion = "nw_it_mpotion009"; break; + case 18: sPotion = "nw_it_mpotion010"; break; + case 19: sPotion = "nw_it_mpotion011"; break; + case 20: sPotion = "nw_it_mpotion012"; break; + case 21: sPotion = "nw_it_mpotion013"; break; + case 22: sPotion = "nw_it_mpotion014"; break; + case 23: sPotion = "nw_it_mpotion015"; break; + case 24: sPotion = "nw_it_mpotion016"; break; + case 25: sPotion = "nw_it_mpotion017"; break; + case 26: sPotion = "nw_it_mpotion018"; break; + case 27: sPotion = "nw_it_mpotion019"; break; + case 28: sPotion = "nw_it_mpotion020"; break; + case 29: sPotion = "x2_it_mpotion001"; break; + case 30: sPotion = "hy_mpotion001"; break; + case 31: sPotion = "hy_mpotion002"; break; + case 32: sPotion = "hy_mpotion003"; break; + case 33: sPotion = "hy_mpotion004"; break; + case 34: sPotion = "hy_mpotion005"; break; + case 35: sPotion = "hy_mpotion006"; break; + case 36: sPotion = "hy_mpotion007"; break; + case 37: sPotion = "hy_mpotion008"; break; + case 38: sPotion = "hy_mpotion009"; break; + case 39: sPotion = "hy_mpotion010"; break; + case 40: sPotion = "hy_mpotion011"; break; + case 41: sPotion = "hy_mpotion012"; break; + } + + CreateItemOnObject(sPotion, oSack, 1); +} + +void DropRodWand(object oMod, object oSack) +{ + string sType; + + int nRandom = Random(16) + 1; + switch (nRandom) + {//::: Rods + case 1: sType = "nw_wmgmrd002"; break; //res + case 2: sType = "nw_wmgmrd005"; break; //rev + case 3: sType = "nw_wmgrd002"; break; // ghost + case 4: sType = "nw_wmgmrd006"; break; // frost + + //:: Wands + case 5: sType = "nw_wmgwn011"; break; + case 6: sType = "nw_wmgwn002"; break; + case 7: sType = "nw_wmgwn007"; break; + case 8: sType = "nw_wmgwn004"; break; + case 9: sType = "nw_wmgwn006"; break; + case 10: sType = "nw_wmgwn005"; break; + case 11: sType = "nw_wmgwn012"; break; + case 12: sType = "nw_wmgwn010"; break; + case 13: sType = "nw_wmgwn008"; break; + case 14: sType = "nw_wmgwn009"; break; + case 15: sType = "nw_wmgwn003"; break; + case 16: sType = "nw_wmgwn013"; break; + } + + CreateItemOnObject(sType, oSack, 1); +} + +void DropMisc(object oMod, object oSack) +{ + string sName; + + int nDice = Random(22)+1; + switch (nDice) + { + case 1: sName = "nw_it_contain002"; break; //mpouch + case 2: sName = "nw_it_msmlmisc05"; break; //healpearl + case 3: sName = "nw_it_mmidmisc04"; break; //scab bless + case 4: sName = "x0_it_msmlmisc05"; break; //earth elem + case 5: sName = "x0_it_mmedmisc03"; break; //harp + case 6: sName = "x0_it_msmlmisc01"; break; //water elem + case 7: sName = "x0_it_msmlmisc02"; break; //fire elem + case 8: sName = "x0_it_mmedmisc01"; break; //shielding + case 9: sName = "x0_it_mthnmisc21"; break; //air elem + case 10: sName = "x0_it_mthnmisc19"; break; //bard lire + case 11: sName = "x0_it_mthnmisc17"; break; // bard spls + case 12: sName = "x0_it_mmedmisc02"; break; // bard spls + case 13: sName = "x0_it_mthnmisc05"; break; // dust app + case 14: sName = "x0_it_mthnmisc06"; break; // dust dissapp + case 15: sName = "x0_it_mthnmisc13"; break; // sunbeam + case 16: sName = "x0_it_mthnmisc15"; break; // + case 17: sName = "x0_it_mthnmisc14"; break; // lath chal + case 18: sName = "nw_it_mmidmisc01"; break; // harp charm + case 19: sName = "nw_it_mmidmisc02"; break; // harp haunt + case 20: sName = "nw_it_mmidmisc03"; break; // harp pand + case 21: sName = "x0_it_msmlmisc06"; break; // horn good/evil + case 22: sName = "x0_it_mthnmisc09"; break; // + } + + CreateItemOnObject(sName, oSack, 1); +} + +void DropSetItem(object oMod, object oSack, int iClass) +{ + string sName; + int iDice; + + if (iClass==0)iClass = d12(); + + switch (iClass) + { + case 1: + { //:: STR Fighter Set + iDice = d6(); + switch(iDice) + { + case 1: sName = "sd_fighter_s1_1"; break; + case 2: sName = "sd_fighter_s1_2"; break; + case 3: sName = "sd_fighter_s1_3"; break; + case 4: sName = "sd_fighter_s1_4"; break; + case 5: sName = "sd_fighter_s1_5"; break; + case 6: sName = "sd_fighter_s1_6"; break; + } + } + break; + + case 2: + {//:: Wizard Set + iDice = d6(); + switch(iDice) + { + case 1: sName = "sd_wizard_s1_1"; break; + case 2: sName = "sd_wizard_s1_2"; break; + case 3: sName = "sd_wizard_s1_3"; break; + case 4: sName = "sd_wizard_s1_4"; break; + case 5: sName = "sd_wizard_s1_5"; break; + case 6: sName = "sd_wizard_s1_6"; break; + } + } + break; + + case 3: + {//:: Sorcerer Set + iDice = d6(); + switch(iDice) + { + case 1: sName = "sd_sorc_s1_1"; break; + case 2: sName = "sd_sorc_s1_2"; break; + case 3: sName = "sd_sorc_s1_3"; break; + case 4: sName = "sd_sorc_s1_4"; break; + case 5: sName = "sd_sorc_s1_5"; break; + case 6: sName = "sd_sorc_s1_6"; break; + } + } + break; + + case 4: + {//:: DEX Fighter/Rogue Set + iDice = d6(); + switch(iDice) + { + case 1: sName = "sd_fighter_s2_1"; break; + case 2: sName = "sd_fighter_s2_2"; break; + case 3: sName = "sd_fighter_s2_3"; break; + case 4: sName = "sd_fighter_s2_4"; break; + case 5: sName = "sd_fighter_s2_5"; break; + case 6: sName = "sd_fighter_s2_6"; break; + } + } + break; + + case 5: + {//:: Cleric Set + iDice = d6(); + switch(iDice) + { + case 1: sName = "sd_cleric_s1_1"; break; + case 2: sName = "sd_cleric_s1_2"; break; + case 3: sName = "sd_cleric_s1_3"; break; + case 4: sName = "sd_cleric_s1_4"; break; + case 5: sName = "sd_cleric_s1_5"; break; + case 6: sName = "sd_cleric_s1_6"; break; + } + } + break; + + case 6: + {//:: Bard Set + iDice = d6(); + switch(iDice) + { + case 1: sName = "sd_bard_s1_1"; break; + case 2: sName = "sd_bard_s1_2"; break; + case 3: sName = "sd_bard_s1_3"; break; + case 4: sName = "sd_bard_s1_4"; break; + case 5: sName = "sd_bard_s1_5"; break; + case 6: sName = "sd_bard_s1_6"; break; + } + } + break; + + case 7: + {//:: Paladin Set + iDice = d6(); + switch(iDice) + { + case 1: sName = "sd_paladin_s1_1"; break; + case 2: sName = "sd_paladin_s1_2"; break; + case 3: sName = "sd_paladin_s1_3"; break; + case 4: sName = "sd_paladin_s1_4"; break; + case 5: sName = "sd_paladin_s1_5"; break; + case 6: sName = "sd_paladin_s1_6"; break; + } + } + break; + + case 8: + {//:: Druid Set + iDice = d6(); + switch(iDice) + { + case 1: sName = "sd_druid_s1_1"; break; + case 2: sName = "sd_druid_s1_2"; break; + case 3: sName = "sd_druid_s1_3"; break; + case 4: sName = "sd_druid_s1_4"; break; + case 5: sName = "sd_druid_s1_5"; break; + case 6: sName = "sd_druid_s1_6"; break; + } + } + break; + + case 9: + {//:: Ranger Set + iDice = d6(); + switch(iDice) + { + case 1: sName = "sd_ranger_s1_1"; break; + case 2: sName = "sd_ranger_s1_2"; break; + case 3: sName = "sd_ranger_s1_3"; break; + case 4: sName = "sd_ranger_s1_4"; break; + case 5: sName = "sd_ranger_s1_5"; break; + case 6: sName = "sd_ranger_s1_6"; break; + } + } + break; + + case 10: + {//:: Monk Set + iDice = d6(); + switch(iDice) + { + case 1: sName = "sd_monk_s1_1"; break; + case 2: sName = "sd_monk_s1_2"; break; + case 3: sName = "sd_monk_s1_3"; break; + case 4: sName = "sd_monk_s1_4"; break; + case 5: sName = "sd_monk_s1_5"; break; + case 6: sName = "sd_monk_s1_6"; break; + } + } + break; + + case 11: + {//:: Barbarian Set + iDice = d6(); + switch(iDice) + { + case 1: sName = "sd_barb_s1_6"; break; + case 2: sName = "sd_barb_s1_1"; break; + case 3: sName = "sd_barb_s1_2"; break; + case 4: sName = "sd_barb_s1_3"; break; + case 5: sName = "sd_barb_s1_4"; break; + case 6: sName = "sd_barb_s1_5"; break; + } + } + break; + + case 12: + {//:: Dual Weapon / Weapon & Shield Sets + iDice = d6(); + switch(iDice) + { + case 1: sName = "sd_weap_s1_1"; break; + case 2: sName = "sd_weap_s1_2"; break; + case 3: sName = "sd_weap_s2_1"; break; + case 4: sName = "sd_weap_s2_2"; break; + case 5: sName = "sd_weap_s3_1"; break; + case 6: sName = "sd_weap_s3_2"; break; + } + } + break; + } +// coming soon: Ring Sets, Ammy/Ring Sets + +////////////////////////////////////// +//:Debugging + FloatingTextStringOnCreature("Class: "+IntToString(iClass), oMod); + FloatingTextStringOnCreature("Roll: "+IntToString(iDice), oMod); + FloatingTextStringOnCreature(sName, oMod); + + CreateItemOnObject(sName, oSack, 1); +} + +void DropGold (object oMob, object oSack, int iBonus) +{ + string sGold, sLvl; + int iHD = GetHitDice(oMob); + int iGold = 0; + + iGold = (d20()*iHD)+(10*iHD)+iBonus; + + CreateItemOnObject("nw_it_gold001", oSack, iGold); + + ///////////////////////////////////////////////////////////////////////// + //Gold Debugging + //object oPC = GetFirstPC(); + //sGold = IntToString(iGold); + //sLvl = IntToString(iHD); + //FloatingTextStringOnCreature(sGold+" Gold Spawned by lvl "+sLvl+" mob", oPC); + // + // + // +} + +void CastImbue(object oItem, int iRange) +{ + itemproperty ipAdd; + int iSpell; + int iUses; + int iRoll; + switch (iRange) + { + case 1: + { + iRoll = d20(); + if (iRoll==1)iSpell = IP_CONST_CASTSPELL_BURNING_HANDS_2; + if (iRoll==2)iSpell = IP_CONST_CASTSPELL_BARKSKIN_3; + if (iRoll==3)iSpell = IP_CONST_CASTSPELL_MAGE_ARMOR_2; + if (iRoll==4)iSpell = IP_CONST_CASTSPELL_MAGIC_MISSILE_5; + if (iRoll==5)iSpell = IP_CONST_CASTSPELL_COLOR_SPRAY_2; + if (iRoll==6)iSpell = IP_CONST_CASTSPELL_DOOM_5; + if (iRoll==7)iSpell = IP_CONST_CASTSPELL_ENTANGLE_5; + if (iRoll==8)iSpell = IP_CONST_CASTSPELL_GHOSTLY_VISAGE_3; + if (iRoll==9)iSpell = IP_CONST_CASTSPELL_BLESS_2; + if (iRoll==10)iSpell = IP_CONST_CASTSPELL_BULLS_STRENGTH_3; + if (iRoll==11)iSpell = IP_CONST_CASTSPELL_CATS_GRACE_3; + if (iRoll==12)iSpell = IP_CONST_CASTSPELL_CLARITY_3; + if (iRoll==13)iSpell = IP_CONST_CASTSPELL_GREASE_2; + if (iRoll==14)iSpell = IP_CONST_CASTSPELL_HOLD_PERSON_3; + if (iRoll==15)iSpell = IP_CONST_CASTSPELL_HOLD_MONSTER_7; + if (iRoll==16)iSpell = IP_CONST_CASTSPELL_INVISIBILITY_3; + if (iRoll==17)iSpell = IP_CONST_CASTSPELL_INVISIBILITY_PURGE_5; + if (iRoll==18)iSpell = IP_CONST_CASTSPELL_LIGHTNING_BOLT_5; + if (iRoll==19)iSpell = IP_CONST_CASTSPELL_SHIELD_5; + if (iRoll==20)iSpell = IP_CONST_CASTSPELL_SILENCE_3; + } + break; + + case 2: + { + iRoll = d20(); + if (iRoll==1)iSpell = IP_CONST_CASTSPELL_DISPLACEMENT_9; + if (iRoll==2)iSpell = IP_CONST_CASTSPELL_FIREBALL_10; + if (iRoll==3)iSpell = IP_CONST_CASTSPELL_MAGIC_CIRCLE_AGAINST_ALIGNMENT_5; + if (iRoll==4)iSpell = IP_CONST_CASTSPELL_SLAY_LIVING_9; + if (iRoll==5)iSpell = IP_CONST_CASTSPELL_STONESKIN_7; + if (iRoll==6)iSpell = IP_CONST_CASTSPELL_ICE_STORM_9; + if (iRoll==7)iSpell = IP_CONST_CASTSPELL_CALL_LIGHTNING_10; + if (iRoll==8)iSpell = IP_CONST_CASTSPELL_ISAACS_LESSER_MISSILE_STORM_13; + if (iRoll==9)iSpell = IP_CONST_CASTSPELL_FLAME_ARROW_12; + if (iRoll==10)iSpell = IP_CONST_CASTSPELL_FLAME_STRIKE_7; + if (iRoll==11)iSpell = IP_CONST_CASTSPELL_HOLD_PERSON_3; + if (iRoll==12)iSpell = IP_CONST_CASTSPELL_HOLD_MONSTER_7; + if (iRoll==13)iSpell = IP_CONST_CASTSPELL_INVISIBILITY_PURGE_5; + if (iRoll==14)iSpell = IP_CONST_CASTSPELL_INVISIBILITY_SPHERE_5; + if (iRoll==15)iSpell = IP_CONST_CASTSPELL_LIGHTNING_BOLT_10; + if (iRoll==16)iSpell = IP_CONST_CASTSPELL_MINOR_GLOBE_OF_INVULNERABILITY_7; + if (iRoll==17)iSpell = IP_CONST_CASTSPELL_STINKING_CLOUD_5; + if (iRoll==18)iSpell = IP_CONST_CASTSPELL_SUMMON_CREATURE_IV_7; + if (iRoll==19)iSpell = IP_CONST_CASTSPELL_SUMMON_CREATURE_V_9; + if (iRoll==20)iSpell = IP_CONST_CASTSPELL_SUMMON_CREATURE_VI_11; + } + break; + + case 3: + { + iRoll = d12(); + if (iRoll==1)iSpell = IP_CONST_CASTSPELL_SUNBEAM_13; + if (iRoll==2)iSpell = IP_CONST_CASTSPELL_CONE_OF_COLD_15; + if (iRoll==3)iSpell = IP_CONST_CASTSPELL_MASS_HEAL_15; + if (iRoll==4)iSpell = IP_CONST_CASTSPELL_ETHEREAL_VISAGE_15; + if (iRoll==5)iSpell = IP_CONST_CASTSPELL_GREATER_DISPELLING_15; + if (iRoll==6)iSpell = IP_CONST_CASTSPELL_ISAACS_GREATER_MISSILE_STORM_15; + if (iRoll==7)iSpell = IP_CONST_CASTSPELL_CHAIN_LIGHTNING_20; + if (iRoll==8)iSpell = IP_CONST_CASTSPELL_GREATER_STONESKIN_11; + if (iRoll==9)iSpell = IP_CONST_CASTSPELL_FIREBRAND_15; + if (iRoll==10)iSpell = IP_CONST_CASTSPELL_FLAME_ARROW_12; + if (iRoll==11)iSpell = IP_CONST_CASTSPELL_FLAME_STRIKE_12; + if (iRoll==12)iSpell = IP_CONST_CASTSPELL_INVISIBILITY_SPHERE_5; + } + break; + + case 4: + { + iRoll = Random(16); + if (iRoll==1)iSpell = IP_CONST_CASTSPELL_BIGBYS_FORCEFUL_HAND_15; + if (iRoll==2)iSpell = IP_CONST_CASTSPELL_HORRID_WILTING_20; + if (iRoll==3)iSpell = IP_CONST_CASTSPELL_IMPLOSION_17; + if (iRoll==4)iSpell = IP_CONST_CASTSPELL_INCENDIARY_CLOUD_15; + if (iRoll==5)iSpell = IP_CONST_CASTSPELL_PREMONITION_15; + if (iRoll==6)iSpell = IP_CONST_CASTSPELL_MORDENKAINENS_DISJUNCTION_17; + if (iRoll==7)iSpell = IP_CONST_CASTSPELL_METEOR_SWARM_17; + if (iRoll==8)iSpell = IP_CONST_CASTSPELL_ISAACS_GREATER_MISSILE_STORM_15; + if (iRoll==9)iSpell = IP_CONST_CASTSPELL_SUNBEAM_13; + if (iRoll==10)iSpell = IP_CONST_CASTSPELL_CONE_OF_COLD_15; + if (iRoll==11)iSpell = IP_CONST_CASTSPELL_MASS_HEAL_15; + if (iRoll==12)iSpell = IP_CONST_CASTSPELL_ETHEREAL_VISAGE_15; + if (iRoll==13)iSpell = IP_CONST_CASTSPELL_FIREBRAND_15; + if (iRoll==14)iSpell = IP_CONST_CASTSPELL_FLAME_ARROW_18; + if (iRoll==15)iSpell = IP_CONST_CASTSPELL_FLAME_STRIKE_18; + if (iRoll==16)iSpell = IP_CONST_CASTSPELL_MASS_HEAL_15; + } + break; + + case 5: + { + iRoll = d20(); + if (iRoll==1)iSpell = IP_CONST_CASTSPELL_WAIL_OF_THE_BANSHEE_17; + if (iRoll==2)iSpell = IP_CONST_CASTSPELL_TIME_STOP_17; + if (iRoll==3)iSpell = IP_CONST_CASTSPELL_IMPLOSION_17; + if (iRoll==4)iSpell = IP_CONST_CASTSPELL_ISAACS_GREATER_MISSILE_STORM_15; + if (iRoll==5)iSpell = IP_CONST_CASTSPELL_HORRID_WILTING_20; + if (iRoll==6)iSpell = IP_CONST_CASTSPELL_MORDENKAINENS_SWORD_18; + if (iRoll==7)iSpell = IP_CONST_CASTSPELL_MORDENKAINENS_DISJUNCTION_17; + if (iRoll==8)iSpell = IP_CONST_CASTSPELL_MASS_HEAL_15; + if (iRoll==9)iSpell = IP_CONST_CASTSPELL_BIGBYS_FORCEFUL_HAND_15; + if (iRoll==10)iSpell = IP_CONST_CASTSPELL_HORRID_WILTING_20; + if (iRoll==11)iSpell = IP_CONST_CASTSPELL_IMPLOSION_17; + if (iRoll==12)iSpell = IP_CONST_CASTSPELL_INCENDIARY_CLOUD_15; + if (iRoll==13)iSpell = IP_CONST_CASTSPELL_PREMONITION_15; + if (iRoll==14)iSpell = IP_CONST_CASTSPELL_MORDENKAINENS_DISJUNCTION_17; + if (iRoll==15)iSpell = IP_CONST_CASTSPELL_METEOR_SWARM_17; + if (iRoll==16)iSpell = IP_CONST_CASTSPELL_ISAACS_GREATER_MISSILE_STORM_15; + if (iRoll==17)iSpell = IP_CONST_CASTSPELL_SUNBEAM_13; + if (iRoll==18)iSpell = IP_CONST_CASTSPELL_CONE_OF_COLD_15; + if (iRoll==19)iSpell = IP_CONST_CASTSPELL_MASS_HEAL_15; + if (iRoll==20)iSpell = IP_CONST_CASTSPELL_ETHEREAL_VISAGE_15; + } + break; + + } + + switch (iRange) + { + case 1: + { + iRoll = d3(); + if (iRoll==1)iUses = IP_CONST_CASTSPELL_NUMUSES_5_CHARGES_PER_USE; + if (iRoll==2)iUses = IP_CONST_CASTSPELL_NUMUSES_4_CHARGES_PER_USE; + if (iRoll==3)iUses = IP_CONST_CASTSPELL_NUMUSES_3_CHARGES_PER_USE; + break; + } + case 2: + { + iRoll = d3(); + if (iRoll==1)iUses = IP_CONST_CASTSPELL_NUMUSES_5_CHARGES_PER_USE; + if (iRoll==2)iUses = IP_CONST_CASTSPELL_NUMUSES_5_CHARGES_PER_USE; + if (iRoll==3)iUses = IP_CONST_CASTSPELL_NUMUSES_4_CHARGES_PER_USE; + break; + } + case 3: + { + iRoll = d3(); + if (iRoll==1)iUses = IP_CONST_CASTSPELL_NUMUSES_4_CHARGES_PER_USE; + if (iRoll==2)iUses = IP_CONST_CASTSPELL_NUMUSES_3_CHARGES_PER_USE; + if (iRoll==3)iUses = IP_CONST_CASTSPELL_NUMUSES_2_CHARGES_PER_USE; + + iRoll = d100(); + + if (iRoll > 95) + { + iUses = IP_CONST_CASTSPELL_NUMUSES_1_USE_PER_DAY; + } + + break; + } + case 4: + { + iRoll = d3(); + + if (iRoll==1)iUses = IP_CONST_CASTSPELL_NUMUSES_1_CHARGE_PER_USE; + if (iRoll==2)iUses = IP_CONST_CASTSPELL_NUMUSES_1_USE_PER_DAY; + if (iRoll==3)iUses = IP_CONST_CASTSPELL_NUMUSES_2_USES_PER_DAY; + + iRoll = d100(); + + if (iRoll > 95) + { + iUses = IP_CONST_CASTSPELL_NUMUSES_2_USES_PER_DAY; + } + + break; + } + case 5: + { + iRoll = d3(); + + if (iRoll==1)iUses = IP_CONST_CASTSPELL_NUMUSES_1_USE_PER_DAY; + if (iRoll==2)iUses = IP_CONST_CASTSPELL_NUMUSES_2_USES_PER_DAY; + if (iRoll==3)iUses = IP_CONST_CASTSPELL_NUMUSES_3_USES_PER_DAY; + + iRoll = d100(); + + if (iRoll > 90) + { + iUses = IP_CONST_CASTSPELL_NUMUSES_4_USES_PER_DAY; + } + + break; + } + } + + ipAdd = ItemPropertyCastSpell(iSpell, iUses); + IPSafeAddItemProperty(oItem, ipAdd); + iRoll = (d12() * iRange)+1; if (iRoll > 50) iRoll = 50; + SetItemCharges(oItem, iRoll); +} + +void WeapOnHit(object oItem, int iRange) +{ + itemproperty ipAdd; + int iProperty; + int iSaveDC; + int iSpecial; + int iRoll; + + switch (iRange) + { + case 1: + { + iRoll = d3(); + if (iRoll==1)iProperty = IP_CONST_ONHIT_DOOM; + if (iRoll==2)iProperty = IP_CONST_ONHIT_DEAFNESS; + if (iRoll==3)iProperty = IP_CONST_ONHIT_SLOW; + } + break; + case 2: + { + iRoll = d4(); + if (iRoll==1)iProperty = IP_CONST_ONHIT_DOOM; + if (iRoll==2)iProperty = IP_CONST_ONHIT_DEAFNESS; + if (iRoll==3)iProperty = IP_CONST_ONHIT_SLOW; + if (iRoll==4)iProperty = IP_CONST_ONHIT_SLEEP; + } + break; + case 3: + { + iRoll = d6(); + if (iRoll==1)iProperty = IP_CONST_ONHIT_DOOM; + if (iRoll==2)iProperty = IP_CONST_ONHIT_DEAFNESS; + if (iRoll==3)iProperty = IP_CONST_ONHIT_SLOW; + if (iRoll==4)iProperty = IP_CONST_ONHIT_SLEEP; + if (iRoll==5)iProperty = IP_CONST_ONHIT_DAZE; + if (iRoll==6)iProperty = IP_CONST_ONHIT_STUN; + } + break; + case 4: + { + iRoll = d10(); + if (iRoll==1)iProperty = IP_CONST_ONHIT_DOOM; + if (iRoll==2)iProperty = IP_CONST_ONHIT_SILENCE; + if (iRoll==3)iProperty = IP_CONST_ONHIT_SLOW; + if (iRoll==4)iProperty = IP_CONST_ONHIT_SLEEP; + if (iRoll==5)iProperty = IP_CONST_ONHIT_DAZE; + if (iRoll==6)iProperty = IP_CONST_ONHIT_STUN; + if (iRoll==7)iProperty = IP_CONST_ONHIT_HOLD; + if (iRoll==8)iProperty = IP_CONST_ONHIT_CONFUSION; + if (iRoll==9)iProperty = IP_CONST_ONHIT_ABILITYDRAIN; + if (iRoll==10)iProperty = IP_CONST_ONHIT_FEAR; + } + break; + case 5: + { + iRoll = d12(); + if (iRoll==1)iProperty = IP_CONST_ONHIT_DOOM; + if (iRoll==2)iProperty = IP_CONST_ONHIT_SILENCE; + if (iRoll==3)iProperty = IP_CONST_ONHIT_SLOW; + if (iRoll==4)iProperty = IP_CONST_ONHIT_SLEEP; + if (iRoll==5)iProperty = IP_CONST_ONHIT_DAZE; + if (iRoll==6)iProperty = IP_CONST_ONHIT_STUN; + if (iRoll==7)iProperty = IP_CONST_ONHIT_HOLD; + if (iRoll==8)iProperty = IP_CONST_ONHIT_CONFUSION; + if (iRoll==9)iProperty = IP_CONST_ONHIT_ABILITYDRAIN; + if (iRoll==10)iProperty = IP_CONST_ONHIT_FEAR; + if (iRoll==11)iProperty = IP_CONST_ONHIT_BLINDNESS; + if (iRoll==12)iProperty = IP_CONST_ONHIT_LEVELDRAIN; + } + + break; + } + + switch (iRange) + { + case 1: + { + iRoll = d2(); + if (iRoll==1)iSaveDC = IP_CONST_ONHIT_SAVEDC_14; + if (iRoll==2)iSaveDC = IP_CONST_ONHIT_SAVEDC_14; + break; + } + case 2: + { + iRoll = d3(); + if (iRoll==1)iSaveDC = IP_CONST_ONHIT_SAVEDC_14; + if (iRoll==2)iSaveDC = IP_CONST_ONHIT_SAVEDC_14; + if (iRoll==3)iSaveDC = IP_CONST_ONHIT_SAVEDC_14; + break; + } + case 3: + { + iRoll = d3(); + if (iRoll==1)iSaveDC = IP_CONST_ONHIT_SAVEDC_14; + if (iRoll==2)iSaveDC = IP_CONST_ONHIT_SAVEDC_14; + if (iRoll==3)iSaveDC = IP_CONST_ONHIT_SAVEDC_16; + + iRoll = d100(); + if (iRoll > 95) + { + iSaveDC = IP_CONST_ONHIT_SAVEDC_18; + } + break; + } + case 4: + { + iRoll = d4(); + + if (iRoll==1)iSaveDC = IP_CONST_ONHIT_SAVEDC_14; + if (iRoll==2)iSaveDC = IP_CONST_ONHIT_SAVEDC_14; + if (iRoll==3)iSaveDC = IP_CONST_ONHIT_SAVEDC_16; + if (iRoll==4)iSaveDC = IP_CONST_ONHIT_SAVEDC_18; + + iRoll=d100(); + + if (iRoll > 95) + { + iSaveDC = IP_CONST_ONHIT_SAVEDC_20; + } + + break; + } + case 5: + { + iRoll = d4(); + + if (iRoll==1)iSaveDC = IP_CONST_ONHIT_SAVEDC_16; + if (iRoll==2)iSaveDC = IP_CONST_ONHIT_SAVEDC_18; + if (iRoll==3)iSaveDC = IP_CONST_ONHIT_SAVEDC_20; + if (iRoll==4)iSaveDC = IP_CONST_ONHIT_SAVEDC_22; + + iRoll=d100(); + + if (iRoll>90) + { + iSaveDC = IP_CONST_ONHIT_SAVEDC_24; + } + break; + } + } + + switch (iRange) + { + case 1: case 2: case 3: case 4: case 5: + { + iRoll = Random(5); + if (iRoll==1)iSpecial = IP_CONST_ONHIT_DURATION_5_PERCENT_5_ROUNDS; + if (iRoll==2)iSpecial = IP_CONST_ONHIT_DURATION_10_PERCENT_4_ROUNDS; + if (iRoll==3)iSpecial = IP_CONST_ONHIT_DURATION_25_PERCENT_3_ROUNDS; + if (iRoll==4)iSpecial = IP_CONST_ONHIT_DURATION_50_PERCENT_2_ROUNDS; + if (iRoll==5)iSpecial = IP_CONST_ONHIT_DURATION_75_PERCENT_1_ROUND; + break; + } + } + + ipAdd = ItemPropertyOnHitProps(iProperty, iSaveDC, iSpecial); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void SpellSlot(object oItem, int iRange, int iNum) +{ + itemproperty ipAdd; + itemproperty ipClass; + int iLvl, i; + int iClass; + int iSpec; + int iRoll; + iRoll = d8(); + switch (iRoll) + { + case 1: + { + iClass = IP_CONST_CLASS_BARD; iSpec = 1; + ipClass = ItemPropertyLimitUseByClass(IP_CONST_CLASS_BARD); + } + break; + case 2: + { + iClass = IP_CONST_CLASS_DRUID; + ipClass = ItemPropertyLimitUseByClass(IP_CONST_CLASS_DRUID); + } + break; + case 3: + { + iClass = IP_CONST_CLASS_SORCERER; + ipClass = ItemPropertyLimitUseByClass(IP_CONST_CLASS_SORCERER); + } + break; + case 4: + { + iClass = IP_CONST_CLASS_WIZARD; + ipClass = ItemPropertyLimitUseByClass(IP_CONST_CLASS_WIZARD); + } + break; + case 5: + { + iClass = IP_CONST_CLASS_PALADIN; iSpec = 2; + ipClass = ItemPropertyLimitUseByClass(IP_CONST_CLASS_PALADIN); + } + break; + case 6: + { + iClass = IP_CONST_CLASS_RANGER; iSpec = 2; + ipClass = ItemPropertyLimitUseByClass(IP_CONST_CLASS_RANGER); + } + break; + case 7: + { + iClass = IP_CONST_CLASS_CLERIC; + ipClass = ItemPropertyLimitUseByClass(IP_CONST_CLASS_CLERIC); + } + break; + case 8: + { + iClass = IP_CONST_CLASS_WIZARD; + ipClass = ItemPropertyLimitUseByClass(IP_CONST_CLASS_WIZARD); + } + break; + } + + for (i = 0; i < iNum; i++) + { + if (iSpec == 1) + { + switch (iRange) // Bard max lvl 6 + { + case 1: iLvl = 1; break; // 1 + case 2: {iLvl = d3();if(iLvl==3)iLvl=2;}break; // 1-2 + case 3: {iLvl = d3()+2;if(iLvl==5)iLvl=3;}break; // 3-4 + case 4: {iLvl = d3()+3;if(iLvl==6)iLvl=4;}break; // 4-5 + case 5: {iLvl = d3()+4;if(iLvl==7)iLvl=5;}break; // 5-6 + } + } + else if (iSpec == 2) + { + switch (iRange) // Pally & Ranger max lvl 4 + { + case 1: iLvl = 1; break; // 1 + case 2: {iLvl = d3();if(iLvl==3)iLvl=2;}break; // 1-2 + case 3: iLvl = d3(); break; // 1-3 + case 4: iLvl = d3()+1; break; // 2-4 + case 5: {iLvl = d3()+2;if(iLvl==5)iLvl=3;}break; // 3-4 + } + } + else + { + switch (iRange) // The rest max lvl 9 + { + case 1: iLvl = 1; break; // 1 + case 2: iLvl = d4(); break; // 1-4 + case 3: iLvl = d4()+1; break; // 2-5 + case 4: iLvl = d6()+2; break; // 3-8 + case 5: iLvl = d6()+4; break; // 5-9 + } + } + ipAdd = ItemPropertyBonusLevelSpell(iClass, iLvl); + AddItemProperty(DURATION_TYPE_PERMANENT, ipAdd, oItem); + } + + IPSafeAddItemProperty(oItem, ipClass); +} + +void ImbueDivinity(object oItem, int iRange) //:: PRC8 +{ + itemproperty ipAdd; + int iEnh; + + switch (iRange) + { + case 1: + { + //:: Cantrips & 1st lvl spells + iEnh = Random(2); break; + } + case 2: + { + //:: 1st & 2nd lvl spells + iEnh = Random(2)+1; break; + } + case 3: + { + //:: 2nd & 3rd lvl spells + iEnh = Random(2)+2; break; + } + case 4: + { + //:: 3rd & 4th lvl spells + iEnh = Random(2)+3; break; + } + case 5: + { + //:: 3rd, 4th & 5th lvl spells + iEnh = Random(3)+3; break; + } + } + + ipAdd = ItemPropertyDivinity(iEnh); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void ImbueWizardry(object oItem, int iRange) //:: PRC8 +{ + itemproperty ipAdd; + int iEnh; + + switch (iRange) + { + case 1: + { + //:: Cantrips & 1st lvl spells + iEnh = Random(2); break; + } + case 2: + { + //:: 1st & 2nd lvl spells + iEnh = Random(2)+1; break; + } + case 3: + { + //:: 2nd & 3rd lvl spells + iEnh = Random(2)+2; break; + } + case 4: + { + //:: 3rd & 4th lvl spells + iEnh = Random(2)+3; break; + } + case 5: + { + //:: 3rd, 4th & 5th lvl spells + iEnh = Random(3)+3; break; + } + } + + ipAdd = ItemPropertyWizardry(iEnh); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void MightyEnhance(object oItem, int iRange) +{ + itemproperty ipAdd; + + int iEnh = d4(); + + switch (iRange) + { + case 1: iEnh+=0; break; // 1-4 + case 2: iEnh+=1; break; // 2-5 + case 3: iEnh+=2; break; // 3-6 + case 4: iEnh+=3; break; // 4-7 + case 5: iEnh+=4; break; // 5-8 + } + + ipAdd = ItemPropertyMaxRangeStrengthMod(iEnh); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void BowEnhance(object oItem, int iRange) +{ + itemproperty ipAdd; + int iEnh = d3(); + + switch (iRange) + { + case 1: if (iEnh==3)iEnh=1; break; // 1-2 + case 2: {iEnh+=1;if (iEnh==4)iEnh=1;} break; // 2-3 + case 3: {iEnh+=1;if (iEnh==4)iEnh=2;} break; // 3-4 + case 4: {iEnh+=2;if (iEnh==5)iEnh=3;} break; // 4-5 + case 5: {iEnh+=3;if (iEnh==6)iEnh=4;} break; // 5-6 + } + + ipAdd = ItemPropertyAttackBonus(iEnh); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void AmmoUnlim(object oItem, int iRange) +{ + itemproperty ipAdd; + int iType; + int iDam; + int iRoll = d12(); + + switch (iRange) + { + case 1: + { + iRoll = d3(); + if (iRoll==1)iType = IP_CONST_UNLIMITEDAMMO_BASIC; + if (iRoll==2)iType = IP_CONST_UNLIMITEDAMMO_BASIC; + if (iRoll==3)iType = IP_CONST_UNLIMITEDAMMO_PLUS1; + } + break; + case 2: + { + iRoll = d4(); + if (iRoll==1)iType = IP_CONST_UNLIMITEDAMMO_PLUS2; + if (iRoll==2)iType = IP_CONST_UNLIMITEDAMMO_PLUS2; + if (iRoll==3)iType = IP_CONST_UNLIMITEDAMMO_1D6COLD; + if (iRoll==4)iType = IP_CONST_UNLIMITEDAMMO_1D6LIGHT; + } + break; + case 3: + { + iRoll = d6(); + if (iRoll==1)iType = IP_CONST_UNLIMITEDAMMO_PLUS2; + if (iRoll==2)iType = IP_CONST_UNLIMITEDAMMO_PLUS2; + if (iRoll==3)iType = IP_CONST_UNLIMITEDAMMO_PLUS3; + if (iRoll==4)iType = IP_CONST_UNLIMITEDAMMO_1D6FIRE; + if (iRoll==5)iType = IP_CONST_UNLIMITEDAMMO_1D6COLD; + if (iRoll==6)iType = IP_CONST_UNLIMITEDAMMO_1D6LIGHT; + } + break; + case 4: + { + iRoll = d6(); + if (iRoll==1)iType = IP_CONST_UNLIMITEDAMMO_PLUS3; + if (iRoll==2)iType = IP_CONST_UNLIMITEDAMMO_PLUS4; + if (iRoll==3)iType = IP_CONST_UNLIMITEDAMMO_PLUS4; + if (iRoll==4)iType = IP_CONST_UNLIMITEDAMMO_1D6FIRE; + if (iRoll==5)iType = IP_CONST_UNLIMITEDAMMO_1D6COLD; + if (iRoll==6)iType = IP_CONST_UNLIMITEDAMMO_1D6LIGHT; + } + break; + case 5: + { + iRoll = d6(); + if (iRoll==1)iType = IP_CONST_UNLIMITEDAMMO_PLUS4; + if (iRoll==2)iType = IP_CONST_UNLIMITEDAMMO_PLUS5; + if (iRoll==3)iType = IP_CONST_UNLIMITEDAMMO_PLUS5; + if (iRoll==4)iType = IP_CONST_UNLIMITEDAMMO_1D6FIRE; + if (iRoll==5)iType = IP_CONST_UNLIMITEDAMMO_1D6COLD; + if (iRoll==6)iType = IP_CONST_UNLIMITEDAMMO_1D6LIGHT; + } + break; + } + + ipAdd = ItemPropertyUnlimitedAmmo(iType); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void AmmoEnhance(object oItem, int iRange) +{ + itemproperty ipAdd; + int iType; + int iDam; + int iRoll = d10(); + + switch (iRoll) + { + case 1: iType = IP_CONST_DAMAGETYPE_ACID; break; + case 2: iType = IP_CONST_DAMAGETYPE_BLUDGEONING; break; + case 3: iType = IP_CONST_DAMAGETYPE_COLD; break; + case 4: iType = IP_CONST_DAMAGETYPE_ELECTRICAL; break; + case 5: iType = IP_CONST_DAMAGETYPE_FIRE; break; + case 6: iType = IP_CONST_DAMAGETYPE_MAGICAL; break; + case 7: iType = IP_CONST_DAMAGETYPE_NEGATIVE; break; + case 8: iType = IP_CONST_DAMAGETYPE_PIERCING; break; + case 9: iType = IP_CONST_DAMAGETYPE_SLASHING; break; + case 10: iType = IP_CONST_DAMAGETYPE_SONIC; break; + } + switch (iRange) + { + case 1: iDam = IP_CONST_DAMAGEBONUS_1; break; + case 2: + { + iRoll = d4(); + if (iRoll==1)iDam = IP_CONST_DAMAGEBONUS_1; + if (iRoll==2)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==4)iDam = IP_CONST_DAMAGEBONUS_1d4; + } + break; + case 3: + { + iRoll = d6(); + if (iRoll==1)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==2)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==4)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==5)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==6)iDam = IP_CONST_DAMAGEBONUS_1d4; + } + break; + case 4: + { + iRoll = d8(); + if (iRoll==1)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==2)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==4)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==5)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==6)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==7)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==8)iDam = IP_CONST_DAMAGEBONUS_1d8; + } + break; + case 5: + { + iRoll = d10(); + if (iRoll==1)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==2)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==4)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==5)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==6)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==7)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==8)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==9)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==10)iDam = IP_CONST_DAMAGEBONUS_1d10; + } + break; + } + + ipAdd = ItemPropertyDamageBonus(iType, iDam); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void WeapEnhance(object oItem, int iRange) +{ + itemproperty ipAdd; + int iEnh = d3(); + + switch (iRange) + { + case 1: if (iEnh==3)iEnh=1; break; // 1-2 + case 2: {iEnh+=1;if (iEnh==4)iEnh=1;} break; // 2-3 + case 3: {iEnh+=1;if (iEnh==4)iEnh=2;} break; // 3-4 + case 4: {iEnh+=2;if (iEnh==5)iEnh=3;} break; // 4-5 + case 5: {iEnh+=3;if (iEnh==6)iEnh=4;} break; // 5-6 + } + + ipAdd = ItemPropertyAttackBonus(iEnh); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void RangedImbue(object oItem) +{ + itemproperty ipAdd; + int iType; + int iRoll = d3(); + + switch (iRoll) + { + case 1: if (iRoll==1)iType=IP_CONST_DAMAGETYPE_BLUDGEONING; break; + case 2: if (iRoll==2)iType=IP_CONST_DAMAGETYPE_SLASHING; break; + case 3: if (iRoll==3)iType=IP_CONST_DAMAGETYPE_PIERCING; break; + } + + ipAdd = ItemPropertyExtraRangeDamageType(iType); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void MeleeImbue(object oItem) +{ + itemproperty ipAdd; + int iType; + int iRoll = d3(); + + switch (iRoll) + { + case 1: if (iRoll==1)iType=IP_CONST_DAMAGETYPE_BLUDGEONING; break; + case 2: if (iRoll==2)iType=IP_CONST_DAMAGETYPE_SLASHING; break; + case 3: if (iRoll==3)iType=IP_CONST_DAMAGETYPE_PIERCING; break; + } + + ipAdd = ItemPropertyExtraMeleeDamageType(iType); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void MassCritImbue(object oItem, int iRange) +{ + itemproperty ipAdd; + int iDam; + int iCol; + int iType; + int iRoll; + + switch (iRange) + { + case 1: + { + iRoll = d3(); + if (iRoll==1)iDam = IP_CONST_DAMAGEBONUS_1; + if (iRoll==2)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d4; + } + break; + case 2: + { + iRoll = d4(); + if (iRoll==1)iDam = IP_CONST_DAMAGEBONUS_1; + if (iRoll==2)iDam = IP_CONST_DAMAGEBONUS_2; + if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==4)iDam = IP_CONST_DAMAGEBONUS_1d4; + + iRoll=d100(); + { + if (iRoll>90)iDam = IP_CONST_DAMAGEBONUS_1d6; + } + } + break; + case 3: + { + iRoll = d6(); + if (iRoll==1)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==2)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==4)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==5)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==6)iDam = IP_CONST_DAMAGEBONUS_1d6; + + iRoll=d100(); + { + if (iRoll>95)iDam = IP_CONST_DAMAGEBONUS_1d8; + } + } + break; + case 4: + { + iRoll = d10(); + if (iRoll==1)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==2)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==4)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==5)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==6)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==7)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==8)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==9)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==10)iDam = IP_CONST_DAMAGEBONUS_1d8; + + iRoll=d100(); + { + if (iRoll > 95)iDam = IP_CONST_DAMAGEBONUS_1d10; + } + } + break; + case 5: + { + iRoll = d12(); + if (iRoll==1)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==2)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==4)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==5)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==6)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==7)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==8)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==9)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==10)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==11)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==12)iDam = IP_CONST_DAMAGEBONUS_1d10; + + iRoll=d100(); + { + if (iRoll > 95)iDam = IP_CONST_DAMAGEBONUS_2d6; + } + } + break; + } + + ipAdd = ItemPropertyMassiveCritical(iDam); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void DamageTypeImbue(object oItem, int iRange) +{ + itemproperty ipAdd; + itemproperty ipVis; + int iDam; + int iCol; + int iType; + int iRoll = d10(); + + switch (iRoll) + { + case 1: {iType = IP_CONST_DAMAGETYPE_ACID; iCol=4;} break; + case 2: {iType = IP_CONST_DAMAGETYPE_BLUDGEONING;} break; + case 3: {iType = IP_CONST_DAMAGETYPE_COLD; iCol=2;} break; + case 4: {iType = IP_CONST_DAMAGETYPE_ELECTRICAL; iCol=5;} break; + case 5: {iType = IP_CONST_DAMAGETYPE_FIRE; iCol=3;} break; + case 6: {iType = IP_CONST_DAMAGETYPE_MAGICAL; iCol=7;} break; + case 7: {iType = IP_CONST_DAMAGETYPE_NEGATIVE; iCol=1;} break; + case 8: {iType = IP_CONST_DAMAGETYPE_PIERCING; iCol=1;} break; + case 9: {iType = IP_CONST_DAMAGETYPE_SLASHING; iCol=1;} break; + case 10: {iType = IP_CONST_DAMAGETYPE_SONIC; iCol=7; }break; + } + switch (iRange) + { + case 1: + { + iRoll = d3(); + if (iRoll==1)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==2)iDam = IP_CONST_DAMAGEBONUS_1; + if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d4; + } + break; + case 2: + { + iRoll = d4(); + if (iRoll==1)iDam = IP_CONST_DAMAGEBONUS_1; + if (iRoll==2)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==4)iDam = IP_CONST_DAMAGEBONUS_1d4; + } + break; + case 3: + { + iRoll = d6(); + if (iRoll==1)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==2)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==4)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==5)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==6)iDam = IP_CONST_DAMAGEBONUS_1d6; + } + break; + case 4: + { + iRoll = d10(); + if (iRoll==1)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==2)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d4; + if (iRoll==4)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==5)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==6)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==7)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==8)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==9)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==10)iDam = IP_CONST_DAMAGEBONUS_1d8; + } + break; + case 5: + { + iRoll = d12(); + if (iRoll==1)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==2)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==4)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==5)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==6)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==7)iDam = IP_CONST_DAMAGEBONUS_1d6; + if (iRoll==8)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==9)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==10)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==11)iDam = IP_CONST_DAMAGEBONUS_1d8; + if (iRoll==12)iDam = IP_CONST_DAMAGEBONUS_1d10; + } + break; + } + + ipAdd = ItemPropertyDamageBonus(iType, iDam); + IPSafeAddItemProperty(oItem, ipAdd); + //ipAdd = ItemPropertyVisualEffect(ITEM_VISUAL_EVIL); + //IPSafeAddItemProperty(oItem, ipAdd); + +} + +void ACmisc(object oItem, int iRange) +{ + itemproperty ipAdd; + int iAC = d3(); + + switch (iRange) + { + case 1: if(iAC==3)iAC=1; break; // 1-2 + case 2: {iAC+=1;if (iAC==4)iAC=1;} break; // 2-3 + case 3: {iAC+=1;if (iAC==4)iAC=2;} break; // 3-4 + case 4: {iAC+=2;if (iAC==5)iAC=2;} break; // 4-5 + case 5: {iAC+=3;if (iAC==6)iAC=3;} break; // 5-6 + } + + ipAdd = ItemPropertyACBonus(iAC); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void ACimbue(object oItem, int iRange, int iSpec) +{ + itemproperty ipAdd; + int iAC = d3(); + int iPen; + int iRoll; + int iAbil; + + switch (iRange) + { + case 1: if(iAC==3)iAC=1; break; // 1-2 + case 2: {iAC+=1;if (iAC==4)iAC=1;} break; // 2-3 + case 3: {iAC+=1;if (iAC==4)iAC=2;} break; // 3-4 + case 4: {iAC+=2;if (iAC==5)iAC=2;} break; // 4-5 + case 5: {iAC+=3;if (iAC==6)iAC=3;} break; // 5-6 + } + ipAdd = ItemPropertyACBonus(iAC); + + if (iSpec==1){iPen = d4()+1; ipAdd = ItemPropertyDecreaseAC(IP_CONST_ACMODIFIERTYPE_ARMOR, iPen);} + if (iSpec==2){iPen = d4()+1; ipAdd = ItemPropertyEnhancementPenalty(iPen);} + if (iSpec==3) + { + iPen = d4()+1; + iRoll = d6(); + switch(iRoll) + { + case 1: iAbil = ABILITY_DEXTERITY; break; + case 2: iAbil = ABILITY_INTELLIGENCE; break; + case 3: iAbil = ABILITY_WISDOM; break; + case 4: iAbil = ABILITY_CHARISMA; break; + case 5: iAbil = ABILITY_CONSTITUTION; break; + case 6: iAbil = ABILITY_STRENGTH; break; + } + + ipAdd = ItemPropertyDecreaseAbility(iAbil, iPen); + } + + if (iSpec==4) + { + iPen = d4()+1; ipAdd = ItemPropertyAttackPenalty(iPen); + } + + IPSafeAddItemProperty(oItem, ipAdd); +} + +void MIMMimbue(object oItem, int iRange) +{ + itemproperty ipAdd; + int iType; + int iRoll; + + switch (iRange) + { + case 1: {} break; + case 2: + { + iRoll = Random(35); + if (iRoll==1)iType = IP_CONST_IMMUNITYMISC_POISON; + if (iRoll==2)iType = IP_CONST_IMMUNITYMISC_DISEASE; + if (iRoll==3)iType = IP_CONST_IMMUNITYSPELL_SLEEP; + if (iRoll==4)iType = IP_CONST_IMMUNITYSPELL_WEB; + if (iRoll==5)iType = IP_CONST_IMMUNITYSPELL_RAY_OF_FROST; + if (iRoll==6)iType = IP_CONST_IMMUNITYSPELL_GREASE; + if (iRoll==7)iType = IP_CONST_IMMUNITYSPELL_COLOR_SPRAY; + if (iRoll==8)iType = IP_CONST_IMMUNITYSPELL_DAZE; + if (iRoll==9)iType = IP_CONST_IMMUNITYSPELL_BURNING_HANDS; + if (iRoll==10)iType = IP_CONST_IMMUNITYSPELL_BLINDNESS_AND_DEAFNESS; + if (iRoll==11)iType = IP_CONST_IMMUNITYSPELL_LIGHTNING_BOLT; + if (iRoll==12)iType = IP_CONST_IMMUNITYSPELL_MAGIC_MISSILE; + if (iRoll==13)iType = IP_CONST_FEAT_ALERTNESS; + if (iRoll==14)iType = IP_CONST_FEAT_ARMOR_PROF_HEAVY; + if (iRoll==15)iType = IP_CONST_FEAT_ARMOR_PROF_MEDIUM; + if (iRoll==16)iType = IP_CONST_FEAT_ARMOR_PROF_LIGHT; + if (iRoll==17)iType = IP_CONST_FEAT_CLEAVE; + if (iRoll==18)iType = IP_CONST_FEAT_COMBAT_CASTING; + if (iRoll==19)iType = IP_CONST_FEAT_DODGE; + if (iRoll==20)iType = IP_CONST_FEAT_POWERATTACK; + if (iRoll==21)iType = IP_CONST_FEAT_SPELLFOCUSABJ; + if (iRoll==22)iType = IP_CONST_FEAT_SPELLFOCUSCON; + if (iRoll==23)iType = IP_CONST_FEAT_SPELLFOCUSDIV; + if (iRoll==24)iType = IP_CONST_FEAT_SPELLFOCUSENC; + if (iRoll==25)iType = IP_CONST_FEAT_SPELLFOCUSEVO; + if (iRoll==26)iType = IP_CONST_FEAT_SPELLFOCUSILL; + if (iRoll==27)iType = IP_CONST_FEAT_SPELLFOCUSNEC; + if (iRoll==28)iType = IP_CONST_FEAT_SPELLPENETRATION; + if (iRoll==29)iType = IP_CONST_FEAT_WEAPON_PROF_EXOTIC; + if (iRoll==30)iType = IP_CONST_FEAT_WEAPON_PROF_MARTIAL; + if (iRoll==31)iType = IP_CONST_FEAT_EXTRA_TURNING; + if (iRoll==32)iType = IP_CONST_FEAT_AMBIDEXTROUS; + if (iRoll==33)iType = IP_CONST_FEAT_SNEAK_ATTACK_1D6; + if (iRoll==34)iType = IP_CONST_FEAT_WEAPFINESSE; + if (iRoll==35)iType = IP_CONST_FEAT_ARMOR_PROF_HEAVY; + } + break; + case 3: + { + iRoll = Random(35); + if (iRoll==1)iType = IP_CONST_IMMUNITYSPELL_DOOM; + if (iRoll==2)iType = IP_CONST_IMMUNITYMISC_DISEASE; + if (iRoll==3)iType = IP_CONST_IMMUNITYSPELL_CLOUDKILL; + if (iRoll==4)iType = IP_CONST_IMMUNITYSPELL_GREASE; + if (iRoll==5)iType = IP_CONST_IMMUNITYMISC_POISON; + if (iRoll==6)iType = IP_CONST_IMMUNITYSPELL_SLEEP; + if (iRoll==7)iType = IP_CONST_IMMUNITYSPELL_WEB; + if (iRoll==8)iType = IP_CONST_IMMUNITYSPELL_RAY_OF_FROST; + if (iRoll==9)iType = IP_CONST_IMMUNITYSPELL_ENTANGLE; + if (iRoll==10)iType = IP_CONST_IMMUNITYSPELL_MELFS_ACID_ARROW; + if (iRoll==11)iType = IP_CONST_IMMUNITYSPELL_SLOW; + if (iRoll==12)iType = IP_CONST_IMMUNITYSPELL_DOMINATE_PERSON; + if (iRoll==13)iType = IP_CONST_FEAT_ALERTNESS; + if (iRoll==14)iType = IP_CONST_FEAT_WEAPON_PROF_EXOTIC; + if (iRoll==15)iType = IP_CONST_FEAT_WEAPSPEUNARM; + if (iRoll==16)iType = IP_CONST_FEAT_ARMOR_PROF_LIGHT; + if (iRoll==17)iType = IP_CONST_FEAT_CLEAVE; + if (iRoll==18)iType = IP_CONST_FEAT_COMBAT_CASTING; + if (iRoll==19)iType = IP_CONST_FEAT_WHIRLWIND; + if (iRoll==20)iType = IP_CONST_FEAT_POWERATTACK; + if (iRoll==21)iType = IP_CONST_FEAT_SPELLFOCUSABJ; + if (iRoll==22)iType = IP_CONST_FEAT_SPELLFOCUSCON; + if (iRoll==23)iType = IP_CONST_FEAT_SPELLFOCUSDIV; + if (iRoll==24)iType = IP_CONST_FEAT_SPELLFOCUSENC; + if (iRoll==25)iType = IP_CONST_FEAT_SPELLFOCUSEVO; + if (iRoll==26)iType = IP_CONST_FEAT_SPELLFOCUSILL; + if (iRoll==27)iType = IP_CONST_FEAT_SPELLFOCUSNEC; + if (iRoll==28)iType = IP_CONST_FEAT_SPELLPENETRATION; + if (iRoll==29)iType = IP_CONST_FEAT_WEAPON_PROF_EXOTIC; + if (iRoll==30)iType = IP_CONST_FEAT_WEAPON_PROF_MARTIAL; + if (iRoll==31)iType = IP_CONST_FEAT_EXTRA_TURNING; + if (iRoll==32)iType = IP_CONST_FEAT_AMBIDEXTROUS; + if (iRoll==33)iType = 32; + if (iRoll==34)iType = IP_CONST_FEAT_WEAPFINESSE; + if (iRoll==35)iType = IP_CONST_FEAT_ARMOR_PROF_HEAVY; + } + break; + case 4: + { + iRoll = Random(35); + if (iRoll==1)iType = IP_CONST_IMMUNITYMISC_POISON; + if (iRoll==2)iType = IP_CONST_IMMUNITYMISC_DISEASE; + if (iRoll==3)iType = IP_CONST_IMMUNITYMISC_FEAR; + if (iRoll==4)iType = IP_CONST_IMMUNITYMISC_PARALYSIS; + if (iRoll==5)iType = IP_CONST_IMMUNITYSPELL_FIREBALL; + if (iRoll==6)iType = IP_CONST_IMMUNITYMISC_DISEASE; + if (iRoll==7)iType = IP_CONST_IMMUNITYSPELL_HAMMER_OF_THE_GODS; + if (iRoll==8)iType = IP_CONST_IMMUNITYMISC_LEVEL_ABIL_DRAIN; + if (iRoll==9)iType = IP_CONST_IMMUNITYSPELL_METEOR_SWARM; + if (iRoll==10)iType = IP_CONST_IMMUNITYSPELL_POWER_WORD_KILL; + if (iRoll==11)iType = IP_CONST_IMMUNITYSPELL_PRISMATIC_SPRAY; + if (iRoll==12)iType = IP_CONST_IMMUNITYSPELL_SILENCE; + if (iRoll==13)iType = 32; + if (iRoll==14)iType = IP_CONST_FEAT_WEAPON_PROF_EXOTIC; + if (iRoll==15)iType = IP_CONST_FEAT_WEAPSPEUNARM; + if (iRoll==16)iType = IP_CONST_FEAT_POINTBLANK; + if (iRoll==17)iType = IP_CONST_FEAT_CLEAVE; + if (iRoll==18)iType = IP_CONST_FEAT_COMBAT_CASTING; + if (iRoll==19)iType = IP_CONST_FEAT_WHIRLWIND; + if (iRoll==20)iType = IP_CONST_FEAT_POWERATTACK; + if (iRoll==21)iType = IP_CONST_FEAT_SPELLFOCUSABJ; + if (iRoll==22)iType = IP_CONST_FEAT_SPELLFOCUSCON; + if (iRoll==23)iType = IP_CONST_FEAT_SPELLFOCUSDIV; + if (iRoll==24)iType = IP_CONST_FEAT_SPELLFOCUSENC; + if (iRoll==25)iType = IP_CONST_FEAT_SPELLFOCUSEVO; + if (iRoll==26)iType = IP_CONST_FEAT_SPELLFOCUSILL; + if (iRoll==27)iType = IP_CONST_FEAT_SPELLFOCUSNEC; + if (iRoll==28)iType = IP_CONST_FEAT_SPELLPENETRATION; + if (iRoll==29)iType = IP_CONST_FEAT_WEAPON_PROF_EXOTIC; + if (iRoll==30)iType = IP_CONST_FEAT_WEAPON_PROF_MARTIAL; + if (iRoll==31)iType = IP_CONST_FEAT_EXTRA_TURNING; + if (iRoll==32)iType = IP_CONST_FEAT_AMBIDEXTROUS; + if (iRoll==33)iType = 32; + if (iRoll==34)iType = IP_CONST_FEAT_WEAPFINESSE; + if (iRoll==35)iType = IP_CONST_FEAT_ARMOR_PROF_HEAVY; + } + break; + case 5: + { + iRoll = Random(35); + if (iRoll==1)iType = IP_CONST_IMMUNITYMISC_POISON; + if (iRoll==2)iType = IP_CONST_IMMUNITYMISC_DISEASE; + if (iRoll==3)iType = IP_CONST_IMMUNITYMISC_FEAR; + if (iRoll==4)iType = IP_CONST_IMMUNITYMISC_PARALYSIS; + if (iRoll==5)iType = IP_CONST_IMMUNITYSPELL_METEOR_SWARM; + if (iRoll==6)iType = IP_CONST_IMMUNITYSPELL_HEALING_CIRCLE; + if (iRoll==7)iType = IP_CONST_IMMUNITYMISC_KNOCKDOWN; + if (iRoll==8)iType = IP_CONST_IMMUNITYMISC_LEVEL_ABIL_DRAIN; + if (iRoll==9)iType = IP_CONST_IMMUNITYSPELL_HAMMER_OF_THE_GODS; + if (iRoll==10)iType = IP_CONST_IMMUNITYSPELL_HEAL; + if (iRoll==11)iType = IP_CONST_IMMUNITYSPELL_IMPLOSION; + if (iRoll==12)iType = IP_CONST_IMMUNITYSPELL_HARM; + if (iRoll==13)iType = IP_CONST_IMMUNITYSPELL_MASS_BLINDNESS_AND_DEAFNESS; + if (iRoll==14)iType = IP_CONST_IMMUNITYSPELL_METEOR_SWARM; + if (iRoll==15)iType = IP_CONST_IMMUNITYSPELL_POWER_WORD_KILL; + if (iRoll==16)iType = IP_CONST_IMMUNITYSPELL_PRISMATIC_SPRAY; + if (iRoll==17)iType = IP_CONST_IMMUNITYSPELL_STORM_OF_VENGEANCE; + if (iRoll==18)iType = IP_CONST_IMMUNITYSPELL_WAIL_OF_THE_BANSHEE; + if (iRoll==19)iType = IP_CONST_IMMUNITYSPELL_WORD_OF_FAITH; + if (iRoll==20)iType = IP_CONST_FEAT_SNEAK_ATTACK_2D6; + if (iRoll==21)iType = IP_CONST_FEAT_SPELLFOCUSABJ; + if (iRoll==22)iType = IP_CONST_FEAT_SPELLFOCUSCON; + if (iRoll==23)iType = IP_CONST_FEAT_SPELLFOCUSDIV; + if (iRoll==24)iType = IP_CONST_FEAT_SPELLFOCUSENC; + if (iRoll==25)iType = IP_CONST_FEAT_SPELLFOCUSEVO; + if (iRoll==26)iType = IP_CONST_FEAT_SPELLFOCUSILL; + if (iRoll==27)iType = IP_CONST_FEAT_SPELLFOCUSNEC; + if (iRoll==28)iType = IP_CONST_FEAT_SPELLPENETRATION; + if (iRoll==29)iType = IP_CONST_FEAT_WEAPON_PROF_EXOTIC; + if (iRoll==30)iType = IP_CONST_FEAT_WEAPON_PROF_MARTIAL; + if (iRoll==31)iType = IP_CONST_FEAT_EXTRA_TURNING; + if (iRoll==32)iType = IP_CONST_FEAT_AMBIDEXTROUS; + if (iRoll==33)iType = IP_CONST_FEAT_SNEAK_ATTACK_1D6; + if (iRoll==34)iType = IP_CONST_FEAT_WEAPFINESSE; + if (iRoll==35)iType = IP_CONST_FEAT_ARMOR_PROF_HEAVY; + } + break; + } + + ipAdd = ItemPropertyImmunityMisc(iType); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void RESimbue(object oItem, int iRange) +{ + itemproperty ipAdd; + int iRes; + int iType; + int iRoll = Random(9)+1; + + switch (iRoll) + { + case 1: iType = IP_CONST_DAMAGETYPE_ACID; break; + case 2: iType = IP_CONST_DAMAGETYPE_BLUDGEONING; break; + case 3: iType = IP_CONST_DAMAGETYPE_COLD; break; + case 4: iType = IP_CONST_DAMAGETYPE_ELECTRICAL; break; + case 5: iType = IP_CONST_DAMAGETYPE_FIRE; break; + case 6: iType = IP_CONST_DAMAGETYPE_PHYSICAL; break; + case 7: iType = IP_CONST_DAMAGETYPE_PIERCING; break; + case 8: iType = IP_CONST_DAMAGETYPE_SLASHING; break; + case 9: iType = IP_CONST_DAMAGETYPE_SONIC; break; + } + + switch (iRange) + { + case 1: iRes = IP_CONST_DAMAGERESIST_5; break; + case 2: + { + iRoll=d4(); + if (iRoll==1)iRes = IP_CONST_DAMAGERESIST_5; + if (iRoll==2)iRes = IP_CONST_DAMAGERESIST_5; + if (iRoll==3)iRes = IP_CONST_DAMAGERESIST_5; + if (iRoll==4)iRes = IP_CONST_DAMAGERESIST_10; + } + break; + case 3: + { + iRoll=d3(); + if (iRoll==1)iRes = IP_CONST_DAMAGERESIST_5; + if (iRoll==2)iRes = IP_CONST_DAMAGERESIST_5; + if (iRoll==3)iRes = IP_CONST_DAMAGERESIST_10; + } + break; + case 4: + { + iRoll=d4(); + if (iRoll==1)iRes = IP_CONST_DAMAGERESIST_5; + if (iRoll==2)iRes = IP_CONST_DAMAGERESIST_10; + if (iRoll==3)iRes = IP_CONST_DAMAGERESIST_10; + if (iRoll==4)iRes = IP_CONST_DAMAGERESIST_10; + } + break; + case 5: + { + iRoll=d4(); + if (iRoll==1)iRes = IP_CONST_DAMAGERESIST_10; + if (iRoll==2)iRes = IP_CONST_DAMAGERESIST_10; + if (iRoll==3)iRes = IP_CONST_DAMAGERESIST_10; + if (iRoll==4)iRes = IP_CONST_DAMAGERESIST_10; + } + break; + } + ipAdd = ItemPropertyDamageResistance(iType, iRes); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void AbilityImbue(object oItem, int iRange) +{ + itemproperty ipAdd; + int iAbil; + int iType; + int iRoll = d6(); + + switch (iRoll) + { + case 1: iType = ABILITY_DEXTERITY; break; + case 2: iType = ABILITY_INTELLIGENCE; break; + case 3: iType = ABILITY_WISDOM; break; + case 4: iType = ABILITY_CHARISMA; break; + case 5: iType = ABILITY_CONSTITUTION; break; + case 6: iType = ABILITY_STRENGTH; break; + } + + switch (iRange) + { + case 1: {iAbil = d3(); if (iAbil==3)iAbil=1; break;} // 1-2 + case 2: {iAbil = d3();if (iAbil==4)iAbil=1; break;} // 2-3 + case 3: {iAbil = d3();if (iAbil==4)iAbil=1; break;} // 3-4 + case 4: {iAbil = d3()+1;if (iAbil==5)iAbil=2; break;} // 4-5 + case 5: {iAbil = d3()+1;if (iAbil==6)iAbil=2; break;} // 5-6 + } + + ipAdd = ItemPropertyAbilityBonus(iType, iAbil); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void MiscImbue(object oItem, int iRange) +{ + itemproperty ipAdd; + int iRoll; + + switch (iRange) + { + case 1: + { + iRoll = Random(43); + + if (iRoll==1)ipAdd = ItemPropertyLight(IP_CONST_LIGHTBRIGHTNESS_NORMAL, IP_CONST_LIGHTCOLOR_WHITE); + if (iRoll==2)ipAdd = ItemPropertyLight(IP_CONST_LIGHTBRIGHTNESS_NORMAL, IP_CONST_LIGHTCOLOR_BLUE); + if (iRoll==3)ipAdd = ItemPropertyBonusSavingThrow(IP_CONST_SAVEBASETYPE_FORTITUDE, 2); + if (iRoll==4)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_SLEEP); + if (iRoll==5)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_WEB); + if (iRoll==6)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_RAY_OF_FROST); + if (iRoll==7)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_GREASE); + if (iRoll==8)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_COLOR_SPRAY); + if (iRoll==9)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_DAZE); + if (iRoll==10)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_BURNING_HANDS); + if (iRoll==11)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_BLINDNESS_AND_DEAFNESS); + if (iRoll==12)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_LIGHTNING_BOLT); + if (iRoll==13)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_MAGIC_MISSILE); + if (iRoll==14)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_DODGE); + if (iRoll==15)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSABJ); + if (iRoll==16)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSCON); + if (iRoll==17)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSDIV); + if (iRoll==18)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSENC); + if (iRoll==19)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSEVO); + if (iRoll==20)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSILL); + if (iRoll==21)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSNEC); + if (iRoll==22)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLPENETRATION); + if (iRoll==23)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPON_PROF_EXOTIC); + if (iRoll==24)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPON_PROF_MARTIAL); + if (iRoll==25)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_EXTRA_TURNING); + if (iRoll==26)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_AMBIDEXTROUS); + if (iRoll==27)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SNEAK_ATTACK_1D6); + if (iRoll==28)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPFINESSE); + if (iRoll==29)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_ARMOR_PROF_HEAVY); + if (iRoll==30)ipAdd = ItemPropertyBonusFeat(32); + if (iRoll==31)ipAdd = ItemPropertyArcaneSpellFailure(IP_CONST_ARCANE_SPELL_FAILURE_MINUS_5_PERCENT); + if (iRoll==32)ipAdd = ItemPropertyArcaneSpellFailure(IP_CONST_ARCANE_SPELL_FAILURE_MINUS_10_PERCENT); + if (iRoll==33)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 2); + if (iRoll==34)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_CLERIC, 2); + if (iRoll==35)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_DRUID, 2); + if (iRoll==36)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_SORCERER, 2); + if (iRoll==37)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_BARD, 2); + if (iRoll==38)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 3); + if (iRoll==39)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_CLERIC, 3); + if (iRoll==40)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_DRUID, 3); + if (iRoll==41)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_SORCERER, 3); + if (iRoll==42)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_BARD, 3); + if (iRoll==43)ipAdd = ItemPropertyImmunityToSpellLevel(1); + } + break; + case 2: + { + iRoll = Random(43); + if (iRoll==1)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_HOLD_PERSON); + if (iRoll==2)ipAdd = ItemPropertyBonusSavingThrow(IP_CONST_SAVEBASETYPE_REFLEX, 2); + if (iRoll==3)ipAdd = ItemPropertyBonusSavingThrow(IP_CONST_SAVEBASETYPE_FORTITUDE, 2); + if (iRoll==4)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_SLEEP); + if (iRoll==5)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_WEB); + if (iRoll==6)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_RAY_OF_FROST); + if (iRoll==7)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_GREASE); + if (iRoll==8)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_COLOR_SPRAY); + if (iRoll==9)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_DAZE); + if (iRoll==10)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_BURNING_HANDS); + if (iRoll==11)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_BLINDNESS_AND_DEAFNESS); + if (iRoll==12)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_LIGHTNING_BOLT); + if (iRoll==13)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_MAGIC_MISSILE); + if (iRoll==14)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_DODGE); + if (iRoll==15)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSABJ); + if (iRoll==16)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSCON); + if (iRoll==17)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSDIV); + if (iRoll==18)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSENC); + if (iRoll==19)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSEVO); + if (iRoll==20)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSILL); + if (iRoll==21)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSNEC); + if (iRoll==22)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLPENETRATION); + if (iRoll==23)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPON_PROF_EXOTIC); + if (iRoll==24)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPON_PROF_MARTIAL); + if (iRoll==25)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_EXTRA_TURNING); + if (iRoll==26)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_AMBIDEXTROUS); + if (iRoll==27)ipAdd = ItemPropertyBonusFeat(32); + if (iRoll==28)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPFINESSE); + if (iRoll==29)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_ARMOR_PROF_HEAVY); + if (iRoll==30)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_POWERATTACK); + if (iRoll==31)ipAdd = ItemPropertyArcaneSpellFailure(IP_CONST_ARCANE_SPELL_FAILURE_MINUS_10_PERCENT); + if (iRoll==32)ipAdd = ItemPropertyArcaneSpellFailure(IP_CONST_ARCANE_SPELL_FAILURE_MINUS_10_PERCENT); + if (iRoll==33)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 3); + if (iRoll==34)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_CLERIC, 3); + if (iRoll==35)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_DRUID, 3); + if (iRoll==36)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_SORCERER, 3); + if (iRoll==37)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_BARD, 3); + if (iRoll==38)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 4); + if (iRoll==39)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_CLERIC, 4); + if (iRoll==40)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_DRUID, 4); + if (iRoll==41)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_SORCERER, 4); + if (iRoll==42)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_BARD, 4); + if (iRoll==43)ipAdd = ItemPropertyImmunityToSpellLevel(1); + } + break; + case 3: + { + iRoll = Random(56); + if (iRoll==1)ipAdd = ItemPropertyDarkvision(); + if (iRoll==2)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_POWER_WORD_STUN); + if (iRoll==3)ipAdd = ItemPropertyVampiricRegeneration(1); + if (iRoll==4)ipAdd = ItemPropertyBonusSavingThrow(IP_CONST_SAVEBASETYPE_FORTITUDE, 2); + if (iRoll==5)ipAdd = ItemPropertyRegeneration(1); + if (iRoll==6)ipAdd = ItemPropertyDarkvision(); + if (iRoll==7)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_CLOUDKILL); + if (iRoll==8)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_GREASE); + if (iRoll==9)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_FLAME_ARROW); + if (iRoll==10)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_SLEEP); + if (iRoll==11)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_WEB); + if (iRoll==12)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_RAY_OF_FROST); + if (iRoll==13)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_ENTANGLE); + if (iRoll==14)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_MELFS_ACID_ARROW); + if (iRoll==15)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_SLOW); + if (iRoll==16)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_DOMINATE_PERSON); + if (iRoll==17)ipAdd = ItemPropertyBonusFeat(32); + if (iRoll==18)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSABJ); + if (iRoll==19)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSCON); + if (iRoll==20)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSDIV); + if (iRoll==21)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSENC); + if (iRoll==22)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSEVO); + if (iRoll==23)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSILL); + if (iRoll==24)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSNEC); + if (iRoll==25)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLPENETRATION); + if (iRoll==26)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPON_PROF_EXOTIC); + if (iRoll==27)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPON_PROF_MARTIAL); + if (iRoll==28)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_EXTRA_TURNING); + if (iRoll==29)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_AMBIDEXTROUS); + if (iRoll==30)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_EXTRA_TURNING); + if (iRoll==31)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPFINESSE); + if (iRoll==32)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_ARMOR_PROF_HEAVY); + if (iRoll==33)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_KNOCKDOWN); + if (iRoll==34)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WHIRLWIND); + if (iRoll==35)ipAdd = ItemPropertyArcaneSpellFailure(IP_CONST_ARCANE_SPELL_FAILURE_MINUS_15_PERCENT); + if (iRoll==36)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_SLEEP); + if (iRoll==37)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_WEB); + if (iRoll==38)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_RAY_OF_FROST); + if (iRoll==39)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_GREASE); + if (iRoll==40)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_COLOR_SPRAY); + if (iRoll==41)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_DAZE); + if (iRoll==42)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_BURNING_HANDS); + if (iRoll==43)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_BLINDNESS_AND_DEAFNESS); + if (iRoll==44)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_LIGHTNING_BOLT); + if (iRoll==45)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_MAGIC_MISSILE); + if (iRoll==46)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 4); + if (iRoll==47)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_CLERIC, 4); + if (iRoll==48)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_DRUID, 4); + if (iRoll==49)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_SORCERER, 4); + if (iRoll==50)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_BARD, 4); + if (iRoll==51)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 5); + if (iRoll==52)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_CLERIC, 5); + if (iRoll==53)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_DRUID, 5); + if (iRoll==54)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_SORCERER, 5); + if (iRoll==55)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_BARD, 5); + if (iRoll==56)ipAdd = ItemPropertyImmunityToSpellLevel(1); + } + break; + case 4: + { + iRoll = Random(72); + if (iRoll==1)ipAdd = ItemPropertyDarkvision(); + if (iRoll==2)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_POWER_WORD_KILL); + if (iRoll==3)ipAdd = ItemPropertyVampiricRegeneration(3); + if (iRoll==4)ipAdd = ItemPropertyBonusSavingThrow(IP_CONST_SAVEBASETYPE_FORTITUDE, 3); + if (iRoll==5)ipAdd = ItemPropertyRegeneration(1); + if (iRoll==6)ipAdd = ItemPropertyBonusSavingThrow(IP_CONST_SAVEBASETYPE_FORTITUDE, 2); + if (iRoll==7)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_FIREBALL); + if (iRoll==8)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_DOOM); + if (iRoll==9)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_HAMMER_OF_THE_GODS); + if (iRoll==10)ipAdd = ItemPropertyBonusSavingThrow(IP_CONST_SAVEBASETYPE_FORTITUDE, 1); + if (iRoll==11)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_METEOR_SWARM); + if (iRoll==12)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_POWER_WORD_KILL); + if (iRoll==13)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_PRISMATIC_SPRAY); + if (iRoll==14)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_SILENCE); + if (iRoll==15)ipAdd = ItemPropertyBonusFeat(33); + if (iRoll==16)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSABJ); + if (iRoll==17)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSCON); + if (iRoll==18)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSDIV); + if (iRoll==19)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSENC); + if (iRoll==20)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSEVO); + if (iRoll==21)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSILL); + if (iRoll==22)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSNEC); + if (iRoll==23)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLPENETRATION); + if (iRoll==24)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPON_PROF_EXOTIC); + if (iRoll==25)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPON_PROF_MARTIAL); + if (iRoll==26)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_EXTRA_TURNING); + if (iRoll==27)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_AMBIDEXTROUS); + if (iRoll==28)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_EXTRA_TURNING); + if (iRoll==29)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPFINESSE); + if (iRoll==30)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_ARMOR_PROF_HEAVY); + if (iRoll==31)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_KNOCKDOWN); + if (iRoll==32)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_RAPID_SHOT); + if (iRoll==33)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SHIELD_PROFICIENCY); + if (iRoll==34)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WHIRLWIND); + if (iRoll==35)ipAdd = ItemPropertyArcaneSpellFailure(IP_CONST_ARCANE_SPELL_FAILURE_MINUS_20_PERCENT); + if (iRoll==36)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_SLEEP); + if (iRoll==37)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_WEB); + if (iRoll==38)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_RAY_OF_FROST); + if (iRoll==39)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_GREASE); + if (iRoll==40)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_COLOR_SPRAY); + if (iRoll==41)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_DAZE); + if (iRoll==42)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_BURNING_HANDS); + if (iRoll==43)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_BLINDNESS_AND_DEAFNESS); + if (iRoll==44)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_LIGHTNING_BOLT); + if (iRoll==45)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_MAGIC_MISSILE); + if (iRoll==46)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_CLOUDKILL); + if (iRoll==47)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_GREASE); + if (iRoll==48)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_FLAME_ARROW); + if (iRoll==49)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_SLEEP); + if (iRoll==50)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_WEB); + if (iRoll==51)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_RAY_OF_FROST); + if (iRoll==52)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_ENTANGLE); + if (iRoll==53)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_MELFS_ACID_ARROW); + if (iRoll==54)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_SLOW); + if (iRoll==55)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_DOMINATE_PERSON); + if (iRoll==56)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_ENERVATION); + if (iRoll==57)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_ENERGY_DRAIN); + if (iRoll==58)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_FINGER_OF_DEATH); + if (iRoll==59)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 5); + if (iRoll==60)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_CLERIC, 5); + if (iRoll==61)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_DRUID, 5); + if (iRoll==62)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_SORCERER, 5); + if (iRoll==63)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_BARD, 5); + if (iRoll==64)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 6); + if (iRoll==65)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_CLERIC, 6); + if (iRoll==66)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_DRUID, 6); + if (iRoll==67)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_SORCERER, 6); + if (iRoll==68)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_BARD, 6); + if (iRoll==69)ipAdd = ItemPropertyImmunityToSpellLevel(2); + if (iRoll==70)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_SORCERER, 7); + if (iRoll==71)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 7); + if (iRoll==72)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_DRUID, 7); + if (iRoll==73)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_CLERIC, 7); + } + break; + case 5: + { + iRoll = Random(86); + if (iRoll==1)ipAdd = ItemPropertyDarkvision(); + if (iRoll==2)ipAdd = ItemPropertyBonusSavingThrow(IP_CONST_SAVEBASETYPE_REFLEX, 3); + if (iRoll==3)ipAdd = ItemPropertyVampiricRegeneration(2); + if (iRoll==4)ipAdd = ItemPropertyBonusSavingThrow(IP_CONST_SAVEBASETYPE_FORTITUDE, 3); + if (iRoll==5)ipAdd = ItemPropertyRegeneration(2); + if (iRoll==6)ipAdd = ItemPropertyRegeneration(1); + if (iRoll==7)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_HAMMER_OF_THE_GODS); + if (iRoll==8)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_HEAL); + if (iRoll==9)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_IMPLOSION); + if (iRoll==10)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_HARM); + if (iRoll==11)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_MASS_BLINDNESS_AND_DEAFNESS); + if (iRoll==12)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_METEOR_SWARM); + if (iRoll==13)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_POWER_WORD_KILL); + if (iRoll==14)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_PRISMATIC_SPRAY); + if (iRoll==15)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_STORM_OF_VENGEANCE); + if (iRoll==16)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_WAIL_OF_THE_BANSHEE); + if (iRoll==17)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_WORD_OF_FAITH); + if (iRoll==18)ipAdd = ItemPropertyBonusFeat(33); + if (iRoll==19)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSABJ); + if (iRoll==20)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSCON); + if (iRoll==21)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSDIV); + if (iRoll==22)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSENC); + if (iRoll==23)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSEVO); + if (iRoll==24)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSILL); + if (iRoll==25)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLFOCUSNEC); + if (iRoll==26)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SPELLPENETRATION); + if (iRoll==27)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPON_PROF_EXOTIC); + if (iRoll==28)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPON_PROF_MARTIAL); + if (iRoll==29)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_EXTRA_TURNING); + if (iRoll==30)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_AMBIDEXTROUS); + if (iRoll==31)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_EXTRA_TURNING); + if (iRoll==32)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPFINESSE); + if (iRoll==33)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_ARMOR_PROF_HEAVY); + if (iRoll==34)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_KNOCKDOWN); + if (iRoll==35)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_RAPID_SHOT); + if (iRoll==36)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_SHIELD_PROFICIENCY); + if (iRoll==37)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_WHIRLWIND); + if (iRoll==38)ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_TWO_WEAPON_FIGHTING); + if (iRoll==39)ipAdd = ItemPropertyArcaneSpellFailure(IP_CONST_ARCANE_SPELL_FAILURE_MINUS_30_PERCENT); + if (iRoll==40)ipAdd = ItemPropertyArcaneSpellFailure(IP_CONST_ARCANE_SPELL_FAILURE_MINUS_35_PERCENT); + if (iRoll==41)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_SLEEP); + if (iRoll==42)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_WEB); + if (iRoll==43)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_RAY_OF_FROST); + if (iRoll==44)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_GREASE); + if (iRoll==45)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_COLOR_SPRAY); + if (iRoll==46)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_DAZE); + if (iRoll==47)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_BURNING_HANDS); + if (iRoll==48)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_BLINDNESS_AND_DEAFNESS); + if (iRoll==49)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_LIGHTNING_BOLT); + if (iRoll==50)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_MAGIC_MISSILE); + if (iRoll==51)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_CLOUDKILL); + if (iRoll==52)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_GREASE); + if (iRoll==53)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_FLAME_ARROW); + if (iRoll==54)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_SLEEP); + if (iRoll==55)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_WEB); + if (iRoll==56)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_RAY_OF_FROST); + if (iRoll==57)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_ENTANGLE); + if (iRoll==58)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_MELFS_ACID_ARROW); + if (iRoll==59)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_SLOW); + if (iRoll==60)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_DOMINATE_PERSON); + if (iRoll==61)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_ENERVATION); + if (iRoll==62)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_ENERGY_DRAIN); + if (iRoll==63)ipAdd = ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_FINGER_OF_DEATH); + if (iRoll==64)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 6); + if (iRoll==65)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_CLERIC, 6); + if (iRoll==66)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_DRUID, 6); + if (iRoll==67)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_SORCERER, 6); + if (iRoll==68)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_BARD, 6); + if (iRoll==69)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 7); + if (iRoll==70)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_CLERIC, 7); + if (iRoll==71)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_DRUID, 7); + if (iRoll==72)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_SORCERER, 7); + if (iRoll==73)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_BARD, 7); + if (iRoll==74)ipAdd = ItemPropertyImmunityToSpellLevel(2); + if (iRoll==75)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 8); + if (iRoll==76)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_CLERIC, 8); + if (iRoll==77)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_DRUID, 8); + if (iRoll==78)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_SORCERER, 8); + if (iRoll==79)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_BARD, 6); + if (iRoll==80)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 9); + if (iRoll==81)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_CLERIC, 9); + if (iRoll==82)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_DRUID, 9); + if (iRoll==83)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_SORCERER, 9); + if (iRoll==84)ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_BARD, 7); + } + break; + } + + IPSafeAddItemProperty(oItem, ipAdd); +} + +void SaveImbue(object oItem, int iRange) +{ + itemproperty ipAdd; + int iAbil; + int iType; + int iRoll = d6(); + + switch (iRoll) + { + case 1: iType = IP_CONST_SAVEBASETYPE_FORTITUDE; break; + case 2: iType = IP_CONST_SAVEBASETYPE_REFLEX; break; + case 3: iType = IP_CONST_SAVEBASETYPE_WILL; break; + case 4: iType = IP_CONST_SAVEBASETYPE_FORTITUDE; break; + case 5: iType = IP_CONST_SAVEBASETYPE_REFLEX; break; + case 6: iType = IP_CONST_SAVEBASETYPE_WILL; break; + } + + switch (iRange) + { + case 1: {iAbil = d3(); if (iAbil==3)iAbil=1; break;} // 1-2 + case 2: {iAbil = d3();if (iAbil==4)iAbil=1; break;} // 2-3 + case 3: {iAbil = d3();if (iAbil==5)iAbil=1; break;} // 3-4 + case 4: {iAbil = d3();if (iAbil==6)iAbil=2; break;} // 4-5 + case 5: {iAbil = d3()+1;if (iAbil==7)iAbil=2; break;} // 5-6 + } + + ipAdd = ItemPropertyBonusSavingThrow(iType, iAbil); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void ImpEvasionImbue(object oItem) +{ + itemproperty ipAdd; + ipAdd = ItemPropertyImprovedEvasion(); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void TruseeingImbue(object oItem) +{ + itemproperty ipAdd; + ipAdd = ItemPropertyTrueSeeing(); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void DarkvisionImbue(object oItem) +{ + itemproperty ipAdd; + ipAdd = ItemPropertyDarkvision(); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void FreedomImbue(object oItem) +{ + itemproperty ipAdd; + ipAdd = ItemPropertyFreeAction(); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void RegenImbue(object oItem, int iRange) +{ + int iRegen; + itemproperty ipAdd; + + switch (iRange) + { + case 1: {iRegen = d2();if (iRegen==3)iRegen=1; break;} //1-2 + case 2: iRegen = d2(); break; //1-3 + case 3: iRegen = d2(); break; //1-4 + case 4: {iRegen = d2();if (iRegen==5)iRegen=2;break;} //2-4 + case 5: iRegen = d2();break; //2-5 + } + + ipAdd = ItemPropertyRegeneration(iRegen); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void VampRegenImbue(object oItem, int iRange) +{ + int iRegen; + itemproperty ipAdd; + + switch (iRange) + { + case 1: {iRegen = d3();if (iRegen==3)iRegen=1; break;} //1-2 + case 2: iRegen = d3(); break; //1-3 + case 3: iRegen = d3()+1; break; //1-4 + case 4: {iRegen = d3()+1;if (iRegen==5)iRegen=3;break;} //2-4 + case 5: iRegen = d3()+2;break; //2-5 + } + + ipAdd = ItemPropertyVampiricRegeneration(iRegen); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void EvilImbue(object oItem) +{ + itemproperty ipAdd; + ipAdd = ItemPropertyVisualEffect(ITEM_VISUAL_EVIL); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void HolyImbue(object oItem) +{ + itemproperty ipAdd; + ipAdd = ItemPropertyVisualEffect(ITEM_VISUAL_HOLY); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void FireImbue(object oItem) +{ + itemproperty ipAdd; + ipAdd = ItemPropertyVisualEffect(ITEM_VISUAL_FIRE); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void ElecImbue(object oItem) +{ + itemproperty ipAdd; + ipAdd = ItemPropertyVisualEffect(ITEM_VISUAL_ELECTRICAL); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void AcidImbue(object oItem) +{ + itemproperty ipAdd; + ipAdd = ItemPropertyVisualEffect(ITEM_VISUAL_ACID); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void HasteImbue(object oItem) +{ + itemproperty ipAdd; + ipAdd = ItemPropertyHaste(); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void KeenImbue(object oItem) +{ + itemproperty ipAdd; + ipAdd = ItemPropertyKeen(); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void WoundingImbue(object oItem, int iRange) +{ + itemproperty ipAdd; + ipAdd = ItemPropertyOnHitProps(IP_CONST_ONHIT_WOUNDING, iRange-1, iRange); + IPSafeAddItemProperty(oItem, ipAdd); +} + +void EchobladeImbue(object oItem) //:: PRC8 +{ + if(!PRCGetBludgeoningWeapon(oItem)) + { + itemproperty ipAdd; + ipAdd = ItemPropertyEchoblade(); + IPSafeAddItemProperty(oItem, ipAdd); + } +} + +void DropArmor (object oMob, object oSack, int iRange, int SockChance, int iChest) +{ + object oItem; + itemproperty ipAdd; + string sType, sIName, sName, sSocks, AbilName, ResName, HasteName; + int iQual = 0; + int iAbilQual = 0; + int iResQual = 0; + int iHasteQual = 0; + int iRoll = d10(); + + switch(iRoll) + { + case 1: sType = "sdarmor8"; break; + case 2: sType = "sdarmor7"; break; + case 3: sType = "sdarmor6"; break; + case 4: sType = "sdarmor5"; break; + case 5: sType = "sdarmor4"; break; + case 6: sType = "sdarmor3"; break; + case 7: sType = "sdarmor2"; break; + case 8: sType = "sdarmor1"; break; + case 9: sType = "sdarmor0"; break; + case 10: sType = "sdarmor02"; break; + } + oItem = CreateItemOnObject(sType, oSack, 1, "sf_socket_item"); + + // chance for socketed item + iRoll = d100(); + if (iRoll < SockChance) + { + iRoll=d6(); + SetLocalInt(oItem, "SOCKETS", iRoll); + sSocks = IntToString(iRoll); + ipAdd = ItemPropertyCastSpell(IP_CONST_CASTSPELL_UNIQUE_POWER, IP_CONST_CASTSPELL_NUMUSES_UNLIMITED_USE); + IPSafeAddItemProperty(oItem, ipAdd); + + sName = ColorString("Socketed "+sIName+" ("+sSocks+")", 72, 209, 204 ); + SetName(oItem, sName); + return; + } + iRoll = d100(); + if (iRoll <= CHANCE_WORN && iRoll > CHANCE_BROKEN && iChest != 1) // chance of being worn + { + sName = ColorString("Worn "+sIName, 192, 192, 192); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + if (iRoll<=CHANCE_BROKEN&&iChest!=1) // chance of being broken + { + DelayCommand(0.2, ACimbue(oItem, iRange, 1)); + sName = ColorString("Broken "+sIName, 255, 0, 0); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + + SetIdentified(oItem, FALSE); +//////////////////////////////////////////// Lvls 1-5 + +//:: AC bonus + DelayCommand(0.2, ACimbue(oItem, iRange, 0)); + ++iQual; + +//:: Ability bonus + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + ++iAbilQual; + } + +////////////////////////////////////////// Lvls 6-10 + + if (iRange==2) + { + //:: Ability bonus + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + ++iAbilQual; + } + //:: Misc + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2,MiscImbue(oItem, iRange)); + ++iQual; + } + //:: Damage Res bonus + iRoll = d100(); + if (iRoll > 85) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + ++iResQual; + } + iRoll = d100(); + if (iRoll > 97) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + } + +////////////////////////////////////////// Lvls 11-20 + + if (iRange==3) + { + //:: Ability bonus + iRoll = d100(); + if (iRoll>40) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + ++iAbilQual; + } + //:: Damage Res bonus + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + ++iResQual; + } + //:: Damage Res bonus + iRoll = d100(); + if (iRoll>89) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + ++iResQual; + } + //::: Misc + iRoll = d100(); + if (iRoll>75) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + + // Misc Immunity + // iRoll = d100(); + // if (iRoll>90) + // { + // DelayCommand(0.2, MIMMimbue(oItem, iRange)); + // ++iQual; + // } + //:: Haste + iRoll = d100(); + if (iRoll>95) + { + DelayCommand(0.2, HasteImbue(oItem)); + ++iQual; + ++iHasteQual; + } + } + +////////////////////////////////////////// Lvls 20-30 + + if (iRange==4) + { + //:: Ability bonus x 2 + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + ++iAbilQual; + } + + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + ++iAbilQual; + } + //:: Damage Res bonus x 2 + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + ++iResQual; + } + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + ++iResQual; + } + //:: Misc + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>95) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + + // Misc Immunity + // iRoll = d100(); + // if (iRoll>75) + // { + // DelayCommand(0.2, MIMMimbue(oItem, iRange)); + // ++iQual; + // } + + //:: Haste + iRoll = d100(); + if (iRoll>95) + { + DelayCommand(0.2, HasteImbue(oItem)); + ++iQual; + ++iHasteQual; + } + } + +////////////////////////////////////////// Lvls 30-40 + + if (iRange==5) + { + //:: Ability bonus x 2 + iRoll = d100(); + if (iRoll > 50) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + ++iAbilQual; + } + + iRoll = d100(); + if (iRoll > 60) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + ++iAbilQual; + } + + + if (iRoll > 70) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + ++iAbilQual; + } + + if (iRoll > 85) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + ++iAbilQual; + } + + //:: Damage Res bonus x 3 + iRoll = d100(); + if (iRoll > 60) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + ++iResQual; + } + iRoll = d100(); + if (iRoll > 70) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + ++iResQual; + } + iRoll = d100(); + if (iRoll > 80) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + ++iResQual; + } + iRoll = d100(); + if (iRoll > 90) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + ++iResQual; + } + + //:: Misc + iRoll = d100(); + if (iRoll > 70) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll > 75) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll > 80) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + // Misc Immunity + // iRoll = d100(); + // if (iRoll>70) + // { + // DelayCommand(0.2, MIMMimbue(oItem, iRange)); + // ++iQual; + } + + // iRoll = d100(); + // if (iRoll>75) + // { + // DelayCommand(0.2, MIMMimbue(oItem, iRange)); + // ++iQual; + // } + + // iRoll = d100(); + // if (iRoll>90) + // { + // DelayCommand(0.2, MIMMimbue(oItem, iRange)); + // ++iQual; + // } + + + // iRoll = d100(); + // if (iRoll>95) + // { + // DelayCommand(0.2, MIMMimbue(oItem, iRange)); + // ++iQual; + // } + //:: Haste + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, HasteImbue(oItem)); + ++iQual; + ++iHasteQual; + } + + DelayCommand(0.4, ChangeArmor(oItem, iRandomShoulder, iRandomBicep, iRandomForearm, iRandomHand, iRandomThigh, iRandomShins, iRandomFeet, iRandomPelvis, iRandomBelt, iRandomNeck, iRandomChest, iRandomArmor1, iRandomArmor2, iRandomArmor3, iRandomArmor4, iRandomArmor5, iRandomArmor6, oSack)); + + + switch(iAbilQual) + { + case 1: AbilName = ColorString(" Neophyte", 1, 255, 1);break; + case 2: AbilName = ColorString(" Journeyman", 1, 255, 1);break; + case 3: AbilName = ColorString(" Seraphim", 1, 255, 255);break; + case 4: AbilName = ColorString(" Archon", 1, 255, 255);break; + case 5: AbilName = ColorString(" Paragon", 1, 255, 255);break; + } + switch(iResQual) + { + case 0: ResName = ColorString(" Guarded", 255, 255, 255);break; + case 1: ResName = ColorString(" Stout", 1, 255, 1);break; + case 2: ResName = ColorString(" Resilient", 1, 255, 1);break; + case 3: ResName = ColorString(" Sentinel", 1, 255, 255);break; + case 4: ResName = ColorString(" Inpenetrable", 1, 255, 255);break; + } + switch(iHasteQual) + { + case 1: HasteName = "Swift "; break; + } + switch(iQual) + { + case 1: sName = ColorString(HasteName + "Magical Armour ",255, 255, 255) + "of the" + ResName + AbilName; break; + case 2: sName = ColorString(HasteName + "Enchanted Armour ", 30, 180, 30)+ "of the" + ResName + AbilName; break; + case 3: sName = ColorString(HasteName + "Enchanted Armour ", 30, 180, 30)+ "of the" + ResName + AbilName; break; + case 4: sName = ColorString(HasteName + "Imbued Armour ", 5, 90, 255)+ "of the" + ResName + AbilName; break; + case 5: sName = ColorString(HasteName + "Imbued Armour ", 5, 90, 255)+ "of the" + ResName + AbilName; break; + case 6: sName = ColorString(HasteName + "Planar Armour ", 185, 1, 200)+ "of the" + ResName + AbilName; break; + case 7: sName = ColorString(HasteName + "Planar Armour ", 185, 1, 200)+ "of the" + ResName + AbilName; break; + case 8: sName = ColorString(HasteName + "Divine Armour ", 255, 245, 210)+ "of the" + ResName + AbilName; break; + case 9: sName = ColorString(HasteName + "Divine Armour ", 255, 245, 210)+ "of the" + ResName + AbilName; break; + case 10: sName = ColorString(HasteName + "Ancient Armour ", 180, 180, 80)+ "of the" + ResName + AbilName; break; + } + + DelayCommand(0.4,SetName(oItem, sName)); +} + +void DropShield (object oMob, object oSack, int iRange, int SockChance, int iChest) +{ + object oItem; + itemproperty ipAdd; + string sType, sName, sIName, sSocks; + int iQual = 0; + int iRoll = d20(); + + switch(iRoll) + { + case 1: {sType = "sdTower1"; sIName = "Targe";} break; + case 2: {sType = "sdLarge1"; sIName = "Wooden Shield";} break; + case 3: {sType = "sdSmall1"; sIName = "Buckler";} break; + case 4: {sType = "sdTower2"; sIName = "Deflector";} break; + case 5: {sType = "sdLarge2"; sIName = "Protector";} break; + case 6: {sType = "sdSmall2"; sIName = "Heater";} break; + case 7: {sType = "sdTower3"; sIName = "Defender";} break; + case 8: {sType = "sdLarge3"; sIName = "Reinforced Shield";} break; + case 9: {sType = "sdSmall3"; sIName = "Arm Blocker";} break; + case 10: {sType = "sdTower4"; sIName = "Centurion";} break; + case 11: {sType = "sdLarge4"; sIName = "Iron Shield";} break; + case 12: {sType = "sdLarge5"; sIName = "Medium Shield";} break; + case 13: {sType = "sdLarge6"; sIName = "Vanguards Brace";} break; + case 14: {sType = "sdLarge7"; sIName = "Protector";} break; + case 15: {sType = "sdLarge8"; sIName = "Kite Shield";} break; + case 16: {sType = "sdLarge9"; sIName = "Protector";} break; + case 17: {sType = "sdLarge10"; sIName = "Kite Shield";} break; + case 18: {sType = "sdSmall3"; sIName = "Buckler";} break; + case 19: {sType = "sdTower2"; sIName = "Gothic Shield";} break; + case 20: {sType = "sdSmall1"; sIName = "Heater";} break; + } + + oItem = CreateItemOnObject(sType, oSack, 1, "sf_socket_item"); + + // chance for socketed item + + iRoll = d100(); + if (iRoll < SockChance) + { + iRoll=d6(); + SetLocalInt(oItem, "SOCKETS", iRoll); + sSocks = IntToString(iRoll); + ipAdd = ItemPropertyCastSpell(IP_CONST_CASTSPELL_UNIQUE_POWER, IP_CONST_CASTSPELL_NUMUSES_UNLIMITED_USE); + IPSafeAddItemProperty(oItem, ipAdd); + + sName = ColorString("Socketed "+sIName+" ("+sSocks+")", 72, 209, 204 ); + SetName(oItem, sName); + return; + } + iRoll = d100(); + if (iRoll <= CHANCE_WORN && iRoll > CHANCE_BROKEN && iChest != 1) // chance of being worn + { + sName = ColorString("Worn "+sIName, 192, 192, 192); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + if (iRoll <= CHANCE_BROKEN && iChest != 1) // chance of being broken + { + DelayCommand(0.2, ACimbue(oItem, iRange, 1)); + sName = ColorString("Broken "+sIName, 255, 0, 0); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + + SetIdentified(oItem, FALSE); + +//////////////////////////////////////////// Lvls 1-5 + +//:: Ac bonus + DelayCommand(0.2, ACmisc(oItem, iRange)); + ++iQual; + +////////////////////////////////////////// Lvls 6-10 + + if (iRange==2) + { + //:: Ability bonus + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + // Save + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + } + +////////////////////////////////////////// Lvls 11-20 + + if (iRange==3) + { + //:: Ability bonus + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Damage Res bonus + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + } + //:: Saves + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + } + +////////////////////////////////////////// Lvls 20-30 + + if (iRange==4) + { + //:: Ability bonus + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Damage Res bonus + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>75) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + } + //:: Misc + iRoll = d100(); + if (iRoll>75) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + //:: Saves + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + } + +////////////////////////////////////////// Lvls 30-40 + + if (iRange==5) + { + //:: Ability bonus x 2 + iRoll = d100(); + if (iRoll>50) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + + //:: Damage Res bonus x 2 + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + } + //:: Misc + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>85) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + //:: Save + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>94) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + + } + + switch(iQual) + { + case 1: sName = ColorString("Magical "+sIName,255, 255, 255); break; + case 2: sName = ColorString("Mystical "+sIName, 30, 180, 30); break; + case 3: sName = ColorString("Enchanted "+sIName, 30, 180, 30); break; + case 4: sName = ColorString("Imbued "+sIName, 5, 90, 255); break; + case 5: sName = ColorString("Arcane "+sIName, 5, 90, 255); break; + case 6: sName = ColorString("Lesser Planar "+sIName, 185, 1, 200); break; + case 7: sName = ColorString("Greater Planar "+sIName, 185, 1, 200); break; + case 8: sName = ColorString("Divine "+sIName, 255, 245, 210); break; + case 9: sName = ColorString("Eldritch "+sIName, 255, 245, 210); break; + case 10: sName = ColorString("Ancient "+sIName, 180, 180, 80); break; + } + + SetName(oItem, sName); +} + +void DropMagicItem (object oMob, object oSack, int iRange, int SockChance, int iChest) +{ + string sType, sName, sIName, sSocks; + object oItem; + itemproperty ipAdd; + int iID = 0; + int iQual = 0; + int iRoll = d20(); + + switch(iRoll) + { + case 1: {sType = "sdammy1"; sIName = "Amulet";iID = 1;} break; + case 2: {sType = "sdring1"; sIName = "Ring";iID = 2;} break; + case 3: {sType = "sdboots1"; sIName = "Boots";iID = 1;}break; + case 4: {sType = "sdbracers1"; sIName = "Wristband";} break; + case 5: {sType = "sdhelm1"; sIName = "Helm";} break; + case 6: {sType = "sdcloak1"; sIName = "Cloak";iID = 1;} break; + case 7: {sType = "sdbelt1"; sIName = "Belt";} break; + case 8: {sType = "sdammy2"; sIName = "Talisman";iID = 1;} break; + case 9: {sType = "sdring2"; sIName = "Band";iID = 2;} break; + case 10: {sType = "sdboots2"; sIName = "Sabatons";iID = 1;} break; + case 11: {sType = "sdbracers2"; sIName = "Bracers";} break; + case 12: {sType = "sdhelm2"; sIName = "Visor";} break; + case 13: {sType = "sdcloak2"; sIName = "Cape";iID = 1;} break; + case 14: {sType = "sdbelt2"; sIName = "Thick Belt";} break; + case 15: {sType = "sdammy3"; sIName = "Charm";iID = 1;} break; + case 16: {sType = "sdring3"; sIName = "Circle";iID = 2;} break; + case 17: {sType = "sdboots3"; sIName = "Greaves";iID = 1;} break; + case 18: {sType = "sdbracers3"; sIName = "Armband";} break; + case 19: {sType = "sdhelm3"; sIName = "Vanguard";} break; + case 20: {sType = "sdring4"; sIName = "Coil";iID = 2;} break; + } + +//:: Chance for socketed item + + oItem = CreateItemOnObject(sType, oSack, 1, "sf_socket_item"); + + iRoll = d100(); + if (iRoll < SockChance) + { + iRoll=d6(); + SetLocalInt(oItem, "SOCKETS", iRoll); + sSocks = IntToString(iRoll); + ipAdd = ItemPropertyCastSpell(IP_CONST_CASTSPELL_UNIQUE_POWER, IP_CONST_CASTSPELL_NUMUSES_UNLIMITED_USE); + IPSafeAddItemProperty(oItem, ipAdd); + + sName = ColorString("Socketed "+sIName+" ("+sSocks+")", 72, 209, 204 ); + SetName(oItem, sName); + return; + } + iRoll = d100(); + if (iRoll <= CHANCE_WORN && iRoll > CHANCE_BROKEN && iChest != 1) //:: Chance of being worn + { + sName = ColorString("Worn "+sIName, 192, 192, 192); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + if (iRoll <= CHANCE_BROKEN && iChest != 1) //:: Chance of being broken + { + DelayCommand(0.2, ACimbue(oItem, iRange, 1)); + sName = ColorString("Broken "+sIName, 255, 0, 0); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + + SetIdentified(oItem, FALSE); + +///////////////////////////////////////////// Hench Reward Code + + object oPC = GetFirstPC(); + + if (GetMaster(oMob)!=OBJECT_INVALID) + { + SetIdentified(oItem, TRUE); + SetItemCursedFlag(oItem, TRUE); + } + +//////////////////////////////////////////// Lvls 1-5 + if (iRange == 1) + { + //:: AC bonus for ammy, cloak & boots or ability bonus otherwise + iRoll = d100(); + if (iID == 1) + { + DelayCommand(0.2, ACmisc(oItem, iRange)); + ++iQual; + } + if (iID == 2) //:: Rings + { + if (iRoll > 94) //:: 5% Chance for Divinty / Wizardry + { + iRoll = d2(1); + if (iRoll == 1) + { + DelayCommand(0.2, ImbueWizardry(oItem, iRange)); + iQual+=3; + } + else + { + DelayCommand(0.2, ImbueDivinity(oItem, iRange)); + iQual+=3; + } + } + } + else + iRoll = d100(); + if (iRoll > 60) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + + } + +////////////////////////////////////////// Lvls 6-10 + + if (iRange == 2) + { + //:: Ability bonus &/or AC Bonus + iRoll = d100(); + if (iRoll > 60) + { + DelayCommand(0.2, ACmisc(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll > 60) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Rings ONLY + if (iID==2) + { + iRoll = d100(); + if (iRoll > 94) //:: 5% Chance for Divinty / Wizardry + { + iRoll = d2(1); + if (iRoll == 1) + { + DelayCommand(0.2, ImbueWizardry(oItem, iRange)); + iQual+=3; + } + else + { + DelayCommand(0.2, ImbueDivinity(oItem, iRange)); + iQual+=3; + } + } + else if (iRoll > 65) //:: 30% Chance for spell slots + { + iRoll = d3(); // 1-3 slots + DelayCommand(0.2, SpellSlot(oItem, iRange, iRoll)); + iQual+=2; + } + } + else + {//:: Else, Saving Throw bonuses + iRoll = d100(); + if (iRoll > 89) + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + + } + +////////////////////////////////////////// Lvls 11-20 + + if (iRange == 3) + { + //:: Ability bonus &/or AC Bonus + iRoll = d100(); + if (iRoll > 55) + { + DelayCommand(0.2, ACmisc(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll > 55) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Rings ONLY + if (iID==2) + { + iRoll = d100(); + if (iRoll > 89) //:: 10% Chance for Divinty / Wizardry + { + iRoll = d2(1); + if (iRoll == 1) + { + DelayCommand(0.2, ImbueWizardry(oItem, iRange)); + iQual+=3; + } + else + { + DelayCommand(0.2, ImbueDivinity(oItem, iRange)); + iQual+=3; + } + } + else if (iRoll > 59) //:: 30% Chance for spell slots + { + iRoll = d3()+1; // 2-4 slots + DelayCommand(0.2, SpellSlot(oItem, iRange, iRoll)); + iQual+=2; + } + } + else + {//:: Misc Immunity + iRoll = d100(); + if (iRoll > 80) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + iQual+=2; + } + //:: Saving Throw Bonuses + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + } + } + +////////////////////////////////////////// Lvls 20-30 + + if (iRange == 4) + { + //:: 2x Ability bonus &/or AC Bonus + iRoll = d100(); + if (iRoll > 55) + { + DelayCommand(0.2, ACmisc(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll > 55) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll > 60) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Rings ONLY + if (iID==2) + { + iRoll = d100(); + if (iRoll > 89) //:: 10% Chance for Divinty / Wizardry + { + iRoll = d2(1); + if (iRoll == 1) + { + DelayCommand(0.2, ImbueWizardry(oItem, iRange)); + iQual+=3; + } + else + { + DelayCommand(0.2, ImbueDivinity(oItem, iRange)); + iQual+=3; + } + } + else if (iRoll > 59) //:: 30% Chance for spell slots + { + iRoll = d4()+2; // 3-6 slots + DelayCommand(0.2, SpellSlot(oItem, iRange, iRoll)); + iQual+=2; + } + } + else + {//:: Misc Itemprop + iRoll = d100(); + if (iRoll > 80) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + //:: Misc Immunity + iRoll = d100(); + if (iRoll > 80) + { + DelayCommand(0.2, MIMMimbue(oItem, iRange)); + iQual+=2; + } + //:: Damage Res bonus + iRoll = d100(); + if (iRoll > 80) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + } + //:: Saving Throw Bonuses + iRoll = d100(); + if (iRoll > 70) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + } + } + +////////////////////////////////////////// Lvls 30-40 + + if (iRange == 5) + { + //:: 2x Ability bonus &/or AC Bonus + iRoll = d100(); + if (iRoll > 55) + { + DelayCommand(0.2, ACmisc(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll > 55) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll > 60) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Damage Res bonus x 2 + iRoll = d100(); + if (iRoll > 70) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll >75) + { + DelayCommand(0.2, RESimbue(oItem, iRange)); + ++iQual; + } + //:: Rings ONLY + if (iID==2) + { + iRoll = d100(); + if (iRoll > 89) //:: 10% Chance for Divinty / Wizardry + { + iRoll = d2(1); + if (iRoll == 1) + { + DelayCommand(0.2, ImbueWizardry(oItem, iRange)); + iQual+=3; + } + else + { + DelayCommand(0.2, ImbueDivinity(oItem, iRange)); + iQual+=3; + } + } + else if (iRoll > 59) //:: 30% Chance for spell slots + { + iRoll = d6()+2; // 3-8 slots + DelayCommand(0.2, SpellSlot(oItem, iRange, iRoll)); + iQual+=2; + } + } + else + //:: Misc + iRoll = d100(); + if (iRoll>50) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, MiscImbue(oItem, iRange)); + ++iQual; + } + //:: Misc Immunity + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, MIMMimbue(oItem, iRange)); + iQual+=2; + } + //:: Save + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + } + + switch(iQual) + { + case 1: sName = ColorString("Magical "+sIName,255, 255, 255); break; + case 2: sName = ColorString("Mystical "+sIName, 30, 180, 30); break; + case 3: sName = ColorString("Enchanted "+sIName, 30, 180, 30); break; + case 4: sName = ColorString("Imbued "+sIName, 5, 90, 255); break; + case 5: sName = ColorString("Arcane "+sIName, 5, 90, 255); break; + case 6: sName = ColorString("Lesser Planar "+sIName, 185, 1, 200); break; + case 7: sName = ColorString("Greater Planar "+sIName, 185, 1, 200); break; + case 8: sName = ColorString("Divine "+sIName, 255, 245, 210); break; + case 9: sName = ColorString("Eldritch "+sIName, 255, 245, 210); break; + case 10: sName = ColorString("Ancient "+sIName, 180, 180, 80); break; + } + + SetName(oItem, sName); + + if (GetBaseItemType(oItem) == BASE_ITEM_CLOAK) + { + DelayCommand(0.4, ColorHelmClk(oItem, iRandomArmor1, iRandomArmor2, iRandomArmor3, iRandomArmor4, iRandomArmor5, iRandomArmor6, iRandomCloak, oSack)); + } + + if (GetBaseItemType(oItem) == BASE_ITEM_HELMET) + { + DelayCommand(0.4, ColorHelmClk(oItem, iRandomArmor1, iRandomArmor2, iRandomArmor3, iRandomArmor4, iRandomArmor5, iRandomArmor6, iRandomHelmet, oSack)); + } + + if (GetBaseItemType(oItem) == BASE_ITEM_RING) + { + DelayCommand(0.4, ChangeRingAmuBelt(oItem, iRandRing, oSack)); + } + + if (GetBaseItemType(oItem) == BASE_ITEM_BELT) + { + DelayCommand(0.4, ChangeRingAmuBelt(oItem, iRandBelt, oSack)); + } + + if (GetBaseItemType(oItem) == BASE_ITEM_AMULET) + { + DelayCommand(0.4, ChangeRingAmuBelt(oItem, iRandAmulet, oSack)); + } + + if (GetBaseItemType(oItem) == BASE_ITEM_BRACER) + { + DelayCommand(0.4, ChangeRingAmuBelt(oItem, iRandBracer, oSack)); + } +} + +void DropMonkGloves (object oMob, object oSack, int iRange, int SockChance, int iChest) +{ + object oItem; + itemproperty ipAdd; + string sType, sName, sIName, sSocks; + int iDice1, iDice2, iRoll; + int iQual; + int iWType = 0; + + iRoll = d6(); + switch (iRoll) + { + case 1: sType = "sd_mgloves"; break; + case 2: sType = "sd_mgloves1"; break; + case 3: sType = "sd_mgloves2"; break; + case 4: sType = "sd_mgloves3"; break; + case 5: sType = "sd_mgloves4"; break; + case 6: sType = "sd_mgloves5"; break; + } + + iRoll = d20(); + switch (iRoll) + { + case 1: sIName = "War Talons"; break; + case 2: sIName = "Blood Claws"; break; + case 3: sIName = "Pulverizers"; ;break; + case 4: sIName = "Ninja Claws"; break; + case 5: sIName = "War Gloves"; break; + case 6: sIName = "Flesh Knuckles"; break; + case 7: sIName = "Death Mitts"; break; + case 8: sIName = "Palm Guards"; break; + case 9: sIName = "Knuckledusters"; ;break; + case 10: sIName = "Tiger Fists"; break; + case 11: sIName = "Tauntlets"; break; + case 12: sIName = "Chi Bracelets"; break; + case 13: sIName = "Dragon Claws"; break; + case 14: sIName = "Steel Palms"; break; + case 15: sIName = "Exploding Fists"; break; + case 16: sIName = "Nose Breakers"; break; + case 17: sIName = "Stiff Fingers"; ;break; + case 18: sIName = "Heart Piercers"; break; + case 19: sIName = "Digit Devastators"; break; + case 20: sIName = "Gore Gauntlets"; break; + } + + oItem = CreateItemOnObject(sType, oSack, 1, "sf_socket_item"); + + //:: Monk + iRoll = d100(); + if (iRoll <= CHANCE_WORN && iRoll > CHANCE_BROKEN && iChest != 1) //:: Chance of being worn + { + sName = ColorString("Worn "+sIName, 192, 192, 192); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + if (iRoll <= CHANCE_BROKEN && iChest != 1) //:: Chance of being broken + { + DelayCommand(0.2, ACimbue(oItem, iRange, 1)); + sName = ColorString("Broken "+sIName, 255, 0, 0); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + + SetIdentified(oItem, FALSE); + +//////////////////////////////////////////// Lvls 1-5 ::Monk2:: + + //:: Attack bonus + DelayCommand(0.2, BowEnhance(oItem, iRange)); + ++iQual; + +////////////////////////////////////////// Lvls 6-10 ::Monk2:: + + if (iRange==2) + { + //:: Ability bonus + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Damage Bonus + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Haste + iRoll = d100(); + if (iRoll==98) + { + DelayCommand(0.2, HasteImbue(oItem)); + iQual+=2; + } + } + +////////////////////////////////////////// Lvls 11-20 ::Monk2:: + + if (iRange==3) + { + //:: Ability bonus x 2 + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Damage Bonus x 2 + iRoll = d100(); + if (iRoll>50) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>55) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //::: Haste + iRoll = d100(); + if (iRoll>=95) + { + DelayCommand(0.2, HasteImbue(oItem)); + ++iQual; + } + } + +////////////////////////////////////////// Lvls 20-30 ::Monk2:: + + if (iRange==4) + { + //:: Ability bonus x 2 + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>40) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Damage Bonus x 3 + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>50) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Haste + iRoll = d100(); + if (iRoll>=95) + { + DelayCommand(0.2, HasteImbue(oItem)); + ++iQual; + } + //:: Save + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + } + +////////////////////////////////////////// Lvls 30-40 ::Monk2:: + + if (iRange==5) + { + //:: Ability bonus x 2 + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Damage Bonus x 3 + iRoll = d100(); + if (iRoll>30) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>50) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + if (iRoll>70) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + if (iRoll>85) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + if (iRoll>92) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + if (iRoll>95) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Haste + iRoll = d100(); + if (iRoll>=90) + { + DelayCommand(0.2, HasteImbue(oItem)); + ++iQual; + } + //:: Save + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + } + + switch(iQual) + { + case 1: sName = ColorString("Magical "+sIName,255, 255, 255); break; + case 2: sName = ColorString("Mystical "+sIName, 30, 180, 30); break; + case 3: sName = ColorString("Enchanted "+sIName, 30, 180, 30); break; + case 4: sName = ColorString("Imbued "+sIName, 5, 90, 255); break; + case 5: sName = ColorString("Arcane "+sIName, 5, 90, 255); break; + case 6: sName = ColorString("Lesser Planar "+sIName, 185, 1, 200); break; + case 7: sName = ColorString("Greater Planar "+sIName, 185, 1, 200); break; + case 8: sName = ColorString("Divine "+sIName, 255, 245, 210); break; + case 9: sName = ColorString("Eldritch "+sIName, 255, 245, 210); break; + case 10: sName = ColorString("Ancient "+sIName, 180, 180, 80); break; + } + + SetName(oItem, sName); + SetIdentified(oItem, FALSE); + DelayCommand(0.4, ChangeRingAmuBelt(oItem, iRandGauntlet, oSack)); +} + +void DropWeapon (object oMob, object oSack, int iRange, int SockChance, int iChest) +{ + object oItem; + itemproperty ipAdd; + string sType, sName, sIName, sSocks, DType; + int iRoll; + int iQual = 0; + int iWType = 0; + + iRoll = Random(54)+1; + switch(iRoll) + { + //:: Axes + case 1: + { + sType = "sdgaxe"; iRoll = d3(); + + if (iRoll==1)sIName = "Greataxe"; + if (iRoll==2)sIName = "Two Handed Axe"; + if (iRoll==3)sIName = "Executioner's Axe"; + } + break; + case 2: + { + sType = "sdwaxe"; iRoll = d3(); + + if (iRoll==1)sIName = "Dwarven War Axe"; + if (iRoll==2)sIName = "War Axe"; + if (iRoll==3)sIName = "Broad Axe"; + } + break; + case 3: + { + sType = "sdbaxe"; iRoll = d3(); + if (iRoll==1)sIName = "Battleaxe"; + if (iRoll==2)sIName = "Berserker Axe"; + if (iRoll==3)sIName = "Siege Axe"; + } + break; + case 4: + { + sType = "sdhaxe"; iRoll = d3(); + if (iRoll==1)sIName = "Handaxe"; + if (iRoll==2)sIName = "Cleaver"; + if (iRoll==3)sIName = "Tomahawk"; + } + break; + + //:: Bladed + case 5: + { + sType = "sd_bastard"; iRoll = d3(); + if (iRoll==1)sIName = "Bastard Sword"; + if (iRoll==2)sIName = "War Sword"; + if (iRoll==3)sIName = "Arming Sword"; + } + break; + case 6: + { + sType = "sdlsword"; iRoll = d3(); + if (iRoll==1)sIName = "Longsword"; + if (iRoll==2)sIName = "Knight's Sword"; + if (iRoll==3)sIName = "Broadsword "; + } + break; + case 7: + { //:: Falchion + sType = "prc_wswfa001"; iRoll = d3(); + if (iRoll==1)sIName = "Falchion"; + if (iRoll==2)sIName = "Nagamaki"; + if (iRoll==3)sIName = "Chopper"; + } + break; + case 8: + { + sType = "sdssword"; iRoll = d3(); + if (iRoll==1)sIName = "Short Sword"; + if (iRoll==2)sIName = "Gladius"; + if (iRoll==3)sIName = "Xiphos"; + } + break; + case 9: + { + sType = "sdgsword"; iRoll = d3(); + if (iRoll==1)sIName = "Greatsword"; + if (iRoll==2)sIName = "Claymore"; + if (iRoll==3)sIName = "Linebreaker"; + } + break; + case 10: + { + sType = "sdkatana"; iRoll = d3(); + if (iRoll==1)sIName = "Katana"; + if (iRoll==2)sIName = "Samurai Sword"; + if (iRoll==3)sIName = "Nihonto"; + } + break; + case 11: + { + sType = "sdscim"; iRoll = d3(); + if (iRoll==1)sIName = "Scimitar"; + if (iRoll==2)sIName = "Shamshir"; + if (iRoll==3)sIName = "Talwar"; + } + break; + case 12: + { + sType = "sdrapier"; iRoll = d3(); + if (iRoll==1)sIName = "Rapier"; + if (iRoll==2)sIName = "Sabre"; + if (iRoll==3)sIName = "Court Sword"; + } + break; + case 13: + { + sType = "sddagger"; iRoll = d6(); + if (iRoll==1)sIName = "Dagger"; + if (iRoll==2)sIName = "Dirk"; + if (iRoll==3)sIName = "Knife"; + if (iRoll==4)sIName = "Stiletto"; + if (iRoll==5)sIName = "Poignard"; + if (iRoll==6)sIName = "Main-gauche"; + } + break; + + //:: Exotic + case 14: + { + sType = "sdstaff3"; iRoll = d3(); + iWType = 2; + if (iRoll==1)sIName = "Arcane Staff"; + if (iRoll==2)sIName = "Runic Staff "; + if (iRoll==3)sIName = "Spellstaff "; + } + break; + case 15: + { + sType = "sdkama"; iRoll = d3(); + if (iRoll==1)sIName = "Kama"; + if (iRoll==2)sIName = "Monk Claw"; + if (iRoll==3)sIName = "Ripper";} + break; + case 16: + { + sType = "sdkukri"; iRoll = d3(); + if (iRoll==1)sIName = "Kukri"; + if (iRoll==2)sIName = "Machete"; + if (iRoll==3)sIName = "Scorpion Tail"; + } + break; + case 17: + { + sType = "sdlbow"; iRoll = d3(); + iWType = 1; + if (iRoll==1)sIName = "Longbow"; + if (iRoll==2)sIName = "Warbow"; + if (iRoll==3)sIName = "Greatbow"; + } + break; + + //:: Blunt + case 18: + { + sType = "sdclub"; iRoll = d3(); + if (iRoll==1)sIName = "Club"; + if (iRoll==2)sIName = "Baton"; + if (iRoll==3)sIName = "Truncheon"; + } + break; + case 19: + { + sType = "sdhflail"; iRoll = d3(); + if (iRoll==1)sIName = "Heavy Flail"; + if (iRoll==2)sIName = "War Flail"; + if (iRoll==3)sIName = "Bastard Flail"; + } + break; + case 20: + { + sType = "sdlflail"; iRoll = d3(); + if (iRoll==1)sIName = "Light Flail"; + if (iRoll==2)sIName = "Chain Mace"; + if (iRoll==3)sIName = "Infanty Flail"; + } + break; + case 21: + { + sType = "sdstaff1"; iRoll = d3(); + iWType = 2; + if (iRoll==1)sIName = "Magestaff"; + if (iRoll==2)sIName = "Mystic Staff"; + if (iRoll==3)sIName = "Wyrdstaff "; + } + break; + case 22: + { + sType = "sdwhamm"; iRoll = d3(); + if (iRoll==1)sIName = "Warhammer"; + if (iRoll==2)sIName = "Battlehammer"; + if (iRoll==3)sIName = "Earthshaker"; + } + break; + case 23: + { + sType = "sdmace"; iRoll = d3(); + if (iRoll==1)sIName = "Light Mace"; + if (iRoll==2)sIName = "Flanged Mace"; + if (iRoll==3)sIName = "Cudgel"; + } + break; + case 24: + { + sType = "sdmstar"; iRoll = d3(); + if (iRoll==1)sIName = "Morningstar "; + if (iRoll==2)sIName = "Ball-and-Chain"; + if (iRoll==3)sIName = "Warstar"; + } + break; + + //:: Double Sided + case 25: + { + sType = "sddbsword"; iRoll = d3(); + if (iRoll==1)sIName = "Two-Bladed Sword"; + if (iRoll==2)sIName = "Doublesword"; + if (iRoll==3)sIName = "Twinblade"; + } + break; + case 26: + { + sType = "sddsmace"; iRoll = d3(); + if (iRoll==1)sIName = "Dire Mace"; + if (iRoll==2)sIName = "Double Mace"; + if (iRoll==3)sIName = "Twin Basher"; + } + break; + case 27: + { + sType = "sddsaxe"; iRoll = d3(); + if (iRoll==1)sIName = "Double Axe"; + if (iRoll==2)sIName = "Crowd Cutter"; + if (iRoll==3)sIName = "Dervish"; + } + break; + case 28: + { + sType = "sdqstaff"; iRoll = d3(); + if (iRoll==1)sIName = "Quarterstaff"; + if (iRoll==2)sIName = "Battlestaff"; + if (iRoll==3)sIName = "Bo"; + } + break; + + //:: Polearms + case 29: + { + sType = "sdhalberd"; iRoll = d4(); + if (iRoll==1)sIName = "Halberd"; + if (iRoll==2)sIName = "Poleaxe"; + if (iRoll==3)sIName = "Glaive"; + if (iRoll==3)sIName = "Bardiche"; + } + break; + case 30: + { + sType = "sdscythe"; iRoll = d3(); + if (iRoll==1)sIName = "Scythe"; + if (iRoll==2)sIName = "Reaper"; + if (iRoll==3)sIName = "Harvester"; + } + break; + case 31: + { + sType = "sdspear"; iRoll = d3(); + if (iRoll==1)sIName = "Spear"; + if (iRoll==2)sIName = "Pike"; + if (iRoll==3)sIName = "Harpoon"; + } + break; + + //:: Whip + case 32: + { + sType = "sdwhip"; iRoll = d3(); + if (iRoll==1)sIName = "Whip"; + if (iRoll==2)sIName = "Bullwhip"; + if (iRoll==3)sIName = "Lash"; + } + break; + + //:: Ranged + case 33: + { + sType = "sdsbow"; iRoll = d3(); + iWType = 1; + if (iRoll==1)sIName = "Shortbow"; + if (iRoll==2)sIName = "Hunting Bow"; + if (iRoll==3)sIName = "Lightbow"; + } + break; + case 34: + { + sType = "sdlcbow"; iRoll = d3(); + iWType = 1; + if (iRoll==1)sIName = "Light Crossbow"; + if (iRoll==2)sIName = "Crossbow"; + if (iRoll==3)sIName = "Traveler’s Crossbow"; + } + break; + case 35: + { + sType = "sdhcbow"; iRoll = d3(); + iWType = 1; + if (iRoll==1)sIName = "Heavy Crossbow"; + if (iRoll==2)sIName = "Siege Crossbow"; + if (iRoll==3)sIName = "Arbalest"; + } + break; + + //:: Mage + case 36: + { + sType = "sdlhamm"; iRoll = d3(); + if (iRoll==1)sIName = "Light Hammer"; + if (iRoll==2)sIName = "Forge Hammer"; + if (iRoll==3)sIName = "Hand Hammer"; + } + break; + case 37: + { + sType = "sdstaff2"; iRoll = d3(); + iWType = 2; + if (iRoll==1)sIName = "Mystic Cane"; + if (iRoll==2)sIName = "Thaumic Conduit"; + if (iRoll==3)sIName = "Leyline Channeler"; + } + break; + case 38: + { + sType = "sdsickle"; iRoll = d3(); + if (iRoll==1)sIName = "Sickle"; + if (iRoll==2)sIName = "Moonblade"; + if (iRoll==3)sIName = "Crescent Blade"; + } + break; + case 39: + { + sType = "sdmgloves"; iRoll = d3(); + iWType = 3; + if (iRoll==1)sIName = "Gloves"; + if (iRoll==2)sIName = "Fistwraps"; + if (iRoll==3)sIName = "Gauntlets"; + } + break; + //:: PRC / CEP Weapons + case 40: + { //:: Trident + sType = "nw_wpltr001"; iRoll = d3(); + if (iRoll==1)sIName = "Trident"; + if (iRoll==2)sIName = "Fork"; + if (iRoll==3)sIName = "Fuscina"; + } + break; + case 41: + { //:: Heavy Pick + sType = "prc_wblph001"; iRoll = d3(); + if (iRoll==1)sIName = "Heavy Pick"; + if (iRoll==2)sIName = "War Pick"; + if (iRoll==3)sIName = "Mattock"; + } + break; + case 42: + { //:: Light Pick + sType = "prc_wblpl001"; iRoll = d3(); + if (iRoll==1)sIName = "Light Pick"; + if (iRoll==2)sIName = "Hand Pick"; + if (iRoll==3)sIName = "Rock Hammer"; + } + break; + case 43: + { //:: Goad + sType = "prc_wspgd001"; iRoll = d3(); + if (iRoll==1)sIName = "Goad"; + if (iRoll==2)sIName = "Prong"; + if (iRoll==3)sIName = "Prod"; + } + break; + case 44: + { //:: Katar + sType = "prc_wswdp001"; iRoll = d3(); + if (iRoll==1)sIName = "Katar"; + if (iRoll==2)sIName = "Punch-dagger"; + if (iRoll==3)sIName = "Tekpi"; + } + break; + case 45: + { //:: Sai + sType = "prc_wswsi001"; iRoll = d3(); + if (iRoll==1)sIName = "Sai"; + if (iRoll==2)sIName = "Jitte"; + if (iRoll==3)sIName = "Defender"; + } + break; + case 46: + { //:: Eagle Claw + sType = "bdd_eagle_claw"; iRoll = d3(); + if (iRoll==1)sIName = "Eagle Claw"; + if (iRoll==2)sIName = "Claw"; + if (iRoll==3)sIName = "Talon"; + } + break; + case 47: + { //:: Elven Courtblade + sType = "prc_wspec001"; iRoll = d3(); + if (iRoll==1)sIName = "Elven Courtblade"; + if (iRoll==2)sIName = "Courtblade"; + if (iRoll==3)sIName = "Elven Greatsword"; + } + break; + case 48: + { //:: Elven Lightblade + sType = "prc_wspel001"; iRoll = d3(); + if (iRoll==1)sIName = "Elven Lightblade"; + if (iRoll==2)sIName = "Lightblade"; + if (iRoll==3)sIName = "Elven Gladius"; + } + break; + case 49: + { //:: Elven Thinblade + sType = "prc_wspet001"; iRoll = d3(); + if (iRoll==1)sIName = "Elven Thinblade"; + if (iRoll==2)sIName = "Thinblade"; + if (iRoll==3)sIName = "Elven Epee"; + } + break; + case 50: + { //:: Maul + sType = "prc_wxblma001"; iRoll = d3(); + if (iRoll==1)sIName = "Maul"; + if (iRoll==2)sIName = "Great Hammer"; + if (iRoll==3)sIName = "Slegehammer"; + } + break; + case 51: + { //:: Heavy Mace + sType = "prc_wxblmh001"; iRoll = d3(); + if (iRoll==1)sIName = "Heavy Mace"; + if (iRoll==2)sIName = "Footman’s Mace"; + if (iRoll==3)sIName = "Pernach"; + } + break; + case 52: + { //:: Nunchaku + sType = "prc_wblnn001"; iRoll = d3(); + if (iRoll==1)sIName = "Nunchaku"; + if (iRoll==2)sIName = "Thresher"; + if (iRoll==3)sIName = "Split-club"; + } + break; + case 53: + { //:: Sap + sType = "prc_wspsp001"; iRoll = d3(); + if (iRoll==1)sIName = "Sap"; + if (iRoll==2)sIName = "Blackjack"; + if (iRoll==3)sIName = "Shot-sack"; + } + break; + case 54: + { //:: Double Scimitar + sType = "prc_wxdbsc001"; iRoll = d3(); + if (iRoll==1)sIName = "Double Scimitar"; + if (iRoll==2)sIName = "Twin Sabre"; + if (iRoll==3)sIName = "Double Shamshir"; + } + break; + } + +//:: Chance for socketed item + oItem = CreateItemOnObject(sType, oSack, 1, "sf_socket_item"); + + SetName(oItem, sIName); + + iRoll = d100(); + if (iRoll < SockChance) + { + iRoll=d6(); + SetLocalInt(oItem, "SOCKETS", iRoll); + sSocks = IntToString(iRoll); + ipAdd = ItemPropertyCastSpell(IP_CONST_CASTSPELL_UNIQUE_POWER, IP_CONST_CASTSPELL_NUMUSES_UNLIMITED_USE); + IPSafeAddItemProperty(oItem, ipAdd); + + sName = ColorString("Socketed "+sIName+" ("+sSocks+")", 72, 209, 204 ); + SetName(oItem, sName); + return; + } + + if (iWType==1) //:: Ranged Weapons + { + iQual=0; + + //:: Ranged + + //:: Chance for worn or broken item + iRoll = d100(); + if (iRoll <= CHANCE_WORN && iRoll > CHANCE_BROKEN && iChest != 1) //:: Chance of being worn + { + sName = ColorString("Worn "+sIName, 192, 192, 192); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + if (iRoll <= CHANCE_BROKEN && iChest != 1) //:: Chance of being broken + { + DelayCommand(0.2, ACimbue(oItem, iRange, 1)); + sName = ColorString("Broken "+sIName, 255, 0, 0); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + + SetIdentified(oItem, FALSE); + +//////////////////////////////////////////// Lvls 1-5 ::Ranged:: + + //:: Attack bonus + + DelayCommand(0.2, BowEnhance(oItem, iRange)); + ++iQual; + +////////////////////////////////////////// Lvls 6-10 ::Ranged:: + + if (iRange==2) + { + //:: Ability bonus + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Massive Crits + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, MassCritImbue(oItem, iRange)); + ++iQual; + } + //:: Mighty + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, MightyEnhance(oItem, iRange)); + ++iQual; + } + //:: Haste + iRoll = d100(); + if (iRoll==95) + { + DelayCommand(0.2, HasteImbue(oItem)); + iQual+=2; + } + } + +////////////////////////////////////////// Lvls 11-20 ::Ranged:: + + if (iRange==3) + { + //:: Mighty + iRoll = d100(); + if (iRoll>65) + { + DelayCommand(0.2, MightyEnhance(oItem, iRange)); + ++iQual; + } + //:: Ability bonus + iRoll = d100(); + if (iRoll>65) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Massive Crits + iRoll = d100(); + if (iRoll>65) + { + DelayCommand(0.2, MassCritImbue(oItem, iRange)); + ++iQual; + } + //:: Extra range damage bonus + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, RangedImbue(oItem)); + ++iQual; + } + //:: Save + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + //:: Haste + iRoll = d100(); + if (iRoll>=95) + { + DelayCommand(0.2, HasteImbue(oItem)); + iQual+=2; + } + } + +////////////////////////////////////////// Lvls 20-30 ::Ranged:: + + if (iRange==4) + { + //:: Ability bonus + iRoll = d100(); + if (iRoll>75) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + + //:: Massive Crits + iRoll = d100(); + if (iRoll>55) + { + DelayCommand(0.2, MassCritImbue(oItem, iRange)); + ++iQual; + } + //:: Mighty + iRoll = d100(); + if (iRoll>55) + { + DelayCommand(0.2, MightyEnhance(oItem, iRange)); + ++iQual; + } + //:: Extra ranged damage bonus + iRoll = d100(); + if (iRoll>75) + { + DelayCommand(0.2, RangedImbue(oItem)); + iQual+=2; + } + //:: Save + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + //:: Haste + iRoll = d100(); + if (iRoll>=90) + { + DelayCommand(0.2, HasteImbue(oItem)); + iQual+=2; + } + } + +////////////////////////////////////////// Lvls 30-40 ::Ranged:: + + if (iRange==5) + { + //:: Ability bonus x 2 + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>65) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Mighty + iRoll = d100(); + if (iRoll>45) + { + DelayCommand(0.2, MightyEnhance(oItem, iRange)); + ++iQual; + } + //:: Extra melee damage bonus + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, RangedImbue(oItem)); + iQual+=2; + } + //:: Massive Crits + iRoll = d100(); + if (iRoll>50) + { + DelayCommand(0.2, MassCritImbue(oItem, iRange)); + ++iQual; + } + //:: Save + iRoll = d100(); + if (iRoll>85) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + //:: Haste + iRoll = d100(); + if (iRoll>=85) + { + DelayCommand(0.2, HasteImbue(oItem)); + iQual+=2; + } + } + } + else if (iWType==2) //:: Mage "weapons" + { + //:: Mage + iQual=0; + + iRoll = d100(); + if (iRoll <= CHANCE_WORN && iRoll > CHANCE_BROKEN && iChest != 1) //:: Chance of being worn + { + sName = ColorString("Worn "+sIName, 192, 192, 192); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + if (iRoll <= CHANCE_BROKEN && iChest != 1) //:: Chance of being broken + { + DelayCommand(0.2, ACimbue(oItem, iRange, 1)); + sName = ColorString("Broken "+sIName, 255, 0, 0); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } +//////////////////////////////////////////// Lvls 1-5 ::Mage:: + + //:: Enhancement bonus + DelayCommand(0.2, WeapEnhance(oItem, iRange)); + ++iQual; + +////////////////////////////////////////// Lvls 6-10 ::Mage:: + + if (iRange==2) + { + //:: Extra Spell Slot 1-2 + iRoll = d100(); + if (iRoll>60) + { + iRoll = d3();if (iRoll==3)iRoll==2; + DelayCommand(0.2, SpellSlot(oItem, iRange, iRoll)); + ++iQual; + } + + //:: Spell Bonus + iRoll = d100(); + if (iRoll>50) + { + DelayCommand(0.2, CastImbue(oItem, iRange)); + ++iQual; + } + } + +////////////////////////////////////////// Lvls 11-20 ::Mage:: + + if (iRange==3) + { + //:: Ability bonus + iRoll = d100(); + if (iRoll>50) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Extra Spell Slot 1-4 + iRoll = d100(); + if (iRoll>45) + { + iRoll = d4(); + DelayCommand(0.2, SpellSlot(oItem, iRange, iRoll)); + ++iQual; + } + //:: Spell Bonus x 2 + iRoll = d100(); + if (iRoll>40) + { + DelayCommand(0.2, CastImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>45) + { + DelayCommand(0.2, CastImbue(oItem, iRange)); + ++iQual; + } + //:: Haste bonus + iRoll = d100(); + if (iRoll>95) + { + DelayCommand(0.2, HasteImbue(oItem)); + iQual+=2; + } + } + +////////////////////////////////////////// Lvls 20-30 ::Mage:: + + if (iRange==4) + { + //:: Ability bonus + iRoll = d100(); + if (iRoll>45) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Extra Spell Slot 1-6 + iRoll = d100(); + if (iRoll==40) + { + iRoll = d6(); + DelayCommand(0.2, SpellSlot(oItem, iRange, iRoll)); + } + //:: Spell Bonus x 2 + iRoll = d100(); + if (iRoll>35) + { + DelayCommand(0.2, CastImbue(oItem, iRange)); + ++iQual; + } + + iRoll = d100(); + if (iRoll>45) + { + DelayCommand(0.2, CastImbue(oItem, iRange)); + ++iQual; + } + //:: Haste bonus + iRoll = d100(); + if (iRoll>92) + { + DelayCommand(0.2, HasteImbue(oItem)); + iQual+=2; + } + //:: Extra melee damage bonus + iRoll = d100(); + if (iRoll>85) + { + DelayCommand(0.2, MeleeImbue(oItem)); + ++iQual; + } + //:: Save + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + } + +////////////////////////////////////////// Lvls 30-40 ::Mage:: + + if (iRange==5) + { + //:: Ability bonus + iRoll = d100(); + if (iRoll>35) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Extra Spell Slot 1-8 + iRoll = d100(); + if (iRoll>35) + { + iRoll = d8(); + DelayCommand(0.2, SpellSlot(oItem, iRange, iRoll)); + ++iQual; + } + + //:: Spell Bonus x 3 + iRoll = d100(); + if (iRoll>30) + { + DelayCommand(0.2, CastImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>40) + { + DelayCommand(0.2, CastImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>50) + { + DelayCommand(0.2, CastImbue(oItem, iRange)); + ++iQual; + } + //:: Haste bonus + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, HasteImbue(oItem)); + ++iQual; + } + //:: Extra melee damage bonus + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, MeleeImbue(oItem)); + iQual+=2; + } + //:: Save + iRoll = d100(); + if (iRoll>55) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + } + } + else if (iWType==3) //: Monk Gloves + { + //:: Monk + iRoll = d100(); + if (iRoll <= CHANCE_WORN && iRoll > CHANCE_BROKEN && iChest != 1) //:: Chance of being worn + { + sName = ColorString("Worn "+sIName, 192, 192, 192); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + if (iRoll <= CHANCE_BROKEN && iChest != 1) //:: Chance of being broken + { + DelayCommand(0.2, ACimbue(oItem, iRange, 1)); + sName = ColorString("Broken "+sIName, 255, 0, 0); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + + SetIdentified(oItem, FALSE); + + //////////////////////////////////////////// Lvls 1-5 ::Monk:: + + //:: Attack bonus + DelayCommand(0.2, BowEnhance(oItem, iRange)); + ++iQual; + + ////////////////////////////////////////// Lvls 6-10 ::Monk:: + + if (iRange==2) + { + //:: Ability bonus + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Damage Bonus + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Haste + iRoll = d100(); + if (iRoll==95) + { + DelayCommand(0.2, HasteImbue(oItem)); + iQual+=2; + } + } + + ////////////////////////////////////////// Lvls 11-20 ::Monk:: + + if (iRange==3) + { + //:: Ability bonus x 2 + iRoll = d100(); + if (iRoll>75) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Damage Bonus x 2 + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Damage Bonus x 2 + iRoll = d100(); + if (iRoll>75) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Haste + iRoll = d100(); + if (iRoll>=90) + { + DelayCommand(0.2, HasteImbue(oItem)); + iQual+=2; + } + } + +////////////////////////////////////////// Lvls 20-30 ::Monk:: + + if (iRange==4) + { + //:: Ability bonus x 2 + iRoll = d100(); + if (iRoll>75) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Damage Bonus x 3 + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>75) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Haste + iRoll = d100(); + if (iRoll>=85) + { + DelayCommand(0.2, HasteImbue(oItem)); + iQual+=2; + } + //:: Save + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + } + +////////////////////////////////////////// Lvls 30-40 ::Monk:: + + if (iRange==5) + { + //:: Ability bonus x 2 + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, AbilityImbue(oItem, iRange)); + ++iQual; + } + //:: Damage Bonus x 3 + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Haste + iRoll = d100(); + if (iRoll>=80) + { + DelayCommand(0.2, HasteImbue(oItem)); + iQual+=2; + } + //:: Save + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + } + } + else //::: Melee weapons + { + + iRoll = d100(); + if (iRoll <= CHANCE_WORN && iRoll > CHANCE_BROKEN && iChest != 1) //:: Chance of being worn + { + sName = ColorString("Worn "+sIName, 192, 192, 192); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + if (iRoll<=CHANCE_BROKEN&&iChest!=1) //:: Chance of being broken + { + DelayCommand(0.2, ACimbue(oItem, iRange, 1)); + sName = ColorString("Broken "+sIName, 255, 0, 0); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + +//////////////////////////////////////////// Lvls 1-5 ::Melee:: + + //:: Enhancement bonus + DelayCommand(0.2, WeapEnhance(oItem, iRange)); + ++iQual; + +////////////////////////////////////////// Lvls 6-10 ::Melee:: + + if (iRange==1) + { + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + + iRoll = d100(); + if (iRoll>98) + { + DelayCommand(0.2, VampRegenImbue(oItem, iRange)); + ++iQual; + } + } + if (iRange==2) + { + //: Damage bonus + iRoll = d100(); + if (iRoll>85) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Massive Crits + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, MassCritImbue(oItem, iRange)); + ++iQual; + } + //:: Keen bonus + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, KeenImbue(oItem)); + ++iQual; + } + iRoll = d100(); + if (iRoll>95) + { + DelayCommand(0.2, WeapOnHit(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>95) + { + DelayCommand(0.2, VampRegenImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll > 98) + { + DelayCommand(0.2, EchobladeImbue(oItem)); + iQual+=2; + } + iRoll = d100(); + if (iRoll > 98) + { + DelayCommand(0.2, WoundingImbue(oItem, iRange)); + iQual+=2; + } + } + +////////////////////////////////////////// Lvls 11-20 ::Melee:: + + if (iRange==3) + { + //:: Damage bonus + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>75) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Massive Crits + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, MassCritImbue(oItem, iRange)); + ++iQual; + } + //:: Extra melee damage bonus + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, MeleeImbue(oItem)); + ++iQual; + } + //:: Keen bonus + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, KeenImbue(oItem)); + ++iQual; + } + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, WeapOnHit(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>95) + { + DelayCommand(0.2, VampRegenImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>97) + { + DelayCommand(0.2, EchobladeImbue(oItem)); + iQual+=2; + } + iRoll = d100(); + if (iRoll > 98) + { + DelayCommand(0.2, WoundingImbue(oItem, iRange)); + iQual+=2; + } + } + +////////////////////////////////////////// Lvls 20-30 ::Melee:: + + if (iRange==4) + { + //:: Damage bonus x 2 + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + if (iRoll>75) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + if (iRoll>85) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Massive Crits + iRoll = d100(); + if (iRoll>75) + { + DelayCommand(0.2, MassCritImbue(oItem, iRange)); + ++iQual; + } + //:: Extra melee damage bonus + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, MeleeImbue(oItem)); + ++iQual; + } + //:: Keen bonus + iRoll = d100(); + if (iRoll>75) + { + DelayCommand(0.2, KeenImbue(oItem)); + ++iQual; + } + //:: Save + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, WeapOnHit(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>97) + { + DelayCommand(0.2, VampRegenImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>97) + { + DelayCommand(0.2, EchobladeImbue(oItem)); + iQual+=2; + } + iRoll = d100(); + if (iRoll > 98) + { + DelayCommand(0.2, WoundingImbue(oItem, iRange)); + iQual+=2; + } + } + +////////////////////////////////////////// Lvls 30-40 ::Melee:: + + if (iRange==5) + { + //:: Damage bonus x 3 + iRoll = d100(); + if (iRoll>85) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>75) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + if (iRoll>96) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + if (iRoll>97) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + if (iRoll>98) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Massive Crits + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, MassCritImbue(oItem, iRange)); + ++iQual; + } + //:: Extra melee damage bonus + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, MeleeImbue(oItem)); + ++iQual; + } + //:: Keen bonus + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, KeenImbue(oItem)); + ++iQual; + } + //:: Save + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, SaveImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>90) + { + DelayCommand(0.2, WeapOnHit(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>95) + { + DelayCommand(0.2, WeapOnHit(oItem, iRange)); + ++iQual; + } + + iRoll = d100(); + if (iRoll>95) + { + DelayCommand(0.2, WeapOnHit(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>97) + { + DelayCommand(0.2, VampRegenImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>97) + { + DelayCommand(0.2, EchobladeImbue(oItem)); + iQual+=2; + } + iRoll = d100(); + if (iRoll > 96) + { + DelayCommand(0.2, WoundingImbue(oItem, iRange)); + iQual+=2; + } + } + } + + if (iQual>10)iQual=10; + if (iQual==0)iQual=1; + + //////////////////////////////////////////////////////// + //: Debugging + // + /* + FloatingTextStringOnCreature("ResRef: "+sType, GetFirstPC()); + FloatingTextStringOnCreature("Qual: "+IntToString(iQual), GetFirstPC()); + FloatingTextStringOnCreature("Range: "+IntToString(iRange), GetFirstPC()); + */ + + switch(iQual) + { + case 1: sName = ColorString("Magical "+sIName,255, 255, 255); break; + case 2: sName = ColorString("Mystical "+sIName, 30, 180, 30); break; + case 3: sName = ColorString("Enchanted "+sIName, 30, 180, 30); break; + case 4: sName = ColorString("Imbued "+sIName, 5, 90, 255); break; + case 5: sName = ColorString("Arcane "+sIName, 5, 90, 255); break; + case 6: sName = ColorString("Lesser Planar "+sIName, 185, 1, 200); break; + case 7: sName = ColorString("Greater Planar "+sIName, 185, 1, 200); break; + case 8: sName = ColorString("Divine "+sIName, 255, 245, 210); break; + case 9: sName = ColorString("Eldritch "+sIName, 255, 245, 210); break; + case 10: sName = ColorString("Ancient "+sIName, 180, 180, 80); break; + } + SetName(oItem, sName); + SetIdentified(oItem, FALSE); + + if (GetBaseItemType(oItem) == BASE_ITEM_DOUBLEAXE) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d3(), d3(), d3(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_TWOBLADEDSWORD) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d3(), d3(), d3(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_SCYTHE) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d3(), d3(), d3(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_GREATAXE) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_HANDAXE) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_KATANA) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_RAPIER) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_HEAVYFLAIL) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_LIGHTHAMMER) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_LIGHTMACE) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_MORNINGSTAR) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_DIREMACE) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_HALBERD) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_SHORTSPEAR) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_TRIDENT) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_HEAVYCROSSBOW) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_LIGHTCROSSBOW) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_THROWINGAXE) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_DWARVENWARAXE) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d8(), d6(), d6(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_BATTLEAXE) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d8(), d6(), d6(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_BASTARDSWORD) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d6(), d6(), d6(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_DAGGER) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d6(), d6(), d6(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_SHORTSWORD) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d6(), d6(), d6(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_CLUB) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d6(), d6(), d6(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_SHORTBOW) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d6(), d6(), d6(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_GREATSWORD) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d4(), d4(), d4(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_WARHAMMER) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, Random(6) + 1, Random(6) + 1, Random(6) + 1, iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_MAGICSTAFF) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, Random(6) + 1, Random(6) + 1, Random(6) + 1, iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_LONGSWORD) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d8(), d8(), d8(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_LONGBOW) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, d8(), d8(), d8(), iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_SCIMITAR) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, Random(4) + 1, Random(4) + 1, Random(4) + 1,iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_LIGHTFLAIL) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, Random(4) + 1, Random(4) + 1, Random(4) + 1,iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } + if (GetBaseItemType(oItem) == BASE_ITEM_QUARTERSTAFF) + { + DelayCommand(0.4, ChangeWeaponAppearance(oItem, Random(4) + 1, Random(4) + 1, Random(4) + 1,iRandomWeapon1, iRandomWeapon2 , iRandomWeapon3, oSack)); + } +} + +void DropAmmo (object oMob, object oSack, int iRange) +{ + object oItem; + string sType, sName, sIName; + int iRoll = d4(); + int iQual; + int iStack = d10()*9; + + switch(iRoll) + { + //:: Ammo + case 1: {sType = "sdarrow"; iRoll = d3(); + if (iRoll==1)sIName = "Arrow"; + if (iRoll==2)sIName = "Steel Arrow"; + if (iRoll==3)sIName = "Wind Cutter";} + break; + case 2: {sType = "sdbolt"; iRoll = d3(); + if (iRoll==1)sIName = "Bolt"; + if (iRoll==2)sIName = "Deathpin"; + if (iRoll==3)sIName = "Air Lance";} + break; + case 3: {sType = "sdarrow"; iRoll = d3(); + if (iRoll==1)sIName = "Air Assassin"; + if (iRoll==2)sIName = "Pegasus Horn"; + if (iRoll==3)sIName = "Blood Seeker";} + break; + case 4: {sType = "sdbolt"; iRoll = d3(); + if (iRoll==1)sIName = "Steel Bolt"; + if (iRoll==2)sIName = "Stinger"; + if (iRoll==3)sIName = "Blood Sparrow";} + break; + } + + oItem = CreateItemOnObject(sType, oSack, iStack); + + + //:: Ammo + + iRoll = d100(); + if (iRoll<=10) // 10% chance of worn item ::Ammo:: + { + sName = ColorString("Worn "+sIName, 192, 192, 192); + SetName(oItem, sName); + return; + } + + SetIdentified(oItem, FALSE); + +//////////////////////////////////////////// Lvls 1-5 ::Ammo:: + + //++iQual; // Debugging + +////////////////////////////////////////// Lvls 6-10 ::Ammo:: + + if (iRange==2) + { + //:: Damage bonus + iRoll = d100(); + if (iRoll>40) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Vamp Regen bonus + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, VampRegenImbue(oItem, iRange)); + ++iQual; + } + } + +////////////////////////////////////////// Lvls 11-20 ::Ammo:: + + if (iRange==3) + { + //:: Damage bonus x 2 + iRoll = d100(); + if (iRoll>40) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>50) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Vamp Regen bonus + iRoll = d100(); + if (iRoll>70) + { + DelayCommand(0.2, VampRegenImbue(oItem, iRange)); + ++iQual; + } + //:: Unlim Ammo bonus + iRoll = d100(); + if (iRoll>95) + { + DelayCommand(0.2, AmmoEnhance(oItem, iRange)); + iQual+=2; + } + } + +////////////////////////////////////////// Lvls 20-30 ::Ammo:: + + if (iRange==4) + { + //:: Damage bonus x 3 + iRoll = d100(); + if (iRoll>30) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>45) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>65) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Vamp Regen bonus + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, VampRegenImbue(oItem, iRange)); + ++iQual; + } + //:: Unlim Ammo bonus + iRoll = d100(); + if (iRoll>85) + { + DelayCommand(0.2, AmmoEnhance(oItem, iRange)); + iQual+=2; + } + } + +////////////////////////////////////////// Lvls 30-40 ::Ammo:: + + if (iRange==5) + { + //:: Damage bonus x 4 + iRoll = d100(); + if (iRoll>20) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>30) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>40) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + iRoll = d100(); + if (iRoll>60) + { + DelayCommand(0.2, DamageTypeImbue(oItem, iRange)); + ++iQual; + } + //:: Vamp Regen bonus + iRoll = d100(); + if (iRoll>50) + { + DelayCommand(0.2, VampRegenImbue(oItem, iRange)); + ++iQual; + } + //:: Unlim Ammo bonus + iRoll = d100(); + if (iRoll>80) + { + DelayCommand(0.2, AmmoEnhance(oItem, iRange)); + iQual+=2; + } + } + switch(iQual) + { + case 1: sName = ColorString("Magical "+sIName,255, 255, 255); break; + case 2: sName = ColorString("Mystical "+sIName, 30, 180, 30); break; + case 3: sName = ColorString("Enchanted "+sIName, 30, 180, 30); break; + case 4: sName = ColorString("Imbued "+sIName, 5, 90, 255); break; + case 5: sName = ColorString("Arcane "+sIName, 5, 90, 255); break; + case 6: sName = ColorString("Lesser Planar "+sIName, 185, 1, 200); break; + case 7: sName = ColorString("Greater Planar "+sIName, 185, 1, 200); break; + case 8: sName = ColorString("Divine "+sIName, 255, 245, 210); break; + case 9: sName = ColorString("Eldritch "+sIName, 255, 245, 210); break; + case 10: sName = ColorString("Ancient "+sIName, 180, 180, 80); break; + } + + SetName(oItem, sName); + +} + +void DropGem (object oMob, object oSack, int iRange) +{ + object oItem; + + int iRoll; + int iVal1; + int iVal2; + + string sType1; + string sType2; + string sType3; + string sName, pName; + + iRoll=d100(); + if (iRoll<32) + oItem = CreateItemOnObject("sd_rune", oSack, 1); + else if (iRoll>32&&iRoll<65) + oItem = CreateItemOnObject("sd_rune2", oSack, 1); + else if (iRoll>65) + oItem = CreateItemOnObject("sd_rune3", oSack, 1); + + SetIdentified(oItem, FALSE); + + iRoll = d10(); + if (iRoll==1) //:: Mass Crits + { + switch(iRange) + { + case 1:iVal1 = d3(); break; //1-3 + case 2:iVal1 = d3()+1; break; //2-4 + case 3:iVal1 = d4()+2; break; //3-6 + case 4:iVal1 = d4()+4; break; //5-8 + case 5:iVal1 = d6()+4; break; //7-10 + } + if (iVal1==0)iVal1=1; + sName = "+"+IntToString(iVal1)+" Brutal Gem"; + sName = ColorString(sName, 127, 255, 212 ); + SetName(oItem, sName); + SetLocalString(oItem, "GEM_TYPE", "MASSIVE_CRITICAL"); + SetLocalInt(oItem, "AMOUNT", iVal1); + + } + else if (iRoll==2) //::: Ability rune + { + switch(iRange) + { + case 1: iVal1 = 1;break; //1 + case 2: iVal1 = Random(2)+1;break; //1-2 + case 3: iVal1 = d3();break; //1-3 + case 4: iVal1 = d4();break; //1-4 + case 5: iVal1 = d3()+1;break; //2-4 + } + iRoll=d6(); + switch(iRoll) + { + case 1: {sType2 = "STRENGTH_ABILITY_BONUS"; sType1=" Mighty"; break;} + case 2: {sType2 = "DEXTERITY_ABILITY_BONUS"; sType1=" Deft"; break;} + case 3: {sType2 = "WISDOM_ABILITY_BONUS"; sType1=" Wise"; break;} + case 4: {sType2 = "CONSTITUTION_ABILITY_BONUS"; sType1=" Hardy"; break;} + case 5: {sType2 = "INTELLEGENCE_ABILITY_BONUS"; sType1=" Clever"; break;} + case 6: {sType2 = "CHARISMA_ABILITY_BONUS"; sType1=" Charming"; break;} + } + if (iVal1==0)iVal1=2; + sName = "+"+IntToString(iVal1)+sType1+" Gem"; + sName = ColorString(sName, 127, 255, 212 ); + SetName(oItem, sName); + SetLocalString(oItem, "GEM_TYPE", sType2); + SetLocalInt(oItem, "AMOUNT", iVal1); + + } + else if (iRoll==3) //:: AC rune + { + switch(iRange) + { + case 1: iVal1 = 1;break; //1 + case 2: iVal1 = Random(2)+1;break; //1-2 + case 3: iVal1 = d3();break; //1-3 + case 4: iVal1 = d3()+2;break; //3-5 + case 5: iVal1 = d3()+3;break; //4-6 + } + + if (iVal1==0) iVal1=1; + + sName = "+"+IntToString(iVal1)+" AC Gem"; + sName = ColorString(sName, 127, 255, 212 ); + SetName(oItem, sName); + SetLocalString(oItem, "GEM_TYPE", "AC_BONUS"); + SetLocalInt(oItem, "AMOUNT", iVal1); + + } + else if (iRoll==4) //:: AB rune + { + switch(iRange) + { + case 1: iVal1 = Random(2)+1;break; //1-2 + case 2: iVal1 = d3();break; //1-3 + case 3: iVal1 = d3()+1;break; //2-4 + case 4: iVal1 = d3()+2;break; //3-5 + case 5: iVal1 = d4()+3;break; //4-6 + } + + if (iVal1==0) iVal1=2; + + sName = "+"+IntToString(iVal1)+" Attack Gem"; + sName = ColorString(sName, 127, 255, 212 ); + SetName(oItem, sName); + SetLocalString(oItem, "GEM_TYPE", "ATTACK_BONUS"); + SetLocalInt(oItem, "AMOUNT", iVal1); + + } + else if (iRoll==5) //:: Enhancement rune + { + switch(iRange) + { + case 1: iVal1 = Random(2)+1;break; //1-2 + case 2: iVal1 = d3();break; //1-3 + case 3: iVal1 = d3()+1;break; //2-4 + case 4: iVal1 = d3()+2;break; //3-5 + case 5: iVal1 = d3()+3;break; //4-6 + } + + if (iVal1==0)iVal1=2; + + sName = "+"+IntToString(iVal1)+" Enhancement Gem"; + sName = ColorString(sName, 127, 255, 212 ); + SetName(oItem, sName); + SetLocalString(oItem, "GEM_TYPE", "ENHANCEMENT_BONUS"); + SetLocalInt(oItem, "AMOUNT", iVal1); + + } + else if (iRoll==6) //:: Damage rune + { + switch(iRange) + { + case 1: + { + iRoll=d3(); + if (iRoll==1)iVal1 = 1; + if (iRoll==2)iVal1 = 2; + if (iRoll==3)iVal1 = 3; + } + break; + case 2: + { + iRoll=d4(); + if (iRoll==1)iVal1 = 1; + if (iRoll==2)iVal1 = 2; + if (iRoll==3)iVal1 = 3; + if (iRoll==4)iVal1 = 4; + } + break; + case 3: + { + iRoll=d6(); + if (iRoll==1)iVal1 = 2; + if (iRoll==2)iVal1 = 2; + if (iRoll==3)iVal1 = 3; + if (iRoll==4)iVal1 = 4; + if (iRoll==5)iVal1 = 5; + if (iRoll==6)iVal1 = 6; + } + break; + case 4: + { + iRoll=d8(); + if (iRoll==1)iVal1 = 3; + if (iRoll==2)iVal1 = 3; + if (iRoll==3)iVal1 = 4; + if (iRoll==4)iVal1 = 4; + if (iRoll==5)iVal1 = 5; + if (iRoll==6)iVal1 = 5; + if (iRoll==7)iVal1 = 6; + if (iRoll==8)iVal1 = 6; + } + break; + case 5: + { + iRoll=d10(); + if (iRoll==1)iVal1 = 2; + if (iRoll==2)iVal1 = 2; + if (iRoll==3)iVal1 = 3; + if (iRoll==4)iVal1 = 4; + if (iRoll==5)iVal1 = 4; + if (iRoll==6)iVal1 = 5; + if (iRoll==7)iVal1 = 5; + if (iRoll==8)iVal1 = 6; + if (iRoll==9)iVal1 = 7; + if (iRoll==10)iVal1 = 8; + } + break; + } + iRoll = d12(); + switch (iRoll) + { + case 1: {sType2 = "ACID_DAMAGE_BONUS"; sType1 = "Corrosive Gem"; break;} + case 2: {sType2 = "BLUDGEONING_DAMAGE_BONUS"; sType1 = "Thumping Gem"; break;} + case 3: {sType2 = "COLD_DAMAGE_BONUS"; sType1 = "Ice Gem"; break;} + case 4: {sType2 = "DIVINE_DAMAGE_BONUS";sType1 = "Holy Gem"; break;} + case 5: {sType2 = "ELECTIRCAL_DAMAGE_BONUS";sType1 = "Zapping Gem"; break;} + case 6: {sType2 = "FIRE_DAMAGE_BONUS"; sType1 = "Scorching Gem"; break;} + case 7: {sType2 = "MAGICAL_DAMAGE_BONUS"; sType1 = "Magical Gem"; break;} + case 8: {sType2 = "NEGATIVE_DAMAGE_BONUS"; sType1 = "Evil Gem"; break;} + case 9: {sType2 = "PIERCING_DAMAGE_BONUS"; sType1 = "Impaling Gem"; break;} + case 10: {sType2 = "POSITIVE_DAMAGE_BONUS"; sType1 = "Benevolent Gem"; break;} + case 11: {sType2 = "SLASHING_DAMAGE_BONUS"; sType1 = "Slicing Gem"; break;} + case 12: {sType2 = "SONIC_DAMAGE_BONUS"; sType1 = "Booming Gem"; break;} + } + + if (iVal1==0)iVal1=2; + + sName = "+"+IntToString(iVal1)+" "+sType1; + sName = ColorString(sName, 127, 255, 212 ); + + SetName(oItem, sName); + SetLocalString(oItem, "GEM_TYPE", sType2); + SetLocalInt(oItem, "AMOUNT", iVal1); + + } + else if (iRoll==7) //:: VampRegen + { + iRoll = d4(); + sType1 = "VAMPIRIC_REGENERATION"; + switch(iRange) + { + case 1: iVal1 = 1;break; //1 + case 2: iVal1 = Random(2)+1;break; //1-2 + case 3: iVal1 = d3();break; //1-3 + case 4: iVal1 = d3()+1;break; //2-4 + case 5: iVal1 = d3()+2;break; //3-5 + } + sName = "+"+IntToString(iVal1)+" Vamp Regen Gem"; + sName = ColorString(sName, 127, 255, 212 ); + + SetName(oItem, sName); + SetLocalString(oItem, "GEM_TYPE", "VAMPIRIC_REGENERATION"); + SetLocalInt(oItem, "AMOUNT", iVal1); + + } + else if (iRoll==8) //:: Misc + { + switch(iRange) + { + case 1: + { + iRoll = d6(); + if (iRoll==1){sType1 = "Benign"; sType2 = "Cracked";} + if (iRoll==2){sType1 = "Benign"; sType2 = "Cracked";} + if (iRoll==3){sType1 = "KEEN"; sType2 = "Deadly";} + if (iRoll==4){sType1 = "HASTE"; sType2 = "Speedy";} + if (iRoll==5){sType1 = "FREEDOM"; sType2 = "Unstoppable";} + if (iRoll==6){sType1 = "Benign"; sType2 = "Cracked";} + } + break; + case 2: + { + iRoll = d6(); + if (iRoll==1){sType1 = "HOLY_AVENGER"; sType2 = "Vengeful";} + if (iRoll==2){sType1 = "FREEDOM"; sType2 = "Unstoppable";} + if (iRoll==3){sType1 = "HASTE"; sType2 = "Speedy";} + if (iRoll==4){sType1 = "KEEN"; sType2 = "Deadly";} + if (iRoll==5){sType1 = "Benign"; sType2 = "Cracked";} + if (iRoll==6){sType1 = "Benign"; sType2 = "Cracked";} + } + break; + case 3: + { + iRoll = d6(); + if (iRoll==1){sType1 = "HOLY_AVENGER"; sType2 = "Vengeful";} + if (iRoll==2){sType1 = "KEEN"; sType2 = "Deadly";} + if (iRoll==3){sType1 = "FREEDOM"; sType2 = "Unstoppable";} + if (iRoll==4){sType1 = "IMPROVED_EVASION"; sType2 = "Slippery";} + if (iRoll==5){sType1 = "HOLY_AVENGER"; sType2 = "Vengeful";} + if (iRoll==6){sType1 = "HASTE"; sType2 = "Speedy";} + } + break; + case 4: + { + iRoll = d6(); + if (iRoll==1){sType1 = "HOLY_AVENGER"; sType2 = "Vengeful";} + if (iRoll==2){sType1 = "KEEN"; sType2 = "Deadly";} + if (iRoll==3){sType1 = "FREEDOM"; sType2 = "Unstoppable";} + if (iRoll==4){sType1 = "IMPROVED_EVASION"; sType2 = "Slippery";} + if (iRoll==5){sType1 = "HASTE"; sType2 = "Speedy";} + if (iRoll==6){sType1 = "HASTE"; sType2 = "Speedy";} + } + break; + case 5: + { + iRoll = d6(); + if (iRoll==1){sType1 = "KEEN"; sType2 = "Deadly";} + if (iRoll==2){sType1 = "KEEN"; sType2 = "Deadly";} + if (iRoll==3){sType1 = "FREEDOM"; sType2 = "Unstoppable";} + if (iRoll==4){sType1 = "IMPROVED_EVASION"; sType2 = "Slippery";} + if (iRoll==5){sType1 = "HASTE"; sType2 = "Speedy";} + if (iRoll==6){sType1 = "TRUE_SEEING"; sType2 = "Ocular";} + } + break; + } + + pName = sType2+" Gem"; + + if (sType2=="Cracked") + { + sName = ColorString(pName, 255, 0, 0); + SetName(oItem, sName); + SetIdentified(oItem, TRUE); + return; + } + else sName = ColorString(pName, 127, 255, 212 ); + + SetName(oItem, sName); + SetLocalString(oItem, "GEM_TYPE", sType1); + } + else if (iRoll==9) //:: Regen + { + iRoll = d4(); + sType1 = "REGENERATION"; + switch(iRange) + { + case 1: iVal1 = 1;break; //1 + case 2: iVal1 = Random(2)+1;break; //1-2 + case 3: iVal1 = d3();break; //1-3 + case 4: iVal1 = d3()+1;break; //2-4 + case 5: iVal1 = d3()+2;break; //3-5 + } + sName = "+"+IntToString(iVal1)+" Regeneration Gem"; + sName = ColorString(sName, 127, 255, 212 ); + + SetName(oItem, sName); + SetLocalString(oItem, "GEM_TYPE", "REGENERATION"); + SetLocalInt(oItem, "AMOUNT", iVal1); + } + else if (iRoll==10) //:: Damage rune + { + switch(iRange) + { + case 1: iVal1 = 5;break; // -/5 res + case 2: iVal1 = 5;break; // -/5 res + case 3: iVal1 = 10;break; // -/10 res + case 4: iVal1 = 15;break; // -/15 res + case 5: iVal1 = 20;break; // -/20 res + } + iRoll = d12(); + switch (iRoll) + { + case 1: {sType2 = "ACID_DAMAGE_RESISTANCE"; sType1 = "Alkaline Gem"; break;} + case 2: {sType2 = "BLUDGEONING_DAMAGE_RESISTANCE"; sType1 = "Solid Gem"; break;} + case 3: {sType2 = "COLD_DAMAGE_RESISTANCE"; sType1 = "Warm Gem"; break;} + case 4: {sType2 = "DIVINE_DAMAGE_RESISTANCE";sType1 = "Absolution Gem"; break;} + case 5: {sType2 = "ELECTRICAL_DAMAGE_RESISTANCE";sType1 = "Grounding Gem"; break;} + case 6: {sType2 = "FIRE_DAMAGE_RESISTANCE"; sType1 = "Cool Gem"; break;} + case 7: {sType2 = "MAGICAL_DAMAGE_RESISTANCE"; sType1 = "Mantle Gem"; break;} + case 8: {sType2 = "NEGATIVE_DAMAGE_RESISTANCE"; sType1 = "Bright Gem"; break;} + case 9: {sType2 = "PIERCING_DAMAGE_RESISTANCE"; sType1 = "Shell Gem"; break;} + case 10: {sType2 = "POSITIVE_DAMAGE_RESISTANCE"; sType1 = "Malevolent Gem"; break;} + case 11: {sType2 = "SLASHING_DAMAGE_RESISTANCE"; sType1 = "Mesh Gem"; break;} + case 12: {sType2 = "SONIC_DAMAGE_RESISTANCE"; sType1 = "Dampening Gem"; break;} + } + if (iVal1==0)iVal1=2; + sName = "-/"+IntToString(iVal1)+" "+sType1; + sName = ColorString(sName, 127, 255, 212 ); + + SetName(oItem, sName); + SetLocalString(oItem, "GEM_TYPE", sType2); + SetLocalInt(oItem, "AMOUNT", iVal1); + } +} + +void DropEpicSpellSeed(object oMob, object oSack) +{//:: Start DropEpicSpellSeed() + int iEpic = GetIsEpicSpellcaster(oMob); + + string sItem; + + if(iEpic > 1) + return; + + int nESS = Random(29)+1; + switch (nESS) + { + case 1: sItem = "epic_sp_unseenwa"; break; // Epic Spell Unseen Wanderer + case 2: sItem = "epic_sd_afflict"; break; // Epic Spell Seed Afflict + case 3: sItem = "epic_sd_animate"; break; // Epic Spell Seed Animate + case 4: sItem = "epic_sd_animdead"; break; // Epic Spell Seed Animate Dead + case 5: sItem = "epic_sd_armor"; break; // Epic Spell Seed Armor + case 6: sItem = "epic_sd_banish"; break; // Epic Spell Seed Banish + case 7: sItem = "epic_sd_compel"; break; // Epic Spell Seed Compel + case 8: sItem = "epic_sd_conceal"; break; // Epic Spell Seed Conceal + case 9: sItem = "epic_sd_conjure"; break; // Epic Spell Seed Conjure + case 10: sItem = "epic_sd_contact"; break; // Epic Spell Seed Contact + case 11: sItem = "epic_sd_delude"; break; // Epic Spell Seed Delude + case 12: sItem = "epic_sd_destroy"; break; // Epic Spell Seed Destroy + case 13: sItem = "epic_sd_dispel"; break; // Epic Spell Seed Dispel + case 14: sItem = "epic_sd_energy"; break; // Epic Spell Seed Energy + case 15: sItem = "epic_sd_foresee"; break; // Epic Spell Seed Foresee + case 16: sItem = "epic_sd_fortify"; break; // Epic Spell Seed Forify + case 17: sItem = "epic_sd_heal"; break; // Epic Spell Seed Heal + case 18: sItem = "epic_sd_life"; break; // Epic Spell Seed Life + case 19: sItem = "epic_sd_light"; break; // Epic Spell Seed Light + case 20: sItem = "epic_sd_oppos"; break; // Epic Spell Seed Opposition + case 21: sItem = "epic_sd_reflect"; break; // Epic Spell Seed Reflect + case 22: sItem = "epic_sd_reveal"; break; // Epic Spell Seed Reveal + case 23: sItem = "epic_sd_shadow"; break; // Epic Spell Seed Shadow + case 24: sItem = "epic_sd_slay"; break; // Epic Spell Seed Slay + case 25: sItem = "epic_sd_summon"; break; // Epic Spell Seed Summon + case 26: sItem = "epic_sd_time"; break; // Epic Spell Seed Time + case 27: sItem = "epic_sd_transfrm"; break; // Epic Spell Seed Transform + case 28: sItem = "epic_sd_transprt"; break; // Epic Spell Seed Transport + case 29: sItem = "epic_sd_ward"; break; // Epic Spell Seed Ward + } + + if ((GetLocalInt(GetModule(), "LOOT_DEBUG") > 0 )) + { + SpeakString("DropEpicSpellSeed()"); + SpeakString("Item rolled case "+IntToString(nESS)+" sItem "+sItem); + } + + object oItem = CreateItemOnObject("sItem", oSack, 1); + +} + +void DropEpicSpellBook(object oMob, object oSack) +{//:: Start DropEpicSpellBook() + int iEpic = GetIsEpicSpellcaster(oMob); + + if(iEpic > 1) + return; + + string sItem; + + int nESB = Random(60)+1; + switch (nESB) + { + case 1: sItem = "epic_sp_audstone"; break; // Epic Spell Audience of Stone + case 2: sItem = "epic_sp_achilles"; break; // Epic Spell Achilles Heel + case 3: sItem = "epic_sp_allmart"; break; // Epic Spell Allied Martyr + case 4: sItem = "epic_sp_allhope"; break; // Epic Spell All Hope Lost + case 5: sItem = "epic_sp_anarchy"; break; // Epic Spell Anarchy's Call + case 6: sItem = "epic_sp_animblas"; break; // Epic Spell Animus Blast + case 7: sItem = "epic_sp_animbliz"; break; // Epic Spell Animus Blizzard + case 8: sItem = "epic_sp_armyunfa"; break; // Epic Spell Army Unfallen + case 9: sItem = "epic_sp_batbound"; break; // Epic Spell Battle Bounding + case 10: sItem = "epic_sp_champval"; break; // Epic Spell Champion's Valor + case 11: sItem = "epic_sp_contresu"; break; // Epic Spell Contingent Resurrection + case 12: sItem = "epic_sp_contreun"; break; // Epic Spell Contingent Reunion + case 13: sItem = "epic_sp_deadeyes"; break; // Epic Spell Deadeye Sense + case 14: sItem = "epic_sp_dreamscp"; break; // Epic Spell Dreamscape + case 15: sItem = "epic_sp_deathmrk"; break; // Epic Spell Deathmark + case 16: sItem = "epic_sp_dullblad"; break; // Epic Spell Dullblades + case 17: sItem = "epic_sp_dweomert"; break; // Epic Spell Dweomer Thief + case 18: sItem = "epic_sp_enslave"; break; // Epic Spell Enslave + case 19: sItem = "epic_sp_epmagarm"; break; // Epic Spell Epic Mage Armor + case 20: sItem = "epic_sp_eprepuls"; break; // Epic Spell Epic Repulsion + case 21: sItem = "epic_sp_epspellr"; break; // Epic Spell Epic Spell Reflection + case 22: sItem = "epic_sp_epwardin"; break; // Epic Spell Epic Warding + case 23: sItem = "epic_sp_eterfree"; break; // Epic Spell Eternal Freedom + case 24: sItem = "epic_sp_fleetnes"; break; // Epic Spell Fleetness of Foot + case 25: sItem = "epic_sp_greatrui"; break; // Epic Spell Greater Ruin + case 26: sItem = "epic_sp_grspellr"; break; // Epic Spell Greater Spell Resistance + case 27: sItem = "epic_sp_grtimest"; break; // Epic Spell Greater Timestop + case 28: sItem = "epic_sp_hellball"; break; // Epic Spell Hellball + case 29: sItem = "epic_sp_hellsend"; break; // Epic Spell Hell Send + case 30: sItem = "epic_sp_hercalli"; break; // Epic Spell Herculean Alliance + case 31: sItem = "epic_sp_hercempo"; break; // Epic Spell Herculean Empowerment + case 32: sItem = "epic_sp_impenetr"; break; // Epic Spell Impenetrability + case 33: sItem = "epic_sp_leechfie"; break; // Epic Spell Leech Field + case 34: sItem = "epic_sp_legendar"; break; // Epic Spell Legendary Artisan + case 35: sItem = "epic_sp_lifeforc"; break; // Epic Spell Life Force Transfer + case 36: sItem = "epic_sp_magmabur"; break; // Epic Spell Magma Burst + case 37: sItem = "epic_sp_momentom"; break; // Epic Spell Momento Mori + case 38: sItem = "epic_sp_mummdust"; break; // Epic Spell Mummy Dust + case 39: sItem = "epic_sp_nailedsk"; break; // Epic Spell Nailed to the Sky + case 40: sItem = "epic_sp_nightsun"; break; // Epic Spell Night's Undoing + case 41: sItem = "epic_sp_orderres"; break; // Epic Spell Order Restored + case 42: sItem = "epic_sp_pathsbec"; break; // Epic Spell Paths Become Known + case 43: sItem = "epic_sp_peerless"; break; // Epic Spell Peerless Penitence + case 44: sItem = "epic_sp_pestilen"; break; // Epic Spell Pestilence + case 45: sItem = "epic_sp_planarce"; break; // Epic Spell Planar Cell + case 46: sItem = "epic_sp_psionics"; break; // Epic Spell Psionic Salvo + case 47: sItem = "epic_sp_risenreu"; break; // Epic Spell Risen Reunited + case 48: sItem = "epic_sp_ruin"; break; // Epic Spell Ruin + case 49: sItem = "epic_sp_singsund"; break; // Epic Spell Singular Sunder + case 50: sItem = "epic_sp_spelworm"; break; // Epic Spell Spell Worm + case 51: sItem = "epic_sp_stormman"; break; // Epic Spell Storm Mantle + case 52: sItem = "epic_sp_summaber"; break; // Epic Spell Summon Aberration + case 53: sItem = "epic_sp_superbdi"; break; // Epic Spell Superb Dispelling + case 54: sItem = "epic_sp_symrusta"; break; // Epic Spell Symrustar's Spellbinding + case 55: sItem = "epic_sp_thewithe"; break; // Epic Spell The Withering + case 56: sItem = "epic_sp_tolodine"; break; // Epic Spell Tolodine's Killing Wind + case 57: sItem = "epic_sp_transvit"; break; // Epic Spell Transcendent Vitality + case 58: sItem = "epic_sp_twinfien"; break; // Epic Spell Twinfiend + case 59: sItem = "epic_sp_unholydi"; break; // Epic Spell Unholy Disciple + case 60: sItem = "epic_sp_unimping"; break; // Epic Spell Unimpinged + } + + if ((GetLocalInt(GetModule(), "LOOT_DEBUG") > 0 )) + { + SpeakString("DropEpicSpellBook()"); + SpeakString("Item rolled case "+IntToString(nESB)+" sItem "+sItem); + } + + object oItem = CreateItemOnObject("sItem", oSack, 1); +} + +void sd_droploot (object oMob, object oSack) +{ + object oPC = GetLastKiller(); + effect eVFX = EffectVisualEffect(VFX_IMP_REMOVE_CONDITION); + effect eDust = EffectVisualEffect(VFX_IMP_DUST_EXPLOSION); + effect eLink = EffectLinkEffects(eVFX, eDust); + + // no loot if killed in stonewatch + // chances are it was an uber guard + // and not the PC that did the killing. + // This is to prevent easy looting higher mobs + + if (GetTag(GetArea(oMob))=="Stonewatch")return; + + // animals dont usually carry wares - but you can skin em! + // This is to prevent tiny rats dropping full plate mail - can't have that! + + + ///////////////////////////////////////// + //::Droprate config:: + // + int DamBroke = 0; + int lMod, mMod; + + // adjust the droprate modifIer based on game difficulty + // if there is no game difficulty: Default to normal + int iDiff = GetLocalInt(GetModule(), "sd_game_diff"); + if (iDiff==0)lMod = DROP_RATE; //default + if (iDiff==1)lMod = DROP_RATE; + if (iDiff==2)lMod = DROP_RATE; + + // Make monk gloves a rare drop except when the player is a lvl 5+ monk + if (GetHasFeat(FEAT_SUPERIOR_UNARMED_STRIKE, oPC)) mMod = 4; + + if (GetLevelByClass(CLASS_TYPE_MONK, oPC)>5|| + GetLevelByClass(CLASS_TYPE_MONK, GetMaster(oPC))>5)mMod = 8; + + else mMod=lMod-1; + +//:: Bosses have high chance to drop loot (never broken or worn) + if (GetLocalInt(oMob, "BOSS")==1){lMod = 85; DamBroke = 1;} + + int WeapChance = 1; // % chance to drop a weapon + int MonkChance = 1; // % chance to drop monk gloves + int SockChance = 1; // % chance to drop a socketed item + int ArmorChance = 1; // % chance to drop armor or a shield + int MItemChance = 1; // % chance to drop a magic item + int RodWandChance = 1; // % chance to drop a wand/rod item + int AmmoChance = 1; // % chance to drop a bolt or an arrow + int GoldChance = 8; // % chance to drop some gold + int PotChance = 1; // % chance to drop a potion + int ScrollChance = 1; // % chance to drop a magic scroll + int GemChance = lMod; // % chance to drop a socket gem + int MiscChance = 1; // % chance to drop a miscellaneous item + int SetItemChance = 1; // % chance to drop a class item setpiece + int AlchemyChance = 1; + int EpicSpellSeedChance = 1; + int EpicSpellBookChance = 1; + // + // + ///////////////////////////////////////////////// + //::initiate variables:: // + + int iDice; + int iHD = GetHitDice(oMob); + int iRange; + int iMage; + + ///////////////////////////////////////////////// + + //:: only casters drop scrolls, wands and rods + + if (GetLevelByClass(CLASS_TYPE_DRUID)>0||GetLevelByClass(CLASS_TYPE_BARD)>0 + ||GetLevelByClass(CLASS_TYPE_CLERIC)>0||GetLevelByClass(CLASS_TYPE_SORCERER)>0 + ||GetLevelByClass(CLASS_TYPE_WIZARD)>0) iMage=1; + + ///////////////////////////////////////////////// + //:: Quality range based on level of monster:: + + if (iHD > 0 && iHD < 11)iRange=1; // lvl 1-10 + if (iHD > 10 && iHD < 19)iRange=2; // lvl 11-18 + if (iHD > 18 && iHD < 28)iRange=3; // lvl 19-27 + if (iHD > 27 && iHD < 36)iRange=4; // lvl 28-35 + if (iHD > 35 /* && iHD < 61 */)iRange=5; // lvl 36-40 + +//:: Chance of a more powerful item + if (LUCK_CHANCE>0) + { + iDice = Random(LUCK_CHANCE); + if (iDice==LUCK_CHANCE){++iRange; if (iRange==6)iRange=5;} + } + +/////////////////// +//:Debugging +//: +// FloatingTextStringOnCreature("* Luck has favoured you *", GetFirstPC());} + +//////////////////////////////////////////////// + +//:: Gold Roll + iDice = d100(); + if (iDice59)DropShield(oMob, oSack, iRange, SockChance, DamBroke); + else DropArmor(oMob, oSack, iRange, SockChance, DamBroke); + if (iDice59) FloatingTextStringOnCreature("Your defeated foe has dropped armour!", oPC); + if (iDice>59) ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eLink, GetLocation(oSack)); + } + +//:: Magic Item Roll + iDice = d100(); + if (iDice < MItemChance + 1) + { + DropMagicItem(oMob, oSack, iRange, SockChance, DamBroke); + FloatingTextStringOnCreature("Your defeated foe has dropped a magic item!", oPC); + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eLink, GetLocation(oSack)); + } + +//:: Misc Item Roll + iDice = d100(); + if (iDice < MiscChance + 1) + { + DropMisc(oMob, oSack); + FloatingTextStringOnCreature("Your defeated foe has dropped an artifact!", oPC); + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eLink, GetLocation(oSack)); + } + +//:: Ranged Ammo Roll + iDice = d100(); + if (iDice < AmmoChance + 1) + { + DropAmmo(oMob, oSack, iRange); + FloatingTextStringOnCreature("Your defeated foe has dropped ranged ammunition!", oPC); + } + +//:: Potion Roll + iDice = d100(); + if (iDice < PotChance + 1) + { + DropPotion(oMob, oSack); + FloatingTextStringOnCreature("Your defeated foe has dropped a potion!", oPC); + } + +//:: Scroll Roll + iDice = d100(); + if (iDice < ScrollChance + 1) + { + DropScroll(oMob, oSack, iRange); + FloatingTextStringOnCreature("Your defeated foe has dropped a scroll!", oPC); + } + +//:: Alchemical Item Roll + iDice = d100(); + if (iDice < AlchemyChance + 1) + { + DropAlchemy(oMob, oSack, iRange); + } + +//:: Epic Spell Seed Item Roll + iDice = d100(); + if(iRange > 3) + { + if (iDice < EpicSpellSeedChance + 1) + { + DropEpicSpellSeed(oMob, oSack); + FloatingTextStringOnCreature("Your defeated foe has dropped an epic spell seed!", oPC); + } + } + +//:: Epic Book Book Item Roll + iDice = d100(); + if(iRange > 4) + { + if (iDice < EpicSpellBookChance + 1) + { + DropEpicSpellBook(oMob, oSack); + FloatingTextStringOnCreature("Your defeated foe has dropped an epic spell book!", oPC); + } + } +} + +void sd_dropboss(object oMob, object oSack) +{ + object oPC = GetLastKiller(); + +//:: Early exit if mob is killed in Stonewatch to prevent looting high-end mobs easily + if (GetTag(GetArea(oMob)) == "Stonewatch") return; + +//:: Droprate configuration + int DamBroke = 0; + int lMod = DROP_RATE; // Default drop rate + int mMod; // Modifyer for monk gloves drop rareness + +//:: Determine the game difficulty modifier + int iDiff = GetLocalInt(GetModule(), "sd_game_diff"); + if(iDiff > 0) lMod = DROP_RATE; // No change needed if not default because all set to same + +//:: Make monk gloves a rare drop unless the player/Master is a lvl 5+ monk + if (GetLevelByClass(CLASS_TYPE_MONK, oPC) > 5 || GetLevelByClass(CLASS_TYPE_MONK, GetMaster(oPC)) > 5) + mMod = 8; + else + mMod = lMod - 1; + +//:: Boss specific settings + if (GetLocalInt(oMob, "BOSS") == 1) + { + lMod = 85; // Higher chance for bosses + DamBroke = 1; // Boss items are never broken or worn + } + +//:: Droprate chances initialization + int WeapChance = 5; + int MonkChance = 3; + int SockChance = 1; + int ArmorChance = 5; + int MItemChance = 3; + int RodWandChance = 1; + int AmmoChance = 1; + int GoldChance = 100; + int PotChance = 65; + int ScrollChance = 45; + int GemChance = 1; + int MiscChance = 1; + int SetItemChance = 1; + int AlchemyChance = 1; + int EpicSpellSeedChance = 1; + int EpicSpellBookChance = 1; + +//:: Determine quality range based on monster level + int iHD = GetHitDice(oMob); + int iRange = (iHD + 9) / 10; // This formula directly computes the range from HD + if (iRange > 5) iRange = 5; // Cap the range at 5 + +//:: Chance of a more powerful item based on luck + if (LUCK_CHANCE > 0 && Random(LUCK_CHANCE) == LUCK_CHANCE - 1) + iRange = iRange < 5 ? iRange + 1 : 5; + +//:: Only casters drop scrolls, wands, and rods + int iMage = GetLevelByClass(CLASS_TYPE_DRUID, oMob) > 0 || GetLevelByClass(CLASS_TYPE_BARD, oMob) > 0 || + GetLevelByClass(CLASS_TYPE_CLERIC, oMob) > 0 || GetLevelByClass(CLASS_TYPE_SORCERER, oMob) > 0 || + GetLevelByClass(CLASS_TYPE_WIZARD, oMob) > 0 ? 1 : 0; + +//:: Drop functions based on the outcome of random chances + int iDice; + +//:: Gold Drop + iDice = d20(); + if (iDice < GoldChance + 1) + DropGold(oMob, oSack, DamBroke); + +//:: Rod/Wand Drop, only for casters + if (iMage) + { + iDice = d100(); + if (iDice < RodWandChance + 1) + DropRodWand(oMob, oSack); + } + +//:: Weapon Drop + iDice = d10(); + if (iDice < WeapChance + 1) + DropWeapon(oMob, oSack, iRange, SockChance, DamBroke); + +//:: Monk Gloves Drop + iDice = d20(); + if (iDice < MonkChance + 1) + DropMonkGloves(oMob, oSack, iRange, SockChance, DamBroke); + +//:: Armor or Shield Drop + iDice = d20(); + if (iDice < ArmorChance + 1) + { + iDice = d100(); + if (iDice > 59) + DropShield(oMob, oSack, iRange, SockChance, DamBroke); + else + DropArmor(oMob, oSack, iRange, SockChance, DamBroke); + } + +//:: Magic Item Drop + iDice = d20(); + if (iDice < MItemChance + 1) + DropMagicItem(oMob, oSack, iRange, SockChance, DamBroke); + +//:: Misc Item Drop + iDice = d100(); + if (iDice < MiscChance + 1) + DropMisc(oMob, oSack); + +//:: Ranged Ammo Drop + iDice = d100(); + if (iDice < AmmoChance + 1) + DropAmmo(oMob, oSack, iRange); + +//:: Potion Drop + iDice = d100(); + if (iDice < PotChance + 1) + DropPotion(oMob, oSack); + +//:: Scroll Drop + iDice = d100(); + if (iDice < ScrollChance + 1) + DropScroll(oMob, oSack, iRange); + +//:: Alchemical Item Roll + iDice = d100(); + if (iDice < AlchemyChance+1) + { + DropAlchemy(oMob, oSack, iRange); + } + +//:: Epic Spell Seed Item Roll + iDice = d100(); + if (iDice < EpicSpellSeedChance + 1) + { + DropEpicSpellSeed(oMob, oSack); + } + +//:: Epic Book Book Item Roll + if (iMage) + { + iDice = d100(); + if (iDice < EpicSpellBookChance + 1) + { + DropEpicSpellBook(oMob, oSack); + } + } +} + +void wk_chestloot (object oSack) +{ + object oPC = GetLastUsedBy(); + object oMob = GetLastUsedBy(); + ///////////////////////////////////////// + //::Droprate config:: + // + int DamBroke = 0; + int lMod; + + lMod = DROP_RATE; //default + + ///////////////////////////////////////////////// + //::initiate variables:: // + int iDice; + int iHD = GetLocalInt(OBJECT_SELF,"BossLoot"); + int iRange = iHD; + int iMage; + + + // Bosses have high chance to drop loot (never broken or worn) + lMod = lMod + iHD; + + + int WeapChance = 3+lMod; // % chance to drop a weapon + int SockChance = 1; // % chance to drop a socketed item + int ArmorChance = 2+lMod; // % chance to drop armor or a shield + int MItemChance = 2+lMod; // % chance to drop a magic item + int RodWandChance = 1+lMod; // % chance to drop a wand/rod item + int AmmoChance = 1+lMod; // % chance to drop a bolt or an arrow + int GoldChance = 46+lMod; // % chance to drop some gold + int PotChance = 1+lMod; // % chance to drop a potion + int ScrollChance = 1+lMod; // % chance to drop a magic scroll + int GemChance = lMod; // % chance to drop a socket gem + int MiscChance = 1; // % chance to drop a miscellaneous item + int SetItemChance = 1; // % chance to drop a class item setpiece + int AlchemyChance = 1+lMod; + + //:: Chance of a more powerful item + + if (LUCK_CHANCE>0) + { + iDice = Random(LUCK_CHANCE); + if (iDice == 1) iRange++; + if (iRange > 5) iRange=5; + } + + //////////////////////////////////////////////// + // Cycle through the various drops until the number of items for the boss are + // all dropped. This guarantees that each boss level will be distinct. + // Note that the luck chance to increase the value of the loot does not + // affect the number of items to drop. + + + // Rod/Wand Roll + iDice = d100(); + if (iDice69) + { + DropShield(oMob, oSack, iRange, SockChance, DamBroke); + } + else + { + DropArmor(oMob, oSack, iRange, SockChance, DamBroke); + } + } + // Magic Item Roll + iDice = d20(); + if (iDice" + sText + ""; +} + + +int GetIsEmpty() // empty chest check routine +{ + int iCount; + object oItem = GetFirstItemInInventory(); + while (GetIsObjectValid(oItem)) + { + ++iCount; + oItem = GetNextItemInInventory(); + } + if (iCount==0)return TRUE; + + return FALSE; +} + + +void SD_PURGE(string sCont, int iName = 0) +{ + int iCount; + + object oItem; + object oArea = OBJECT_SELF; + object oCont = GetFirstObjectInArea(oArea); + while (GetIsObjectValid(oCont)) + { + if (iName==1) + { + if (GetName(oCont)=="Remains") + { + oItem = GetFirstItemInInventory(oCont); + while (GetIsObjectValid(oItem)) + { + DestroyObject(oItem); + oItem = GetNextItemInInventory(oCont); + } + DestroyObject(oCont); + } + oCont = GetNextObjectInArea(oArea); + } + else + { + if (GetTag(oCont)==sCont) + { + oItem = GetFirstItemInInventory(oCont); + while (GetIsObjectValid(oItem)) + { + DestroyObject(oItem); + oItem = GetNextItemInInventory(oCont); + } + DestroyObject(oCont); + } + oCont = GetNextObjectInArea(oArea); + } + } +} + +void SD_DESTROY(string sTag) +{ + object oArea = OBJECT_SELF; + object oPlc = GetFirstObjectInArea(oArea); + while (GetIsObjectValid(oPlc)) + { + if (GetTag(oPlc)==sTag) + { + DestroyObject(oPlc); + } + oPlc =GetNextObjectInArea(oArea); + } +} + + +void SD_CLEAN(object oPC) +{ + object oItem; + object oArea = OBJECT_SELF; + object oCont = GetFirstObjectInArea(oArea); + while (GetIsObjectValid(oCont)) + { + if (GetObjectType(oCont)==OBJECT_TYPE_CREATURE) + { + if (GetIsEnemy(oCont, oPC)) + { + AssignCommand(oCont, SetIsDestroyable(TRUE)); + DestroyObject(oCont); + } + } + + if (GetTag(oCont)=="Bloodstain")DestroyObject(oCont); + + oCont = GetNextObjectInArea(oArea); + } +} + +void AREA_CLEAR(object oPC) +{ + + effect eDeath = EffectDeath(TRUE); + + object oMob, oArea, oTrig; + oArea = GetArea(OBJECT_SELF); + oMob = GetFirstObjectInArea(oArea); + while (GetIsObjectValid(oMob)) + { + if (GetObjectType(oMob)== OBJECT_TYPE_CREATURE) + { + if (GetIsEnemy(oMob, oPC) && GetIsDead(oMob)==FALSE) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oMob); + AssignCommand(oMob, SetIsDestroyable(TRUE)); + DestroyObject(oMob, 60.0); + } + } + oMob = GetNextObjectInArea(oArea); + } + + SD_PURGE("rr_sack"); + SD_CLEAN(oPC); +} + + +//void main() {} diff --git a/_module/nss/sd_set_item.nss b/_module/nss/sd_set_item.nss new file mode 100644 index 00000000..1ff5446f --- /dev/null +++ b/_module/nss/sd_set_item.nss @@ -0,0 +1,311 @@ +/////////////////////////////// +//: Set Script +//: +//: Universal +//: +//: +//: === in onrespawn script === +//: #include "sd_set_item_inc" +//: ApplySetBonus(oRespawner); +//: +#include "sd_set_item_inc" +#include "sd_lootsystem" +#include "x2_inc_switches" + +//////////////////////////////////////////////////////////////////////////////// +//:General Constants +//: +//: + +const int COLOR_R = 255; +const int COLOR_G = 100; // Pink +const int COLOR_B = 200; + + + +//////////////////////////////////////////////////////////////////////////////// +//:General Utilities +//: +//: +//: + +int SD_UNIQUE_CHECK(object oPC, object oSetPiece) +{ + int iFlag=0; + string sRes, sString, sIname; + object oItem; + sRes = GetResRef(oSetPiece); + +// check inventory + + object oCheck = GetFirstItemInInventory(oPC); + while (GetIsObjectValid(oCheck)) + { + if (GetResRef(oCheck)==sRes)++iFlag; + oCheck = GetNextItemInInventory(oPC); + } + + // check equipped items + + oItem = GetItemInSlot(INVENTORY_SLOT_ARMS, oPC); + if (GetResRef(oItem)==sRes) iFlag+=1; + oItem = GetItemInSlot(INVENTORY_SLOT_BELT, oPC); + if (GetResRef(oItem)==sRes) iFlag+=1; + oItem = GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC); + if (GetResRef(oItem)==sRes) iFlag+=1; + oItem = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC); + if (GetResRef(oItem)==sRes) iFlag+=1; + oItem = GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC); + if (GetResRef(oItem)==sRes) iFlag+=1; + oItem = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC); + if (GetResRef(oItem)==sRes) iFlag+=1; + oItem = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC); + if (GetResRef(oItem)==sRes) iFlag+=1; + oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); + if (GetResRef(oItem)==sRes) iFlag+=1; + oItem = GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC); + if (GetResRef(oItem)==sRes) iFlag+=1; + oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC); + if (GetResRef(oItem)==sRes) iFlag+=1; + oItem = GetItemInSlot(INVENTORY_SLOT_NECK, oPC); + if (GetResRef(oItem)==sRes) iFlag+=1; + + if (iFlag>=2) + { + sIname = GetName(oSetPiece); + sString = ColorString("You can only have one of these at a time", 255, 0, 0); + FloatingTextStringOnCreature(sString, oPC); + DestroyObject(oSetPiece); + + SendMessageToPC(oPC,"DM: "+sIname+" destroyed"); + SendMessageToPC(oPC,"DM: Compensatory gold awarded"); + GiveGoldToCreature(oPC, 3000); + AssignCommand(oPC, PlaySound("it_coins")); + return TRUE; + } + return FALSE; + } + +void UpdateName(object oPC, object oItem, int iPieces, int iSetNum, string sNameOfSet) +{ + // Update Current Item + string sName, sIName; + + + sIName = GetLocalString(oItem, "sName"); + sName = ColorString(sIName+" ("+IntToString(iPieces)+"/"+IntToString(iSetNum)+")", + COLOR_R, COLOR_G, COLOR_B); + SetName(oItem, sName); + + // Update InventoryItems + + oItem = GetFirstItemInInventory(oPC); + while (GetIsObjectValid(oItem)) + { + if (GetTag(oItem)=="sd_set_item" && GetLocalString(oItem, "sSet")==sNameOfSet) + { + sIName = GetLocalString(oItem, "sName"); + sName = ColorString(sIName+" ("+IntToString(iPieces)+"/"+IntToString(iSetNum)+")", COLOR_R, COLOR_G, COLOR_B); + SetName(oItem, sName); + } + oItem = GetNextItemInInventory(oPC); + } + +// Update Slotted Items + + oItem = GetItemInSlot(INVENTORY_SLOT_ARMS, oPC); + if (GetTag(oItem)=="sd_set_item" && GetLocalString(oItem, "sSet")==sNameOfSet) + { + sIName = GetLocalString(oItem, "sName"); + sName = ColorString(sIName+" ("+IntToString(iPieces)+"/"+IntToString(iSetNum)+")", COLOR_R, COLOR_G, COLOR_B); + SetName(oItem, sName); + } + oItem = GetItemInSlot(INVENTORY_SLOT_BELT, oPC); + if (GetTag(oItem)=="sd_set_item" && GetLocalString(oItem, "sSet")==sNameOfSet) + { + sIName = GetLocalString(oItem, "sName"); + sName = ColorString(sIName+" ("+IntToString(iPieces)+"/"+IntToString(iSetNum)+")", COLOR_R, COLOR_G, COLOR_B); + SetName(oItem, sName); + } + oItem = GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC); + if (GetTag(oItem)=="sd_set_item" && GetLocalString(oItem, "sSet")==sNameOfSet) + { + sIName = GetLocalString(oItem, "sName"); + sName = ColorString(sIName+" ("+IntToString(iPieces)+"/"+IntToString(iSetNum)+")", COLOR_R, COLOR_G, COLOR_B); + SetName(oItem, sName); + } + oItem = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC); + if (GetTag(oItem)=="sd_set_item" && GetLocalString(oItem, "sSet")==sNameOfSet) + { + sIName = GetLocalString(oItem, "sName"); + sName = ColorString(sIName+" ("+IntToString(iPieces)+"/"+IntToString(iSetNum)+")", COLOR_R, COLOR_G, COLOR_B); + SetName(oItem, sName); + } + oItem = GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC); + if (GetTag(oItem)=="sd_set_item" && GetLocalString(oItem, "sSet")==sNameOfSet) + { + sIName = GetLocalString(oItem, "sName"); + sName = ColorString(sIName+" ("+IntToString(iPieces)+"/"+IntToString(iSetNum)+")", COLOR_R, COLOR_G, COLOR_B); + SetName(oItem, sName); + } + oItem = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC); + if (GetTag(oItem)=="sd_set_item" && GetLocalString(oItem, "sSet")==sNameOfSet) + { + sIName = GetLocalString(oItem, "sName"); + sName = ColorString(sIName+" ("+IntToString(iPieces)+"/"+IntToString(iSetNum)+")", COLOR_R, COLOR_G, COLOR_B); + SetName(oItem, sName); + } + oItem = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC); + if (GetTag(oItem)=="sd_set_item" && GetLocalString(oItem, "sSet")==sNameOfSet) + { + sIName = GetLocalString(oItem, "sName"); + sName = ColorString(sIName+" ("+IntToString(iPieces)+"/"+IntToString(iSetNum)+")", COLOR_R, COLOR_G, COLOR_B); + SetName(oItem, sName); + } + oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); + if (GetTag(oItem)=="sd_set_item" && GetLocalString(oItem, "sSet")==sNameOfSet) + { + sIName = GetLocalString(oItem, "sName"); + sName = ColorString(sIName+" ("+IntToString(iPieces)+"/"+IntToString(iSetNum)+")", COLOR_R, COLOR_G, COLOR_B); + SetName(oItem, sName); + } + oItem = GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC); + if (GetTag(oItem)=="sd_set_item" && GetLocalString(oItem, "sSet")==sNameOfSet) + { + sIName = GetLocalString(oItem, "sName"); + sName = ColorString(sIName+" ("+IntToString(iPieces)+"/"+IntToString(iSetNum)+")", COLOR_R, COLOR_G, COLOR_B); + SetName(oItem, sName); + } + oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC); + if (GetTag(oItem)=="sd_set_item" && GetLocalString(oItem, "sSet")==sNameOfSet) + { + sIName = GetLocalString(oItem, "sName"); + sName = ColorString(sIName+" ("+IntToString(iPieces)+"/"+IntToString(iSetNum)+")", COLOR_R, COLOR_G, COLOR_B); + SetName(oItem, sName); + } + oItem = GetItemInSlot(INVENTORY_SLOT_NECK, oPC); + if (GetTag(oItem)=="sd_set_item" && GetLocalString(oItem, "sSet")==sNameOfSet) + { + sIName = GetLocalString(oItem, "sName"); + sName = ColorString(sIName+" ("+IntToString(iPieces)+"/"+IntToString(iSetNum)+")", COLOR_R, COLOR_G, COLOR_B); + SetName(oItem, sName); + } +} +//////////////////////////////////////////////////////////////////////////////// +//:End of General Utilities +// +//////////////////////////////////////////////////////////////////////////////// + + + + + +//////////////////////////////////////////////////////////////////////////////// +//: MAIN SCRIPT +//: +//: + +void main() +{ + int nEvent =GetUserDefinedItemEventNumber(); + + object oPC, oEquip, oUnEquip, oItem; + string sName, sIName, sID, sNameOfSet; + int iPieces, iLength, iSetNum; + effect eImbue, eVis, eFinal; + + + + if (nEvent ==X2_ITEM_EVENT_EQUIP) + { + oPC = GetPCItemLastEquippedBy(); + oEquip = GetPCItemLastEquipped(); + sID = GetLocalString(oEquip, "sSet")+"_equ"; + sNameOfSet = GetLocalString(oEquip, "sSet"); + + iPieces = GetLocalInt(oPC, sID); + ++iPieces; + SetLocalInt(oPC, sID, iPieces); + + if (sNameOfSet=="Dorian's Battlegear")DoriansBattlegearEquip(oPC, iPieces, 0); + if (sNameOfSet=="Mystra's Rainment")MystrasRainmentEquip(oPC, iPieces, 0); + if (sNameOfSet=="Thera's Vestments")TherasVestmentsEquip(oPC, iPieces, 0); + if (sNameOfSet=="Shinobi's Garb")ShinobisGarbEquip(oPC, iPieces, 0); + if (sNameOfSet=="Benedict's Herald")BenedictsHeraldEquip(oPC, iPieces, 0); + if (sNameOfSet=="Armor of Divinity")ArmorOfDivinityEquip(oPC, iPieces, 0); + if (sNameOfSet=="Soothsayer's Regalia")SoothsayersRegaliaEquip(oPC, iPieces, 0); + if (sNameOfSet=="Robes of Enlightenment")RobesOfEnlightenmentEquip(oPC, iPieces, 0); + if (sNameOfSet=="Vestments of Rage")VestmentsofRageEquip(oPC, iPieces, 0); + + + //////////////////////////////////// + //: Debugging + //: FloatingTextStringOnCreature(IntToString(iPieces), oPC); + } +else if (nEvent ==X2_ITEM_EVENT_UNEQUIP) + { + oPC = GetPCItemLastUnequippedBy(); + oUnEquip = GetPCItemLastUnequipped(); + sID = GetLocalString(oUnEquip, "sSet")+"_equ"; + sNameOfSet = GetLocalString(oUnEquip, "sSet"); + + iPieces = GetLocalInt(oPC, sID); + --iPieces; + SetLocalInt(oPC, sID, iPieces); + + if (sNameOfSet=="Dorian's Battlegear")DoriansBattlegearUnEquip(oPC, iPieces, 0); + if (sNameOfSet=="Mystra's Rainment")MystrasRainmentUnEquip(oPC, iPieces, 0); + if (sNameOfSet=="Thera's Vestments")TherasVestmentsUnEquip(oPC, iPieces, 0); + if (sNameOfSet=="Shinobi's Garb")ShinobisGarbUnEquip(oPC, iPieces, 0); + if (sNameOfSet=="Benedict's Herald")BenedictsHeraldUnEquip(oPC, iPieces, 0); + if (sNameOfSet=="Armor of Divinity")ArmorOfDivinityUnEquip(oPC, iPieces, 0); + if (sNameOfSet=="Soothsayer's Regalia")SoothsayersRegaliaUnEquip(oPC, iPieces, 0); + if (sNameOfSet=="Robes of Enlightenment")RobesOfEnlightenmentUnEquip(oPC, iPieces, 0); + if (sNameOfSet=="Vestments of Rage")VestmentsofRageUnEquip(oPC, iPieces, 0); + + //////////////////////////////////// + //: Debugging + //: FloatingTextStringOnCreature(IntToString(iPieces), oPC); + } + else if (nEvent == X2_ITEM_EVENT_ACQUIRE) + { + oPC = GetModuleItemAcquiredBy(); + oItem = GetModuleItemAcquired(); + + if (SD_UNIQUE_CHECK(oPC, oItem)==TRUE)return; + + sID = GetLocalString(oItem, "sSet")+"_acq"; + iSetNum = GetLocalInt(oItem, "iSetNum"); + sNameOfSet = GetLocalString(oItem, "sSet"); + + iPieces = GetLocalInt(oPC, sID); + ++iPieces; + SetLocalInt(oPC, sID, iPieces); + + UpdateName(oPC, oItem, iPieces, iSetNum, sNameOfSet); + + + //////////////////////////////////// + //: Debugging + //: FloatingTextStringOnCreature(IntToString(iPieces), oPC); + + } +else if (nEvent == X2_ITEM_EVENT_UNACQUIRE) + { + oPC = GetModuleItemLostBy(); + oItem = GetModuleItemLost(); + sID = GetLocalString(oItem, "sSet")+"_acq"; + iSetNum = GetLocalInt(oItem, "iSetNum"); + sNameOfSet = GetLocalString(oItem, "sSet"); + iPieces = GetLocalInt(oPC, sID); + --iPieces; + SetLocalInt(oPC, sID, iPieces); + + UpdateName(oPC, oItem, iPieces, iSetNum, sNameOfSet); + + + //////////////////////////////////// + //: Debugging + //: FloatingTextStringOnCreature(IntToString(iPieces), oPC); + } +} diff --git a/_module/nss/sd_set_item_inc.nss b/_module/nss/sd_set_item_inc.nss new file mode 100644 index 00000000..487cf6a8 --- /dev/null +++ b/_module/nss/sd_set_item_inc.nss @@ -0,0 +1,1380 @@ + +effect eVis; +effect eFinal; + +// Removes Supernatural Bonuses when set-gear is unequipped +void SD_REMOVE(object oSubraceCharacter); + +//Applies Damage Vulernability to Target +//======================================== +// oPC = Target to apply the effect to +// iType = DAMAGE_TYPE_* +// iAmount = nPercentImmunity +void BonusDamageVulnerability(object oPC, int iType, int iAmount); + +//Applies Miss Chance Effect to Target +//======================================== +// oPC = Target to apply the effect to +// iAmount = 1-100 inclusive +void BonusCTM(object oPC, int iAmount); +void m_BonusCTM(object oPC); + +//Applies Bonus Attacks/Round to Target +//======================================== +// oPC = Target to apply the effect to +// iAmount = maximum is 5, even with the effect stacked +void BonusAPR(object oPC, int iAmount); +void m_BonusAPR(object oPC); + +//Applies Regeneration to Target +//======================================== +// oPC = Target to apply the effect to +// iAmount = amount of damage to be regenerated per time interval +void BonusRegen(object oPC, int iAmount); +void m_BonusRegen(object oPC); + +//Applies Temporary Hit Points to Target +//======================================== +// oPC = Target to apply the effect to +// iAmount = # of Temporary HitPoints to award +void BonusHP(object oPC, int iHP); + +//Applies Ability Bonus Target +//======================================== +// oPC = Target to apply the effect to +// iAbility = ABILITY_* +// eg: +// ABILITY_CHARISMA, ABILITY_CONSTITUTION, ABILITY_DEXTERITY +// ABILITY_INTELLIGENCE, ABILITY_STRENGTH, ABILITY_WISDOM +// iAmount = Amount to Increase +void BonusAbility(object oPC, int iAbility, int iAmount); +void m_BonusAbility(object oPC, int iAbility, int iAmount); + +//Applies AC Bonus to Target +//======================================== +// oPC = Target to apply the effect to +// iAmount = Amount to Increase +// iType = AC_*_BONUS +void BonusAC(object oPC, int iAmount, int iType); +void m_BonusAC(object oPC, int iAmount); + +//Applies Bonus Movement Speed to Target +//======================================== +// oPC = Target to apply the effect to +// iAmount = range 0 through 99 +// eg. +// 0 = no change in speed +// 50 = 50% faster +// 99 = almost twice as fast +void BonusSpeed(object oPC, int iAmount); +void m_BonusSpeed(object oPC, int iAmount); + +//Applies Attack Bonus to Target +//======================================== +// oPC = Target to apply the effect to +// iAmount = size of attack bonus +void BonusAttack(object oPC, int iAmount); +void m_BonusAttack(object oPC, int iAmount); + +//Applies Damage Bonus to Target +//======================================== +// oPC = Target to apply the effect to +// iType = DAMAGE_TYPE_* +// iAmount = DAMAGE_BONUS_* +void BonusDamage(object oPC, int iType, int iAmount); +void m_BonusDamage(object oPC, int iType, int iAmount); + +//Applies Immunity Bonus to Target +//======================================== +// oPC = Target to apply the effect to +// iType = IMMUNITY_TYPE_* +void BonusImmunity(object oPC, int iType); +void m_BonusImmunity(object oPC, int iType); + +//Applies Save Bonus to Target +//======================================== +// oPC = Target to apply the effect to +// iType = SAVING_THROW_* (not SAVING_THROW_TYPE_*) +// iAmount = size of the Saving Throw increase +void BonusSave(object oPC, int iType, int iAmount); +void m_BonusSave(object oPC, int iType, int iAmount); + +//Applies Save Bonus to Target +//======================================== +// oPC = Target to apply the effect to +// iSkill = SKILL_* +// iAmount = size of the skill increase +//* Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nSkill is invalid. +void BonusSkill(object oPC, int iSkill, int iAmount); +void m_BonusSkill(object oPC, int iSkill, int iAmount); + +//Applies Damage Immunity Bonus to Target +//======================================== +// oPC = Target to apply the effect to +// iType = DAMAGE_TYPE_* +// iAmount = Percentage of immunity +void BonusDamageImmunity(object oPC, int iType, int iAmount); +void m_BonusDamageImmunity(object oPC, int iType, int iAmount); + +//Applies Spell Immunity Bonus to Target +//======================================== +// oPC = Target to apply the effect to +// iSpell = SPELL_* +// There is a known bug with this function. There *must* be a parameter specified +// when this is called (even if the desired parameter is SPELL_ALL_SPELLS) +void BonusSpellImmunity(object oPC, int iSpell); +void m_BonusSpellImmunity(object oPC, int iSpell); + +//Applies Concealment Bonus to Target +//======================================== +// oPC = Target to apply the effect to +// iAmount = Percentage > 100 +// iType = MISS_CHANCE_TYPE_* +void BonusConcealment(object oPC, int iAmount, int iType); +void m_BonusConcealment(object oPC, int iAmount); + +//Applies Ultravision Bonus to Target +//======================================== +// oPC = Target to apply the effect to +void BonusUltravision(object oPC); +void m_BonusUltravision(object oPC); + +//Applies Truseeing Bonus to Target +//======================================== +// oPC = Target to apply the effect to +void BonusTruseeing(object oPC); +void m_BonusTruseeing(object oPC); + +//Applies Haste to Target +//======================================== +// oPC = Target to apply the effect to +void BonusHaste(object oPC); +void m_BonusHaste(object oPC); + +//Applies Haste to Target +//======================================== +// oPC = Target to send message to +// sMessage = "Subrace Bonus: " + input +void SubMessage(object oPC, string sMessage); + +//Applies Damage Reduction to Target +//======================================== +// oPC = Target to send message to +// iPwr = Damage Power +// eg: +// DAMAGE_POWER_PLUS_ONE to DAMAGE_POWER_PLUS_TWENTY +// iAmount = Amount of Damage to Soak +void BonusDR(object oPC, int iPwr, int iAmount); +//////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// + +void SubMessage(object oPC, string sMessage) +{ + SendMessageToPC(oPC, "Subrace Bonus: "+sMessage); +} + +//////////////////////////////////////////////////////////////////////////////// +//:Ability Wrappers +//: +//: +//: + +void BonusDamageVulnerability(object oPC, int iType, int iAmount) +{ +ApplyEffectToObject(DURATION_TYPE_PERMANENT, +SupernaturalEffect(EffectDamageImmunityDecrease(iType, iAmount)), oPC); +} + +void BonusDR(object oPC, int iPwr, int iAmount) +{ +ApplyEffectToObject(DURATION_TYPE_PERMANENT, +SupernaturalEffect(EffectDamageReduction(iAmount, iPwr, 0)), oPC); +} + +void BonusCTM(object oPC, int iAmount) +{ +ApplyEffectToObject(DURATION_TYPE_PERMANENT, +SupernaturalEffect(EffectMissChance(iAmount)), oPC); +} + +void m_BonusCTM(object oPC) +{ + SubMessage(oPC, "You can anticipate your enemy's next move with uncanny accuracy"); +} +void BonusAPR(object oPC, int iAmount) +{ + if (iAmount>5)iAmount=5; + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectModifyAttacks(iAmount)), oPC); +} +void m_BonusAPR(object oPC) +{ + SubMessage(oPC, "You attack with more ferocity"); +} +void BonusRegen(object oPC, int iAmount) +{ + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectRegenerate(iAmount, 6.0)), oPC); +} +void m_BonusRegen(object oPC) +{ + SubMessage(oPC, "Your wounds begin to heal themselves"); +} +void BonusHP(object oPC, int iHP) +{ + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectTemporaryHitpoints(iHP)), oPC); +} +void BonusAbility(object oPC, int iAbility, int iAmount) +{ + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectAbilityIncrease(iAbility, iAmount)), oPC); +} +void m_BonusAbility(object oPC, int iAbility, int iAmount) +{ + switch (iAbility) + { + case ABILITY_CHARISMA: {SubMessage(oPC, "You feel more talented");}break; + case ABILITY_CONSTITUTION: {SubMessage(oPC, "You feel more stalwart");}break; + case ABILITY_DEXTERITY: {SubMessage(oPC, "You feel more agile");}break; + case ABILITY_INTELLIGENCE: {SubMessage(oPC, "You feel smarter");}break; + case ABILITY_STRENGTH: {SubMessage(oPC, "You feel stronger");}break; + case ABILITY_WISDOM: {SubMessage(oPC, "You feel wiser");}break; + } +} +void BonusAC(object oPC, int iAmount, int iType) +{ + if (iAmount<0)iAmount=1; + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectACIncrease(iAmount, iType)), oPC); +} +void m_BonusAC(object oPC, int iAmount) +{ + SubMessage(oPC, "AC increased"); +} +void BonusSpeed(object oPC, int iAmount) +{ + ApplyEffectToObject(DURATION_TYPE_PERMANENT,SupernaturalEffect + (EffectMovementSpeedIncrease(iAmount)), oPC); + +} +void m_BonusSpeed(object oPC, int iAmount) +{ + SubMessage(oPC, "You feel faster"); +} +void BonusAttackDecrease(object oPC, int iAmount) +{ + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectAttackDecrease(iAmount)), oPC); + +} +void BonusAttack(object oPC, int iAmount) +{ + if (iAmount<0)iAmount=1; + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectAttackIncrease(iAmount)), oPC); + +} +void m_BonusAttack(object oPC, int iAmount) +{ + SubMessage(oPC, "Your melee skill improves"); +} +void BonusDamage(object oPC, int iType, int iAmount) +{ + ApplyEffectToObject(DURATION_TYPE_PERMANENT,SupernaturalEffect + (EffectDamageIncrease(iAmount, iType)), oPC); + +} +void m_BonusDamage(object oPC, int iType, int iAmount) +{ + + SubMessage(oPC, "Your blows are more damaging"); +} +void BonusImmunity(object oPC, int iType) +{ + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectImmunity(iType)), oPC); + +} +void m_BonusImmunity(object oPC, int iType) +{ + + switch (iType) + { + case IMMUNITY_TYPE_BLINDNESS: {SubMessage(oPC, "Immunity to blindness");}break; + case IMMUNITY_TYPE_DEATH: {SubMessage(oPC, "You no longer fear death ");}break; + case IMMUNITY_TYPE_DISEASE: {SubMessage(oPC, "You shrug off disease");}break; + case IMMUNITY_TYPE_FEAR: {SubMessage(oPC, "Your fear dissapears");}break; + case IMMUNITY_TYPE_MOVEMENT_SPEED_DECREASE: {SubMessage(oPC, "Immunity to speed decrease");}break; + case IMMUNITY_TYPE_PARALYSIS: {SubMessage(oPC, "Immunity to paralysis");}break; + case IMMUNITY_TYPE_POISON: {SubMessage(oPC, "You drink poison for breakfast");}break; + case IMMUNITY_TYPE_STUN: {SubMessage(oPC, "Immunity to stun");}break; + case IMMUNITY_TYPE_NEGATIVE_LEVEL: {SubMessage(oPC, "Immunity to level drain");}break; + case IMMUNITY_TYPE_ABILITY_DECREASE: {SubMessage(oPC, "Immunity to ability decrease");}break; + case IMMUNITY_TYPE_CURSED: {SubMessage(oPC, "You laugh at curses");}break; + } +} +void BonusSave(object oPC, int iType, int iAmount) +{ + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectSavingThrowIncrease(iType, iAmount, SAVING_THROW_TYPE_ALL)), oPC); + +} +void m_BonusSave(object oPC, int iType, int iAmount) +{ + switch (iType) + { + case SAVING_THROW_FORT: {SubMessage(oPC, "You feel more fortuitous");}break; + case SAVING_THROW_REFLEX: {SubMessage(oPC, "Your reflexes improve");}break; + case SAVING_THROW_WILL: {SubMessage(oPC, "Your will strengthens");}break; + case SAVING_THROW_TYPE_FEAR: {SubMessage(oPC, "You are more fearless");}break; + case SAVING_THROW_TYPE_DEATH: {SubMessage(oPC, "You are less concerned about death");}break; + } +} +void BonusSkill(object oPC, int iSkill, int iAmount) +{ +ApplyEffectToObject(DURATION_TYPE_PERMANENT, +SupernaturalEffect(EffectSkillIncrease(iSkill, iAmount)), oPC); + +} +void m_BonusSkill(object oPC, int iSkill, int iAmount) +{ +switch (iSkill) + { + case SKILL_CONCENTRATION: {SubMessage(oPC, "Your concentration improves");}break; + case SKILL_DISCIPLINE: {SubMessage(oPC, "You feel more disciplined");}break; + case SKILL_HEAL: {SubMessage(oPC, "Your healing skills improve");}break; + case SKILL_HIDE: {SubMessage(oPC, "You are able to hide better");}break; + case SKILL_LISTEN: {SubMessage(oPC, "Your hearing improves");}break; + case SKILL_MOVE_SILENTLY: {SubMessage(oPC, "Your footsteps become quieter");}break; + case SKILL_SPELLCRAFT: {SubMessage(oPC, "Your knowledge of magic improves");}break; + case SKILL_TUMBLE: {SubMessage(oPC, "You can tumble more proficiently");}break; + case SKILL_TAUNT: {SubMessage(oPC, "Your antagonistic abilities improve");}break; + case SKILL_USE_MAGIC_DEVICE: {SubMessage(oPC, "Your understanding of magic devices increases");}break; + } +} +void BonusDamageImmunity(object oPC, int iType, int iAmount) +{ + if (iAmount<0)iAmount=1; +ApplyEffectToObject(DURATION_TYPE_PERMANENT, +SupernaturalEffect(EffectDamageImmunityIncrease(iType, iAmount)), oPC); + +} +void m_BonusDamageImmunity(object oPC, int iType, int iAmount) +{ +switch (iType) + { + case DAMAGE_TYPE_ACID: {SubMessage(oPC, IntToString(iAmount)+"% acid damage immunity increase");}break; + case DAMAGE_TYPE_BLUDGEONING: {SubMessage(oPC, IntToString(iAmount)+"% bludgeoning damage immunity increase");}break; + case DAMAGE_TYPE_COLD: {SubMessage(oPC, IntToString(iAmount)+"% cold immunity damage increase");}break; + case DAMAGE_TYPE_MAGICAL: {SubMessage(oPC, IntToString(iAmount)+"% magical damage immunity increase");}break; + case DAMAGE_TYPE_ELECTRICAL: {SubMessage(oPC, IntToString(iAmount)+"% electrical damage immunity increase");}break; + case DAMAGE_TYPE_SLASHING: {SubMessage(oPC, IntToString(iAmount)+"% slashing damage immunity increase");}break; + case DAMAGE_TYPE_PIERCING: {SubMessage(oPC, IntToString(iAmount)+"% piercing damage immunity increase");}break; + case DAMAGE_TYPE_FIRE: {SubMessage(oPC, IntToString(iAmount)+"% fire damage immunity increase");}break; + case DAMAGE_TYPE_NEGATIVE: {SubMessage(oPC, IntToString(iAmount)+"% negative damage immunity increase");}break; + } +} + +void BonusSpellImmunity(object oPC, int iSpell) +{ + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectSpellImmunity(iSpell)), oPC); + +} +void m_BonusSpellImmunity(object oPC, int iSpell) +{ + switch (iSpell) + { + case SPELL_DOOM: {SubMessage(oPC, "Immune to spell: Doom");}break; + case SPELL_DAZE: {SubMessage(oPC, "Immune to spell: Daze");}break; + case SPELL_STORM_OF_VENGEANCE: {SubMessage(oPC, "Immune to spell: Storm of Vengeance");}break; + case SPELL_HARM: {SubMessage(oPC, "Immune to spell: Harm");}break; + } +} +void BonusConcealment(object oPC, int iAmount, int iType) +{ + int eVis; + if (iAmount>50)eVis = VFX_DUR_ETHEREAL_VISAGE; + else eVis = VFX_DUR_GHOSTLY_VISAGE_NO_SOUND; + + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectConcealment(iAmount, iType)), oPC); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectVisualEffect(eVis)), oPC); +} +void m_BonusConcealment(object oPC, int iAmount) +{ + SubMessage(oPC, "You partially fade from sight"); +} +void BonusUltravision(object oPC) +{ + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectUltravision()), oPC); + +} +void m_BonusUltravision(object oPC) +{ + SubMessage(oPC, "Your vision becomes all penetrating"); +} +void BonusTruseeing(object oPC) +{ + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectTrueSeeing()), oPC); + +} +void m_BonusTruseeing(object oPC) +{ + SubMessage(oPC, "Your vision penetrates even the thickest of vales"); +} +void BonusHaste(object oPC) +{ + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + SupernaturalEffect(EffectHaste()), oPC); +} +void m_BonusHaste(object oPC) +{ + SubMessage(oPC, "The world around you somehow seems slower"); +} + + +//////////////////////////////////////////////////////////////////////////////// +//:General Utilities +//: +//: +//: + +void UnSet(object oPC, effect eSubraceEffect) +{ + if((GetEffectCreator(eSubraceEffect) == GetModule()) && + (GetEffectSubType(eSubraceEffect) == SUBTYPE_SUPERNATURAL)) + { + RemoveEffect(oPC, eSubraceEffect); + } +} +void SD_REMOVE(object oPC) +{ + effect eSpeed = SupernaturalEffect(EffectMovementSpeedIncrease(80)); + effect eFX = GetFirstEffect(oPC); + while(GetIsEffectValid(eFX)) + { + UnSet(oPC, eFX); + eFX = GetNextEffect(oPC); + } + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSpeed, oPC); +} +//////////////////////////////////////////////////////////////////////////////// +//:Set Specifics +//: +//: +//: +//: + +/////////////////////////////// +//:Dorian's Battlegear +//: + +void DoriansBattlegearEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_HOLY_10); + eFinal = EffectVisualEffect(VFX_IMP_EVIL_HELP); + + switch (iPieces) + { + case 1: {} break; + + case 2: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_STRENGTH, 4)); + if (iFlag==0)FloatingTextStringOnCreature("* Dorian's Set Bonus I Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 3: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_STRENGTH, 4)); + } break; + case 4: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_STRENGTH, 4)); + DelayCommand(0.1, BonusDamage(oPC, DAMAGE_TYPE_FIRE, DAMAGE_BONUS_1d4)); + if (iFlag==0)FloatingTextStringOnCreature("* Dorian's Set Bonus II Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 5: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_STRENGTH, 4)); + DelayCommand(0.1, BonusDamage(oPC, DAMAGE_TYPE_FIRE, DAMAGE_BONUS_1d4)); + } break; + case 6: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_STRENGTH, 4)); + DelayCommand(0.1, BonusDamage(oPC, DAMAGE_TYPE_FIRE, DAMAGE_BONUS_1d4)); + DelayCommand(0.1, BonusAPR(oPC, 2)); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eFinal, oPC); + if (iFlag==0)FloatingTextStringOnCreature("* Dorian's Set Completion Bonus Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + } + +} +////////////////////////////////////////////////////// +void DoriansBattlegearUnEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_EVIL_10); + + switch (iPieces) + { + case 1: + { + SD_REMOVE(oPC); + FloatingTextStringOnCreature("* Set Dorian's Bonus I Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 2: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_STRENGTH, 4); + } break; + case 3: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_STRENGTH, 4); + FloatingTextStringOnCreature("* Dorian's Set Bonus II Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 4: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_STRENGTH, 4); + BonusDamage(oPC, DAMAGE_TYPE_FIRE, DAMAGE_BONUS_1d4); + } break; + case 5: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_STRENGTH, 4); + BonusDamage(oPC, DAMAGE_TYPE_FIRE, DAMAGE_BONUS_1d4); + FloatingTextStringOnCreature("* Dorian's Set Completion Bonus Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + } + +} + +/////////////////////////////// +//:Mystra's Rainment +//: + +void MystrasRainmentEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_HOLY_10); + eFinal = EffectVisualEffect(VFX_FNF_PWKILL); + + switch (iPieces) + { + case 1: {} break; + + case 2: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_INTELLIGENCE, 4)); + if (iFlag==0)FloatingTextStringOnCreature("* Mystra's Set Bonus I Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 3: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_INTELLIGENCE, 4)); + } break; + + case 4: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_INTELLIGENCE, 4)); + DelayCommand(0.1, BonusConcealment(oPC, 30, MISS_CHANCE_TYPE_NORMAL)); + if (iFlag==0)FloatingTextStringOnCreature("* Mystra's Set Bonus II Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 5: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_INTELLIGENCE, 4)); + DelayCommand(0.1, BonusConcealment(oPC, 30, MISS_CHANCE_TYPE_NORMAL)); + } break; + case 6: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_INTELLIGENCE, 4)); + DelayCommand(0.1, BonusConcealment(oPC, 30, MISS_CHANCE_TYPE_NORMAL)); + DelayCommand(0.1, BonusHaste(oPC)); + DelayCommand(0.1, BonusImmunity(oPC, IMMUNITY_TYPE_CRITICAL_HIT)); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eFinal, oPC); + if (iFlag==0)FloatingTextStringOnCreature("* Mystra's Set Completion Bonus Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + } + +} +////////////////////////////////////////////////////// +void MystrasRainmentUnEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_EVIL_10); + + switch (iPieces) + { + case 1: + { + SD_REMOVE(oPC); + FloatingTextStringOnCreature("* Mystra's Set Bonus I Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + }; break; + case 2: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_INTELLIGENCE, 4); + }; break; + case 3: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_INTELLIGENCE, 4); + FloatingTextStringOnCreature("* Mystra's Set Bonus II Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + }; break; + case 4: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_INTELLIGENCE, 4); + BonusConcealment(oPC, 30, MISS_CHANCE_TYPE_NORMAL); + }; break; + case 5: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_INTELLIGENCE, 4); + BonusConcealment(oPC, 30, MISS_CHANCE_TYPE_NORMAL); + FloatingTextStringOnCreature("* Mystra's Set Completion Bonus Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + }; break; + } + +} + +/////////////////////////////// +//:Thera's Vestments +//: + +void TherasVestmentsEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_HOLY_10); + eFinal = EffectVisualEffect(VFX_IMP_CHARM); + + switch (iPieces) + { + case 1: {} break; + + case 2: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CHARISMA, 4)); + if (iFlag==0)FloatingTextStringOnCreature("* Thera's Set Bonus I Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 3: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CHARISMA, 4)); + } break; + + case 4: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CHARISMA, 4)); + DelayCommand(0.1, BonusConcealment(oPC, 30, MISS_CHANCE_TYPE_NORMAL)); + if (iFlag==0)FloatingTextStringOnCreature("* Thera's Set Bonus II Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 5: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CHARISMA, 4)); + DelayCommand(0.1, BonusConcealment(oPC, 30, MISS_CHANCE_TYPE_NORMAL)); + } break; + case 6: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CHARISMA, 4)); + DelayCommand(0.1, BonusConcealment(oPC, 30, MISS_CHANCE_TYPE_NORMAL)); + DelayCommand(0.1, BonusHaste(oPC)); + DelayCommand(0.1, BonusImmunity(oPC, IMMUNITY_TYPE_CRITICAL_HIT)); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eFinal, oPC); + if (iFlag==0)FloatingTextStringOnCreature("* Thera's Set Completion Bonus Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + } + +} +////////////////////////////////////////////////////// +void TherasVestmentsUnEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_EVIL_10); + + switch (iPieces) + { + case 1: + { + SD_REMOVE(oPC); + FloatingTextStringOnCreature("* Thera's Set Bonus I Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + }; break; + case 2: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_CHARISMA, 4); + }; break; + case 3: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_CHARISMA, 4); + FloatingTextStringOnCreature("* Thera's Set Bonus II Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + }; break; + case 4: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_CHARISMA, 4); + BonusConcealment(oPC, 30, MISS_CHANCE_TYPE_NORMAL); + }; break; + case 5: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_INTELLIGENCE, 4); + BonusConcealment(oPC, 30, MISS_CHANCE_TYPE_NORMAL); + FloatingTextStringOnCreature("* Thera's Set Completion Bonus Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + }; break; + } + +} + +/////////////////////////////// +//:Shinobi's Garb +//: + +void ShinobisGarbEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_HOLY_10); + eFinal = EffectVisualEffect(VFX_IMP_DEATH_WARD); + + switch (iPieces) + { + case 1: {} break; + + case 2: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusSpeed(oPC, 50)); + if (iFlag==0)FloatingTextStringOnCreature("* Shinobi's Set Bonus I Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 3: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusSpeed(oPC, 50)); + } break; + case 4: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusSpeed(oPC, 50)); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_DEXTERITY, 4)); + if (iFlag==0)FloatingTextStringOnCreature("* Shinobi's Set Bonus II Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 5: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusSpeed(oPC, 50)); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_DEXTERITY, 4)); + } break; + case 6: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusSpeed(oPC, 50)); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_DEXTERITY, 4)); + DelayCommand(0.1, BonusDamage(oPC, DAMAGE_TYPE_PIERCING, DAMAGE_BONUS_1d4)); + DelayCommand(0.1, BonusConcealment(oPC, 60, MISS_CHANCE_TYPE_NORMAL)); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eFinal, oPC); + if (iFlag==0)FloatingTextStringOnCreature("* Shinobi's Set Completion Bonus Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + } + +} +////////////////////////////////////////////////////// +void ShinobisGarbUnEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_EVIL_10); + + switch (iPieces) + { + case 1: + { + SD_REMOVE(oPC); + FloatingTextStringOnCreature("* Shinobi's Set Bonus I Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 2: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusSpeed(oPC, 50)); + } break; + case 3: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusSpeed(oPC, 50)); + FloatingTextStringOnCreature("* Shinobi's Set Bonus II Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 4: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusSpeed(oPC, 50)); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_DEXTERITY, 4)); + } break; + case 5: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusSpeed(oPC, 50)); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_DEXTERITY, 4)); + FloatingTextStringOnCreature("* Shinobi's Set Completion Bonus Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + } +} +/////////////////////////////// +//:Benedict's Herald +//: + +void BenedictsHeraldEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_HOLY_10); + eFinal = EffectVisualEffect(VFX_IMP_LIGHTNING_M); + + switch (iPieces) + { + case 1: {} break; + + case 2: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + if (iFlag==0)FloatingTextStringOnCreature("* Benedict's Set Bonus I Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 3: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + } break; + case 4: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + DelayCommand(0.1, BonusDamage(oPC, DAMAGE_TYPE_DIVINE, DAMAGE_BONUS_1d4)); + if (iFlag==0)FloatingTextStringOnCreature("* Benedict's Set Bonus II Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 5: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + DelayCommand(0.1, BonusDamage(oPC, DAMAGE_TYPE_DIVINE, DAMAGE_BONUS_1d4)); + } break; + case 6: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + DelayCommand(0.1, BonusDamage(oPC, DAMAGE_TYPE_DIVINE, DAMAGE_BONUS_1d4)); + DelayCommand(0.1, BonusImmunity(oPC, IMMUNITY_TYPE_NEGATIVE_LEVEL)); + DelayCommand(0.1, BonusHaste(oPC)); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eFinal, oPC); + if (iFlag==0)FloatingTextStringOnCreature("* Benedict's Set Completion Bonus Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + } + +} +////////////////////////////////////////////////////// +void BenedictsHeraldUnEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_EVIL_10); + + switch (iPieces) + { + case 1: + { + SD_REMOVE(oPC); + FloatingTextStringOnCreature("* Benedict's Set Bonus I Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 2: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + } break; + case 3: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + FloatingTextStringOnCreature("* Benedict's Set Bonus II Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 4: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + DelayCommand(0.1, BonusDamage(oPC, DAMAGE_TYPE_DIVINE, DAMAGE_BONUS_1d4)); + } break; + case 5: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + DelayCommand(0.1, BonusDamage(oPC, DAMAGE_TYPE_DIVINE, DAMAGE_BONUS_1d4)); + FloatingTextStringOnCreature("* Benedict's Set Completion Bonus Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + } + +} + +/////////////////////////////// +//:Armor of Divinity +//: + +void ArmorOfDivinityEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_HOLY_10); + eFinal = EffectVisualEffect(VFX_IMP_GOOD_HELP); + + switch (iPieces) + { + case 1: {} break; + + case 2: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CHARISMA, 4)); + if (iFlag==0)FloatingTextStringOnCreature("* Zealot's Set Bonus I Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 3: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CHARISMA, 4)); + } break; + case 4: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CHARISMA, 4)); + DelayCommand(0.1, BonusDamage(oPC, DAMAGE_TYPE_SLASHING, DAMAGE_BONUS_1d4)); + if (iFlag==0)FloatingTextStringOnCreature("* Zealot's Set Bonus II Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 5: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CHARISMA, 4)); + DelayCommand(0.1, BonusDamage(oPC, DAMAGE_TYPE_SLASHING, DAMAGE_BONUS_1d4)); + } break; + case 6: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CHARISMA, 4)); + DelayCommand(0.1, BonusDamage(oPC, DAMAGE_TYPE_SLASHING, DAMAGE_BONUS_1d4)); + DelayCommand(0.1, BonusAPR(oPC, 1)); + DelayCommand(0.1, BonusAttack(oPC, 2)); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eFinal, oPC); + if (iFlag==0)FloatingTextStringOnCreature("* Zealot's Set Completion Bonus Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + } + +} +////////////////////////////////////////////////////// +void ArmorOfDivinityUnEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_EVIL_10); + + switch (iPieces) + { + case 1: + { + SD_REMOVE(oPC); + FloatingTextStringOnCreature("* Set Zealot's Bonus I Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 2: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_STRENGTH, 4); + } break; + case 3: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_STRENGTH, 4); + FloatingTextStringOnCreature("* Zealot's Set Bonus II Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 4: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_STRENGTH, 4); + BonusDamage(oPC, DAMAGE_TYPE_SLASHING, DAMAGE_BONUS_1d4); + } break; + case 5: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_STRENGTH, 4); + BonusDamage(oPC, DAMAGE_TYPE_SLASHING, DAMAGE_BONUS_1d4); + FloatingTextStringOnCreature("* Zealot's Set Completion Bonus Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + } +} + +/////////////////////////////// +//:Soothsayer's Regalia +//: + +void SoothsayersRegaliaEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_HOLY_10); + eFinal = EffectVisualEffect(VFX_FNF_NATURES_BALANCE); + + switch (iPieces) + { + case 1: {} break; + + case 2: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + if (iFlag==0)FloatingTextStringOnCreature("* Oracle's Set Bonus I Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 3: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + } break; + + case 4: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + DelayCommand(0.1, BonusSpeed(oPC, 40)); + if (iFlag==0)FloatingTextStringOnCreature("* Oracle's Set Bonus II Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 5: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + DelayCommand(0.1, BonusSpeed(oPC, 40)); + } break; + case 6: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + DelayCommand(0.1, BonusSpeed(oPC, 40)); + DelayCommand(0.1, BonusHaste(oPC)); + DelayCommand(0.1, BonusDamage(oPC, DAMAGE_TYPE_ELECTRICAL, DAMAGE_BONUS_1d4)); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eFinal, oPC); + if (iFlag==0)FloatingTextStringOnCreature("* Oracle's Set Completion Bonus Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + } + +} +////////////////////////////////////////////////////// +void SoothsayersRegaliaUnEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_EVIL_10); + + switch (iPieces) + { + case 1: + { + SD_REMOVE(oPC); + FloatingTextStringOnCreature("* Oracle's Set Bonus I Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + }; break; + case 2: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_WISDOM, 4); + }; break; + case 3: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_WISDOM, 4); + FloatingTextStringOnCreature("* Oracle's Set Bonus II Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + }; break; + case 4: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_WISDOM, 4); + DelayCommand(0.1, BonusSpeed(oPC, 40)); + }; break; + case 5: + { + SD_REMOVE(oPC); + BonusAbility(oPC, ABILITY_WISDOM, 4); + DelayCommand(0.1, BonusSpeed(oPC, 40)); + FloatingTextStringOnCreature("* Oracle's Set Completion Bonus Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + }; break; + } + +} +/////////////////////////////// +//:Robes of Enlightenment +//: + +void RobesOfEnlightenmentEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_HOLY_10); + eFinal = EffectVisualEffect(VFX_FNF_SCREEN_SHAKE); + + switch (iPieces) + { + case 1: {} break; + + case 2: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + if (iFlag==0)FloatingTextStringOnCreature("* Trancendent Set Bonus I Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 3: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusDR(oPC, 5, DAMAGE_POWER_PLUS_TEN)); + } break; + case 4: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusDR(oPC, 5, DAMAGE_POWER_PLUS_TEN)); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + if (iFlag==0)FloatingTextStringOnCreature("* Trancendent Set Bonus II Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 5: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusDR(oPC, 5, DAMAGE_POWER_PLUS_TEN)); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + } break; + case 6: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusDR(oPC, 5, DAMAGE_POWER_PLUS_TEN)); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + DelayCommand(0.1, BonusDamage(oPC, DAMAGE_TYPE_SONIC, DAMAGE_BONUS_1d4)); + DelayCommand(0.1, BonusRegen(oPC, 4)); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eFinal, oPC); + if (iFlag==0)FloatingTextStringOnCreature("* Trancendent Set Completion Bonus Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + } + +} +////////////////////////////////////////////////////// +void RobesOfEnlightenmentUnEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_EVIL_10); + + switch (iPieces) + { + case 1: + { + SD_REMOVE(oPC); + FloatingTextStringOnCreature("* Trancendent Set Bonus I Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 2: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusDR(oPC, 5, DAMAGE_POWER_PLUS_TEN)); + } break; + case 3: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusDR(oPC, 5, DAMAGE_POWER_PLUS_TEN)); + FloatingTextStringOnCreature("* Trancendent Set Bonus II Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 4: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusDR(oPC, 5, DAMAGE_POWER_PLUS_TEN)); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + } break; + case 5: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusDR(oPC, 5, DAMAGE_POWER_PLUS_TEN)); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_WISDOM, 4)); + FloatingTextStringOnCreature("* Trancendent Set Completion Bonus Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + } +} + +/////////////////////////////// +//:Vestments of Rage +//:barbarian set + +void VestmentsofRageEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_HOLY_10); + eFinal = EffectVisualEffect(VFX_FNF_HOWL_WAR_CRY); + + switch (iPieces) + { + case 1: {} break; + + case 2: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CONSTITUTION, 6)); + if (iFlag==0)FloatingTextStringOnCreature("* Conan's Set Bonus I Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 3: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CONSTITUTION, 6)); + } break; + + case 4: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CONSTITUTION, 6)); + DelayCommand(0.1, BonusDR(oPC, DAMAGE_POWER_PLUS_TEN, 10)); + if (iFlag==0)FloatingTextStringOnCreature("* Conan's Set Bonus II Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + case 5: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CONSTITUTION, 6)); + DelayCommand(0.1, BonusDR(oPC, DAMAGE_POWER_PLUS_TEN, 10)); + } break; + case 6: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CONSTITUTION, 6)); + DelayCommand(0.1, BonusDR(oPC, DAMAGE_POWER_PLUS_TEN, 10)); + DelayCommand(0.1, BonusHaste(oPC)); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eFinal, oPC); + if (iFlag==0)FloatingTextStringOnCreature("* Conan's Set Completion Bonus Applied *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + } break; + } + +} +////////////////////////////////////////////////////// +void VestmentsofRageUnEquip(object oPC, int iPieces, int iFlag) +{ + eVis = EffectVisualEffect(VFX_FNF_LOS_EVIL_10); + + switch (iPieces) + { + case 1: + { + SD_REMOVE(oPC); + FloatingTextStringOnCreature("* Conan's Set Bonus I Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + }; break; + case 2: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CONSTITUTION, 6)); + }; break; + case 3: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CONSTITUTION, 6)); + FloatingTextStringOnCreature("* Conan's Set Bonus II Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + }; break; + case 4: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CONSTITUTION, 6)); + DelayCommand(0.1, BonusDR(oPC, DAMAGE_POWER_PLUS_TEN, 10)); + }; break; + case 5: + { + SD_REMOVE(oPC); + DelayCommand(0.1, BonusAbility(oPC, ABILITY_CONSTITUTION, 6)); + DelayCommand(0.1, BonusDR(oPC, DAMAGE_POWER_PLUS_TEN, 10)); + FloatingTextStringOnCreature("* Conan's Set Completion Bonus Lost *", oPC); + if (iFlag==0)ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); + }; break; + } + +} + +//////////////////////////////////////////////////////////////////////////////// +//:Reapply set bonuses after death +//: +//: +//: + +void ApplySetBonus(object oPC) +{ + string sID, sSetName; + int iPieces; + object oItem; + + sID = "Dorian's Battlegear_equ"; + iPieces = GetLocalInt(oPC, sID); + if (iPieces>0)DoriansBattlegearEquip(oPC, iPieces, 1); + sID = "Mystra's Rainment_equ"; + iPieces = GetLocalInt(oPC, sID); + if (iPieces>0)MystrasRainmentEquip(oPC, iPieces, 1); + sID = "Thera's Vestments_equ"; + iPieces = GetLocalInt(oPC, sID); + if (iPieces>0)TherasVestmentsEquip(oPC, iPieces, 1); + sID = "Shinobi's Garb_equ"; + iPieces = GetLocalInt(oPC, sID); + if (iPieces>0)ShinobisGarbEquip(oPC, iPieces, 1); + sID = "Benedict's Herald_equ"; + iPieces = GetLocalInt(oPC, sID); + if (iPieces>0)BenedictsHeraldEquip(oPC, iPieces, 1); + sID = "Armor of Divinity_equ"; + iPieces = GetLocalInt(oPC, sID); + if (iPieces>0)ArmorOfDivinityEquip(oPC, iPieces, 1); + sID = "Soothsayer's Regalia_equ"; + iPieces = GetLocalInt(oPC, sID); + if (iPieces>0)SoothsayersRegaliaEquip(oPC, iPieces, 1); + sID = "Robes of Enlightenment_equ"; + iPieces = GetLocalInt(oPC, sID); + if (iPieces>0)RobesOfEnlightenmentEquip(oPC, iPieces, 1); + sID = "Vestments of Rage_equ"; + iPieces = GetLocalInt(oPC, sID); + if (iPieces>0)VestmentsofRageEquip(oPC, iPieces, 1); +} + + +/////////////////////// +//: For Test Compiling +//: void main(){} + + diff --git a/_module/nss/sd_setdrop.nss b/_module/nss/sd_setdrop.nss new file mode 100644 index 00000000..944d9aa5 --- /dev/null +++ b/_module/nss/sd_setdrop.nss @@ -0,0 +1,17 @@ +#include "sd_lootsystem" + +void main() +{ + object oPC = GetLastOpenedBy(); + + DropSetItem(oPC, OBJECT_SELF); + + +object oItem = GetFirstItemInInventory(OBJECT_SELF); +while (GetIsObjectValid(oItem)) + { + if (GetIdentified(oItem)==FALSE)SetIdentified(oItem, TRUE); + oItem = GetNextItemInInventory(OBJECT_SELF); + } + +} diff --git a/_module/nss/sd_setplot.nss b/_module/nss/sd_setplot.nss new file mode 100644 index 00000000..37412270 --- /dev/null +++ b/_module/nss/sd_setplot.nss @@ -0,0 +1,4 @@ +void main() +{ +SetPlotFlag(OBJECT_SELF, 1); +} diff --git a/_module/nss/sd_soc_install.nss b/_module/nss/sd_soc_install.nss new file mode 100644 index 00000000..3a70d139 --- /dev/null +++ b/_module/nss/sd_soc_install.nss @@ -0,0 +1,224 @@ +const string COLORTOKEN = " ##################$%&'()*+,-./0123456789:;;==?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[[]^_`abcdefghijklmnopqrstuvwxyz{|}~~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¡¢£¤¥¦§¨©ª«¬¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþþ"; + +string ColorString(string sText, int nRed=255, int nGreen=255, int nBlue=255) +{ + return "" + sText + ""; +} + + +void RE_SOCKET(object oPC, object oItem) +{ +int iLength, iStart, iVal, iAmt; +string sSocks, sGem, i1, i2, i3, i4, i5, i6, i7, i8; +string sName = GetName(oItem); + +iLength = GetStringLength(sName); +sSocks = GetSubString(sName, iLength-6, 1); +//SendMessageToPC(oPC, sName + " has " + sSocks + " sockets"); +iVal = StringToInt(sSocks); +SetLocalInt(oItem, "SOCKETS",iVal); +} + +void RE_GEM(object oPC, object oItem) +{ + string sName, sType1; + int rVal; + + sName = GetName(oItem); + + // Misc ability gems + + if (FindSubString(sName, "Vengeful")>=0) sType1 = "HOLY_AVENGER"; + if (FindSubString(sName, "Deadly")>=0) sType1 = "KEEN"; + if (FindSubString(sName, "Unstoppable")>=0) sType1 = "FREEDOM"; + if (FindSubString(sName, "Slippery")>=0) sType1 = "IMPROVED_EVASION"; + if (FindSubString(sName, "Speedy")>=0) sType1 = "HASTE"; + if (FindSubString(sName, "Ocular")>=0) sType1 = "TRUE_SEEING"; + + + // Attack Gems + + if (FindSubString(sName,"Enhancement")>=0){sType1 = "ENHANCEMENT_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Attack")>=0){sType1 = "ATTACK_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"AC")>=0){sType1 = "AC_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Brutal")>=0){sType1 = "MASSIVE_CRITICAL"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + + // Ability bonus gems + + if (FindSubString(sName,"Mighty")>=0){sType1 = "STRENGTH_ABILITY_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Deft")>=0){sType1 = "DEXTERITY_ABILITY_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Wise")>=0){sType1 = "WISDOM_ABILITY_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Hardy")>=0){sType1 = "CONSTITUTION_ABILITY_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Clever")>=0){sType1 = "INTELLIGENCE_ABILITY_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Charming")>=0){sType1 = "CHARISMA_ABILITY_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + + + // Damage bonus gems + + if (FindSubString(sName,"Corrosive")>=0){sType1 = "ACID_DAMAGE_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Thumping")>=0){sType1 = "BLUDGEONING_DAMAGE_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Ice")>=0){sType1 = "COLD_DAMAGE_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Holy")>=0){sType1 = "DIVINE_DAMAGE_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Zapping")>=0){sType1 = "ELECTIRCAL_DAMAGE_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Scorching")>=0){sType1 = "FIRE_DAMAGE_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Magical")>=0){sType1 = "MAGICAL_DAMAGE_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Evil")>=0){sType1 = "NEGATIVE_DAMAGE_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Impaling")>=0){sType1 = "PIERCING_DAMAGE_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Benevolent")>=0){sType1 = "POSITIVE_DAMAGE_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Slicing")>=0){sType1 = "SLASHING_DAMAGE_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Booming")>=0){sType1 = "SONIC_DAMAGE_BONUS"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Regeneration")>=0){sType1 = "REGENERATION"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + if (FindSubString(sName,"Vamp Regen")>=0){sType1 = "VAMPIRIC_REGENERATION"; + rVal = StringToInt(GetSubString(sName, 7, 1));} + + // Damage Res Gems + + if (FindSubString(sName, "Alkaline")>=0) + {sType1 = "ACID_DAMAGE_RESISTANCE"; + if (GetSubString(sName, 9, 1)==" ")rVal = StringToInt(GetSubString(sName, 8, 1)); + else rVal = StringToInt(GetSubString(sName, 8, 2));} + if (FindSubString(sName, "Solid")>=0) + {sType1 = "BLUDGEONING_DAMAGE_RESISTANCE"; + if (GetSubString(sName, 9, 1)==" ")rVal = StringToInt(GetSubString(sName, 8, 1)); + else rVal = StringToInt(GetSubString(sName, 8, 2));} + if (FindSubString(sName, "Warm")>=0) + {sType1 = "COLD_DAMAGE_RESISTANCE"; + if (GetSubString(sName, 9, 1)==" ")rVal = StringToInt(GetSubString(sName, 8, 1)); + else rVal = StringToInt(GetSubString(sName, 8, 2));} + if (FindSubString(sName, "Absolvsion")>=0) + {sType1 = "DIVINE_DAMAGE_RESISTANCE"; + if (GetSubString(sName, 9, 1)==" ")rVal = StringToInt(GetSubString(sName, 8, 1)); + else rVal = StringToInt(GetSubString(sName, 8, 2));} + if (FindSubString(sName, "Grounding")>=0) + {sType1 = "ELECTRICAL_DAMAGE_RESISTANCE"; + if (GetSubString(sName, 9, 1)==" ")rVal = StringToInt(GetSubString(sName, 8, 1)); + else rVal = StringToInt(GetSubString(sName, 8, 2));} + if (FindSubString(sName, "Cool")>=0) + {sType1 = "FIRE_DAMAGE_RESISTANCE"; + if (GetSubString(sName, 9, 1)==" ")rVal = StringToInt(GetSubString(sName, 8, 1)); + else rVal = StringToInt(GetSubString(sName, 8, 2));} + if (FindSubString(sName, "Mantle")>=0) + {sType1 = "MAGICAL_DAMAGE_RESISTANCE"; + if (GetSubString(sName, 9, 1)==" ")rVal = StringToInt(GetSubString(sName, 8, 1)); + else rVal = StringToInt(GetSubString(sName, 8, 2));} + if (FindSubString(sName, "Bright")>=0) + {sType1 = "NEGATIVE_DAMAGE_RESISTANCE"; + if (GetSubString(sName, 9, 1)==" ")rVal = StringToInt(GetSubString(sName, 8, 1)); + else rVal = StringToInt(GetSubString(sName, 8, 2));} + if (FindSubString(sName, "Shell")>=0) + {sType1 = "PIERCING_DAMAGE_RESISTANCE"; + if (GetSubString(sName, 9, 1)==" ")rVal = StringToInt(GetSubString(sName, 8, 1)); + else rVal = StringToInt(GetSubString(sName, 8, 2));} + if (FindSubString(sName, "Malevolent")>=0) + {sType1 = "POSITIVE_DAMAGE_RESISTANCE"; + if (GetSubString(sName, 9, 1)==" ")rVal = StringToInt(GetSubString(sName, 8, 1)); + else rVal = StringToInt(GetSubString(sName, 8, 2));} + if (FindSubString(sName, "Mesh")>=0) + {sType1 = "SLASHING_DAMAGE_RESISTANCE"; + if (GetSubString(sName, 9, 1)==" ")rVal = StringToInt(GetSubString(sName, 8, 1)); + else rVal = StringToInt(GetSubString(sName, 8, 2));} + if (FindSubString(sName, "Dampening")>=0) + {sType1 = "SONIC_DAMAGE_RESISTANCE"; + if (GetSubString(sName, 9, 1)==" ")rVal = StringToInt(GetSubString(sName, 8, 1)); + else rVal = StringToInt(GetSubString(sName, 8, 2));} + + + SetLocalString(oItem, "GEM_TYPE", sType1); + SetLocalInt(oItem, "AMOUNT", rVal); +} + + +void main() +{ +object oPC = OBJECT_SELF; +object oItem; +int iLength, iStart, iVal, iAmt; +string sSocks, sName; + +// check item slots for socketed items + +if (GetTag(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC))== "sf_socket_item") + RE_SOCKET(oPC, GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC)); + +if (GetTag(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC))== "sf_socket_item") + RE_SOCKET(oPC, GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC)); + +if (GetTag(GetItemInSlot(INVENTORY_SLOT_CHEST, oPC))== "sf_socket_item") + RE_SOCKET(oPC, GetItemInSlot(INVENTORY_SLOT_CHEST, oPC)); + +if (GetTag(GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC))== "sf_socket_item") + RE_SOCKET(oPC, GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC)); + +if (GetTag(GetItemInSlot(INVENTORY_SLOT_HEAD, oPC))== "sf_socket_item") + RE_SOCKET(oPC, GetItemInSlot(INVENTORY_SLOT_HEAD, oPC)); + +if (GetTag(GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC))== "sf_socket_item") + RE_SOCKET(oPC, GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC)); + +if (GetTag(GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC))== "sf_socket_item") + RE_SOCKET(oPC, GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC)); + +if (GetTag(GetItemInSlot(INVENTORY_SLOT_NECK, oPC))== "sf_socket_item") + RE_SOCKET(oPC, GetItemInSlot(INVENTORY_SLOT_NECK, oPC)); + +if (GetTag(GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC))== "sf_socket_item") + RE_SOCKET(oPC, GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC)); + +if (GetTag(GetItemInSlot(INVENTORY_SLOT_BELT, oPC))== "sf_socket_item") + RE_SOCKET(oPC, GetItemInSlot(INVENTORY_SLOT_BELT, oPC)); + +if (GetTag(GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC))== "sf_socket_item") + RE_SOCKET(oPC, GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC)); + +if (GetTag(GetItemInSlot(INVENTORY_SLOT_ARROWS, oPC))== "sf_socket_item") + RE_SOCKET(oPC, GetItemInSlot(INVENTORY_SLOT_ARROWS, oPC)); + +if (GetTag(GetItemInSlot(INVENTORY_SLOT_ARMS, oPC))== "sf_socket_item") + RE_SOCKET(oPC, GetItemInSlot(INVENTORY_SLOT_ARMS, oPC)); + +// check inventory for socketed items +oItem = GetFirstItemInInventory(oPC); +while (GetIsObjectValid(oItem)) + { + if (GetTag(oItem)=="sf_socket_item") + { + RE_SOCKET(oPC, oItem); + } + if (GetResRef(oItem)=="sd_rune"|| + GetResRef(oItem)=="sd_rune2"|| + GetResRef(oItem)=="sd_rune3") + { + RE_GEM(oPC, oItem); + } + oItem = GetNextItemInInventory(oPC); + } +string sMess = ColorString("Socketed items system ", 255, 215, 0); +sMess += ColorString("[loaded successfully]", 0, 255, 255); + +SendMessageToPC(oPC, sMess); +return; +} + diff --git a/_module/nss/x2_def_spawn.nss b/_module/nss/x2_def_spawn.nss index 9e01129b..df44db10 100644 --- a/_module/nss/x2_def_spawn.nss +++ b/_module/nss/x2_def_spawn.nss @@ -570,7 +570,7 @@ void main() //:: Set or Randomize name ms_Nomenclature(OBJECT_SELF); - + //:: Post Spawn event requested if (nSpecEvent == 2 || nSpecEvent == 3) { diff --git a/_module/uti/sd_barb_s1.uti.json b/_module/uti/sd_barb_s1.uti.json new file mode 100644 index 00000000..5001bcab --- /dev/null +++ b/_module/uti/sd_barb_s1.uti.json @@ -0,0 +1,282 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 17 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 164 + }, + "Cloth2Color": { + "type": "byte", + "value": 119 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 152155 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Vestments of Rage\n\nConan was a famed barbarian who, through his many great deeds, raised the reputation of barbarians from that of wildmen to that of heroes. His vestments became a well known symbol of his skill and prowess in battle and to this day still strike fear into the enemies of the wearer.\n\nClass: Barbarian\nClass: Dwarven Defender\n\nBonuses\n--------------\n2 Pieces +6 Con\n4 Pieces: +10 Soak 10 Dam\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Bludegoning Damage\nHaste", + "id": 12861 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 63 + }, + "Leather2Color": { + "type": "byte", + "value": 63 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Conan's Crown", + "id": 12860 + } + }, + "Metal1Color": { + "type": "byte", + "value": 15 + }, + "Metal2Color": { + "type": "byte", + "value": 15 + }, + "ModelPart1": { + "type": "byte", + "value": 26 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 41 + }, + "Subtype": { + "type": "word", + "value": 2 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_barb_s1" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Conan's Crown" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Vestments of Rage" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_barb_s2.uti.json b/_module/uti/sd_barb_s2.uti.json new file mode 100644 index 00000000..d22ce0f6 --- /dev/null +++ b/_module/uti/sd_barb_s2.uti.json @@ -0,0 +1,384 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 15 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 1 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 4 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 10 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 0 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 36 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 1 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 4 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 10 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 8 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 7 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 3 + }, + "Cloth2Color": { + "type": "byte", + "value": 120 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 187280 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Vestments of Rage\n\nConan was a famed barbarian who, through his many great deeds, raised the reputation of barbarians from that of wildmen to that of heroes. His vestments became a well known symbol of his skill and prowess in battle and to this day still strike fear into the enemies of the wearer.\n\nClass: Barbarian\nClass: Dwarven Defender\n\nBonuses\n--------------\n2 Pieces +6 Con\n4 Pieces: +10 Soak 10 Dam\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Bludegoning Damage\nHaste" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 3 + }, + "Leather2Color": { + "type": "byte", + "value": 131 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Conan's Loincloth", + "id": 181 + } + }, + "Metal1Color": { + "type": "byte", + "value": 76 + }, + "Metal2Color": { + "type": "byte", + "value": 61 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_barb_s2" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Vestments of Rage" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Conan's Loincloth" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_barb_s3.uti.json b/_module/uti/sd_barb_s3.uti.json new file mode 100644 index 00000000..c3fdf216 --- /dev/null +++ b/_module/uti/sd_barb_s3.uti.json @@ -0,0 +1,320 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 21 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 110776 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Vestments of Rage\n\nConan was a famed barbarian who, through his many great deeds, raised the reputation of barbarians from that of wildmen to that of heroes. His vestments became a well known symbol of his skill and prowess in battle and to this day still strike fear into the enemies of the wearer.\n\nClass: Barbarian\nClass: Dwarven Defender\n\nBonuses\n--------------\n2 Pieces +6 Con\n4 Pieces: +10 Soak 10 Dam\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Bludegoning Damage\nHaste", + "id": 67773 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Conan's Belt", + "id": 67772 + } + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 40 + }, + "Subtype": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_barb_s3" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Conan's Belt" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Vestments of Rage" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_barb_s4.uti.json b/_module/uti/sd_barb_s4.uti.json new file mode 100644 index 00000000..757012a9 --- /dev/null +++ b/_module/uti/sd_barb_s4.uti.json @@ -0,0 +1,313 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 80 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 3 + }, + "Cloth2Color": { + "type": "byte", + "value": 2 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 199093 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Vestments of Rage\n\nConan was a famed barbarian who, through his many great deeds, raised the reputation of barbarians from that of wildmen to that of heroes. His vestments became a well known symbol of his skill and prowess in battle and to this day still strike fear into the enemies of the wearer.\n\nClass: Barbarian\nClass: Dwarven Defender\n\nBonuses\n--------------\n2 Pieces +6 Con\n4 Pieces: +10 Soak 10 Dam\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Bludegoning Damage\nHaste", + "id": 66564 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 120 + }, + "Leather2Color": { + "type": "byte", + "value": 3 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Conan's Bearskin Cloak", + "id": 66563 + } + }, + "Metal1Color": { + "type": "byte", + "value": 15 + }, + "Metal2Color": { + "type": "byte", + "value": 116 + }, + "ModelPart1": { + "type": "byte", + "value": 4 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 51 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_barb_s4" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Conan's Bearskin Cloak" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Vestments of Rage" + } + } + ] + } +} diff --git a/_module/uti/sd_barb_s5.uti.json b/_module/uti/sd_barb_s5.uti.json new file mode 100644 index 00000000..75cc5d06 --- /dev/null +++ b/_module/uti/sd_barb_s5.uti.json @@ -0,0 +1,297 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 26 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 171218 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Vestments of Rage\n\nConan was a famed barbarian who, through his many great deeds, raised the reputation of barbarians from that of wildmen to that of heroes. His vestments became a well known symbol of his skill and prowess in battle and to this day still strike fear into the enemies of the wearer.\n\nClass: Barbarian\nClass: Dwarven Defender\n\nBonuses\n--------------\n2 Pieces +6 Con\n4 Pieces: +10 Soak 10 Dam\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Bludegoning Damage\nHaste", + "id": 67778 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Conan's Footstraps/c>", + "id": 67780 + } + }, + "ModelPart1": { + "type": "byte", + "value": 12 + }, + "ModelPart2": { + "type": "byte", + "value": 32 + }, + "ModelPart3": { + "type": "byte", + "value": 22 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 40 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_barb_s5" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Conan's Footstraps" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Vestments of Rage" + } + } + ] + } +} diff --git a/_module/uti/sd_barb_s6.uti.json b/_module/uti/sd_barb_s6.uti.json new file mode 100644 index 00000000..5dedb765 --- /dev/null +++ b/_module/uti/sd_barb_s6.uti.json @@ -0,0 +1,289 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 36 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 52346 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Vestments of Rage\n\nConan was a famed barbarian who, through his many great deeds, raised the reputation of barbarians from that of wildmen to that of heroes. His vestments became a well known symbol of his skill and prowess in battle and to this day still strike fear into the enemies of the wearer.\n\nClass: Barbarian\nClass: Dwarven Defender\n\nBonuses\n--------------\n2 Pieces +6 Con\n4 Pieces: +10 Soak 10 Dam\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Bludegoning Damage\nHaste", + "id": 48882 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Conan's Wriststrap", + "id": 48881 + } + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 41 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 25 + }, + "CostValue": { + "type": "word", + "value": 10 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 52 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_barb_s6" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Conan's Wriststrap" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Vestments of Rage" + } + } + ] + } +} diff --git a/_module/uti/sd_bastard.uti.json b/_module/uti/sd_bastard.uti.json new file mode 100644 index 00000000..724c8b53 --- /dev/null +++ b/_module/uti/sd_bastard.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 3 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 70 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Bastard Sword" + } + }, + "ModelPart1": { + "type": "byte", + "value": 12 + }, + "ModelPart2": { + "type": "byte", + "value": 14 + }, + "ModelPart3": { + "type": "byte", + "value": 64 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_bastard" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_bastard" + } +} diff --git a/_module/uti/sd_cleric_s1_1.uti.json b/_module/uti/sd_cleric_s1_1.uti.json new file mode 100644 index 00000000..717e970a --- /dev/null +++ b/_module/uti/sd_cleric_s1_1.uti.json @@ -0,0 +1,258 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 36 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 36422 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Benedict's Herald\n\nBenedictus was a Roman noble, who studied in Rome, but was dismayed by the lack of discipline and the lackadasical attitude of his fellow students. He fled to the mountains, living as a hermit in a cave for three years and was reported to have been fed by a raven. He later emerged a powerful clerical infulence and became famous for his ability to drive evil back from whence it came.\n\nClass: Cleric\n\nBonuses\n--------------\n2 Pieces: +4 Wis\n4 Pieces: 1d4 Divine Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune Lvl Drain\nHaste", + "id": 48882 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Benevolent Grips", + "id": 48881 + } + }, + "ModelPart1": { + "type": "byte", + "value": 8 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 41 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 25 + }, + "CostValue": { + "type": "word", + "value": 15 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 52 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 2 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_cleric_s1_1" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Benevolent Grips" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Benedict's Herald" + } + } + ] + } +} diff --git a/_module/uti/sd_cleric_s1_2.uti.json b/_module/uti/sd_cleric_s1_2.uti.json new file mode 100644 index 00000000..dbf605b4 --- /dev/null +++ b/_module/uti/sd_cleric_s1_2.uti.json @@ -0,0 +1,297 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 26 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 61780 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Benedict's Herald\n\nBenedictus was a Roman noble, who studied in Rome, but was dismayed by the lack of discipline and the lackadasical attitude of his fellow students. He fled to the mountains, living as a hermit in a cave for three years and was reported to have been fed by a raven. He later emerged a powerful clerical infulence and became famous for his ability to drive evil back from whence it came.\n\nClass: Cleric\n\nBonuses\n--------------\n2 Pieces: +4 Wis\n4 Pieces: 1d4 Divine Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune Lvl Drain\nHaste", + "id": 67778 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Benevolent Sandals", + "id": 67780 + } + }, + "ModelPart1": { + "type": "byte", + "value": 33 + }, + "ModelPart2": { + "type": "byte", + "value": 41 + }, + "ModelPart3": { + "type": "byte", + "value": 44 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 2 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_cleric_s1_2" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Benevolent Sandals" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Benedict's Herald" + } + } + ] + } +} diff --git a/_module/uti/sd_cleric_s1_3.uti.json b/_module/uti/sd_cleric_s1_3.uti.json new file mode 100644 index 00000000..721b8f06 --- /dev/null +++ b/_module/uti/sd_cleric_s1_3.uti.json @@ -0,0 +1,313 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 17 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 56 + }, + "Cloth2Color": { + "type": "byte", + "value": 89 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 50058 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Benedict's Herald\n\nBenedictus was a Roman noble, who studied in Rome, but was dismayed by the lack of discipline and the lackadasical attitude of his fellow students. He fled to the mountains, living as a hermit in a cave for three years and was reported to have been fed by a raven. He later emerged a powerful clerical infulence and became famous for his ability to drive evil back from whence it came.\n\nClass: Cleric\n\nBonuses\n--------------\n2 Pieces: +4 Wis\n4 Pieces: 1d4 Divine Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune Lvl Drain\nHaste", + "id": 12861 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 74 + }, + "Leather2Color": { + "type": "byte", + "value": 63 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Benevolent Mitre", + "id": 12860 + } + }, + "Metal1Color": { + "type": "byte", + "value": 166 + }, + "Metal2Color": { + "type": "byte", + "value": 164 + }, + "ModelPart1": { + "type": "byte", + "value": 27 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 11 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 40 + }, + "Subtype": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 2 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_cleric_s1_3" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Benevolent Mitre" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Benedict's Herald" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_cleric_s1_4.uti.json b/_module/uti/sd_cleric_s1_4.uti.json new file mode 100644 index 00000000..29eec168 --- /dev/null +++ b/_module/uti/sd_cleric_s1_4.uti.json @@ -0,0 +1,384 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 7 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 17 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 10 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 1 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 11 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 19 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 9 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 3 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 6 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 7 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 17 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 10 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 33 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 11 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 15 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 9 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 61 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 56 + }, + "Cloth2Color": { + "type": "byte", + "value": 164 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 124377 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Benedict's Herald\n\nBenedictus was a Roman noble, who studied in Rome, but was dismayed by the lack of discipline and the lackadasical attitude of his fellow students. He fled to the mountains, living as a hermit in a cave for three years and was reported to have been fed by a raven. He later emerged a powerful clerical infulence and became famous for his ability to drive evil back from whence it came.\n\nClass: Cleric\n\nBonuses\n--------------\n2 Pieces: +4 Wis\n4 Pieces: 1d4 Divine Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune Lvl Drain\nHaste" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 164 + }, + "Leather2Color": { + "type": "byte", + "value": 164 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Benevolent Plate", + "id": 181 + } + }, + "Metal1Color": { + "type": "byte", + "value": 166 + }, + "Metal2Color": { + "type": "byte", + "value": 164 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 2 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_cleric_s1_4" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Benevolent Robe" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Benedict's Herald" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_cleric_s1_5.uti.json b/_module/uti/sd_cleric_s1_5.uti.json new file mode 100644 index 00000000..794fdaa0 --- /dev/null +++ b/_module/uti/sd_cleric_s1_5.uti.json @@ -0,0 +1,282 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 80 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 62 + }, + "Cloth2Color": { + "type": "byte", + "value": 62 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 143569 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Benedict's Herald\n\nBenedictus was a Roman noble, who studied in Rome, but was dismayed by the lack of discipline and the lackadasical attitude of his fellow students. He fled to the mountains, living as a hermit in a cave for three years and was reported to have been fed by a raven. He later emerged a powerful clerical infulence and became famous for his ability to drive evil back from whence it came.\n\nClass: Cleric\n\nBonuses\n--------------\n2 Pieces: +4 Wis\n4 Pieces: 1d4 Divine Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune Lvl Drain\nHaste", + "id": 66564 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 62 + }, + "Leather2Color": { + "type": "byte", + "value": 166 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Benevolent Ephod", + "id": 66563 + } + }, + "Metal1Color": { + "type": "byte", + "value": 62 + }, + "Metal2Color": { + "type": "byte", + "value": 164 + }, + "ModelPart1": { + "type": "byte", + "value": 4 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 3 + }, + "CostValue": { + "type": "word", + "value": 9 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 15 + }, + "Subtype": { + "type": "word", + "value": 183 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 2 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_cleric_s1_5" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Benevolent Ephod" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Benedict's Herald" + } + } + ] + } +} diff --git a/_module/uti/sd_cleric_s1_6.uti.json b/_module/uti/sd_cleric_s1_6.uti.json new file mode 100644 index 00000000..9fbc4d72 --- /dev/null +++ b/_module/uti/sd_cleric_s1_6.uti.json @@ -0,0 +1,382 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 21 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 268960 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Benedict's Herald\n\nBenedictus was a Roman noble, who studied in Rome, but was dismayed by the lack of discipline and the lackadasical attitude of his fellow students. He fled to the mountains, living as a hermit in a cave for three years and was reported to have been fed by a raven. He later emerged a powerful clerical infulence and became famous for his ability to drive evil back from whence it came.\n\nClass: Cleric\n\nBonuses\n--------------\n2 Pieces: +4 Wis\n4 Pieces: 1d4 Divine Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune Lvl Drain\nHaste", + "id": 67773 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Benevolent Cord", + "id": 67772 + } + }, + "ModelPart1": { + "type": "byte", + "value": 8 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 6 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 9 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 51 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 2 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_cleric_s1_6" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Benevolent Cord" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Benedict's Herald" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_druid_s1_1.uti.json b/_module/uti/sd_druid_s1_1.uti.json new file mode 100644 index 00000000..feadd47b --- /dev/null +++ b/_module/uti/sd_druid_s1_1.uti.json @@ -0,0 +1,344 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 17 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 63 + }, + "Cloth2Color": { + "type": "byte", + "value": 123 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 63471 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Soothsayer's Regalia\n\nLong ago, in a place called Wales, druids plunged golden gutting knives into human sacrifices. Or they stabbed a slave or criminal in the back. Surrounding him, the druids studied his convulsions. They intently listened to the volume and intensity of his groans. From his manner of dying, and after carefully comparing their observations, the druids foretold the future: and thus began the art of soothsaying.\n\nClass: Druid\n\nBonuses\n--------------\n\n2 Pieces: +4 Wis\n +40% Movement Increase\n4 Pieces: +4 Attack Bonus\n\n\nSet Bonus (6 Pieces)\n---------------------------------\n+1d4 Electrical Damage\nHaste", + "id": 12861 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 15 + }, + "Leather2Color": { + "type": "byte", + "value": 61 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Oracle's Headdress", + "id": 12860 + } + }, + "Metal1Color": { + "type": "byte", + "value": 8 + }, + "Metal2Color": { + "type": "byte", + "value": 61 + }, + "ModelPart1": { + "type": "byte", + "value": 11 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 3 + }, + "CostValue": { + "type": "word", + "value": 10 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 15 + }, + "Subtype": { + "type": "word", + "value": 515 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 25 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 52 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 3 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_druid_s1_1" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Oracle's Headdress" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Soothsayer's Regalia" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_druid_s1_2.uti.json b/_module/uti/sd_druid_s1_2.uti.json new file mode 100644 index 00000000..c975c43a --- /dev/null +++ b/_module/uti/sd_druid_s1_2.uti.json @@ -0,0 +1,415 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 15 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 12 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 1 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 11 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 19 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 9 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 6 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 15 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 12 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 1 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 4 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 11 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 15 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 9 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 6 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 13 + }, + "Cloth2Color": { + "type": "byte", + "value": 15 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 234856 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Soothsayer's Regalia\n\nLong ago, in a place called Wales, druids plunged golden gutting knives into human sacrifices. Or they stabbed a slave or criminal in the back. Surrounding him, the druids studied his convulsions. They intently listened to the volume and intensity of his groans. From his manner of dying, and after carefully comparing their observations, the druids foretold the future: and thus began the art of soothsaying.\n\nClass: Druid\n\nBonuses\n--------------\n\n2 Pieces: +4 Wis\n +40% Movement Increase\n4 Pieces: +4 Attack Bonus\n\n\nSet Bonus (6 Pieces)\n---------------------------------\n+1d4 Electrical Damage\nHaste" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 15 + }, + "Leather2Color": { + "type": "byte", + "value": 63 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Oracle's Covering", + "id": 181 + } + }, + "Metal1Color": { + "type": "byte", + "value": 61 + }, + "Metal2Color": { + "type": "byte", + "value": 63 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 6 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 3 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_druid_s1_2" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Oracle's Covering" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Soothsayer's Regalia" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_druid_s1_3.uti.json b/_module/uti/sd_druid_s1_3.uti.json new file mode 100644 index 00000000..f84f9bf3 --- /dev/null +++ b/_module/uti/sd_druid_s1_3.uti.json @@ -0,0 +1,297 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 26 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 114170 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Soothsayer's Regalia\n\nLong ago, in a place called Wales, druids plunged golden gutting knives into human sacrifices. Or they stabbed a slave or criminal in the back. Surrounding him, the druids studied his convulsions. They intently listened to the volume and intensity of his groans. From his manner of dying, and after carefully comparing their observations, the druids foretold the future: and thus began the art of soothsaying.\n\nClass: Druid\n\nBonuses\n--------------\n\n2 Pieces: +4 Wis\n +40% Movement Increase\n4 Pieces: +4 Attack Bonus\n\n\nSet Bonus (6 Pieces)\n---------------------------------\n+1d4 Electrical Damage\nHaste", + "id": 67778 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Oracle's Shinwraps", + "id": 67780 + } + }, + "ModelPart1": { + "type": "byte", + "value": 43 + }, + "ModelPart2": { + "type": "byte", + "value": 34 + }, + "ModelPart3": { + "type": "byte", + "value": 34 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 40 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 3 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_druid_s1_3" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Oracle's Shinwraps" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Soothsayer's Regalia" + } + } + ] + } +} diff --git a/_module/uti/sd_druid_s1_4.uti.json b/_module/uti/sd_druid_s1_4.uti.json new file mode 100644 index 00000000..eef1516b --- /dev/null +++ b/_module/uti/sd_druid_s1_4.uti.json @@ -0,0 +1,444 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 21 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 660491 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Soothsayer's Regalia\n\nLong ago, in a place called Wales, druids plunged golden gutting knives into human sacrifices. Or they stabbed a slave or criminal in the back. Surrounding him, the druids studied his convulsions. They intently listened to the volume and intensity of his groans. From his manner of dying, and after carefully comparing their observations, the druids foretold the future: and thus began the art of soothsaying.\n\nClass: Druid\n\nBonuses\n--------------\n\n2 Pieces: +4 Wis\n +40% Movement Increase\n4 Pieces: +4 Attack Bonus\n\n\nSet Bonus (6 Pieces)\n---------------------------------\n+1d4 Electrical Damage\nHaste", + "id": 67773 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Oracle's Cord", + "id": 67772 + } + }, + "ModelPart1": { + "type": "byte", + "value": 7 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 9 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 9 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 9 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 3 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_druid_s1_4" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Oracle's Cord" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Soothsayer's Regalia" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_druid_s1_5.uti.json b/_module/uti/sd_druid_s1_5.uti.json new file mode 100644 index 00000000..1022f32f --- /dev/null +++ b/_module/uti/sd_druid_s1_5.uti.json @@ -0,0 +1,313 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 80 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 15 + }, + "Cloth2Color": { + "type": "byte", + "value": 63 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 134793 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Soothsayer's Regalia\n\nLong ago, in a place called Wales, druids plunged golden gutting knives into human sacrifices. Or they stabbed a slave or criminal in the back. Surrounding him, the druids studied his convulsions. They intently listened to the volume and intensity of his groans. From his manner of dying, and after carefully comparing their observations, the druids foretold the future: and thus began the art of soothsaying.\n\nClass: Druid\n\nBonuses\n--------------\n\n2 Pieces: +4 Wis\n +40% Movement Increase\n4 Pieces: +4 Attack Bonus\n\n\nSet Bonus (6 Pieces)\n---------------------------------\n+1d4 Electrical Damage\nHaste", + "id": 66564 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 15 + }, + "Leather2Color": { + "type": "byte", + "value": 15 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Oracle's Mantle", + "id": 66563 + } + }, + "Metal1Color": { + "type": "byte", + "value": 152 + }, + "Metal2Color": { + "type": "byte", + "value": 61 + }, + "ModelPart1": { + "type": "byte", + "value": 2 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 51 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 3 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_druid_s1_5" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Oracle's Mantle" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Soothsayer's Regalia" + } + } + ] + } +} diff --git a/_module/uti/sd_druid_s1_6.uti.json b/_module/uti/sd_druid_s1_6.uti.json new file mode 100644 index 00000000..54cbbe3f --- /dev/null +++ b/_module/uti/sd_druid_s1_6.uti.json @@ -0,0 +1,289 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 36 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 125441 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Soothsayer's Regalia\n\nLong ago, in a place called Wales, druids plunged golden gutting knives into human sacrifices. Or they stabbed a slave or criminal in the back. Surrounding him, the druids studied his convulsions. They intently listened to the volume and intensity of his groans. From his manner of dying, and after carefully comparing their observations, the druids foretold the future: and thus began the art of soothsaying.\n\nClass: Druid\n\nBonuses\n--------------\n\n2 Pieces: +4 Wis\n +40% Movement Increase\n4 Pieces: +4 Attack Bonus\n\n\nSet Bonus (6 Pieces)\n---------------------------------\n+1d4 Electrical Damage\nHaste", + "id": 48882 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Oracle's Stanchions", + "id": 48881 + } + }, + "ModelPart1": { + "type": "byte", + "value": 5 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 36 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 3 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_druid_s1_6" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Oracle's Stanchions" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Soothsayer's Regalia" + } + } + ] + } +} diff --git a/_module/uti/sd_fighter_s1_1.uti.json b/_module/uti/sd_fighter_s1_1.uti.json new file mode 100644 index 00000000..daabb957 --- /dev/null +++ b/_module/uti/sd_fighter_s1_1.uti.json @@ -0,0 +1,415 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 7 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 17 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 5 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 5 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 11 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 19 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 9 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 3 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 6 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 7 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 17 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 5 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 5 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 11 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 15 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 9 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 53 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 91 + }, + "Cloth2Color": { + "type": "byte", + "value": 91 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 188779 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Dorian's Battlegear \n\nKnown as 'Dorian the Red', Dorian was a dwarven hero reknown for his penchant for setting fire to his weapons before charging into battle. He was also famous for his uncanny speed with an axe.\n\nClass: Fighter\nClass: Ranger\n\nBonuses\n--------------\n2 Pieces: +4 STR\n4 Pieces: 1d4 Fire Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\n+2 Attacks/Round" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 91 + }, + "Leather2Color": { + "type": "byte", + "value": 23 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Dorian's Vestguard", + "id": 181 + } + }, + "Metal1Color": { + "type": "byte", + "value": 63 + }, + "Metal2Color": { + "type": "byte", + "value": 7 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 7 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_fighter_s1_1" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dorian's Vestguard" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dorian's Battlegear" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_fighter_s1_2.uti.json b/_module/uti/sd_fighter_s1_2.uti.json new file mode 100644 index 00000000..7beb87d6 --- /dev/null +++ b/_module/uti/sd_fighter_s1_2.uti.json @@ -0,0 +1,317 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 57 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 63790 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Dorian's Battlegear \n\nKnown as 'Dorian the Red', Dorian was a dwarven hero reknown for his penchant for setting fire to his weapons before charging into battle. He was also famous for his uncanny speed with an axe.\n\nClass: Fighter\nClass: Ranger\n\nBonuses\n--------------\n2 Pieces: +4 STR\n4 Pieces: 1d4 Fire Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\n+2 Attacks/Round" + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Dorian's Crest", + "id": 1551 + } + }, + "ModelPart1": { + "type": "byte", + "value": 31 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 11 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 39 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 7 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_fighter_s1_2" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dorian's Crest" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dorian's Battlegear" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_fighter_s1_3.uti.json b/_module/uti/sd_fighter_s1_3.uti.json new file mode 100644 index 00000000..d0399a82 --- /dev/null +++ b/_module/uti/sd_fighter_s1_3.uti.json @@ -0,0 +1,375 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 17 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 56 + }, + "Cloth2Color": { + "type": "byte", + "value": 89 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 84827 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Dorian's Battlegear \n\nKnown as 'Dorian the Red', Dorian was a dwarven hero reknown for his penchant for setting fire to his weapons before charging into battle. He was also famous for his uncanny speed with an axe.\n\nClass: Fighter\nClass: Ranger\n\nBonuses\n--------------\n2 Pieces: +4 STR\n4 Pieces: 1d4 Fire Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\n+2 Attacks/Round", + "id": 12861 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 88 + }, + "Leather2Color": { + "type": "byte", + "value": 63 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Dorian's Helm", + "id": 12860 + } + }, + "Metal1Color": { + "type": "byte", + "value": 63 + }, + "Metal2Color": { + "type": "byte", + "value": 56 + }, + "ModelPart1": { + "type": "byte", + "value": 16 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 41 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 11 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 39 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 7 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_fighter_s1_3" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dorian's Helm" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dorian's Battlegear" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_fighter_s1_4.uti.json b/_module/uti/sd_fighter_s1_4.uti.json new file mode 100644 index 00000000..d582a0a2 --- /dev/null +++ b/_module/uti/sd_fighter_s1_4.uti.json @@ -0,0 +1,349 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 21 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 319874 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Dorian's Battlegear \n\nKnown as 'Dorian the Red', Dorian was a dwarven hero reknown for his penchant for setting fire to his weapons before charging into battle. He was also famous for his uncanny speed with an axe.\n\nClass: Fighter\nClass: Ranger\n\nBonuses\n--------------\n2 Pieces: +4 STR\n4 Pieces: 1d4 Fire Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\n+2 Attacks/Round", + "id": 67773 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Dorian's Waistband", + "id": 67772 + } + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 75 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 41 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 7 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_fighter_s1_4" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dorian's Waistband" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dorian's Battlegear" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_fighter_s1_5.uti.json b/_module/uti/sd_fighter_s1_5.uti.json new file mode 100644 index 00000000..fea39745 --- /dev/null +++ b/_module/uti/sd_fighter_s1_5.uti.json @@ -0,0 +1,289 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 36 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 23378 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Dorian's Battlegear \n\nKnown as 'Dorian the Red', Dorian was a dwarven hero reknown for his penchant for setting fire to his weapons before charging into battle. He was also famous for his uncanny speed with an axe.\n\nClass: Fighter\nClass: Ranger\n\nBonuses\n--------------\n2 Pieces: +4 STR\n4 Pieces: 1d4 Fire Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\n+2 Attacks/Round", + "id": 48882 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Dorian's Gauntlets", + "id": 48881 + } + }, + "ModelPart1": { + "type": "byte", + "value": 3 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 41 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 25 + }, + "CostValue": { + "type": "word", + "value": 10 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 52 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 7 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_fighter_s1_5" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dorian's Gauntlets" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dorian's Battlegear" + } + } + ] + } +} diff --git a/_module/uti/sd_fighter_s1_6.uti.json b/_module/uti/sd_fighter_s1_6.uti.json new file mode 100644 index 00000000..56863785 --- /dev/null +++ b/_module/uti/sd_fighter_s1_6.uti.json @@ -0,0 +1,390 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 26 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 282577 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Dorian's Battlegear \n\nKnown as 'Dorian the Red', Dorian was a dwarven hero reknown for his penchant for setting fire to his weapons before charging into battle. He was also famous for his uncanny speed with an axe.\n\nClass: Fighter\nClass: Ranger\n\nBonuses\n--------------\n2 Pieces: +4 STR\n4 Pieces: 1d4 Fire Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\n+2 Attacks/Round", + "id": 67778 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Dorian's Greaves", + "id": 67780 + } + }, + "ModelPart1": { + "type": "byte", + "value": 33 + }, + "ModelPart2": { + "type": "byte", + "value": 11 + }, + "ModelPart3": { + "type": "byte", + "value": 11 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 75 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 35 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 7 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_fighter_s1_6" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dorian's Greaves" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Dorian's Battlegear" + } + } + ] + } +} diff --git a/_module/uti/sd_fighter_s2_1.uti.json b/_module/uti/sd_fighter_s2_1.uti.json new file mode 100644 index 00000000..4ebce0c2 --- /dev/null +++ b/_module/uti/sd_fighter_s2_1.uti.json @@ -0,0 +1,382 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 36 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 126226 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Shinobi's Garb\n\nThe Shinobi were a clan of ninja, famed for their formidible warriors and stealthy assassins. They were masters of the art of ninjutsu. The underlying connotation of shinobi (pronounced nin in Sino-Japanese compounds) is \"to do quietly\". The nin of ninjutsu is the same as that in ninja, whereas jutsu means skill or art, so ninjutsu means \"the skill of going unperceived\" or \"the art of stealth\"\n\nClass: Rogue\nClass: Ranger\nClass: Fighter\n\nBonuses\n--------------\n2 Pieces +50% Move Spd\n4 Pieces: +6 Dex\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Piercing Damage\n60% Concealment", + "id": 48882 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Shinobi's Tekou", + "id": 48881 + } + }, + "ModelPart1": { + "type": "byte", + "value": 4 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 36 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 41 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 25 + }, + "CostValue": { + "type": "word", + "value": 10 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 52 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 8 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_fighter_s2_1" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Shinobi's Teku" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Shinobi's Garb" + } + } + ] + } +} diff --git a/_module/uti/sd_fighter_s2_2.uti.json b/_module/uti/sd_fighter_s2_2.uti.json new file mode 100644 index 00000000..62709472 --- /dev/null +++ b/_module/uti/sd_fighter_s2_2.uti.json @@ -0,0 +1,375 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 17 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 119 + }, + "Cloth2Color": { + "type": "byte", + "value": 89 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 32607 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Shinobi's Garb\n\nThe Shinobi were a clan of ninja, famed for their formidible warriors and stealthy assassins. They were masters of the art of ninjutsu. The underlying connotation of shinobi (pronounced nin in Sino-Japanese compounds) is \"to do quietly\". The nin of ninjutsu is the same as that in ninja, whereas jutsu means skill or art, so ninjutsu means \"the skill of going unperceived\" or \"the art of stealth\"\n\nClass: Rogue\nClass: Ranger\nClass: Fighter\n\nBonuses\n--------------\n2 Pieces +50% Move Spd\n4 Pieces: +6 Dex\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Piercing Damage\n60% Concealment", + "id": 12861 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 85 + }, + "Leather2Color": { + "type": "byte", + "value": 63 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Shinobi's Kabuto", + "id": 12860 + } + }, + "Metal1Color": { + "type": "byte", + "value": 63 + }, + "Metal2Color": { + "type": "byte", + "value": 57 + }, + "ModelPart1": { + "type": "byte", + "value": 29 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 41 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 11 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 39 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 8 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_fighter_s2_2" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Shinobi's Kabuto" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Shinobi's Garb" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_fighter_s2_3.uti.json b/_module/uti/sd_fighter_s2_3.uti.json new file mode 100644 index 00000000..96241536 --- /dev/null +++ b/_module/uti/sd_fighter_s2_3.uti.json @@ -0,0 +1,446 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 7 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 17 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 10 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 11 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 19 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 9 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 6 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 7 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 17 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 10 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 4 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 11 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 15 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 9 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 6 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 45 + }, + "Cloth2Color": { + "type": "byte", + "value": 63 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 187280 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Shinobi's Garb\n\nThe Shinobi were a clan of ninja, famed for their formidible warriors and stealthy assassins. They were masters of the art of ninjutsu. The underlying connotation of shinobi (pronounced nin in Sino-Japanese compounds) is \"to do quietly\". The nin of ninjutsu is the same as that in ninja, whereas jutsu means skill or art, so ninjutsu means \"the skill of going unperceived\" or \"the art of stealth\"\n\nClass: Rogue\nClass: Ranger\nClass: Fighter\n\n\nBonuses\n--------------\n2 Pieces +50% Move Spd\n4 Pieces: +6 Dex\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Piercing Damage\n60% Concealment" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 23 + }, + "Leather2Color": { + "type": "byte", + "value": 45 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Shinobi's Kimono", + "id": 181 + } + }, + "Metal1Color": { + "type": "byte", + "value": 164 + }, + "Metal2Color": { + "type": "byte", + "value": 63 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 21 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 8 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_fighter_s2_3" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Shinobi's Kimono" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Shinobi's Garb" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_fighter_s2_4.uti.json b/_module/uti/sd_fighter_s2_4.uti.json new file mode 100644 index 00000000..6e95d04a --- /dev/null +++ b/_module/uti/sd_fighter_s2_4.uti.json @@ -0,0 +1,328 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 26 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 69057 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Shinobi's Garb\n\nThe Shinobi were a clan of ninja, famed for their formidible warriors and stealthy assassins. They were masters of the art of ninjutsu. The underlying connotation of shinobi (pronounced nin in Sino-Japanese compounds) is \"to do quietly\". The nin of ninjutsu is the same as that in ninja, whereas jutsu means skill or art, so ninjutsu means \"the skill of going unperceived\" or \"the art of stealth\"\n\nClass: Rogue\nClass: Ranger\nClass: Fighter\n\nBonuses\n--------------\n2 Pieces +50% Move Spd\n4 Pieces: +6 Dex\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Piercing Damage\n60% Concealment", + "id": 67778 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Shinobi's Tabi", + "id": 67780 + } + }, + "ModelPart1": { + "type": "byte", + "value": 33 + }, + "ModelPart2": { + "type": "byte", + "value": 12 + }, + "ModelPart3": { + "type": "byte", + "value": 41 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 8 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_fighter_s2_4" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Shinobi's Tabi" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Shinobi's Garb" + } + } + ] + } +} diff --git a/_module/uti/sd_fighter_s2_5.uti.json b/_module/uti/sd_fighter_s2_5.uti.json new file mode 100644 index 00000000..7d437436 --- /dev/null +++ b/_module/uti/sd_fighter_s2_5.uti.json @@ -0,0 +1,382 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 21 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 66016 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Shinobi's Garb\n\nThe Shinobi were a clan of ninja, famed for their formidible warriors and stealthy assassins. They were masters of the art of ninjutsu. The underlying connotation of shinobi (pronounced nin in Sino-Japanese compounds) is \"to do quietly\". The nin of ninjutsu is the same as that in ninja, whereas jutsu means skill or art, so ninjutsu means \"the skill of going unperceived\" or \"the art of stealth\"\n\nClass: Rogue\nClass: Ranger\nClass: Fighter\n\n\nBonuses\n--------------\n2 Pieces +50% Move Spd\n4 Pieces: +6 Dex\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Piercing Damage\n60% Concealment", + "id": 67773 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Shinobi's Obi", + "id": 67772 + } + }, + "ModelPart1": { + "type": "byte", + "value": 4 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 40 + }, + "Subtype": { + "type": "word", + "value": 13 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 8 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_fighter_s2_5" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Shinobi's Obi" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Shinobi's Garb" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_fighter_s2_6.uti.json b/_module/uti/sd_fighter_s2_6.uti.json new file mode 100644 index 00000000..14917267 --- /dev/null +++ b/_module/uti/sd_fighter_s2_6.uti.json @@ -0,0 +1,375 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 80 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 63 + }, + "Cloth2Color": { + "type": "byte", + "value": 23 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 175166 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Shinobi's Garb\n\nThe Shinobi were a clan of ninja, famed for their formidible warriors and stealthy assassins. They were masters of the art of ninjutsu. The underlying connotation of shinobi (pronounced nin in Sino-Japanese compounds) is \"to do quietly\". The nin of ninjutsu is the same as that in ninja, whereas jutsu means skill or art, so ninjutsu means \"the skill of going unperceived\" or \"the art of stealth\"\n\nClass: Rogue\nClass: Ranger\nClass: Fighter\n\nBonuses\n--------------\n2 Pieces +50% Move Spd\n4 Pieces: +6 Dex\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Piercing Damage\n60% Concealment", + "id": 66564 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 63 + }, + "Leather2Color": { + "type": "byte", + "value": 63 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Shinobi's Oyoroi", + "id": 66563 + } + }, + "Metal1Color": { + "type": "byte", + "value": 166 + }, + "Metal2Color": { + "type": "byte", + "value": 56 + }, + "ModelPart1": { + "type": "byte", + "value": 5 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 40 + }, + "Subtype": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 8 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_fighter_s2_6" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Shinobi's Oyoroi" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Shinobi's Garb" + } + } + ] + } +} diff --git a/_module/uti/sd_mgloves.uti.json b/_module/uti/sd_mgloves.uti.json new file mode 100644 index 00000000..f69253c5 --- /dev/null +++ b/_module/uti/sd_mgloves.uti.json @@ -0,0 +1,111 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 36 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Monk Gloves" + } + }, + "ModelPart1": { + "type": "byte", + "value": 2 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 5 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_mgloves" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_mgloves" + } +} diff --git a/_module/uti/sd_mgloves1.uti.json b/_module/uti/sd_mgloves1.uti.json new file mode 100644 index 00000000..72b525e3 --- /dev/null +++ b/_module/uti/sd_mgloves1.uti.json @@ -0,0 +1,111 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 36 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Monk Gloves" + } + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 5 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_mgloves1" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_mgloves1" + } +} diff --git a/_module/uti/sd_mgloves2.uti.json b/_module/uti/sd_mgloves2.uti.json new file mode 100644 index 00000000..a2cecf16 --- /dev/null +++ b/_module/uti/sd_mgloves2.uti.json @@ -0,0 +1,111 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 36 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Monk Gloves" + } + }, + "ModelPart1": { + "type": "byte", + "value": 11 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 5 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_mgloves2" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_mgloves2" + } +} diff --git a/_module/uti/sd_mgloves3.uti.json b/_module/uti/sd_mgloves3.uti.json new file mode 100644 index 00000000..2fb414e7 --- /dev/null +++ b/_module/uti/sd_mgloves3.uti.json @@ -0,0 +1,111 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 36 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Monk Gloves" + } + }, + "ModelPart1": { + "type": "byte", + "value": 6 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 5 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_mgloves3" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_mgloves3" + } +} diff --git a/_module/uti/sd_mgloves4.uti.json b/_module/uti/sd_mgloves4.uti.json new file mode 100644 index 00000000..d18785f1 --- /dev/null +++ b/_module/uti/sd_mgloves4.uti.json @@ -0,0 +1,111 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 36 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Monk Gloves" + } + }, + "ModelPart1": { + "type": "byte", + "value": 5 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 5 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_mgloves4" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_mgloves4" + } +} diff --git a/_module/uti/sd_mgloves5.uti.json b/_module/uti/sd_mgloves5.uti.json new file mode 100644 index 00000000..cf91d837 --- /dev/null +++ b/_module/uti/sd_mgloves5.uti.json @@ -0,0 +1,111 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 36 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Monk Gloves" + } + }, + "ModelPart1": { + "type": "byte", + "value": 3 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 5 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_mgloves5" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_mgloves5" + } +} diff --git a/_module/uti/sd_monk_s1_1.uti.json b/_module/uti/sd_monk_s1_1.uti.json new file mode 100644 index 00000000..d4189857 --- /dev/null +++ b/_module/uti/sd_monk_s1_1.uti.json @@ -0,0 +1,313 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 17 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 63 + }, + "Cloth2Color": { + "type": "byte", + "value": 63 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 47268 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Robes of Enlightenment\n\nEnlightenment means \"the acquisition of new wisdom or understanding\". \n\nThe lotus has its roots in the mud,\nGrows up through the deep water,\nAnd rises to the surface.\nIt blooms into perfect beauty and purity in the sunlight.\nIt is like the mind unfolding to perfect wisdom.\n\n\nClass: Monk\n\nBonuses\n--------------\n\n2 Pieces: +4 Wis\n4 Pieces: +10 Soak 5 Dmg\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Sonic Damage\n+4 Regeneration", + "id": 12861 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 75 + }, + "Leather2Color": { + "type": "byte", + "value": 119 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Trancendent Cap", + "id": 12860 + } + }, + "Metal1Color": { + "type": "byte", + "value": 61 + }, + "Metal2Color": { + "type": "byte", + "value": 84 + }, + "ModelPart1": { + "type": "byte", + "value": 28 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 11 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 39 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 5 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_monk_s1_1" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Trancendent Cap" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Robes of Enlightenment" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_monk_s1_2.uti.json b/_module/uti/sd_monk_s1_2.uti.json new file mode 100644 index 00000000..39d93ea7 --- /dev/null +++ b/_module/uti/sd_monk_s1_2.uti.json @@ -0,0 +1,415 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 16 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 1 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 17 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 10 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 16 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 0 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 8 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 31 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 1 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 17 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 10 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 16 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 8 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 6 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 20 + }, + "Cloth2Color": { + "type": "byte", + "value": 22 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 107849 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Robes of Enlightenment\n\nEnlightenment means \"the acquisition of new wisdom or understanding\". \n\nThe lotus has its roots in the mud,\nGrows up through the deep water,\nAnd rises to the surface.\nIt blooms into perfect beauty and purity in the sunlight.\nIt is like the mind unfolding to perfect wisdom.\n\n\nClass: Monk\n\nBonuses\n--------------\n\n2 Pieces: +4 Wis\n4 Pieces: +10 Soak 5 Dmg\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Sonic Damage\n+4 Regeneration" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 63 + }, + "Leather2Color": { + "type": "byte", + "value": 132 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Trancendent Harness", + "id": 181 + } + }, + "Metal1Color": { + "type": "byte", + "value": 1 + }, + "Metal2Color": { + "type": "byte", + "value": 0 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 18 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 9 + }, + "Param1Value": { + "type": "byte", + "value": 6 + }, + "PropertyName": { + "type": "word", + "value": 44 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 25 + }, + "CostValue": { + "type": "word", + "value": 10 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 52 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 5 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_monk_s1_2" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Trancendent Harness" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Robes of Enlightenment" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_monk_s1_3.uti.json b/_module/uti/sd_monk_s1_3.uti.json new file mode 100644 index 00000000..fcf7758d --- /dev/null +++ b/_module/uti/sd_monk_s1_3.uti.json @@ -0,0 +1,320 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 21 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 73531 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Robes of Enlightenment\n\nEnlightenment means \"the acquisition of new wisdom or understanding\". \n\nThe lotus has its roots in the mud,\nGrows up through the deep water,\nAnd rises to the surface.\nIt blooms into perfect beauty and purity in the sunlight.\nIt is like the mind unfolding to perfect wisdom.\n\n\nClass: Monk\n\nBonuses\n--------------\n\n2 Pieces: +4 Wis\n4 Pieces: +10 Soak 5 Dmg\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Sonic Damage\n+4 Regeneration", + "id": 67773 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Trancendent Sequin Belt", + "id": 67772 + } + }, + "ModelPart1": { + "type": "byte", + "value": 9 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 16 + }, + "CostValue": { + "type": "word", + "value": 69 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 53 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 5 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_monk_s1_3" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Trancendent Sequin Belt" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Robes of Enlightenment" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_monk_s1_4.uti.json b/_module/uti/sd_monk_s1_4.uti.json new file mode 100644 index 00000000..e332150f --- /dev/null +++ b/_module/uti/sd_monk_s1_4.uti.json @@ -0,0 +1,344 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 80 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 63 + }, + "Cloth2Color": { + "type": "byte", + "value": 23 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 180500 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Robes of Enlightenment\n\nEnlightenment means \"the acquisition of new wisdom or understanding\". \n\nThe lotus has its roots in the mud,\nGrows up through the deep water,\nAnd rises to the surface.\nIt blooms into perfect beauty and purity in the sunlight.\nIt is like the mind unfolding to perfect wisdom.\n\n\nClass: Monk\n\nBonuses\n--------------\n\n2 Pieces: +4 Wis\n4 Pieces: +10 Soak 5 Dmg\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Sonic Damage\n+4 Regeneration", + "id": 66564 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 63 + }, + "Leather2Color": { + "type": "byte", + "value": 63 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Trancendent Windcatcher", + "id": 66563 + } + }, + "Metal1Color": { + "type": "byte", + "value": 166 + }, + "Metal2Color": { + "type": "byte", + "value": 56 + }, + "ModelPart1": { + "type": "byte", + "value": 8 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 40 + }, + "Subtype": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 11 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 39 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 5 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_monk_s1_4" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Trancendent Windcatcher" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Robes of Enlightenment" + } + } + ] + } +} diff --git a/_module/uti/sd_monk_s1_5.uti.json b/_module/uti/sd_monk_s1_5.uti.json new file mode 100644 index 00000000..a4e34148 --- /dev/null +++ b/_module/uti/sd_monk_s1_5.uti.json @@ -0,0 +1,297 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 26 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 177157 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Robes of Enlightenment\n\nEnlightenment means \"the acquisition of new wisdom or understanding\". \n\nThe lotus has its roots in the mud,\nGrows up through the deep water,\nAnd rises to the surface.\nIt blooms into perfect beauty and purity in the sunlight.\nIt is like the mind unfolding to perfect wisdom.\n\n\nClass: Monk\n\nBonuses\n--------------\n\n2 Pieces: +4 Wis\n4 Pieces: +10 Soak 5 Dmg\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Sonic Damage\n+4 Regeneration", + "id": 67778 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Trancendent Clogs", + "id": 67780 + } + }, + "ModelPart1": { + "type": "byte", + "value": 33 + }, + "ModelPart2": { + "type": "byte", + "value": 42 + }, + "ModelPart3": { + "type": "byte", + "value": 22 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 29 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 5 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_monk_s1_5" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Trancendent Clogs" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Robes of Enlightenment" + } + } + ] + } +} diff --git a/_module/uti/sd_monk_s1_6.uti.json b/_module/uti/sd_monk_s1_6.uti.json new file mode 100644 index 00000000..cce0339b --- /dev/null +++ b/_module/uti/sd_monk_s1_6.uti.json @@ -0,0 +1,318 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 19 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 143163 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Robes of Enlightenment\n\nEnlightenment means \"the acquisition of new wisdom or understanding\". \n\nThe lotus has its roots in the mud,\nGrows up through the deep water,\nAnd rises to the surface.\nIt blooms into perfect beauty and purity in the sunlight.\nIt is like the mind unfolding to perfect wisdom.\n\n\nClass: Monk\n\nBonuses\n--------------\n\n2 Pieces: +4 Wis\n4 Pieces: +10 Soak 5 Dmg\n\nSet Bonus (6 Pieces)\n---------------------------------\n1d4 Sonic Damage\n+4 Regeneration" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Trancendent Amulet" + } + }, + "ModelPart1": { + "type": "byte", + "value": 2 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 3 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 15 + }, + "Subtype": { + "type": "word", + "value": 127 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 51 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 5 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_monk_s1_6" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Trancendent Amulet" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Robes of Enlightenment" + } + } + ] + } +} diff --git a/_module/uti/sd_paladin_s1_1.uti.json b/_module/uti/sd_paladin_s1_1.uti.json new file mode 100644 index 00000000..7b09e513 --- /dev/null +++ b/_module/uti/sd_paladin_s1_1.uti.json @@ -0,0 +1,320 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 36 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 71403 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Armor of Divinity\n\nA paladins gain strength from faith in their deity. This uneavering faith empowers them to perform holy blessings on their friends and also to werak cruel vengeance on their enemies. The armor of divinity was a gift to the ancient paladin, Paledeus from his deity, Isis. It is roumoured that any who wear this armor and have true faith in their deity will unlock the formidible divine power sealed within.\n\nClass: Paladin\nClass: Champion of Torm\n\nBonuses\n--------------\n2 Pieces: +4 CHA\n4 Pieces: 1d4 Slashing Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\n+1 Attacks/Round\n+2 Attack Bonus", + "id": 48882 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Zealot's Gloves", + "id": 48881 + } + }, + "ModelPart1": { + "type": "byte", + "value": 2 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 6 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_paladin_s1_1" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Zealot's Gloves" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Armor of Divinity" + } + } + ] + } +} diff --git a/_module/uti/sd_paladin_s1_2.uti.json b/_module/uti/sd_paladin_s1_2.uti.json new file mode 100644 index 00000000..4042f30c --- /dev/null +++ b/_module/uti/sd_paladin_s1_2.uti.json @@ -0,0 +1,328 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 26 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 114705 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Armor of Divinity\n\nA paladins gain strength from faith in their deity. This uneavering faith empowers them to perform holy blessings on their friends and also to werak cruel vengeance on their enemies. The armor of divinity was a gift to the ancient paladin, Paledeus from his deity, Isis. It is roumoured that any who wear this armor and have true faith in their deity will unlock the formidible divine power sealed within.\n\nClass: Paladin\nClass: Champion of Torm\n\nBonuses\n--------------\n2 Pieces: +4 CHA\n4 Pieces: 1d4 Slashing Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\n+1 Attacks/Round\n+2 Attack Bonus", + "id": 67778 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Zealot's Sabatons", + "id": 67780 + } + }, + "ModelPart1": { + "type": "byte", + "value": 33 + }, + "ModelPart2": { + "type": "byte", + "value": 23 + }, + "ModelPart3": { + "type": "byte", + "value": 11 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 6 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_paladin_s1_2" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Zealot's Sabatons" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Armor of Divinity" + } + } + ] + } +} diff --git a/_module/uti/sd_paladin_s1_3.uti.json b/_module/uti/sd_paladin_s1_3.uti.json new file mode 100644 index 00000000..7606c24b --- /dev/null +++ b/_module/uti/sd_paladin_s1_3.uti.json @@ -0,0 +1,319 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 57 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 72876 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Armor of Divinity\n\nA paladins gain strength from faith in their deity. This uneavering faith empowers them to perform holy blessings on their friends and also to werak cruel vengeance on their enemies. The armor of divinity was a gift to the ancient paladin, Paledeus from his deity, Isis. It is roumoured that any who wear this armor and have true faith in their deity will unlock the formidible divine power sealed within.\n\nClass: Paladin\nClass: Champion of Torm\n\nBonuses\n--------------\n2 Pieces: +4 CHA\n4 Pieces: 1d4 Slashing Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\n+1 Attacks/Round\n+2 Attack Bonus" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Zealot's Targe", + "id": 1551 + } + }, + "ModelPart1": { + "type": "byte", + "value": 41 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 6 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_paladin_s1_3" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Zealot's Targe" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Armor of Divinity" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_paladin_s1_4.uti.json b/_module/uti/sd_paladin_s1_4.uti.json new file mode 100644 index 00000000..6496bf47 --- /dev/null +++ b/_module/uti/sd_paladin_s1_4.uti.json @@ -0,0 +1,375 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 17 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 56 + }, + "Cloth2Color": { + "type": "byte", + "value": 89 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 65208 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Armor of Divinity\n\nA paladins gain strength from faith in their deity. This uneavering faith empowers them to perform holy blessings on their friends and also to werak cruel vengeance on their enemies. The armor of divinity was a gift to the ancient paladin, Paledeus from his deity, Isis. It is roumoured that any who wear this armor and have true faith in their deity will unlock the formidible divine power sealed within.\n\nClass: Paladin\nClass: Champion of Torm\n\nBonuses\n--------------\n2 Pieces: +4 CHA\n4 Pieces: 1d4 Slashing Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\n+1 Attacks/Round\n+2 Attack Bonus", + "id": 12861 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 88 + }, + "Leather2Color": { + "type": "byte", + "value": 63 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Zealot's Vanguard", + "id": 12860 + } + }, + "Metal1Color": { + "type": "byte", + "value": 61 + }, + "Metal2Color": { + "type": "byte", + "value": 61 + }, + "ModelPart1": { + "type": "byte", + "value": 31 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 25 + }, + "CostValue": { + "type": "word", + "value": 10 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 52 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 11 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 39 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 6 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_paladin_s1_4" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Zealot's Vanguard" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Armor of Divinity" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_paladin_s1_5.uti.json b/_module/uti/sd_paladin_s1_5.uti.json new file mode 100644 index 00000000..600c2b71 --- /dev/null +++ b/_module/uti/sd_paladin_s1_5.uti.json @@ -0,0 +1,446 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 7 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 20 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 5 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 5 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 17 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 9 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 8 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 7 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 20 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 5 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 5 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 17 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 8 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 9 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 23 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 61 + }, + "Cloth2Color": { + "type": "byte", + "value": 61 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 183345 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Armor of Divinity\n\nA paladins gain strength from faith in their deity. This uneavering faith empowers them to perform holy blessings on their friends and also to werak cruel vengeance on their enemies. The armor of divinity was a gift to the ancient paladin, Paledeus from his deity, Isis. It is roumoured that any who wear this armor and have true faith in their deity will unlock the formidible divine power sealed within.\n\nClass: Paladin\nClass: Champion of Torm\n\nBonuses\n--------------\n2 Pieces: +4 CHA\n4 Pieces: 1d4 Slashing Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\n+1 Attacks/Round\n+2 Attack Bonus" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 61 + }, + "Leather2Color": { + "type": "byte", + "value": 61 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Zealot's Plate", + "id": 181 + } + }, + "Metal1Color": { + "type": "byte", + "value": 61 + }, + "Metal2Color": { + "type": "byte", + "value": 0 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 6 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_paladin_s1_5" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Zealot's Plate" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Armor of Divinity" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_paladin_s1_6.uti.json b/_module/uti/sd_paladin_s1_6.uti.json new file mode 100644 index 00000000..a6e78a2f --- /dev/null +++ b/_module/uti/sd_paladin_s1_6.uti.json @@ -0,0 +1,506 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 21 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 228011 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Armor of Divinity\n\nA paladins gain strength from faith in their deity. This uneavering faith empowers them to perform holy blessings on their friends and also to werak cruel vengeance on their enemies. The armor of divinity was a gift to the ancient paladin, Paledeus from his deity, Isis. It is roumoured that any who wear this armor and have true faith in their deity will unlock the formidible divine power sealed within.\n\nClass: Paladin\nClass: Champion of Torm\n\nBonuses\n--------------\n2 Pieces: +4 CHA\n4 Pieces: 1d4 Slashing Damage\n\nSet Bonus (6 Pieces)\n---------------------------------\n+1 Attacks/Round\n+2 Attack Bonus", + "id": 67773 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Zealot's Waistguard", + "id": 67772 + } + }, + "ModelPart1": { + "type": "byte", + "value": 6 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 4 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 32 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 6 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_paladin_s1_6" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Zealot's Waistguard" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Armor of Divinity" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_rune.uti.json b/_module/uti/sd_rune.uti.json new file mode 100644 index 00000000..fed47581 --- /dev/null +++ b/_module/uti/sd_rune.uti.json @@ -0,0 +1,81 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 1500 + }, + "BaseItem": { + "type": "int", + "value": 24 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1500 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "When added to a socketed weapon, this gem imbues the weapon with runic power" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Socket Gem" + } + }, + "ModelPart1": { + "type": "byte", + "value": 49 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_rune" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_rune" + } +} diff --git a/_module/uti/sd_rune2.uti.json b/_module/uti/sd_rune2.uti.json new file mode 100644 index 00000000..8be0f710 --- /dev/null +++ b/_module/uti/sd_rune2.uti.json @@ -0,0 +1,81 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 1500 + }, + "BaseItem": { + "type": "int", + "value": 24 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1500 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "When added to a socketed weapon, this gem imbues the weapon with runic power" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Socket Gem" + } + }, + "ModelPart1": { + "type": "byte", + "value": 68 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_rune" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_rune2" + } +} diff --git a/_module/uti/sd_rune3.uti.json b/_module/uti/sd_rune3.uti.json new file mode 100644 index 00000000..4841e13b --- /dev/null +++ b/_module/uti/sd_rune3.uti.json @@ -0,0 +1,81 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 1500 + }, + "BaseItem": { + "type": "int", + "value": 24 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1500 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "When added to a socketed weapon, this gem imbues the weapon with runic power" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Socket Gem" + } + }, + "ModelPart1": { + "type": "byte", + "value": 73 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_rune" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_rune3" + } +} diff --git a/_module/uti/sd_skin.uti.json b/_module/uti/sd_skin.uti.json new file mode 100644 index 00000000..9f8036b6 --- /dev/null +++ b/_module/uti/sd_skin.uti.json @@ -0,0 +1,81 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 24 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 0 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "It seemed like more trouble than its worth, but you managed to tear the skin off this dead creature with your cumbersome weapon..." + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "It seemed like more trouble than its worth, but you managed to tear the skin off this dead creature with your cumbersome weapon..." + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Critter skin" + } + }, + "ModelPart1": { + "type": "byte", + "value": 89 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_skin" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_skin" + } +} diff --git a/_module/uti/sd_sorc_s1_1.uti.json b/_module/uti/sd_sorc_s1_1.uti.json new file mode 100644 index 00000000..1e5d3bea --- /dev/null +++ b/_module/uti/sd_sorc_s1_1.uti.json @@ -0,0 +1,446 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 13 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 5 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 11 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 19 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 9 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 3 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 6 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 8 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 13 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 5 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 5 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 11 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 15 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 9 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 6 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 82 + }, + "Cloth2Color": { + "type": "byte", + "value": 78 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 260016 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Thera's Vestments\n\nKnown as 'Thera Starseeker', Thera is famous for her cunning and power. She liked dominating dragons and setting them lose in town just for kicks.\n\nClass: Sorcerer\nClass: Bard\n\nBonuses\n--------------\n2 Pieces: +4 Cha\n4 Pieces: 30% Concealment\n\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune to Critical Hits\nHaste" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 82 + }, + "Leather2Color": { + "type": "byte", + "value": 82 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Thera's Robe", + "id": 181 + } + }, + "Metal1Color": { + "type": "byte", + "value": 0 + }, + "Metal2Color": { + "type": "byte", + "value": 82 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 6 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 38 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 9 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_sorc_s1_1" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Thera's Robe" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Thera's Vestments" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_sorc_s1_2.uti.json b/_module/uti/sd_sorc_s1_2.uti.json new file mode 100644 index 00000000..5410dd0e --- /dev/null +++ b/_module/uti/sd_sorc_s1_2.uti.json @@ -0,0 +1,375 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 80 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 56 + }, + "Cloth2Color": { + "type": "byte", + "value": 23 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 94967 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Thera's Vestments\n\nKnown as 'Thera Starseeker', Thera is famous for her cunning and power. She liked dominating dragons and setting them lose in town just for kicks.\n\nClass: Sorcerer\nClass: Bard\n\nBonuses\n--------------\n2 Pieces: +4 Cha\n4 Pieces: 30% Concealment\n\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune to Critical Hits\nHaste", + "id": 66564 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 83 + }, + "Leather2Color": { + "type": "byte", + "value": 82 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Thera's Cape", + "id": 66563 + } + }, + "Metal1Color": { + "type": "byte", + "value": 32 + }, + "Metal2Color": { + "type": "byte", + "value": 32 + }, + "ModelPart1": { + "type": "byte", + "value": 9 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 3 + }, + "CostValue": { + "type": "word", + "value": 9 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 15 + }, + "Subtype": { + "type": "word", + "value": 151 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 40 + }, + "Subtype": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 9 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_sorc_s1_2" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Thera's Cape" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Thera's Vestments" + } + } + ] + } +} diff --git a/_module/uti/sd_sorc_s1_3.uti.json b/_module/uti/sd_sorc_s1_3.uti.json new file mode 100644 index 00000000..bffee1fc --- /dev/null +++ b/_module/uti/sd_sorc_s1_3.uti.json @@ -0,0 +1,413 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 21 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 237161 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Thera's Vestments\n\nKnown as 'Thera Starseeker', Thera is famous for her cunning and power. She liked dominating dragons and setting them lose in town just for kicks.\n\nClass: Sorcerer\nClass: Bard\n\nBonuses\n--------------\n2 Pieces: +4 Cha\n4 Pieces: 30% Concealment\n\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune to Critical Hits\nHaste", + "id": 67773 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Thera's Sash", + "id": 67772 + } + }, + "ModelPart1": { + "type": "byte", + "value": 6 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 9 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 51 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 9 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_sorc_s1_3" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Thera's Sash" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Thera's Vestments" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_sorc_s1_4.uti.json b/_module/uti/sd_sorc_s1_4.uti.json new file mode 100644 index 00000000..f1c3741b --- /dev/null +++ b/_module/uti/sd_sorc_s1_4.uti.json @@ -0,0 +1,328 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 26 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 89966 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Thera's Vestments\n\nKnown as 'Thera Starseeker', Thera is famous for her cunning and power. She liked dominating dragons and setting them lose in town just for kicks.\n\nClass: Sorcerer\nClass: Bard\n\nBonuses\n--------------\n2 Pieces: +4 Cha\n4 Pieces: 30% Concealment\n\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune to Critical Hits\nHaste", + "id": 67778 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Thera's Slippers", + "id": 67780 + } + }, + "ModelPart1": { + "type": "byte", + "value": 42 + }, + "ModelPart2": { + "type": "byte", + "value": 32 + }, + "ModelPart3": { + "type": "byte", + "value": 32 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 40 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 9 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_sorc_s1_4" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Thera's Slippers" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Thera's Vestments" + } + } + ] + } +} diff --git a/_module/uti/sd_sorc_s1_5.uti.json b/_module/uti/sd_sorc_s1_5.uti.json new file mode 100644 index 00000000..518382ec --- /dev/null +++ b/_module/uti/sd_sorc_s1_5.uti.json @@ -0,0 +1,375 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 17 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 56 + }, + "Cloth2Color": { + "type": "byte", + "value": 89 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 58831 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "<Thera's Vestments\n\nKnown as 'Thera Starseeker', Thera is famous for her cunning and power. She liked dominating dragons and setting them lose in town just for kicks.\n\nClass: Sorcerer\nClass: Bard\n\nBonuses\n--------------\n2 Pieces: +4 Cha\n4 Pieces: 30% Concealment\n\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune to Critical Hits\nHaste", + "id": 12861 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 88 + }, + "Leather2Color": { + "type": "byte", + "value": 63 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Thera's Tiara", + "id": 12860 + } + }, + "Metal1Color": { + "type": "byte", + "value": 33 + }, + "Metal2Color": { + "type": "byte", + "value": 56 + }, + "ModelPart1": { + "type": "byte", + "value": 13 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 41 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 25 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 52 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 9 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_sorc_s1_5" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Thera's Tiara" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Thera's Vestments" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_sorc_s1_6.uti.json b/_module/uti/sd_sorc_s1_6.uti.json new file mode 100644 index 00000000..6e3420ec --- /dev/null +++ b/_module/uti/sd_sorc_s1_6.uti.json @@ -0,0 +1,351 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 36 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 121772 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Thera's Vestments\n\nKnown as 'Thera Starseeker', Thera is famous for her cunning and power. She liked dominating dragons and setting them lose in town just for kicks.\n\nClass: Sorcerer\nClass: Bard\n\nBonuses\n--------------\n2 Pieces: +4 Cha\n4 Pieces: 30% Concealment\n\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune to Critical Hits\nHaste", + "id": 48882 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Thera's Wraps", + "id": 48881 + } + }, + "ModelPart1": { + "type": "byte", + "value": 9 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 41 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 25 + }, + "CostValue": { + "type": "word", + "value": 10 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 52 + }, + "Subtype": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 9 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_sorc_s1_6" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Thera's Wraps" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Thera's Vestments" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_wizard_s1_1.uti.json b/_module/uti/sd_wizard_s1_1.uti.json new file mode 100644 index 00000000..ab457156 --- /dev/null +++ b/_module/uti/sd_wizard_s1_1.uti.json @@ -0,0 +1,320 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 36 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 121772 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Mystra's Rainment\n\nKnown as 'The Godess of Magic', Mystra is a common deity for those seeking arcane knowledge and power. She created this rainment for a devout follower who fell defending her name.\n\nClass: Wizard\n\nBonuses\n--------------\n2 Pieces: +4 Int\n4 Pieces: 30% Concealment\n\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune to Critical Hits\nHaste", + "id": 48882 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Mystra's Wraps", + "id": 48881 + } + }, + "ModelPart1": { + "type": "byte", + "value": 10 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 30 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 41 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 25 + }, + "CostValue": { + "type": "word", + "value": 10 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 52 + }, + "Subtype": { + "type": "word", + "value": 16 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 10 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_wizard_s1_1" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Mystra's Wraps" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Mystra's Rainment" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_wizard_s1_2.uti.json b/_module/uti/sd_wizard_s1_2.uti.json new file mode 100644 index 00000000..735cc77c --- /dev/null +++ b/_module/uti/sd_wizard_s1_2.uti.json @@ -0,0 +1,415 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 15 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 13 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 5 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 5 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 11 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 19 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 9 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 3 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 6 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 15 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 13 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 5 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 5 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 5 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 11 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 15 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 9 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 6 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 68 + }, + "Cloth2Color": { + "type": "byte", + "value": 49 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 260016 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Mystra's Rainment\n\nKnown as 'The Godess of Magic', Mystra is a common deity for those seeking arcane knowledge and power. She created this rainment for a devout follower who fell defending her name.\n\nClass: Wizard\n\nBonuses\n--------------\n2 Pieces: +4 Int\n4 Pieces: 30% Concealment\n\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune to Critical Hits\nHaste" + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 49 + }, + "Leather2Color": { + "type": "byte", + "value": 68 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Mystra's Robe", + "id": 181 + } + }, + "Metal1Color": { + "type": "byte", + "value": 155 + }, + "Metal2Color": { + "type": "byte", + "value": 68 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 6 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 38 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 10 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_wizard_s1_2" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Mystra's Robe" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Mystra's Rainment" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_wizard_s1_3.uti.json b/_module/uti/sd_wizard_s1_3.uti.json new file mode 100644 index 00000000..2282b691 --- /dev/null +++ b/_module/uti/sd_wizard_s1_3.uti.json @@ -0,0 +1,344 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 17 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 56 + }, + "Cloth2Color": { + "type": "byte", + "value": 89 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 58831 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Mystra's Rainment\n\nKnown as 'The Godess of Magic', Mystra is a common deity for those seeking arcane knowledge and power. She created this rainment for a devout follower who fell defending her name.\n\nClass: Wizard\n\nBonuses\n--------------\n2 Pieces: +4 Int\n4 Pieces: 30% Concealment\n\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune to Critical Hits\nHaste", + "id": 12861 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 88 + }, + "Leather2Color": { + "type": "byte", + "value": 63 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Mystra's Tiara", + "id": 12860 + } + }, + "Metal1Color": { + "type": "byte", + "value": 63 + }, + "Metal2Color": { + "type": "byte", + "value": 14 + }, + "ModelPart1": { + "type": "byte", + "value": 13 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 7 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 23 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 41 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 25 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 52 + }, + "Subtype": { + "type": "word", + "value": 1 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 10 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_wizard_s1_3" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Mystra's Tiara" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Mystra's Rainment" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_wizard_s1_4.uti.json b/_module/uti/sd_wizard_s1_4.uti.json new file mode 100644 index 00000000..3f599aa2 --- /dev/null +++ b/_module/uti/sd_wizard_s1_4.uti.json @@ -0,0 +1,382 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 21 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 237161 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Mystra's Rainment\n\nKnown as 'The Godess of Magic', Mystra is a common deity for those seeking arcane knowledge and power. She created this rainment for a devout follower who fell defending her name.\n\nClass: Wizard\n\nBonuses\n--------------\n2 Pieces: +4 Int\n4 Pieces: 30% Concealment\n\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune to Critical Hits\nHaste", + "id": 67773 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Mystra's Sash", + "id": 67772 + } + }, + "ModelPart1": { + "type": "byte", + "value": 2 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 8 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 13 + }, + "CostValue": { + "type": "word", + "value": 9 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 13 + }, + "Subtype": { + "type": "word", + "value": 10 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 51 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 10 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_wizard_s1_4" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Mystra's Sash" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Mystra's Rainment" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + } + ] + } +} diff --git a/_module/uti/sd_wizard_s1_5.uti.json b/_module/uti/sd_wizard_s1_5.uti.json new file mode 100644 index 00000000..e4ed3f5b --- /dev/null +++ b/_module/uti/sd_wizard_s1_5.uti.json @@ -0,0 +1,344 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 80 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 8 + }, + "Cloth2Color": { + "type": "byte", + "value": 23 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 94967 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Mystra's Rainment\n\nKnown as 'The Godess of Magic', Mystra is a common deity for those seeking arcane knowledge and power. She created this rainment for a devout follower who fell defending her name.\n\nClass: Wizard\n\nBonuses\n--------------\n2 Pieces: +4 Int\n4 Pieces: 30% Concealment\n\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune to Critical Hits\nHaste", + "id": 66564 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 85 + }, + "Leather2Color": { + "type": "byte", + "value": 49 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Mystra's Cape", + "id": 66563 + } + }, + "Metal1Color": { + "type": "byte", + "value": 41 + }, + "Metal2Color": { + "type": "byte", + "value": 41 + }, + "ModelPart1": { + "type": "byte", + "value": 9 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 3 + }, + "CostValue": { + "type": "word", + "value": 9 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 15 + }, + "Subtype": { + "type": "word", + "value": 151 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 37 + }, + "Subtype": { + "type": "word", + "value": 5 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 40 + }, + "Subtype": { + "type": "word", + "value": 12 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 10 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_wizard_s1_5" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Mystra's Cape" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Mystra's Rainment" + } + } + ] + } +} diff --git a/_module/uti/sd_wizard_s1_6.uti.json b/_module/uti/sd_wizard_s1_6.uti.json new file mode 100644 index 00000000..96ef17e4 --- /dev/null +++ b/_module/uti/sd_wizard_s1_6.uti.json @@ -0,0 +1,297 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 26 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 89966 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "Mystra's Rainment\n\nKnown as 'The Godess of Magic', Mystra is a common deity for those seeking arcane knowledge and power. She created this rainment for a devout follower who fell defending her name.\n\nClass: Wizard\n\nBonuses\n--------------\n2 Pieces: +4 Int\n4 Pieces: 30% Concealment\n\n\nSet Bonus (6 Pieces)\n---------------------------------\nImmune to Critical Hits\nHaste", + "id": 67778 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Mystra's Slippers", + "id": 67780 + } + }, + "ModelPart1": { + "type": "byte", + "value": 43 + }, + "ModelPart2": { + "type": "byte", + "value": 34 + }, + "ModelPart3": { + "type": "byte", + "value": 34 + }, + "PaletteID": { + "type": "byte", + "value": 4 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 2 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 1 + }, + "CostValue": { + "type": "word", + "value": 1 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 0 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 4 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 1 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 40 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 10 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sd_set_item" + }, + "TemplateResRef": { + "type": "resref", + "value": "sd_wizard_s1_6" + }, + "VarTable": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "iSetNum" + }, + "Type": { + "type": "dword", + "value": 1 + }, + "Value": { + "type": "int", + "value": 6 + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sName" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Mystra's Slippers" + } + }, + { + "__struct_id": 0, + "Name": { + "type": "cexostring", + "value": "sSet" + }, + "Type": { + "type": "dword", + "value": 3 + }, + "Value": { + "type": "cexostring", + "value": "Mystra's Rainment" + } + } + ] + } +} diff --git a/_module/uti/sdammy1.uti.json b/_module/uti/sdammy1.uti.json new file mode 100644 index 00000000..d12be365 --- /dev/null +++ b/_module/uti/sdammy1.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 19 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 67520 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Amulet 1", + "id": 67521 + } + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdammy1" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdammy1" + } +} diff --git a/_module/uti/sdammy2.uti.json b/_module/uti/sdammy2.uti.json new file mode 100644 index 00000000..ed6d8ff4 --- /dev/null +++ b/_module/uti/sdammy2.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 19 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 67520 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Amulet 2", + "id": 67521 + } + }, + "ModelPart1": { + "type": "byte", + "value": 3 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdammy2" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdammy2" + } +} diff --git a/_module/uti/sdammy3.uti.json b/_module/uti/sdammy3.uti.json new file mode 100644 index 00000000..3dae3a23 --- /dev/null +++ b/_module/uti/sdammy3.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 19 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 67520 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Amulet 3", + "id": 67521 + } + }, + "ModelPart1": { + "type": "byte", + "value": 8 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdammy3" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdammy3" + } +} diff --git a/_module/uti/sdarmor0.uti.json b/_module/uti/sdarmor0.uti.json new file mode 100644 index 00000000..31335071 --- /dev/null +++ b/_module/uti/sdarmor0.uti.json @@ -0,0 +1,174 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 0 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 1 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 1 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 6 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 1 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 17 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 4 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 3 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 37 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 1 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 1 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 6 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 17 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 4 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 3 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 12 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 119 + }, + "Cloth2Color": { + "type": "byte", + "value": 119 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 118 + }, + "Leather2Color": { + "type": "byte", + "value": 119 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Garb", + "id": 12928 + } + }, + "Metal1Color": { + "type": "byte", + "value": 103 + }, + "Metal2Color": { + "type": "byte", + "value": 2 + }, + "PaletteID": { + "type": "byte", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdArmor0" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdarmor0" + } +} diff --git a/_module/uti/sdarmor1.uti.json b/_module/uti/sdarmor1.uti.json new file mode 100644 index 00000000..ac4a60bc --- /dev/null +++ b/_module/uti/sdarmor1.uti.json @@ -0,0 +1,176 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 11 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 10 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 10 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 4 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 4 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 9 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 6 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 8 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 3 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 10 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 10 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 4 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 4 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 9 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 20 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 8 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 28 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 123 + }, + "Cloth2Color": { + "type": "byte", + "value": 123 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 5 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 13776 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 86 + }, + "Leather2Color": { + "type": "byte", + "value": 119 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Cover", + "id": 13824 + } + }, + "Metal1Color": { + "type": "byte", + "value": 11 + }, + "Metal2Color": { + "type": "byte", + "value": 93 + }, + "PaletteID": { + "type": "byte", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdArmor1" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdarmor1" + } +} diff --git a/_module/uti/sdarmor2.uti.json b/_module/uti/sdarmor2.uti.json new file mode 100644 index 00000000..7cc880ec --- /dev/null +++ b/_module/uti/sdarmor2.uti.json @@ -0,0 +1,174 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 11 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 15 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 16 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 6 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 3 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 11 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 4 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 37 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 15 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 16 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 6 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 3 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 8 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 11 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 4 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 27 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 57 + }, + "Cloth2Color": { + "type": "byte", + "value": 57 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 10 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 171 + }, + "Leather2Color": { + "type": "byte", + "value": 171 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Toughened Leather", + "id": 12928 + } + }, + "Metal1Color": { + "type": "byte", + "value": 7 + }, + "Metal2Color": { + "type": "byte", + "value": 7 + }, + "PaletteID": { + "type": "byte", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdArmor2" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdarmor2" + } +} diff --git a/_module/uti/sdarmor3.uti.json b/_module/uti/sdarmor3.uti.json new file mode 100644 index 00000000..0ece0304 --- /dev/null +++ b/_module/uti/sdarmor3.uti.json @@ -0,0 +1,174 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 11 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 1 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 14 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 6 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 17 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 18 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 16 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 23 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 1 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 14 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 6 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 17 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 18 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 16 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 29 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 173 + }, + "Cloth2Color": { + "type": "byte", + "value": 172 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 15 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 11 + }, + "Leather2Color": { + "type": "byte", + "value": 11 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Studded Leather", + "id": 12928 + } + }, + "Metal1Color": { + "type": "byte", + "value": 172 + }, + "Metal2Color": { + "type": "byte", + "value": 172 + }, + "PaletteID": { + "type": "byte", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdArmor3" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdarmor3" + } +} diff --git a/_module/uti/sdarmor4.uti.json b/_module/uti/sdarmor4.uti.json new file mode 100644 index 00000000..002f94ed --- /dev/null +++ b/_module/uti/sdarmor4.uti.json @@ -0,0 +1,174 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 0 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 4 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 13 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 6 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 17 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 14 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 3 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 37 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 4 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 13 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 6 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 17 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 14 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 3 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 38 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 167 + }, + "Cloth2Color": { + "type": "byte", + "value": 22 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 100 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 22 + }, + "Leather2Color": { + "type": "byte", + "value": 23 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Banded", + "id": 12928 + } + }, + "Metal1Color": { + "type": "byte", + "value": 5 + }, + "Metal2Color": { + "type": "byte", + "value": 2 + }, + "PaletteID": { + "type": "byte", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdArmor4" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdarmor4" + } +} diff --git a/_module/uti/sdarmor5.uti.json b/_module/uti/sdarmor5.uti.json new file mode 100644 index 00000000..c51d6c20 --- /dev/null +++ b/_module/uti/sdarmor5.uti.json @@ -0,0 +1,174 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 6 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 4 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 15 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 6 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 11 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 19 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 3 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 37 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 4 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 15 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 6 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 8 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 11 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 19 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 3 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 26 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 83 + }, + "Cloth2Color": { + "type": "byte", + "value": 115 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 150 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 83 + }, + "Leather2Color": { + "type": "byte", + "value": 83 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Breastplate", + "id": 12928 + } + }, + "Metal1Color": { + "type": "byte", + "value": 1 + }, + "Metal2Color": { + "type": "byte", + "value": 3 + }, + "PaletteID": { + "type": "byte", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdArmor5" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdarmor5" + } +} diff --git a/_module/uti/sdarmor6.uti.json b/_module/uti/sdarmor6.uti.json new file mode 100644 index 00000000..1097006a --- /dev/null +++ b/_module/uti/sdarmor6.uti.json @@ -0,0 +1,174 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 3 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 4 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 14 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 6 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 4 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 17 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 16 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 16 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 35 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 4 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 14 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 6 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 4 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 17 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 16 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 16 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 15 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 139 + }, + "Cloth2Color": { + "type": "byte", + "value": 20 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 100 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 23 + }, + "Leather2Color": { + "type": "byte", + "value": 135 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Chain", + "id": 12928 + } + }, + "Metal1Color": { + "type": "byte", + "value": 57 + }, + "Metal2Color": { + "type": "byte", + "value": 1 + }, + "PaletteID": { + "type": "byte", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdArmor6" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdarmor6" + } +} diff --git a/_module/uti/sdarmor7.uti.json b/_module/uti/sdarmor7.uti.json new file mode 100644 index 00000000..fc0858d4 --- /dev/null +++ b/_module/uti/sdarmor7.uti.json @@ -0,0 +1,174 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 3 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 4 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 14 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 6 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 4 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 17 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 17 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 12 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 35 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 4 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 14 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 6 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 4 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 17 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 17 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 12 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 47 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 22 + }, + "Cloth2Color": { + "type": "byte", + "value": 21 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 600 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 22 + }, + "Leather2Color": { + "type": "byte", + "value": 21 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Half-plate", + "id": 12928 + } + }, + "Metal1Color": { + "type": "byte", + "value": 56 + }, + "Metal2Color": { + "type": "byte", + "value": 83 + }, + "PaletteID": { + "type": "byte", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdArmor7" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdarmor7" + } +} diff --git a/_module/uti/sdarmor8.uti.json b/_module/uti/sdarmor8.uti.json new file mode 100644 index 00000000..0d616440 --- /dev/null +++ b/_module/uti/sdarmor8.uti.json @@ -0,0 +1,174 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "ArmorPart_Belt": { + "type": "byte", + "value": 10 + }, + "ArmorPart_LBicep": { + "type": "byte", + "value": 5 + }, + "ArmorPart_LFArm": { + "type": "byte", + "value": 13 + }, + "ArmorPart_LFoot": { + "type": "byte", + "value": 186 + }, + "ArmorPart_LHand": { + "type": "byte", + "value": 4 + }, + "ArmorPart_LShin": { + "type": "byte", + "value": 17 + }, + "ArmorPart_LShoul": { + "type": "byte", + "value": 20 + }, + "ArmorPart_LThigh": { + "type": "byte", + "value": 12 + }, + "ArmorPart_Neck": { + "type": "byte", + "value": 1 + }, + "ArmorPart_Pelvis": { + "type": "byte", + "value": 5 + }, + "ArmorPart_RBicep": { + "type": "byte", + "value": 5 + }, + "ArmorPart_RFArm": { + "type": "byte", + "value": 13 + }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 186 + }, + "ArmorPart_RHand": { + "type": "byte", + "value": 4 + }, + "ArmorPart_Robe": { + "type": "byte", + "value": 0 + }, + "ArmorPart_RShin": { + "type": "byte", + "value": 17 + }, + "ArmorPart_RShoul": { + "type": "byte", + "value": 20 + }, + "ArmorPart_RThigh": { + "type": "byte", + "value": 12 + }, + "ArmorPart_Torso": { + "type": "byte", + "value": 23 + }, + "BaseItem": { + "type": "int", + "value": 16 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 63 + }, + "Cloth2Color": { + "type": "byte", + "value": 45 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 1500 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 119 + }, + "Leather2Color": { + "type": "byte", + "value": 63 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Plate", + "id": 12928 + } + }, + "Metal1Color": { + "type": "byte", + "value": 54 + }, + "Metal2Color": { + "type": "byte", + "value": 2 + }, + "PaletteID": { + "type": "byte", + "value": 0 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdArmor8" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdarmor8" + } +} diff --git a/_module/uti/sdarrow.uti.json b/_module/uti/sdarrow.uti.json new file mode 100644 index 00000000..d05e34e1 --- /dev/null +++ b/_module/uti/sdarrow.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 20 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 0 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1517 + } + }, + "ModelPart1": { + "type": "byte", + "value": 11 + }, + "ModelPart2": { + "type": "byte", + "value": 11 + }, + "ModelPart3": { + "type": "byte", + "value": 11 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 99 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdarrow" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdarrow" + } +} diff --git a/_module/uti/sdbaxe.uti.json b/_module/uti/sdbaxe.uti.json new file mode 100644 index 00000000..966ae56c --- /dev/null +++ b/_module/uti/sdbaxe.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 2 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 20 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 169 + } + }, + "ModelPart1": { + "type": "byte", + "value": 14 + }, + "ModelPart2": { + "type": "byte", + "value": 52 + }, + "ModelPart3": { + "type": "byte", + "value": 44 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdbaxe" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdbaxe" + } +} diff --git a/_module/uti/sdbelt1.uti.json b/_module/uti/sdbelt1.uti.json new file mode 100644 index 00000000..dbae06d2 --- /dev/null +++ b/_module/uti/sdbelt1.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 21 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 67773 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Belt 1", + "id": 67772 + } + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdbelt1" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdbelt1" + } +} diff --git a/_module/uti/sdbelt2.uti.json b/_module/uti/sdbelt2.uti.json new file mode 100644 index 00000000..65a8468b --- /dev/null +++ b/_module/uti/sdbelt2.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 21 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 67773 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Belt 2", + "id": 67772 + } + }, + "ModelPart1": { + "type": "byte", + "value": 2 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdbelt2" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdbelt2" + } +} diff --git a/_module/uti/sdbolt.uti.json b/_module/uti/sdbolt.uti.json new file mode 100644 index 00000000..52b3d58b --- /dev/null +++ b/_module/uti/sdbolt.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 25 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 0 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1519 + } + }, + "ModelPart1": { + "type": "byte", + "value": 11 + }, + "ModelPart2": { + "type": "byte", + "value": 11 + }, + "ModelPart3": { + "type": "byte", + "value": 11 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 99 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdbolt" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdbolt" + } +} diff --git a/_module/uti/sdboots1.uti.json b/_module/uti/sdboots1.uti.json new file mode 100644 index 00000000..f92f7d56 --- /dev/null +++ b/_module/uti/sdboots1.uti.json @@ -0,0 +1,88 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 7749 + }, + "BaseItem": { + "type": "int", + "value": 26 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 7750 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 13342 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Boots 1", + "id": 13343 + } + }, + "ModelPart1": { + "type": "byte", + "value": 13 + }, + "ModelPart2": { + "type": "byte", + "value": 33 + }, + "ModelPart3": { + "type": "byte", + "value": 32 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdboots1" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdboots1" + } +} diff --git a/_module/uti/sdboots2.uti.json b/_module/uti/sdboots2.uti.json new file mode 100644 index 00000000..1e738ee7 --- /dev/null +++ b/_module/uti/sdboots2.uti.json @@ -0,0 +1,88 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 7749 + }, + "BaseItem": { + "type": "int", + "value": 26 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 7750 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 13342 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Boots 2", + "id": 13343 + } + }, + "ModelPart1": { + "type": "byte", + "value": 43 + }, + "ModelPart2": { + "type": "byte", + "value": 12 + }, + "ModelPart3": { + "type": "byte", + "value": 32 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdboots2" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdboots2" + } +} diff --git a/_module/uti/sdboots3.uti.json b/_module/uti/sdboots3.uti.json new file mode 100644 index 00000000..43d6ab1c --- /dev/null +++ b/_module/uti/sdboots3.uti.json @@ -0,0 +1,88 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 7749 + }, + "BaseItem": { + "type": "int", + "value": 26 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 7750 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 13342 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Boots 3", + "id": 13343 + } + }, + "ModelPart1": { + "type": "byte", + "value": 12 + }, + "ModelPart2": { + "type": "byte", + "value": 23 + }, + "ModelPart3": { + "type": "byte", + "value": 43 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdboots3" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdboots3" + } +} diff --git a/_module/uti/sdbracers1.uti.json b/_module/uti/sdbracers1.uti.json new file mode 100644 index 00000000..78916c5d --- /dev/null +++ b/_module/uti/sdbracers1.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 78 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 13351 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Bracers 1", + "id": 13350 + } + }, + "ModelPart1": { + "type": "byte", + "value": 11 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdbracers1" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdbracers1" + } +} diff --git a/_module/uti/sdbracers2.uti.json b/_module/uti/sdbracers2.uti.json new file mode 100644 index 00000000..1b2cf0c6 --- /dev/null +++ b/_module/uti/sdbracers2.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 78 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 13351 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Bracers 2", + "id": 13350 + } + }, + "ModelPart1": { + "type": "byte", + "value": 2 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdbracers2" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdbracers2" + } +} diff --git a/_module/uti/sdbracers3.uti.json b/_module/uti/sdbracers3.uti.json new file mode 100644 index 00000000..737bad20 --- /dev/null +++ b/_module/uti/sdbracers3.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 78 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 13351 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Bracers 3", + "id": 13350 + } + }, + "ModelPart1": { + "type": "byte", + "value": 9 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdbracers3" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdbracers3" + } +} diff --git a/_module/uti/sdcloak1.uti.json b/_module/uti/sdcloak1.uti.json new file mode 100644 index 00000000..3fe915e8 --- /dev/null +++ b/_module/uti/sdcloak1.uti.json @@ -0,0 +1,104 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 80 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 56 + }, + "Cloth2Color": { + "type": "byte", + "value": 56 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 66562 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 92 + }, + "Leather2Color": { + "type": "byte", + "value": 22 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Cloak 1", + "id": 66561 + } + }, + "Metal1Color": { + "type": "byte", + "value": 57 + }, + "Metal2Color": { + "type": "byte", + "value": 61 + }, + "ModelPart1": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdcloak1" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdcloak1" + } +} diff --git a/_module/uti/sdcloak2.uti.json b/_module/uti/sdcloak2.uti.json new file mode 100644 index 00000000..7f86b21b --- /dev/null +++ b/_module/uti/sdcloak2.uti.json @@ -0,0 +1,104 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 80 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 46 + }, + "Cloth2Color": { + "type": "byte", + "value": 21 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 66562 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 46 + }, + "Leather2Color": { + "type": "byte", + "value": 89 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Cloak 2", + "id": 66561 + } + }, + "Metal1Color": { + "type": "byte", + "value": 56 + }, + "Metal2Color": { + "type": "byte", + "value": 56 + }, + "ModelPart1": { + "type": "byte", + "value": 2 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdcloak2" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdcloak2" + } +} diff --git a/_module/uti/sdcloak3.uti.json b/_module/uti/sdcloak3.uti.json new file mode 100644 index 00000000..6a4d130c --- /dev/null +++ b/_module/uti/sdcloak3.uti.json @@ -0,0 +1,104 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 80 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 134 + }, + "Cloth2Color": { + "type": "byte", + "value": 134 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 1 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 66562 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 44 + }, + "Leather2Color": { + "type": "byte", + "value": 52 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Cloak 3", + "id": 66561 + } + }, + "Metal1Color": { + "type": "byte", + "value": 8 + }, + "Metal2Color": { + "type": "byte", + "value": 8 + }, + "ModelPart1": { + "type": "byte", + "value": 3 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdcloak3" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdcloak3" + } +} diff --git a/_module/uti/sdclub.uti.json b/_module/uti/sdclub.uti.json new file mode 100644 index 00000000..7cc73809 --- /dev/null +++ b/_module/uti/sdclub.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 28 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 2 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1522 + } + }, + "ModelPart1": { + "type": "byte", + "value": 14 + }, + "ModelPart2": { + "type": "byte", + "value": 21 + }, + "ModelPart3": { + "type": "byte", + "value": 24 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdclub" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdclub" + } +} diff --git a/_module/uti/sddagger.uti.json b/_module/uti/sddagger.uti.json new file mode 100644 index 00000000..9bb1fc56 --- /dev/null +++ b/_module/uti/sddagger.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 22 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 4 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 191 + } + }, + "ModelPart1": { + "type": "byte", + "value": 42 + }, + "ModelPart2": { + "type": "byte", + "value": 44 + }, + "ModelPart3": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sddagger" + }, + "TemplateResRef": { + "type": "resref", + "value": "sddagger" + } +} diff --git a/_module/uti/sddbsword.uti.json b/_module/uti/sddbsword.uti.json new file mode 100644 index 00000000..796b8854 --- /dev/null +++ b/_module/uti/sddbsword.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 12 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 200 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 172 + } + }, + "ModelPart1": { + "type": "byte", + "value": 24 + }, + "ModelPart2": { + "type": "byte", + "value": 32 + }, + "ModelPart3": { + "type": "byte", + "value": 24 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sddbsword" + }, + "TemplateResRef": { + "type": "resref", + "value": "sddbsword" + } +} diff --git a/_module/uti/sddsaxe.uti.json b/_module/uti/sddsaxe.uti.json new file mode 100644 index 00000000..ea31f81a --- /dev/null +++ b/_module/uti/sddsaxe.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 33 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 60 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1527 + } + }, + "ModelPart1": { + "type": "byte", + "value": 12 + }, + "ModelPart2": { + "type": "byte", + "value": 34 + }, + "ModelPart3": { + "type": "byte", + "value": 34 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sddsaxe" + }, + "TemplateResRef": { + "type": "resref", + "value": "sddsaxe" + } +} diff --git a/_module/uti/sddsmace.uti.json b/_module/uti/sddsmace.uti.json new file mode 100644 index 00000000..c7e8f288 --- /dev/null +++ b/_module/uti/sddsmace.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 32 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 80 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1526 + } + }, + "ModelPart1": { + "type": "byte", + "value": 14 + }, + "ModelPart2": { + "type": "byte", + "value": 32 + }, + "ModelPart3": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sddsmace" + }, + "TemplateResRef": { + "type": "resref", + "value": "sddsmace" + } +} diff --git a/_module/uti/sdgaxe.uti.json b/_module/uti/sdgaxe.uti.json new file mode 100644 index 00000000..bce20017 --- /dev/null +++ b/_module/uti/sdgaxe.uti.json @@ -0,0 +1,88 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 18 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 40 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Greataxe", + "id": 515 + } + }, + "ModelPart1": { + "type": "byte", + "value": 24 + }, + "ModelPart2": { + "type": "byte", + "value": 34 + }, + "ModelPart3": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdgaxe" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdgaxe" + } +} diff --git a/_module/uti/sdgsword.uti.json b/_module/uti/sdgsword.uti.json new file mode 100644 index 00000000..e0f90c90 --- /dev/null +++ b/_module/uti/sdgsword.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 13 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 100 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 167 + } + }, + "ModelPart1": { + "type": "byte", + "value": 44 + }, + "ModelPart2": { + "type": "byte", + "value": 14 + }, + "ModelPart3": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdgsword" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdgsword" + } +} diff --git a/_module/uti/sdhalberd.uti.json b/_module/uti/sdhalberd.uti.json new file mode 100644 index 00000000..fee09554 --- /dev/null +++ b/_module/uti/sdhalberd.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 10 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 20 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 175 + } + }, + "ModelPart1": { + "type": "byte", + "value": 14 + }, + "ModelPart2": { + "type": "byte", + "value": 12 + }, + "ModelPart3": { + "type": "byte", + "value": 34 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdhalberd" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdhalberd" + } +} diff --git a/_module/uti/sdhaxe.uti.json b/_module/uti/sdhaxe.uti.json new file mode 100644 index 00000000..8fcf2a3d --- /dev/null +++ b/_module/uti/sdhaxe.uti.json @@ -0,0 +1,86 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 38 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 12 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Handaxe", + "id": 1532 + } + }, + "ModelPart1": { + "type": "byte", + "value": 12 + }, + "ModelPart2": { + "type": "byte", + "value": 14 + }, + "ModelPart3": { + "type": "byte", + "value": 24 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdhaxe" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdhaxe" + } +} diff --git a/_module/uti/sdhcbow.uti.json b/_module/uti/sdhcbow.uti.json new file mode 100644 index 00000000..016e15e6 --- /dev/null +++ b/_module/uti/sdhcbow.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 6 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 100 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 173 + } + }, + "ModelPart1": { + "type": "byte", + "value": 44 + }, + "ModelPart2": { + "type": "byte", + "value": 34 + }, + "ModelPart3": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdhcbow" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdhcbow" + } +} diff --git a/_module/uti/sdhelm1.uti.json b/_module/uti/sdhelm1.uti.json new file mode 100644 index 00000000..b8f6bbcc --- /dev/null +++ b/_module/uti/sdhelm1.uti.json @@ -0,0 +1,102 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 17 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 23 + }, + "Cloth2Color": { + "type": "byte", + "value": 23 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 3 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 20 + }, + "Leather2Color": { + "type": "byte", + "value": 20 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Helm 1", + "id": 90531 + } + }, + "Metal1Color": { + "type": "byte", + "value": 1 + }, + "Metal2Color": { + "type": "byte", + "value": 0 + }, + "ModelPart1": { + "type": "byte", + "value": 35 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdhelm1" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdhelm1" + } +} diff --git a/_module/uti/sdhelm2.uti.json b/_module/uti/sdhelm2.uti.json new file mode 100644 index 00000000..3c8aecd1 --- /dev/null +++ b/_module/uti/sdhelm2.uti.json @@ -0,0 +1,102 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 17 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 167 + }, + "Cloth2Color": { + "type": "byte", + "value": 23 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 3 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 20 + }, + "Leather2Color": { + "type": "byte", + "value": 20 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Helm 2", + "id": 90531 + } + }, + "Metal1Color": { + "type": "byte", + "value": 7 + }, + "Metal2Color": { + "type": "byte", + "value": 92 + }, + "ModelPart1": { + "type": "byte", + "value": 19 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdhelm2" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdhelm2" + } +} diff --git a/_module/uti/sdhelm3.uti.json b/_module/uti/sdhelm3.uti.json new file mode 100644 index 00000000..2566145f --- /dev/null +++ b/_module/uti/sdhelm3.uti.json @@ -0,0 +1,102 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 17 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cloth1Color": { + "type": "byte", + "value": 58 + }, + "Cloth2Color": { + "type": "byte", + "value": 63 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 3 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "Leather1Color": { + "type": "byte", + "value": 63 + }, + "Leather2Color": { + "type": "byte", + "value": 63 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Helm 3", + "id": 90531 + } + }, + "Metal1Color": { + "type": "byte", + "value": 71 + }, + "Metal2Color": { + "type": "byte", + "value": 61 + }, + "ModelPart1": { + "type": "byte", + "value": 22 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdhelm3" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdhelm3" + } +} diff --git a/_module/uti/sdhflail.uti.json b/_module/uti/sdhflail.uti.json new file mode 100644 index 00000000..9b8a8649 --- /dev/null +++ b/_module/uti/sdhflail.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 35 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 30 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1529 + } + }, + "ModelPart1": { + "type": "byte", + "value": 44 + }, + "ModelPart2": { + "type": "byte", + "value": 32 + }, + "ModelPart3": { + "type": "byte", + "value": 34 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdhflail" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdhflail" + } +} diff --git a/_module/uti/sdkama.uti.json b/_module/uti/sdkama.uti.json new file mode 100644 index 00000000..8100a008 --- /dev/null +++ b/_module/uti/sdkama.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 40 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 4 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1534 + } + }, + "ModelPart1": { + "type": "byte", + "value": 12 + }, + "ModelPart2": { + "type": "byte", + "value": 14 + }, + "ModelPart3": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdkama" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdkama" + } +} diff --git a/_module/uti/sdkatana.uti.json b/_module/uti/sdkatana.uti.json new file mode 100644 index 00000000..b19915a0 --- /dev/null +++ b/_module/uti/sdkatana.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 41 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 80 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1535 + } + }, + "ModelPart1": { + "type": "byte", + "value": 12 + }, + "ModelPart2": { + "type": "byte", + "value": 12 + }, + "ModelPart3": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdkatana" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdkatana" + } +} diff --git a/_module/uti/sdkukri.uti.json b/_module/uti/sdkukri.uti.json new file mode 100644 index 00000000..a908b5f5 --- /dev/null +++ b/_module/uti/sdkukri.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 42 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 16 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1536 + } + }, + "ModelPart1": { + "type": "byte", + "value": 12 + }, + "ModelPart2": { + "type": "byte", + "value": 14 + }, + "ModelPart3": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdkukri" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdkukri" + } +} diff --git a/_module/uti/sdlarge1.uti.json b/_module/uti/sdlarge1.uti.json new file mode 100644 index 00000000..7899c0b6 --- /dev/null +++ b/_module/uti/sdlarge1.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 56 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 20 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 100926 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Large 1", + "id": 90461 + } + }, + "ModelPart1": { + "type": "byte", + "value": 51 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlarge1" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlarge1" + } +} diff --git a/_module/uti/sdlarge10.uti.json b/_module/uti/sdlarge10.uti.json new file mode 100644 index 00000000..bdbfdc1c --- /dev/null +++ b/_module/uti/sdlarge10.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 56 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 20 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 100926 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Large 10", + "id": 90461 + } + }, + "ModelPart1": { + "type": "byte", + "value": 64 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlarge10" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlarge10" + } +} diff --git a/_module/uti/sdlarge2.uti.json b/_module/uti/sdlarge2.uti.json new file mode 100644 index 00000000..3824d702 --- /dev/null +++ b/_module/uti/sdlarge2.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 56 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 20 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 100926 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Large 2", + "id": 90461 + } + }, + "ModelPart1": { + "type": "byte", + "value": 52 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlarge2" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlarge2" + } +} diff --git a/_module/uti/sdlarge3.uti.json b/_module/uti/sdlarge3.uti.json new file mode 100644 index 00000000..a050075b --- /dev/null +++ b/_module/uti/sdlarge3.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 56 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 20 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 100926 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Large 3", + "id": 90461 + } + }, + "ModelPart1": { + "type": "byte", + "value": 53 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlarge3" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlarge3" + } +} diff --git a/_module/uti/sdlarge4.uti.json b/_module/uti/sdlarge4.uti.json new file mode 100644 index 00000000..13536e9c --- /dev/null +++ b/_module/uti/sdlarge4.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 56 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 20 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 100926 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Large 4", + "id": 90461 + } + }, + "ModelPart1": { + "type": "byte", + "value": 53 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlarge4" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlarge4" + } +} diff --git a/_module/uti/sdlarge5.uti.json b/_module/uti/sdlarge5.uti.json new file mode 100644 index 00000000..a14022a8 --- /dev/null +++ b/_module/uti/sdlarge5.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 56 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 20 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 100926 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Large 5", + "id": 90461 + } + }, + "ModelPart1": { + "type": "byte", + "value": 54 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlarge5" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlarge5" + } +} diff --git a/_module/uti/sdlarge6.uti.json b/_module/uti/sdlarge6.uti.json new file mode 100644 index 00000000..16f7b6e3 --- /dev/null +++ b/_module/uti/sdlarge6.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 56 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 20 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 100926 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Large 6", + "id": 90461 + } + }, + "ModelPart1": { + "type": "byte", + "value": 55 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlarge6" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlarge6" + } +} diff --git a/_module/uti/sdlarge7.uti.json b/_module/uti/sdlarge7.uti.json new file mode 100644 index 00000000..f3533663 --- /dev/null +++ b/_module/uti/sdlarge7.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 56 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 20 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 100926 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Large 7", + "id": 90461 + } + }, + "ModelPart1": { + "type": "byte", + "value": 56 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlarge7" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlarge7" + } +} diff --git a/_module/uti/sdlarge8.uti.json b/_module/uti/sdlarge8.uti.json new file mode 100644 index 00000000..dcdf8193 --- /dev/null +++ b/_module/uti/sdlarge8.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 56 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 20 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 100926 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Large 8", + "id": 90461 + } + }, + "ModelPart1": { + "type": "byte", + "value": 65 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlarge8" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlarge8" + } +} diff --git a/_module/uti/sdlarge9.uti.json b/_module/uti/sdlarge9.uti.json new file mode 100644 index 00000000..382e55ea --- /dev/null +++ b/_module/uti/sdlarge9.uti.json @@ -0,0 +1,80 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 56 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 20 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 100926 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Large 9", + "id": 90461 + } + }, + "ModelPart1": { + "type": "byte", + "value": 75 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlarge9" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlarge9" + } +} diff --git a/_module/uti/sdlbow.uti.json b/_module/uti/sdlbow.uti.json new file mode 100644 index 00000000..359812e7 --- /dev/null +++ b/_module/uti/sdlbow.uti.json @@ -0,0 +1,88 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 8 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 150 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 14049 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Longbow", + "id": 14050 + } + }, + "ModelPart1": { + "type": "byte", + "value": 52 + }, + "ModelPart2": { + "type": "byte", + "value": 74 + }, + "ModelPart3": { + "type": "byte", + "value": 44 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlbow" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlbow" + } +} diff --git a/_module/uti/sdlcbow.uti.json b/_module/uti/sdlcbow.uti.json new file mode 100644 index 00000000..ecf94d26 --- /dev/null +++ b/_module/uti/sdlcbow.uti.json @@ -0,0 +1,86 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 7 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 70 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Light Crossbow", + "id": 174 + } + }, + "ModelPart1": { + "type": "byte", + "value": 34 + }, + "ModelPart2": { + "type": "byte", + "value": 14 + }, + "ModelPart3": { + "type": "byte", + "value": 34 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlcbow" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlcbow" + } +} diff --git a/_module/uti/sdlflail.uti.json b/_module/uti/sdlflail.uti.json new file mode 100644 index 00000000..f61411c9 --- /dev/null +++ b/_module/uti/sdlflail.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 4 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 16 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 176 + } + }, + "ModelPart1": { + "type": "byte", + "value": 12 + }, + "ModelPart2": { + "type": "byte", + "value": 34 + }, + "ModelPart3": { + "type": "byte", + "value": 44 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlflail" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlflail" + } +} diff --git a/_module/uti/sdlhamm.uti.json b/_module/uti/sdlhamm.uti.json new file mode 100644 index 00000000..05669a2b --- /dev/null +++ b/_module/uti/sdlhamm.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 37 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 2 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1531 + } + }, + "ModelPart1": { + "type": "byte", + "value": 22 + }, + "ModelPart2": { + "type": "byte", + "value": 24 + }, + "ModelPart3": { + "type": "byte", + "value": 34 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlhamm" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlhamm" + } +} diff --git a/_module/uti/sdlsword.uti.json b/_module/uti/sdlsword.uti.json new file mode 100644 index 00000000..d6878fff --- /dev/null +++ b/_module/uti/sdlsword.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 1 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 30 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 166 + } + }, + "ModelPart1": { + "type": "byte", + "value": 12 + }, + "ModelPart2": { + "type": "byte", + "value": 24 + }, + "ModelPart3": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdlsword" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdlsword" + } +} diff --git a/_module/uti/sdmace.uti.json b/_module/uti/sdmace.uti.json new file mode 100644 index 00000000..f1bb056e --- /dev/null +++ b/_module/uti/sdmace.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 9 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 10 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 177 + } + }, + "ModelPart1": { + "type": "byte", + "value": 22 + }, + "ModelPart2": { + "type": "byte", + "value": 34 + }, + "ModelPart3": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdmace" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdmace" + } +} diff --git a/_module/uti/sdmstar.uti.json b/_module/uti/sdmstar.uti.json new file mode 100644 index 00000000..37ebd4de --- /dev/null +++ b/_module/uti/sdmstar.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 47 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 16 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1541 + } + }, + "ModelPart1": { + "type": "byte", + "value": 22 + }, + "ModelPart2": { + "type": "byte", + "value": 44 + }, + "ModelPart3": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdmstar" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdmstar" + } +} diff --git a/_module/uti/sdqstaff.uti.json b/_module/uti/sdqstaff.uti.json new file mode 100644 index 00000000..85ab3d96 --- /dev/null +++ b/_module/uti/sdqstaff.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 50 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 2 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1544 + } + }, + "ModelPart1": { + "type": "byte", + "value": 24 + }, + "ModelPart2": { + "type": "byte", + "value": 24 + }, + "ModelPart3": { + "type": "byte", + "value": 32 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdqstaff" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdqstaff" + } +} diff --git a/_module/uti/sdrapier.uti.json b/_module/uti/sdrapier.uti.json new file mode 100644 index 00000000..350050ec --- /dev/null +++ b/_module/uti/sdrapier.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 51 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 40 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1545 + } + }, + "ModelPart1": { + "type": "byte", + "value": 22 + }, + "ModelPart2": { + "type": "byte", + "value": 34 + }, + "ModelPart3": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdrapier" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdrapier" + } +} diff --git a/_module/uti/sdring1.uti.json b/_module/uti/sdring1.uti.json new file mode 100644 index 00000000..01d919de --- /dev/null +++ b/_module/uti/sdring1.uti.json @@ -0,0 +1,78 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 498 + }, + "BaseItem": { + "type": "int", + "value": 52 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 499 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Ring 1", + "id": 13485 + } + }, + "ModelPart1": { + "type": "byte", + "value": 1 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdring1" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdring1" + } +} diff --git a/_module/uti/sdring2.uti.json b/_module/uti/sdring2.uti.json new file mode 100644 index 00000000..6241bd14 --- /dev/null +++ b/_module/uti/sdring2.uti.json @@ -0,0 +1,78 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 498 + }, + "BaseItem": { + "type": "int", + "value": 52 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 499 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Ring 2", + "id": 13485 + } + }, + "ModelPart1": { + "type": "byte", + "value": 7 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdring2" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdring2" + } +} diff --git a/_module/uti/sdring3.uti.json b/_module/uti/sdring3.uti.json new file mode 100644 index 00000000..289f4ded --- /dev/null +++ b/_module/uti/sdring3.uti.json @@ -0,0 +1,78 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 498 + }, + "BaseItem": { + "type": "int", + "value": 52 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 499 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Ring 3", + "id": 13485 + } + }, + "ModelPart1": { + "type": "byte", + "value": 20 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdring3" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdring3" + } +} diff --git a/_module/uti/sdring4.uti.json b/_module/uti/sdring4.uti.json new file mode 100644 index 00000000..ce2fe2f6 --- /dev/null +++ b/_module/uti/sdring4.uti.json @@ -0,0 +1,78 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 498 + }, + "BaseItem": { + "type": "int", + "value": 52 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 499 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Ring 4", + "id": 13485 + } + }, + "ModelPart1": { + "type": "byte", + "value": 27 + }, + "PaletteID": { + "type": "byte", + "value": 2 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdring4" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdring4" + } +} diff --git a/_module/uti/sdsbow.uti.json b/_module/uti/sdsbow.uti.json new file mode 100644 index 00000000..004498d8 --- /dev/null +++ b/_module/uti/sdsbow.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 11 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 60 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 171 + } + }, + "ModelPart1": { + "type": "byte", + "value": 52 + }, + "ModelPart2": { + "type": "byte", + "value": 64 + }, + "ModelPart3": { + "type": "byte", + "value": 24 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdsbow" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdsbow" + } +} diff --git a/_module/uti/sdscim.uti.json b/_module/uti/sdscim.uti.json new file mode 100644 index 00000000..31a46381 --- /dev/null +++ b/_module/uti/sdscim.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 53 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 30 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1547 + } + }, + "ModelPart1": { + "type": "byte", + "value": 22 + }, + "ModelPart2": { + "type": "byte", + "value": 34 + }, + "ModelPart3": { + "type": "byte", + "value": 34 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdscim" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdscim" + } +} diff --git a/_module/uti/sdscythe.uti.json b/_module/uti/sdscythe.uti.json new file mode 100644 index 00000000..8d811881 --- /dev/null +++ b/_module/uti/sdscythe.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 55 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 36 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1549 + } + }, + "ModelPart1": { + "type": "byte", + "value": 14 + }, + "ModelPart2": { + "type": "byte", + "value": 14 + }, + "ModelPart3": { + "type": "byte", + "value": 34 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdscythe" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdscythe" + } +} diff --git a/_module/uti/sdsickle.uti.json b/_module/uti/sdsickle.uti.json new file mode 100644 index 00000000..65d1d9aa --- /dev/null +++ b/_module/uti/sdsickle.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 60 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 12 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1554 + } + }, + "ModelPart1": { + "type": "byte", + "value": 12 + }, + "ModelPart2": { + "type": "byte", + "value": 14 + }, + "ModelPart3": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdsickle" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdsickle" + } +} diff --git a/_module/uti/sdsmall1.uti.json b/_module/uti/sdsmall1.uti.json new file mode 100644 index 00000000..7752b263 --- /dev/null +++ b/_module/uti/sdsmall1.uti.json @@ -0,0 +1,82 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 14 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 9 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 12878 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Small 1", + "id": 12877 + } + }, + "ModelPart1": { + "type": "byte", + "value": 12 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdsmall1" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdsmall1" + } +} diff --git a/_module/uti/sdsmall2.uti.json b/_module/uti/sdsmall2.uti.json new file mode 100644 index 00000000..92216ca9 --- /dev/null +++ b/_module/uti/sdsmall2.uti.json @@ -0,0 +1,82 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 14 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 9 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 12878 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Small 2", + "id": 12877 + } + }, + "ModelPart1": { + "type": "byte", + "value": 22 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdsmall2" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdsmall2" + } +} diff --git a/_module/uti/sdsmall3.uti.json b/_module/uti/sdsmall3.uti.json new file mode 100644 index 00000000..ce753cac --- /dev/null +++ b/_module/uti/sdsmall3.uti.json @@ -0,0 +1,82 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 14 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 9 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 12878 + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Small 3", + "id": 12877 + } + }, + "ModelPart1": { + "type": "byte", + "value": 42 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdsmall3" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdsmall3" + } +} diff --git a/_module/uti/sdspear.uti.json b/_module/uti/sdspear.uti.json new file mode 100644 index 00000000..3434c8b5 --- /dev/null +++ b/_module/uti/sdspear.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 58 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 2 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 1552 + } + }, + "ModelPart1": { + "type": "byte", + "value": 32 + }, + "ModelPart2": { + "type": "byte", + "value": 24 + }, + "ModelPart3": { + "type": "byte", + "value": 14 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdspear" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdspear" + } +} diff --git a/_module/uti/sdssword.uti.json b/_module/uti/sdssword.uti.json new file mode 100644 index 00000000..1601440e --- /dev/null +++ b/_module/uti/sdssword.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 0 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 20 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 106 + } + }, + "ModelPart1": { + "type": "byte", + "value": 42 + }, + "ModelPart2": { + "type": "byte", + "value": 14 + }, + "ModelPart3": { + "type": "byte", + "value": 44 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdssword" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdssword" + } +} diff --git a/_module/uti/sdstaff1.uti.json b/_module/uti/sdstaff1.uti.json new file mode 100644 index 00000000..ca7b70d8 --- /dev/null +++ b/_module/uti/sdstaff1.uti.json @@ -0,0 +1,244 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 45 + }, + "Charges": { + "type": "byte", + "value": 20 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 7000 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 14175 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Staff 1", + "id": 40592 + } + }, + "ModelPart1": { + "type": "byte", + "value": 24 + }, + "ModelPart2": { + "type": "byte", + "value": 23 + }, + "ModelPart3": { + "type": "byte", + "value": 63 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 3 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 15 + }, + "Subtype": { + "type": "word", + "value": 172 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 26 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 10 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdstaff1" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdstaff1" + } +} diff --git a/_module/uti/sdstaff2.uti.json b/_module/uti/sdstaff2.uti.json new file mode 100644 index 00000000..6995b251 --- /dev/null +++ b/_module/uti/sdstaff2.uti.json @@ -0,0 +1,244 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 45 + }, + "Charges": { + "type": "byte", + "value": 20 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 7376 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 14175 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Staff 2", + "id": 40592 + } + }, + "ModelPart1": { + "type": "byte", + "value": 64 + }, + "ModelPart2": { + "type": "byte", + "value": 21 + }, + "ModelPart3": { + "type": "byte", + "value": 53 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 3 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 15 + }, + "Subtype": { + "type": "word", + "value": 262 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 26 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 10 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdstaff2" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdstaff2" + } +} diff --git a/_module/uti/sdstaff3.uti.json b/_module/uti/sdstaff3.uti.json new file mode 100644 index 00000000..be9ce919 --- /dev/null +++ b/_module/uti/sdstaff3.uti.json @@ -0,0 +1,244 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 45 + }, + "Charges": { + "type": "byte", + "value": 20 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 9626 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "id": 14175 + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 0 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Staff 3", + "id": 40592 + } + }, + "ModelPart1": { + "type": "byte", + "value": 34 + }, + "ModelPart2": { + "type": "byte", + "value": 34 + }, + "ModelPart3": { + "type": "byte", + "value": 31 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 3 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 3 + }, + "CostValue": { + "type": "word", + "value": 5 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 15 + }, + "Subtype": { + "type": "word", + "value": 6 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 26 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 9 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 63 + }, + "Subtype": { + "type": "word", + "value": 10 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdstaff3" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdstaff3" + } +} diff --git a/_module/uti/sdtower1.uti.json b/_module/uti/sdtower1.uti.json new file mode 100644 index 00000000..1c9663af --- /dev/null +++ b/_module/uti/sdtower1.uti.json @@ -0,0 +1,78 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 57 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 30 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Tower 1", + "id": 1551 + } + }, + "ModelPart1": { + "type": "byte", + "value": 21 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdtower1" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdtower1" + } +} diff --git a/_module/uti/sdtower2.uti.json b/_module/uti/sdtower2.uti.json new file mode 100644 index 00000000..1d9c25a3 --- /dev/null +++ b/_module/uti/sdtower2.uti.json @@ -0,0 +1,78 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 57 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 30 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Tower 2", + "id": 1551 + } + }, + "ModelPart1": { + "type": "byte", + "value": 51 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdtower2" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdtower2" + } +} diff --git a/_module/uti/sdtower3.uti.json b/_module/uti/sdtower3.uti.json new file mode 100644 index 00000000..c0bd40eb --- /dev/null +++ b/_module/uti/sdtower3.uti.json @@ -0,0 +1,78 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 57 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 30 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Tower 3", + "id": 1551 + } + }, + "ModelPart1": { + "type": "byte", + "value": 63 + }, + "PaletteID": { + "type": "byte", + "value": 1 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdtower3" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdtower3" + } +} diff --git a/_module/uti/sdwaxe.uti.json b/_module/uti/sdwaxe.uti.json new file mode 100644 index 00000000..18f174a6 --- /dev/null +++ b/_module/uti/sdwaxe.uti.json @@ -0,0 +1,86 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 108 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 60 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "Waraxe", + "id": 83310 + } + }, + "ModelPart1": { + "type": "byte", + "value": 14 + }, + "ModelPart2": { + "type": "byte", + "value": 52 + }, + "ModelPart3": { + "type": "byte", + "value": 34 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdwaxe" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdwaxe" + } +} diff --git a/_module/uti/sdwhamm.uti.json b/_module/uti/sdwhamm.uti.json new file mode 100644 index 00000000..8f337bbc --- /dev/null +++ b/_module/uti/sdwhamm.uti.json @@ -0,0 +1,85 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 5 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 24 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 178 + } + }, + "ModelPart1": { + "type": "byte", + "value": 14 + }, + "ModelPart2": { + "type": "byte", + "value": 44 + }, + "ModelPart3": { + "type": "byte", + "value": 11 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdwhamm" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdwhamm" + } +} diff --git a/_module/uti/sdwhip.uti.json b/_module/uti/sdwhip.uti.json new file mode 100644 index 00000000..d7e28efe --- /dev/null +++ b/_module/uti/sdwhip.uti.json @@ -0,0 +1,117 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 111 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 2 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": {} + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "id": 83617 + } + }, + "ModelPart1": { + "type": "byte", + "value": 11 + }, + "ModelPart2": { + "type": "byte", + "value": 11 + }, + "ModelPart3": { + "type": "byte", + "value": 11 + }, + "PaletteID": { + "type": "byte", + "value": 3 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 0 + }, + "CostValue": { + "type": "word", + "value": 0 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 12 + }, + "Subtype": { + "type": "word", + "value": 37 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "sdwhip" + }, + "TemplateResRef": { + "type": "resref", + "value": "sdwhip" + } +} diff --git a/_release/Path of Ascension [PRC8-CEP3].7z b/_release/Path of Ascension [PRC8-CEP3].7z index 871674d6..80c809de 100644 Binary files a/_release/Path of Ascension [PRC8-CEP3].7z and b/_release/Path of Ascension [PRC8-CEP3].7z differ