diff --git a/_module/are/area.are.json b/_module/are/area.are.json index 4b70c35f..af036ebf 100644 --- a/_module/are/area.are.json +++ b/_module/are/area.are.json @@ -2913,7 +2913,7 @@ }, "Version": { "type": "dword", - "value": 29 + "value": 30 }, "Width": { "type": "int", diff --git a/_module/are/arrowsrus.are.json b/_module/are/arrowsrus.are.json index b8c568ac..63496000 100644 --- a/_module/are/arrowsrus.are.json +++ b/_module/are/arrowsrus.are.json @@ -333,7 +333,7 @@ }, "Version": { "type": "dword", - "value": 7 + "value": 8 }, "Width": { "type": "int", diff --git a/_module/are/jail.are.json b/_module/are/jail.are.json index f8d1ba28..cbf1499c 100644 --- a/_module/are/jail.are.json +++ b/_module/are/jail.are.json @@ -1193,7 +1193,7 @@ }, "Version": { "type": "dword", - "value": 50 + "value": 51 }, "Width": { "type": "int", diff --git a/_module/are/red_haunthills_2.are.json b/_module/are/red_haunthills_2.are.json index 00b5490a..092ad8c1 100644 --- a/_module/are/red_haunthills_2.are.json +++ b/_module/are/red_haunthills_2.are.json @@ -2022,7 +2022,7 @@ }, "Tile_ID": { "type": "int", - "value": 1 + "value": 205 }, "Tile_MainLight1": { "type": "byte", @@ -7901,7 +7901,7 @@ }, "Version": { "type": "dword", - "value": 22 + "value": 23 }, "Width": { "type": "int", diff --git a/_module/git/arrowsrus.git.json b/_module/git/arrowsrus.git.json index 31224125..babec152 100644 --- a/_module/git/arrowsrus.git.json +++ b/_module/git/arrowsrus.git.json @@ -4080,7 +4080,7 @@ }, "MarkDown": { "type": "int", - "value": 5 + "value": 50 }, "MarkUp": { "type": "int", @@ -4088,7 +4088,7 @@ }, "MaxBuyPrice": { "type": "int", - "value": 10000 + "value": 20000 }, "OnOpenStore": { "type": "resref", @@ -4427,7 +4427,7 @@ }, "Cost": { "type": "dword", - "value": 7291 + "value": 875391 }, "Cursed": { "type": "byte", @@ -4436,24 +4436,30 @@ "DescIdentified": { "id": 48321, "type": "cexolocstring", - "value": {} + "value": { + "0": "Rumors abound about a long lost maker of artifacts. Their identity unknown, however, few in any generation possess the ability to imbue items with the essence of experience, much less items with this many attributes. All created hundreds of years ago.." + } }, "Description": { "type": "cexolocstring", - "value": {} + "value": { + "0": "" + } }, "Identified": { "type": "byte", - "value": 0 + "value": 1 }, "LocalizedName": { "id": 48320, "type": "cexolocstring", - "value": {} + "value": { + "0": "Artifact of Archery" + } }, "ModelPart1": { "type": "byte", - "value": 4 + "value": 12 }, "Plot": { "type": "byte", @@ -4474,7 +4480,7 @@ }, "CostValue": { "type": "word", - "value": 1 + "value": 8 }, "Param1": { "type": "byte", @@ -4493,6 +4499,99 @@ "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": 12 + }, + "Subtype": { + "type": "word", + "value": 390 + } + }, + { + "__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": 353 + } + }, + { + "__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": 354 + } + }, { "__struct_id": 0, "ChanceAppear": { @@ -4523,6 +4622,254 @@ "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": 12 + }, + "Subtype": { + "type": "word", + "value": 30 + } + }, + { + "__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": 24753 + } + }, + { + "__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": 24754 + } + }, + { + "__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": 24790 + } + }, + { + "__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": 24791 + } + }, + { + "__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": 4607 + } + }, + { + "__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": 4610 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 35 + }, + "CostValue": { + "type": "word", + "value": 9 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 128 + }, + "Subtype": { + "type": "word", + "value": 0 + } } ] }, @@ -4544,7 +4891,7 @@ }, "Tag": { "type": "cexostring", - "value": "X0_IT_MBRACER001" + "value": "ArtifactofArchery" }, "TemplateResRef": { "type": "resref", @@ -4552,7 +4899,7 @@ }, "xModelPart1": { "type": "word", - "value": 4 + "value": 12 }, "XOrientation": { "type": "float", @@ -9197,6 +9544,977 @@ "type": "float", "value": -1.0 } + }, + { + "__struct_id": 25, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 8 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 165314 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "id": 91153, + "type": "cexolocstring", + "value": { + "0": "This exquisite longbow can imbue its arrows with both fire and cold damage." + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "id": 91152, + "type": "cexolocstring", + "value": { + "0": "Fire and Ice" + } + }, + "ModelPart1": { + "type": "byte", + "value": 23 + }, + "ModelPart2": { + "type": "byte", + "value": 33 + }, + "ModelPart3": { + "type": "byte", + "value": 83 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 4 + }, + "CostValue": { + "type": "word", + "value": 7 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 16 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 6 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 45 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 14 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 61 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "Repos_PosX": { + "type": "word", + "value": 4 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "FireandIce" + }, + "TemplateResRef": { + "type": "resref", + "value": "fireandice" + }, + "xModelPart1": { + "type": "word", + "value": 23 + }, + "xModelPart2": { + "type": "word", + "value": 33 + }, + "xModelPart3": { + "type": "word", + "value": 83 + }, + "XOrientation": { + "type": "float", + "value": 1.008934894313868e-043 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } + }, + { + "__struct_id": 26, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 7 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 165234 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "id": 14097, + "type": "cexolocstring", + "value": { + "0": "A magical light crossbow capable of imbuing its bolts with both fire and cold damage." + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "id": 14098, + "type": "cexolocstring", + "value": { + "0": "Crossbow of Opposites" + } + }, + "ModelPart1": { + "type": "byte", + "value": 43 + }, + "ModelPart2": { + "type": "byte", + "value": 33 + }, + "ModelPart3": { + "type": "byte", + "value": 33 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 4 + }, + "CostValue": { + "type": "word", + "value": 7 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 16 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 6 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 45 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 14 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 61 + }, + "Subtype": { + "type": "word", + "value": 1 + } + } + ] + }, + "Repos_PosX": { + "type": "word", + "value": 6 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "CrossbowofOpposites" + }, + "TemplateResRef": { + "type": "resref", + "value": "crossbowofoppo" + }, + "xModelPart1": { + "type": "word", + "value": 43 + }, + "xModelPart2": { + "type": "word", + "value": 33 + }, + "xModelPart3": { + "type": "word", + "value": 33 + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } + }, + { + "__struct_id": 27, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 6 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 165264 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "A magical heavy crossbow that can imbue its bolts with both fire and cold damage." + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "id": 173, + "type": "cexolocstring", + "value": { + "0": "Crossbow of Coldflame" + } + }, + "ModelPart1": { + "type": "byte", + "value": 33 + }, + "ModelPart2": { + "type": "byte", + "value": 43 + }, + "ModelPart3": { + "type": "byte", + "value": 43 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 4 + }, + "CostValue": { + "type": "word", + "value": 7 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 16 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 6 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 45 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 14 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 61 + }, + "Subtype": { + "type": "word", + "value": 1 + } + } + ] + }, + "Repos_PosX": { + "type": "word", + "value": 8 + }, + "Repos_Posy": { + "type": "word", + "value": 10 + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "CrossbowofColdflame" + }, + "TemplateResRef": { + "type": "resref", + "value": "xbowofcoldflame" + }, + "xModelPart1": { + "type": "word", + "value": 33 + }, + "xModelPart2": { + "type": "word", + "value": 43 + }, + "xModelPart3": { + "type": "word", + "value": 43 + }, + "XOrientation": { + "type": "float", + "value": 0.0 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } + }, + { + "__struct_id": 28, + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 61 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Cost": { + "type": "dword", + "value": 165166 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "id": 14080, + "type": "cexolocstring", + "value": { + "0": "Bindle \"Eye-nock\" Tempertuppin based these weapons on one he supposedly saw a fire giant use, reportedly \"big enough to throw a donkey 300 paces.\" Questioning the accuracy of this account brings the predictable retort that \"you'll be sorry when a giant puts YOUR ass in a sling.\" He's a funny man, that Bindle." + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "id": 14079, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 32 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 4 + }, + "CostValue": { + "type": "word", + "value": 7 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 16 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 6 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 20 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 45 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 14 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 61 + }, + "Subtype": { + "type": "word", + "value": 2 + } + } + ] + }, + "Repos_PosX": { + "type": "word", + "value": 1 + }, + "Repos_Posy": { + "type": "word", + "value": 8 + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_WBWMSL008" + }, + "TemplateResRef": { + "type": "resref", + "value": "wbwmsl009" + }, + "xModelPart1": { + "type": "word", + "value": 32 + }, + "XOrientation": { + "type": "float", + "value": 1.008934894313868e-043 + }, + "XPosition": { + "type": "float", + "value": -1.0 + }, + "YOrientation": { + "type": "float", + "value": 1.0 + }, + "YPosition": { + "type": "float", + "value": -1.0 + }, + "ZPosition": { + "type": "float", + "value": -1.0 + } } ] } diff --git a/_module/itp/itempalcus.itp.json b/_module/itp/itempalcus.itp.json index 22752209..02d765e8 100644 --- a/_module/itp/itempalcus.itp.json +++ b/_module/itp/itempalcus.itp.json @@ -39561,6 +39561,17 @@ "value": "crossbowofaerd" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Crossbow of Coldflame" + }, + "RESREF": { + "type": "resref", + "value": "xbowofcoldflame" + } + }, { "__struct_id": 0, "NAME": { @@ -39572,6 +39583,17 @@ "value": "crossbowofhelm" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Crossbow of Opposites" + }, + "RESREF": { + "type": "resref", + "value": "crossbowofoppo" + } + }, { "__struct_id": 0, "NAME": { @@ -39709,6 +39731,17 @@ "value": "elfsinger" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Fire and Ice" + }, + "RESREF": { + "type": "resref", + "value": "fireandice" + } + }, { "__struct_id": 0, "NAME": { @@ -39961,6 +39994,17 @@ "value": "spellsinger" } }, + { + "__struct_id": 0, + "NAME": { + "type": "cexostring", + "value": "Tempertuppin's Ever-Thrower" + }, + "RESREF": { + "type": "resref", + "value": "wbwmsl009" + } + }, { "__struct_id": 0, "NAME": { diff --git a/_module/ncs/_golemstats.ncs b/_module/ncs/_golemstats.ncs index 347a08c5..3d11d155 100644 Binary files a/_module/ncs/_golemstats.ncs and b/_module/ncs/_golemstats.ncs differ diff --git a/_module/ncs/_oncliententer.ncs b/_module/ncs/_oncliententer.ncs index 66a56890..0bc67cd0 100644 Binary files a/_module/ncs/_oncliententer.ncs and b/_module/ncs/_oncliententer.ncs differ diff --git a/_module/ncs/nw_c2_default6.ncs b/_module/ncs/nw_c2_default6.ncs index 459990a2..f18ea3ef 100644 Binary files a/_module/ncs/nw_c2_default6.ncs and b/_module/ncs/nw_c2_default6.ncs differ diff --git a/_module/ncs/nw_c2_default7.ncs b/_module/ncs/nw_c2_default7.ncs new file mode 100644 index 00000000..2527e18a Binary files /dev/null and b/_module/ncs/nw_c2_default7.ncs differ diff --git a/_module/ncs/nw_c2_default9.ncs b/_module/ncs/nw_c2_default9.ncs index 2f04419c..dbecd7f8 100644 Binary files a/_module/ncs/nw_c2_default9.ncs and b/_module/ncs/nw_c2_default9.ncs differ diff --git a/_module/ncs/prc_pwonspawn.ncs b/_module/ncs/prc_pwonspawn.ncs index 81ec55a8..e9fe7e9a 100644 Binary files a/_module/ncs/prc_pwonspawn.ncs and b/_module/ncs/prc_pwonspawn.ncs differ diff --git a/_module/ncs/random_drop.ncs b/_module/ncs/random_drop.ncs index e664912d..364b6aeb 100644 Binary files a/_module/ncs/random_drop.ncs and b/_module/ncs/random_drop.ncs differ diff --git a/_module/ncs/random_drop2.ncs b/_module/ncs/random_drop2.ncs new file mode 100644 index 00000000..6d69e1a0 Binary files /dev/null and b/_module/ncs/random_drop2.ncs differ diff --git a/_module/ncs/x0_ch_hen_rest.ncs b/_module/ncs/x0_ch_hen_rest.ncs index b1fc4e4c..e8820e39 100644 Binary files a/_module/ncs/x0_ch_hen_rest.ncs and b/_module/ncs/x0_ch_hen_rest.ncs differ diff --git a/_module/nss/_golemstats.nss b/_module/nss/_golemstats.nss index 2716e45a..dbeab507 100644 --- a/_module/nss/_golemstats.nss +++ b/_module/nss/_golemstats.nss @@ -2,12 +2,12 @@ void main() { effect eEffect = GetFirstEffect(OBJECT_SELF); - //while(GetIsEffectValid(eEffect)) + while(GetIsEffectValid(eEffect)) { - if(GetEffectTag(eEffect) == "BUFFS") RemoveEffect(OBJECT_SELF, eEffect); eEffect = GetNextEffect(OBJECT_SELF); } + int nGolemHench = GetStringLeft(GetTag(OBJECT_SELF), 6) == "GOLEMH" ? TRUE : FALSE; if(nGolemHench) { diff --git a/_module/nss/nw_c2_default6.nss b/_module/nss/nw_c2_default6.nss index d362ecf1..c135ca7a 100644 --- a/_module/nss/nw_c2_default6.nss +++ b/_module/nss/nw_c2_default6.nss @@ -21,6 +21,7 @@ void main() { + ExecuteScript("random_drop", OBJECT_SELF); ExecuteScript("prc_npc_damaged", OBJECT_SELF); object oDamager = GetLastDamager(); diff --git a/_module/nss/nw_c2_default7.nss b/_module/nss/nw_c2_default7.nss new file mode 100644 index 00000000..ad7bc903 --- /dev/null +++ b/_module/nss/nw_c2_default7.nss @@ -0,0 +1,114 @@ +//::////////////////////////////////////////////////// +//:: NW_C2_DEFAULT7 +/* + Default OnDeath event handler for NPCs. + + Adjusts killer's alignment if appropriate and + alerts allies to our death. + */ +//::////////////////////////////////////////////////// +//:: Copyright (c) 2002 Floodgate Entertainment +//:: Created By: Naomi Novik +//:: Created On: 12/22/2002 +//::////////////////////////////////////////////////// +//::////////////////////////////////////////////////// +//:: Modified By: Deva Winblood +//:: Modified On: April 1st, 2008 +//:: Added Support for Dying Wile Mounted +//::///////////////////////////////////////////////// + +const string sHenchSummonedFamiliar = "HenchSummonedFamiliar"; +const string sHenchSummonedAniComp = "HenchSummonedAniComp"; +const string sHenchLastHeardOrSeen = "LastSeenOrHeard"; + +#include "x2_inc_compon" +#include "x0_i0_spawncond" + +// Clears the last unheard, unseen enemy location +void ClearEnemyLocation(); + +void main() +{ + object oKiller = GetLastKiller(); + object oMaster = GetMaster(); + + int nAlign = GetAlignmentGoodEvil(OBJECT_SELF); + + if(GetLocalInt(GetModule(), "X3_ENABLE_MOUNT_DB") && GetIsObjectValid(oMaster)) + SetLocalInt(oMaster, "bX3_STORE_MOUNT_INFO", TRUE); + + // If we're a good/neutral commoner, + // adjust the killer's alignment evil + if(GetLevelByClass(CLASS_TYPE_COMMONER) + && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL)) + { + AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5); + } + +//Start Hench AI + if(GetLocalInt(OBJECT_SELF, "GaveHealing")) + { + // Pausanias: destroy potions of healing + object oItem = GetFirstItemInInventory(); + while(GetIsObjectValid(oItem)) + { + if(GetTag(oItem) == "NW_IT_MPOTION003") + DestroyObject(oItem); + oItem = GetNextItemInInventory(); + } + } + + if(GetLocalInt(OBJECT_SELF, sHenchSummonedFamiliar)) + { + object oFam = GetLocalObject(OBJECT_SELF, sHenchSummonedFamiliar); + if(GetIsObjectValid(oFam)) + { + //if(DEBUG) DoDebug(GetName(OBJECT_SELF) + " destroy familiar"); + DestroyObject(oFam, 0.1); + ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_IMP_UNSUMMON), GetLocation(oFam)); + } + } + if(GetLocalInt(OBJECT_SELF, sHenchSummonedAniComp)) + { + object oAni = GetLocalObject(OBJECT_SELF, sHenchSummonedAniComp); + if(GetIsObjectValid(oAni)) + { + //if(DEBUG) DoDebug(GetName(OBJECT_SELF) + " destroy ani comp"); + DestroyObject(oAni, 0.1); + ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_IMP_UNSUMMON), GetLocation(oAni)); + } + } + + ClearEnemyLocation(); +//End Hench AI + + // Call to allies to let them know we're dead + SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK); + + //Shout Attack my target, only works with the On Spawn In setup + SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK); + + // NOTE: the OnDeath user-defined event does not + // trigger reliably and should probably be removed + if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT)) + SignalEvent(OBJECT_SELF, EventUserDefined(1007)); + + craft_drop_items(oKiller); + + + ExecuteScript("prc_npc_death", OBJECT_SELF); + ExecuteScript("prc_pwondeath", OBJECT_SELF); +} + +void ClearEnemyLocation() +{ + DeleteLocalInt(OBJECT_SELF, sHenchLastHeardOrSeen); + DeleteLocalLocation(OBJECT_SELF, sHenchLastHeardOrSeen); + + object oInvisTarget = GetLocalObject(OBJECT_SELF, sHenchLastHeardOrSeen); + if (GetIsObjectValid(oInvisTarget)) + { + DestroyObject(oInvisTarget); + DeleteLocalObject(OBJECT_SELF, sHenchLastHeardOrSeen); + } +} diff --git a/_module/nss/nw_c2_default9.nss b/_module/nss/nw_c2_default9.nss index 65263f65..034ff8c9 100644 --- a/_module/nss/nw_c2_default9.nss +++ b/_module/nss/nw_c2_default9.nss @@ -324,5 +324,5 @@ void main() } ExecuteScript("prc_pwonspawn", OBJECT_SELF); - DelayCommand(0.5, ExecuteScript("random_drop", OBJECT_SELF)); + //DelayCommand(0.5, ExecuteScript("random_drop", OBJECT_SELF)); } diff --git a/_module/nss/prc_pwonspawn.nss b/_module/nss/prc_pwonspawn.nss index 1affdb72..fac7ce13 100644 --- a/_module/nss/prc_pwonspawn.nss +++ b/_module/nss/prc_pwonspawn.nss @@ -1,9 +1,9 @@ //::////////////////////////////////////////////////// //:: prc_pwonspawn /* - - OnSpawn catch all for the PRC - + + OnSpawn catch all for the PRC + */ //::////////////////////////////////////////////////// @@ -22,5 +22,5 @@ void main() // ***** ADD ANY SPECIAL ON-SPAWN CODE HERE ***** // - ExecuteScript("random_drop",OBJECT_SELF); + //ExecuteScript("random_drop",OBJECT_SELF); } diff --git a/_module/nss/random_drop.nss b/_module/nss/random_drop.nss index c0aa668d..ea3612bf 100644 --- a/_module/nss/random_drop.nss +++ b/_module/nss/random_drop.nss @@ -1,22 +1,30 @@ -void main() +void MakeItemsDroppable(object oNPC) { - object oNPC = OBJECT_SELF; object oItem = GetFirstItemInInventory(oNPC); while (GetIsObjectValid(oItem)) - { - if (GetDroppableFlag(oItem) == TRUE) - { - //items already set as droppable should stay that way - SetLocalInt (oItem, "droppable", 1); - GetNextItemInInventory(oNPC); - } - if (GetLocalInt(oItem, "droppable") == FALSE) - { - //20% chance to drop item inventory not already set as droppable - int bDroppable=d100()>80; - SetDroppableFlag(oItem, bDroppable); - oItem = GetNextItemInInventory(oNPC); - } + { + if (GetDroppableFlag(oItem) == FALSE) + { + SetLocalInt(oItem, "notdroppable", 1); + } + + if (GetLocalInt(oItem, "notdroppable") == TRUE) + { + // 20% chance to drop item from inventory not already set as droppable + if (d100() <= 20) + { + SetDroppableFlag(oItem, TRUE); + + } + } + + oItem = GetNextItemInInventory(oNPC); } } + +void main() +{ + object oNPC = OBJECT_SELF; + DelayCommand(0.0f,MakeItemsDroppable(oNPC)); +} diff --git a/_module/nss/random_drop2.nss b/_module/nss/random_drop2.nss new file mode 100644 index 00000000..5771d2b8 --- /dev/null +++ b/_module/nss/random_drop2.nss @@ -0,0 +1,24 @@ +void main() +{ + object oNPC = OBJECT_SELF; + object oItem = GetFirstItemInInventory(oNPC); + + while (GetIsObjectValid(oItem)) + oItem = GetNextItemInInventory(oNPC); + + { + if (GetDroppableFlag(oItem) == FALSE) + { + SetLocalInt (oItem, "notdroppable", 1); + } + if (GetLocalInt(oItem, "notdroppable") == 1) + { + //20% chance to drop item inventory not already set as droppable + //object oDrop = GetLocalObject(oItem, "notdroppable"); + int bDroppable = d100()>50; + SetDroppableFlag(oItem, bDroppable); + + } + } +} + diff --git a/_module/nss/x0_ch_hen_rest.nss b/_module/nss/x0_ch_hen_rest.nss index 85079761..10739d1e 100644 --- a/_module/nss/x0_ch_hen_rest.nss +++ b/_module/nss/x0_ch_hen_rest.nss @@ -13,6 +13,7 @@ void main() { object oSelf = OBJECT_SELF; + DelayCommand(30.5, ExecuteScript("_golemstats", OBJECT_SELF)); // modifed by primogenitor // aribeth uses her blackguard spellbook if(GetTag(oSelf) == "H2_Aribeth") @@ -61,5 +62,5 @@ void main() } CheckNewSpellbooks(oSelf); } - DelayCommand(30.5, ExecuteScript("_golemstats", OBJECT_SELF)); + } diff --git a/_module/uti/crossbowofoppo.uti.json b/_module/uti/crossbowofoppo.uti.json new file mode 100644 index 00000000..3ef3472d --- /dev/null +++ b/_module/uti/crossbowofoppo.uti.json @@ -0,0 +1,228 @@ +{ + "__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": 165234 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "id": 14097, + "type": "cexolocstring", + "value": { + "0": "A magical light crossbow capable of imbuing its bolts with both fire and cold damage." + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "id": 14098, + "type": "cexolocstring", + "value": { + "0": "Crossbow of Opposites" + } + }, + "ModelPart1": { + "type": "byte", + "value": 43 + }, + "ModelPart2": { + "type": "byte", + "value": 33 + }, + "ModelPart3": { + "type": "byte", + "value": 33 + }, + "PaletteID": { + "type": "byte", + "value": 43 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 4 + }, + "CostValue": { + "type": "word", + "value": 7 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 16 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 6 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 45 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 14 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 61 + }, + "Subtype": { + "type": "word", + "value": 1 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "CrossbowofOpposites" + }, + "TemplateResRef": { + "type": "resref", + "value": "crossbowofoppo" + }, + "xModelPart1": { + "type": "word", + "value": 43 + }, + "xModelPart2": { + "type": "word", + "value": 33 + }, + "xModelPart3": { + "type": "word", + "value": 33 + } +} diff --git a/_module/uti/fireandice.uti.json b/_module/uti/fireandice.uti.json new file mode 100644 index 00000000..506dc690 --- /dev/null +++ b/_module/uti/fireandice.uti.json @@ -0,0 +1,226 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 8 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "" + }, + "Cost": { + "type": "dword", + "value": 165314 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "id": 91153, + "type": "cexolocstring", + "value": { + "0": "This exquisite longbow can imbue its arrows with both fire and cold damage." + } + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "id": 91152, + "type": "cexolocstring", + "value": { + "0": "Fire and Ice" + } + }, + "ModelPart1": { + "type": "byte", + "value": 23 + }, + "ModelPart2": { + "type": "byte", + "value": 33 + }, + "ModelPart3": { + "type": "byte", + "value": 83 + }, + "PaletteID": { + "type": "byte", + "value": 44 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 4 + }, + "CostValue": { + "type": "word", + "value": 7 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 16 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 6 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 45 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 14 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 61 + }, + "Subtype": { + "type": "word", + "value": 0 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "FireandIce" + }, + "TemplateResRef": { + "type": "resref", + "value": "fireandice" + }, + "xModelPart1": { + "type": "word", + "value": 23 + }, + "xModelPart2": { + "type": "word", + "value": 33 + }, + "xModelPart3": { + "type": "word", + "value": 83 + } +} diff --git a/_module/uti/wbwmsl009.uti.json b/_module/uti/wbwmsl009.uti.json new file mode 100644 index 00000000..67601a96 --- /dev/null +++ b/_module/uti/wbwmsl009.uti.json @@ -0,0 +1,210 @@ +{ + "__data_type": "UTI ", + "AddCost": { + "type": "dword", + "value": 0 + }, + "BaseItem": { + "type": "int", + "value": 61 + }, + "Charges": { + "type": "byte", + "value": 0 + }, + "Comment": { + "type": "cexostring", + "value": "1" + }, + "Cost": { + "type": "dword", + "value": 165166 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "id": 14080, + "type": "cexolocstring", + "value": { + "0": "Bindle \"Eye-nock\" Tempertuppin based these weapons on one he supposedly saw a fire giant use, reportedly \"big enough to throw a donkey 300 paces.\" Questioning the accuracy of this account brings the predictable retort that \"you'll be sorry when a giant puts YOUR ass in a sling.\" He's a funny man, that Bindle." + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "id": 14079, + "type": "cexolocstring", + "value": {} + }, + "ModelPart1": { + "type": "byte", + "value": 32 + }, + "PaletteID": { + "type": "byte", + "value": 62 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 4 + }, + "CostValue": { + "type": "word", + "value": 7 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 16 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 6 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 20 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 45 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 14 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 255 + }, + "PropertyName": { + "type": "word", + "value": 61 + }, + "Subtype": { + "type": "word", + "value": 2 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "NW_WBWMSL008" + }, + "TemplateResRef": { + "type": "resref", + "value": "wbwmsl009" + }, + "xModelPart1": { + "type": "word", + "value": 32 + } +} diff --git a/_module/uti/xbowofcoldflame.uti.json b/_module/uti/xbowofcoldflame.uti.json new file mode 100644 index 00000000..7b3018cc --- /dev/null +++ b/_module/uti/xbowofcoldflame.uti.json @@ -0,0 +1,227 @@ +{ + "__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": 165264 + }, + "Cursed": { + "type": "byte", + "value": 0 + }, + "DescIdentified": { + "type": "cexolocstring", + "value": { + "0": "A magical heavy crossbow that can imbue its bolts with both fire and cold damage." + } + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "Identified": { + "type": "byte", + "value": 1 + }, + "LocalizedName": { + "id": 173, + "type": "cexolocstring", + "value": { + "0": "Crossbow of Coldflame" + } + }, + "ModelPart1": { + "type": "byte", + "value": 33 + }, + "ModelPart2": { + "type": "byte", + "value": 43 + }, + "ModelPart3": { + "type": "byte", + "value": 43 + }, + "PaletteID": { + "type": "byte", + "value": 43 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PropertiesList": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 4 + }, + "CostValue": { + "type": "word", + "value": 7 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 16 + }, + "Subtype": { + "type": "word", + "value": 7 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 6 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 2 + }, + "CostValue": { + "type": "word", + "value": 3 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 45 + }, + "Subtype": { + "type": "word", + "value": 0 + } + }, + { + "__struct_id": 0, + "ChanceAppear": { + "type": "byte", + "value": 100 + }, + "CostTable": { + "type": "byte", + "value": 14 + }, + "CostValue": { + "type": "word", + "value": 2 + }, + "Param1": { + "type": "byte", + "value": 255 + }, + "Param1Value": { + "type": "byte", + "value": 0 + }, + "PropertyName": { + "type": "word", + "value": 61 + }, + "Subtype": { + "type": "word", + "value": 1 + } + } + ] + }, + "StackSize": { + "type": "word", + "value": 1 + }, + "Stolen": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "CrossbowofColdflame" + }, + "TemplateResRef": { + "type": "resref", + "value": "xbowofcoldflame" + }, + "xModelPart1": { + "type": "word", + "value": 33 + }, + "xModelPart2": { + "type": "word", + "value": 43 + }, + "xModelPart3": { + "type": "word", + "value": 43 + } +} diff --git a/_release/Aantioch [PRC-CEP3].7z b/_release/Aantioch [PRC-CEP3].7z index 4acd618e..1e4b37a1 100644 Binary files a/_release/Aantioch [PRC-CEP3].7z and b/_release/Aantioch [PRC-CEP3].7z differ