diff --git a/_module/are/banditlair.are.json b/_module/are/banditlair.are.json index 168f2e7c..366358fd 100644 --- a/_module/are/banditlair.are.json +++ b/_module/are/banditlair.are.json @@ -2913,7 +2913,7 @@ }, "Version": { "type": "dword", - "value": 6 + "value": 7 }, "Width": { "type": "int", diff --git a/_module/are/banditshack.are.json b/_module/are/banditshack001.are.json similarity index 93% rename from _module/are/banditshack.are.json rename to _module/are/banditshack001.are.json index dcce3aa8..3e229308 100644 --- a/_module/are/banditshack.are.json +++ b/_module/are/banditshack001.are.json @@ -32,6 +32,10 @@ "type": "dword", "value": 1 }, + "FogClipDist": { + "type": "float", + "value": 45.0 + }, "Height": { "type": "int", "value": 2 @@ -112,12 +116,16 @@ }, "ResRef": { "type": "resref", - "value": "banditshack" + "value": "banditshack001" }, "ShadowOpacity": { "type": "byte", "value": 60 }, + "SkyBox": { + "type": "byte", + "value": 0 + }, "SunAmbientColor": { "type": "dword", "value": 0 @@ -165,7 +173,7 @@ }, "Tile_ID": { "type": "int", - "value": 186 + "value": 159 }, "Tile_MainLight1": { "type": "byte", @@ -173,11 +181,11 @@ }, "Tile_MainLight2": { "type": "byte", - "value": 1 + "value": 0 }, "Tile_Orientation": { "type": "int", - "value": 0 + "value": 2 }, "Tile_SrcLight1": { "type": "byte", @@ -208,7 +216,7 @@ }, "Tile_ID": { "type": "int", - "value": 188 + "value": 159 }, "Tile_MainLight1": { "type": "byte", @@ -216,12 +224,55 @@ }, "Tile_MainLight2": { "type": "byte", - "value": 0 + "value": 1 }, "Tile_Orientation": { + "type": "int", + "value": 3 + }, + "Tile_SrcLight1": { + "type": "byte", + "value": 2 + }, + "Tile_SrcLight2": { + "type": "byte", + "value": 2 + } + }, + { + "__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": 0 + }, + "Tile_MainLight2": { + "type": "byte", + "value": 1 + }, + "Tile_Orientation": { + "type": "int", + "value": 1 + }, "Tile_SrcLight1": { "type": "byte", "value": 3 @@ -251,7 +302,7 @@ }, "Tile_ID": { "type": "int", - "value": 183 + "value": 75 }, "Tile_MainLight1": { "type": "byte", @@ -267,61 +318,18 @@ }, "Tile_SrcLight1": { "type": "byte", - "value": 3 + "value": 2 }, "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": 187 - }, - "Tile_MainLight1": { - "type": "byte", - "value": 0 - }, - "Tile_MainLight2": { - "type": "byte", - "value": 1 - }, - "Tile_Orientation": { - "type": "int", - "value": 0 - }, - "Tile_SrcLight1": { - "type": "byte", - "value": 3 - }, - "Tile_SrcLight2": { - "type": "byte", - "value": 3 + "value": 2 } } ] }, "Tileset": { "type": "resref", - "value": "tin01" + "value": "tni01" }, "Version": { "type": "dword", diff --git a/_module/are/blackcoastroad.are.json b/_module/are/blackcoastroad.are.json index cdc358a0..a19ec416 100644 --- a/_module/are/blackcoastroad.are.json +++ b/_module/are/blackcoastroad.are.json @@ -1537,7 +1537,7 @@ }, "Version": { "type": "dword", - "value": 4 + "value": 5 }, "Width": { "type": "int", diff --git a/_module/are/braunton.are.json b/_module/are/braunton.are.json index 77bad1b8..5044d7b8 100644 --- a/_module/are/braunton.are.json +++ b/_module/are/braunton.are.json @@ -34,7 +34,7 @@ }, "FogClipDist": { "type": "float", - "value": 45.0 + "value": 99.0 }, "Height": { "type": "int", @@ -124,7 +124,7 @@ }, "SkyBox": { "type": "byte", - "value": 0 + "value": 66 }, "SunAmbientColor": { "type": "dword", @@ -6353,7 +6353,7 @@ }, "Version": { "type": "dword", - "value": 10 + "value": 11 }, "Width": { "type": "int", diff --git a/_module/are/forestofthefalle.are.json b/_module/are/forestofthefalle.are.json index da965e4b..58c551c4 100644 --- a/_module/are/forestofthefalle.are.json +++ b/_module/are/forestofthefalle.are.json @@ -70,19 +70,19 @@ }, "MoonDiffuseColor": { "type": "dword", - "value": 8421504 + "value": 3026478 }, "MoonFogAmount": { "type": "byte", - "value": 40 + "value": 60 }, "MoonFogColor": { "type": "dword", - "value": 2697513 + "value": 0 }, "MoonShadows": { "type": "byte", - "value": 0 + "value": 1 }, "Name": { "type": "cexolocstring", @@ -128,15 +128,15 @@ }, "SunAmbientColor": { "type": "dword", - "value": 8421504 + "value": 4605510 }, "SunDiffuseColor": { "type": "dword", - "value": 11974326 + "value": 6579300 }, "SunFogAmount": { "type": "byte", - "value": 25 + "value": 35 }, "SunFogColor": { "type": "dword", @@ -144,7 +144,7 @@ }, "SunShadows": { "type": "byte", - "value": 0 + "value": 1 }, "Tag": { "type": "cexostring", @@ -4418,7 +4418,7 @@ }, "Version": { "type": "dword", - "value": 20 + "value": 21 }, "Width": { "type": "int", diff --git a/_module/are/insidethetree.are.json b/_module/are/insidethetree.are.json index e5d3e752..3e839cee 100644 --- a/_module/are/insidethetree.are.json +++ b/_module/are/insidethetree.are.json @@ -70,11 +70,11 @@ }, "MoonDiffuseColor": { "type": "dword", - "value": 8421504 + "value": 2763306 }, "MoonFogAmount": { "type": "byte", - "value": 40 + "value": 60 }, "MoonFogColor": { "type": "dword", @@ -82,7 +82,7 @@ }, "MoonShadows": { "type": "byte", - "value": 0 + "value": 1 }, "Name": { "type": "cexolocstring", @@ -128,15 +128,15 @@ }, "SunAmbientColor": { "type": "dword", - "value": 8421504 + "value": 3881787 }, "SunDiffuseColor": { "type": "dword", - "value": 11974326 + "value": 7368816 }, "SunFogAmount": { "type": "byte", - "value": 15 + "value": 35 }, "SunFogColor": { "type": "dword", @@ -144,7 +144,7 @@ }, "SunShadows": { "type": "byte", - "value": 0 + "value": 1 }, "Tag": { "type": "cexostring", @@ -2065,7 +2065,7 @@ }, "Tile_ID": { "type": "int", - "value": 98 + "value": 136 }, "Tile_MainLight1": { "type": "byte", @@ -2077,7 +2077,7 @@ }, "Tile_Orientation": { "type": "int", - "value": 0 + "value": 1 }, "Tile_SrcLight1": { "type": "byte", @@ -2108,7 +2108,7 @@ }, "Tile_ID": { "type": "int", - "value": 99 + "value": 64 }, "Tile_MainLight1": { "type": "byte", @@ -2120,7 +2120,7 @@ }, "Tile_Orientation": { "type": "int", - "value": 0 + "value": 2 }, "Tile_SrcLight1": { "type": "byte", @@ -2913,7 +2913,7 @@ }, "Version": { "type": "dword", - "value": 30 + "value": 31 }, "Width": { "type": "int", diff --git a/_module/gic/banditshack.gic.json b/_module/gic/banditshack.gic.json deleted file mode 100644 index c10e60f0..00000000 --- a/_module/gic/banditshack.gic.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "__data_type": "GIC ", - "Creature List": { - "type": "list", - "value": [] - }, - "Door List": { - "type": "list", - "value": [ - { - "__struct_id": 8, - "Comment": { - "type": "cexostring", - "value": "Fancy Door" - } - } - ] - }, - "Encounter List": { - "type": "list", - "value": [] - }, - "List": { - "type": "list", - "value": [] - }, - "Placeable List": { - "type": "list", - "value": [ - { - "__struct_id": 9, - "Comment": { - "type": "cexostring", - "value": "Invisible Object\r\n\r\nPLACE THIS ON MAP WITH SPAWN CODES" - } - } - ] - }, - "SoundList": { - "type": "list", - "value": [ - { - "__struct_id": 6, - "Comment": { - "type": "cexostring", - "value": "" - }, - "PlayInToolset": { - "type": "byte", - "value": 1 - } - } - ] - }, - "StoreList": { - "type": "list", - "value": [] - }, - "TriggerList": { - "type": "list", - "value": [] - }, - "WaypointList": { - "type": "list", - "value": [ - { - "__struct_id": 5, - "Comment": { - "type": "cexostring", - "value": "standard spawn daytime only" - } - }, - { - "__struct_id": 5, - "Comment": { - "type": "cexostring", - "value": "standard spawn daytime only" - } - }, - { - "__struct_id": 5, - "Comment": { - "type": "cexostring", - "value": "standard spawn daytime only" - } - }, - { - "__struct_id": 5, - "Comment": { - "type": "cexostring", - "value": "standard spawn code for 1 mob, every 10 mins." - } - } - ] - } -} diff --git a/_module/gic/banditshack001.gic.json b/_module/gic/banditshack001.gic.json new file mode 100644 index 00000000..f934ed9e --- /dev/null +++ b/_module/gic/banditshack001.gic.json @@ -0,0 +1,327 @@ +{ + "__data_type": "GIC ", + "Creature List": { + "type": "list", + "value": [] + }, + "Door List": { + "type": "list", + "value": [ + { + "__struct_id": 8, + "Comment": { + "type": "cexostring", + "value": "Strong Door" + } + } + ] + }, + "Encounter List": { + "type": "list", + "value": [] + }, + "List": { + "type": "list", + "value": [] + }, + "Placeable List": { + "type": "list", + "value": [ + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Woodpile" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Flame - Small" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Flame - Small" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Flame - Medium" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Bed" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Bed" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Table" + } + }, + { + "__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": "Chair" + } + }, + { + "__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": "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": "Invisible Object\r\n\r\nPLACE THIS ON MAP WITH SPAWN CODES" + } + }, + { + "__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": "Rubble (Nature)" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Garbage" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Low treasure script." + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Low treasure script. \r\n\r\nDetection DC: 25\r\nHardness DC: 10" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "Low treasure script. \r\n\r\nDetection DC: 25\r\nHardness DC: 10" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "" + } + }, + { + "__struct_id": 9, + "Comment": { + "type": "cexostring", + "value": "" + } + } + ] + }, + "SoundList": { + "type": "list", + "value": [ + { + "__struct_id": 6, + "Comment": { + "type": "cexostring", + "value": "" + }, + "PlayInToolset": { + "type": "byte", + "value": 1 + } + } + ] + }, + "StoreList": { + "type": "list", + "value": [] + }, + "TriggerList": { + "type": "list", + "value": [] + }, + "WaypointList": { + "type": "list", + "value": [ + { + "__struct_id": 5, + "Comment": { + "type": "cexostring", + "value": "standard spawn daytime only" + } + }, + { + "__struct_id": 5, + "Comment": { + "type": "cexostring", + "value": "standard spawn daytime only" + } + }, + { + "__struct_id": 5, + "Comment": { + "type": "cexostring", + "value": "standard spawn daytime only" + } + }, + { + "__struct_id": 5, + "Comment": { + "type": "cexostring", + "value": "standard spawn code for 1 mob, every 10 mins." + } + } + ] + } +} diff --git a/_module/gic/forestofthefalle.gic.json b/_module/gic/forestofthefalle.gic.json index 1f7b9a40..1532c257 100644 --- a/_module/gic/forestofthefalle.gic.json +++ b/_module/gic/forestofthefalle.gic.json @@ -505,17 +505,6 @@ "value": 1 } }, - { - "__struct_id": 6, - "Comment": { - "type": "cexostring", - "value": "" - }, - "PlayInToolset": { - "type": "byte", - "value": 1 - } - }, { "__struct_id": 6, "Comment": { diff --git a/_module/git/banditlair.git.json b/_module/git/banditlair.git.json index 45399616..654ed678 100644 --- a/_module/git/banditlair.git.json +++ b/_module/git/banditlair.git.json @@ -537,7 +537,7 @@ }, "GenericType_New": { "type": "dword", - "value": 0 + "value": 13 }, "Hardness": { "type": "byte", @@ -561,7 +561,7 @@ }, "LinkedTo": { "type": "cexostring", - "value": "dt_banditshack" + "value": "banditshackinterior" }, "LinkedToFlags": { "type": "byte", @@ -577,7 +577,7 @@ }, "Locked": { "type": "byte", - "value": 1 + "value": 0 }, "LocName": { "id": 5349, @@ -624,7 +624,7 @@ }, "OnOpen": { "type": "resref", - "value": "" + "value": "bb_closedoor" }, "OnSpellCastAt": { "type": "resref", @@ -2114,7 +2114,7 @@ "LocalizedName": { "type": "cexolocstring", "value": { - "0": "SP_SX01R02_PA_GT01_SR02_TM15M_RW40" + "0": "SP_SX01R02_PA_GT01_SR02_TM15M_DS_RT_RW40" } }, "MapNote": { @@ -2175,7 +2175,7 @@ "LocalizedName": { "type": "cexolocstring", "value": { - "0": "SP_SX01R02_PA_GT01_SR02_TM15M_RW40" + "0": "SP_SX01R02_PA_GT01_SR02_TM15M_DS_RT_RW40" } }, "MapNote": { @@ -2236,7 +2236,7 @@ "LocalizedName": { "type": "cexolocstring", "value": { - "0": "SP_SX01R02_PA_GT01_SR02_TM15M_RW40" + "0": "SP_SX01R02_PA_GT01_SR02_TM15M_DS_RT_RW40" } }, "MapNote": { @@ -2297,7 +2297,7 @@ "LocalizedName": { "type": "cexolocstring", "value": { - "0": "SP_SX01R02_PA_GT01_SR02_TM15M_RW40" + "0": "SP_SX01R02_PA_GT01_SR02_TM15M_DS_RT_RW40" } }, "MapNote": { @@ -2358,7 +2358,7 @@ "LocalizedName": { "type": "cexolocstring", "value": { - "0": "SP_SX01R02_PA_GT01_SR02_TM15M_RW40" + "0": "SP_SX01R02_PA_GT01_SR02_TM15M_DS_RT_RW40" } }, "MapNote": { @@ -2419,7 +2419,7 @@ "LocalizedName": { "type": "cexolocstring", "value": { - "0": "SP_SX01R02_PA_GT01_SR02_TM15M_RW40" + "0": "SP_SX01R02_PA_GT01_SR02_TM15M_DS_RT_RW40" } }, "MapNote": { diff --git a/_module/git/banditshack.git.json b/_module/git/banditshack.git.json deleted file mode 100644 index cf0ff6b6..00000000 --- a/_module/git/banditshack.git.json +++ /dev/null @@ -1,904 +0,0 @@ -{ - "__data_type": "GIT ", - "AreaProperties": { - "__struct_id": 100, - "type": "struct", - "value": { - "__struct_id": 100, - "AmbientSndDay": { - "type": "int", - "value": 73 - }, - "AmbientSndDayVol": { - "type": "int", - "value": 32 - }, - "AmbientSndNight": { - "type": "int", - "value": 74 - }, - "AmbientSndNitVol": { - "type": "int", - "value": 32 - }, - "EnvAudio": { - "type": "int", - "value": 0 - }, - "MusicBattle": { - "type": "int", - "value": 40 - }, - "MusicDay": { - "type": "int", - "value": 15 - }, - "MusicDelay": { - "type": "int", - "value": 10000 - }, - "MusicNight": { - "type": "int", - "value": 16 - } - } - }, - "Creature List": { - "type": "list", - "value": [] - }, - "Door List": { - "type": "list", - "value": [ - { - "__struct_id": 8, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 0 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -1.570794224739075 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "id": 9077, - "type": "cexolocstring", - "value": { - "0": "Etched and oiled, the carvings on this door lend depth to its prominent woodgrain." - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "GenericType_New": { - "type": "dword", - "value": 1 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HP": { - "type": "short", - "value": 15 - }, - "Interruptable": { - "type": "byte", - "value": 1 - }, - "KeyName": { - "type": "cexostring", - "value": "" - }, - "KeyRequired": { - "type": "byte", - "value": 0 - }, - "LinkedTo": { - "type": "cexostring", - "value": "dt_bandithq" - }, - "LinkedToFlags": { - "type": "byte", - "value": 1 - }, - "LoadScreenID": { - "type": "word", - "value": 62 - }, - "Lockable": { - "type": "byte", - "value": 0 - }, - "Locked": { - "type": "byte", - "value": 0 - }, - "LocName": { - "id": 5349, - "type": "cexolocstring", - "value": { - "0": "Door" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnFailToOpen": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "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": "" - }, - "OnUserDefined": { - "type": "resref", - "value": "" - }, - "OpenLockDC": { - "type": "byte", - "value": 18 - }, - "Plot": { - "type": "byte", - "value": 1 - }, - "PortraitId": { - "type": "word", - "value": 0 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "dt_banditshack" - }, - "TemplateResRef": { - "type": "resref", - "value": "nw_door_fancy" - }, - "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 - }, - "Will": { - "type": "byte", - "value": 0 - }, - "X": { - "type": "float", - "value": 17.69000053405762 - }, - "Y": { - "type": "float", - "value": 6.199999809265137 - }, - "Z": { - "type": "float", - "value": -0.009999999776482582 - } - } - ] - }, - "Encounter List": { - "type": "list", - "value": [] - }, - "List": { - "type": "list", - "value": [] - }, - "Placeable List": { - "type": "list", - "value": [ - { - "__struct_id": 9, - "AnimationState": { - "type": "byte", - "value": 0 - }, - "Appearance": { - "type": "dword", - "value": 157 - }, - "AutoRemoveKey": { - "type": "byte", - "value": 0 - }, - "Bearing": { - "type": "float", - "value": -1.865317821502686 - }, - "BodyBag": { - "type": "byte", - "value": 0 - }, - "CloseLockDC": { - "type": "byte", - "value": 0 - }, - "Conversation": { - "type": "resref", - "value": "" - }, - "CurrentHP": { - "type": "short", - "value": 15 - }, - "Description": { - "id": 14662, - "type": "cexolocstring", - "value": { - "0": "You look about you, suspicious, but see nothing." - } - }, - "DisarmDC": { - "type": "byte", - "value": 15 - }, - "Faction": { - "type": "dword", - "value": 1 - }, - "Fort": { - "type": "byte", - "value": 16 - }, - "Hardness": { - "type": "byte", - "value": 5 - }, - "HasInventory": { - "type": "byte", - "value": 0 - }, - "HP": { - "type": "short", - "value": 15 - }, - "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": { - "id": 5800, - "type": "cexolocstring", - "value": { - "0": "Area Spawner" - } - }, - "OnClick": { - "type": "resref", - "value": "" - }, - "OnClosed": { - "type": "resref", - "value": "" - }, - "OnDamaged": { - "type": "resref", - "value": "" - }, - "OnDeath": { - "type": "resref", - "value": "" - }, - "OnDisarm": { - "type": "resref", - "value": "" - }, - "OnHeartbeat": { - "type": "resref", - "value": "area_spawner" - }, - "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": 18 - }, - "Plot": { - "type": "byte", - "value": 0 - }, - "PortraitId": { - "type": "word", - "value": 515 - }, - "Ref": { - "type": "byte", - "value": 0 - }, - "Static": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "spawner" - }, - "TemplateResRef": { - "type": "resref", - "value": "area_spawner" - }, - "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 - }, - "X": { - "type": "float", - "value": 9.378561973571777 - }, - "Y": { - "type": "float", - "value": 9.723509788513184 - }, - "Z": { - "type": "float", - "value": 9.5367431640625e-006 - } - } - ] - }, - "SoundList": { - "type": "list", - "value": [ - { - "__struct_id": 6, - "Active": { - "type": "byte", - "value": 1 - }, - "Continuous": { - "type": "byte", - "value": 0 - }, - "Elevation": { - "type": "float", - "value": 1.5 - }, - "GeneratedType": { - "type": "dword", - "value": 0 - }, - "Hours": { - "type": "dword", - "value": 0 - }, - "Interval": { - "type": "dword", - "value": 0 - }, - "IntervalVrtn": { - "type": "dword", - "value": 0 - }, - "LocName": { - "id": 67856, - "type": "cexolocstring", - "value": { - "0": "Fireplace" - } - }, - "Looping": { - "type": "byte", - "value": 1 - }, - "MaxDistance": { - "type": "float", - "value": 5.0 - }, - "MinDistance": { - "type": "float", - "value": 0.5 - }, - "PitchVariation": { - "type": "float", - "value": 0.0 - }, - "Positional": { - "type": "byte", - "value": 1 - }, - "Priority": { - "type": "byte", - "value": 3 - }, - "Random": { - "type": "byte", - "value": 0 - }, - "RandomPosition": { - "type": "byte", - "value": 0 - }, - "RandomRangeX": { - "type": "float", - "value": 0.0 - }, - "RandomRangeY": { - "type": "float", - "value": 0.0 - }, - "Sounds": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Sound": { - "type": "resref", - "value": "al_cv_fireplace1" - } - } - ] - }, - "Tag": { - "type": "cexostring", - "value": "Fireplace" - }, - "TemplateResRef": { - "type": "resref", - "value": "fireplace" - }, - "Times": { - "type": "byte", - "value": 3 - }, - "Volume": { - "type": "byte", - "value": 127 - }, - "VolumeVrtn": { - "type": "byte", - "value": 0 - }, - "XPosition": { - "type": "float", - "value": 16.00377464294434 - }, - "YPosition": { - "type": "float", - "value": 13.91680335998535 - }, - "ZPosition": { - "type": "float", - "value": 1.500009536743164 - } - } - ] - }, - "StoreList": { - "type": "list", - "value": [] - }, - "TriggerList": { - "type": "list", - "value": [] - }, - "WaypointList": { - "type": "list", - "value": [ - { - "__struct_id": 5, - "Appearance": { - "type": "byte", - "value": 2 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "HasMapNote": { - "type": "byte", - "value": 0 - }, - "LinkedTo": { - "type": "cexostring", - "value": "" - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "0": "SP_SX01_PA_DT_TM10M_RT_DS" - } - }, - "MapNote": { - "type": "cexolocstring", - "value": {} - }, - "MapNoteEnabled": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "hillbandits" - }, - "TemplateResRef": { - "type": "resref", - "value": "sp_sx01_pa_dt_tm" - }, - "XOrientation": { - "type": "float", - "value": 0.9569412469863892 - }, - "XPosition": { - "type": "float", - "value": 9.858800888061523 - }, - "YOrientation": { - "type": "float", - "value": -0.2902816534042358 - }, - "YPosition": { - "type": "float", - "value": 4.203172206878662 - }, - "ZPosition": { - "type": "float", - "value": 9.5367431640625e-006 - } - }, - { - "__struct_id": 5, - "Appearance": { - "type": "byte", - "value": 2 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "HasMapNote": { - "type": "byte", - "value": 0 - }, - "LinkedTo": { - "type": "cexostring", - "value": "" - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "0": "SP_SX01_PA_DT_TM10M_RT_DS" - } - }, - "MapNote": { - "type": "cexolocstring", - "value": {} - }, - "MapNoteEnabled": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "hillbandits1" - }, - "TemplateResRef": { - "type": "resref", - "value": "sp_sx01_pa_dt_tm" - }, - "XOrientation": { - "type": "float", - "value": 0.9569412469863892 - }, - "XPosition": { - "type": "float", - "value": 4.168200016021729 - }, - "YOrientation": { - "type": "float", - "value": -0.2902816534042358 - }, - "YPosition": { - "type": "float", - "value": 11.97018241882324 - }, - "ZPosition": { - "type": "float", - "value": 0.001347184181213379 - } - }, - { - "__struct_id": 5, - "Appearance": { - "type": "byte", - "value": 2 - }, - "Description": { - "type": "cexolocstring", - "value": {} - }, - "HasMapNote": { - "type": "byte", - "value": 0 - }, - "LinkedTo": { - "type": "cexostring", - "value": "" - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "0": "SP_SX01_PA_DT_TM10M_RT_DS" - } - }, - "MapNote": { - "type": "cexolocstring", - "value": {} - }, - "MapNoteEnabled": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "hillbandits2" - }, - "TemplateResRef": { - "type": "resref", - "value": "sp_sx01_pa_dt_tm" - }, - "XOrientation": { - "type": "float", - "value": 0.9569412469863892 - }, - "XPosition": { - "type": "float", - "value": 8.618020057678223 - }, - "YOrientation": { - "type": "float", - "value": -0.2902816534042358 - }, - "YPosition": { - "type": "float", - "value": 15.8795166015625 - }, - "ZPosition": { - "type": "float", - "value": 0.001347184181213379 - } - }, - { - "__struct_id": 5, - "Appearance": { - "type": "byte", - "value": 2 - }, - "Description": { - "type": "cexolocstring", - "value": { - "0": "" - } - }, - "HasMapNote": { - "type": "byte", - "value": 0 - }, - "LinkedTo": { - "type": "cexostring", - "value": "" - }, - "LocalizedName": { - "type": "cexolocstring", - "value": { - "0": "SP_SX01_PA_TM20M_RT_DS" - } - }, - "MapNote": { - "type": "cexolocstring", - "value": {} - }, - "MapNoteEnabled": { - "type": "byte", - "value": 0 - }, - "Tag": { - "type": "cexostring", - "value": "banditpriest" - }, - "TemplateResRef": { - "type": "resref", - "value": "sp_sx01_pa_tm10m" - }, - "XOrientation": { - "type": "float", - "value": -1.0 - }, - "XPosition": { - "type": "float", - "value": 14.25944423675537 - }, - "YOrientation": { - "type": "float", - "value": 2.102055759678478e-006 - }, - "YPosition": { - "type": "float", - "value": 11.6427116394043 - }, - "ZPosition": { - "type": "float", - "value": 9.5367431640625e-006 - } - } - ] - } -} diff --git a/_module/git/banditshack001.git.json b/_module/git/banditshack001.git.json new file mode 100644 index 00000000..0320cd22 --- /dev/null +++ b/_module/git/banditshack001.git.json @@ -0,0 +1,8337 @@ +{ + "__data_type": "GIT ", + "AreaProperties": { + "__struct_id": 100, + "type": "struct", + "value": { + "__struct_id": 100, + "AmbientSndDay": { + "type": "int", + "value": 0 + }, + "AmbientSndDayVol": { + "type": "int", + "value": 32 + }, + "AmbientSndNight": { + "type": "int", + "value": 0 + }, + "AmbientSndNitVol": { + "type": "int", + "value": 32 + }, + "EnvAudio": { + "type": "int", + "value": 0 + }, + "MusicBattle": { + "type": "int", + "value": 35 + }, + "MusicDay": { + "type": "int", + "value": 15 + }, + "MusicDelay": { + "type": "int", + "value": 90000 + }, + "MusicNight": { + "type": "int", + "value": 16 + } + } + }, + "Creature List": { + "type": "list", + "value": [] + }, + "Door List": { + "type": "list", + "value": [ + { + "__struct_id": 8, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 0 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -1.570796251296997 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 9078, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "GenericType_New": { + "type": "dword", + "value": 13 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HP": { + "type": "short", + "value": 15 + }, + "Interruptable": { + "type": "byte", + "value": 1 + }, + "KeyName": { + "type": "cexostring", + "value": "" + }, + "KeyRequired": { + "type": "byte", + "value": 0 + }, + "LinkedTo": { + "type": "cexostring", + "value": "dt_bandithq" + }, + "LinkedToFlags": { + "type": "byte", + "value": 1 + }, + "LoadScreenID": { + "type": "word", + "value": 0 + }, + "Lockable": { + "type": "byte", + "value": 0 + }, + "Locked": { + "type": "byte", + "value": 0 + }, + "LocName": { + "id": 5349, + "type": "cexolocstring", + "value": { + "0": "bandit shack interior" + } + }, + "OnClick": { + "type": "resref", + "value": "" + }, + "OnClosed": { + "type": "resref", + "value": "" + }, + "OnDamaged": { + "type": "resref", + "value": "" + }, + "OnDeath": { + "type": "resref", + "value": "x2_door_death" + }, + "OnDisarm": { + "type": "resref", + "value": "" + }, + "OnFailToOpen": { + "type": "resref", + "value": "" + }, + "OnHeartbeat": { + "type": "resref", + "value": "" + }, + "OnLock": { + "type": "resref", + "value": "" + }, + "OnMeleeAttacked": { + "type": "resref", + "value": "" + }, + "OnOpen": { + "type": "resref", + "value": "bb_closedoor" + }, + "OnSpellCastAt": { + "type": "resref", + "value": "" + }, + "OnTrapTriggered": { + "type": "resref", + "value": "" + }, + "OnUnlock": { + "type": "resref", + "value": "" + }, + "OnUserDefined": { + "type": "resref", + "value": "" + }, + "OpenLockDC": { + "type": "byte", + "value": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 0 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "banditshackinterior" + }, + "TemplateResRef": { + "type": "resref", + "value": "x3_door_wood002" + }, + "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 + }, + "Will": { + "type": "byte", + "value": 0 + }, + "X": { + "type": "float", + "value": 20.0 + }, + "Y": { + "type": "float", + "value": 15.0 + }, + "Z": { + "type": "float", + "value": 0.0 + } + } + ] + }, + "Encounter List": { + "type": "list", + "value": [] + }, + "List": { + "type": "list", + "value": [] + }, + "Placeable List": { + "type": "list", + "value": [ + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 15044 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 1.570796251296997 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 10 + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "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": "Fireplace - Grey Brick" + } + }, + "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": 0 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "tm_pl_fireplace2" + }, + "TemplateResRef": { + "type": "resref", + "value": "tm_pl_fireplace2" + }, + "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 + }, + "X": { + "type": "float", + "value": 3.0 + }, + "Y": { + "type": "float", + "value": 10.0 + }, + "Z": { + "type": "float", + "value": 0.0 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 108 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -0.07330399751663208 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14758, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 5751, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 466 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "Woodpile" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_woodpile" + }, + "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 + }, + "X": { + "type": "float", + "value": 2.049999952316284 + }, + "Y": { + "type": "float", + "value": 10.07999992370606 + }, + "Z": { + "type": "float", + "value": -0.1000000014901161 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 151 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -0.7853981852531433 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14627, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 14625, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 509 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "Flame - Small" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_flamesmall" + }, + "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 + }, + "X": { + "type": "float", + "value": 2.230000019073486 + }, + "Y": { + "type": "float", + "value": 9.979999542236328 + }, + "Z": { + "type": "float", + "value": 0.2000000029802322 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 151 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -1.178097009658814 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14627, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 14625, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 509 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "Flame - Small" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_flamesmall" + }, + "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 + }, + "X": { + "type": "float", + "value": 2.289999961853027 + }, + "Y": { + "type": "float", + "value": 9.659999847412109 + }, + "Z": { + "type": "float", + "value": 0.2099999934434891 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 150 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 2.158972024917603 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14626, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 14625, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 508 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "Flame - Medium" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_flamemedium" + }, + "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 + }, + "X": { + "type": "float", + "value": 2.190000057220459 + }, + "Y": { + "type": "float", + "value": 10.13000011444092 + }, + "Z": { + "type": "float", + "value": 0.2300000041723251 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 419 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 1.570796251296997 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 83412, + "type": "cexolocstring", + "value": {} + }, + "OnClick": { + "type": "resref", + "value": "" + }, + "OnClosed": { + "type": "resref", + "value": "" + }, + "OnDamaged": { + "type": "resref", + "value": "" + }, + "OnDeath": { + "type": "resref", + "value": "x2_o2_dead" + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 902 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "X2_PLC_BUNKBED" + }, + "TemplateResRef": { + "type": "resref", + "value": "x2_plc_bunkbed" + }, + "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 + }, + "X": { + "type": "float", + "value": 10.26000022888184 + }, + "Y": { + "type": "float", + "value": 18.1200008392334 + }, + "Z": { + "type": "float", + "value": 0.0 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 419 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -1.570796251296997 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 83412, + "type": "cexolocstring", + "value": {} + }, + "OnClick": { + "type": "resref", + "value": "" + }, + "OnClosed": { + "type": "resref", + "value": "" + }, + "OnDamaged": { + "type": "resref", + "value": "" + }, + "OnDeath": { + "type": "resref", + "value": "x2_o2_dead" + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 902 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "X2_PLC_BUNKBED" + }, + "TemplateResRef": { + "type": "resref", + "value": "x2_plc_bunkbed" + }, + "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 + }, + "X": { + "type": "float", + "value": 10.08625602722168 + }, + "Y": { + "type": "float", + "value": 2.178042888641357 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 732 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 1.570796251296997 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14739, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 111255, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 1173 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "x3_plc_table002" + }, + "TemplateResRef": { + "type": "resref", + "value": "x3_plc_table002" + }, + "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 + }, + "X": { + "type": "float", + "value": 10.05000019073486 + }, + "Y": { + "type": "float", + "value": 10.1899995803833 + }, + "Z": { + "type": "float", + "value": 0.0 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 179 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 1.684242606163025 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14593, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 5822, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 537 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "Chair" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_chair" + }, + "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 + }, + "X": { + "type": "float", + "value": 8.346964836120606 + }, + "Y": { + "type": "float", + "value": 8.538987159729004 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 179 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 1.801179647445679 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14593, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 5822, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 537 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "Chair" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_chair" + }, + "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 + }, + "X": { + "type": "float", + "value": 8.309988021850586 + }, + "Y": { + "type": "float", + "value": 11.41013336181641 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 179 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -1.923352837562561 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14593, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 5822, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 537 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "Chair" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_chair" + }, + "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 + }, + "X": { + "type": "float", + "value": 11.70131683349609 + }, + "Y": { + "type": "float", + "value": 8.682348251342773 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 179 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -1.240929365158081 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14593, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 5822, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 537 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "Chair" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_chair" + }, + "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 + }, + "X": { + "type": "float", + "value": 11.57078838348389 + }, + "Y": { + "type": "float", + "value": 11.41844654083252 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 179 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 0.1413716673851013 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14593, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 5822, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 537 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "Chair" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_chair" + }, + "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 + }, + "X": { + "type": "float", + "value": 9.930000305175781 + }, + "Y": { + "type": "float", + "value": 13.27999973297119 + }, + "Z": { + "type": "float", + "value": 0.0 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 179 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 2.98974871635437 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14593, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 5822, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 537 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "Chair" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_chair" + }, + "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 + }, + "X": { + "type": "float", + "value": 9.960000038146973 + }, + "Y": { + "type": "float", + "value": 6.800000190734863 + }, + "Z": { + "type": "float", + "value": 0.0 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 179 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 1.240928888320923 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14593, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 5822, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 537 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "Chair" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_chair" + }, + "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 + }, + "X": { + "type": "float", + "value": 8.180000305175781 + }, + "Y": { + "type": "float", + "value": 9.779999732971191 + }, + "Z": { + "type": "float", + "value": 0.0 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 179 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -1.354375600814819 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14593, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 5822, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 537 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "Chair" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_chair" + }, + "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 + }, + "X": { + "type": "float", + "value": 11.72000312805176 + }, + "Y": { + "type": "float", + "value": 9.979324340820313 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 15210 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 1.767145752906799 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 10 + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "Coarse and durable, this wooden tankard is the epitome of the song-waving and toast-knocking flagon found in most rougher drinking establishments." + } + }, + "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": "Tankard - Wood, Empty" + } + }, + "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": 0 + }, + "PortraitId": { + "type": "word", + "value": 15070 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "tm_pl_tnkrdwdmt" + }, + "TemplateResRef": { + "type": "resref", + "value": "tm_pl_tnkrdwdmt" + }, + "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 + }, + "X": { + "type": "float", + "value": 9.553544044494629 + }, + "Y": { + "type": "float", + "value": 8.237146377563477 + }, + "Z": { + "type": "float", + "value": 0.8984383940696716 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 15210 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -0.5890485644340515 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 10 + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "Coarse and durable, this wooden tankard is the epitome of the song-waving and toast-knocking flagon found in most rougher drinking establishments." + } + }, + "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": "Tankard - Wood, Empty" + } + }, + "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": 0 + }, + "PortraitId": { + "type": "word", + "value": 15070 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "tm_pl_tnkrdwdmt" + }, + "TemplateResRef": { + "type": "resref", + "value": "tm_pl_tnkrdwdmt" + }, + "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 + }, + "X": { + "type": "float", + "value": 9.454482078552246 + }, + "Y": { + "type": "float", + "value": 9.165860176086426 + }, + "Z": { + "type": "float", + "value": 0.898438036441803 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 15210 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -1.963495254516602 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 10 + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "Coarse and durable, this wooden tankard is the epitome of the song-waving and toast-knocking flagon found in most rougher drinking establishments." + } + }, + "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": "Tankard - Wood, Empty" + } + }, + "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": 0 + }, + "PortraitId": { + "type": "word", + "value": 15070 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "tm_pl_tnkrdwdmt" + }, + "TemplateResRef": { + "type": "resref", + "value": "tm_pl_tnkrdwdmt" + }, + "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 + }, + "X": { + "type": "float", + "value": 10.5070219039917 + }, + "Y": { + "type": "float", + "value": 9.624025344848633 + }, + "Z": { + "type": "float", + "value": 0.8984376788139343 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 15210 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -0.1963495314121246 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 10 + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "Coarse and durable, this wooden tankard is the epitome of the song-waving and toast-knocking flagon found in most rougher drinking establishments." + } + }, + "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": "Tankard - Wood, Empty" + } + }, + "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": 0 + }, + "PortraitId": { + "type": "word", + "value": 15070 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "tm_pl_tnkrdwdmt" + }, + "TemplateResRef": { + "type": "resref", + "value": "tm_pl_tnkrdwdmt" + }, + "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 + }, + "X": { + "type": "float", + "value": 9.652606010437012 + }, + "Y": { + "type": "float", + "value": 10.6765661239624 + }, + "Z": { + "type": "float", + "value": 0.8984377980232239 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 15210 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 1.178097248077393 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 10 + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "Coarse and durable, this wooden tankard is the epitome of the song-waving and toast-knocking flagon found in most rougher drinking establishments." + } + }, + "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": "Tankard - Wood, Empty" + } + }, + "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": 0 + }, + "PortraitId": { + "type": "word", + "value": 15070 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "tm_pl_tnkrdwdmt" + }, + "TemplateResRef": { + "type": "resref", + "value": "tm_pl_tnkrdwdmt" + }, + "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 + }, + "X": { + "type": "float", + "value": 10.3088960647583 + }, + "Y": { + "type": "float", + "value": 12.16250514984131 + }, + "Z": { + "type": "float", + "value": 0.8984379172325134 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 157 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -1.865317702293396 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14662, + "type": "cexolocstring", + "value": { + "0": "You look about you, suspicious, but see nothing." + } + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 5800, + "type": "cexolocstring", + "value": { + "0": "Area Spawner" + } + }, + "OnClick": { + "type": "resref", + "value": "" + }, + "OnClosed": { + "type": "resref", + "value": "" + }, + "OnDamaged": { + "type": "resref", + "value": "" + }, + "OnDeath": { + "type": "resref", + "value": "" + }, + "OnDisarm": { + "type": "resref", + "value": "" + }, + "OnHeartbeat": { + "type": "resref", + "value": "area_spawner" + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 515 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "spawner" + }, + "TemplateResRef": { + "type": "resref", + "value": "area_spawner" + }, + "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 + }, + "X": { + "type": "float", + "value": 5.124807834625244 + }, + "Y": { + "type": "float", + "value": 3.560610055923462 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 15075 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -2.945242881774902 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 10 + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "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": "Floor Soot 3" + } + }, + "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": 0 + }, + "PortraitId": { + "type": "word", + "value": 0 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "tm_pl_flrsoot3" + }, + "TemplateResRef": { + "type": "resref", + "value": "tm_pl_flrsoot3" + }, + "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 + }, + "X": { + "type": "float", + "value": 3.843327045440674 + }, + "Y": { + "type": "float", + "value": 9.533514976501465 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 360 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 2.109652346243355e-028 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 10 + }, + "Description": { + "id": 110876, + "type": "cexolocstring", + "value": {} + }, + "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": { + "id": 110843, + "type": "cexolocstring", + "value": {} + }, + "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": 0 + }, + "PortraitId": { + "type": "word", + "value": 847 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "nw_plc_ropecoil1" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_plc_ropecoil1" + }, + "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 + }, + "X": { + "type": "float", + "value": 2.581766843795776 + }, + "Y": { + "type": "float", + "value": 3.377415657043457 + }, + "Z": { + "type": "float", + "value": 8.940696716308594e-008 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 361 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -0.0 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 10 + }, + "Description": { + "id": 110877, + "type": "cexolocstring", + "value": {} + }, + "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": { + "id": 110843, + "type": "cexolocstring", + "value": {} + }, + "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": 0 + }, + "PortraitId": { + "type": "word", + "value": 848 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "nw_plc_ropecoil2" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_plc_ropecoil2" + }, + "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 + }, + "X": { + "type": "float", + "value": 3.173466444015503 + }, + "Y": { + "type": "float", + "value": 16.29189872741699 + }, + "Z": { + "type": "float", + "value": -3.874301910400391e-007 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 174 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -1.767145752906799 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14707, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "Interruptable": { + "type": "byte", + "value": 0 + }, + "KeyName": { + "type": "cexostring", + "value": "" + }, + "KeyRequired": { + "type": "byte", + "value": 0 + }, + "Lockable": { + "type": "byte", + "value": 0 + }, + "Locked": { + "type": "byte", + "value": 0 + }, + "LocName": { + "id": 68810, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 532 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "NW_PL_RUBBLE001" + }, + "TemplateResRef": { + "type": "resref", + "value": "nw_pl_rubble001" + }, + "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 + }, + "X": { + "type": "float", + "value": 15.57161521911621 + }, + "Y": { + "type": "float", + "value": 4.151959419250488 + }, + "Z": { + "type": "float", + "value": 0.01499808859080076 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 156 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 2.356194257736206 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14645, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 0 + }, + "HP": { + "type": "short", + "value": 15 + }, + "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": { + "id": 5799, + "type": "cexolocstring", + "value": {} + }, + "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": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 514 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "Garbage" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_garbage" + }, + "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 + }, + "X": { + "type": "float", + "value": 16.82260322570801 + }, + "Y": { + "type": "float", + "value": 4.620755672454834 + }, + "Z": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 15030 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": -0.981747567653656 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 10 + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "This crate lies half-smashed in planks and splinters, and is now quite empty." + } + }, + "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": "Crate - Broken" + } + }, + "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": 0 + }, + "PortraitId": { + "type": "word", + "value": 15076 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 1 + }, + "Tag": { + "type": "cexostring", + "value": "tm_pl_brokecrate" + }, + "TemplateResRef": { + "type": "resref", + "value": "tm_pl_brokecrate" + }, + "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 + }, + "X": { + "type": "float", + "value": 3.096288681030273 + }, + "Y": { + "type": "float", + "value": 6.31018590927124 + }, + "Z": { + "type": "float", + "value": 5.662441253662109e-007 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 49 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 1.507964491844177 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14555, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 5 + }, + "HasInventory": { + "type": "byte", + "value": 1 + }, + "HP": { + "type": "short", + "value": 15 + }, + "Interruptable": { + "type": "byte", + "value": 0 + }, + "KeyName": { + "type": "cexostring", + "value": "" + }, + "KeyRequired": { + "type": "byte", + "value": 0 + }, + "Lockable": { + "type": "byte", + "value": 0 + }, + "Locked": { + "type": "byte", + "value": 0 + }, + "LocName": { + "id": 5691, + "type": "cexolocstring", + "value": {} + }, + "OnClick": { + "type": "resref", + "value": "" + }, + "OnClosed": { + "type": "resref", + "value": "" + }, + "OnDamaged": { + "type": "resref", + "value": "" + }, + "OnDeath": { + "type": "resref", + "value": "nw_o2_generallow" + }, + "OnDisarm": { + "type": "resref", + "value": "" + }, + "OnHeartbeat": { + "type": "resref", + "value": "" + }, + "OnInvDisturbed": { + "type": "resref", + "value": "" + }, + "OnLock": { + "type": "resref", + "value": "" + }, + "OnMeleeAttacked": { + "type": "resref", + "value": "" + }, + "OnOpen": { + "type": "resref", + "value": "nw_o2_generallow" + }, + "OnSpellCastAt": { + "type": "resref", + "value": "" + }, + "OnTrapTriggered": { + "type": "resref", + "value": "" + }, + "OnUnlock": { + "type": "resref", + "value": "" + }, + "OnUsed": { + "type": "resref", + "value": "" + }, + "OnUserDefined": { + "type": "resref", + "value": "" + }, + "OpenLockDC": { + "type": "byte", + "value": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 407 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "Barrel" + }, + "TemplateResRef": { + "type": "resref", + "value": "plc_barrel" + }, + "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 + }, + "X": { + "type": "float", + "value": 17.76000022888184 + }, + "Y": { + "type": "float", + "value": 11.47999954223633 + }, + "Z": { + "type": "float", + "value": 0.0 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 49 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 1.815142154693604 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14555, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 10 + }, + "HasInventory": { + "type": "byte", + "value": 1 + }, + "HP": { + "type": "short", + "value": 15 + }, + "Interruptable": { + "type": "byte", + "value": 0 + }, + "KeyName": { + "type": "cexostring", + "value": "" + }, + "KeyRequired": { + "type": "byte", + "value": 0 + }, + "Lockable": { + "type": "byte", + "value": 0 + }, + "Locked": { + "type": "byte", + "value": 0 + }, + "LocName": { + "id": 5691, + "type": "cexolocstring", + "value": {} + }, + "OnClick": { + "type": "resref", + "value": "" + }, + "OnClosed": { + "type": "resref", + "value": "" + }, + "OnDamaged": { + "type": "resref", + "value": "" + }, + "OnDeath": { + "type": "resref", + "value": "x2_02_low" + }, + "OnDisarm": { + "type": "resref", + "value": "" + }, + "OnHeartbeat": { + "type": "resref", + "value": "" + }, + "OnInvDisturbed": { + "type": "resref", + "value": "" + }, + "OnLock": { + "type": "resref", + "value": "" + }, + "OnMeleeAttacked": { + "type": "resref", + "value": "" + }, + "OnOpen": { + "type": "resref", + "value": "x2_02_low" + }, + "OnSpellCastAt": { + "type": "resref", + "value": "" + }, + "OnTrapTriggered": { + "type": "resref", + "value": "" + }, + "OnUnlock": { + "type": "resref", + "value": "" + }, + "OnUsed": { + "type": "resref", + "value": "" + }, + "OnUserDefined": { + "type": "resref", + "value": "" + }, + "OpenLockDC": { + "type": "byte", + "value": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 407 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "x2_easy_Barrel" + }, + "TemplateResRef": { + "type": "resref", + "value": "x2_easy_barrel" + }, + "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 + }, + "X": { + "type": "float", + "value": 17.76000022888184 + }, + "Y": { + "type": "float", + "value": 10.4399995803833 + }, + "Z": { + "type": "float", + "value": 0.0 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 0 + }, + "Appearance": { + "type": "dword", + "value": 49 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 1.729621171951294 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 15 + }, + "Description": { + "id": 14555, + "type": "cexolocstring", + "value": {} + }, + "DisarmDC": { + "type": "byte", + "value": 15 + }, + "Faction": { + "type": "dword", + "value": 1 + }, + "Fort": { + "type": "byte", + "value": 16 + }, + "Hardness": { + "type": "byte", + "value": 10 + }, + "HasInventory": { + "type": "byte", + "value": 1 + }, + "HP": { + "type": "short", + "value": 15 + }, + "Interruptable": { + "type": "byte", + "value": 0 + }, + "KeyName": { + "type": "cexostring", + "value": "" + }, + "KeyRequired": { + "type": "byte", + "value": 0 + }, + "Lockable": { + "type": "byte", + "value": 0 + }, + "Locked": { + "type": "byte", + "value": 0 + }, + "LocName": { + "id": 5691, + "type": "cexolocstring", + "value": {} + }, + "OnClick": { + "type": "resref", + "value": "" + }, + "OnClosed": { + "type": "resref", + "value": "" + }, + "OnDamaged": { + "type": "resref", + "value": "" + }, + "OnDeath": { + "type": "resref", + "value": "x2_02_low" + }, + "OnDisarm": { + "type": "resref", + "value": "" + }, + "OnHeartbeat": { + "type": "resref", + "value": "" + }, + "OnInvDisturbed": { + "type": "resref", + "value": "" + }, + "OnLock": { + "type": "resref", + "value": "" + }, + "OnMeleeAttacked": { + "type": "resref", + "value": "" + }, + "OnOpen": { + "type": "resref", + "value": "x2_02_low" + }, + "OnSpellCastAt": { + "type": "resref", + "value": "" + }, + "OnTrapTriggered": { + "type": "resref", + "value": "" + }, + "OnUnlock": { + "type": "resref", + "value": "" + }, + "OnUsed": { + "type": "resref", + "value": "" + }, + "OnUserDefined": { + "type": "resref", + "value": "" + }, + "OpenLockDC": { + "type": "byte", + "value": 18 + }, + "Plot": { + "type": "byte", + "value": 0 + }, + "PortraitId": { + "type": "word", + "value": 407 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "x2_easy_Barrel" + }, + "TemplateResRef": { + "type": "resref", + "value": "x2_easy_barrel" + }, + "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 + }, + "X": { + "type": "float", + "value": 17.86000061035156 + }, + "Y": { + "type": "float", + "value": 9.25 + }, + "Z": { + "type": "float", + "value": 0.0 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 4 + }, + "Appearance": { + "type": "dword", + "value": 15401 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 1.963495254516602 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 10 + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "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": "Candle 01 (Ambient)" + } + }, + "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": 0 + }, + "PortraitId": { + "type": "word", + "value": 15208 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "tm_pl_candle01" + }, + "TemplateResRef": { + "type": "resref", + "value": "tm_pl_candle01" + }, + "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 + }, + "X": { + "type": "float", + "value": 10.06104755401611 + }, + "Y": { + "type": "float", + "value": 8.384968757629395 + }, + "Z": { + "type": "float", + "value": 0.898438036441803 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 4 + }, + "Appearance": { + "type": "dword", + "value": 15401 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 2.552543878555298 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 10 + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "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": "Candle 01 (Ambient)" + } + }, + "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": 0 + }, + "PortraitId": { + "type": "word", + "value": 15208 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "tm_pl_candle01" + }, + "TemplateResRef": { + "type": "resref", + "value": "tm_pl_candle01" + }, + "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 + }, + "X": { + "type": "float", + "value": 10.31298351287842 + }, + "Y": { + "type": "float", + "value": 9.637739181518555 + }, + "Z": { + "type": "float", + "value": 1.3984375 + } + }, + { + "__struct_id": 9, + "AnimationState": { + "type": "byte", + "value": 4 + }, + "Appearance": { + "type": "dword", + "value": 15401 + }, + "AutoRemoveKey": { + "type": "byte", + "value": 0 + }, + "Bearing": { + "type": "float", + "value": 0.7853981852531433 + }, + "BodyBag": { + "type": "byte", + "value": 0 + }, + "CloseLockDC": { + "type": "byte", + "value": 0 + }, + "Conversation": { + "type": "resref", + "value": "" + }, + "CurrentHP": { + "type": "short", + "value": 10 + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "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": "Candle 01 (Ambient)" + } + }, + "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": 0 + }, + "PortraitId": { + "type": "word", + "value": 15208 + }, + "Ref": { + "type": "byte", + "value": 0 + }, + "Static": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "tm_pl_candle01" + }, + "TemplateResRef": { + "type": "resref", + "value": "tm_pl_candle01" + }, + "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 + }, + "X": { + "type": "float", + "value": 10.07556247711182 + }, + "Y": { + "type": "float", + "value": 11.82832431793213 + }, + "Z": { + "type": "float", + "value": 0.8984379172325134 + } + } + ] + }, + "SoundList": { + "type": "list", + "value": [ + { + "__struct_id": 6, + "Active": { + "type": "byte", + "value": 1 + }, + "Continuous": { + "type": "byte", + "value": 0 + }, + "Elevation": { + "type": "float", + "value": 1.5 + }, + "GeneratedType": { + "type": "dword", + "value": 0 + }, + "Hours": { + "type": "dword", + "value": 0 + }, + "Interval": { + "type": "dword", + "value": 0 + }, + "IntervalVrtn": { + "type": "dword", + "value": 0 + }, + "LocName": { + "id": 67856, + "type": "cexolocstring", + "value": { + "0": "Fireplace" + } + }, + "Looping": { + "type": "byte", + "value": 1 + }, + "MaxDistance": { + "type": "float", + "value": 5.0 + }, + "MinDistance": { + "type": "float", + "value": 0.5 + }, + "PitchVariation": { + "type": "float", + "value": 0.0 + }, + "Positional": { + "type": "byte", + "value": 1 + }, + "Priority": { + "type": "byte", + "value": 3 + }, + "Random": { + "type": "byte", + "value": 0 + }, + "RandomPosition": { + "type": "byte", + "value": 0 + }, + "RandomRangeX": { + "type": "float", + "value": 0.0 + }, + "RandomRangeY": { + "type": "float", + "value": 0.0 + }, + "Sounds": { + "type": "list", + "value": [ + { + "__struct_id": 0, + "Sound": { + "type": "resref", + "value": "al_cv_fireplace1" + } + } + ] + }, + "Tag": { + "type": "cexostring", + "value": "Fireplace" + }, + "TemplateResRef": { + "type": "resref", + "value": "fireplace" + }, + "Times": { + "type": "byte", + "value": 3 + }, + "Volume": { + "type": "byte", + "value": 106 + }, + "VolumeVrtn": { + "type": "byte", + "value": 0 + }, + "XPosition": { + "type": "float", + "value": 2.634413003921509 + }, + "YPosition": { + "type": "float", + "value": 9.818328857421875 + }, + "ZPosition": { + "type": "float", + "value": 1.499994277954102 + } + } + ] + }, + "StoreList": { + "type": "list", + "value": [] + }, + "TriggerList": { + "type": "list", + "value": [] + }, + "WaypointList": { + "type": "list", + "value": [ + { + "__struct_id": 5, + "Appearance": { + "type": "byte", + "value": 2 + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "HasMapNote": { + "type": "byte", + "value": 0 + }, + "LinkedTo": { + "type": "cexostring", + "value": "" + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "SP_SX01_PA_GT01_SR02_TM15M_DS_RT" + } + }, + "MapNote": { + "type": "cexolocstring", + "value": {} + }, + "MapNoteEnabled": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "hillbandits" + }, + "TemplateResRef": { + "type": "resref", + "value": "sp_sx01_pa_dt_tm" + }, + "XOrientation": { + "type": "float", + "value": -0.9852776527404785 + }, + "XPosition": { + "type": "float", + "value": 4.193871974945068 + }, + "YOrientation": { + "type": "float", + "value": 0.1709619760513306 + }, + "YPosition": { + "type": "float", + "value": 8.661053657531738 + }, + "ZPosition": { + "type": "float", + "value": 7.62939453125e-006 + } + }, + { + "__struct_id": 5, + "Appearance": { + "type": "byte", + "value": 2 + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "HasMapNote": { + "type": "byte", + "value": 0 + }, + "LinkedTo": { + "type": "cexostring", + "value": "" + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "SP_SX01_PA_GT01_SR02_TM15M_DS_RT" + } + }, + "MapNote": { + "type": "cexolocstring", + "value": {} + }, + "MapNoteEnabled": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "hillbandits1" + }, + "TemplateResRef": { + "type": "resref", + "value": "sp_sx01_pa_dt_tm" + }, + "XOrientation": { + "type": "float", + "value": -0.9637760519981384 + }, + "XPosition": { + "type": "float", + "value": 4.389113903045654 + }, + "YOrientation": { + "type": "float", + "value": -0.2667127251625061 + }, + "YPosition": { + "type": "float", + "value": 11.61314582824707 + }, + "ZPosition": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 5, + "Appearance": { + "type": "byte", + "value": 2 + }, + "Description": { + "type": "cexolocstring", + "value": {} + }, + "HasMapNote": { + "type": "byte", + "value": 0 + }, + "LinkedTo": { + "type": "cexostring", + "value": "" + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "SP_SX01_PA_GT01_SR02_TM15M_DS_RT" + } + }, + "MapNote": { + "type": "cexolocstring", + "value": {} + }, + "MapNoteEnabled": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "hillbandits2" + }, + "TemplateResRef": { + "type": "resref", + "value": "sp_sx01_pa_dt_tm" + }, + "XOrientation": { + "type": "float", + "value": 0.6715589761734009 + }, + "XPosition": { + "type": "float", + "value": 7.749680995941162 + }, + "YOrientation": { + "type": "float", + "value": 0.7409511208534241 + }, + "YPosition": { + "type": "float", + "value": 3.629395484924316 + }, + "ZPosition": { + "type": "float", + "value": -5.7220458984375e-006 + } + }, + { + "__struct_id": 5, + "Appearance": { + "type": "byte", + "value": 2 + }, + "Description": { + "type": "cexolocstring", + "value": { + "0": "" + } + }, + "HasMapNote": { + "type": "byte", + "value": 0 + }, + "LinkedTo": { + "type": "cexostring", + "value": "" + }, + "LocalizedName": { + "type": "cexolocstring", + "value": { + "0": "SP_SX01_PA_GT01_TM25M_DS_RT" + } + }, + "MapNote": { + "type": "cexolocstring", + "value": {} + }, + "MapNoteEnabled": { + "type": "byte", + "value": 0 + }, + "Tag": { + "type": "cexostring", + "value": "banditpriest" + }, + "TemplateResRef": { + "type": "resref", + "value": "sp_sx01_pa_tm10m" + }, + "XOrientation": { + "type": "float", + "value": 0.07356492429971695 + }, + "XPosition": { + "type": "float", + "value": 11.13350582122803 + }, + "YOrientation": { + "type": "float", + "value": -0.9972904324531555 + }, + "YPosition": { + "type": "float", + "value": 16.23403549194336 + }, + "ZPosition": { + "type": "float", + "value": -5.7220458984375e-006 + } + } + ] + } +} diff --git a/_module/git/blackcoastroad.git.json b/_module/git/blackcoastroad.git.json index 614fb595..8900ada9 100644 --- a/_module/git/blackcoastroad.git.json +++ b/_module/git/blackcoastroad.git.json @@ -1714,11 +1714,11 @@ }, "Interval": { "type": "dword", - "value": 25000 + "value": 1200 }, "IntervalVrtn": { "type": "dword", - "value": 5000 + "value": 1000 }, "LocName": { "id": 68040, @@ -1759,11 +1759,11 @@ }, "RandomRangeX": { "type": "float", - "value": 10.0 + "value": 6.0 }, "RandomRangeY": { "type": "float", - "value": 10.0 + "value": 8.0 }, "Sounds": { "type": "list", diff --git a/_module/git/forestofthefalle.git.json b/_module/git/forestofthefalle.git.json index 5368783f..da878d99 100644 --- a/_module/git/forestofthefalle.git.json +++ b/_module/git/forestofthefalle.git.json @@ -11199,128 +11199,6 @@ "value": 1.5 } }, - { - "__struct_id": 6, - "Active": { - "type": "byte", - "value": 1 - }, - "Continuous": { - "type": "byte", - "value": 1 - }, - "Elevation": { - "type": "float", - "value": 1.5 - }, - "GeneratedType": { - "type": "dword", - "value": 0 - }, - "Hours": { - "type": "dword", - "value": 0 - }, - "Interval": { - "type": "dword", - "value": 2000 - }, - "IntervalVrtn": { - "type": "dword", - "value": 5000 - }, - "LocName": { - "id": 68030, - "type": "cexolocstring", - "value": { - "0": "Wind Gust Chasm" - } - }, - "Looping": { - "type": "byte", - "value": 0 - }, - "MaxDistance": { - "type": "float", - "value": 10.0 - }, - "MinDistance": { - "type": "float", - "value": 1.0 - }, - "PitchVariation": { - "type": "float", - "value": 0.6600000262260437 - }, - "Positional": { - "type": "byte", - "value": 0 - }, - "Priority": { - "type": "byte", - "value": 19 - }, - "Random": { - "type": "byte", - "value": 0 - }, - "RandomPosition": { - "type": "byte", - "value": 0 - }, - "RandomRangeX": { - "type": "float", - "value": 0.0 - }, - "RandomRangeY": { - "type": "float", - "value": 0.0 - }, - "Sounds": { - "type": "list", - "value": [ - { - "__struct_id": 0, - "Sound": { - "type": "resref", - "value": "as_wt_gustchasm1" - } - } - ] - }, - "Tag": { - "type": "cexostring", - "value": "WindGustChasm" - }, - "TemplateResRef": { - "type": "resref", - "value": "windgustchasm" - }, - "Times": { - "type": "byte", - "value": 3 - }, - "Volume": { - "type": "byte", - "value": 96 - }, - "VolumeVrtn": { - "type": "byte", - "value": 90 - }, - "XPosition": { - "type": "float", - "value": 12.87047004699707 - }, - "YPosition": { - "type": "float", - "value": 27.70335006713867 - }, - "ZPosition": { - "type": "float", - "value": 1.504548907279968 - } - }, { "__struct_id": 6, "Active": { diff --git a/_module/git/insidethetree.git.json b/_module/git/insidethetree.git.json index e77c8940..51037570 100644 --- a/_module/git/insidethetree.git.json +++ b/_module/git/insidethetree.git.json @@ -3484,7 +3484,7 @@ }, "Bearing": { "type": "float", - "value": -1.570794224739075 + "value": 0.0 }, "CloseLockDC": { "type": "byte", @@ -3516,7 +3516,7 @@ }, "GenericType_New": { "type": "dword", - "value": 0 + "value": 3050 }, "Hardness": { "type": "byte", @@ -3674,15 +3674,15 @@ }, "X": { "type": "float", - "value": 46.63000106811523 + "value": 44.90000152587891 }, "Y": { "type": "float", - "value": 55.09000015258789 + "value": 53.38000106811523 }, "Z": { "type": "float", - "value": -0.8500000238418579 + "value": 0.0 } } ] diff --git a/_module/ifo/module.ifo.json b/_module/ifo/module.ifo.json index 411137e2..167fbf35 100644 --- a/_module/ifo/module.ifo.json +++ b/_module/ifo/module.ifo.json @@ -3066,13 +3066,6 @@ "value": "banditlair" } }, - { - "__struct_id": 6, - "Area_Name": { - "type": "resref", - "value": "banditshack" - } - }, { "__struct_id": 6, "Area_Name": { @@ -4381,6 +4374,13 @@ "type": "resref", "value": "forge" } + }, + { + "__struct_id": 6, + "Area_Name": { + "type": "resref", + "value": "banditshack001" + } } ] }, diff --git a/_module/ncs/createlongbow.ncs b/_module/ncs/createlongbow.ncs index b825f96d..55a84cbb 100644 Binary files a/_module/ncs/createlongbow.ncs and b/_module/ncs/createlongbow.ncs differ diff --git a/_module/ncs/enter_message3.ncs b/_module/ncs/enter_message3.ncs index 20c65ee6..0243f36d 100644 Binary files a/_module/ncs/enter_message3.ncs and b/_module/ncs/enter_message3.ncs differ diff --git a/_module/ncs/nw_s1_aurablnda.ncs b/_module/ncs/nw_s1_aurablnda.ncs new file mode 100644 index 00000000..d0724951 Binary files /dev/null and b/_module/ncs/nw_s1_aurablnda.ncs differ diff --git a/_module/ncs/nw_s1_auracoldc.ncs b/_module/ncs/nw_s1_auracoldc.ncs new file mode 100644 index 00000000..86315279 Binary files /dev/null and b/_module/ncs/nw_s1_auracoldc.ncs differ diff --git a/_module/ncs/nw_s1_auraelecc.ncs b/_module/ncs/nw_s1_auraelecc.ncs new file mode 100644 index 00000000..42bdbe95 Binary files /dev/null and b/_module/ncs/nw_s1_auraelecc.ncs differ diff --git a/_module/ncs/nw_s1_aurafirec.ncs b/_module/ncs/nw_s1_aurafirec.ncs new file mode 100644 index 00000000..77f3e6c3 Binary files /dev/null and b/_module/ncs/nw_s1_aurafirec.ncs differ diff --git a/_module/ncs/nw_s1_auramenca.ncs b/_module/ncs/nw_s1_auramenca.ncs new file mode 100644 index 00000000..9ffa8ee0 Binary files /dev/null and b/_module/ncs/nw_s1_auramenca.ncs differ diff --git a/_module/ncs/nw_s1_auraprota.ncs b/_module/ncs/nw_s1_auraprota.ncs new file mode 100644 index 00000000..468539b7 Binary files /dev/null and b/_module/ncs/nw_s1_auraprota.ncs differ diff --git a/_module/ncs/nw_s1_aurastuna.ncs b/_module/ncs/nw_s1_aurastuna.ncs new file mode 100644 index 00000000..6710ed26 Binary files /dev/null and b/_module/ncs/nw_s1_aurastuna.ncs differ diff --git a/_module/ncs/nw_s1_auraunata.ncs b/_module/ncs/nw_s1_auraunata.ncs new file mode 100644 index 00000000..adac269e Binary files /dev/null and b/_module/ncs/nw_s1_auraunata.ncs differ diff --git a/_module/ncs/nw_s1_aurauneaa.ncs b/_module/ncs/nw_s1_aurauneaa.ncs new file mode 100644 index 00000000..d0ae8f3b Binary files /dev/null and b/_module/ncs/nw_s1_aurauneaa.ncs differ diff --git a/_module/ncs/nw_s1_bltacid.ncs b/_module/ncs/nw_s1_bltacid.ncs new file mode 100644 index 00000000..2c5f9772 Binary files /dev/null and b/_module/ncs/nw_s1_bltacid.ncs differ diff --git a/_module/ncs/nw_s1_bltcharm.ncs b/_module/ncs/nw_s1_bltcharm.ncs new file mode 100644 index 00000000..15e2f88c Binary files /dev/null and b/_module/ncs/nw_s1_bltcharm.ncs differ diff --git a/_module/ncs/nw_s1_bltchrdr.ncs b/_module/ncs/nw_s1_bltchrdr.ncs new file mode 100644 index 00000000..ba5088f7 Binary files /dev/null and b/_module/ncs/nw_s1_bltchrdr.ncs differ diff --git a/_module/ncs/nw_s1_bltcold.ncs b/_module/ncs/nw_s1_bltcold.ncs new file mode 100644 index 00000000..65c18b44 Binary files /dev/null and b/_module/ncs/nw_s1_bltcold.ncs differ diff --git a/_module/ncs/nw_s1_bltcondr.ncs b/_module/ncs/nw_s1_bltcondr.ncs new file mode 100644 index 00000000..fc489eb4 Binary files /dev/null and b/_module/ncs/nw_s1_bltcondr.ncs differ diff --git a/_module/ncs/nw_s1_bltconf.ncs b/_module/ncs/nw_s1_bltconf.ncs new file mode 100644 index 00000000..393d3e17 Binary files /dev/null and b/_module/ncs/nw_s1_bltconf.ncs differ diff --git a/_module/ncs/nw_s1_bltdaze.ncs b/_module/ncs/nw_s1_bltdaze.ncs new file mode 100644 index 00000000..84410e13 Binary files /dev/null and b/_module/ncs/nw_s1_bltdaze.ncs differ diff --git a/_module/ncs/nw_s1_bltdeath.ncs b/_module/ncs/nw_s1_bltdeath.ncs new file mode 100644 index 00000000..ee8ad28a Binary files /dev/null and b/_module/ncs/nw_s1_bltdeath.ncs differ diff --git a/_module/ncs/nw_s1_bltdexdr.ncs b/_module/ncs/nw_s1_bltdexdr.ncs new file mode 100644 index 00000000..320571a0 Binary files /dev/null and b/_module/ncs/nw_s1_bltdexdr.ncs differ diff --git a/_module/ncs/nw_s1_bltdisese.ncs b/_module/ncs/nw_s1_bltdisese.ncs new file mode 100644 index 00000000..5540adce Binary files /dev/null and b/_module/ncs/nw_s1_bltdisese.ncs differ diff --git a/_module/ncs/nw_s1_bltdomn.ncs b/_module/ncs/nw_s1_bltdomn.ncs new file mode 100644 index 00000000..3798c891 Binary files /dev/null and b/_module/ncs/nw_s1_bltdomn.ncs differ diff --git a/_module/ncs/nw_s1_bltfire.ncs b/_module/ncs/nw_s1_bltfire.ncs new file mode 100644 index 00000000..94914546 Binary files /dev/null and b/_module/ncs/nw_s1_bltfire.ncs differ diff --git a/_module/ncs/nw_s1_bltintdr.ncs b/_module/ncs/nw_s1_bltintdr.ncs new file mode 100644 index 00000000..e1853804 Binary files /dev/null and b/_module/ncs/nw_s1_bltintdr.ncs differ diff --git a/_module/ncs/nw_s1_bltknckd.ncs b/_module/ncs/nw_s1_bltknckd.ncs new file mode 100644 index 00000000..5e6d411c Binary files /dev/null and b/_module/ncs/nw_s1_bltknckd.ncs differ diff --git a/_module/ncs/nw_s1_bltlightn.ncs b/_module/ncs/nw_s1_bltlightn.ncs new file mode 100644 index 00000000..022d8709 Binary files /dev/null and b/_module/ncs/nw_s1_bltlightn.ncs differ diff --git a/_module/ncs/nw_s1_bltlvldr.ncs b/_module/ncs/nw_s1_bltlvldr.ncs new file mode 100644 index 00000000..f82d2911 Binary files /dev/null and b/_module/ncs/nw_s1_bltlvldr.ncs differ diff --git a/_module/ncs/nw_s1_bltparal.ncs b/_module/ncs/nw_s1_bltparal.ncs new file mode 100644 index 00000000..e5229f26 Binary files /dev/null and b/_module/ncs/nw_s1_bltparal.ncs differ diff --git a/_module/ncs/nw_s1_bltpoison.ncs b/_module/ncs/nw_s1_bltpoison.ncs new file mode 100644 index 00000000..38439919 Binary files /dev/null and b/_module/ncs/nw_s1_bltpoison.ncs differ diff --git a/_module/ncs/nw_s1_bltshards.ncs b/_module/ncs/nw_s1_bltshards.ncs new file mode 100644 index 00000000..37746037 Binary files /dev/null and b/_module/ncs/nw_s1_bltshards.ncs differ diff --git a/_module/ncs/nw_s1_bltslow.ncs b/_module/ncs/nw_s1_bltslow.ncs new file mode 100644 index 00000000..12ffa8e8 Binary files /dev/null and b/_module/ncs/nw_s1_bltslow.ncs differ diff --git a/_module/ncs/nw_s1_bltstrdr.ncs b/_module/ncs/nw_s1_bltstrdr.ncs new file mode 100644 index 00000000..a79d28da Binary files /dev/null and b/_module/ncs/nw_s1_bltstrdr.ncs differ diff --git a/_module/ncs/nw_s1_bltstun.ncs b/_module/ncs/nw_s1_bltstun.ncs new file mode 100644 index 00000000..21db221b Binary files /dev/null and b/_module/ncs/nw_s1_bltstun.ncs differ diff --git a/_module/ncs/nw_s1_bltweb.ncs b/_module/ncs/nw_s1_bltweb.ncs new file mode 100644 index 00000000..42bed50b Binary files /dev/null and b/_module/ncs/nw_s1_bltweb.ncs differ diff --git a/_module/ncs/nw_s1_bltwisdr.ncs b/_module/ncs/nw_s1_bltwisdr.ncs new file mode 100644 index 00000000..ded49261 Binary files /dev/null and b/_module/ncs/nw_s1_bltwisdr.ncs differ diff --git a/_module/ncs/nw_s1_coneacid.ncs b/_module/ncs/nw_s1_coneacid.ncs new file mode 100644 index 00000000..2a7bdf38 Binary files /dev/null and b/_module/ncs/nw_s1_coneacid.ncs differ diff --git a/_module/ncs/nw_s1_conecold.ncs b/_module/ncs/nw_s1_conecold.ncs new file mode 100644 index 00000000..d0c3e0e2 Binary files /dev/null and b/_module/ncs/nw_s1_conecold.ncs differ diff --git a/_module/ncs/nw_s1_conedisea.ncs b/_module/ncs/nw_s1_conedisea.ncs new file mode 100644 index 00000000..c97a585d Binary files /dev/null and b/_module/ncs/nw_s1_conedisea.ncs differ diff --git a/_module/ncs/nw_s1_coneelec.ncs b/_module/ncs/nw_s1_coneelec.ncs new file mode 100644 index 00000000..84f5b5cc Binary files /dev/null and b/_module/ncs/nw_s1_coneelec.ncs differ diff --git a/_module/ncs/nw_s1_conesonic.ncs b/_module/ncs/nw_s1_conesonic.ncs new file mode 100644 index 00000000..83e041d4 Binary files /dev/null and b/_module/ncs/nw_s1_conesonic.ncs differ diff --git a/_module/ncs/nw_s1_dragfear.ncs b/_module/ncs/nw_s1_dragfear.ncs new file mode 100644 index 00000000..f5e87c6a Binary files /dev/null and b/_module/ncs/nw_s1_dragfear.ncs differ diff --git a/_module/ncs/nw_s1_dragfeara.ncs b/_module/ncs/nw_s1_dragfeara.ncs new file mode 100644 index 00000000..810924b6 Binary files /dev/null and b/_module/ncs/nw_s1_dragfeara.ncs differ diff --git a/_module/ncs/nw_s1_feroc3.ncs b/_module/ncs/nw_s1_feroc3.ncs new file mode 100644 index 00000000..25681cda Binary files /dev/null and b/_module/ncs/nw_s1_feroc3.ncs differ diff --git a/_module/ncs/nw_s1_gazechaos.ncs b/_module/ncs/nw_s1_gazechaos.ncs new file mode 100644 index 00000000..a882311f Binary files /dev/null and b/_module/ncs/nw_s1_gazechaos.ncs differ diff --git a/_module/ncs/nw_s1_gazecharm.ncs b/_module/ncs/nw_s1_gazecharm.ncs new file mode 100644 index 00000000..a71d2741 Binary files /dev/null and b/_module/ncs/nw_s1_gazecharm.ncs differ diff --git a/_module/ncs/nw_s1_gazeconfu.ncs b/_module/ncs/nw_s1_gazeconfu.ncs new file mode 100644 index 00000000..c6ff90b9 Binary files /dev/null and b/_module/ncs/nw_s1_gazeconfu.ncs differ diff --git a/_module/ncs/nw_s1_gazedaze.ncs b/_module/ncs/nw_s1_gazedaze.ncs new file mode 100644 index 00000000..9706a1d2 Binary files /dev/null and b/_module/ncs/nw_s1_gazedaze.ncs differ diff --git a/_module/ncs/nw_s1_gazedeath.ncs b/_module/ncs/nw_s1_gazedeath.ncs new file mode 100644 index 00000000..aad794c1 Binary files /dev/null and b/_module/ncs/nw_s1_gazedeath.ncs differ diff --git a/_module/ncs/nw_s1_gazedomn.ncs b/_module/ncs/nw_s1_gazedomn.ncs new file mode 100644 index 00000000..f6e12e43 Binary files /dev/null and b/_module/ncs/nw_s1_gazedomn.ncs differ diff --git a/_module/ncs/nw_s1_gazedoom.ncs b/_module/ncs/nw_s1_gazedoom.ncs new file mode 100644 index 00000000..d2ce7860 Binary files /dev/null and b/_module/ncs/nw_s1_gazedoom.ncs differ diff --git a/_module/ncs/nw_s1_gazeevil.ncs b/_module/ncs/nw_s1_gazeevil.ncs new file mode 100644 index 00000000..45d0e5ea Binary files /dev/null and b/_module/ncs/nw_s1_gazeevil.ncs differ diff --git a/_module/ncs/nw_s1_gazefear.ncs b/_module/ncs/nw_s1_gazefear.ncs new file mode 100644 index 00000000..e28c865b Binary files /dev/null and b/_module/ncs/nw_s1_gazefear.ncs differ diff --git a/_module/ncs/nw_s1_gazegood.ncs b/_module/ncs/nw_s1_gazegood.ncs new file mode 100644 index 00000000..f956a449 Binary files /dev/null and b/_module/ncs/nw_s1_gazegood.ncs differ diff --git a/_module/ncs/nw_s1_gazelaw.ncs b/_module/ncs/nw_s1_gazelaw.ncs new file mode 100644 index 00000000..bf1a83a7 Binary files /dev/null and b/_module/ncs/nw_s1_gazelaw.ncs differ diff --git a/_module/ncs/nw_s1_gazestun.ncs b/_module/ncs/nw_s1_gazestun.ncs new file mode 100644 index 00000000..4ae84c60 Binary files /dev/null and b/_module/ncs/nw_s1_gazestun.ncs differ diff --git a/_module/ncs/nw_s1_golemgas.ncs b/_module/ncs/nw_s1_golemgas.ncs new file mode 100644 index 00000000..5d6dbb86 Binary files /dev/null and b/_module/ncs/nw_s1_golemgas.ncs differ diff --git a/_module/ncs/nw_s1_hndbreath.ncs b/_module/ncs/nw_s1_hndbreath.ncs new file mode 100644 index 00000000..d4712b84 Binary files /dev/null and b/_module/ncs/nw_s1_hndbreath.ncs differ diff --git a/_module/ncs/nw_s1_howlconf.ncs b/_module/ncs/nw_s1_howlconf.ncs new file mode 100644 index 00000000..2b29884e Binary files /dev/null and b/_module/ncs/nw_s1_howlconf.ncs differ diff --git a/_module/ncs/nw_s1_howldaze.ncs b/_module/ncs/nw_s1_howldaze.ncs new file mode 100644 index 00000000..360193d4 Binary files /dev/null and b/_module/ncs/nw_s1_howldaze.ncs differ diff --git a/_module/ncs/nw_s1_howldeath.ncs b/_module/ncs/nw_s1_howldeath.ncs new file mode 100644 index 00000000..10ae3c6a Binary files /dev/null and b/_module/ncs/nw_s1_howldeath.ncs differ diff --git a/_module/ncs/nw_s1_howlfear.ncs b/_module/ncs/nw_s1_howlfear.ncs new file mode 100644 index 00000000..35b5d88e Binary files /dev/null and b/_module/ncs/nw_s1_howlfear.ncs differ diff --git a/_module/ncs/nw_s1_howlparal.ncs b/_module/ncs/nw_s1_howlparal.ncs new file mode 100644 index 00000000..27f33d9b Binary files /dev/null and b/_module/ncs/nw_s1_howlparal.ncs differ diff --git a/_module/ncs/nw_s1_howlsonic.ncs b/_module/ncs/nw_s1_howlsonic.ncs new file mode 100644 index 00000000..69714568 Binary files /dev/null and b/_module/ncs/nw_s1_howlsonic.ncs differ diff --git a/_module/ncs/nw_s1_howlstun.ncs b/_module/ncs/nw_s1_howlstun.ncs new file mode 100644 index 00000000..cae87497 Binary files /dev/null and b/_module/ncs/nw_s1_howlstun.ncs differ diff --git a/_module/ncs/nw_s1_krenscare.ncs b/_module/ncs/nw_s1_krenscare.ncs new file mode 100644 index 00000000..9846d70f Binary files /dev/null and b/_module/ncs/nw_s1_krenscare.ncs differ diff --git a/_module/ncs/nw_s1_mephsalt.ncs b/_module/ncs/nw_s1_mephsalt.ncs new file mode 100644 index 00000000..f9e0f1f6 Binary files /dev/null and b/_module/ncs/nw_s1_mephsalt.ncs differ diff --git a/_module/ncs/nw_s1_mephsteam.ncs b/_module/ncs/nw_s1_mephsteam.ncs new file mode 100644 index 00000000..edb3afbd Binary files /dev/null and b/_module/ncs/nw_s1_mephsteam.ncs differ diff --git a/_module/ncs/nw_s1_mumundead.ncs b/_module/ncs/nw_s1_mumundead.ncs new file mode 100644 index 00000000..6897b909 Binary files /dev/null and b/_module/ncs/nw_s1_mumundead.ncs differ diff --git a/_module/ncs/nw_s1_pulschrdr.ncs b/_module/ncs/nw_s1_pulschrdr.ncs new file mode 100644 index 00000000..ce2188a8 Binary files /dev/null and b/_module/ncs/nw_s1_pulschrdr.ncs differ diff --git a/_module/ncs/nw_s1_pulscold.ncs b/_module/ncs/nw_s1_pulscold.ncs new file mode 100644 index 00000000..5cbf34e7 Binary files /dev/null and b/_module/ncs/nw_s1_pulscold.ncs differ diff --git a/_module/ncs/nw_s1_pulscondr.ncs b/_module/ncs/nw_s1_pulscondr.ncs new file mode 100644 index 00000000..74ea0478 Binary files /dev/null and b/_module/ncs/nw_s1_pulscondr.ncs differ diff --git a/_module/ncs/nw_s1_pulsdeath.ncs b/_module/ncs/nw_s1_pulsdeath.ncs new file mode 100644 index 00000000..3e89bc83 Binary files /dev/null and b/_module/ncs/nw_s1_pulsdeath.ncs differ diff --git a/_module/ncs/nw_s1_pulsdexdr.ncs b/_module/ncs/nw_s1_pulsdexdr.ncs new file mode 100644 index 00000000..07952fc7 Binary files /dev/null and b/_module/ncs/nw_s1_pulsdexdr.ncs differ diff --git a/_module/ncs/nw_s1_pulsdis.ncs b/_module/ncs/nw_s1_pulsdis.ncs new file mode 100644 index 00000000..9fd0a3e8 Binary files /dev/null and b/_module/ncs/nw_s1_pulsdis.ncs differ diff --git a/_module/ncs/nw_s1_pulselec.ncs b/_module/ncs/nw_s1_pulselec.ncs new file mode 100644 index 00000000..2c33421d Binary files /dev/null and b/_module/ncs/nw_s1_pulselec.ncs differ diff --git a/_module/ncs/nw_s1_pulsfire.ncs b/_module/ncs/nw_s1_pulsfire.ncs new file mode 100644 index 00000000..2237ac7a Binary files /dev/null and b/_module/ncs/nw_s1_pulsfire.ncs differ diff --git a/_module/ncs/nw_s1_pulsholy.ncs b/_module/ncs/nw_s1_pulsholy.ncs new file mode 100644 index 00000000..b7e8e12f Binary files /dev/null and b/_module/ncs/nw_s1_pulsholy.ncs differ diff --git a/_module/ncs/nw_s1_pulsintdr.ncs b/_module/ncs/nw_s1_pulsintdr.ncs new file mode 100644 index 00000000..cdb75258 Binary files /dev/null and b/_module/ncs/nw_s1_pulsintdr.ncs differ diff --git a/_module/ncs/nw_s1_pulslvldr.ncs b/_module/ncs/nw_s1_pulslvldr.ncs new file mode 100644 index 00000000..1aee6262 Binary files /dev/null and b/_module/ncs/nw_s1_pulslvldr.ncs differ diff --git a/_module/ncs/nw_s1_pulsneg.ncs b/_module/ncs/nw_s1_pulsneg.ncs new file mode 100644 index 00000000..dda43b8b Binary files /dev/null and b/_module/ncs/nw_s1_pulsneg.ncs differ diff --git a/_module/ncs/nw_s1_pulspois.ncs b/_module/ncs/nw_s1_pulspois.ncs new file mode 100644 index 00000000..a416e79a Binary files /dev/null and b/_module/ncs/nw_s1_pulspois.ncs differ diff --git a/_module/ncs/nw_s1_pulsspore.ncs b/_module/ncs/nw_s1_pulsspore.ncs new file mode 100644 index 00000000..723d8559 Binary files /dev/null and b/_module/ncs/nw_s1_pulsspore.ncs differ diff --git a/_module/ncs/nw_s1_pulsstrdr.ncs b/_module/ncs/nw_s1_pulsstrdr.ncs new file mode 100644 index 00000000..1ae14105 Binary files /dev/null and b/_module/ncs/nw_s1_pulsstrdr.ncs differ diff --git a/_module/ncs/nw_s1_pulswind.ncs b/_module/ncs/nw_s1_pulswind.ncs new file mode 100644 index 00000000..4597f06d Binary files /dev/null and b/_module/ncs/nw_s1_pulswind.ncs differ diff --git a/_module/ncs/nw_s1_pulswisdr.ncs b/_module/ncs/nw_s1_pulswisdr.ncs new file mode 100644 index 00000000..52c263c0 Binary files /dev/null and b/_module/ncs/nw_s1_pulswisdr.ncs differ diff --git a/_module/ncs/nw_s1_smokeclaw.ncs b/_module/ncs/nw_s1_smokeclaw.ncs new file mode 100644 index 00000000..f6e3f0f3 Binary files /dev/null and b/_module/ncs/nw_s1_smokeclaw.ncs differ diff --git a/_module/ncs/nw_s1_stink_a.ncs b/_module/ncs/nw_s1_stink_a.ncs new file mode 100644 index 00000000..1141d7fe Binary files /dev/null and b/_module/ncs/nw_s1_stink_a.ncs differ diff --git a/_module/ncs/nw_s1_tyrantfga.ncs b/_module/ncs/nw_s1_tyrantfga.ncs new file mode 100644 index 00000000..af54a6e1 Binary files /dev/null and b/_module/ncs/nw_s1_tyrantfga.ncs differ diff --git a/_module/ncs/nw_s1_tyrantfog.ncs b/_module/ncs/nw_s1_tyrantfog.ncs new file mode 100644 index 00000000..609cad3b Binary files /dev/null and b/_module/ncs/nw_s1_tyrantfog.ncs differ diff --git a/_module/ncs/nw_s2_divprot.ncs b/_module/ncs/nw_s2_divprot.ncs new file mode 100644 index 00000000..1af20701 Binary files /dev/null and b/_module/ncs/nw_s2_divprot.ncs differ diff --git a/_module/ncs/nw_s3_balordeth.ncs b/_module/ncs/nw_s3_balordeth.ncs new file mode 100644 index 00000000..daf32fa9 Binary files /dev/null and b/_module/ncs/nw_s3_balordeth.ncs differ diff --git a/_module/nss/createlongbow.nss b/_module/nss/createlongbow.nss index d3e2fdd9..acc9e014 100644 --- a/_module/nss/createlongbow.nss +++ b/_module/nss/createlongbow.nss @@ -3,7 +3,7 @@ void main() { - ActionPauseConversation(); + AssignCommand(OBJECT_SELF, ActionPauseConversation()); object oPC = GetPCSpeaker(); TakeGoldFromCreature(1500000, oPC, TRUE); object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1); @@ -24,7 +24,7 @@ object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1); //object oNewWeapon = GetNextItemInInventory (oForge); //Loop for as long as the ipLoop variable is valid - while (GetIsPlaceableObjectActionPossible(oForge, PLACEABLE_ACTION_USE)) + while (GetIsItemPropertyValid(ipLoop)) { //Add itemprops to new weapon AddItemProperty(DURATION_TYPE_PERMANENT,ipLoop, oNewWeapon); diff --git a/_module/nss/enter_message3.nss b/_module/nss/enter_message3.nss index acd4b2de..58349f6a 100644 --- a/_module/nss/enter_message3.nss +++ b/_module/nss/enter_message3.nss @@ -11,7 +11,7 @@ if (DoOnce==TRUE) return; SetLocalInt(oPC, GetTag(OBJECT_SELF), TRUE); - SendMessageToPC(oPC, "hmm, whats up with that bridge........?"); + SendMessageToPC(oPC, "What's up with the creaking bridge?"); } diff --git a/_module/nss/nw_s1_aurablnda.nss b/_module/nss/nw_s1_aurablnda.nss new file mode 100644 index 00000000..0babfaa1 --- /dev/null +++ b/_module/nss/nw_s1_aurablnda.nss @@ -0,0 +1,48 @@ +//:://///////////////////////////////////////////// +//:: Aura of Blinding On Enter +//:: NW_S1_AuraBlndA.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Upon entering the aura of the creature the player + must make a will save or be blinded because of the + sheer ugliness or beauty of the creature. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 25, 2001 +//::////////////////////////////////////////////// +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ +//:: Declare major variables + object oNPC = GetAreaOfEffectCreator(); + object oTarget = GetEnteringObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDuration = 1 + (nHD/3); + + effect eBlind = EffectBlindness(); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eVis = EffectVisualEffect(VFX_IMP_BLIND_DEAF_M); + effect eLink = EffectLinkEffects(eBlind, eDur); + + //if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;} + + //Entering object must make a will save or be blinded for the duration. + if(GetIsEnemy(oTarget, GetAreaOfEffectCreator())) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_AURA_BLINDING)); + if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC)) + { + //Apply the blind effect and the VFX impact + DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration))); + } + } +} \ No newline at end of file diff --git a/_module/nss/nw_s1_auracoldc.nss b/_module/nss/nw_s1_auracoldc.nss new file mode 100644 index 00000000..49cd95e0 --- /dev/null +++ b/_module/nss/nw_s1_auracoldc.nss @@ -0,0 +1,62 @@ +//:://///////////////////////////////////////////// +//:: Aura of Frost on Heartbeat +//:: NW_S1_AuraColdC.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Prolonged exposure to the aura of the creature + causes frost damage to all within the aura. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 25, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" +void main() +{ +//:: Declare major variables + object oNPC = GetAreaOfEffectCreator(); + object oTarget = GetEnteringObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nFrost = 1 + (nHD/3); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDamage; + + effect eDam; + effect eVis = EffectVisualEffect(VFX_IMP_FROST_S); + + //Get the first target in the aura of cold + oTarget = GetFirstInPersistentObject(); + + while (GetIsObjectValid(oTarget)) + { +/* if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) + { + oTarget = GetNextInPersistentObject(OBJECT_SELF); + continue; + } */ + if(GetIsEnemy(oTarget, GetAreaOfEffectCreator())) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_AURA_COLD)); + //Roll damage based on the creatures HD + nDamage = d4(nFrost); + //Make a Fortitude save for half + if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_COLD)) + { + nDamage = nDamage / 2; + } + //Set the damage effect + eDam = EffectDamage(nDamage, DAMAGE_TYPE_COLD); + //Apply the VFX constant and damage effect + ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } + //Get the next target in the aura of cold + oTarget = GetNextInPersistentObject(); + } +} diff --git a/_module/nss/nw_s1_auraelecc.nss b/_module/nss/nw_s1_auraelecc.nss new file mode 100644 index 00000000..06994f44 --- /dev/null +++ b/_module/nss/nw_s1_auraelecc.nss @@ -0,0 +1,58 @@ +//:://///////////////////////////////////////////// +//:: Aura of Electricity on Heartbeat +//:: NW_S1_AuraElecC.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Prolonged exposure to the aura of the creature + causes electrical damage to all within the aura. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 25, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ +//:: Declare major variables + object oNPC = GetAreaOfEffectCreator(); + int nHD = GetHitDice(oNPC); + int nZap = 1 + (nHD / 3); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 + nCHAMod + (nHD/2); + int nDamage; + + effect eDam; + effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_S); + + //Get first target in spell area + object oTarget = GetFirstInPersistentObject(); + while (GetIsObjectValid(oTarget)) + { +/* if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) + { + oTarget = GetNextInPersistentObject(OBJECT_SELF); + continue; + } */ + if(GetIsEnemy(oTarget, GetAreaOfEffectCreator())) + { + nDamage = d4(nZap); + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_AURA_ELECTRICITY)); + //Make a saving throw check + if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_ELECTRICITY)) + { + nDamage = nDamage / 2; + } + eDam = EffectDamage(nDamage, DAMAGE_TYPE_ELECTRICAL); + //Apply the VFX impact and effects + DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget)); + DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + //Get next target in spell area + oTarget = GetNextInPersistentObject(); + } +} diff --git a/_module/nss/nw_s1_aurafirec.nss b/_module/nss/nw_s1_aurafirec.nss new file mode 100644 index 00000000..a6b96381 --- /dev/null +++ b/_module/nss/nw_s1_aurafirec.nss @@ -0,0 +1,59 @@ +//:://///////////////////////////////////////////// +//:: Aura of Fire on Heartbeat +//:: NW_S1_AuraFireC.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Prolonged exposure to the aura of the creature + causes fire damage to all within the aura. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 25, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" +void main() +{ +//:: Declare major variables + object oNPC = GetAreaOfEffectCreator(); + object oTarget = GetFirstInPersistentObject(); //:: Get first target in spell area + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nBurn = 1 + (nHD/3); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDamage; + int nDamSave; + + effect eDam; + effect eVis = EffectVisualEffect(VFX_IMP_FLAME_S); + + while(GetIsObjectValid(oTarget)) + { +/* if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) + { + oTarget = GetNextInPersistentObject(OBJECT_SELF); + continue; + } */ + if(GetIsEnemy(oTarget, GetAreaOfEffectCreator())) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(), SPELLABILITY_AURA_FIRE)); + //Roll damage + nDamage = d4(nBurn); + //Make a saving throw check + if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_FIRE)) + { + nDamage = nDamage / 2; + } + //Set the damage effect + eDam = EffectDamage(nDamage, DAMAGE_TYPE_FIRE); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget); + } + //Get next target in spell area + oTarget = GetNextInPersistentObject(); + } +} diff --git a/_module/nss/nw_s1_auramenca.nss b/_module/nss/nw_s1_auramenca.nss new file mode 100644 index 00000000..e786aaa2 --- /dev/null +++ b/_module/nss/nw_s1_auramenca.nss @@ -0,0 +1,46 @@ +//:://///////////////////////////////////////////// +//:: Aura of Menace On Enter +//:: NW_S1_AuraMencA.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Upon entering the aura all those that fail + a will save are stricken with Doom. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 25, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ +//:: Declare major variables + object oNPC = GetAreaOfEffectCreator(); + object oTarget = GetEnteringObject(); + + //if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;} + + int nDuration = 1 + (GetHitDice(oNPC)/3); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (GetHitDice(oNPC)/2); + int nLevel = GetCasterLevel(OBJECT_SELF); + int nMetaMagic = PRCGetMetaMagicFeat(); + + effect eVis = EffectVisualEffect(VFX_IMP_DOOM); + effect eLink = CreateDoomEffectsLink(); + + if(GetIsEnemy(oTarget, GetAreaOfEffectCreator())) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_AURA_MENACE)); + //Spell Resistance and Saving throw + if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC)) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink , oTarget, TurnsToSeconds(nDuration)); + } + } +} diff --git a/_module/nss/nw_s1_auraprota.nss b/_module/nss/nw_s1_auraprota.nss new file mode 100644 index 00000000..548f2840 --- /dev/null +++ b/_module/nss/nw_s1_auraprota.nss @@ -0,0 +1,35 @@ +//:://///////////////////////////////////////////// +//:: Aura of Protection: On Enter +//:: NW_S1_AuraProtA.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Acts as a double strength Magic Circle against + evil and a Minor Globe for those friends in + the area. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On:Jan 8, 2002, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +void main() +{ + //Declare major variables + effect eProt = CreateProtectionFromAlignmentLink(ALIGNMENT_EVIL); + effect eGlobe = EffectSpellLevelAbsorption(3, 0); + effect eDur = EffectVisualEffect(VFX_DUR_GLOBE_MINOR); + + effect eLink = EffectLinkEffects(eProt, eGlobe); + eLink = EffectLinkEffects(eLink, eDur); + + object oTarget = GetEnteringObject(); + //if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;} + //Faction Check + if(GetIsFriend(oTarget, GetAreaOfEffectCreator())) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oTarget); + } +} diff --git a/_module/nss/nw_s1_aurastuna.nss b/_module/nss/nw_s1_aurastuna.nss new file mode 100644 index 00000000..03d0aae0 --- /dev/null +++ b/_module/nss/nw_s1_aurastuna.nss @@ -0,0 +1,48 @@ +//:://///////////////////////////////////////////// +//:: Aura Stunning On Enter +//:: NW_S1_AuraStunA.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Upon entering the aura of the creature the player + must make a will save or be stunned. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 25, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" +void main() +{ +//:: Declare major variables + object oNPC = GetAreaOfEffectCreator(); + object oTarget = GetEnteringObject(); + + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDuration = GetHitDice(oNPC); + int nDC = 10 + nCHAMod + (nDuration/2); + + //if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;} + + effect eVis = EffectVisualEffect(VFX_IMP_STUN); + effect eVis2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED); + effect eDeath = EffectStunned(); + effect eLink = EffectLinkEffects(eVis2, eDeath); + + nDuration = GetScaledDuration(nDuration, oTarget); + + if(!GetIsFriend(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_AURA_STUN)); + //Make a saving throw check + if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } + } +} \ No newline at end of file diff --git a/_module/nss/nw_s1_auraunata.nss b/_module/nss/nw_s1_auraunata.nss new file mode 100644 index 00000000..a5970627 --- /dev/null +++ b/_module/nss/nw_s1_auraunata.nss @@ -0,0 +1,48 @@ +//:://///////////////////////////////////////////// +//:: Aura of the Unnatural On Enter +//:: NW_S1_AuraMencA.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Upon entering the aura all animals are struck with + fear. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 25, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" +void main() +{ +//:: Declare major variables + object oNPC = GetAreaOfEffectCreator(); + effect eVis = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR); + effect eFear = EffectFrightened(); + effect eLink = EffectLinkEffects(eVis, eFear); + object oTarget = GetEnteringObject(); + + //if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;} + + int nDuration = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nRacial = GetRacialType(oTarget); + int nDC = 10 + nCHAMod + (GetHitDice(oNPC)/2); + + if(GetIsEnemy(oTarget)) + { + nDuration = (nDuration / 3) + 1; + //Make a saving throw check + if(nRacial == RACIAL_TYPE_ANIMAL) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(), SPELLABILITY_AURA_UNNATURAL)); + //if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR)) //:: This ability only affects animals & they don't get a save. + //{ + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)); + //} + } + } +} \ No newline at end of file diff --git a/_module/nss/nw_s1_aurauneaa.nss b/_module/nss/nw_s1_aurauneaa.nss new file mode 100644 index 00000000..6f4a75bc --- /dev/null +++ b/_module/nss/nw_s1_aurauneaa.nss @@ -0,0 +1,46 @@ +//:://///////////////////////////////////////////// +//:: Aura Unearthly Visage On Enter +//:: NW_S1_AuraUnEaA.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Upon entering the aura of the creature the player + must make a will save or be killed because of the + sheer ugliness or beauty of the creature. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 25, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ +//:: Declare major variables + object oNPC = GetAreaOfEffectCreator(); + object oTarget = GetEnteringObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + + //if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;} + + effect eDeath = EffectDeath(); + effect eVis = EffectVisualEffect(VFX_IMP_DEATH); + + if(GetIsEnemy(oTarget, oNPC)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_AURA_UNEARTHLY_VISAGE)); + //Make a saving throw check + if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_DEATH)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oTarget); + //ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } + } +} diff --git a/_module/nss/nw_s1_bltacid.nss b/_module/nss/nw_s1_bltacid.nss new file mode 100644 index 00000000..ef53a16a --- /dev/null +++ b/_module/nss/nw_s1_bltacid.nss @@ -0,0 +1,66 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Acid +//:: NW_S1_BltAcid +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex or Will save is + needed to halve damage or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC); + int nDC = 10 +nCONMod+ (nHD/2); + int nCount = nHD/2; + if (nCount == 0) { nCount = 1; } + int nDamage = d6(nCount); + + effect eVis = EffectVisualEffect(VFX_IMP_ACID_S); + effect eBolt; + + //ankheg + if(GetAppearanceType(oNPC) == APPEARANCE_TYPE_BEETLE_SLICER) + { + nDamage = d4(4); + } + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ACID)); + + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC,SAVING_THROW_TYPE_ACID); + + //Make a ranged touch attack + int nTouch = TouchAttackRanged(oTarget); + if(nTouch > 0) + { + if(nTouch == 2) + { + nDamage *= 2; + } + //Set damage effect + eBolt = EffectDamage(nDamage, DAMAGE_TYPE_ACID); + if(nDamage > 0) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } + } +} diff --git a/_module/nss/nw_s1_bltcharm.nss b/_module/nss/nw_s1_bltcharm.nss new file mode 100644 index 00000000..df11d653 --- /dev/null +++ b/_module/nss/nw_s1_bltcharm.nss @@ -0,0 +1,47 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Charm +//:: NW_S1_BltCharm +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex or Will save is + needed to halve damage or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +//#include "wm_include" +#include "NW_I0_SPELLS" +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = (nHD + 1) / 2; + nCount = GetScaledDuration(nCount, oTarget); + + effect eVis = EffectVisualEffect(VFX_IMP_CHARM); + effect eBolt = EffectCharmed(); + eBolt = GetScaledEffect(eBolt, oTarget); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eLink = EffectLinkEffects(eBolt, eDur); + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_CHARM)); + //Make a saving throw check + if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } +} \ No newline at end of file diff --git a/_module/nss/nw_s1_bltchrdr.nss b/_module/nss/nw_s1_bltchrdr.nss new file mode 100644 index 00000000..e7345802 --- /dev/null +++ b/_module/nss/nw_s1_bltchrdr.nss @@ -0,0 +1,48 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Charisma Drain +//:: NW_S1_BltChrDr +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Fortitude save is + needed to avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = nHD / 3; + if (nCount == 0) { nCount = 1; } + int nDamage = d6(nCount); + + effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eBolt; + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BOLT_ABILITY_DRAIN_CHARISMA)); + //Make a saving throw check + if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget)) + { + eBolt = EffectAbilityDecrease(ABILITY_CHARISMA, nCount); + eBolt = SupernaturalEffect(eBolt); + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } +} diff --git a/_module/nss/nw_s1_bltcold.nss b/_module/nss/nw_s1_bltcold.nss new file mode 100644 index 00000000..657f0fe6 --- /dev/null +++ b/_module/nss/nw_s1_bltcold.nss @@ -0,0 +1,60 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Cold +//:: NW_S1_BltCold +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex or Will save is + needed to halve damage or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = nHD/2; + if (nCount == 0) { nCount = 1; } + int nDamage = d6(nCount); + + effect eVis = EffectVisualEffect(VFX_IMP_FROST_S); + effect eBolt; + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_COLD)); + + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC,SAVING_THROW_TYPE_COLD); + + //Make a ranged touch attack + int nTouch = TouchAttackRanged(oTarget); + if(nTouch > 0) + { + if(nTouch == 2) + { + nDamage *= 2; + } + //Set damage effect + eBolt = EffectDamage(nDamage, DAMAGE_TYPE_COLD); + if(nDamage > 0) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } + } +} diff --git a/_module/nss/nw_s1_bltcondr.nss b/_module/nss/nw_s1_bltcondr.nss new file mode 100644 index 00000000..9d85f042 --- /dev/null +++ b/_module/nss/nw_s1_bltcondr.nss @@ -0,0 +1,48 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Constitution Drain +//:: NW_S1_BltConDr +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Fort save is + needed to avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = (nHD /3); + if (nCount == 0) { nCount = 1; } + int nDamage = d6(nCount); + + effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eBolt; + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ABILITY_DRAIN_CONSTITUTION)); + //Make a saving throw check + if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget)) + { + eBolt = EffectAbilityDecrease(ABILITY_CONSTITUTION, nCount); + eBolt = SupernaturalEffect(eBolt); + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } +} diff --git a/_module/nss/nw_s1_bltconf.nss b/_module/nss/nw_s1_bltconf.nss new file mode 100644 index 00000000..5bed7dc0 --- /dev/null +++ b/_module/nss/nw_s1_bltconf.nss @@ -0,0 +1,48 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Confuse +//:: NW_S1_BltConf +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex or Will save is + needed to halve damage or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +//#include "wm_include" +#include "NW_I0_SPELLS" +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = (nHD + 1) / 2; + nCount = GetScaledDuration(nCount, oTarget); + + effect eVis2 = EffectVisualEffect(VFX_IMP_CONFUSION_S); + effect eVis = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED); + effect eBolt = EffectConfused(); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eLink = EffectLinkEffects(eBolt, eDur); + eLink = EffectLinkEffects(eLink, eVis); + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_CONFUSE)); + //Make a saving throw check + if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oTarget); + } +} \ No newline at end of file diff --git a/_module/nss/nw_s1_bltdaze.nss b/_module/nss/nw_s1_bltdaze.nss new file mode 100644 index 00000000..68d15c70 --- /dev/null +++ b/_module/nss/nw_s1_bltdaze.nss @@ -0,0 +1,47 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Daze +//:: NW_S1_BltDaze +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex or Will save is + needed to halve damage or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +//#include "wm_include" +#include "NW_I0_SPELLS" +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = (nHD + 1) / 2; + nCount = GetScaledDuration(nCount, oTarget); + + effect eVis = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED); + effect eBolt = EffectDazed(); + eBolt = GetScaledEffect(eBolt, oTarget); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eLink = EffectLinkEffects(eBolt, eDur); + eLink = EffectLinkEffects(eLink, eVis); + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_DAZE)); + //Make a saving throw check + if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount)); + } +} diff --git a/_module/nss/nw_s1_bltdeath.nss b/_module/nss/nw_s1_bltdeath.nss new file mode 100644 index 00000000..e2cbcd73 --- /dev/null +++ b/_module/nss/nw_s1_bltdeath.nss @@ -0,0 +1,47 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Death +//:: NW_S1_BltDeath +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex or Will save is + needed to halve damage or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + + effect eVis = EffectVisualEffect(VFX_IMP_DEATH); + effect eBolt = EffectDeath(); + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_DEATH)); + //Make a saving throw check + if(TouchAttackRanged(oTarget)) + { + if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_DEATH)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget); + //ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } + } +} + diff --git a/_module/nss/nw_s1_bltdexdr.nss b/_module/nss/nw_s1_bltdexdr.nss new file mode 100644 index 00000000..4ef34d8b --- /dev/null +++ b/_module/nss/nw_s1_bltdexdr.nss @@ -0,0 +1,48 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Dexterity Drain +//:: NW_S1_BltDexDr +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Fort save is + needed to avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = (nHD + 1) / 2; + if (nCount == 0) { nCount = 1; } + int nDamage = d6(nCount); + + effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eBolt; + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ABILITY_DRAIN_DEXTERITY)); + //Make a saving throw check + if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget)) + { + eBolt = EffectAbilityDecrease(ABILITY_DEXTERITY, nCount); + eBolt = SupernaturalEffect(eBolt); + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } +} diff --git a/_module/nss/nw_s1_bltdisese.nss b/_module/nss/nw_s1_bltdisese.nss new file mode 100644 index 00000000..6513a061 --- /dev/null +++ b/_module/nss/nw_s1_bltdisese.nss @@ -0,0 +1,73 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Disease +//:: NW_S1_BltDisease +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to infect + the target with a disease. The disease used + is chosen based upon the racial type of the + caster. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nRacial = MyPRCGetRacialType(oNPC); + int nDisease; + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_DISEASE)); + + //Here we use the racial type of the attacker to select an + //appropriate disease. + switch (nRacial) + { + case RACIAL_TYPE_VERMIN: + nDisease = DISEASE_VERMIN_MADNESS; + break; + case RACIAL_TYPE_UNDEAD: + nDisease = DISEASE_FILTH_FEVER; + break; + case RACIAL_TYPE_OUTSIDER: + if(GetTag(oNPC) == "NW_SLAADRED") + { + nDisease = DISEASE_RED_SLAAD_EGGS; + } + else + { + nDisease = DISEASE_DEMON_FEVER; + } + break; + case RACIAL_TYPE_MAGICAL_BEAST: + nDisease = DISEASE_SOLDIER_SHAKES; + break; + case RACIAL_TYPE_ABERRATION: + nDisease = DISEASE_BLINDING_SICKNESS; + break; + default: + nDisease = DISEASE_SOLDIER_SHAKES; + break; + } + //Assign effect and chosen disease + effect eBolt = EffectDisease(nDisease); + //Make the ranged touch attack. + if (TouchAttackRanged(oTarget)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget); + } +} diff --git a/_module/nss/nw_s1_bltdomn.nss b/_module/nss/nw_s1_bltdomn.nss new file mode 100644 index 00000000..5027b454 --- /dev/null +++ b/_module/nss/nw_s1_bltdomn.nss @@ -0,0 +1,53 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Dominated +//:: NW_S1_BltDomn +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex or Will save is + needed to halve damage or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = (nHD + 1) / 2; + if (nCount == 0) { nCount = 1; } + nCount = GetScaledDuration(nCount, oTarget); + + effect eVis = EffectVisualEffect(VFX_IMP_DOMINATE_S); + effect eBolt = EffectDominated(); + eBolt = GetScaledEffect(eBolt, oTarget); + effect eVis2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DOMINATED); + eBolt = GetScaledEffect(eBolt, oTarget); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eLink = EffectLinkEffects(eBolt, eDur); + eLink = EffectLinkEffects(eLink, eVis2); + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_DOMINATE)); + + //Make a saving throw check + if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } +} diff --git a/_module/nss/nw_s1_bltfire.nss b/_module/nss/nw_s1_bltfire.nss new file mode 100644 index 00000000..4f7a4236 --- /dev/null +++ b/_module/nss/nw_s1_bltfire.nss @@ -0,0 +1,58 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Fire +//:: NW_S1_BoltFire +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex or Will save is + needed to halve damage or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = nHD/2; + if (nCount == 0) { nCount = 1; } + int nDamage = d6(nCount); + + effect eVis = EffectVisualEffect(VFX_IMP_FLAME_S); + effect eBolt; + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_FIRE)); + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC,SAVING_THROW_TYPE_FIRE); + //Make a ranged touch attack + int nTouch = TouchAttackRanged(oTarget); + if(nTouch > 0) + { + if(nTouch == 2) + { + nDamage *= 2; + } + //Set damage effect + eBolt = EffectDamage(nDamage, DAMAGE_TYPE_FIRE); + if(nDamage > 0) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } + } +} diff --git a/_module/nss/nw_s1_bltintdr.nss b/_module/nss/nw_s1_bltintdr.nss new file mode 100644 index 00000000..f3ffbad8 --- /dev/null +++ b/_module/nss/nw_s1_bltintdr.nss @@ -0,0 +1,48 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Intelligence Drain +//:: NW_S1_BltIntDr +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex or Will save is + needed to halve damage or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = (nHD + 1) / 2; + if (nCount == 0) { nCount = 1; } + int nDamage = d6(nCount); + + effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eBolt; + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ABILITY_DRAIN_INTELLIGENCE)); + //Make a saving throw check + if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget)) + { + eBolt = EffectAbilityDecrease(ABILITY_INTELLIGENCE, nCount); + eBolt = SupernaturalEffect(eBolt); + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } +} diff --git a/_module/nss/nw_s1_bltknckd.nss b/_module/nss/nw_s1_bltknckd.nss new file mode 100644 index 00000000..68169647 --- /dev/null +++ b/_module/nss/nw_s1_bltknckd.nss @@ -0,0 +1,48 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Knockdown +//:: NW_S1_BltKnckD +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex or Will save is + needed to halve damage or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = nHD/2; + if (nCount == 0) { nCount = 1; } + + effect eVis = EffectVisualEffect(VFX_IMP_SONIC); + effect eBolt = EffectKnockdown(); + effect eDam = EffectDamage(d6(), DAMAGE_TYPE_BLUDGEONING); + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_KNOCKDOWN)); + + //Make a saving throw check + if (!/*Reflex Save*/ PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC) && TouchAttackRanged(oTarget)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eBolt, oTarget, RoundsToSeconds(3)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget); + } +} diff --git a/_module/nss/nw_s1_bltlightn.nss b/_module/nss/nw_s1_bltlightn.nss new file mode 100644 index 00000000..024eafbe --- /dev/null +++ b/_module/nss/nw_s1_bltlightn.nss @@ -0,0 +1,59 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Lightning +//:: NW_S1_BltLightn +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Does 1d6 per level to a single target. Reflex + save for half +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Aug 10, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = nHD/2; + if (nCount == 0) { nCount = 1; } + int nDamage = d6(nCount); + + effect eLightning = EffectBeam(VFX_BEAM_LIGHTNING, OBJECT_SELF,BODY_NODE_HAND); + effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_S); + effect eBolt; + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BOLT_LIGHTNING)); + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC,SAVING_THROW_TYPE_ELECTRICITY); + //Make a ranged touch attack + int nTouch = TouchAttackRanged(oTarget); + if(nTouch > 0) + { + if(nTouch == 2) + { + nDamage *= 2; + } + //Set damage effect + eBolt = EffectDamage(nDamage, DAMAGE_TYPE_ELECTRICAL); + if(nDamage > 0) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLightning, oTarget, 1.7); + } + } +} diff --git a/_module/nss/nw_s1_bltlvldr.nss b/_module/nss/nw_s1_bltlvldr.nss new file mode 100644 index 00000000..e3f14cab --- /dev/null +++ b/_module/nss/nw_s1_bltlvldr.nss @@ -0,0 +1,49 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Level Drain +//:: NW_S1_BltLvlDr +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex or Will save is + needed to halve damage or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = nHD/5; + if (nCount == 0) { nCount = 1; } + int nDamage = d6(nCount); + + effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eBolt = EffectNegativeLevel(1); + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_LEVEL_DRAIN)); + + //Make a saving throw check + if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget)) + { + //eBolt = LEVEL DRAIN EFFECT + eBolt = SupernaturalEffect(eBolt); + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } +} diff --git a/_module/nss/nw_s1_bltparal.nss b/_module/nss/nw_s1_bltparal.nss new file mode 100644 index 00000000..e4a6b59a --- /dev/null +++ b/_module/nss/nw_s1_bltparal.nss @@ -0,0 +1,48 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Paralyze +//:: NW_S1_BltParal +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex or Will save is + needed to halve damage or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = (nHD + 1) / 2; + if (nCount == 0) { nCount = 1; } + nCount = GetScaledDuration(nCount, oTarget); + + effect eVis = EffectVisualEffect(VFX_DUR_PARALYZED); + effect eBolt = EffectParalyze(); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eLink = EffectLinkEffects(eBolt, eDur); + eLink = EffectLinkEffects(eLink, eVis); + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_PARALYZE)); + //Make a saving throw check + if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC) && TouchAttackRanged(oTarget)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount)); + } +} diff --git a/_module/nss/nw_s1_bltpoison.nss b/_module/nss/nw_s1_bltpoison.nss new file mode 100644 index 00000000..8a34aca8 --- /dev/null +++ b/_module/nss/nw_s1_bltpoison.nss @@ -0,0 +1,123 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Poison +//:: NW_S1_BltPoison.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Must make a ranged touch attack. If successful + the target is struck down with poison that + scales with level. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 22, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nRacial = MyPRCGetRacialType(OBJECT_SELF); + int nPoison; + + effect ePoison; + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_POISON)); + + //Determine the poison type based on the Racial Type and HD + switch (nRacial) + { + case RACIAL_TYPE_OUTSIDER: + if (nHD <= 9) + { + nPoison = POISON_QUASIT_VENOM; + } + else if (nHD > 9 && nHD < 13) + { + nPoison = POISON_BEBILITH_VENOM; + } + else if (nHD >= 13) + { + nPoison = POISON_PIT_FIEND_ICHOR; + } + break; + case RACIAL_TYPE_VERMIN: + if (nHD < 3) + { + nPoison = POISON_TINY_SPIDER_VENOM; + } + else if (nHD <= 3 && nHD < 6) + { + nPoison = POISON_SMALL_SPIDER_VENOM; + } + else if (nHD <= 6 && nHD < 9) + { + nPoison = POISON_MEDIUM_SPIDER_VENOM; + } + else if (nHD <= 9 && nHD < 12) + { + nPoison = POISON_LARGE_SPIDER_VENOM; + } + else if (nHD <= 12 && nHD < 15) + { + nPoison = POISON_HUGE_SPIDER_VENOM; + } + else if (nHD <= 15 && nHD < 18) + { + nPoison = POISON_GARGANTUAN_SPIDER_VENOM; + } + else if (nHD >= 18) + { + nPoison = POISON_COLOSSAL_SPIDER_VENOM; + } + break; + default: + if (nHD < 3) + { + nPoison = POISON_NIGHTSHADE; + } + else if (nHD <= 3 && nHD < 6) + { + nPoison = POISON_BLADE_BANE; + } + else if (nHD <= 6 && nHD < 9) + { + nPoison = POISON_BLOODROOT; + } + else if (nHD <= 9 && nHD < 12) + { + nPoison = POISON_LARGE_SPIDER_VENOM; + } + else if (nHD <= 12 && nHD < 15) + { + nPoison = POISON_LICH_DUST; + } + else if (nHD <= 15 && nHD < 18) + { + nPoison = POISON_DARK_REAVER_POWDER; + } + else if (nHD >= 18 ) + { + nPoison = POISON_BLACK_LOTUS_EXTRACT; + } + + break; + } + //Make a ranged touch attack + if (TouchAttackRanged (oTarget)) + { + ePoison = EffectPoison(nPoison); + //Apply effects + ApplyEffectToObject(DURATION_TYPE_PERMANENT, ePoison, oTarget); + } +} + diff --git a/_module/nss/nw_s1_bltshards.nss b/_module/nss/nw_s1_bltshards.nss new file mode 100644 index 00000000..1b96e2bc --- /dev/null +++ b/_module/nss/nw_s1_bltshards.nss @@ -0,0 +1,58 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Shards +//:: NW_S1_BltShard +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex or Will save is + needed to halve damage or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = (nHD + 1) / 2; + if (nCount == 0) { nCount = 1; } + int nDamage = d6(nCount); + + effect eBolt; + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BOLT_SHARDS)); + + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC); + + //Make a ranged touch attack + int nTouch = TouchAttackRanged(oTarget); + if(nTouch > 0) + { + if(nTouch == 2) + { + nDamage *= 2; + } + //Set damage effect + eBolt = EffectDamage(nDamage, DAMAGE_TYPE_PIERCING, DAMAGE_POWER_PLUS_ONE); + if(nDamage > 0) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget); + } + } +} diff --git a/_module/nss/nw_s1_bltslow.nss b/_module/nss/nw_s1_bltslow.nss new file mode 100644 index 00000000..bf4813a1 --- /dev/null +++ b/_module/nss/nw_s1_bltslow.nss @@ -0,0 +1,47 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Slow +//:: NW_S1_BltSlow +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex save is + needed to or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: June 18 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = (nHD + 1) / 2; + if (nCount == 0) { nCount = 1; } + + effect eVis = EffectVisualEffect(VFX_IMP_SLOW); + effect eBolt = EffectSlow(); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eLink = EffectLinkEffects(eBolt, eDur); + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_SLOW)); + //Make a saving throw check + if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } +} diff --git a/_module/nss/nw_s1_bltstrdr.nss b/_module/nss/nw_s1_bltstrdr.nss new file mode 100644 index 00000000..dd03161d --- /dev/null +++ b/_module/nss/nw_s1_bltstrdr.nss @@ -0,0 +1,48 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Strength Drain +//:: NW_S1_BltStrDr +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Fort save is + needed to avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = (nHD + 1) / 2; + if (nCount == 0) { nCount = 1; } + int nDamage = d6(nCount); + + effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eBolt; + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BOLT_ABILITY_DRAIN_STRENGTH)); + //Make a saving throw check + if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget)) + { + eBolt = EffectAbilityDecrease(ABILITY_STRENGTH, nCount); + eBolt = SupernaturalEffect(eBolt); + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } +} \ No newline at end of file diff --git a/_module/nss/nw_s1_bltstun.nss b/_module/nss/nw_s1_bltstun.nss new file mode 100644 index 00000000..1d770089 --- /dev/null +++ b/_module/nss/nw_s1_bltstun.nss @@ -0,0 +1,50 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Stun +//:: NW_S1_BltStun +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Reflex or Will save is + needed to halve damage or avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = (nHD + 1) / 2; + if (nCount == 0) { nCount = 1; } + nCount = GetScaledDuration(nCount, oTarget); + int nDamage = d6(nCount); + + effect eVis = EffectVisualEffect(VFX_IMP_STUN); + effect eBolt = EffectStunned(); + eBolt = GetScaledEffect(eBolt, oTarget); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eLink = EffectLinkEffects(eBolt, eDur); + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_STUN)); + //Make a saving throw check + if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } +} diff --git a/_module/nss/nw_s1_bltweb.nss b/_module/nss/nw_s1_bltweb.nss new file mode 100644 index 00000000..9ed210a0 --- /dev/null +++ b/_module/nss/nw_s1_bltweb.nss @@ -0,0 +1,44 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Web +//:: NW_S1_BltWeb +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Glues a single target to the ground with + sticky strands of webbing. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Jan 28, 2002 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC); + int nDC = 10 +nCONMod+ (nHD/2); + int nCount = 1 + (nHD /2); + if (nCount == 0) { nCount = 1; } + + effect eVis = EffectVisualEffect(VFX_DUR_WEB); + effect eStick = EffectEntangle(); + effect eLink = EffectLinkEffects(eVis, eStick); + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_WEB)); + //Make a saving throw check + if (!PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC) && TouchAttackRanged(oTarget)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount)); + } +} diff --git a/_module/nss/nw_s1_bltwisdr.nss b/_module/nss/nw_s1_bltwisdr.nss new file mode 100644 index 00000000..49643c08 --- /dev/null +++ b/_module/nss/nw_s1_bltwisdr.nss @@ -0,0 +1,48 @@ +//:://///////////////////////////////////////////// +//:: Bolt: Wisdom Drain +//:: NW_S1_BltWisDr +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature must make a ranged touch attack to hit + the intended target. Fort save is + needed to avoid effect. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nCount = (nHD /3); + if (nCount == 0) { nCount = 1; } + int nDamage = d6(nCount); + + effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eBolt; + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ABILITY_DRAIN_WISDOM)); + //Make a saving throw check + if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget)) + { + eBolt = EffectAbilityDecrease(ABILITY_WISDOM, nCount); + eBolt = SupernaturalEffect(eBolt); + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } +} diff --git a/_module/nss/nw_s1_coneacid.nss b/_module/nss/nw_s1_coneacid.nss new file mode 100644 index 00000000..2ab7dcfc --- /dev/null +++ b/_module/nss/nw_s1_coneacid.nss @@ -0,0 +1,76 @@ +//:://///////////////////////////////////////////// +//:: Cone: Acid +//:: NW_S1_ConeAcid +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A cone of damage eminated from the monster. Does + a set amount of damage based upon the creatures HD + and can be halved with a Reflex Save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDamage; + int nLoop = nHD / 3; + + float fDelay; + + if(nLoop == 0) + { + nLoop = 1; + } + + //Calculate the damage + for (nLoop; nLoop > 0; nLoop--) + { + nDamage = nDamage + d6(2); + } + location lTargetLocation = GetSpellTargetLocation(); + + effect eCone; + effect eVis = EffectVisualEffect(VFX_IMP_ACID_S); + + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + //Get first target in spell area + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_CONE_ACID)); + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_ACID); + //Set damage effect + eCone = EffectDamage(nDamage, DAMAGE_TYPE_ACID); + if(nDamage > 0) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget)); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + } +} + + diff --git a/_module/nss/nw_s1_conecold.nss b/_module/nss/nw_s1_conecold.nss new file mode 100644 index 00000000..24cc011b --- /dev/null +++ b/_module/nss/nw_s1_conecold.nss @@ -0,0 +1,76 @@ +//:://///////////////////////////////////////////// +//:: Cone: Cold +//:: NW_S1_ConeCold +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A cone of damage eminated from the monster. Does + a set amount of damage based upon the creatures HD + and can be halved with a Reflex Save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDamage; + int nLoop = nHD / 3; + + float fDelay; + + if(nLoop == 0) + { + nLoop = 1; + } + + //Calculate the damage + for (nLoop; nLoop > 0; nLoop--) + { + nDamage = nDamage + d6(2); + } + location lTargetLocation = GetSpellTargetLocation(); + + effect eCone; + effect eVis = EffectVisualEffect(VFX_IMP_FROST_S); + + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + //Get first target in spell area + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_CONE_COLD)); + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_COLD); + //Set damage effect + eCone = EffectDamage(nDamage, DAMAGE_TYPE_COLD); + if(nDamage > 0) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget)); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 11.0, lTargetLocation, TRUE); + } +} + + diff --git a/_module/nss/nw_s1_conedisea.nss b/_module/nss/nw_s1_conedisea.nss new file mode 100644 index 00000000..9abedbb0 --- /dev/null +++ b/_module/nss/nw_s1_conedisea.nss @@ -0,0 +1,99 @@ +//:://///////////////////////////////////////////// +//:: Cone: Disease +//:: NW_S1_ConeDisea +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature spits out a cone of disease that cannot + be avoided unless a Reflex save is made. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 22, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nRacial = MyPRCGetRacialType(oNPC); + int nDisease; + + location lTargetLocation = GetSpellTargetLocation(); + + float fDelay; + + effect eCone = EffectDisease(nDisease); + effect eVis = EffectVisualEffect(VFX_IMP_DISEASE_S); + + + //Determine the disease type based on the Racial Type and HD + switch (nRacial) + { + case RACIAL_TYPE_OUTSIDER: + nDisease = DISEASE_DEMON_FEVER; + break; + case RACIAL_TYPE_VERMIN: + nDisease = DISEASE_VERMIN_MADNESS; + break; + case RACIAL_TYPE_UNDEAD: + if(nHD <= 3) + { + nDisease = DISEASE_ZOMBIE_CREEP; + } + else if (nHD > 3 && nHD <= 10) + { + nDisease = DISEASE_GHOUL_ROT; + } + else if(nHD > 10) + { + nDisease = DISEASE_MUMMY_ROT; + } + default: + if(nHD <= 3) + { + nDisease = DISEASE_MINDFIRE; + } + else if (nHD > 3 && nHD <= 10) + { + nDisease = DISEASE_RED_ACHE; + } + else if(nHD > 10) + { + nDisease = DISEASE_SHAKES; + } + + + break; + } + + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + //Get first target in spell area + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != OBJECT_SELF) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_CONE_DISEASE)); + //Get the delay time + fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20; + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget)); + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 11.0, lTargetLocation, TRUE); + + } +} + + + diff --git a/_module/nss/nw_s1_coneelec.nss b/_module/nss/nw_s1_coneelec.nss new file mode 100644 index 00000000..a4fa75ba --- /dev/null +++ b/_module/nss/nw_s1_coneelec.nss @@ -0,0 +1,78 @@ +//:://///////////////////////////////////////////// +//:: Cone: Lightning +//:: NW_S1_ConeElec +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A cone of damage eminates from the monster. Does + a set amount of damage based upon the creatures HD + and can be halved with a Reflex Save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDamage; + int nLoop = nHD / 3; + + float fDelay; + + if(nLoop == 0) + { + nLoop = 1; + } + + //Calculate the damage + for (nLoop; nLoop > 0; nLoop--) + { + nDamage = nDamage + d6(2); + } + location lTargetLocation = GetSpellTargetLocation(); + + effect eLightning = EffectBeam(VFX_BEAM_LIGHTNING, oNPC, BODY_NODE_HAND); + effect eCone; + effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_S); + + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + //Get first target in spell area + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_CONE_LIGHTNING)); + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_ELECTRICITY); + //Set damage effect + eCone = EffectDamage(nDamage, DAMAGE_TYPE_ELECTRICAL); + if(nDamage > 0) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLightning,oTarget,0.5)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget)); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 11.0, lTargetLocation, TRUE); + } +} + + diff --git a/_module/nss/nw_s1_conesonic.nss b/_module/nss/nw_s1_conesonic.nss new file mode 100644 index 00000000..79c1d466 --- /dev/null +++ b/_module/nss/nw_s1_conesonic.nss @@ -0,0 +1,75 @@ +//:://///////////////////////////////////////////// +//:: Cone: Sonic +//:: NW_S1_ConeSonic +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A cone of damage eminated from the monster. Does + a set amount of damage based upon the creatures HD + and can be halved with a Reflex Save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +#include "NW_I0_SPELLS" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDamage; + int nLoop = nHD / 3; + + float fDelay; + + if(nLoop == 0) + { + nLoop = 1; + } + + //Calculate the damage + for (nLoop; nLoop > 0; nLoop--) + { + nDamage = nDamage + d6(2); + } + location lTargetLocation = GetSpellTargetLocation(); + + effect eCone; + effect eVis = EffectVisualEffect(VFX_IMP_SONIC); + + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + //Get first target in spell area + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != OBJECT_SELF) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_CONE_SONIC)); + //Determine effect delay + fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20; + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC,DAMAGE_TYPE_SONIC); + //Set damage effect + eCone = EffectDamage(nDamage, DAMAGE_TYPE_SONIC); + if(nDamage > 0) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget)); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 11.0, lTargetLocation, TRUE); + } +} + diff --git a/_module/nss/nw_s1_dragfear.nss b/_module/nss/nw_s1_dragfear.nss new file mode 100644 index 00000000..f95e3975 --- /dev/null +++ b/_module/nss/nw_s1_dragfear.nss @@ -0,0 +1,119 @@ +//:://///////////////////////////////////////////// +//:: Dragon Breath Fear +//:: NW_S1_DragFear +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Calculates the proper DC Save for the + breath weapon based on the HD of the dragon. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 9, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" +void main() +{ + //if (WildMagicOverride()) { return; } + //Declare major variables + int nAge = GetHitDice(OBJECT_SELF); + int nCount; + int nDC; + float fDelay; + object oTarget; + effect eBreath = EffectFrightened(); + effect eFear = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR); + effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eLink = EffectLinkEffects(eBreath, eDur); + eLink = EffectLinkEffects(eLink, eFear); + + //Determine the duration and save DC + if (nAge <= 6) //Wyrmling + { + nDC = 13; + nCount = 1; + } + else if (nAge >= 7 && nAge <= 9) //Very Young + { + nDC = 15; + nCount = 2; + } + else if (nAge >= 10 && nAge <= 12) //Young + { + nDC = 17; + nCount = 3; + } + else if (nAge >= 13 && nAge <= 15) //Juvenile + { + nDC = 19; + nCount = 4; + } + else if (nAge >= 16 && nAge <= 18) //Young Adult + { + nDC = 21; + nCount = 5; + } + else if (nAge >= 19 && nAge <= 21) //Adult + { + nDC = 24; + nCount = 6; + } + else if (nAge >= 22 && nAge <= 24) //Mature Adult + { + nDC = 27; + nCount = 7; + } + else if (nAge >= 25 && nAge <= 27) //Old + { + nDC = 28; + nCount = 8; + } + else if (nAge >= 28 && nAge <= 30) //Very Old + { + nDC = 30; + nCount = 9; + } + else if (nAge >= 31 && nAge <= 33) //Ancient + { + nDC = 32; + nCount = 10; + } + else if (nAge >= 34 && nAge <= 37) //Wyrm + { + nDC = 34; + nCount = 11; + } + else if (nAge > 37) //Great Wyrm + { + nDC = 37; + nCount = 12; + } + PlayDragonBattleCry(); + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 14.0, GetSpellTargetLocation(), TRUE); + //Get first target in spell area + while(GetIsObjectValid(oTarget)) + { + if(oTarget != OBJECT_SELF && !GetIsReactionTypeFriendly(oTarget)) + { + nCount = GetScaledDuration(nCount, oTarget); + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_DRAGON_BREATH_FEAR)); + //Determine the effect delay time + fDelay = GetDistanceBetween(oTarget, OBJECT_SELF)/20; + //Make a saving throw check + if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR, OBJECT_SELF, fDelay)) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount))); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 14.0, GetSpellTargetLocation(), TRUE); + } +} + + diff --git a/_module/nss/nw_s1_dragfeara.nss b/_module/nss/nw_s1_dragfeara.nss new file mode 100644 index 00000000..2bb50095 --- /dev/null +++ b/_module/nss/nw_s1_dragfeara.nss @@ -0,0 +1,45 @@ +//:://///////////////////////////////////////////// +//:: Aura of Fear On Enter +//:: NW_S1_DragFearA.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Upon entering the aura of the creature the player + must make a will save or be struck with fear because + of the creatures presence. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 25, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" +void main() +{ + //Declare major variables + object oTarget = GetEnteringObject(); + //if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;} + effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S); + effect eDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR); + effect eDur2 = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eFear = EffectFrightened(); + effect eLink = EffectLinkEffects(eFear, eDur); + eLink = EffectLinkEffects(eLink, eDur2); + + int nHD = GetHitDice(GetAreaOfEffectCreator()); + int nDC = 10 + GetHitDice(GetAreaOfEffectCreator())/3; + int nDuration = GetScaledDuration(nHD, oTarget); + if(GetIsEnemy(oTarget, GetAreaOfEffectCreator())) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(), SPELLABILITY_AURA_FEAR)); + //Make a saving throw check + if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } + } +} diff --git a/_module/nss/nw_s1_feroc3.nss b/_module/nss/nw_s1_feroc3.nss new file mode 100644 index 00000000..58a44cbb --- /dev/null +++ b/_module/nss/nw_s1_feroc3.nss @@ -0,0 +1,41 @@ +//:://///////////////////////////////////////////// +//:: Ferocity 3 +//:: NW_S1_Feroc3 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + The Dex and Str of the target increases +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Aug 13, 2001 +//::////////////////////////////////////////////// + +void main() +{ +//:: Declare major variables + object oNPC = OBJECT_SELF; + + int nHD = GetHitDice(oNPC); + int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION); //:: Determine the duration by getting the con modifier + int nIncrease = 9; + int nDuration = 1 + nCONMod; + if(nDuration == 0) { nDuration = 1; } + + + effect eDex = EffectAbilityIncrease(ABILITY_DEXTERITY, nIncrease); + effect eStr = EffectAbilityIncrease(ABILITY_STRENGTH, nIncrease); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE); + effect eLink = EffectLinkEffects(eStr, eDex); + eLink = EffectLinkEffects(eLink, eDur); + eLink = ExtraordinaryEffect(eLink); //:: Make effect extraordinary + + //effect eVis = EffectVisualEffect(VFX_IMP_IMPROVE_ABILITY_SCORE); + SignalEvent(oNPC, EventSpellCastAt(oNPC, SPELLABILITY_FEROCITY_3, FALSE)); + if (nCONMod > 0) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oNPC, RoundsToSeconds(nDuration)); + //ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF) ; + } +} diff --git a/_module/nss/nw_s1_gazechaos.nss b/_module/nss/nw_s1_gazechaos.nss new file mode 100644 index 00000000..950ce623 --- /dev/null +++ b/_module/nss/nw_s1_gazechaos.nss @@ -0,0 +1,69 @@ +//:://///////////////////////////////////////////// +//:: Gaze: Destroy Law +//:: NW_S1_GazeChaos +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Cone shape that affects all within the AoE if they + fail a Will Save and are of Lawful alignment. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 13, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "x0_i0_match" + +void main() +{ +//-------------------------------------------------------------------------- +// Make sure we are not blind +//-------------------------------------------------------------------------- + if (GetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF)) + { + FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE); + return; + } + + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + + location lTargetLocation = GetSpellTargetLocation(); + + effect eGaze = EffectDeath(); + effect eVis = EffectVisualEffect(VFX_IMP_DEATH); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) + { + if(GetAlignmentLawChaos(oTarget) == ALIGNMENT_LAWFUL) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_DESTROY_LAW)); + //Determine effect delay + float fDelay = GetDistanceBetween(oNPC, oTarget)/20; + if(!/*WillSave*/PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_DEATH, oNPC, fDelay)) + { + //Apply the VFX impact and effects + //DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eGaze, oTarget)); + } + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + } +} + diff --git a/_module/nss/nw_s1_gazecharm.nss b/_module/nss/nw_s1_gazecharm.nss new file mode 100644 index 00000000..e4a06224 --- /dev/null +++ b/_module/nss/nw_s1_gazecharm.nss @@ -0,0 +1,76 @@ +//:://///////////////////////////////////////////// +//:: Gaze: Charm +//:: NW_S1_GazeCharm +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Cone shape that affects all within the AoE if they + fail a Will Save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 9, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "x0_i0_match" + +void main() +{ +//-------------------------------------------------------------------------- +// Make sure we are not blind +//-------------------------------------------------------------------------- + if (GetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF)) + { + FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE); + return; + } + + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDuration = 1 + (nHD / 3); + if(nDuration == 0) { nDuration = 1; } + + location lTargetLocation = GetSpellTargetLocation(); + + effect eGaze = EffectCharmed(); + + effect eVis = EffectVisualEffect(VFX_IMP_CHARM); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eVisDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_NEGATIVE); + effect eLink = EffectLinkEffects(eDur, eVisDur); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != OBJECT_SELF) + { + nDuration = GetScaledDuration(nDuration, oTarget); + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_CHARM)); + //Determine effect delay + float fDelay = GetDistanceBetween(oNPC, oTarget)/20; + if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS, oNPC, fDelay)) + { + eGaze = GetScaledEffect(eGaze, oTarget); + eLink = EffectLinkEffects(eLink, eGaze); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration))); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + } +} + + diff --git a/_module/nss/nw_s1_gazeconfu.nss b/_module/nss/nw_s1_gazeconfu.nss new file mode 100644 index 00000000..4add32ff --- /dev/null +++ b/_module/nss/nw_s1_gazeconfu.nss @@ -0,0 +1,77 @@ +//:://///////////////////////////////////////////// +//:: Gaze: Confusion +//:: NW_S1_GazeConfu +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Cone shape that affects all within the AoE if they + fail a Will Save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 9, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "x0_i0_match" + +void main() +{ +//-------------------------------------------------------------------------- +// Make sure we are not blind +//-------------------------------------------------------------------------- + if (GetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF)) + { + FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE); + return; + } + + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDuration = 1 + (nHD / 3); + if(nDuration == 0) { nDuration = 1; } + + location lTargetLocation = GetSpellTargetLocation(); + + effect eGaze = EffectConfused(); + effect eVis = EffectVisualEffect(VFX_IMP_CONFUSION_S); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eVisDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED); + effect eLink = EffectLinkEffects(eDur, eVisDur); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) + { + if(oTarget != oNPC) + { + nDuration = GetScaledDuration(nDuration , oTarget); + //Determine effect delay + float fDelay = GetDistanceBetween(oNPC, oTarget)/20; + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_CONFUSION)); + if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS, oNPC, fDelay)) + { + eGaze = GetScaledEffect(eGaze, oTarget); + eLink = EffectLinkEffects(eLink, eGaze); + + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration))); + } + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + } +} \ No newline at end of file diff --git a/_module/nss/nw_s1_gazedaze.nss b/_module/nss/nw_s1_gazedaze.nss new file mode 100644 index 00000000..f0a8c2dd --- /dev/null +++ b/_module/nss/nw_s1_gazedaze.nss @@ -0,0 +1,74 @@ +//:://///////////////////////////////////////////// +//:: Gaze: Daze +//:: NW_S1_GazeDaze +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Cone shape that affects all within the AoE if they + fail a Will Save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "x0_i0_match" + +void main() +{ +//-------------------------------------------------------------------------- +// Make sure we are not blind +//-------------------------------------------------------------------------- + if (GetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF)) + { + FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE); + return; + } + + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDuration = 1 + (nHD / 3); + if(nDuration == 0) { nDuration = 1; } + + location lTargetLocation = GetSpellTargetLocation(); + + effect eGaze = EffectDazed(); + effect eVis = EffectVisualEffect(VFX_IMP_DAZED_S); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eVisDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED); + effect eLink = EffectLinkEffects(eGaze, eVisDur); + eLink = EffectLinkEffects(eLink, eDur); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) + { + nDuration = GetScaledDuration(nDuration , oTarget); + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_DAZE)); + + //Determine effect delay + float fDelay = GetDistanceBetween(oNPC, oTarget)/20; + if(!/*WillSave*/PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS, oNPC, fDelay)) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration))); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + } +} + diff --git a/_module/nss/nw_s1_gazedeath.nss b/_module/nss/nw_s1_gazedeath.nss new file mode 100644 index 00000000..635ee53b --- /dev/null +++ b/_module/nss/nw_s1_gazedeath.nss @@ -0,0 +1,66 @@ +//:://///////////////////////////////////////////// +//:: Gaze: Death +//:: NW_S1_GazeDeath +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Cone shape that affects all within the AoE if they + fail a Will Save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 9, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "x0_i0_match" + +void main() +{ +//-------------------------------------------------------------------------- +// Make sure we are not blind +//-------------------------------------------------------------------------- + if (GetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF)) + { + FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE); + return; + } + + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + + location lTargetLocation = GetSpellTargetLocation(); + + effect eGaze = EffectDeath(); + effect eVis = EffectVisualEffect(VFX_IMP_DEATH); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) || oTarget != oNPC) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_DEATH)); + //Determine effect delay + float fDelay = GetDistanceBetween(oNPC, oTarget)/20; + if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_DEATH, oNPC, fDelay)) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eGaze, oTarget)); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + } +} + diff --git a/_module/nss/nw_s1_gazedomn.nss b/_module/nss/nw_s1_gazedomn.nss new file mode 100644 index 00000000..56e56e0b --- /dev/null +++ b/_module/nss/nw_s1_gazedomn.nss @@ -0,0 +1,78 @@ +//:://///////////////////////////////////////////// +//:: Gaze: Dominate +//:: NW_S1_GazeDomn +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Cone shape that affects all within the AoE if they + fail a Will Save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 9, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "x0_i0_match" + +void main() +{ +//-------------------------------------------------------------------------- +// Make sure we are not blind +//-------------------------------------------------------------------------- + if (GetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF)) + { + FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE); + return; + } + + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDuration = 1 + (nHD / 3); + if(nDuration == 0) { nDuration = 1; } + + location lTargetLocation = GetSpellTargetLocation(); + + effect eGaze = EffectDominated(); + effect eVis = EffectVisualEffect(VFX_IMP_DOMINATE_S); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eVisDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DOMINATED); + effect eLink = EffectLinkEffects(eDur, eVisDur); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) + { + nDuration = GetScaledDuration(nDuration , oTarget); + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_DOMINATE)); + //Determine effect delay + float fDelay = GetDistanceBetween(oNPC, oTarget)/20; + if(GetIsEnemy(oTarget)) + { + if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS, oNPC, fDelay)) + { + eGaze = GetScaledEffect(eGaze, oTarget); + eLink = EffectLinkEffects(eLink, eGaze); + + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration))); + } + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + } +} + diff --git a/_module/nss/nw_s1_gazedoom.nss b/_module/nss/nw_s1_gazedoom.nss new file mode 100644 index 00000000..cb359b59 --- /dev/null +++ b/_module/nss/nw_s1_gazedoom.nss @@ -0,0 +1,74 @@ +//:://///////////////////////////////////////////// +//:: Gaze of Doom +//:: NW_S1_GazeDoom.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + If the target fails a save they recieve a -2 + penalty to all saves, attack rolls, damage and + skill checks for the duration of the spell. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 22, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "x0_i0_match" + +void main() +{ +//-------------------------------------------------------------------------- +// Make sure we are not blind +//-------------------------------------------------------------------------- + if (GetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF)) + { + FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE); + return; + } + + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDuration = 1 + (nHD / 3); + if(nDuration == 0) { nDuration = 1; } + + location lTargetLocation = GetSpellTargetLocation(); + + effect eVis = EffectVisualEffect(VFX_IMP_DOOM); + effect eSaves = EffectSavingThrowDecrease(SAVING_THROW_ALL, 2); + effect eAttack = EffectAttackDecrease(2); + effect eDamage = EffectDamageDecrease(2); + effect eSkill = EffectSkillDecrease(SKILL_ALL_SKILLS, 2); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eLink = EffectLinkEffects(eAttack, eDamage); + eLink = EffectLinkEffects(eLink, eSaves); + eLink = EffectLinkEffects(eLink, eSkill); + eLink = EffectLinkEffects(eLink, eDur); + + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, GetSpellTargetLocation()); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) + { + if(oTarget != oNPC) + { + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_DOOM)); + //Spell Resistance and Saving throw + if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC)) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink , oTarget, RoundsToSeconds(nDuration)); + } + } + } + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, GetSpellTargetLocation()); + } +} diff --git a/_module/nss/nw_s1_gazeevil.nss b/_module/nss/nw_s1_gazeevil.nss new file mode 100644 index 00000000..eb2a269c --- /dev/null +++ b/_module/nss/nw_s1_gazeevil.nss @@ -0,0 +1,70 @@ +//:://///////////////////////////////////////////// +//:: Gaze: Deatroy Good +//:: NW_S1_GazeEvil +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Cone shape that affects all within the AoE if they + fail a Will Save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 13, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "x0_i0_match" + +void main() +{ +//-------------------------------------------------------------------------- +// Make sure we are not blind +//-------------------------------------------------------------------------- + if (GetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF)) + { + FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE); + return; + } + + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDuration = 1 + (nHD / 3); + + location lTargetLocation = GetSpellTargetLocation(); + + effect eGaze = EffectDeath(); + effect eVis = EffectVisualEffect(VFX_IMP_DEATH); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) + { + if(GetAlignmentGoodEvil(oTarget) == ALIGNMENT_GOOD) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_DEATH)); + //Determine effect delay + float fDelay = GetDistanceBetween(oNPC, oTarget)/20; + if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_DEATH, oNPC, fDelay)) + { + //Apply the VFX impact and effects + //DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eGaze, oTarget)); + } + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + } +} + diff --git a/_module/nss/nw_s1_gazefear.nss b/_module/nss/nw_s1_gazefear.nss new file mode 100644 index 00000000..333d85ce --- /dev/null +++ b/_module/nss/nw_s1_gazefear.nss @@ -0,0 +1,74 @@ +//:://///////////////////////////////////////////// +//:: Gaze: Fear +//:: NW_S1_GazeFear +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Cone shape that affects all within the AoE if they + fail a Will Save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 9, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "x0_i0_match" + +void main() +{ +//-------------------------------------------------------------------------- +// Make sure we are not blind +//-------------------------------------------------------------------------- + if (GetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF)) + { + FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE); + return; + } + + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDuration = 1 + (nHD / 3); + if(nDuration == 0) { nDuration = 1; } + nDuration = GetScaledDuration(nDuration , oTarget); + + location lTargetLocation = GetSpellTargetLocation(); + + effect eGaze = EffectFrightened(); + effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eVisDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR); + effect eLink = EffectLinkEffects(eGaze, eVisDur); + eLink = EffectLinkEffects(eLink, eDur); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + while(GetIsObjectValid(oTarget)) + { + nDuration = GetScaledDuration(nDuration , oTarget); + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_FEAR)); + //Determine effect delay + float fDelay = GetDistanceBetween(oNPC, oTarget)/20; + if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR, oNPC, fDelay)) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration))); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + } +} + diff --git a/_module/nss/nw_s1_gazegood.nss b/_module/nss/nw_s1_gazegood.nss new file mode 100644 index 00000000..6ce014de --- /dev/null +++ b/_module/nss/nw_s1_gazegood.nss @@ -0,0 +1,70 @@ +//:://///////////////////////////////////////////// +//:: Gaze: Deatroy Evil +//:: NW_S1_GazeGood +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Cone shape that affects all within the AoE if they + fail a Will Save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 13, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "x0_i0_match" + +void main() +{ +//-------------------------------------------------------------------------- +// Make sure we are not blind +//-------------------------------------------------------------------------- + if (GetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF)) + { + FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE); + return; + } + + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDuration = 1 + (nHD / 3); + + location lTargetLocation = GetSpellTargetLocation(); + + effect eGaze = EffectDeath(); + effect eVis = EffectVisualEffect(VFX_IMP_DEATH); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) + { + if(GetAlignmentGoodEvil(oTarget) == ALIGNMENT_EVIL) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_DEATH)); + //Determine effect delay + float fDelay = GetDistanceBetween(oNPC, oTarget)/20; + if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_DEATH, oNPC, fDelay)) + { + //Apply the VFX impact and effects + //DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eGaze, oTarget)); + } + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + } +} + diff --git a/_module/nss/nw_s1_gazelaw.nss b/_module/nss/nw_s1_gazelaw.nss new file mode 100644 index 00000000..14a9401b --- /dev/null +++ b/_module/nss/nw_s1_gazelaw.nss @@ -0,0 +1,71 @@ +//:://///////////////////////////////////////////// +//:: Gaze: Deatroy Chaos +//:: NW_S1_GazeLaw +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Cone shape that affects all within the AoE if they + fail a Will Save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 13, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "x0_i0_match" + +void main() +{ +//-------------------------------------------------------------------------- +// Make sure we are not blind +//-------------------------------------------------------------------------- + if (GetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF)) + { + FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE); + return; + } + + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDuration = 1 + (nHD / 3); + if(nDuration == 0) { nDuration = 1; } + + location lTargetLocation = GetSpellTargetLocation(); + + effect eGaze = EffectDeath(); + effect eVis = EffectVisualEffect(VFX_IMP_DEATH); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) + { + if(GetAlignmentLawChaos(oTarget) == ALIGNMENT_CHAOTIC) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_DESTROY_LAW)); + //Determine effect delay + float fDelay = GetDistanceBetween(oNPC, oTarget)/20; + if(!/*WillSave*/PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_DEATH, oNPC, fDelay)) + { + //Apply the VFX impact and effects + //DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eGaze, oTarget)); + } + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + } +} + diff --git a/_module/nss/nw_s1_gazestun.nss b/_module/nss/nw_s1_gazestun.nss new file mode 100644 index 00000000..8c443992 --- /dev/null +++ b/_module/nss/nw_s1_gazestun.nss @@ -0,0 +1,73 @@ +//:://///////////////////////////////////////////// +//:: Gaze: Stun +//:: NW_S1_GazeStun +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Cone shape that affects all within the AoE if they + fail a Will Save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 9, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "x0_i0_match" + +void main() +{ +//-------------------------------------------------------------------------- +// Make sure we are not blind +//-------------------------------------------------------------------------- + if (GetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF)) + { + FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE); + return; + } + + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDuration = 1 + (nHD / 3); + + location lTargetLocation = GetSpellTargetLocation(); + + effect eGaze = EffectStunned(); + effect eVis = EffectVisualEffect(VFX_IMP_STUN); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eVisDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED); + effect eLink = EffectLinkEffects(eDur, eVisDur); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) + { + nDuration = GetScaledDuration(nDuration , oTarget); + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_STUNNED)); + //Determine effect delay + float fDelay = GetDistanceBetween(oNPC, oTarget)/20; + if(!/*WillSave*/PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS, oNPC, fDelay)) + { + eGaze = GetScaledEffect(eGaze, oTarget); + eLink = EffectLinkEffects(eLink, eGaze); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration))); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + } +} + diff --git a/_module/nss/nw_s1_golemgas.nss b/_module/nss/nw_s1_golemgas.nss new file mode 100644 index 00000000..6fb1495a --- /dev/null +++ b/_module/nss/nw_s1_golemgas.nss @@ -0,0 +1,41 @@ +//:://///////////////////////////////////////////// +//:: Golem Breath +//:: NW_S1_GolemGas +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Iron Golem spits out a cone of poison. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 22, 2001 +//::////////////////////////////////////////////// + +//#include "wm_include" +void main() +{ + //if (WildMagicOverride()) { return; } + //Declare major variables + location lTargetLocation = GetSpellTargetLocation(); + object oTarget; + effect eCone = EffectPoison(POISON_IRON_GOLEM); + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != OBJECT_SELF) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_GOLEM_BREATH_GAS)); + //Determine effect delay + float fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20; + //Apply poison effect + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget)); + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE); + } +} + + + diff --git a/_module/nss/nw_s1_hndbreath.nss b/_module/nss/nw_s1_hndbreath.nss new file mode 100644 index 00000000..e1427974 --- /dev/null +++ b/_module/nss/nw_s1_hndbreath.nss @@ -0,0 +1,66 @@ +//:://///////////////////////////////////////////// +//:: Hell Hound Fire Breath +//:: NW_S1_HndBreath +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A cone of fire eminates from the hound. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC); + int nDC = 10 +nCONMod+ (nHD/2); + int nDamage = d6(2); + + float fDelay; + + location lTargetLocation = GetSpellTargetLocation(); + + effect eCone; + effect eVis = EffectVisualEffect(VFX_IMP_FLAME_S); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 11.0, lTargetLocation, TRUE); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HELL_HOUND_FIREBREATH)); + + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_FIRE); + + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + + //Set damage effect + eCone = EffectDamage(nDamage, DAMAGE_TYPE_FIRE); + if(nDamage > 0) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget)); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 11.0, lTargetLocation, TRUE); + } +} + + + diff --git a/_module/nss/nw_s1_howlconf.nss b/_module/nss/nw_s1_howlconf.nss new file mode 100644 index 00000000..f9d770e4 --- /dev/null +++ b/_module/nss/nw_s1_howlconf.nss @@ -0,0 +1,67 @@ +//:://///////////////////////////////////////////// +//:: Howl: Confuse +//:: NW_S1_HowlConf +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A howl emanates from the creature which affects + all within 20ft unless they make a save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/4); + int nDuration = 1 + (nHD/4); + if(nDuration == 0) { nDuration = 1; } + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_CONFUSION_S); + effect eHowl = EffectConfused(); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eDur2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED); + effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_MIND); + effect eLink = EffectLinkEffects(eHowl, eDur); + eLink = EffectLinkEffects(eLink, eDur2); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != oNPC) + { + nDuration = GetScaledDuration(nDuration , oTarget); + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_CONFUSE)); + fDelay = GetDistanceToObject(oTarget)/10; + //Make a saving throw check + if(!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS, oNPC, fDelay)) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration))); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + } +} + + diff --git a/_module/nss/nw_s1_howldaze.nss b/_module/nss/nw_s1_howldaze.nss new file mode 100644 index 00000000..bd8e20c5 --- /dev/null +++ b/_module/nss/nw_s1_howldaze.nss @@ -0,0 +1,65 @@ +//:://///////////////////////////////////////////// +//:: Howl: Daze +//:: NW_S1_HowlDaze +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A howl emanates from the creature which affects + all within 10ft unless they make a save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/4); + int nDuration = 1 + (nHD/4); + if(nDuration == 0) { nDuration = 1; } + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_DAZED_S); + effect eHowl = EffectDazed(); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eDur2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED); + effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_MIND); + effect eLink = EffectLinkEffects(eHowl, eDur); + eLink = EffectLinkEffects(eLink, eDur2); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != oNPC) + { + nDuration = GetScaledDuration(nDuration , oTarget); + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_DAZE)); + fDelay = GetDistanceToObject(oTarget)/10; + //Make a saving throw check + if(!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS, oNPC, fDelay)) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration))); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + } +} \ No newline at end of file diff --git a/_module/nss/nw_s1_howldeath.nss b/_module/nss/nw_s1_howldeath.nss new file mode 100644 index 00000000..5730647b --- /dev/null +++ b/_module/nss/nw_s1_howldeath.nss @@ -0,0 +1,59 @@ +//:://///////////////////////////////////////////// +//:: Howl: Death +//:: NW_S1_HowlDeath +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A howl emanates from the creature which affects + all within 10ft unless they make a save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/4); + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_DEATH); + effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_ODD); + effect eHowl = EffectDeath(); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != oNPC) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_DEATH)); + fDelay = GetDistanceToObject(oTarget)/10; + //Make a saving throw check + if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_DEATH, oNPC, fDelay)) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget)); + //ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + } +} + diff --git a/_module/nss/nw_s1_howlfear.nss b/_module/nss/nw_s1_howlfear.nss new file mode 100644 index 00000000..13dcfaf0 --- /dev/null +++ b/_module/nss/nw_s1_howlfear.nss @@ -0,0 +1,68 @@ +//:://///////////////////////////////////////////// +//:: Howl: Fear +//:: NW_S1_HowlFear +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A howl emanates from the creature which affects + all within 10ft unless they make a save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/4); + int nDuration = 1 + (nHD/4); + if(nDuration == 0) { nDuration = 1; } + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S); + effect eHowl = EffectFrightened(); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eDur2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR); + effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_MIND); + effect eLink = EffectLinkEffects(eHowl, eDur); + eLink = EffectLinkEffects(eLink, eDur2); + + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != oNPC) + { + fDelay = GetDistanceToObject(oTarget)/10; + nDuration = GetScaledDuration(nDuration , oTarget); + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_FEAR)); + + //Make a saving throw check + if(!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR)) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration))); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + } +} + diff --git a/_module/nss/nw_s1_howlparal.nss b/_module/nss/nw_s1_howlparal.nss new file mode 100644 index 00000000..b0ecd43c --- /dev/null +++ b/_module/nss/nw_s1_howlparal.nss @@ -0,0 +1,65 @@ +//:://///////////////////////////////////////////// +//:: Howl: Paralysis +//:: NW_S1_HowlParal +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A howl emanates from the creature which affects + all within 10ft unless they make a save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/4); + int nDuration = 1 + (nHD/4); + if(nDuration == 0) { nDuration = 1; } + + float fDelay; + + effect eHowl = EffectParalyze(); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eDur2 = EffectVisualEffect(VFX_DUR_PARALYZE_HOLD); + effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_ODD); + effect eLink = EffectLinkEffects(eHowl, eDur); + eLink = EffectLinkEffects(eLink, eDur2); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != oNPC) + { + fDelay = GetDistanceToObject(oTarget)/10; + nDuration = GetScaledDuration(nDuration , oTarget); + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_PARALYSIS)); + + //Make a saving throw check + if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_NONE, oNPC, fDelay)) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration))); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + } +} + diff --git a/_module/nss/nw_s1_howlsonic.nss b/_module/nss/nw_s1_howlsonic.nss new file mode 100644 index 00000000..4de9768f --- /dev/null +++ b/_module/nss/nw_s1_howlsonic.nss @@ -0,0 +1,65 @@ +//:://///////////////////////////////////////////// +//:: Howl: Sonic +//:: NW_S1_HowlSonic +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A howl emanates from the creature which affects + all within 10ft unless they make a save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/4); + int nDamage; + int nSonic = nHD/4; + if(nSonic == 0) { nSonic = 1; } + + effect eVis = EffectVisualEffect(VFX_IMP_SONIC); + effect eHowl; + effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_WAR_CRY); + + float fDelay; + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsFriend(oTarget) && oTarget != oNPC) + { + fDelay = GetDistanceToObject(oTarget)/20; + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_SONIC)); + nDamage = d6(nSonic); + //Make a saving throw check + if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_SONIC, oNPC, fDelay)) + { + nDamage = nDamage / 2; + } + //Set damage effect + eHowl = EffectDamage(nDamage, DAMAGE_TYPE_SONIC); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + } +} \ No newline at end of file diff --git a/_module/nss/nw_s1_howlstun.nss b/_module/nss/nw_s1_howlstun.nss new file mode 100644 index 00000000..962d9b90 --- /dev/null +++ b/_module/nss/nw_s1_howlstun.nss @@ -0,0 +1,66 @@ +//:://///////////////////////////////////////////// +//:: Howl: Stun +//:: NW_S1_HowlStun +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A howl emanates from the creature which affects + all within 10ft unless they make a save. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +//#include "wm_include" +#include "NW_I0_SPELLS" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/4); + int nDuration = 1 + (nHD/4); + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_STUN); + effect eHowl = EffectStunned(); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eDur2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED); + effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_MIND); + effect eLink = EffectLinkEffects(eHowl, eDur); + eLink = EffectLinkEffects(eLink, eDur2); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != oNPC) + { + fDelay = GetDistanceToObject(oTarget)/10; + nDuration = GetScaledDuration(nDuration , oTarget); + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_STUN)); + + //Make a saving throw check + if(!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS)) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration))); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + } +} + diff --git a/_module/nss/nw_s1_krenscare.nss b/_module/nss/nw_s1_krenscare.nss new file mode 100644 index 00000000..79099160 --- /dev/null +++ b/_module/nss/nw_s1_krenscare.nss @@ -0,0 +1,61 @@ +//:://///////////////////////////////////////////// +//:: Krenshar Fear Stare +//:: NW_S1_KrenScare +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Causes those in the gaze to be struck with fear +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Jan 8, 2002 +//::////////////////////////////////////////////// +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nMetaMagic = PRCGetMetaMagicFeat(); + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S); + effect eFear = EffectFrightened(); + effect eMind = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + //Link the fear and mind effects + effect eLink = EffectLinkEffects(eFear, eMind); + eLink = EffectLinkEffects(eLink, eDur); + + + //Get first target in the spell cone + oTarget = GetFirstObjectInShape(SHAPE_CONE, 10.0, GetSpellTargetLocation(), TRUE); + while(GetIsObjectValid(oTarget)) + { + //Make faction check + if(GetIsEnemy(oTarget)) + { + fDelay = GetDistanceToObject(oTarget)/20; + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_KRENSHAR_SCARE)); + //Make a will save + if(!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR)) + { + //Apply the linked effects and the VFX impact + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(3))); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + //Get next target in the spell cone + oTarget = GetNextObjectInShape(SHAPE_CONE, 10.0, GetSpellTargetLocation(), TRUE); + } +} diff --git a/_module/nss/nw_s1_mephsalt.nss b/_module/nss/nw_s1_mephsalt.nss new file mode 100644 index 00000000..03b0b97f --- /dev/null +++ b/_module/nss/nw_s1_mephsalt.nss @@ -0,0 +1,63 @@ +//:://///////////////////////////////////////////// +//:: Salt Mephit Breath +//:: NW_S1_MephSalt +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Salt Mephit shoots out a bolt of corrosive material + that causes 1d4 damage and reduces AC and Attack by 2 + + This should be a cone - Jaysyn +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC); + int nDC = 10 +nCONMod+ (nHD/2); + int nDamage = d4(); + + effect eVis = EffectVisualEffect(VFX_IMP_ACID_S); + effect eBolt, eAttack, eAC; + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_ACID); + + //Make a ranged touch attack + int nTouch = TouchAttackRanged(oTarget); + if(nDamage == 0) {nTouch = 0;} + if(nTouch > 0) + { + if(nTouch == 2) + { + nDamage *= 2; + } + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_MEPHIT_SALT_BREATH)); + + //Set damage, AC mod and attack mod effects + eBolt = EffectDamage(nDamage, DAMAGE_TYPE_ACID); + eAC = EffectACDecrease(2); + eAttack = EffectAttackDecrease(2); + effect eLink = EffectLinkEffects(eAttack, eAC); + eLink = EffectLinkEffects(eLink, eDur); + + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(3)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } +} diff --git a/_module/nss/nw_s1_mephsteam.nss b/_module/nss/nw_s1_mephsteam.nss new file mode 100644 index 00000000..9b46d89b --- /dev/null +++ b/_module/nss/nw_s1_mephsteam.nss @@ -0,0 +1,67 @@ +//:://///////////////////////////////////////////// +//:: Steam Mephit Breath +//:: NW_S1_MephSteam +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Steam Mephit shoots out a bolt of steam + that causes 1d4 damage and reduces AC by 4 + and Attack by 2 + + This should be a cone - Jaysyn +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 11, 2001 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC); + int nDC = 10 +nCONMod+ (nHD/2); + int nDamage = d4(); + + + effect eVis = EffectVisualEffect(VFX_IMP_ACID_S); + effect eBolt, eAttack, eAC; + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + + + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_FIRE); + + //Make a ranged touch attack + int nTouch = TouchAttackRanged(oTarget); + if(nDamage == 0) {nTouch = 0;} + + if(nTouch > 0) + { + if(nTouch == 2) + { + nDamage *= 2; + } + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_MEPHIT_STEAM_BREATH)); + + //Set damage, AC mod and attack mod effects + eBolt = EffectDamage(nDamage, DAMAGE_TYPE_FIRE); + eAC = EffectACDecrease(4); + eAttack = EffectAttackDecrease(2); + effect eLink = EffectLinkEffects(eAC, eAttack); + eLink = EffectLinkEffects(eLink, eDur); + + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(3)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); + } +} diff --git a/_module/nss/nw_s1_mumundead.nss b/_module/nss/nw_s1_mumundead.nss new file mode 100644 index 00000000..f11db57b --- /dev/null +++ b/_module/nss/nw_s1_mumundead.nss @@ -0,0 +1,53 @@ +//:://///////////////////////////////////////////// +//:: Bolster Undead +//:: NW_S1_MumUndead +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + This spell increases the Turn Resistance of + all undead around the caster by an amount + scaled with HD. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 22, 2002 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nScaling = nHD / 4; + + if(nScaling == 0) {nScaling = 1;} + + float fDelay; + + effect eTurn = EffectTurnResistanceIncrease(nScaling); + effect eVis = EffectVisualEffect(VFX_IMP_HEAD_EVIL); + effect eImpact = EffectVisualEffect(VFX_FNF_LOS_EVIL_30); + + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eImpact, GetLocation(oNPC)); + + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(GetIsFriend(oTarget)) + { + fDelay = GetRandomDelay(); + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_MUMMY_BOLSTER_UNDEAD, FALSE)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eTurn, oTarget, RoundsToSeconds(10))); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC)); + } +} diff --git a/_module/nss/nw_s1_pulschrdr.nss b/_module/nss/nw_s1_pulschrdr.nss new file mode 100644 index 00000000..b55902c4 --- /dev/null +++ b/_module/nss/nw_s1_pulschrdr.nss @@ -0,0 +1,73 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Charisma Drain +//:: NW_S1_PulsDeath +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of energy emanates from the creature which affects + all within 10ft. Damage can be reduced by half for all + damaging variants. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + + int nDamage = nHD/5; + + if (nDamage == 0) {nDamage = 1;} + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eHowl; + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(oTarget != oNPC) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_ABILITY_DRAIN_CHARISMA)); + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + //Make a saving throw check + if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE, oNPC, fDelay)) + { + //Set the Ability mod and change to supernatural effect + eHowl = EffectAbilityDecrease(ABILITY_CHARISMA, nDamage); + eHowl = SupernaturalEffect(eHowl); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + } + //Get first target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + } +} + + diff --git a/_module/nss/nw_s1_pulscold.nss b/_module/nss/nw_s1_pulscold.nss new file mode 100644 index 00000000..c5ff7d28 --- /dev/null +++ b/_module/nss/nw_s1_pulscold.nss @@ -0,0 +1,68 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Cold +//:: NW_S1_PulsCold +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of energy emanates from the creature which affects + all within 10ft. Damage can be reduced by half for all + damaging variants. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDamage = d6(nHD); + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_FROST_S); + effect eHowl; + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_COLD); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(oTarget != oNPC) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_COLD)); + + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_COLD); + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + eHowl = EffectDamage(nDamage, DAMAGE_TYPE_COLD); + if(nDamage > 0) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + } +} + + diff --git a/_module/nss/nw_s1_pulscondr.nss b/_module/nss/nw_s1_pulscondr.nss new file mode 100644 index 00000000..bfdbfcfe --- /dev/null +++ b/_module/nss/nw_s1_pulscondr.nss @@ -0,0 +1,71 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Constitution Drain +//:: NW_S1_PulsDeath +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of energy emanates from the creature which affects + all within 10ft. Damage can be reduced by half for all + damaging variants. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + + int nDamage = nHD/5; + + if (nDamage == 0) {nDamage = 1;} + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eHowl; + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(oTarget != oNPC) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_ABILITY_DRAIN_CONSTITUTION)); + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + //Make a saving throw check + if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE, oNPC, fDelay)) + { + //Set the Ability mod and change to supernatural effect + eHowl = EffectAbilityDecrease(ABILITY_CONSTITUTION, nDamage); + eHowl = SupernaturalEffect(eHowl); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + } + //Get first target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + } +} + diff --git a/_module/nss/nw_s1_pulsdeath.nss b/_module/nss/nw_s1_pulsdeath.nss new file mode 100644 index 00000000..7c949d1c --- /dev/null +++ b/_module/nss/nw_s1_pulsdeath.nss @@ -0,0 +1,68 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Death +//:: NW_S1_PulsDeath +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of energy emanates from the creature which affects + all within 10ft. Damage can be reduced by half for all + damaging variants. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + + int nDamage = nHD/5; + + if (nDamage == 0) {nDamage = 1;} + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_DEATH); + effect eHowl = EffectDeath(); + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + if(oTarget != OBJECT_SELF) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_DEATH)); + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_DEATH, oNPC, fDelay)) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget)); + //DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + } +} + + diff --git a/_module/nss/nw_s1_pulsdexdr.nss b/_module/nss/nw_s1_pulsdexdr.nss new file mode 100644 index 00000000..d29872ad --- /dev/null +++ b/_module/nss/nw_s1_pulsdexdr.nss @@ -0,0 +1,70 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Dexterity Drain +//:: NW_S1_PulsDeath +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of energy emanates from the creature which affects + all within 10ft. Damage can be reduced by half for all + damaging variants. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + + int nDamage = nHD/5; + + if (nDamage == 0) {nDamage = 1;} + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eHowl; + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(oTarget != oNPC) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_ABILITY_DRAIN_DEXTERITY)); + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + //Make a saving throw check + if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE, oNPC, fDelay)) + { + //Set the Ability mod and change to supernatural effect + eHowl = EffectAbilityDecrease(ABILITY_DEXTERITY, nDamage); + eHowl = SupernaturalEffect(eHowl); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + } + //Get first target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + } +} + diff --git a/_module/nss/nw_s1_pulsdis.nss b/_module/nss/nw_s1_pulsdis.nss new file mode 100644 index 00000000..f81568cf --- /dev/null +++ b/_module/nss/nw_s1_pulsdis.nss @@ -0,0 +1,85 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Disease +//:: NW_S1_PulsDis +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of disease spreads out from the creature + and infects all those within 10ft +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Aug 14, 2000 +//::////////////////////////////////////////////// +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nRacial = MyPRCGetRacialType(oNPC); + int nHD = GetHitDice(oNPC); + int nDamage = d6(nHD); + int nDisease; + + float fDelay; + + effect eDisease; + effect ePulse = EffectVisualEffect(266); + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NATURE); + + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, ePulse, GetLocation(oNPC)); + + //Determine the disease type based on the Racial Type + switch (nRacial) + { + case RACIAL_TYPE_VERMIN: + nDisease = DISEASE_VERMIN_MADNESS; + break; + case RACIAL_TYPE_UNDEAD: + nDisease = DISEASE_FILTH_FEVER; + break; + case RACIAL_TYPE_OUTSIDER: + nDisease = DISEASE_DEMON_FEVER; + break; + case RACIAL_TYPE_MAGICAL_BEAST: + nDisease = DISEASE_SOLDIER_SHAKES; + break; + case RACIAL_TYPE_ABERRATION: + nDisease = DISEASE_BLINDING_SICKNESS; + break; + default: + nDisease = DISEASE_MINDFIRE; + break; + } + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(oTarget != oNPC) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_PULSE_DISEASE)); + //Determine effect delay + fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20; + eDisease = EffectDisease(nDisease); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDisease, oTarget)); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + } +} + + diff --git a/_module/nss/nw_s1_pulselec.nss b/_module/nss/nw_s1_pulselec.nss new file mode 100644 index 00000000..2f856145 --- /dev/null +++ b/_module/nss/nw_s1_pulselec.nss @@ -0,0 +1,68 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Lightning +//:: NW_S0_CallLghtn.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + All creatures within 10ft of the creature take + 1d6 per HD up to 10d6 +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 22, 2001 +//::////////////////////////////////////////////// +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDamage; + + effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_S); + effect eLightning = EffectBeam(VFX_BEAM_LIGHTNING, oNPC, BODY_NODE_CHEST); + effect eHowl = EffectVisualEffect(VFX_IMP_PULSE_COLD); + + DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eHowl, GetLocation(oNPC))); + + float fDelay; + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(oTarget != oNPC) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_LIGHTNING)); + //Roll the damage + nDamage = d6(nHD); + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_ELECTRICITY); + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + eHowl = EffectDamage(nDamage, DAMAGE_TYPE_ELECTRICAL); + if(nDamage > 0) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLightning,oTarget, 0.5)); + } + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + } +} + diff --git a/_module/nss/nw_s1_pulsfire.nss b/_module/nss/nw_s1_pulsfire.nss new file mode 100644 index 00000000..9270aa99 --- /dev/null +++ b/_module/nss/nw_s1_pulsfire.nss @@ -0,0 +1,69 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Fire +//:: NW_S1_PulsFire +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of energy emanates from the creature which affects + all within 10ft. Damage can be reduced by half for all + damaging variants. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDamage; + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_FLAME_S); + effect eHowl; + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_FIRE); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, OBJECT_SELF); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF)); + while(GetIsObjectValid(oTarget)) + { + if(oTarget != OBJECT_SELF) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_PULSE_FIRE)); + //Roll the damage + nDamage = d6(nHD); + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_FIRE); + //Determine effect delay + fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20; + eHowl = EffectDamage(nDamage, DAMAGE_TYPE_FIRE); + if(nDamage > 0) + { + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF)); + } +} + + diff --git a/_module/nss/nw_s1_pulsholy.nss b/_module/nss/nw_s1_pulsholy.nss new file mode 100644 index 00000000..20ae4638 --- /dev/null +++ b/_module/nss/nw_s1_pulsholy.nss @@ -0,0 +1,89 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Holy +//:: NW_S1_PulsHoly +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of energy emanates from the creature which affects + all within 10ft. Damage can be reduced by half for all + damaging variants. Undead are damaged, allies are healed. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDamage; + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_HEALING_M); + effect eVis2 = EffectVisualEffect(VFX_IMP_SUNSTRIKE); + effect eHowl; + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_HOLY); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + //Roll the amount to heal or damage + nDamage = d4(nHD); + //If the target is not undead + if (MyPRCGetRacialType(oTarget) != RACIAL_TYPE_UNDEAD) + { + //Make a faction check + if(oTarget != oNPC) + { + if(GetIsFriend(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_HOLY, FALSE)); + //Set heal effect + eHowl = EffectHeal(nDamage); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + } + else + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_DIVINE); + //Set damage effect + eHowl = EffectDamage(nDamage, DAMAGE_TYPE_DIVINE) ; + if(nDamage > 0) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_HOLY)); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oTarget)); + } + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + } +} + diff --git a/_module/nss/nw_s1_pulsintdr.nss b/_module/nss/nw_s1_pulsintdr.nss new file mode 100644 index 00000000..8558364b --- /dev/null +++ b/_module/nss/nw_s1_pulsintdr.nss @@ -0,0 +1,72 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Intelligence Drain +//:: NW_S1_PulsDeath +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of energy emanates from the creature which affects + all within 10ft. Damage can be reduced by half for all + damaging variants. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + + int nDamage = nHD/5; + + if (nDamage == 0) {nDamage = 1;} + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eHowl; + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(oTarget != oNPC) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_ABILITY_DRAIN_INTELLIGENCE)); + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + //Make a saving throw check + if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE, oNPC, fDelay)) + { + //Set the Ability mod and change to supernatural effect + eHowl = EffectAbilityDecrease(ABILITY_INTELLIGENCE, nDamage); + eHowl = SupernaturalEffect(eHowl); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + } + //Get first target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF)); + } +} + diff --git a/_module/nss/nw_s1_pulslvldr.nss b/_module/nss/nw_s1_pulslvldr.nss new file mode 100644 index 00000000..f65e073e --- /dev/null +++ b/_module/nss/nw_s1_pulslvldr.nss @@ -0,0 +1,62 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Level Drain +//:: NW_S1_PulsLvlDr +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of energy emanates from the creature which affects + all within 10ft. Damage can be reduced by half for all + damaging variants. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = GetAreaOfEffectCreator(); + object oTarget = GetEnteringObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eHowl; + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE); + + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eImpact, GetLocation(oNPC)); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + + while(GetIsObjectValid(oTarget)) + { + if(oTarget != oNPC) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + fDelay = GetSpellEffectDelay(GetLocation(oNPC), oTarget)/20; + //Make a saving throw check + if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE, oNPC, fDelay)) + { + //Apply the VFX impact and effects + eHowl = EffectNegativeLevel(1); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + } +} + diff --git a/_module/nss/nw_s1_pulsneg.nss b/_module/nss/nw_s1_pulsneg.nss new file mode 100644 index 00000000..9bfa749f --- /dev/null +++ b/_module/nss/nw_s1_pulsneg.nss @@ -0,0 +1,87 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Negative +//:: NW_S1_PulsDeath +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of energy emanates from the creature which affects + all within 10ft. Damage can be reduced by half for all + damaging variants. Undead are healed. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = GetAreaOfEffectCreator(); + object oTarget = GetEnteringObject(); + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + int nDamage; + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_HEALING_M); + effect eVis2 = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eHowl; + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(oTarget != oNPC) + { + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + //Roll the amount to heal or damage + nDamage = d4(nHD); + //If the target is undead + if (MyPRCGetRacialType(oTarget) == RACIAL_TYPE_UNDEAD) + { + //Make a faction check + if(GetIsFriend(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_HOLY, FALSE)); + //Set heal effect + eHowl = EffectHeal(nDamage); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + else + { + if(!GetIsReactionTypeFriendly(oTarget) && MyPRCGetRacialType(oTarget) != RACIAL_TYPE_UNDEAD) + { + //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE); + //Set damage effect + eHowl = EffectDamage(nDamage, DAMAGE_TYPE_NEGATIVE); + if(nDamage > 0) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_HOLY)); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oTarget)); + } + } + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + } +} diff --git a/_module/nss/nw_s1_pulspois.nss b/_module/nss/nw_s1_pulspois.nss new file mode 100644 index 00000000..252ae3a0 --- /dev/null +++ b/_module/nss/nw_s1_pulspois.nss @@ -0,0 +1,138 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Poison +//:: NW_S1_PulsPois +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of energy emanates from the creature which affects + all within 10ft. All who make a reflex save are not + poisoned. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 23, 2000 +//::////////////////////////////////////////////// +#include "prc_inc_racial" +//#include "wm_include" + +void main() +{ +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC); + int nDC = 10 +nCONMod+ (nHD/2); + int nRacial = MyPRCGetRacialType(oNPC); + int nPoison; + + float fDelay; + + effect ePoison; + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NATURE); + + //Determine the poison type based on the Racial Type and HD + switch (nRacial) + { + case RACIAL_TYPE_OUTSIDER: + if (nHD <= 9) + { + nPoison = POISON_QUASIT_VENOM; + } + else if (nHD > 9 && nHD < 13) + { + nPoison = POISON_BEBILITH_VENOM; + } + else if (nHD >= 13) + { + nPoison = POISON_PIT_FIEND_ICHOR; + } + break; + case RACIAL_TYPE_VERMIN: + if (nHD < 3) + { + nPoison = POISON_TINY_SPIDER_VENOM; + } + else if (nHD <= 3 && nHD < 6) + { + nPoison = POISON_SMALL_SPIDER_VENOM; + } + else if (nHD <= 6 && nHD < 9) + { + nPoison = POISON_MEDIUM_SPIDER_VENOM; + } + else if (nHD <= 9 && nHD < 12) + { + nPoison = POISON_LARGE_SPIDER_VENOM; + } + else if (nHD <= 12 && nHD < 15) + { + nPoison = POISON_HUGE_SPIDER_VENOM; + } + else if (nHD <= 15 && nHD < 18) + { + nPoison = POISON_GARGANTUAN_SPIDER_VENOM; + } + else if (nHD >= 18) + { + nPoison = POISON_COLOSSAL_SPIDER_VENOM; + } + break; + default: + if (nHD < 3) + { + nPoison = POISON_NIGHTSHADE; + } + else if (nHD <= 3 && nHD < 6) + { + nPoison = POISON_BLADE_BANE; + } + else if (nHD <= 6 && nHD < 9) + { + nPoison = POISON_BLOODROOT; + } + else if (nHD <= 9 && nHD < 12) + { + nPoison = POISON_LARGE_SPIDER_VENOM; + } + else if (nHD <= 12 && nHD < 15) + { + nPoison = POISON_LICH_DUST; + } + else if (nHD <= 15 && nHD < 18) + { + nPoison = POISON_DARK_REAVER_POWDER; + } + else if (nHD >= 18 ) + { + nPoison = POISON_BLACK_LOTUS_EXTRACT; + } + break; + } + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(oTarget != oNPC) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_POISON)); + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + ePoison = EffectPoison(nPoison); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, ePoison, oTarget)); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + } +} + + diff --git a/_module/nss/nw_s1_pulsspore.nss b/_module/nss/nw_s1_pulsspore.nss new file mode 100644 index 00000000..7e9e34d3 --- /dev/null +++ b/_module/nss/nw_s1_pulsspore.nss @@ -0,0 +1,50 @@ +//:://///////////////////////////////////////////// +//:: Vrock Spores +//:: NW_S1_PulsSpore +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of disease spreads out from the creature + and infects all those within 10ft +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Jan 8, 2002 +//::////////////////////////////////////////////// +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + float fDelay; + effect eDisease; + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NATURE); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(oTarget != oNPC) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_DISEASE)); + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + eDisease = EffectDisease(DISEASE_SOLDIER_SHAKES); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDisease, oTarget)); + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, GetLocation(oNPC)); + } +} diff --git a/_module/nss/nw_s1_pulsstrdr.nss b/_module/nss/nw_s1_pulsstrdr.nss new file mode 100644 index 00000000..5f88eabc --- /dev/null +++ b/_module/nss/nw_s1_pulsstrdr.nss @@ -0,0 +1,71 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Strength Drain +//:: NW_S1_PulsDeath +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of energy emanates from the creature which affects + all within 10ft. Damage can be reduced by half for all + damaging variants. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + + int nDamage = nHD/5; + + if (nDamage == 0) {nDamage = 1;} + + float fDelay; + + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE); + effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eHowl; + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + while(GetIsObjectValid(oTarget)) + { + if(oTarget != oNPC) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_ABILITY_DRAIN_STRENGTH)); + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + //Make a saving throw check + if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE, oNPC, fDelay)) + { + //Set the Ability mod and change to supernatural effect + eHowl = EffectAbilityDecrease(ABILITY_STRENGTH, nDamage); + eHowl = SupernaturalEffect(eHowl); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + } + //Get next target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + } +} + diff --git a/_module/nss/nw_s1_pulswind.nss b/_module/nss/nw_s1_pulswind.nss new file mode 100644 index 00000000..05724072 --- /dev/null +++ b/_module/nss/nw_s1_pulswind.nss @@ -0,0 +1,51 @@ +//:://///////////////////////////////////////////// +//:: Pulse Whirlwind +//:: NW_S1_PulsWind +//:: Copyright (c) 2001 Bioware Corp. +//:://///////////////////////////////////////////// +/* + All those that fail a save are knocked + down by the elemental whirlwind. +*/ +//:://///////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Jan 8, 2002 +//:://///////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nSTRMod = GetAbilityModifier(ABILITY_STRENGTH, oNPC); + int nDC = 10 +nSTRMod+ (nHD/2); + + effect eDown = EffectKnockdown(); + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_WIND); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) + { + //Make a saving throw check + if(!PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDown, oTarget, 5.0); + } + //Get next target in spell area + } + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); + } +} diff --git a/_module/nss/nw_s1_pulswisdr.nss b/_module/nss/nw_s1_pulswisdr.nss new file mode 100644 index 00000000..b1bf68c3 --- /dev/null +++ b/_module/nss/nw_s1_pulswisdr.nss @@ -0,0 +1,68 @@ +//:://///////////////////////////////////////////// +//:: Pulse: Wisdom Drain +//:: NW_S1_PulsWisDr +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + A wave of energy emanates from the creature which affects + all within 10ft. Damage can be reduced by half for all + damaging variants. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 14, 2000 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget; + + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + + int nDamage = nHD/5; + + if (nDamage == 0) {nDamage = 1;} + + float fDelay; + + effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); + effect eHowl; + effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE); + + ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, OBJECT_SELF); + + //Get first target in spell area + oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, GetLocation(OBJECT_SELF)); + while(GetIsObjectValid(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget) && oTarget != OBJECT_SELF) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_ABILITY_DRAIN_WISDOM)); + //Determine effect delay + fDelay = GetDistanceBetween(oNPC, oTarget)/20; + //Make a saving throw check + if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE, oNPC, fDelay)) + { + //Set the Ability mod and change to supernatural effect + eHowl = EffectAbilityDecrease(ABILITY_WISDOM, nDamage); + eHowl = SupernaturalEffect(eHowl); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHowl, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + //Get first target in spell area + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, GetLocation(OBJECT_SELF)); + } +} + diff --git a/_module/nss/nw_s1_smokeclaw.nss b/_module/nss/nw_s1_smokeclaw.nss new file mode 100644 index 00000000..6db3666f --- /dev/null +++ b/_module/nss/nw_s1_smokeclaw.nss @@ -0,0 +1,64 @@ +//:://///////////////////////////////////////////// +//:: Smoke Claws +//:: NW_S1_SmokeClaw +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + If a Belker succeeds at a touch attack the + target breaths in part of the Belker and suffers + 3d4 damage per round until a Fortitude save is + made. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 23 , 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//#include "wm_include" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + int nHD = GetHitDice(oNPC); + int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC); + int nDC = 10 +nCONMod+ (nHD/2); + + int bSave = FALSE; + + effect eVis = EffectVisualEffect(VFX_COM_BLOOD_REG_RED); + effect eSmoke; + float fDelay = 0.0; + + //Make a touch attack + if(TouchAttackMelee(oTarget)) + { + if(!GetIsReactionTypeFriendly(oTarget)) + { + //Make a saving throw check + while (bSave == FALSE) + { + //Make a saving throw check + if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NONE, oNPC, fDelay)) + { + bSave = TRUE; + } + else + { + //Set damage + eSmoke = EffectDamage(d4(3)); + //Apply the VFX impact and effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eSmoke, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + //Increment the delay + fDelay = fDelay + 6.0; + } + } + } + } +} diff --git a/_module/nss/nw_s1_stink_a.nss b/_module/nss/nw_s1_stink_a.nss new file mode 100644 index 00000000..67652dde --- /dev/null +++ b/_module/nss/nw_s1_stink_a.nss @@ -0,0 +1,57 @@ +//:://///////////////////////////////////////////// +//:: Stinking Cloud On Enter +//:: NW_S1_Stink_A.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Those within the area of effect must make a + fortitude save or be dazed. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 17, 2001 +//::////////////////////////////////////////////// + +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ +//:: Declare major variables + object oNPC = GetAreaOfEffectCreator(); + object oTarget = GetEnteringObject(); //Get the first object in the persistant area + + int nHD = GetHitDice(oNPC); + int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC); + int nDC = 10 +nCONMod+ (nHD/2); + + effect eStink = EffectDazed(); + effect eMind = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eLink = EffectLinkEffects(eMind, eStink); + eLink = EffectLinkEffects(eLink, eDur); + + effect eVis = EffectVisualEffect(VFX_IMP_DAZED_S); + + float fDelay; + + //if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;} + + if(MyPRCGetRacialType(oTarget) != RACIAL_TYPE_VERMIN) + { + if(GetIsEnemy(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_STINKING_CLOUD)); + //Make a Fort Save + if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_POISON)) + { + fDelay = GetRandomDelay(0.25, 1.0); + //Apply the VFX impact and linked effects + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(2))); + } + } + } +} diff --git a/_module/nss/nw_s1_tyrantfga.nss b/_module/nss/nw_s1_tyrantfga.nss new file mode 100644 index 00000000..a2752cbd --- /dev/null +++ b/_module/nss/nw_s1_tyrantfga.nss @@ -0,0 +1,56 @@ +//:://///////////////////////////////////////////// +//:: Tyrant Fog Zombie Mist Heartbeat +//:: NW_S1_TyrantFgA.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creatures entering the area around the zombie + must save or take 1 point of Constitution + damage. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 25, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_SPELLS" +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = GetAreaOfEffectCreator(); + object oTarget = GetEnteringObject(); + //if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;} + + int bAbsent = TRUE; + int nHD = GetHitDice(oNPC); + int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC); + int nDC = 10 +nCHAMod+ (nHD/2); + + effect eTest; + effect eCon = EffectAbilityDecrease(ABILITY_CONSTITUTION, 1); + eCon = ExtraordinaryEffect(eCon); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); + effect eLink = EffectLinkEffects(eCon, eDur); + + if(!GetHasSpellEffect(SPELLABILITY_TYRANT_FOG_MIST, oTarget)) + { + if(bAbsent == TRUE) + { + if(GetIsEnemy(oTarget, oNPC)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_TYRANT_FOG_MIST)); + //Make a saving throw check + if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_POISON)) + { + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(5)); + } + } + } + } +} diff --git a/_module/nss/nw_s1_tyrantfog.nss b/_module/nss/nw_s1_tyrantfog.nss new file mode 100644 index 00000000..e3ab9e63 --- /dev/null +++ b/_module/nss/nw_s1_tyrantfog.nss @@ -0,0 +1,25 @@ +//:://///////////////////////////////////////////// +//:: Tyrant Fog Zombie Mist +//:: NW_S1_TyrantFog.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creatures entering the area around the zombie + must save or take 1 point of Constitution + damage. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: May 25, 2001 +//::////////////////////////////////////////////// +//#include "wm_include" +#include "prc_inc_spells" + +void main() +{ + //if (WildMagicOverride()) { return; } + + //Declare and apply the AOE + effect eAOE = EffectAreaOfEffect(AOE_MOB_TYRANT_FOG); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100)); +} diff --git a/_module/nss/nw_s2_divprot.nss b/_module/nss/nw_s2_divprot.nss new file mode 100644 index 00000000..fff40abc --- /dev/null +++ b/_module/nss/nw_s2_divprot.nss @@ -0,0 +1,45 @@ +//:://///////////////////////////////////////////// +//:: Divine Protection +//:: NW_S2_DivProt.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Makes the target creature invisible to hostile + creatures unless they make a Will Save to ignore + the Sanctuary Effect +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Jan 8, 2002 +//::////////////////////////////////////////////// +#include "prc_inc_spells" +//#include "wm_include" +void main() +{ + //if (WildMagicOverride()) { return; } + +//:: Declare major variables + object oNPC = OBJECT_SELF; + object oTarget = PRCGetSpellTargetObject(); + + effect eVis = EffectVisualEffect(VFX_DUR_SANCTUARY); + effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE); + int nDC = 10 + GetAbilityModifier(ABILITY_CHARISMA) + GetLevelByTypeDivine(oNPC); + effect eSanc = EffectSanctuary(nDC); + + effect eLink = EffectLinkEffects(eVis, eSanc); + eLink = EffectLinkEffects(eLink, eDur); + //Fire cast spell at event for the specified target + SignalEvent(OBJECT_SELF, EventSpellCastAt(oNPC, SPELLABILITY_DIVINE_PROTECTION, FALSE)); + + int nDuration = GetLevelByTypeDivine(oNPC); + //Enter Metamagic conditions + int nMetaMagic = PRCGetMetaMagicFeat(); + if (nMetaMagic == METAMAGIC_EXTEND) + { + nDuration = nDuration *2; //Duration is +100% + } + //Apply the VFX impact and effects + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)); +} + diff --git a/_module/nss/nw_s3_balordeth.nss b/_module/nss/nw_s3_balordeth.nss new file mode 100644 index 00000000..96d0afb2 --- /dev/null +++ b/_module/nss/nw_s3_balordeth.nss @@ -0,0 +1,62 @@ +// HCR v3.2.0 - Execute default death script after fireball effects is complete. +//:://////////////////////////////////////////////////////////////////////////// +//:: FileName: NW_S3_BALORDETH +//:://////////////////////////////////////////////////////////////////////////// +/* + Fireball explosion does 50 damage to all within 20ft. +*/ +//:://////////////////////////////////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Jan 9, 2002 +//:://////////////////////////////////////////////////////////////////////////// +#include "NW_I0_SPELLS" +#include "prc_inc_spells" +//:://////////////////////////////////////////////////////////////////////////// +void main() +{ + // Declare major variables. + int nMetaMagic = PRCGetMetaMagicFeat(); + int nDamage; + float fDelay; + effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M); + effect eDam; + + // Apply the fireball explosion. + effect eExplode = EffectVisualEffect(VFX_FNF_FIREBALL); + location lTarget = GetLocation(OBJECT_SELF); + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eExplode, lTarget); + + // Cycle through the targets until an invalid object is captured. + object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR); + while (GetIsObjectValid(oTarget)) + { + // Fire cast spell at event for the specified target. + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_FIREBALL)); + + // Calculate delay based on distance between explosion and the target. + fDelay = (GetDistanceBetweenLocations(lTarget, GetLocation(oTarget))/20); + if (!PRCDoResistSpell(OBJECT_SELF, oTarget, FloatToInt(fDelay))) + { + // Adjust damage based on Reflex Save, Evasion and Improved Evasion. + nDamage = PRCGetReflexAdjustedDamage(50, oTarget, GetSpellSaveDC(), SAVING_THROW_TYPE_FIRE); + if (nDamage > 0) + { + // Apply effects to the currently selected target. + eDam = EffectDamage(nDamage, DAMAGE_TYPE_FIRE); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget)); + + // This visual effect is applied to the target object not the + // location as above. This visual effect represents the flame that + // erupts on the target not on the ground. + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); + } + } + + // Select the next target. + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR); + } + + // HCR 3.0 - Call default death script. + ExecuteScript("nw_c2_default7", OBJECT_SELF); +} +//:://////////////////////////////////////////////////////////////////////////// diff --git a/_release/Aantioch [PRC-CEP3].7z b/_release/Aantioch [PRC-CEP3].7z index be3d66cd..8d1e6c7c 100644 Binary files a/_release/Aantioch [PRC-CEP3].7z and b/_release/Aantioch [PRC-CEP3].7z differ