Updated Tar Lake Interior

Updated Tar Lake Interior.  Added class based starting item packages for new characters.
This commit is contained in:
Jaysyn904 2023-08-17 23:55:25 -04:00
parent f667238c5c
commit 8eb0b3d0a2
21 changed files with 3105 additions and 23918 deletions

View File

@ -11169,7 +11169,7 @@
},
"Version": {
"type": "dword",
"value": 10
"value": 12
},
"Width": {
"type": "int",

View File

@ -14,7 +14,7 @@
},
"Comments": {
"type": "cexostring",
"value": ""
"value": "Level 10a: In the Lake of Tar"
},
"Creator_ID": {
"type": "int",
@ -58,11 +58,11 @@
},
"ModListenCheck": {
"type": "int",
"value": 0
"value": -5
},
"ModSpotCheck": {
"type": "int",
"value": 0
"value": -5
},
"MoonAmbientColor": {
"type": "dword",
@ -87,7 +87,7 @@
"Name": {
"type": "cexolocstring",
"value": {
"0": "In the Tar Lake"
"0": "Level 10a: In the Tar Lake"
}
},
"NoRest": {
@ -96,7 +96,7 @@
},
"OnEnter": {
"type": "resref",
"value": ""
"value": "ra_onareaenter"
},
"OnExit": {
"type": "resref",
@ -104,7 +104,7 @@
},
"OnHeartbeat": {
"type": "resref",
"value": ""
"value": "tar_lake_hb"
},
"OnUserDefined": {
"type": "resref",
@ -124,7 +124,7 @@
},
"SkyBox": {
"type": "byte",
"value": 0
"value": 6
},
"SunAmbientColor": {
"type": "dword",
@ -11169,7 +11169,7 @@
},
"Version": {
"type": "dword",
"value": 9
"value": 10
},
"Width": {
"type": "int",

View File

@ -1709,7 +1709,7 @@
},
"Version": {
"type": "dword",
"value": 84
"value": 86
},
"Width": {
"type": "int",

View File

@ -480,6 +480,34 @@
"type": "cexostring",
"value": "Source: Megalith Placeables v1.0 by Mr._X & Chanteur"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Source: All Purpose Placeables 1.1 by M.G.Skaggs"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Source: All Purpose Placeables 1.1 by M.G.Skaggs"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "Source: All Purpose Placeables 1.1 by M.G.Skaggs"
}
},
{
"__struct_id": 9,
"Comment": {
"type": "cexostring",
"value": "ath's geisers by ath\r\n"
}
}
]
},

View File

