Added Skullkeep Mystic Forge / Combine system
Added Skullkeep Mystic Forge / Combine system., modified to use a single forge and combine for all item types. Added new Magesmith shop & NPC in Town of Ascension. Full compile. Updated release archive.
This commit is contained in:
parent
1daebc10ef
commit
80d4b7c4d6
_module
are
dlg
gic
git
ifo
itp
creaturepalcus.itp.jsondoorpalcus.itp.jsonencounterpalcus.itp.jsonitempalcus.itp.jsonplaceablepalcus.itp.jsonsoundpalcus.itp.jsonstorepalcus.itp.jsontriggerpalcus.itp.jsonwaypointpalcus.itp.json
ncs
arcane_recycler.ncschk_prop_eight.ncsdarktrigger.ncsdarktrigger2a.ncsforge_chkpockets.ncsforge_combinechk.ncsforge_custtokens.ncsforge_fulmcheck.ncsforge_fulmstrip.ncsforge_guildcheck.ncsforge_hicostcalc.ncsforge_itemnorisk.ncsforge_itemsplit.ncsforge_mergecheck.ncsforge_sdcheck.ncsforge_spititout.ncsforge_splitcheck.ncsforge_validcheck.ncsmoad_spawn.ncsprc_pwonspawn.ncssd_chest_loot.ncssd_loot_corpse.ncssilenttrigger2.ncsskullkeep_badchk.ncsspawnb_cc_activ.ncsspawnb_cc_dactiv.ncs
nss
arcane_recycler.nsschk_prop_eight.nssforge_chkpockets.nssforge_combinechk.nssforge_custtokens.nssforge_fulmcheck.nssforge_fulmstrip.nssforge_guildcheck.nssforge_hicostcalc.nssforge_itemnorisk.nssforge_itemsplit.nssforge_mergecheck.nssforge_sdcheck.nssforge_spititout.nssforge_splitcheck.nssforge_validcheck.nsssd_lootsystem.nssskullkeep_badchk.nss
uti
craftingbelt.uti.jsoncraftingcloak.uti.jsoncraftingdagger.uti.jsoncraftingdart.uti.jsoncraftingdirk.uti.jsoncraftingring.uti.jsoncraftingshield.uti.jsoncraftingsling.uti.jsoncraftingtoken.uti.jsonsdbullet.uti.jsonsdsling.uti.json
utp
_release
350
_module/are/magesmith.are.json
Normal file
350
_module/are/magesmith.are.json
Normal file
@ -0,0 +1,350 @@
|
||||
{
|
||||
"__data_type": "ARE ",
|
||||
"ChanceLightning": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"ChanceRain": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"ChanceSnow": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"Comments": {
|
||||
"type": "cexostring",
|
||||
"value": "Murdoc's Magesmith"
|
||||
},
|
||||
"Creator_ID": {
|
||||
"type": "int",
|
||||
"value": -1
|
||||
},
|
||||
"DayNightCycle": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Expansion_List": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"Flags": {
|
||||
"type": "dword",
|
||||
"value": 1
|
||||
},
|
||||
"FogClipDist": {
|
||||
"type": "float",
|
||||
"value": 45.0
|
||||
},
|
||||
"Height": {
|
||||
"type": "int",
|
||||
"value": 2
|
||||
},
|
||||
"ID": {
|
||||
"type": "int",
|
||||
"value": -1
|
||||
},
|
||||
"IsNight": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LightingScheme": {
|
||||
"type": "byte",
|
||||
"value": 12
|
||||
},
|
||||
"LoadScreenID": {
|
||||
"type": "word",
|
||||
"value": 57
|
||||
},
|
||||
"ModListenCheck": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"ModSpotCheck": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"MoonAmbientColor": {
|
||||
"type": "dword",
|
||||
"value": 3947580
|
||||
},
|
||||
"MoonDiffuseColor": {
|
||||
"type": "dword",
|
||||
"value": 11184810
|
||||
},
|
||||
"MoonFogAmount": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"MoonFogColor": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"MoonShadows": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Name": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Murdoc's Magesmith"
|
||||
}
|
||||
},
|
||||
"NoRest": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"OnEnter": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnExit": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnHeartbeat": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnUserDefined": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"PlayerVsPlayer": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
},
|
||||
"ResRef": {
|
||||
"type": "resref",
|
||||
"value": "magesmith"
|
||||
},
|
||||
"ShadowOpacity": {
|
||||
"type": "byte",
|
||||
"value": 60
|
||||
},
|
||||
"SkyBox": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"SunAmbientColor": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"SunDiffuseColor": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"SunFogAmount": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"SunFogColor": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"SunShadows": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Tag": {
|
||||
"type": "cexostring",
|
||||
"value": "MAGESMITH"
|
||||
},
|
||||
"Tile_List": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 1,
|
||||
"Tile_AnimLoop1": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tile_AnimLoop2": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tile_AnimLoop3": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tile_Height": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"Tile_ID": {
|
||||
"type": "int",
|
||||
"value": 159
|
||||
},
|
||||
"Tile_MainLight1": {
|
||||
"type": "byte",
|
||||
"value": 30
|
||||
},
|
||||
"Tile_MainLight2": {
|
||||
"type": "byte",
|
||||
"value": 13
|
||||
},
|
||||
"Tile_Orientation": {
|
||||
"type": "int",
|
||||
"value": 2
|
||||
},
|
||||
"Tile_SrcLight1": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
},
|
||||
"Tile_SrcLight2": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 1,
|
||||
"Tile_AnimLoop1": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tile_AnimLoop2": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tile_AnimLoop3": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tile_Height": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"Tile_ID": {
|
||||
"type": "int",
|
||||
"value": 75
|
||||
},
|
||||
"Tile_MainLight1": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Tile_MainLight2": {
|
||||
"type": "byte",
|
||||
"value": 13
|
||||
},
|
||||
"Tile_Orientation": {
|
||||
"type": "int",
|
||||
"value": 3
|
||||
},
|
||||
"Tile_SrcLight1": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
},
|
||||
"Tile_SrcLight2": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 1,
|
||||
"Tile_AnimLoop1": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tile_AnimLoop2": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tile_AnimLoop3": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tile_Height": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"Tile_ID": {
|
||||
"type": "int",
|
||||
"value": 158
|
||||
},
|
||||
"Tile_MainLight1": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Tile_MainLight2": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Tile_Orientation": {
|
||||
"type": "int",
|
||||
"value": 1
|
||||
},
|
||||
"Tile_SrcLight1": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
},
|
||||
"Tile_SrcLight2": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 1,
|
||||
"Tile_AnimLoop1": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tile_AnimLoop2": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tile_AnimLoop3": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tile_Height": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"Tile_ID": {
|
||||
"type": "int",
|
||||
"value": 158
|
||||
},
|
||||
"Tile_MainLight1": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Tile_MainLight2": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Tile_Orientation": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"Tile_SrcLight1": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Tile_SrcLight2": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"TileBrdrDisabled": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Tileset": {
|
||||
"type": "resref",
|
||||
"value": "tin01"
|
||||
},
|
||||
"Version": {
|
||||
"type": "dword",
|
||||
"value": 14
|
||||
},
|
||||
"Width": {
|
||||
"type": "int",
|
||||
"value": 2
|
||||
},
|
||||
"WindPower": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
}
|
||||
}
|
@ -1068,7 +1068,7 @@
|
||||
},
|
||||
"Version": {
|
||||
"type": "dword",
|
||||
"value": 49
|
||||
"value": 50
|
||||
},
|
||||
"Width": {
|
||||
"type": "int",
|
||||
|
@ -4860,7 +4860,7 @@
|
||||
},
|
||||
"Tile_ID": {
|
||||
"type": "int",
|
||||
"value": 129
|
||||
"value": 126
|
||||
},
|
||||
"Tile_MainLight1": {
|
||||
"type": "byte",
|
||||
@ -4872,7 +4872,7 @@
|
||||
},
|
||||
"Tile_Orientation": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
"value": 1
|
||||
},
|
||||
"Tile_SrcLight1": {
|
||||
"type": "byte",
|
||||
@ -4903,7 +4903,7 @@
|
||||
},
|
||||
"Tile_ID": {
|
||||
"type": "int",
|
||||
"value": 123
|
||||
"value": 233
|
||||
},
|
||||
"Tile_MainLight1": {
|
||||
"type": "byte",
|
||||
@ -4915,7 +4915,7 @@
|
||||
},
|
||||
"Tile_Orientation": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
"value": 1
|
||||
},
|
||||
"Tile_SrcLight1": {
|
||||
"type": "byte",
|
||||
@ -6357,7 +6357,7 @@
|
||||
},
|
||||
"Version": {
|
||||
"type": "dword",
|
||||
"value": 513
|
||||
"value": 516
|
||||
},
|
||||
"Width": {
|
||||
"type": "int",
|
||||
|
@ -1230,13 +1230,17 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"TileBrdrDisabled": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Tileset": {
|
||||
"type": "resref",
|
||||
"value": "tin01"
|
||||
},
|
||||
"Version": {
|
||||
"type": "dword",
|
||||
"value": 209
|
||||
"value": 210
|
||||
},
|
||||
"Width": {
|
||||
"type": "int",
|
||||
|
3583
_module/dlg/forge_journeyman.dlg.json
Normal file
3583
_module/dlg/forge_journeyman.dlg.json
Normal file
File diff suppressed because it is too large
Load Diff
372
_module/gic/magesmith.gic.json
Normal file
372
_module/gic/magesmith.gic.json
Normal file
@ -0,0 +1,372 @@
|
||||
{
|
||||
"__data_type": "GIC ",
|
||||
"Creature List": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 4,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Door List": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 8,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Encounter List": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"List": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"Placeable List": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Anvil required for custom item crafting. "
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Gnomish Contraption / Engine"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Chair"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Chair"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Chair"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Shield Rack"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Throw Rug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Keg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Throw Rug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Couch"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "\r\n"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Footstool"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Wood Burning Oven"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Potted Plant"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Tome"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Stool"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Urn"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Sphinx Statue"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Bear Skin Rug 1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Bed - Cot"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Anvil"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Alchemist's Apparatus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Arcane Disposal System"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"SoundList": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"StoreList": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"TriggerList": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"WaypointList": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 5,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "This is a waypoint that can be placed in an interior area to mark it as a shop. This will affect the animations and behavior of NPCs using the PlayAmbientAnimations functions (see the OnSpawn script nw_c2_default9 and the library x0_i0_anims for details). \r\n\r\nNote that this feature will only work in modules that use the XP1 modified AI. "
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -300,6 +300,13 @@
|
||||
"type": "cexostring",
|
||||
"value": "This is for sending out messages to the PCs!"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -146,6 +146,13 @@
|
||||
"type": "cexostring",
|
||||
"value": "This door is special, you must open the script in the OnFailToOpen an edit it to place the tagname for the key required to open this door. If you do it right, this door will auotmatically open if the PC has the key, otherwise it will tell them a specific key is needed to open the door.\r\n\r\nThis door automatically shuts and locks itself after a few seconds."
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 8,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Fancy Door"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -502,6 +509,342 @@
|
||||
"type": "cexostring",
|
||||
"value": "Shaft of Light - Blue"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Anvil"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Hay Bundle"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Hay Bundle"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Hay Bundle"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Pump"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Wheelbarrow"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Throw Rug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Boulder"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Dead Tree"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Dirt Patch"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Fern"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Fern"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Dirt Patch"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Moss"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Stone patch"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Tree - Normal"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Magic Sparks - Red"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Magical Smoke"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Magical Smoke"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Magical Smoke"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Mist on the ground."
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Magical Smoke"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Woodpile"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Woodpile"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -1200,6 +1543,13 @@
|
||||
"type": "cexostring",
|
||||
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 5,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "On the Advanced tab, replace <Place text here> with whatever information you wish to appear on the Map of an area."
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
11635
_module/git/magesmith.git.json
Normal file
11635
_module/git/magesmith.git.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -14946,6 +14946,435 @@
|
||||
"type": "float",
|
||||
"value": -5.222045729169622e-006
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 9,
|
||||
"AnimationState": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Appearance": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"AutoRemoveKey": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Bearing": {
|
||||
"type": "float",
|
||||
"value": -3.141592264175415
|
||||
},
|
||||
"BodyBag": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"CloseLockDC": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Conversation": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"CurrentHP": {
|
||||
"type": "short",
|
||||
"value": 10
|
||||
},
|
||||
"Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": ""
|
||||
}
|
||||
},
|
||||
"DisarmDC": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Faction": {
|
||||
"type": "dword",
|
||||
"value": 1
|
||||
},
|
||||
"Fort": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"Hardness": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"HasInventory": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"HP": {
|
||||
"type": "short",
|
||||
"value": 10
|
||||
},
|
||||
"Interruptable": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"KeyName": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
},
|
||||
"KeyRequired": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Lockable": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Locked": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"LocName": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "LOOT_GENERATOR"
|
||||
}
|
||||
},
|
||||
"OnClick": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnClosed": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnDamaged": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnDeath": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnDisarm": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnHeartbeat": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnInvDisturbed": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnLock": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnMeleeAttacked": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnOpen": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnSpellCastAt": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnTrapTriggered": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnUnlock": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnUsed": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnUserDefined": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OpenLockDC": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Plot": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"PortraitId": {
|
||||
"type": "word",
|
||||
"value": 358
|
||||
},
|
||||
"Ref": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Static": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Tag": {
|
||||
"type": "cexostring",
|
||||
"value": "LOOT_GENERATOR"
|
||||
},
|
||||
"TemplateResRef": {
|
||||
"type": "resref",
|
||||
"value": "loot_generator"
|
||||
},
|
||||
"TrapDetectable": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"TrapDetectDC": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"TrapDisarmable": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"TrapFlag": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"TrapOneShot": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"TrapType": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Type": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Useable": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"VisTransformList": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 6,
|
||||
"AnimationSpeed": {
|
||||
"__struct_id": 0,
|
||||
"type": "struct",
|
||||
"value": {
|
||||
"__struct_id": 0,
|
||||
"LerpType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"TimerType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"ValueTo": {
|
||||
"type": "float",
|
||||
"value": 1.0
|
||||
}
|
||||
}
|
||||
},
|
||||
"RotateX": {
|
||||
"__struct_id": 0,
|
||||
"type": "struct",
|
||||
"value": {
|
||||
"__struct_id": 0,
|
||||
"LerpType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"TimerType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"ValueTo": {
|
||||
"type": "float",
|
||||
"value": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
"RotateY": {
|
||||
"__struct_id": 0,
|
||||
"type": "struct",
|
||||
"value": {
|
||||
"__struct_id": 0,
|
||||
"LerpType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"TimerType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"ValueTo": {
|
||||
"type": "float",
|
||||
"value": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
"RotateZ": {
|
||||
"__struct_id": 0,
|
||||
"type": "struct",
|
||||
"value": {
|
||||
"__struct_id": 0,
|
||||
"LerpType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"TimerType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"ValueTo": {
|
||||
"type": "float",
|
||||
"value": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
"ScaleX": {
|
||||
"__struct_id": 0,
|
||||
"type": "struct",
|
||||
"value": {
|
||||
"__struct_id": 0,
|
||||
"LerpType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"TimerType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"ValueTo": {
|
||||
"type": "float",
|
||||
"value": 1.049999952316284
|
||||
}
|
||||
}
|
||||
},
|
||||
"ScaleY": {
|
||||
"__struct_id": 0,
|
||||
"type": "struct",
|
||||
"value": {
|
||||
"__struct_id": 0,
|
||||
"LerpType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"TimerType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"ValueTo": {
|
||||
"type": "float",
|
||||
"value": 1.049999952316284
|
||||
}
|
||||
}
|
||||
},
|
||||
"ScaleZ": {
|
||||
"__struct_id": 0,
|
||||
"type": "struct",
|
||||
"value": {
|
||||
"__struct_id": 0,
|
||||
"LerpType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"TimerType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"ValueTo": {
|
||||
"type": "float",
|
||||
"value": 1.049999952316284
|
||||
}
|
||||
}
|
||||
},
|
||||
"Scope": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"TranslateX": {
|
||||
"__struct_id": 0,
|
||||
"type": "struct",
|
||||
"value": {
|
||||
"__struct_id": 0,
|
||||
"LerpType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"TimerType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"ValueTo": {
|
||||
"type": "float",
|
||||
"value": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
"TranslateY": {
|
||||
"__struct_id": 0,
|
||||
"type": "struct",
|
||||
"value": {
|
||||
"__struct_id": 0,
|
||||
"LerpType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"TimerType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"ValueTo": {
|
||||
"type": "float",
|
||||
"value": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
"TranslateZ": {
|
||||
"__struct_id": 0,
|
||||
"type": "struct",
|
||||
"value": {
|
||||
"__struct_id": 0,
|
||||
"LerpType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"TimerType": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
},
|
||||
"ValueTo": {
|
||||
"type": "float",
|
||||
"value": 0.0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Will": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"X": {
|
||||
"type": "float",
|
||||
"value": 50.22990036010742
|
||||
},
|
||||
"Y": {
|
||||
"type": "float",
|
||||
"value": 1.781137943267822
|
||||
},
|
||||
"Z": {
|
||||
"type": "float",
|
||||
"value": -5.7220458984375e-006
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1154,6 +1154,13 @@
|
||||
"type": "resref",
|
||||
"value": "upper_catacombs"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 6,
|
||||
"Area_Name": {
|
||||
"type": "resref",
|
||||
"value": "magesmith"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -10,6 +10,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 48
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -198,6 +202,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -324,6 +332,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 6
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -431,6 +443,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 7
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -481,6 +497,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 8
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -550,6 +570,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 9
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -835,6 +859,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 20
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -1322,6 +1350,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 21
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -1600,6 +1632,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 22
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -2871,6 +2907,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 34
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -2921,6 +2961,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 35
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -2990,6 +3034,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 36
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3021,6 +3069,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 37
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3140,6 +3192,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 14
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3171,6 +3227,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 15
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3259,6 +3319,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 16
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3404,6 +3468,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 17
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3511,6 +3579,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 18
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3561,6 +3633,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 19
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3592,6 +3668,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 50
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3692,6 +3772,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 10
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3742,6 +3826,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 11
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3799,6 +3887,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 49
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3830,6 +3922,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 13
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -4246,6 +4342,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 23
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -4448,6 +4548,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 24
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -5448,6 +5552,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 25
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6718
|
||||
@ -5455,6 +5563,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 47
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -5524,6 +5636,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 26
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -5562,6 +5678,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 12
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6703
|
||||
@ -5574,6 +5694,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 27
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -5719,6 +5843,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 28
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -5845,6 +5973,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 29
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -6712,6 +6844,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 30
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -6876,6 +7012,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 31
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -7211,6 +7351,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 32
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -7831,6 +7975,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 33
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -8356,6 +8504,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 38
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -8444,6 +8596,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 39
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -8988,6 +9144,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 40
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 27
|
||||
@ -8995,6 +9155,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 42
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 31
|
||||
@ -9002,6 +9166,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 41
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -9071,6 +9239,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 43
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -9197,6 +9369,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 44
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -10045,6 +10221,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 45
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -10411,6 +10591,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -13387,6 +13571,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -14292,6 +14480,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 2
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -14969,6 +15161,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -17337,6 +17533,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 4
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -35330,6 +35530,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 46
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
|
@ -10,6 +10,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -99,6 +103,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -155,6 +163,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 2
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -178,6 +190,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6691
|
||||
@ -185,6 +201,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 4
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6692
|
||||
@ -199,6 +219,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -227,6 +251,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 6
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6736
|
||||
@ -234,6 +262,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 9
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 201
|
||||
@ -241,6 +273,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 7
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6737
|
||||
@ -248,6 +284,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 8
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
|
@ -5,6 +5,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 8
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -149,6 +153,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 9
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -216,6 +224,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 6
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -1757,6 +1769,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 7
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -2445,6 +2461,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6688
|
||||
@ -2452,6 +2472,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -2475,6 +2499,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 2
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6690
|
||||
@ -2482,6 +2510,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6691
|
||||
@ -2489,6 +2521,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 4
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -2519,6 +2555,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
|
@ -10,6 +10,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -352,6 +356,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 8
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -551,6 +559,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 9
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -926,6 +938,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 6
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -1026,6 +1042,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 7
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -1148,6 +1168,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 58
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -1187,6 +1211,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 11
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -1298,6 +1326,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 10
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -1354,6 +1386,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 12
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -1484,6 +1520,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 55
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3916,6 +3956,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 13
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -6051,6 +6095,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 63
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -6338,6 +6386,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 59
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -6449,6 +6501,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 14
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -8903,6 +8959,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 56
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -10346,6 +10406,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 60
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -11705,6 +11769,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 16
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -11959,6 +12027,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 15
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -12224,6 +12296,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 17
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -12412,6 +12488,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 18
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -12655,6 +12735,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 19
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -12828,6 +12912,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 64
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -12862,6 +12950,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 57
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -12967,6 +13059,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 21
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -13309,6 +13405,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 22
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -13856,6 +13956,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 20
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -13923,6 +14027,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 23
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -15508,6 +15616,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 24
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -16070,6 +16182,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 26
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -27661,6 +27777,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 54
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -27942,6 +28062,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -30869,9 +30993,24 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
"type": "cexostring",
|
||||
"value": "Bullet"
|
||||
},
|
||||
"RESREF": {
|
||||
"type": "resref",
|
||||
"value": "sdbullet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
@ -31037,6 +31176,17 @@
|
||||
"value": "prc_ipbase"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
"type": "cexostring",
|
||||
"value": "Sling"
|
||||
},
|
||||
"RESREF": {
|
||||
"type": "resref",
|
||||
"value": "sdsling"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
@ -31123,6 +31273,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 2
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -31674,6 +31828,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -32841,6 +32999,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 4
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -34169,6 +34331,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 53
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -34183,6 +34349,105 @@
|
||||
"value": 68948
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
"type": "cexostring",
|
||||
"value": "Crafting Belt"
|
||||
},
|
||||
"RESREF": {
|
||||
"type": "resref",
|
||||
"value": "craftingbelt"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
"type": "cexostring",
|
||||
"value": "Crafting Cloak"
|
||||
},
|
||||
"RESREF": {
|
||||
"type": "resref",
|
||||
"value": "craftingcloak"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
"type": "cexostring",
|
||||
"value": "Crafting Dagger"
|
||||
},
|
||||
"RESREF": {
|
||||
"type": "resref",
|
||||
"value": "craftingdagger"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
"type": "cexostring",
|
||||
"value": "Crafting Dart"
|
||||
},
|
||||
"RESREF": {
|
||||
"type": "resref",
|
||||
"value": "craftingdart"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
"type": "cexostring",
|
||||
"value": "Crafting Dirk"
|
||||
},
|
||||
"RESREF": {
|
||||
"type": "resref",
|
||||
"value": "craftingdirk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
"type": "cexostring",
|
||||
"value": "Crafting Ring"
|
||||
},
|
||||
"RESREF": {
|
||||
"type": "resref",
|
||||
"value": "craftingring"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
"type": "cexostring",
|
||||
"value": "Crafting Shield"
|
||||
},
|
||||
"RESREF": {
|
||||
"type": "resref",
|
||||
"value": "craftingshield"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
"type": "cexostring",
|
||||
"value": "Crafting Sling"
|
||||
},
|
||||
"RESREF": {
|
||||
"type": "resref",
|
||||
"value": "craftingsling"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
"type": "cexostring",
|
||||
"value": "Crafting Stone"
|
||||
},
|
||||
"RESREF": {
|
||||
"type": "resref",
|
||||
"value": "craftingtoken"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
@ -34279,6 +34544,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 27
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -34500,6 +34769,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 28
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -34622,6 +34895,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 29
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -34734,6 +35011,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 32
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -34867,6 +35148,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 30
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -34989,6 +35274,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 31
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -35079,6 +35368,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 33
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -35223,6 +35516,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 34
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -35345,6 +35642,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 35
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -35544,6 +35845,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 36
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -35875,6 +36180,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 37
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -36349,6 +36658,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 38
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -36571,6 +36884,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 39
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -36638,6 +36955,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 40
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -36760,6 +37081,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 41
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -36904,6 +37229,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 42
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -37026,6 +37355,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 61
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -37100,6 +37433,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 46
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -37365,6 +37702,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 47
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -37745,6 +38086,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 48
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -37812,6 +38157,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 49
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -38110,6 +38459,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 50
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -38184,6 +38537,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 51
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -38432,6 +38789,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 43
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -38543,6 +38904,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 44
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -38676,6 +39041,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 45
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -38754,6 +39123,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 62
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -38817,6 +39190,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 52
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
|
@ -5,6 +5,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 7
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -237,6 +241,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 22
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 111663
|
||||
@ -244,6 +252,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 6
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -2038,6 +2050,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 8
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -2105,6 +2121,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 9
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -2436,6 +2456,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 10
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -2888,6 +2912,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 11
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3307,6 +3335,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 12
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3407,6 +3439,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 14
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 9122
|
||||
@ -3414,6 +3450,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 15
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3464,6 +3504,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3577,6 +3621,17 @@
|
||||
"value": 5800
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
"type": "cexostring",
|
||||
"value": "LOOT_GENERATOR"
|
||||
},
|
||||
"RESREF": {
|
||||
"type": "resref",
|
||||
"value": "loot_generator"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
@ -3685,6 +3740,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3763,6 +3822,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 2
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3907,6 +3970,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6691
|
||||
@ -3914,6 +3981,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 4
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -3977,6 +4048,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 13
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -4022,11 +4097,19 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 16
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 17
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -4050,6 +4133,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 19
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 5836
|
||||
@ -4057,6 +4144,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 21
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 67585
|
||||
@ -4064,6 +4155,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 20
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 53151
|
||||
@ -4071,6 +4166,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 18
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -4101,6 +4200,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -4115,6 +4218,28 @@
|
||||
"value": "darkmote001"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
"type": "cexostring",
|
||||
"value": "Fire"
|
||||
},
|
||||
"RESREF": {
|
||||
"type": "resref",
|
||||
"value": "fire"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
"type": "cexostring",
|
||||
"value": "Fire"
|
||||
},
|
||||
"RESREF": {
|
||||
"type": "resref",
|
||||
"value": "vfx_plc_fire"
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"NAME": {
|
||||
|
@ -5,6 +5,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 6
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6694
|
||||
@ -12,6 +16,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 13
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 63289
|
||||
@ -19,6 +27,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 12
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 62487
|
||||
@ -26,6 +38,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 7
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 62483
|
||||
@ -33,6 +49,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 62482
|
||||
@ -45,6 +65,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6688
|
||||
@ -52,6 +76,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6689
|
||||
@ -59,6 +87,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 2
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6690
|
||||
@ -66,6 +98,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6691
|
||||
@ -73,6 +109,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 4
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6692
|
||||
@ -87,6 +127,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 8
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 62484
|
||||
|
@ -5,6 +5,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -88,6 +92,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -144,6 +152,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -189,6 +201,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 2
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6690
|
||||
@ -196,6 +212,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -219,6 +239,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 4
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6692
|
||||
|
@ -5,6 +5,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 1082
|
||||
@ -12,6 +16,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 6
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -299,6 +307,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 16
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 9129
|
||||
@ -311,6 +323,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -345,6 +361,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6689
|
||||
@ -352,6 +372,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 2
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6690
|
||||
@ -359,6 +383,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6691
|
||||
@ -366,6 +394,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 4
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6692
|
||||
@ -385,6 +417,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 11
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 53181
|
||||
@ -392,6 +428,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 12
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 2255
|
||||
@ -399,6 +439,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 13
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 2256
|
||||
@ -406,6 +450,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 14
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 2257
|
||||
@ -413,6 +461,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 15
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 53182
|
||||
|
@ -10,6 +10,10 @@
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
@ -55,6 +59,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6689
|
||||
@ -62,6 +70,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 2
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6690
|
||||
@ -69,6 +81,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6691
|
||||
@ -76,6 +92,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 4
|
||||
},
|
||||
"STRREF": {
|
||||
"type": "dword",
|
||||
"value": 6692
|
||||
@ -90,6 +110,10 @@
|
||||
},
|
||||
{
|
||||
"__struct_id": 0,
|
||||
"ID": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"LIST": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
|
BIN
_module/ncs/arcane_recycler.ncs
Normal file
BIN
_module/ncs/arcane_recycler.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/chk_prop_eight.ncs
Normal file
BIN
_module/ncs/chk_prop_eight.ncs
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
_module/ncs/forge_chkpockets.ncs
Normal file
BIN
_module/ncs/forge_chkpockets.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/forge_combinechk.ncs
Normal file
BIN
_module/ncs/forge_combinechk.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/forge_custtokens.ncs
Normal file
BIN
_module/ncs/forge_custtokens.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/forge_fulmcheck.ncs
Normal file
BIN
_module/ncs/forge_fulmcheck.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/forge_fulmstrip.ncs
Normal file
BIN
_module/ncs/forge_fulmstrip.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/forge_guildcheck.ncs
Normal file
BIN
_module/ncs/forge_guildcheck.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/forge_hicostcalc.ncs
Normal file
BIN
_module/ncs/forge_hicostcalc.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/forge_itemnorisk.ncs
Normal file
BIN
_module/ncs/forge_itemnorisk.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/forge_itemsplit.ncs
Normal file
BIN
_module/ncs/forge_itemsplit.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/forge_mergecheck.ncs
Normal file
BIN
_module/ncs/forge_mergecheck.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/forge_sdcheck.ncs
Normal file
BIN
_module/ncs/forge_sdcheck.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/forge_spititout.ncs
Normal file
BIN
_module/ncs/forge_spititout.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/forge_splitcheck.ncs
Normal file
BIN
_module/ncs/forge_splitcheck.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/forge_validcheck.ncs
Normal file
BIN
_module/ncs/forge_validcheck.ncs
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
_module/ncs/skullkeep_badchk.ncs
Normal file
BIN
_module/ncs/skullkeep_badchk.ncs
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
40
_module/nss/arcane_recycler.nss
Normal file
40
_module/nss/arcane_recycler.nss
Normal file
@ -0,0 +1,40 @@
|
||||
// Trash can script that only destroys items placed in the inventory
|
||||
// for more than HOURS_TO_DESTROY in-game hours.
|
||||
|
||||
const string VAR_ITEM_TIMESTAMP = "TRASH_VINTAGE"; // Variable to store the time an item was placed
|
||||
const int HOURS_TO_DESTROY = 12; // Hours an item must remain in the container
|
||||
|
||||
int GetCurrentGameTimeInSeconds()
|
||||
{
|
||||
// Get the current game time in hours, minutes, and seconds
|
||||
int nHours = GetTimeHour();
|
||||
int nMinutes = GetTimeMinute();
|
||||
int nSeconds = GetTimeSecond();
|
||||
|
||||
// Convert to total seconds for easy comparison
|
||||
return (nHours * 3600) + (nMinutes * 60) + nSeconds;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
object oItem = GetFirstItemInInventory(OBJECT_SELF);
|
||||
int nCurrentTime = GetCurrentGameTimeInSeconds(); // Current in-game time in seconds
|
||||
int nTimeThreshold = FloatToInt(HoursToSeconds(HOURS_TO_DESTROY)); // Convert hours to seconds for comparison
|
||||
|
||||
while (GetIsObjectValid(oItem))
|
||||
{
|
||||
int nItemTime = GetLocalInt(oItem, VAR_ITEM_TIMESTAMP);
|
||||
|
||||
// If the item has no timestamp, assign the current time
|
||||
if (nItemTime == 0)
|
||||
{
|
||||
SetLocalInt(oItem, VAR_ITEM_TIMESTAMP, nCurrentTime);
|
||||
}
|
||||
else if (nCurrentTime - nItemTime >= nTimeThreshold) // Check if item has been in container for required hours
|
||||
{
|
||||
DestroyObject(oItem);
|
||||
}
|
||||
|
||||
oItem = GetNextItemInInventory(OBJECT_SELF);
|
||||
}
|
||||
}
|
19
_module/nss/chk_prop_eight.nss
Normal file
19
_module/nss/chk_prop_eight.nss
Normal file
@ -0,0 +1,19 @@
|
||||
#include "prc_x2_itemprop"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
int nCount = IPGetNumberOfItemProperties(oItem);
|
||||
int nProps;
|
||||
|
||||
if (nCount > 7)
|
||||
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
|
||||
}
|
14
_module/nss/forge_chkpockets.nss
Normal file
14
_module/nss/forge_chkpockets.nss
Normal file
@ -0,0 +1,14 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: FileName forge_chkpockets
|
||||
//:://////////////////////////////////////////////
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Script Wizard
|
||||
//:: Created On: 2/19/2006 1:12:53 AM
|
||||
//:://////////////////////////////////////////////
|
||||
int StartingConditional()
|
||||
{
|
||||
if((GetLocalInt(OBJECT_SELF, "ItemCost")) <= GetGold(GetPCSpeaker()))
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
15
_module/nss/forge_combinechk.nss
Normal file
15
_module/nss/forge_combinechk.nss
Normal file
@ -0,0 +1,15 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_combinecheck script - check to make sure items in combine are correct
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
if (!GetIsObjectValid(oItem))
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
177
_module/nss/forge_custtokens.nss
Normal file
177
_module/nss/forge_custtokens.nss
Normal file
@ -0,0 +1,177 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_custtokens script - set custom tokens for forge conversation
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:: This script also is used to set up the basics for the forge.
|
||||
/////:: this script as necessary to change the basic type of forge.
|
||||
/////::
|
||||
/////:: Updated for Path of Ascension / PRC8 by Jaysyn
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "prc_misc_const"
|
||||
|
||||
void main()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom", OBJECT_SELF, 1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
|
||||
// Store the forge name for display
|
||||
SetCustomToken(101, GetName(oForge)); // Name of Forge
|
||||
SetLocalString(OBJECT_SELF, "ForgeName", GetName(oForge));
|
||||
|
||||
string sTypes = "Unsupported Item Type"; // Default message
|
||||
int nType = 0;
|
||||
|
||||
// Check the base item type of oItem and assign corresponding sTypes and nType
|
||||
if (oItem != OBJECT_INVALID)
|
||||
{
|
||||
int nBaseItemType = GetBaseItemType(oItem);
|
||||
|
||||
switch (nBaseItemType)
|
||||
{
|
||||
case BASE_ITEM_BOOTS:
|
||||
case BASE_ITEM_BELT:
|
||||
sTypes = "Belts and Boots";
|
||||
nType = 1;
|
||||
break;
|
||||
|
||||
case BASE_ITEM_ARMOR:
|
||||
case BASE_ITEM_BRACER:
|
||||
case BASE_ITEM_HELMET:
|
||||
case BASE_ITEM_LARGESHIELD:
|
||||
case BASE_ITEM_SMALLSHIELD:
|
||||
case BASE_ITEM_TOWERSHIELD:
|
||||
sTypes = "Armor, Helms and Shields";
|
||||
nType = 2;
|
||||
break;
|
||||
|
||||
case BASE_ITEM_BASTARDSWORD:
|
||||
case BASE_ITEM_BATTLEAXE:
|
||||
case BASE_ITEM_CLUB:
|
||||
case BASE_ITEM_DAGGER:
|
||||
case BASE_ITEM_DIREMACE:
|
||||
case BASE_ITEM_DOUBLEAXE:
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR:
|
||||
case BASE_ITEM_DWARVENWARAXE:
|
||||
case BASE_ITEM_EAGLE_CLAW:
|
||||
case BASE_ITEM_ELVEN_COURTBLADE:
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE:
|
||||
case BASE_ITEM_ELVEN_THINBLADE:
|
||||
case BASE_ITEM_FALCHION:
|
||||
case BASE_ITEM_GLOVES:
|
||||
case BASE_ITEM_GOAD:
|
||||
case BASE_ITEM_GREATAXE:
|
||||
case BASE_ITEM_GREATSWORD:
|
||||
case BASE_ITEM_HALBERD:
|
||||
case BASE_ITEM_HANDAXE:
|
||||
case BASE_ITEM_HEAVYFLAIL:
|
||||
case BASE_ITEM_HEAVY_MACE:
|
||||
case BASE_ITEM_HEAVY_PICK:
|
||||
case BASE_ITEM_KAMA:
|
||||
case BASE_ITEM_KATANA:
|
||||
case BASE_ITEM_KATAR:
|
||||
case BASE_ITEM_KUKRI:
|
||||
case BASE_ITEM_LIGHTFLAIL:
|
||||
case BASE_ITEM_LIGHTHAMMER:
|
||||
case BASE_ITEM_LIGHTMACE:
|
||||
case BASE_ITEM_LIGHT_PICK:
|
||||
case BASE_ITEM_LONGSWORD:
|
||||
case BASE_ITEM_MAUL:
|
||||
case BASE_ITEM_MORNINGSTAR:
|
||||
case BASE_ITEM_NUNCHAKU:
|
||||
case BASE_ITEM_QUARTERSTAFF:
|
||||
case BASE_ITEM_RAPIER:
|
||||
case BASE_ITEM_SAI:
|
||||
case BASE_ITEM_SAP:
|
||||
case BASE_ITEM_SCIMITAR:
|
||||
case BASE_ITEM_SCYTHE:
|
||||
case BASE_ITEM_SHORTSPEAR:
|
||||
case BASE_ITEM_SHORTSWORD:
|
||||
case BASE_ITEM_SICKLE:
|
||||
case BASE_ITEM_SLING:
|
||||
case BASE_ITEM_TRIDENT:
|
||||
case BASE_ITEM_TWOBLADEDSWORD:
|
||||
case BASE_ITEM_WARHAMMER:
|
||||
case BASE_ITEM_WHIP:
|
||||
sTypes = "Melee Weapons and Gloves";
|
||||
nType = 3;
|
||||
break;
|
||||
|
||||
case BASE_ITEM_CLOAK:
|
||||
sTypes = "Cloaks";
|
||||
nType = 4;
|
||||
break;
|
||||
|
||||
case BASE_ITEM_AMULET:
|
||||
case BASE_ITEM_RING:
|
||||
sTypes = "Rings and Amulets";
|
||||
nType = 5;
|
||||
break;
|
||||
|
||||
case BASE_ITEM_SHORTBOW:
|
||||
case BASE_ITEM_HEAVYCROSSBOW:
|
||||
case BASE_ITEM_LIGHTCROSSBOW:
|
||||
case BASE_ITEM_LONGBOW:
|
||||
sTypes = "Bows and Crossbows";
|
||||
nType = 6;
|
||||
break;
|
||||
|
||||
case BASE_ITEM_ARROW:
|
||||
case BASE_ITEM_BOLT:
|
||||
case BASE_ITEM_BULLET:
|
||||
case BASE_ITEM_GRENADE:
|
||||
case BASE_ITEM_DART:
|
||||
case BASE_ITEM_SHURIKEN:
|
||||
case BASE_ITEM_THROWINGAXE:
|
||||
sTypes = "Thrown Weapons and Ammunition";
|
||||
nType = 7;
|
||||
break;
|
||||
|
||||
case BASE_ITEM_MISCLARGE:
|
||||
case BASE_ITEM_MISCMEDIUM:
|
||||
case BASE_ITEM_MISCSMALL:
|
||||
case BASE_ITEM_MISCTALL:
|
||||
case BASE_ITEM_MISCTHIN:
|
||||
case BASE_ITEM_MISCWIDE:
|
||||
case BASE_ITEM_MAGICWAND:
|
||||
case BASE_ITEM_MAGICSTAFF:
|
||||
case BASE_ITEM_MAGICROD:
|
||||
case BASE_ITEM_BOOK:
|
||||
case BASE_ITEM_LARGEBOX:
|
||||
sTypes = "Miscellaneous Items";
|
||||
nType = 8;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Update tokens and local variables based on selected item type
|
||||
SetCustomToken(102, sTypes); // Type of item that will work here.
|
||||
SetLocalInt(OBJECT_SELF, "ItemType", nType);
|
||||
SetLocalInt(OBJECT_SELF, "ItemCost", 0);
|
||||
}
|
||||
|
||||
|
||||
/* void main()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
|
||||
SetCustomToken(101,GetName(oForge)); // Name of Forge
|
||||
SetLocalString(OBJECT_SELF, "ForgeName", GetName(oForge));
|
||||
|
||||
string sTypes;
|
||||
int nType;
|
||||
string sForgeLeft = GetStringLeft(GetName(oForge),6);
|
||||
|
||||
if (sForgeLeft == "Cobble") {sTypes = "Belts and Boots"; nType = 1;}
|
||||
if (sForgeLeft == "Armour") {sTypes = "Armor, Helms and Shields"; nType = 2;}
|
||||
if (sForgeLeft == "Weapon") {sTypes = "Melee Weapons and Gloves"; nType = 3;}
|
||||
if (sForgeLeft == "Tailor") {sTypes = "Cloaks"; nType = 4;}
|
||||
if (sForgeLeft == "Jewele") {sTypes = "Rings and Amulets"; nType = 5;}
|
||||
if (sForgeLeft == "Bowyer") {sTypes = "Bows and Crossbows"; nType = 6;}
|
||||
if (sForgeLeft == "Fletch") {sTypes = "Thrown Weapons and Ammunition"; nType = 7;}
|
||||
if (sForgeLeft == "Common") {sTypes = "Common Items (not equipped)"; nType = 8;}
|
||||
if (sForgeLeft == "Mystic") {sTypes = "any Magical Items"; nType = 9;}
|
||||
|
||||
SetCustomToken(102,sTypes); // Type of item that will work here.
|
||||
SetLocalInt(OBJECT_SELF, "ItemType", nType);
|
||||
SetLocalInt(OBJECT_SELF, "ItemCost", 0);
|
||||
} */
|
23
_module/nss/forge_fulmcheck.nss
Normal file
23
_module/nss/forge_fulmcheck.nss
Normal file
@ -0,0 +1,23 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_guildcheck script - check to make sure not splitting a guild item
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
string sCheck = GetTag(oItem);
|
||||
if (sCheck == "fulminate" ||
|
||||
sCheck == "magestaff" ||
|
||||
sCheck == "innerpath" ||
|
||||
sCheck == "harmonics" ||
|
||||
sCheck == "whitegold" ||
|
||||
sCheck == "vesperbel")
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
23
_module/nss/forge_fulmstrip.nss
Normal file
23
_module/nss/forge_fulmstrip.nss
Normal file
@ -0,0 +1,23 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_guildcheck script - check to make sure not splitting a guild item
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
string sCheck = GetTag(oItem);
|
||||
if (sCheck == "fulminate" ||
|
||||
sCheck == "magestaff" ||
|
||||
sCheck == "innerpath" ||
|
||||
sCheck == "harmonics" ||
|
||||
sCheck == "whitegold" ||
|
||||
sCheck == "vesperbel")
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
26
_module/nss/forge_guildcheck.nss
Normal file
26
_module/nss/forge_guildcheck.nss
Normal file
@ -0,0 +1,26 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_guildcheck script - check to make sure not splitting a guild item
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
string sCheck = GetStringLeft(GetTag(oItem), 5);
|
||||
if (sCheck == "HELM_" ||
|
||||
sCheck == "ARMR_" ||
|
||||
sCheck == "SHLD_" ||
|
||||
sCheck == "ammy_" ||
|
||||
sCheck == "ring_" ||
|
||||
sCheck == "WEAP_" ||
|
||||
sCheck == "BOOT_" ||
|
||||
sCheck == "BELT_")
|
||||
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
168
_module/nss/forge_hicostcalc.nss
Normal file
168
_module/nss/forge_hicostcalc.nss
Normal file
@ -0,0 +1,168 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_costcheck - determine cost of perfect transferance to new item.
|
||||
/////:: Modified by Winterknight on 2/18/06
|
||||
/////:: Original scripts by Asbury
|
||||
/////:://////////////////////////////////////////////
|
||||
|
||||
|
||||
#include "prc_x2_itemprop"
|
||||
|
||||
void SafeAddItemProperty(int nDurationType, itemproperty ipProperty, object oItem, float fDuration=0.0f)
|
||||
{
|
||||
int nPropType = GetItemPropertyType(ipProperty);
|
||||
if (!GetItemHasItemProperty(oItem,nPropType)) //already exist
|
||||
{
|
||||
AddItemProperty(nDurationType, ipProperty, oItem, fDuration);
|
||||
return;
|
||||
}
|
||||
else if (nPropType==ITEM_PROPERTY_BONUS_SPELL_SLOT_OF_LEVEL_N ||
|
||||
nPropType==ITEM_PROPERTY_CAST_SPELL)
|
||||
{
|
||||
AddItemProperty(nDurationType, ipProperty, oItem, fDuration);
|
||||
return;
|
||||
}
|
||||
else if (nPropType==ITEM_PROPERTY_DAMAGE_BONUS ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_RESISTANCE ||
|
||||
nPropType==ITEM_PROPERTY_ABILITY_BONUS ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_MISCELLANEOUS ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_VULNERABILITY ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_DECREASED_ABILITY_SCORE ||
|
||||
nPropType==ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE)
|
||||
{
|
||||
IPSafeAddItemProperty(oItem, ipProperty, 0.0f, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
|
||||
else if (nPropType==ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_BONUS_FEAT ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_SPECIFIC_ALIGNEMENT ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_SPELLS_BY_LEVEL ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_SPELL_SCHOOL ||
|
||||
nPropType==ITEM_PROPERTY_ON_HIT_PROPERTIES ||
|
||||
nPropType==ITEM_PROPERTY_ONHITCASTSPELL ||
|
||||
nPropType==ITEM_PROPERTY_SAVING_THROW_BONUS_SPECIFIC ||
|
||||
nPropType==ITEM_PROPERTY_SKILL_BONUS )
|
||||
{
|
||||
int nSub1 = GetItemPropertySubType(ipProperty);
|
||||
if (nSub1 > -1)
|
||||
{
|
||||
itemproperty ipCheck = GetFirstItemProperty(oItem);
|
||||
while (GetIsItemPropertyValid(ipCheck))
|
||||
{
|
||||
int nSub2 = GetItemPropertySubType(ipCheck);
|
||||
if (nSub2 != nSub1)
|
||||
{
|
||||
AddItemProperty(nDurationType, ipProperty, oItem, fDuration);
|
||||
return;
|
||||
}
|
||||
ipCheck = GetNextItemProperty(oItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//******************************************************************************
|
||||
|
||||
void main()
|
||||
{
|
||||
itemproperty ipFItem;
|
||||
object oPC = GetPCSpeaker();
|
||||
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
|
||||
object oCombine = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1);
|
||||
|
||||
string sCraft;
|
||||
int nType = GetLocalInt(OBJECT_SELF, "ItemType"); //check for type for crafting
|
||||
if (nType == 1) sCraft = "craftingbelt"; // belts and boots
|
||||
if (nType == 2) sCraft = "craftingshield"; // armor, helm, shield
|
||||
if (nType == 3) sCraft = "craftingdagger"; // melee weapons
|
||||
if (nType == 4) sCraft = "craftingcloak"; // cloaks
|
||||
if (nType == 5) sCraft = "craftingring"; // rings and ammys
|
||||
if (nType == 6) sCraft = "craftingsling"; // bows, x-bows, slings
|
||||
if (nType == 7) sCraft = "craftingdart"; // thrown and ammo
|
||||
if (nType == 8) sCraft = "craftingtoken"; // miscellaneous, common
|
||||
|
||||
if (!GetIsObjectValid(oForge)) return; //must have Forge
|
||||
if (!GetIsObjectValid(oCombine)) return; //must have Combining chamber
|
||||
|
||||
object oItem = GetFirstItemInInventory(oForge); //get the item on Forge
|
||||
if (GetIdentified(oItem)==FALSE) SetIdentified (oItem, TRUE);
|
||||
if (GetPlotFlag(oItem)==TRUE)
|
||||
{
|
||||
SetPlotFlag (oItem, FALSE);
|
||||
SetLocalInt(OBJECT_SELF,"PlotItem",TRUE);
|
||||
}
|
||||
object oCraft = GetFirstItemInInventory(oCombine); //get the first item in the combining chamber
|
||||
object oCopy = CopyItem(oItem, OBJECT_SELF, FALSE);
|
||||
int nCount = IPGetNumberOfItemProperties(oCopy);
|
||||
int nProps;
|
||||
int nTally = nCount;
|
||||
|
||||
|
||||
// First - we add the goodies from the combine to the base item
|
||||
|
||||
while (GetIsObjectValid(oCraft))
|
||||
{
|
||||
ipFItem = GetFirstItemProperty(oCraft);//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipFItem))
|
||||
{
|
||||
nProps++;
|
||||
if (nCount < 8)
|
||||
{
|
||||
SafeAddItemProperty(DURATION_TYPE_PERMANENT,ipFItem,oCopy); //put property on copy
|
||||
nCount++;
|
||||
}
|
||||
ipFItem=GetNextItemProperty(oCraft);
|
||||
}
|
||||
oCraft = GetNextItemInInventory(oCombine);
|
||||
}
|
||||
|
||||
nTally = nTally + nProps;
|
||||
if (nTally > nCount) SendMessageToPC(oPC,"You are attempting to add more than 8 properties to the item. Any additional past the limit will be lost.");
|
||||
|
||||
// Then we find the actual cost of the new item. Then we screw them on price.
|
||||
int nValue2 = GetGoldPieceValue(oItem);
|
||||
int nValue1 = GetGoldPieceValue(oCopy);
|
||||
int nDiff = nValue1 - nValue2;
|
||||
int nIncrease;
|
||||
string sValue = "";
|
||||
if (nDiff > 0)
|
||||
{
|
||||
nIncrease = nDiff * 2;
|
||||
sValue = IntToString(nIncrease);
|
||||
}
|
||||
else
|
||||
{
|
||||
nIncrease = 0;
|
||||
sValue = "nothing in ";
|
||||
}
|
||||
|
||||
SetCustomToken(103,sValue);
|
||||
SetLocalInt (OBJECT_SELF,"ItemCost",nIncrease);
|
||||
|
||||
// Then we remove destroy the copy
|
||||
DestroyObject(oCopy,0.5f);
|
||||
|
||||
if (GetLocalInt(OBJECT_SELF,"PlotItem")==TRUE) // Reset variables and plot
|
||||
{
|
||||
SetPlotFlag (oItem, TRUE);
|
||||
SetLocalInt(OBJECT_SELF,"PlotItem",FALSE);
|
||||
}
|
||||
}
|
199
_module/nss/forge_itemnorisk.nss
Normal file
199
_module/nss/forge_itemnorisk.nss
Normal file
@ -0,0 +1,199 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_itemmerge - Forge properties onto item from components.
|
||||
/////:: Modified by Winterknight on 2/18/06
|
||||
/////:: Original script written by Asbury
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "sd_lootsystem"
|
||||
#include "prc_x2_itemprop"
|
||||
|
||||
void SafeAddItemProperty(int nDurationType, itemproperty ipProperty, object oItem, float fDuration=0.0f)
|
||||
{
|
||||
int nPropType = GetItemPropertyType(ipProperty);
|
||||
if (!GetItemHasItemProperty(oItem,nPropType)) //already exist
|
||||
{
|
||||
AddItemProperty(nDurationType, ipProperty, oItem, fDuration);
|
||||
return;
|
||||
}
|
||||
else if (nPropType==ITEM_PROPERTY_BONUS_SPELL_SLOT_OF_LEVEL_N ||
|
||||
nPropType==ITEM_PROPERTY_CAST_SPELL)
|
||||
{
|
||||
AddItemProperty(nDurationType, ipProperty, oItem, fDuration);
|
||||
return;
|
||||
}
|
||||
else if (nPropType==ITEM_PROPERTY_DAMAGE_BONUS ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_RESISTANCE ||
|
||||
nPropType==ITEM_PROPERTY_ABILITY_BONUS ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_MISCELLANEOUS ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_VULNERABILITY ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_DECREASED_ABILITY_SCORE ||
|
||||
nPropType==ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE)
|
||||
{
|
||||
IPSafeAddItemProperty(oItem, ipProperty, 0.0f, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
|
||||
else if (nPropType==ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_BONUS_FEAT ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_SPECIFIC_ALIGNEMENT ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_SPELLS_BY_LEVEL ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_SPELL_SCHOOL ||
|
||||
nPropType==ITEM_PROPERTY_ON_HIT_PROPERTIES ||
|
||||
nPropType==ITEM_PROPERTY_ONHITCASTSPELL ||
|
||||
nPropType==ITEM_PROPERTY_SAVING_THROW_BONUS_SPECIFIC ||
|
||||
nPropType==ITEM_PROPERTY_SKILL_BONUS )
|
||||
{
|
||||
int nSub1 = GetItemPropertySubType(ipProperty);
|
||||
if (nSub1 > -1)
|
||||
{
|
||||
itemproperty ipCheck = GetFirstItemProperty(oItem);
|
||||
while (GetIsItemPropertyValid(ipCheck))
|
||||
{
|
||||
int nSub2 = GetItemPropertySubType(ipCheck);
|
||||
if (nSub2 != nSub1)
|
||||
{
|
||||
AddItemProperty(nDurationType, ipProperty, oItem, fDuration);
|
||||
return;
|
||||
}
|
||||
ipCheck = GetNextItemProperty(oItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//******************************************************************************
|
||||
|
||||
void main()
|
||||
{
|
||||
itemproperty ipFItem;
|
||||
effect eTel1 = EffectVisualEffect(VFX_IMP_KNOCK,FALSE);
|
||||
effect eTel2 = EffectVisualEffect(VFX_IMP_PDK_INSPIRE_COURAGE,FALSE);
|
||||
effect eUtter = EffectVisualEffect(VFX_FNF_MYSTICAL_EXPLOSION,FALSE);
|
||||
|
||||
object oPC = GetPCSpeaker();
|
||||
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oCombine = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1);
|
||||
location lTrig1 = GetLocation(oForge);
|
||||
location lTrig2 = GetLocation(oCombine);
|
||||
|
||||
if (!GetIsObjectValid(oForge)) return; //must have Forge
|
||||
if (!GetIsObjectValid(oCombine)) return; //must have Combining chamber
|
||||
|
||||
object oArea = GetArea(oForge);
|
||||
object oItem = GetFirstItemInInventory(oForge); //get the first item on Forge
|
||||
|
||||
if (!GetIsObjectValid(oItem))
|
||||
{
|
||||
SendMessageToPC(oPC,"You must have a valid item in the Forge.");
|
||||
return; //must have something there
|
||||
}
|
||||
|
||||
int nLoop = IPGetNumberOfItemProperties(oItem);
|
||||
object oCraft = GetFirstItemInInventory(oCombine); //get the first item in the combining chamber
|
||||
int nTally = nLoop;
|
||||
|
||||
while (GetIsObjectValid(oCraft))
|
||||
{
|
||||
ipFItem = GetFirstItemProperty(oCraft); //Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipFItem))
|
||||
{
|
||||
nTally++;
|
||||
if (nLoop < 8)
|
||||
{
|
||||
SafeAddItemProperty(DURATION_TYPE_PERMANENT,ipFItem,oItem); //put property on
|
||||
nLoop++;
|
||||
}
|
||||
if (nTally > 8)
|
||||
{
|
||||
SendMessageToPC(oPC,"You have attempted to add more than 8 properties to the item. This can cause errors in transfer. Some item properties have been lost.");
|
||||
}
|
||||
RemoveItemProperty(oCraft, ipFItem); //take the magic away from object
|
||||
ipFItem=GetNextItemProperty(oCraft);
|
||||
}
|
||||
DestroyObject(oCraft); //remove the object
|
||||
oCraft = GetNextItemInInventory(oCombine);
|
||||
}
|
||||
|
||||
int iQual = nTally;
|
||||
string sName;
|
||||
string cName;
|
||||
string sCheck = GetStringLeft(GetTag(oItem), 5);
|
||||
string oName = GetName(oItem);
|
||||
|
||||
switch(iQual)
|
||||
{
|
||||
case 1: cName = ColorString("[Enchanted] ", 255, 255, 255); break;
|
||||
case 2: cName = ColorString("[Enchanted] ", 30, 180, 30); break;
|
||||
case 3: cName = ColorString("[Enchanted] ", 30, 180, 30); break;
|
||||
case 4: cName = ColorString("[Bewitched] ", 5, 90, 255); break;
|
||||
case 5: cName = ColorString("[Bewitched] ", 5, 90, 255); break;
|
||||
case 6: cName = ColorString("[Spellbound] ", 185, 1, 200); break;
|
||||
case 7: cName = ColorString("[Archforged] ", 255, 245, 210); break;
|
||||
case 8: cName = ColorString("[Ancient] ", 180, 180, 80); break;
|
||||
}
|
||||
|
||||
switch(iQual)
|
||||
{
|
||||
case 1: sName = ColorString("Reforged Magical "+ RandomName(200),255, 255, 255); break;
|
||||
case 2: sName = ColorString("Reforged Enchanted "+ RandomName(200), 30, 180, 30); break;
|
||||
case 3: sName = ColorString("Reforged Enchanted "+ RandomName(200), 30, 180, 30); break;
|
||||
case 4: sName = ColorString("Reforged Imbued "+ RandomName(200), 5, 90, 255); break;
|
||||
case 5: sName = ColorString("Reforged Imbued "+ RandomName(200), 5, 90, 255); break;
|
||||
case 6: sName = ColorString("Reforged Planar "+ RandomName(200), 185, 1, 200); break;
|
||||
case 7: sName = ColorString("Reforged Divine "+ RandomName(200), 255, 245, 210); break;
|
||||
case 8: sName = ColorString("Reforged Ancient's "+ RandomName(200), 180, 180, 80); break;
|
||||
}
|
||||
|
||||
switch(iQual)
|
||||
{
|
||||
case 1: FloatingTextStringOnCreature("You have reforged a Magical Quality item!", oPC); break;
|
||||
case 2: FloatingTextStringOnCreature("You have reforged a Enchanted Quality item!", oPC); break;
|
||||
case 3: FloatingTextStringOnCreature("You have reforged a Enchanted Quality item!", oPC); break;
|
||||
case 4: FloatingTextStringOnCreature("You have reforged a Imbued Quality item!", oPC); break;
|
||||
case 5: FloatingTextStringOnCreature("You have reforged a Imbued Quality item!", oPC); break;
|
||||
case 6: FloatingTextStringOnCreature("You have reforged a Planar Quality item!", oPC); break;
|
||||
case 7: FloatingTextStringOnCreature("You have reforged a Divine Quality item!", oPC); break;
|
||||
case 8: FloatingTextStringOnCreature("You have reforged a Ancient Quality item!", oPC); break;
|
||||
}
|
||||
|
||||
if (sCheck == "HELM_" ||
|
||||
sCheck == "ARMR_" ||
|
||||
sCheck == "SHLD_" ||
|
||||
sCheck == "ammy_" ||
|
||||
sCheck == "ring_" ||
|
||||
sCheck == "WEAP_" ||
|
||||
sCheck == "BOOT_" ||
|
||||
sCheck == "BELT_")
|
||||
{
|
||||
SetName (oItem, cName + oName);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetName(oItem, sName);
|
||||
}
|
||||
|
||||
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eTel2,lTrig2,0.0);
|
||||
DelayCommand(0.3,ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eTel1,lTrig1,0.0));
|
||||
RecomputeStaticLighting(oArea);
|
||||
|
||||
int nGold = GetLocalInt (OBJECT_SELF,"ItemCost");
|
||||
TakeGoldFromCreature(nGold,oPC,TRUE);
|
||||
|
||||
}
|
109
_module/nss/forge_itemsplit.nss
Normal file
109
_module/nss/forge_itemsplit.nss
Normal file
@ -0,0 +1,109 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_itemsplit - Separate into component properties
|
||||
/////:: Modified by Winterknight on 2/18/06
|
||||
/////:: Original script written by Asbury
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "sd_lootsystem"
|
||||
|
||||
void main()
|
||||
{
|
||||
//:: Declare major variables.
|
||||
effect eTel1 = EffectVisualEffect(VFX_IMP_FROST_L,FALSE);
|
||||
effect eTel2 = EffectVisualEffect(VFX_IMP_ELEMENTAL_PROTECTION,FALSE);
|
||||
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oCombine = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1);
|
||||
|
||||
object oArea = GetArea(oForge);
|
||||
|
||||
location lTrig1 = GetLocation(oForge);
|
||||
location lTrig2 = GetLocation(oCombine);
|
||||
|
||||
//:: Get only the first item on forge.
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
|
||||
//:: Must have something in the forge.
|
||||
if (!GetIsObjectValid(oItem)) return;
|
||||
|
||||
//:: Identify item
|
||||
if (GetIdentified(oItem)==FALSE) SetIdentified (oItem, TRUE);
|
||||
|
||||
//:: Check for type for crafting
|
||||
string sCraft;
|
||||
int nType = GetLocalInt(OBJECT_SELF, "ItemType");
|
||||
|
||||
if (nType == 1) sCraft = "craftingbelt"; // belts and boots
|
||||
else if (nType == 2) sCraft = "craftingshield"; // armor, helm, shield
|
||||
else if (nType == 3) sCraft = "craftingdagger"; // melee weapons
|
||||
else if (nType == 4) sCraft = "craftingcloak"; // cloaks
|
||||
else if (nType == 5) sCraft = "craftingring"; // rings and ammys
|
||||
else if (nType == 6) sCraft = "craftingsling"; // bows, x-bows, slings
|
||||
else if (nType == 7) sCraft = "craftingdirk"; // thrown and ammo
|
||||
//else if (nType == 8) sCraft = "craftingtoken"; // miscellaneous, common
|
||||
else sCraft = "craftingtoken"; // anything else
|
||||
|
||||
itemproperty ipForgeItemIP;
|
||||
int nIPDuration, nCheck, nParam1, nIPType;
|
||||
ipForgeItemIP = GetFirstItemProperty(oItem);
|
||||
|
||||
//:: Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipForgeItemIP))
|
||||
{
|
||||
nCheck = 0;
|
||||
//:: Check for temporary itemprops
|
||||
nIPDuration = GetItemPropertyDurationType(ipForgeItemIP);
|
||||
|
||||
//:: Check to see if we can prevent the unique mithril powers from being removed.
|
||||
nParam1 = GetItemPropertySubType(ipForgeItemIP);
|
||||
nIPType = GetItemPropertyType(ipForgeItemIP);
|
||||
if (nIPType == ITEM_PROPERTY_ONHITCASTSPELL)
|
||||
{
|
||||
if (nParam1 == 125)
|
||||
nCheck = 1;
|
||||
}
|
||||
if (nIPType == ITEM_PROPERTY_CAST_SPELL)
|
||||
{
|
||||
if (nParam1 == 329 ||
|
||||
nParam1 == 335 ||
|
||||
nParam1 == 359 ||
|
||||
nParam1 == 537 ||
|
||||
nParam1 == 513)
|
||||
nCheck = 1;
|
||||
}
|
||||
if (Random(100) != 1 & nIPDuration == DURATION_TYPE_PERMANENT & nCheck != 1)
|
||||
{
|
||||
//:: Create receptacle item on Combine
|
||||
object oCraft = CreateItemOnObject(sCraft, oCombine);
|
||||
if (GetIsObjectValid(oCraft))
|
||||
{
|
||||
//:: Remove itemprop from item
|
||||
RemoveItemProperty(oItem, ipForgeItemIP);
|
||||
//:: Add property to crafting item
|
||||
AddItemProperty(DURATION_TYPE_PERMANENT, ipForgeItemIP, oCraft);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nCheck == 1)
|
||||
{
|
||||
SendMessageToPC(GetPCSpeaker(),"Unique powers not removed.");
|
||||
}
|
||||
else
|
||||
{
|
||||
SendMessageToPC(GetPCSpeaker(),"An item property was lost during the separation.");
|
||||
RemoveItemProperty(oItem, ipForgeItemIP);
|
||||
}
|
||||
}
|
||||
|
||||
//:: Next itemproperty on the item
|
||||
ipForgeItemIP = GetNextItemProperty(oItem);
|
||||
}
|
||||
|
||||
string sName;
|
||||
|
||||
sName = ColorString("Disenchanted Item" ,80, 80, 80);
|
||||
SetName(oItem, sName);
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eTel1,lTrig1,0.0);
|
||||
DelayCommand(0.3,ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eTel2, lTrig2, 0.0));
|
||||
RecomputeStaticLighting(oArea);
|
||||
}
|
74
_module/nss/forge_mergecheck.nss
Normal file
74
_module/nss/forge_mergecheck.nss
Normal file
@ -0,0 +1,74 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_guildcheck script - check to make sure not splitting a guild item
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oCombine = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oCombine);
|
||||
string sMerge = GetTag(oItem);
|
||||
int nType = GetLocalInt(OBJECT_SELF, "ItemType");
|
||||
/*while (GetIsObjectValid(oItem))
|
||||
{
|
||||
if (nType == 1) // Belts and Boots
|
||||
{
|
||||
if (sMerge == "craftingbelt" ||
|
||||
sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 2) // Armor, Helms, Shields
|
||||
{
|
||||
if (sMerge == "craftingshield" ||
|
||||
sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 3) // Melee Weapons
|
||||
{
|
||||
if (sMerge == "craftingdagger" ||
|
||||
sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 4) // Cloaks
|
||||
{
|
||||
if (sMerge == "craftingcloak" ||
|
||||
sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 5) // Rings and Amulets
|
||||
{
|
||||
if (sMerge == "craftingring" ||
|
||||
sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 6) // Bows and Crossbows/slings
|
||||
{
|
||||
if (sMerge == "craftingsling" ||
|
||||
sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 7) // Thrown weapons and ammunition
|
||||
{
|
||||
if (sMerge == "craftingdirk" ||
|
||||
sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 8) // Common items (miscellaneous or not already covered)
|
||||
{
|
||||
if (sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
oItem = GetNextItemInInventory(oCombine);
|
||||
}
|
||||
return TRUE; */
|
||||
|
||||
return FALSE;
|
||||
}
|
19
_module/nss/forge_sdcheck.nss
Normal file
19
_module/nss/forge_sdcheck.nss
Normal file
@ -0,0 +1,19 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_guildcheck script - check to make sure not splitting a guild item
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
string sCheck = GetStringLowerCase(GetStringLeft(GetResRef(oItem), 2));
|
||||
if (sCheck == "sd" || sCheck == "nw" || sCheck == "x2")
|
||||
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
22
_module/nss/forge_spititout.nss
Normal file
22
_module/nss/forge_spititout.nss
Normal file
@ -0,0 +1,22 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_spititout script - check to make sure no more than one item in forge.
|
||||
/////:: Written by Winterknight on 2/20/06
|
||||
/////:://////////////////////////////////////////////
|
||||
|
||||
void main()
|
||||
{
|
||||
object oFifo2 = GetFirstItemInInventory(OBJECT_SELF);
|
||||
|
||||
if (GetInventoryDisturbType() == INVENTORY_DISTURB_TYPE_ADDED)
|
||||
{
|
||||
oFifo2 = GetNextItemInInventory(OBJECT_SELF);
|
||||
if (GetIsObjectValid(oFifo2))
|
||||
{
|
||||
location lDrop = GetLocation(GetNearestObjectByTag("forge_spitpoint", OBJECT_SELF,1));
|
||||
object oCopy = CopyObject(oFifo2, lDrop, OBJECT_INVALID, "");
|
||||
DestroyObject(oFifo2,0.3);
|
||||
effect eEff1 = EffectVisualEffect(VFX_FNF_SMOKE_PUFF, FALSE);
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEff1, lDrop, 0.0);
|
||||
}
|
||||
}
|
||||
}
|
183
_module/nss/forge_splitcheck.nss
Normal file
183
_module/nss/forge_splitcheck.nss
Normal file
@ -0,0 +1,183 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_guildcheck script - check to make sure not splitting a guild item
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
#include "prc_misc_const"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
int nBase = GetBaseItemType (oItem);
|
||||
int nType = GetLocalInt(OBJECT_SELF, "ItemType");
|
||||
|
||||
return FALSE;
|
||||
|
||||
if (nType == 1) // Belts and Boots
|
||||
{
|
||||
if (nBase == BASE_ITEM_BOOTS ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE ||
|
||||
nBase == BASE_ITEM_BELT)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 2) // Armor, Helms, Shields
|
||||
{
|
||||
if (nBase == BASE_ITEM_TOWERSHIELD ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE ||
|
||||
nBase == BASE_ITEM_SMALLSHIELD ||
|
||||
nBase == BASE_ITEM_HELMET ||
|
||||
nBase == BASE_ITEM_ARMOR ||
|
||||
nBase == BASE_ITEM_BRACER ||
|
||||
nBase == BASE_ITEM_LARGESHIELD)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 3) // Melee Weapons
|
||||
{
|
||||
if (nBase == BASE_ITEM_BASTARDSWORD ||
|
||||
nBase == BASE_ITEM_BATTLEAXE ||
|
||||
nBase == BASE_ITEM_CLUB ||
|
||||
nBase == BASE_ITEM_DAGGER ||
|
||||
nBase == BASE_ITEM_DIREMACE ||
|
||||
nBase == BASE_ITEM_DOUBLEAXE ||
|
||||
nBase == BASE_ITEM_DOUBLE_SCIMITAR ||
|
||||
nBase == BASE_ITEM_DWARVENWARAXE ||
|
||||
nBase == BASE_ITEM_EAGLE_CLAW ||
|
||||
nBase == BASE_ITEM_ELVEN_COURTBLADE ||
|
||||
nBase == BASE_ITEM_ELVEN_LIGHTBLADE ||
|
||||
nBase == BASE_ITEM_ELVEN_THINBLADE ||
|
||||
nBase == BASE_ITEM_FALCHION ||
|
||||
nBase == BASE_ITEM_GLOVES ||
|
||||
nBase == BASE_ITEM_GOAD ||
|
||||
nBase == BASE_ITEM_GREATAXE ||
|
||||
nBase == BASE_ITEM_GREATSWORD ||
|
||||
nBase == BASE_ITEM_HALBERD ||
|
||||
nBase == BASE_ITEM_HANDAXE ||
|
||||
nBase == BASE_ITEM_HEAVYCROSSBOW ||
|
||||
nBase == BASE_ITEM_HEAVYFLAIL ||
|
||||
nBase == BASE_ITEM_HEAVY_MACE ||
|
||||
nBase == BASE_ITEM_HEAVY_PICK ||
|
||||
nBase == BASE_ITEM_KAMA ||
|
||||
nBase == BASE_ITEM_KATANA ||
|
||||
nBase == BASE_ITEM_KATAR ||
|
||||
nBase == BASE_ITEM_KUKRI ||
|
||||
nBase == BASE_ITEM_LIGHTFLAIL ||
|
||||
nBase == BASE_ITEM_LIGHTHAMMER ||
|
||||
nBase == BASE_ITEM_LIGHTMACE ||
|
||||
nBase == BASE_ITEM_LIGHT_PICK ||
|
||||
nBase == BASE_ITEM_LONGSWORD ||
|
||||
nBase == BASE_ITEM_MAUL ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE ||
|
||||
nBase == BASE_ITEM_MORNINGSTAR ||
|
||||
nBase == BASE_ITEM_NUNCHAKU ||
|
||||
nBase == BASE_ITEM_QUARTERSTAFF ||
|
||||
nBase == BASE_ITEM_RAPIER ||
|
||||
nBase == BASE_ITEM_SAI ||
|
||||
nBase == BASE_ITEM_SAP ||
|
||||
nBase == BASE_ITEM_SCIMITAR ||
|
||||
nBase == BASE_ITEM_SCYTHE ||
|
||||
nBase == BASE_ITEM_SHORTSPEAR ||
|
||||
nBase == BASE_ITEM_SHORTSWORD ||
|
||||
nBase == BASE_ITEM_SICKLE ||
|
||||
nBase == BASE_ITEM_SLING ||
|
||||
nBase == BASE_ITEM_TRIDENT ||
|
||||
nBase == BASE_ITEM_TWOBLADEDSWORD ||
|
||||
nBase == BASE_ITEM_WARHAMMER ||
|
||||
nBase == BASE_ITEM_WHIP)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 4) // Cloaks
|
||||
{
|
||||
if (nBase == BASE_ITEM_CLOAK ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 5) // Rings and Amulets
|
||||
{
|
||||
if (nBase == BASE_ITEM_RING ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE ||
|
||||
nBase == BASE_ITEM_AMULET)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 6) // Bows and Crossbows/slings
|
||||
{
|
||||
if (nBase == BASE_ITEM_LONGBOW ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE ||
|
||||
nBase == BASE_ITEM_LIGHTCROSSBOW ||
|
||||
nBase == BASE_ITEM_HEAVYCROSSBOW||
|
||||
nBase == BASE_ITEM_SHORTBOW ||
|
||||
nBase == BASE_ITEM_SLING )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 7) // Thrown weapons and ammunition
|
||||
{
|
||||
if (nBase == BASE_ITEM_ARROW ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE ||
|
||||
nBase == BASE_ITEM_BOLT ||
|
||||
nBase == BASE_ITEM_BULLET||
|
||||
nBase == BASE_ITEM_DART ||
|
||||
nBase == BASE_ITEM_GRENADE ||
|
||||
nBase == BASE_ITEM_SHURIKEN ||
|
||||
nBase == BASE_ITEM_THROWINGAXE )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 8) // Common items (miscellaneous or not already covered)
|
||||
{
|
||||
if (nBase == BASE_ITEM_BOOK ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE ||
|
||||
nBase == BASE_ITEM_MAGICROD||
|
||||
nBase == BASE_ITEM_LARGEBOX ||
|
||||
nBase == BASE_ITEM_MAGICSTAFF ||
|
||||
nBase == BASE_ITEM_MAGICWAND )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
15
_module/nss/forge_validcheck.nss
Normal file
15
_module/nss/forge_validcheck.nss
Normal file
@ -0,0 +1,15 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_guildcheck script - check to make sure not splitting a guild item
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
if (!GetIsObjectValid(oItem))
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
@ -1053,10 +1053,10 @@ void DropGold (object oMob, object oSack, int iBonus)
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//Gold Debugging
|
||||
//object oPC = GetFirstPC();
|
||||
//object oKiller = GetFirstPC();
|
||||
//sGold = IntToString(iGold);
|
||||
//sLvl = IntToString(iHD);
|
||||
//FloatingTextStringOnCreature(sGold+" Gold Spawned by lvl "+sLvl+" mob", oPC);
|
||||
//FloatingTextStringOnCreature(sGold+" Gold Spawned by lvl "+sLvl+" mob", oKiller);
|
||||
//
|
||||
//
|
||||
//
|
||||
@ -1957,17 +1957,16 @@ void DamageTypeImbue(object oItem, int iRange)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
iRoll = d3();
|
||||
iRoll = d2();
|
||||
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==2)iDam = IP_CONST_DAMAGEBONUS_2;
|
||||
if (iRoll==3)iDam = IP_CONST_DAMAGEBONUS_1d4;
|
||||
if (iRoll==4)iDam = IP_CONST_DAMAGEBONUS_1d4;
|
||||
}
|
||||
@ -3571,7 +3570,6 @@ void DropMagicItem (object oMob, object oSack, int iRange, int SockChance, int i
|
||||
}
|
||||
|
||||
//:: Chance for socketed item
|
||||
|
||||
oItem = CreateItemOnObject(sType, oSack, 1, "sf_socket_item");
|
||||
|
||||
iRoll = d100();
|
||||
@ -3608,7 +3606,7 @@ void DropMagicItem (object oMob, object oSack, int iRange, int SockChance, int i
|
||||
|
||||
///////////////////////////////////////////// Hench Reward Code
|
||||
|
||||
object oPC = GetFirstPC();
|
||||
object oKiller = GetFirstPC();
|
||||
|
||||
if (GetMaster(oMob)!=OBJECT_INVALID)
|
||||
{
|
||||
@ -3617,62 +3615,49 @@ void DropMagicItem (object oMob, object oSack, int iRange, int SockChance, int i
|
||||
}
|
||||
|
||||
//////////////////////////////////////////// Lvls 1-5
|
||||
if (iRange == 1)
|
||||
|
||||
//:: AC bonus for ammy, cloak & boots or ability bonus otherwise
|
||||
if (iID == 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;
|
||||
}
|
||||
|
||||
DelayCommand(0.2, ACmisc(oItem, iRange));
|
||||
++iQual;
|
||||
}
|
||||
|
||||
////////////////////////////////////////// Lvls 6-10
|
||||
else
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
//:: Ability bonus
|
||||
iRoll = d100();
|
||||
if (iRoll > 60)
|
||||
{
|
||||
DelayCommand(0.2, AbilityImbue(oItem, iRange));
|
||||
++iQual;
|
||||
}
|
||||
//:: Rings ONLY
|
||||
if (iID==2)
|
||||
{
|
||||
|
||||
if (iID == 2)
|
||||
{
|
||||
iRoll = d100();
|
||||
if (iRoll > 94) //:: 5% Chance for Divinty / Wizardry
|
||||
{
|
||||
@ -3696,15 +3681,17 @@ void DropMagicItem (object oMob, object oSack, int iRange, int SockChance, int i
|
||||
}
|
||||
}
|
||||
else
|
||||
{//:: Else, Saving Throw bonuses
|
||||
{
|
||||
//:: Saving Throw bonus
|
||||
iRoll = d100();
|
||||
if (iRoll > 89)
|
||||
DelayCommand(0.2, SaveImbue(oItem, iRange));
|
||||
++iQual;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (iRoll>90)
|
||||
{
|
||||
DelayCommand(0.2, SaveImbue(oItem, iRange));
|
||||
++iQual;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////// Lvls 11-20
|
||||
|
||||
if (iRange == 3)
|
||||
@ -3723,7 +3710,7 @@ void DropMagicItem (object oMob, object oSack, int iRange, int SockChance, int i
|
||||
++iQual;
|
||||
}
|
||||
//:: Rings ONLY
|
||||
if (iID==2)
|
||||
if (iID == 2)
|
||||
{
|
||||
iRoll = d100();
|
||||
if (iRoll > 89) //:: 10% Chance for Divinty / Wizardry
|
||||
@ -3748,7 +3735,7 @@ void DropMagicItem (object oMob, object oSack, int iRange, int SockChance, int i
|
||||
}
|
||||
}
|
||||
else
|
||||
{//:: Misc Immunity
|
||||
{//:: Misc Bonus
|
||||
iRoll = d100();
|
||||
if (iRoll > 80)
|
||||
{
|
||||
@ -3935,7 +3922,7 @@ void DropMagicItem (object oMob, object oSack, int iRange, int SockChance, int i
|
||||
++iQual;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
switch(iQual)
|
||||
{
|
||||
case 1: sName = ColorString("Magical "+sIName,255, 255, 255); break;
|
||||
@ -4739,7 +4726,16 @@ void DropWeapon (object oMob, object oSack, int iRange, int SockChance, int iChe
|
||||
if (iRoll==2)sIName = "Twin Sabre";
|
||||
if (iRoll==3)sIName = "Double Shamshir";
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case 55:
|
||||
{ //:: Sling
|
||||
iWType = 1;
|
||||
sType = "sdsling"; iRoll = d3();
|
||||
if (iRoll==1)sIName = "Sling";
|
||||
if (iRoll==2)sIName = "Strap";
|
||||
if (iRoll==3)sIName = "Funda";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
//:: Chance for socketed item
|
||||
@ -4787,14 +4783,14 @@ void DropWeapon (object oMob, object oSack, int iRange, int SockChance, int iChe
|
||||
|
||||
SetIdentified(oItem, FALSE);
|
||||
|
||||
//////////////////////////////////////////// Lvls 1-5 ::Ranged::
|
||||
//////////////////////////////////////////// Lvls 1-5 ::Ranged::
|
||||
|
||||
//:: Attack bonus
|
||||
|
||||
DelayCommand(0.2, BowEnhance(oItem, iRange));
|
||||
++iQual;
|
||||
|
||||
////////////////////////////////////////// Lvls 6-10 ::Ranged::
|
||||
////////////////////////////////////////// Lvls 6-10 ::Ranged::
|
||||
|
||||
if (iRange==2)
|
||||
{
|
||||
@ -4807,28 +4803,28 @@ void DropWeapon (object oMob, object oSack, int iRange, int SockChance, int iChe
|
||||
}
|
||||
//:: Massive Crits
|
||||
iRoll = d100();
|
||||
if (iRoll>70)
|
||||
if (iRoll > 70)
|
||||
{
|
||||
DelayCommand(0.2, MassCritImbue(oItem, iRange));
|
||||
++iQual;
|
||||
}
|
||||
//:: Mighty
|
||||
iRoll = d100();
|
||||
if (iRoll>70)
|
||||
if (iRoll > 70)
|
||||
{
|
||||
DelayCommand(0.2, MightyEnhance(oItem, iRange));
|
||||
++iQual;
|
||||
}
|
||||
//:: Haste
|
||||
iRoll = d100();
|
||||
if (iRoll==95)
|
||||
if (iRoll >= 98)
|
||||
{
|
||||
DelayCommand(0.2, HasteImbue(oItem));
|
||||
iQual+=2;
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////// Lvls 11-20 ::Ranged::
|
||||
////////////////////////////////////////// Lvls 11-20 ::Ranged::
|
||||
|
||||
if (iRange==3)
|
||||
{
|
||||
@ -4876,7 +4872,7 @@ void DropWeapon (object oMob, object oSack, int iRange, int SockChance, int iChe
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////// Lvls 20-30 ::Ranged::
|
||||
////////////////////////////////////////// Lvls 20-30 ::Ranged::
|
||||
|
||||
if (iRange==4)
|
||||
{
|
||||
@ -5409,7 +5405,15 @@ void DropWeapon (object oMob, object oSack, int iRange, int SockChance, int iChe
|
||||
|
||||
//:: Enhancement bonus
|
||||
DelayCommand(0.2, WeapEnhance(oItem, iRange));
|
||||
++iQual;
|
||||
|
||||
switch (iRange)
|
||||
{
|
||||
case 1: iQual+=1;
|
||||
case 2: iQual+=1;
|
||||
case 3: iQual+=2;
|
||||
case 4: iQual+=2;
|
||||
case 5: iQual+=3;
|
||||
}
|
||||
|
||||
////////////////////////////////////////// Lvls 6-10 ::Melee::
|
||||
|
||||
@ -5901,42 +5905,35 @@ void DropAmmo (object oMob, object oSack, int iRange)
|
||||
{
|
||||
object oItem;
|
||||
string sType, sName, sIName;
|
||||
int iRoll = d4();
|
||||
int iRoll = d3();
|
||||
int iQual;
|
||||
int iStack = d10()*9;
|
||||
int iStack = d12()*5;
|
||||
|
||||
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";}
|
||||
if (iRoll==2)sIName = "Sagitta";
|
||||
if (iRoll==3)sIName = "War Arrow";}
|
||||
break;
|
||||
case 2: {sType = "sdbolt"; iRoll = d3();
|
||||
if (iRoll==1)sIName = "Bolt";
|
||||
if (iRoll==2)sIName = "Deathpin";
|
||||
if (iRoll==3)sIName = "Air Lance";}
|
||||
if (iRoll==2)sIName = "Shaft";
|
||||
if (iRoll==3)sIName = "Quarrel";}
|
||||
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";}
|
||||
case 3: {sType = "sdbullet"; iRoll = d3();
|
||||
if (iRoll==1)sIName = "Bullet";
|
||||
if (iRoll==2)sIName = "Slug";
|
||||
if (iRoll==3)sIName = "Stone";}
|
||||
break;
|
||||
}
|
||||
|
||||
oItem = CreateItemOnObject(sType, oSack, iStack);
|
||||
|
||||
|
||||
//:: Ammo
|
||||
|
||||
iRoll = d100();
|
||||
if (iRoll<=10) // 10% chance of worn item ::Ammo::
|
||||
if (iRoll <= 10) // 10% chance of worn item ::Ammo::
|
||||
{
|
||||
sName = ColorString("Worn "+sIName, 192, 192, 192);
|
||||
SetName(oItem, sName);
|
||||
@ -5947,7 +5944,14 @@ void DropAmmo (object oMob, object oSack, int iRange)
|
||||
|
||||
//////////////////////////////////////////// Lvls 1-5 ::Ammo::
|
||||
|
||||
if (iRange==1)
|
||||
{
|
||||
//:: Damage bonus
|
||||
DelayCommand(0.2, DamageTypeImbue(oItem, iRange));
|
||||
++iQual;
|
||||
|
||||
//++iQual; // Debugging
|
||||
}
|
||||
|
||||
////////////////////////////////////////// Lvls 6-10 ::Ammo::
|
||||
|
||||
@ -6609,17 +6613,21 @@ void DropEpicSpellBook(object oMob, object oSack)
|
||||
|
||||
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);
|
||||
object oKiller = 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
|
||||
// no loot if spawned in Ascension
|
||||
// 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;
|
||||
if (GetTag(GetArea(oMob))=="TownofAscension") return;
|
||||
|
||||
if (GetTag(GetArea(oMob))=="TrespassersTavern") return;
|
||||
|
||||
if (GetClassByPosition(1, oMob) == CLASS_TYPE_COMMONER) 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!
|
||||
@ -6639,10 +6647,10 @@ void sd_droploot (object oMob, object oSack)
|
||||
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 (GetHasFeat(FEAT_SUPERIOR_UNARMED_STRIKE, oKiller)) mMod = 4;
|
||||
|
||||
if (GetLevelByClass(CLASS_TYPE_MONK, oPC)>5||
|
||||
GetLevelByClass(CLASS_TYPE_MONK, GetMaster(oPC))>5)mMod = 8;
|
||||
if (GetLevelByClass(CLASS_TYPE_MONK, oKiller)>5||
|
||||
GetLevelByClass(CLASS_TYPE_MONK, GetMaster(oKiller))>5)mMod = 8;
|
||||
|
||||
else mMod=lMod-1;
|
||||
|
||||
@ -6656,7 +6664,7 @@ void sd_droploot (object oMob, object oSack)
|
||||
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 GoldChance = 0; // % 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
|
||||
@ -6714,7 +6722,7 @@ void sd_droploot (object oMob, object oSack)
|
||||
}
|
||||
if (iDice<GoldChance+1)
|
||||
{
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped gold!", oPC);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped gold!", oKiller);
|
||||
}
|
||||
if (iDice<GoldChance+1)
|
||||
{
|
||||
@ -6729,7 +6737,7 @@ void sd_droploot (object oMob, object oSack)
|
||||
}
|
||||
if (iDice<RodWandChance+1)
|
||||
{
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped a wand!", oPC);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped a wand!", oKiller);
|
||||
}
|
||||
if (iDice<RodWandChance+1)
|
||||
{
|
||||
@ -6745,29 +6753,29 @@ void sd_droploot (object oMob, object oSack)
|
||||
if (iDice < WeapChance+1)
|
||||
{
|
||||
DropWeapon(oMob, oSack, iRange, SockChance, DamBroke);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped a weapon!", oPC);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped a weapon!", oKiller);
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eLink, GetLocation(oSack));
|
||||
}
|
||||
|
||||
//:: Monk Gloves Roll
|
||||
iDice = d100();
|
||||
if (iDice<MonkChance+1)
|
||||
if (iDice<MonkChance + 1)
|
||||
{
|
||||
DropMonkGloves(oMob, oSack, iRange, SockChance, DamBroke);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped gloves!", oPC);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped gloves!", oKiller);
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eLink, GetLocation(oSack));
|
||||
}
|
||||
|
||||
//:: Armor or shield Roll
|
||||
iDice = d100();
|
||||
if (iDice < ArmorChance+1)
|
||||
if (iDice < ArmorChance + 1)
|
||||
{
|
||||
iDice = d100();
|
||||
if (iDice>59)DropShield(oMob, oSack, iRange, SockChance, DamBroke);
|
||||
else DropArmor(oMob, oSack, iRange, SockChance, DamBroke);
|
||||
if (iDice<ArmorChance+1) FloatingTextStringOnCreature("Your defeated foe has dropped armor!", oPC);
|
||||
if (iDice<ArmorChance+1) FloatingTextStringOnCreature("Your defeated foe has dropped armor!", oKiller);
|
||||
if (iDice<ArmorChance+1) ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eLink, GetLocation(oSack));
|
||||
if (iDice>59) FloatingTextStringOnCreature("Your defeated foe has dropped armour!", oPC);
|
||||
if (iDice>59) FloatingTextStringOnCreature("Your defeated foe has dropped armour!", oKiller);
|
||||
if (iDice>59) ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eLink, GetLocation(oSack));
|
||||
}
|
||||
|
||||
@ -6776,7 +6784,7 @@ void sd_droploot (object oMob, object oSack)
|
||||
if (iDice < MItemChance + 1)
|
||||
{
|
||||
DropMagicItem(oMob, oSack, iRange, SockChance, DamBroke);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped a magic item!", oPC);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped a magic item!", oKiller);
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eLink, GetLocation(oSack));
|
||||
}
|
||||
|
||||
@ -6785,7 +6793,7 @@ void sd_droploot (object oMob, object oSack)
|
||||
if (iDice < MiscChance + 1)
|
||||
{
|
||||
DropMisc(oMob, oSack);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped an artifact!", oPC);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped an artifact!", oKiller);
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eLink, GetLocation(oSack));
|
||||
}
|
||||
|
||||
@ -6794,7 +6802,7 @@ void sd_droploot (object oMob, object oSack)
|
||||
if (iDice < AmmoChance + 1)
|
||||
{
|
||||
DropAmmo(oMob, oSack, iRange);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped ranged ammunition!", oPC);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped ranged ammunition!", oKiller);
|
||||
}
|
||||
|
||||
//:: Potion Roll
|
||||
@ -6802,7 +6810,7 @@ void sd_droploot (object oMob, object oSack)
|
||||
if (iDice < PotChance + 1)
|
||||
{
|
||||
DropPotion(oMob, oSack);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped a potion!", oPC);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped a potion!", oKiller);
|
||||
}
|
||||
|
||||
//:: Scroll Roll
|
||||
@ -6810,7 +6818,7 @@ void sd_droploot (object oMob, object oSack)
|
||||
if (iDice < ScrollChance + 1)
|
||||
{
|
||||
DropScroll(oMob, oSack, iRange);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped a scroll!", oPC);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped a scroll!", oKiller);
|
||||
}
|
||||
|
||||
//:: Alchemical Item Roll
|
||||
@ -6827,7 +6835,7 @@ void sd_droploot (object oMob, object oSack)
|
||||
if (iDice < EpicSpellSeedChance + 1)
|
||||
{
|
||||
DropEpicSpellSeed(oMob, oSack);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped an epic spell seed!", oPC);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped an epic spell seed!", oKiller);
|
||||
}
|
||||
}
|
||||
|
||||
@ -6838,14 +6846,14 @@ void sd_droploot (object oMob, object oSack)
|
||||
if (iDice < EpicSpellBookChance + 1)
|
||||
{
|
||||
DropEpicSpellBook(oMob, oSack);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped an epic spell book!", oPC);
|
||||
FloatingTextStringOnCreature("Your defeated foe has dropped an epic spell book!", oKiller);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sd_dropboss(object oMob, object oSack)
|
||||
{
|
||||
object oPC = GetLastKiller();
|
||||
object oKiller = GetLastKiller();
|
||||
|
||||
//:: Early exit if mob is killed in Stonewatch to prevent looting high-end mobs easily
|
||||
if (GetTag(GetArea(oMob)) == "Stonewatch") return;
|
||||
@ -6860,7 +6868,7 @@ void sd_dropboss(object oMob, object oSack)
|
||||
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)
|
||||
if (GetLevelByClass(CLASS_TYPE_MONK, oKiller) > 5 || GetLevelByClass(CLASS_TYPE_MONK, GetMaster(oKiller)) > 5)
|
||||
mMod = 8;
|
||||
else
|
||||
mMod = lMod - 1;
|
||||
@ -6993,7 +7001,7 @@ void sd_dropboss(object oMob, object oSack)
|
||||
|
||||
void wk_chestloot (object oSack)
|
||||
{
|
||||
object oPC = GetLastUsedBy();
|
||||
object oKiller = GetLastUsedBy();
|
||||
object oMob = GetLastUsedBy();
|
||||
/////////////////////////////////////////
|
||||
//::Droprate config::
|
||||
@ -7102,7 +7110,7 @@ void wk_chestloot (object oSack)
|
||||
|
||||
void hy_barrelloot (object oSack)
|
||||
{
|
||||
object oPC = GetLastUsedBy();
|
||||
object oKiller = GetLastUsedBy();
|
||||
object oMob = GetLastUsedBy();
|
||||
/////////////////////////////////////////
|
||||
//::Droprate config::
|
||||
@ -7155,7 +7163,7 @@ void hy_barrelloot (object oSack)
|
||||
|
||||
void hy_bookcaseloot (object oSack)
|
||||
{
|
||||
object oPC = GetLastUsedBy();
|
||||
object oKiller = GetLastUsedBy();
|
||||
object oMob = GetLastUsedBy();
|
||||
/////////////////////////////////////////
|
||||
//::Droprate config::
|
||||
@ -7199,4 +7207,4 @@ void hy_bookcaseloot (object oSack)
|
||||
|
||||
///////////////////////////
|
||||
//: For test compiling only
|
||||
//:: void main(){}
|
||||
//::void main(){}
|
||||
|
9
_module/nss/skullkeep_badchk.nss
Normal file
9
_module/nss/skullkeep_badchk.nss
Normal file
@ -0,0 +1,9 @@
|
||||
int StartingConditional()
|
||||
{
|
||||
int skullkeep =GetCampaignInt("SK_Factions", "Skullkeep", GetPCSpeaker());
|
||||
if (skullkeep < -5001)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
|
||||
}
|
81
_module/uti/craftingbelt.uti.json
Normal file
81
_module/uti/craftingbelt.uti.json
Normal file
@ -0,0 +1,81 @@
|
||||
{
|
||||
"__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": {
|
||||
"0": "A special belt, used by those in the magical crafting trade, which can be used to store a single item property. "
|
||||
}
|
||||
},
|
||||
"Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": ""
|
||||
}
|
||||
},
|
||||
"Identified": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LocalizedName": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Crafting Belt"
|
||||
}
|
||||
},
|
||||
"ModelPart1": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"PaletteID": {
|
||||
"type": "byte",
|
||||
"value": 53
|
||||
},
|
||||
"Plot": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"PropertiesList": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"StackSize": {
|
||||
"type": "word",
|
||||
"value": 1
|
||||
},
|
||||
"Stolen": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tag": {
|
||||
"type": "cexostring",
|
||||
"value": "craftingbelt"
|
||||
},
|
||||
"TemplateResRef": {
|
||||
"type": "resref",
|
||||
"value": "craftingbelt"
|
||||
}
|
||||
}
|
105
_module/uti/craftingcloak.uti.json
Normal file
105
_module/uti/craftingcloak.uti.json
Normal file
@ -0,0 +1,105 @@
|
||||
{
|
||||
"__data_type": "UTI ",
|
||||
"AddCost": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"BaseItem": {
|
||||
"type": "int",
|
||||
"value": 80
|
||||
},
|
||||
"Charges": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Cloth1Color": {
|
||||
"type": "byte",
|
||||
"value": 7
|
||||
},
|
||||
"Cloth2Color": {
|
||||
"type": "byte",
|
||||
"value": 7
|
||||
},
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
},
|
||||
"Cost": {
|
||||
"type": "dword",
|
||||
"value": 1
|
||||
},
|
||||
"Cursed": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"DescIdentified": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Not much more than a draping of cloth, these are woven of a specially infused thread that allows the warp and weft to contain the essences of distilled items. They are useful only to the magical crafting process."
|
||||
}
|
||||
},
|
||||
"Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": ""
|
||||
}
|
||||
},
|
||||
"Identified": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Leather1Color": {
|
||||
"type": "byte",
|
||||
"value": 88
|
||||
},
|
||||
"Leather2Color": {
|
||||
"type": "byte",
|
||||
"value": 88
|
||||
},
|
||||
"LocalizedName": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Crafting Cloak"
|
||||
}
|
||||
},
|
||||
"Metal1Color": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Metal2Color": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"ModelPart1": {
|
||||
"type": "byte",
|
||||
"value": 3
|
||||
},
|
||||
"PaletteID": {
|
||||
"type": "byte",
|
||||
"value": 53
|
||||
},
|
||||
"Plot": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"PropertiesList": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"StackSize": {
|
||||
"type": "word",
|
||||
"value": 1
|
||||
},
|
||||
"Stolen": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tag": {
|
||||
"type": "cexostring",
|
||||
"value": "craftingcloak"
|
||||
},
|
||||
"TemplateResRef": {
|
||||
"type": "resref",
|
||||
"value": "craftingcloak"
|
||||
}
|
||||
}
|
89
_module/uti/craftingdagger.uti.json
Normal file
89
_module/uti/craftingdagger.uti.json
Normal file
@ -0,0 +1,89 @@
|
||||
{
|
||||
"__data_type": "UTI ",
|
||||
"AddCost": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"BaseItem": {
|
||||
"type": "int",
|
||||
"value": 22
|
||||
},
|
||||
"Charges": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
},
|
||||
"Cost": {
|
||||
"type": "dword",
|
||||
"value": 4
|
||||
},
|
||||
"Cursed": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"DescIdentified": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Created as a by-product of the smithing craft, these daggers act as a storage matrix for the energies needed to enchant melee weapons."
|
||||
}
|
||||
},
|
||||
"Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": ""
|
||||
}
|
||||
},
|
||||
"Identified": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LocalizedName": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Crafting Dagger"
|
||||
}
|
||||
},
|
||||
"ModelPart1": {
|
||||
"type": "byte",
|
||||
"value": 52
|
||||
},
|
||||
"ModelPart2": {
|
||||
"type": "byte",
|
||||
"value": 62
|
||||
},
|
||||
"ModelPart3": {
|
||||
"type": "byte",
|
||||
"value": 52
|
||||
},
|
||||
"PaletteID": {
|
||||
"type": "byte",
|
||||
"value": 53
|
||||
},
|
||||
"Plot": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"PropertiesList": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"StackSize": {
|
||||
"type": "word",
|
||||
"value": 1
|
||||
},
|
||||
"Stolen": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tag": {
|
||||
"type": "cexostring",
|
||||
"value": "craftingdagger"
|
||||
},
|
||||
"TemplateResRef": {
|
||||
"type": "resref",
|
||||
"value": "craftingdagger"
|
||||
}
|
||||
}
|
79
_module/uti/craftingdart.uti.json
Normal file
79
_module/uti/craftingdart.uti.json
Normal file
@ -0,0 +1,79 @@
|
||||
{
|
||||
"__data_type": "UTI ",
|
||||
"AddCost": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"BaseItem": {
|
||||
"type": "int",
|
||||
"value": 31
|
||||
},
|
||||
"Charges": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
},
|
||||
"Cost": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"Cursed": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"DescIdentified": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "A specialized dart that contains the distilled essence of a magical item. Each dart has a single property imbued within it, and though stackable, they should be separated to be more easily managed."
|
||||
}
|
||||
},
|
||||
"Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {}
|
||||
},
|
||||
"Identified": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LocalizedName": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Crafting Dart"
|
||||
}
|
||||
},
|
||||
"ModelPart1": {
|
||||
"type": "byte",
|
||||
"value": 13
|
||||
},
|
||||
"PaletteID": {
|
||||
"type": "byte",
|
||||
"value": 53
|
||||
},
|
||||
"Plot": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"PropertiesList": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"StackSize": {
|
||||
"type": "word",
|
||||
"value": 50
|
||||
},
|
||||
"Stolen": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tag": {
|
||||
"type": "cexostring",
|
||||
"value": "craftingdart"
|
||||
},
|
||||
"TemplateResRef": {
|
||||
"type": "resref",
|
||||
"value": "craftingdart"
|
||||
}
|
||||
}
|
89
_module/uti/craftingdirk.uti.json
Normal file
89
_module/uti/craftingdirk.uti.json
Normal file
@ -0,0 +1,89 @@
|
||||
{
|
||||
"__data_type": "UTI ",
|
||||
"AddCost": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"BaseItem": {
|
||||
"type": "int",
|
||||
"value": 22
|
||||
},
|
||||
"Charges": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
},
|
||||
"Cost": {
|
||||
"type": "dword",
|
||||
"value": 4
|
||||
},
|
||||
"Cursed": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"DescIdentified": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "A throwing dagger, this item is specially enchanted to allow properties from the magical crafting forges to be placed upon it."
|
||||
}
|
||||
},
|
||||
"Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": ""
|
||||
}
|
||||
},
|
||||
"Identified": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LocalizedName": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Crafting Dirk"
|
||||
}
|
||||
},
|
||||
"ModelPart1": {
|
||||
"type": "byte",
|
||||
"value": 52
|
||||
},
|
||||
"ModelPart2": {
|
||||
"type": "byte",
|
||||
"value": 32
|
||||
},
|
||||
"ModelPart3": {
|
||||
"type": "byte",
|
||||
"value": 12
|
||||
},
|
||||
"PaletteID": {
|
||||
"type": "byte",
|
||||
"value": 53
|
||||
},
|
||||
"Plot": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"PropertiesList": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"StackSize": {
|
||||
"type": "word",
|
||||
"value": 1
|
||||
},
|
||||
"Stolen": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tag": {
|
||||
"type": "cexostring",
|
||||
"value": "craftingdirk"
|
||||
},
|
||||
"TemplateResRef": {
|
||||
"type": "resref",
|
||||
"value": "craftingdirk"
|
||||
}
|
||||
}
|
81
_module/uti/craftingring.uti.json
Normal file
81
_module/uti/craftingring.uti.json
Normal file
@ -0,0 +1,81 @@
|
||||
{
|
||||
"__data_type": "UTI ",
|
||||
"AddCost": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"BaseItem": {
|
||||
"type": "int",
|
||||
"value": 52
|
||||
},
|
||||
"Charges": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
},
|
||||
"Cost": {
|
||||
"type": "dword",
|
||||
"value": 1
|
||||
},
|
||||
"Cursed": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"DescIdentified": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "A ring of a silvered alloy, this device is useful as a magical tool, and nothing else. The alloy allows the ring to store the essence of a magical property, thus aiding the crafting of various magic items."
|
||||
}
|
||||
},
|
||||
"Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": ""
|
||||
}
|
||||
},
|
||||
"Identified": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LocalizedName": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Crafting Ring"
|
||||
}
|
||||
},
|
||||
"ModelPart1": {
|
||||
"type": "byte",
|
||||
"value": 11
|
||||
},
|
||||
"PaletteID": {
|
||||
"type": "byte",
|
||||
"value": 53
|
||||
},
|
||||
"Plot": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"PropertiesList": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"StackSize": {
|
||||
"type": "word",
|
||||
"value": 1
|
||||
},
|
||||
"Stolen": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tag": {
|
||||
"type": "cexostring",
|
||||
"value": "craftingring"
|
||||
},
|
||||
"TemplateResRef": {
|
||||
"type": "resref",
|
||||
"value": "craftingring"
|
||||
}
|
||||
}
|
83
_module/uti/craftingshield.uti.json
Normal file
83
_module/uti/craftingshield.uti.json
Normal file
@ -0,0 +1,83 @@
|
||||
{
|
||||
"__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": {
|
||||
"0": "A shield made of specialized wood construction, these are useful only in the manufacture of armors and gear during the magical forging process.",
|
||||
"id": 12863
|
||||
}
|
||||
},
|
||||
"Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": ""
|
||||
}
|
||||
},
|
||||
"Identified": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LocalizedName": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Crafting Shield",
|
||||
"id": 12876
|
||||
}
|
||||
},
|
||||
"ModelPart1": {
|
||||
"type": "byte",
|
||||
"value": 12
|
||||
},
|
||||
"PaletteID": {
|
||||
"type": "byte",
|
||||
"value": 53
|
||||
},
|
||||
"Plot": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"PropertiesList": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"StackSize": {
|
||||
"type": "word",
|
||||
"value": 1
|
||||
},
|
||||
"Stolen": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tag": {
|
||||
"type": "cexostring",
|
||||
"value": "craftingshield"
|
||||
},
|
||||
"TemplateResRef": {
|
||||
"type": "resref",
|
||||
"value": "craftingshield"
|
||||
}
|
||||
}
|
81
_module/uti/craftingsling.uti.json
Normal file
81
_module/uti/craftingsling.uti.json
Normal file
@ -0,0 +1,81 @@
|
||||
{
|
||||
"__data_type": "UTI ",
|
||||
"AddCost": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"BaseItem": {
|
||||
"type": "int",
|
||||
"value": 61
|
||||
},
|
||||
"Charges": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
},
|
||||
"Cost": {
|
||||
"type": "dword",
|
||||
"value": 2
|
||||
},
|
||||
"Cursed": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"DescIdentified": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "A specialized sling, made of unknown leathers. Its unusual nature allows it to be used by magic smiths to store the properties of enchanted items, thereby facilitating the crafting process."
|
||||
}
|
||||
},
|
||||
"Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": ""
|
||||
}
|
||||
},
|
||||
"Identified": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LocalizedName": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Crafting Sling"
|
||||
}
|
||||
},
|
||||
"ModelPart1": {
|
||||
"type": "byte",
|
||||
"value": 12
|
||||
},
|
||||
"PaletteID": {
|
||||
"type": "byte",
|
||||
"value": 53
|
||||
},
|
||||
"Plot": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"PropertiesList": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"StackSize": {
|
||||
"type": "word",
|
||||
"value": 1
|
||||
},
|
||||
"Stolen": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tag": {
|
||||
"type": "cexostring",
|
||||
"value": "craftingsling"
|
||||
},
|
||||
"TemplateResRef": {
|
||||
"type": "resref",
|
||||
"value": "craftingsling"
|
||||
}
|
||||
}
|
81
_module/uti/craftingtoken.uti.json
Normal file
81
_module/uti/craftingtoken.uti.json
Normal file
@ -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": "A crystalline object, perhaps of some magical organic nature, upon which can be placed the distilled property of a magical item. They are useful in the manufacture of magic items."
|
||||
}
|
||||
},
|
||||
"Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": ""
|
||||
}
|
||||
},
|
||||
"Identified": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LocalizedName": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Crafting Stone"
|
||||
}
|
||||
},
|
||||
"ModelPart1": {
|
||||
"type": "byte",
|
||||
"value": 56
|
||||
},
|
||||
"PaletteID": {
|
||||
"type": "byte",
|
||||
"value": 53
|
||||
},
|
||||
"Plot": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"PropertiesList": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"StackSize": {
|
||||
"type": "word",
|
||||
"value": 1
|
||||
},
|
||||
"Stolen": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tag": {
|
||||
"type": "cexostring",
|
||||
"value": "craftingtoken"
|
||||
},
|
||||
"TemplateResRef": {
|
||||
"type": "resref",
|
||||
"value": "craftingtoken"
|
||||
}
|
||||
}
|
83
_module/uti/sdbullet.uti.json
Normal file
83
_module/uti/sdbullet.uti.json
Normal file
@ -0,0 +1,83 @@
|
||||
{
|
||||
"__data_type": "UTI ",
|
||||
"AddCost": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"BaseItem": {
|
||||
"type": "int",
|
||||
"value": 27
|
||||
},
|
||||
"Charges": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Dummy Bullet for loot generation system"
|
||||
},
|
||||
"Cost": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"Cursed": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"DescIdentified": {
|
||||
"type": "cexolocstring",
|
||||
"value": {}
|
||||
},
|
||||
"Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": ""
|
||||
}
|
||||
},
|
||||
"Identified": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LocalizedName": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Bullet"
|
||||
}
|
||||
},
|
||||
"ModelPart1": {
|
||||
"type": "byte",
|
||||
"value": 11
|
||||
},
|
||||
"PaletteID": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Plot": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"PropertiesList": {
|
||||
"type": "list",
|
||||
"value": []
|
||||
},
|
||||
"StackSize": {
|
||||
"type": "word",
|
||||
"value": 99
|
||||
},
|
||||
"Stolen": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Tag": {
|
||||
"type": "cexostring",
|
||||
"value": "SDBULLET"
|
||||
},
|
||||
"TemplateResRef": {
|
||||
"type": "resref",
|
||||
"value": "sdbullet"
|
||||
},
|
||||
"xModelPart1": {
|
||||
"type": "word",
|
||||
"value": 11
|
||||
}
|
||||
}
|
83
_module/uti/sdsling.uti.json
Normal file
83
_module/uti/sdsling.uti.json
Normal file
@ -0,0 +1,83 @@
|
||||
{
|
||||
"__data_type": "UTI ",
|
||||
"AddCost": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"BaseItem": {
|
||||
"type": "int",
|
||||
"value": 61
|
||||
},
|
||||
"Charges": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "Dummy sling for loot generation system."
|
||||
},
|
||||
"Cost": {
|
||||
"type": "dword",
|
||||
"value": 2
|
||||
},
|
||||
"Cursed": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"DescIdentified": {
|
||||
"type": "cexolocstring",
|
||||
"value": {}
|
||||
},
|
||||
"Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": ""
|
||||
}
|
||||
},
|
||||
"Identified": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"LocalizedName": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Sling"
|
||||
}
|
||||
},
|
||||
"ModelPart1": {
|
||||
"type": "byte",
|
||||
"value": 34
|
||||
},
|
||||
"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": "SDSLING"
|
||||
},
|
||||
"TemplateResRef": {
|
||||
"type": "resref",
|
||||
"value": "sdsling"
|
||||
},
|
||||
"xModelPart1": {
|
||||
"type": "word",
|
||||
"value": 34
|
||||
}
|
||||
}
|
219
_module/utp/loot_generator.utp.json
Normal file
219
_module/utp/loot_generator.utp.json
Normal file
@ -0,0 +1,219 @@
|
||||
{
|
||||
"__data_type": "UTP ",
|
||||
"AnimationState": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Appearance": {
|
||||
"type": "dword",
|
||||
"value": 0
|
||||
},
|
||||
"AutoRemoveKey": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"BodyBag": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"CloseLockDC": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
},
|
||||
"Conversation": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"CurrentHP": {
|
||||
"type": "short",
|
||||
"value": 10
|
||||
},
|
||||
"Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": ""
|
||||
}
|
||||
},
|
||||
"DisarmDC": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Faction": {
|
||||
"type": "dword",
|
||||
"value": 1
|
||||
},
|
||||
"Fort": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"Hardness": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"HasInventory": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"HP": {
|
||||
"type": "short",
|
||||
"value": 10
|
||||
},
|
||||
"Interruptable": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"KeyName": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
},
|
||||
"KeyRequired": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Lockable": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Locked": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"LocName": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "LOOT_GENERATOR"
|
||||
}
|
||||
},
|
||||
"OnClick": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnClosed": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnDamaged": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnDeath": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnDisarm": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnHeartbeat": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnInvDisturbed": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnLock": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnMeleeAttacked": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnOpen": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnSpellCastAt": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnTrapTriggered": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnUnlock": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnUsed": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnUserDefined": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OpenLockDC": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"PaletteID": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Plot": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"PortraitId": {
|
||||
"type": "word",
|
||||
"value": 358
|
||||
},
|
||||
"Ref": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Static": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Tag": {
|
||||
"type": "cexostring",
|
||||
"value": "LOOT_GENERATOR"
|
||||
},
|
||||
"TemplateResRef": {
|
||||
"type": "resref",
|
||||
"value": "loot_generator"
|
||||
},
|
||||
"TrapDetectable": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"TrapDetectDC": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"TrapDisarmable": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"TrapFlag": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"TrapOneShot": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"TrapType": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Type": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Useable": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Will": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
}
|
||||
}
|
219
_module/utp/vfx_plc_fire.utp.json
Normal file
219
_module/utp/vfx_plc_fire.utp.json
Normal file
@ -0,0 +1,219 @@
|
||||
{
|
||||
"__data_type": "UTP ",
|
||||
"AnimationState": {
|
||||
"type": "byte",
|
||||
"value": 4
|
||||
},
|
||||
"Appearance": {
|
||||
"type": "dword",
|
||||
"value": 842
|
||||
},
|
||||
"AutoRemoveKey": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"BodyBag": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"CloseLockDC": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
},
|
||||
"Conversation": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"CurrentHP": {
|
||||
"type": "short",
|
||||
"value": 10
|
||||
},
|
||||
"Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": ""
|
||||
}
|
||||
},
|
||||
"DisarmDC": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Faction": {
|
||||
"type": "dword",
|
||||
"value": 1
|
||||
},
|
||||
"Fort": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"Hardness": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"HasInventory": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"HP": {
|
||||
"type": "short",
|
||||
"value": 10
|
||||
},
|
||||
"Interruptable": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"KeyName": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
},
|
||||
"KeyRequired": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Lockable": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Locked": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"LocName": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Fire"
|
||||
}
|
||||
},
|
||||
"OnClick": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnClosed": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnDamaged": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnDeath": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnDisarm": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnHeartbeat": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnInvDisturbed": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnLock": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnMeleeAttacked": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnOpen": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnSpellCastAt": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnTrapTriggered": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnUnlock": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnUsed": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OnUserDefined": {
|
||||
"type": "resref",
|
||||
"value": ""
|
||||
},
|
||||
"OpenLockDC": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"PaletteID": {
|
||||
"type": "byte",
|
||||
"value": 5
|
||||
},
|
||||
"Plot": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"PortraitId": {
|
||||
"type": "word",
|
||||
"value": 508
|
||||
},
|
||||
"Ref": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Static": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"Tag": {
|
||||
"type": "cexostring",
|
||||
"value": "VFX_PLC_FIRE"
|
||||
},
|
||||
"TemplateResRef": {
|
||||
"type": "resref",
|
||||
"value": "vfx_plc_fire"
|
||||
},
|
||||
"TrapDetectable": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"TrapDetectDC": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"TrapDisarmable": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"TrapFlag": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"TrapOneShot": {
|
||||
"type": "byte",
|
||||
"value": 1
|
||||
},
|
||||
"TrapType": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Type": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Useable": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
},
|
||||
"Will": {
|
||||
"type": "byte",
|
||||
"value": 0
|
||||
}
|
||||
}
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user