@ -2,148 +2,7 @@
"__data_type": "GIC ",
"Creature List": {
"type": "list",
"value": [
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
},
{
"__struct_id": 4,
"Comment": {
"type": "cexostring",
"value": ""
}
}
]
"value": []
},
"Door List": {
"type": "list",
@ -193,96 +52,60 @@
},
"TriggerList": {
"type": "list",
"value": [
{
"__struct_id": 1,
"Comment": {
"type": "cexostring",
"value": "Minor Fire\r\nDetect DC: 14\r\nDisarm DC: 26\r\nSet DC: 20\r\nDamage / Effect: 5d6\r\nAverage Damage: 17.5\r\nArea of Effect: Small, Sphere\r\nMin to Max player level: 3 - 8"
}
},
{
"__struct_id": 1,
"Comment": {
"type": "cexostring",
"value": "Minor Fire\r\nDetect DC: 14\r\nDisarm DC: 26\r\nSet DC: 20\r\nDamage / Effect: 5d6\r\nAverage Damage: 17.5\r\nArea of Effect: Small, Sphere\r\nMin to Max player level: 3 - 8"
}
},
{
"__struct_id": 1,
"Comment": {
"type": "cexostring",
"value": "Minor Fire\r\nDetect DC: 14\r\nDisarm DC: 26\r\nSet DC: 20\r\nDamage / Effect: 5d6\r\nAverage Damage: 17.5\r\nArea of Effect: Small, Sphere\r\nMin to Max player level: 3 - 8"
}
},
{
"__struct_id": 1,
"Comment": {
"type": "cexostring",
"value": "Minor Fire\r\nDetect DC: 14\r\nDisarm DC: 26\r\nSet DC: 20\r\nDamage / Effect: 5d6\r\nAverage Damage: 17.5\r\nArea of Effect: Small, Sphere\r\nMin to Max player level: 3 - 8"
}
},
{
"__struct_id": 1,
"Comment": {
"type": "cexostring",
"value": "Minor Fire\r\nDetect DC: 14\r\nDisarm DC: 26\r\nSet DC: 20\r\nDamage / Effect: 5d6\r\nAverage Damage: 17.5\r\nArea of Effect: Small, Sphere\r\nMin to Max player level: 3 - 8"
}
},
{
"__struct_id": 1,
"Comment": {
"type": "cexostring",
"value": "Minor Fire\r\nDetect DC: 14\r\nDisarm DC: 26\r\nSet DC: 20\r\nDamage / Effect: 5d6\r\nAverage Damage: 17.5\r\nArea of Effect: Small, Sphere\r\nMin to Max player level: 3 - 8"
}
},
{
"__struct_id": 1,
"Comment": {
"type": "cexostring",
"value": "Minor Fire\r\nDetect DC: 14\r\nDisarm DC: 26\r\nSet DC: 20\r\nDamage / Effect: 5d6\r\nAverage Damage: 17.5\r\nArea of Effect: Small, Sphere\r\nMin to Max player level: 3 - 8"
}
},
{
"__struct_id": 1,
"Comment": {
"type": "cexostring",
"value": "Minor Fire\r\nDetect DC: 14\r\nDisarm DC: 26\r\nSet DC: 20\r\nDamage / Effect: 5d6\r\nAverage Damage: 17.5\r\nArea of Effect: Small, Sphere\r\nMin to Max player level: 3 - 8"
}
},
{
"__struct_id": 1,
"Comment": {
"type": "cexostring",
"value": "Minor Fire\r\nDetect DC: 14\r\nDisarm DC: 26\r\nSet DC: 20\r\nDamage / Effect: 5d6\r\nAverage Damage: 17.5\r\nArea of Effect: Small, Sphere\r\nMin to Max player level: 3 - 8"
}
},
{
"__struct_id": 1,
"Comment": {
"type": "cexostring",
"value": "Minor Fire\r\nDetect DC: 14\r\nDisarm DC: 26\r\nSet DC: 20\r\nDamage / Effect: 5d6\r\nAverage Damage: 17.5\r\nArea of Effect: Small, Sphere\r\nMin to Max player level: 3 - 8"
}
},
{
"__struct_id": 1,
"Comment": {
"type": "cexostring",
"value": "Minor Fire\r\nDetect DC: 14\r\nDisarm DC: 26\r\nSet DC: 20\r\nDamage / Effect: 5d6\r\nAverage Damage: 17.5\r\nArea of Effect: Small, Sphere\r\nMin to Max player level: 3 - 8"
}
},
{
"__struct_id": 1,
"Comment": {
"type": "cexostring",
"value": "Minor Fire\r\nDetect DC: 14\r\nDisarm DC: 26\r\nSet DC: 20\r\nDamage / Effect: 5d6\r\nAverage Damage: 17.5\r\nArea of Effect: Small, Sphere\r\nMin to Max player level: 3 - 8"
}
}
]
"value": []
},
"WaypointList": {
"type": "list",
"value": [
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
}
},
{
"__struct_id": 5,
"Comment": {
"type": "cexostring",
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
}
},
{
"__struct_id": 5,
"Comment": {

View File

@ -236,7 +236,15 @@
},
"TriggerList": {
"type": "list",
"value": []
"value": [
{
"__struct_id": 1,
"Comment": {
"type": "cexostring",
"value": ""
}
}
]
},
"WaypointList": {
"type": "list",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1314,6 +1314,18 @@
"type": "resref",
"value": "nw_it_mboots005"
},
"xModelPart1": {
"type": "word",
"value": 11
},
"xModelPart2": {
"type": "word",
"value": 31
},
"xModelPart3": {
"type": "word",
"value": 31
},
"XOrientation": {
"type": "float",
"value": 3.851859888774472e-034
@ -1533,6 +1545,82 @@
"type": "resref",
"value": "nw_maarcl045"
},
"xArmorPart_Belt": {
"type": "word",
"value": 7
},
"xArmorPart_LBice": {
"type": "word",
"value": 4
},
"xArmorPart_LFArm": {
"type": "word",
"value": 4
},
"xArmorPart_LFoot": {
"type": "word",
"value": 4
},
"xArmorPart_LHand": {
"type": "word",
"value": 4
},
"xArmorPart_LShin": {
"type": "word",
"value": 8
},
"xArmorPart_LShou": {
"type": "word",
"value": 7
},
"xArmorPart_LThig": {
"type": "word",
"value": 4
},
"xArmorPart_Neck": {
"type": "word",
"value": 1
},
"xArmorPart_Pelvi": {
"type": "word",
"value": 3
},
"xArmorPart_RBice": {
"type": "word",
"value": 4
},
"xArmorPart_RFArm": {
"type": "word",
"value": 4
},
"xArmorPart_RFoot": {
"type": "word",
"value": 4
},
"xArmorPart_RHand": {
"type": "word",
"value": 4
},
"xArmorPart_Robe": {
"type": "word",
"value": 0
},
"xArmorPart_RShin": {
"type": "word",
"value": 8
},
"xArmorPart_RShou": {
"type": "word",
"value": 7
},
"xArmorPart_RThig": {
"type": "word",
"value": 4
},
"xArmorPart_Torso": {
"type": "word",
"value": 43
},
"XOrientation": {
"type": "float",
"value": 0.0
@ -1662,6 +1750,18 @@
"type": "resref",
"value": "nw_wswmss011"
},
"xModelPart1": {
"type": "word",
"value": 32
},
"xModelPart2": {
"type": "word",
"value": 12
},
"xModelPart3": {
"type": "word",
"value": 31
},
"XOrientation": {
"type": "float",
"value": 0.0
@ -7387,7 +7487,209 @@
},
"TriggerList": {
"type": "list",
"value": []
"value": [
{
"__struct_id": 1,
"AutoRemoveKey": {
"type": "byte",
"value": 0
},
"Cursor": {
"type": "byte",
"value": 0
},
"DisarmDC": {
"type": "byte",
"value": 0
},
"Faction": {
"type": "dword",
"value": 1
},
"Geometry": {
"type": "list",
"value": [
{
"__struct_id": 3,
"PointX": {
"type": "float",
"value": -0.0271148681640625
},
"PointY": {
"type": "float",
"value": -4.962759017944336
},
"PointZ": {
"type": "float",
"value": 0.02500005997717381
}
},
{
"__struct_id": 3,
"PointX": {
"type": "float",
"value": 4.461061477661133
},
"PointY": {
"type": "float",
"value": -5.016996383666992
},
"PointZ": {
"type": "float",
"value": 0.02500000037252903
}
},
{
"__struct_id": 3,
"PointX": {
"type": "float",
"value": 4.474618911743164
},
"PointY": {
"type": "float",
"value": -0.01356124877929688
},
"PointZ": {
"type": "float",
"value": 0.02500005997717381
}
},
{
"__struct_id": 3,
"PointX": {
"type": "float",
"value": 0.0
},
"PointY": {
"type": "float",
"value": 0.0
},
"PointZ": {
"type": "float",
"value": 0.02500005997717381
}
}
]
},
"HighlightHeight": {
"type": "float",
"value": 0.0
},
"KeyName": {
"type": "cexostring",
"value": ""
},
"LinkedTo": {
"type": "cexostring",
"value": ""
},
"LinkedToFlags": {
"type": "byte",
"value": 0
},
"LoadScreenID": {
"type": "word",
"value": 0
},
"LocalizedName": {
"id": 14759,
"type": "cexolocstring",
"value": {}
},
"OnClick": {
"type": "resref",
"value": ""
},
"OnDisarm": {
"type": "resref",
"value": ""
},
"OnTrapTriggered": {
"type": "resref",
"value": ""
},
"PortraitId": {
"type": "word",
"value": 0
},
"ScriptHeartbeat": {
"type": "resref",
"value": ""
},
"ScriptOnEnter": {
"type": "resref",
"value": "start_gear_onent"
},
"ScriptOnExit": {
"type": "resref",
"value": ""
},
"ScriptUserDefine": {
"type": "resref",
"value": ""
},
"Tag": {
"type": "cexostring",
"value": "GenericTrigger"
},
"TemplateResRef": {
"type": "resref",
"value": "newgeneric"
},
"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": "int",
"value": 0
},
"XOrientation": {
"type": "float",
"value": 0.0
},
"XPosition": {
"type": "float",
"value": 18.76826477050781
},
"YOrientation": {
"type": "float",
"value": 0.0
},
"YPosition": {
"type": "float",
"value": 17.4787654876709
},
"ZOrientation": {
"type": "float",
"value": 0.0
},
"ZPosition": {
"type": "float",
"value": 0.0
}
}
]
},
"WaypointList": {
"type": "list",

View File

@ -1817,7 +1817,7 @@
},
"Mod_Entry_X": {
"type": "float",
"value": 19.0
"value": 21.0
},
"Mod_Entry_Y": {
"type": "float",

View File

@ -14798,6 +14798,25 @@
"value": "ra_imp_marty"
}
},
{
"__struct_id": 0,
"CR": {
"type": "float",
"value": 4.0
},
"FACTION": {
"type": "cexostring",
"value": "Hostile"
},
"NAME": {
"type": "cexostring",
"value": "Mephit, Tar: 03 HD"
},
"RESREF": {
"type": "resref",
"value": "tarmephit001"
}
},
{
"__struct_id": 0,
"CR": {

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
_module/ncs/tar_lake_hb.ncs Normal file

Binary file not shown.

View File

@ -45,7 +45,7 @@ void main()
// Cast SPELL_REPEL_VERMIN with Extend Spell metamagic
ActionSpeakString("Aggh, damn bugs!!", TALKVOLUME_TALK);
ActionCastSpellAtObject(SPELL_REPEL_VERMIN, oNPC, METAMAGIC_EXTEND, TRUE, nSpellLevel, FALSE);
DelayCommand(0.1f, ActionCastSpellAtObject(SPELL_REPEL_VERMIN, oNPC, METAMAGIC_EXTEND, TRUE, nSpellLevel, FALSE));
}
}

View File

@ -5,19 +5,6 @@
#include "inc_gennui"
void GivePCWands(object oPC)
{
// items to be give to new players
string sWndPCFollow = "dmfi_pc_follow";//PC Autofollow Widget
string sWndPCDice = "dmfi_pc_dicebag";//PC Dicebag
string sWndPCEmote = "dmfi_pc_emote";//PC Emote Wand
CreateItemOnObject(sWndPCFollow, oPC);
CreateItemOnObject(sWndPCDice, oPC);
CreateItemOnObject(sWndPCEmote, oPC);
}
void GiveLangTokens(object oPC)
{
// Give class based language items
@ -149,13 +136,6 @@ void main()
// Initialize DMFI
dmfiInitialize(oPC);
// Give PC DMFI gear
if (GetXP(oPC) == 0)
{
GivePCWands(oPC);
}
// Begin BESIE Spawn System
int bBESIEWidget;

View File

@ -0,0 +1,412 @@
#include "prc_inc_racial"
void GivePCWands(object oPC)
{
// items to be give to new players
string sWndPCFollow = "dmfi_pc_follow";//PC Autofollow Widget
string sWndPCDice = "dmfi_pc_dicebag";//PC Dicebag
string sWndPCEmote = "dmfi_pc_emote";//PC Emote Wand
CreateItemOnObject(sWndPCFollow, oPC);
CreateItemOnObject(sWndPCDice, oPC);
CreateItemOnObject(sWndPCEmote, oPC);
}
void main()
{
object oPC = GetEnteringObject();
//:: Don't run on DMs
if(!GetIsPC(oPC))
return; // pc or dm check
if(GetIsDM(oPC)==TRUE) return;
//:: Check for new character via XP
int iXP = GetXP(oPC);
if (iXP < 1)
{
//:: Set xp so script doesn't fire again on enter
SetXP(oPC, 2);
AssignCommand(oPC, ClearAllActions());
ExploreAreaForPlayer(GetArea(oPC), oPC);
//:: Remove existing gear.
object oItem = GetFirstItemInInventory(oPC);
while(GetIsObjectValid(oItem))
{
SetPlotFlag(oItem,FALSE);
DestroyObject(oItem);
oItem = GetNextItemInInventory(oPC);
}
//:: Equip players according to starting class
int iClass = GetClassByPosition (1, oPC);
if(iClass == CLASS_TYPE_BARBARIAN)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_waxgr001", oPC); //:: Greataxe
CreateItemOnObject("nw_waxhn001", oPC); //:: Handaxe
CreateItemOnObject("nw_aarcl008", oPC); //:: Hide Armor
CreateItemOnObject("nw_it_medkit001", oPC, 2); //:: (2) Healer's Kit +1
CreateItemOnObject("nw_wthax001", oPC,9); //:: (9) Throwing Axes
CreateItemOnObject("nw_it_mpotion020", oPC); //:: Potion of Cure Moderate Wounds
CreateItemOnObject("nw_it_mpotion020", oPC); //:: Potion of Cure Moderate Wounds
CreateItemOnObject("nw_it_mpotion020", oPC); //:: Potion of Cure Moderate Wounds
SendMessageToPC(oPC, "Barbarian EQ");
}
if(iClass == CLASS_TYPE_TOTEMIST)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_aarcl002", oPC); //:: Studded Leather Armor
CreateItemOnObject("nw_ashlw001", oPC); //:: Large Shield
CreateItemOnObject("nw_wswdg001", oPC); //:: Dagger
CreateItemOnObject("x1_wmgrenade006", oPC,5); //:: (5) Tanglefoot Bags
CreateItemOnObject("nw_it_medkit001", oPC, 2); //:: (2) Healer's Kit +1
SendMessageToPC(oPC, "Totemist EQ");
}
if(iClass == CLASS_TYPE_BARD)
{
CreateItemOnObject("nw_aarcl001", oPC); //:: Leather Armor
CreateItemOnObject("nw_it_sparscr312", oPC); //:: Haste Scroll
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_wbwxl001", oPC); //:: Light Crossbow
CreateItemOnObject("nw_wambo001", oPC,25); //:: (25) Wooden Bolts
CreateItemOnObject("nw_wswdg001", oPC); //:: Dagger
SendMessageToPC(oPC, "Bard EQ");
}
if(iClass == CLASS_TYPE_CLERIC || iClass == CLASS_TYPE_ARCHIVIST || iClass == CLASS_TYPE_FAVOURED_SOUL)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 4); //:: (4) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_wblml001", oPC); //:: Light Mace
CreateItemOnObject("nw_ashsw001", oPC); //:: Small Shield
CreateItemOnObject("nw_aarcl004", oPC); //:: Chain Mail
CreateItemOnObject("x1_wmgrenade005", oPC,5); //:: (5) Vials of Holy Water
SendMessageToPC(oPC, "Divine Servant EQ");
}
if(iClass == CLASS_TYPE_DRUID)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_wspmsc001", oPC); //:: Sickle
CreateItemOnObject("nw_ashsw001", oPC); //:: Small Shield
CreateItemOnObject("nw_aarcl001", oPC); //:: Leather Armor
CreateItemOnObject("nw_it_medkit001", oPC, 2); //:: (2) Healer's Kit +1
CreateItemOnObject("x1_wmgrenade006", oPC,5); //:: (5) Tanglefoot Bags
SendMessageToPC(oPC, "Druid EQ");
}
if(iClass == CLASS_TYPE_SOHEI)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_wswls001", oPC); //:: Longsword
CreateItemOnObject("nw_aarcl006", oPC); //:: Half Plate
CreateItemOnObject("nw_ashlw001", oPC); //:: Large Shield
CreateItemOnObject("nw_it_medkit001", oPC, 2); //:: (2) Healer's Kit +1
SendMessageToPC(oPC, "Sohei EQ");
}
if(iClass == CLASS_TYPE_SHAMAN)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_wswdg001", oPC); //:: Dagger
CreateItemOnObject("nw_wdbqs001", oPC); //:: Quarterstaff
CreateItemOnObject("nw_aarcl001", oPC); //:: Leather Armor
CreateItemOnObject("nw_it_medkit001", oPC, 2); //:: (2) Healer's Kits +1
CreateItemOnObject("x1_wmgrenade006", oPC,5); //:: (5) Tanglefoot Bags
SendMessageToPC(oPC, "Shaman EQ");
}
if(iClass == CLASS_TYPE_SAMURAI || iClass == CLASS_TYPE_CW_SAMURAI)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_wswka001", oPC); //:: Katana
CreateItemOnObject("nw_aarcl003", oPC); //:: Scale armor
CreateItemOnObject("nw_wswss001", oPC); //:: Short Sword
SendMessageToPC(oPC, "Samurai EQ");
}
if(iClass == CLASS_TYPE_FIGHTER || iClass == CLASS_TYPE_WARBLADE
|| iClass == CLASS_TYPE_DUSKBLADE
|| iClass == CLASS_TYPE_SOULBORN
|| iClass == CLASS_TYPE_PSYWAR
|| iClass == CLASS_TYPE_MARSHAL)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_wswls001", oPC); //:: Longsword
CreateItemOnObject("nw_aarcl011", oPC); //:: Banded Mail
CreateItemOnObject("nw_ashlw001", oPC); //:: Large Shield
CreateItemOnObject("nw_wswgs001", oPC); //:: Greatsword
CreateItemOnObject("nw_wswdg001", oPC); //:: Dagger
SendMessageToPC(oPC, "Warrior EQ");
}
if(iClass == CLASS_TYPE_KNIGHT)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_wswls001", oPC); //:: Longsword
CreateItemOnObject("nw_aarcl011", oPC); //:: Banded Mail
CreateItemOnObject("nw_ashlw001", oPC); //:: Large Shield
SendMessageToPC(oPC, "Knight EQ");
}
if(iClass == CLASS_TYPE_MONK)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_wspka001", oPC); //:: Kama
CreateItemOnObject("nw_wthsh001", oPC, 25); //:: (25) Shuriken
CreateItemOnObject("nw_mcloth018", oPC); //:: Robes of the Shining Hand +1
CreateItemOnObject("nw_it_medkit001", oPC, 2); //:: (2) Healer's Kit +1
SendMessageToPC(oPC, "Monk EQ");
}
if(iClass == CLASS_TYPE_PALADIN || iClass == CLASS_TYPE_CRUSADER)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_wswls001", oPC); //:: Longsword
CreateItemOnObject("nw_aarcl006", oPC); //:: Half Plate
CreateItemOnObject("nw_ashlw001", oPC); //:: Large Shield
CreateItemOnObject("nw_it_medkit001", oPC, 2); //:: (2) Healer's Kit +1
CreateItemOnObject("x1_wmgrenade005", oPC,5); //:: (5) Vials of Holy Water
SendMessageToPC(oPC, "Holy Warrior EQ");
}
if(iClass == CLASS_TYPE_SCOUT)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_aarcl001", oPC); //:: Leather Armor
CreateItemOnObject("nw_wbwsh001", oPC); //:: Short Bow
CreateItemOnObject("nw_wamar001", oPC,25); //:: (25) Arrows
CreateItemOnObject("nw_wamar001", oPC,25); //:: (25) Arrows
CreateItemOnObject("nw_wswdg001", oPC); //:: Dagger
SendMessageToPC(oPC, "Scout EQ");
}
if(iClass == CLASS_TYPE_RANGER)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_aarcl002", oPC); //:: Studded Leather Armor
CreateItemOnObject("nw_wbwln001", oPC); //:: Long bow
CreateItemOnObject("nw_wamar001", oPC,25); //:: (25) Arrows
CreateItemOnObject("nw_wswss001", oPC); //:: Short Sword
CreateItemOnObject("nw_wswdg001", oPC); //:: Dagger
SendMessageToPC(oPC, "Ranger EQ");
}
if(iClass == CLASS_TYPE_HEALER)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_it_medkit001", oPC, 3); //:: (3) Healer's Kits +1
CreateItemOnObject("nw_aarcl001", oPC); //:: Leather Armor
CreateItemOnObject("nw_wswdg001", oPC); //:: Dagger
CreateItemOnObject("nw_wdbqs001", oPC); //:: Quarterstaff
SendMessageToPC(oPC, "Healer EQ");
}
if(iClass == CLASS_TYPE_HEXBLADE)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("x1_wmgrenade002", oPC,4); //:: (4) Alchemist's Fire
CreateItemOnObject("nw_aarcl002", oPC); //:: Studded Leather Armor
CreateItemOnObject("nw_wswsc001", oPC); //:: Scimitar
SendMessageToPC(oPC, "Hexblade EQ");
}
if(iClass == CLASS_TYPE_BINDER)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("x1_wmgrenade003", oPC, 5); //:: (5) Caltrops
CreateItemOnObject("nw_aarcl001", oPC); //:: Leather Armor
CreateItemOnObject("nw_wswdg001", oPC); //:: Dagger
SendMessageToPC(oPC, "Binder EQ");
}
if(iClass == CLASS_TYPE_WARLOCK || iClass == CLASS_TYPE_DRAGONFIRE_ADEPT)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("x1_wmgrenade001", oPC, 5); //:: (5) Acid Flasks
CreateItemOnObject("nw_aarcl002", oPC); //:: Studded Leather Armor
CreateItemOnObject("nw_wblms001", oPC); //:: Morning Star
SendMessageToPC(oPC, "Warlock EQ");
}
if(iClass == CLASS_TYPE_DRAGON_SHAMAN)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("x1_wmgrenade007", oPC, 5); //:: (5) Thunderstones
CreateItemOnObject("nw_ashsw001", oPC); //:: Small Shield
CreateItemOnObject("nw_aarcl010", oPC); //:: Breastplate
CreateItemOnObject("nw_wblms001", oPC); //:: Morning Star
SendMessageToPC(oPC, "Dragonfire Shaman EQ");
}
if(iClass == CLASS_TYPE_WILDER)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("x1_wmgrenade006", oPC, 3); //:: (3) Tanglefoot Bags
CreateItemOnObject("nw_ashsw001", oPC); //:: Small Shield
CreateItemOnObject("nw_aarcl001", oPC); //:: Leather Armor
CreateItemOnObject("nw_wblms001", oPC); //:: Morning Star
SendMessageToPC(oPC, "Wilder EQ");
}
if(iClass == CLASS_TYPE_WARMAGE)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("x1_wmgrenade002", oPC, 4); //:: (4) Alchemist's Fire
CreateItemOnObject("nw_it_contain002", oPC); //:: Magic Pouch
CreateItemOnObject("x1_it_sparscr103", oPC); //:: Scroll of Shield
CreateItemOnObject("nw_it_sparscr202", oPC); //:: Scroll of Melf's Acid Arrow
CreateItemOnObject("nw_ashsw001", oPC); //:: Small Shield
CreateItemOnObject("nw_aarcl001", oPC); //:: Leather Armor
CreateItemOnObject("nw_wblms001", oPC); //:: Morning Star
SendMessageToPC(oPC, "Warmage EQ");
}
if(iClass == CLASS_TYPE_INCARNATE)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("x1_wmgrenade006", oPC, 3); //:: (3) Tanglefoot Bags
CreateItemOnObject("nw_ashsw001", oPC); //:: Small Shield
CreateItemOnObject("nw_aarcl004", oPC); //:: Chain Mail
CreateItemOnObject("nw_wblms001", oPC); //:: Morning Star
SendMessageToPC(oPC, "Incarnate EQ");
}
if(iClass == CLASS_TYPE_SOULKNIFE)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("x1_wmgrenade003", oPC,3); //:: (3) Caltrops
CreateItemOnObject("nw_ashlw001", oPC); //:: Large Shield
CreateItemOnObject("nw_aarcl001", oPC); //:: Leather Armor
CreateItemOnObject("nw_wswdg001", oPC); //:: Dagger
SendMessageToPC(oPC, "Soulknife EQ");
}
if(iClass == CLASS_TYPE_TRUENAMER)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("x1_wmgrenade002", oPC,3); //:: (3) Alchemist's Fire
CreateItemOnObject("nw_aarcl001", oPC); //:: Leather Armor
CreateItemOnObject("nw_wswdg001", oPC); //:: Dagger
SendMessageToPC(oPC, "Truenamer EQ");
}
if(iClass == CLASS_TYPE_TOTEMIST)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("x1_wmgrenade001", oPC,3); //:: (3) Acid Flasks
CreateItemOnObject("nw_aarcl001", oPC); //:: Leather Armor
CreateItemOnObject("nw_wswdg001", oPC); //:: Dagger
CreateItemOnObject("nw_ashsw001", oPC); //:: Small Shield
SendMessageToPC(oPC, "Totemist EQ");
}
if(iClass == CLASS_TYPE_SWASHBUCKLER)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("x1_wmgrenade003", oPC,3); //:: (3) Caltrops
CreateItemOnObject("nw_aarcl001", oPC); //:: Leather Armor
CreateItemOnObject("nw_wswdg001", oPC); //:: Dagger
CreateItemOnObject("nw_wswrp001", oPC); //:: Rapier
SendMessageToPC(oPC, "Swashbuckler EQ");
}
if(iClass == CLASS_TYPE_SWORDSAGE)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("x1_wmgrenade004", oPC,3); //:: (3) Choking Powder
CreateItemOnObject("nw_aarcl001", oPC); //:: Leather Armor
CreateItemOnObject("nw_wswls001", oPC); //:: Longsword
SendMessageToPC(oPC, "Swordsage EQ");
}
if(iClass == CLASS_TYPE_ROGUE || iClass == CLASS_TYPE_BEGUILER
|| iClass == CLASS_TYPE_PSYCHIC_ROGUE
|| iClass == CLASS_TYPE_NINJA
|| iClass == CLASS_TYPE_FACTOTUM)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("x1_wmgrenade003", oPC, 5); //:: (5) Caltrops
CreateItemOnObject("nw_aarcl001", oPC); //:: Leather Armor
CreateItemOnObject("nw_it_picks001", oPC, 2); //:: (2) Lock Picks +1
CreateItemOnObject("nw_it_trap001", oPC); //:: Minor Spike Trap Kit
CreateItemOnObject("nw_wswss001", oPC); //:: Short Sword
CreateItemOnObject("nw_wswdg001", oPC); //:: Dagger
SendMessageToPC(oPC, "Rogue EQ");
}
if(iClass == CLASS_TYPE_DREAD_NECROMANCER)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("x1_wmgrenade004", oPC,3); //:: (3) Choking Powder
CreateItemOnObject("nw_wblms001", oPC); //:: Morning Star
CreateItemOnObject("nw_aarcl002", oPC); //:: Studded Leather Armor
SendMessageToPC(oPC, "Dread Necromancer EQ");
}
if(iClass == CLASS_TYPE_PSION)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_wdbqs001", oPC); //:: Quarterstaff
CreateItemOnObject("nw_cloth005", oPC); //:: Wizard's Robe
CreateItemOnObject("nw_it_contain002", oPC); //:: Magic Pouch
SendMessageToPC(oPC, "Psion EQ");
}
if(iClass == CLASS_TYPE_WIZARD || iClass == CLASS_TYPE_SORCERER || iClass == CLASS_TYPE_SHADOWCASTER)
{
CreateItemOnObject("nw_it_torch001", oPC, 2); //:: (2) Torches
CreateItemOnObject("nw_it_mpotion020", oPC, 3); //:: (3) Potions of Cure Moderate Wounds
CreateItemOnObject("nw_wdbqs001", oPC); //:: Quarterstaff
CreateItemOnObject("nw_cloth005", oPC); //:: Wizard's Robe
CreateItemOnObject("nw_it_contain002", oPC); //:: Magic Pouch
CreateItemOnObject("x1_it_sparscr103", oPC); //:: Scroll of Shield
CreateItemOnObject("nw_it_sparscr202", oPC); //:: Scroll of Melf's Acid Arrow
CreateItemOnObject("nw_it_sparscr107", oPC); //:: Scroll of Charm Person
CreateItemOnObject("nw_it_sparscr106", oPC); //:: Scroll of Identify
SendMessageToPC(oPC, "Arcane EQ");
}
//:: Give PC DMFI gear
GivePCWands(oPC);
//:: Equip Armor
DelayCommand(0.0f, ClearAllActions());
DelayCommand(0.0f, ActionEquipMostEffectiveArmor());
}
}

159
_module/nss/tar_lake_hb.nss Normal file
View File

@ -0,0 +1,159 @@
//::////////////////////////////////////////////////////////////////////////////
//::
// tar_lake_hb.nss
/*
Just in case the players are dumb enough to jump into a lake of boiling tar.
"Should the PCs be inclined to dive into the tar, they suffer
the following effects: 1/2 normal swim movement; 1d4 heat damage per
round and zero visibility. The mephits, of course, suffer none of these
effects. Magic, such as freedom of movement, water breathing, endure,
resist, or protection from energy (fire) and true seeing can all help while
within the tar."
*/
//
//::
//::////////////////////////////////////////////////////////////////////////////
#include "prc_inc_spells"
#include "prc_feat_const"
#include "x0_i0_match"
//:: 1d4 fire damage per round from the hot tar.
void ApplyHeatEffect(object oCreature)
{
int iHeatDam = d4(1);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectDamage(iHeatDam, DAMAGE_TYPE_FIRE), oCreature, 6.0f);
}
//:: Can't breath in tar
void ApplySuffocationEffect(object oCreature)
{
int iConstitution = GetAbilityScore(oCreature, ABILITY_CONSTITUTION);
int iBreathRounds = iConstitution * 2;
int iSuffocationDC = 10; // Starting suffocation DC
int iCurrentRound = GetLocalInt(oCreature, "SuffocationRound");
if (iCurrentRound <= iBreathRounds)
{
if (GetResRef(OBJECT_SELF) != "mepooze001" &&
GetResRef(OBJECT_SELF) != "tarmephit001" &&
!GetHasFeat(FEAT_WATER_BREATHING, oCreature) &&
!GetHasFeat(FEAT_BREATHLESS, oCreature) &&
!GetHasSpellEffect(SPELL_WATER_BREATHING, oCreature) &&
(MyPRCGetRacialType(oCreature) != RACIAL_TYPE_UNDEAD) &&
(MyPRCGetRacialType(oCreature) != RACIAL_TYPE_CONSTRUCT))
{
SendMessageToPC(oCreature, "You are struggling to breathe in the tar!");
if (d20() + GetFortitudeSavingThrow(oCreature) >= iSuffocationDC)
{
SendMessageToPC(oCreature, "You manage to hold your breath and avoid suffocation for now.");
}
else
{
SendMessageToPC(oCreature, "You are suffocating in the tar!");
if (iCurrentRound == 1)
{
AssignCommand(oCreature, ActionPlayAnimation(ANIMATION_LOOPING_SPASM, 0.5f, 6.0f));
SetCurrentHitPoints(oCreature, 1);
}
else if (iCurrentRound == 2)
{
SetCurrentHitPoints(oCreature, 0);
}
else if (iCurrentRound == 3)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_DEATH), oCreature);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectDeath(), oCreature);
}
iCurrentRound++;
}
}
// Store the updated round counter back in the creature's local variables
SetLocalInt(oCreature, "SuffocationRound", iCurrentRound);
}
}
//:: Tar slows creatures other than Tar Mephits to 1/2 speed
//:: unless they are under the effect of Freedom of Movement
void ApplySlowEffect(object oCreature)
{
if (GetResRef(OBJECT_SELF) != "mepooze001" &&
GetResRef(OBJECT_SELF) != "tarmephit001" &&
!GetHasSpellEffect(SPELL_FREEDOM_OF_MOVEMENT, oCreature) ||
GetHasEffect(IMMUNITY_TYPE_MOVEMENT_SPEED_DECREASE, oCreature))
{
// Object has either Freedom of Movement spell effect or IMMUNITY_TYPE_MOVEMENT_SPEED_DECREASE effect
SendMessageToPC(GetFirstPC(), "This object has Freedom of Movement or immunity to movement speed decrease!");
}
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectMovementSpeedDecrease(50), oCreature, 6.0f);
}
//:: Can't see in tar without True Seeing or Blindsight
void ApplySightEffect(object oCreature)
{
// Check if the PC has zero visibility
if (GetResRef(OBJECT_SELF) != "mepooze001" &&
GetResRef(OBJECT_SELF) != "tarmephit001" &&
!GetHasSpellEffect(SPELL_TRUE_SEEING, oCreature) &&
!GetHasFeat(FEAT_BLINDSIGHT_5_FT, oCreature) &&
!GetHasFeat(FEAT_BLINDSIGHT_10_FT, oCreature) &&
!GetHasFeat(FEAT_BLINDSIGHT_5_FEET, oCreature) &&
!GetHasFeat(FEAT_BLINDSIGHT_10_FEET, oCreature) &&
!GetHasFeat(FEAT_BLINDSIGHT_60_FEET, oCreature) &&
!GetHasFeat(FEAT_PRESTIGE_BLINDSIGHT, oCreature))
{
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBlindness(), oCreature, 6.0f);
}
}
void main()
{
object oArea = GetArea(OBJECT_SELF);
object oCreature = GetFirstObjectInArea(oArea, OBJECT_TYPE_CREATURE);
string sResref = GetResRef(oCreature);
while (GetIsObjectValid(oCreature))
{
//:: Calculate the armor penalty
int iArmorPenalty = 0;
object oArmor = GetItemInSlot(INVENTORY_SLOT_CHEST, oCreature);
if (GetIsObjectValid(oArmor))
{
iArmorPenalty = GetItemACValue(oArmor);
}
//:: Calculate the DC for the Strength check
int iStrengthDC = 15 + iArmorPenalty;
//:: Roll a Strength check against the DC
if (GetResRef(OBJECT_SELF) != "mepooze001" &&
GetResRef(OBJECT_SELF) != "tarmephit001" ||
d20() + GetAbilityModifier(ABILITY_STRENGTH, oCreature) < iStrengthDC)
{
//:: Apply the other effects since the Strength check failed
SendMessageToPC(oCreature, "You are floundering in the tar!");
ApplySightEffect(oCreature);
ApplySuffocationEffect(oCreature);
}
//:: Tar is always hot & slowing
ApplyHeatEffect(oCreature);
ApplySlowEffect(oCreature);
oCreature = GetNextObjectInArea(oArea, OBJECT_TYPE_CREATURE);
}
}

Binary file not shown.

View File

@ -0,0 +1,695 @@
{
"__data_type": "UTC ",
"Appearance_Type": {
"type": "word",
"value": 112
},
"BodyBag": {
"type": "byte",
"value": 0
},
"Cha": {
"type": "byte",
"value": 15
},
"ChallengeRating": {
"type": "float",
"value": 4.0
},
"ClassList": {
"type": "list",
"value": [
{
"__struct_id": 2,
"Class": {
"type": "int",
"value": 24
},
"ClassLevel": {
"type": "short",
"value": 3
}
}
]
},
"Comment": {
"type": "cexostring",
"value": "Mephit, Tar: 03 HD\r\n\r\nRappan Athuk, pg. 385"
},
"Con": {
"type": "byte",
"value": 13
},
"Conversation": {
"type": "resref",
"value": "cv_charmed"
},
"CRAdjust": {
"type": "int",
"value": 0
},
"CurrentHitPoints": {
"type": "short",
"value": 13
},
"DecayTime": {
"type": "dword",
"value": 5000
},
"Deity": {
"type": "cexostring",
"value": ""
},
"Description": {
"id": 12635,
"type": "cexolocstring",
"value": {
"0": "Chaotic and destructive, Mephits come in many shapes and have a wide range of abilities. Most are drawn from the various Elemental and Quasi-Elemental Planes."
}
},
"Dex": {
"type": "byte",
"value": 10
},
"Disarmable": {
"type": "byte",
"value": 0
},
"Equip_ItemList": {
"type": "list",
"value": [
{
"__struct_id": 16384,
"EquippedRes": {
"type": "resref",
"value": "nw_it_crewpsp002"
}
},
{
"__struct_id": 32768,
"EquippedRes": {
"type": "resref",
"value": "nw_it_crewpsp002"
}
},
{
"__struct_id": 131072,
"EquippedRes": {
"type": "resref",
"value": "nw_it_creitem031"
}
}
]
},
"FactionID": {
"type": "word",
"value": 1
},
"FeatList": {
"type": "list",
"value": [
{
"__struct_id": 1,
"Feat": {
"type": "word",
"value": 228
}
},
{
"__struct_id": 1,
"Feat": {
"type": "word",
"value": 28
}
},
{
"__struct_id": 1,
"Feat": {
"type": "word",
"value": 40
}
},
{
"__struct_id": 1,
"Feat": {
"type": "word",
"value": 289
}
}
]
},
"FirstName": {
"id": 12640,
"type": "cexolocstring",
"value": {
"0": "Mephit, Tar: 03 HD"
}
},
"fortbonus": {
"type": "short",
"value": 0
},
"Gender": {
"type": "byte",
"value": 0
},
"GoodEvil": {
"type": "byte",
"value": 50
},
"HitPoints": {
"type": "short",
"value": 13
},
"Int": {
"type": "byte",
"value": 6
},
"Interruptable": {
"type": "byte",
"value": 1
},
"IsImmortal": {
"type": "byte",
"value": 0
},
"IsPC": {
"type": "byte",
"value": 0
},
"LastName": {
"type": "cexolocstring",
"value": {}
},
"LawfulChaotic": {
"type": "byte",
"value": 50
},
"Lootable": {
"type": "byte",
"value": 0
},
"MaxHitPoints": {
"type": "short",
"value": 19
},
"NaturalAC": {
"type": "byte",
"value": 5
},
"NoPermDeath": {
"type": "byte",
"value": 0
},
"PaletteID": {
"type": "byte",
"value": 25
},
"PerceptionRange": {
"type": "byte",
"value": 11
},
"Phenotype": {
"type": "int",
"value": 0
},
"Plot": {
"type": "byte",
"value": 0
},
"PortraitId": {
"type": "word",
"value": 249
},
"Race": {
"type": "byte",
"value": 20
},
"refbonus": {
"type": "short",
"value": 0
},
"ScriptAttacked": {
"type": "resref",
"value": "ra_ai_attacked"
},
"ScriptDamaged": {
"type": "resref",
"value": "ra_ai_ondamaged"
},
"ScriptDeath": {
"type": "resref",
"value": "ra_ai_ondeath"
},
"ScriptDialogue": {
"type": "resref",
"value": "ra_ai_onconverse"
},
"ScriptDisturbed": {
"type": "resref",
"value": "ra_ai_ondisturb"
},
"ScriptEndRound": {
"type": "resref",
"value": "ra_ai_endcmbtrnd"
},
"ScriptHeartbeat": {
"type": "resref",
"value": "ra_ai_heartbeat"
},
"ScriptOnBlocked": {
"type": "resref",
"value": "ra_ai_onblocked"
},
"ScriptOnNotice": {
"type": "resref",
"value": "ra_ai_onpercept"
},
"ScriptRested": {
"type": "resref",
"value": "ra_ai_onrested"
},
"ScriptSpawn": {
"type": "resref",
"value": "ra_ai_onspawn"
},
"ScriptSpellAt": {
"type": "resref",
"value": "ra_ai_onspelled"
},
"ScriptUserDefine": {
"type": "resref",
"value": "ra_ai_userdef"
},
"SkillList": {
"type": "list",
"value": [
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 3
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 9
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 6
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 6
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 2
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 6
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 6
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
},
{
"__struct_id": 0,
"Rank": {
"type": "byte",
"value": 0
}
}
]
},
"SoundSetFile": {
"type": "word",
"value": 63
},
"SpecAbilityList": {
"type": "list",
"value": [
{
"__struct_id": 4,
"Spell": {
"type": "word",
"value": 219
},
"SpellCasterLevel": {
"type": "byte",
"value": 0
},
"SpellFlags": {
"type": "byte",
"value": 1
}
},
{
"__struct_id": 4,
"Spell": {
"type": "word",
"value": 219
},
"SpellCasterLevel": {
"type": "byte",
"value": 0
},
"SpellFlags": {
"type": "byte",
"value": 1
}
},
{
"__struct_id": 4,
"Spell": {
"type": "word",
"value": 171
},
"SpellCasterLevel": {
"type": "byte",
"value": 6
},
"SpellFlags": {
"type": "byte",
"value": 1
}
}
]
},
"StartingPackage": {
"type": "byte",
"value": 86
},
"Str": {
"type": "byte",
"value": 14
},
"Subrace": {
"type": "cexostring",
"value": "Small Outsider (Extraplanar)"
},
"Tag": {
"type": "cexostring",
"value": "TARMEPHIT001"
},
"Tail_New": {
"type": "dword",
"value": 0
},
"TemplateList": {
"type": "list",
"value": []
},
"TemplateResRef": {
"type": "resref",
"value": "tarmephit001"
},
"VarTable": {
"type": "list",
"value": [
{
"__struct_id": 0,
"Name": {
"type": "cexostring",
"value": "SET_NAME"
},
"Type": {
"type": "dword",
"value": 3
},
"Value": {
"type": "cexostring",
"value": "Tar Mephit"
}
},
{
"__struct_id": 0,
"Name": {
"type": "cexostring",
"value": "SHADOWY"
},
"Type": {
"type": "dword",
"value": 1
},
"Value": {
"type": "int",
"value": 1
}
}
]
},
"WalkRate": {
"type": "int",
"value": 5
},
"willbonus": {
"type": "short",
"value": 0
},
"Wings_New": {
"type": "dword",
"value": 0
},
"Wis": {
"type": "byte",
"value": 11
}
}