Initial upload

Initial upload
This commit is contained in:
Jaysyn904
2023-09-21 20:25:34 -04:00
parent 530aa08f94
commit e0ec0015e6
839 changed files with 442077 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName 1spokentooldman
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 6/26/2002 8:07:31 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "nspokentooldman", 1);
}

View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName 1spokentoprimnpc
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 6/26/2002 8:20:37 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "nspokentoprimarynpc", 1);
}

View File

@@ -0,0 +1,34 @@
//::///////////////////////////////////////////////
//:: General Treasure Spawn Script Medium
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Spawns in general purpose treasure, usable
by all classes.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: February 26 2001
//:: Modified by: Dalantriel Jul 2002
//:: to generate respawning treasure
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
void main()
{
if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
{
return;
}
object oLastOpener = GetLastOpener();
GenerateMediumTreasure(oLastOpener, OBJECT_SELF);
ExecuteScript("magictres", OBJECT_SELF);
int nGoldAmount = (d100() * 2) + d10();
CreateItemOnObject ("NW_IT_GOLD001", OBJECT_SELF, nGoldAmount);
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
ActionWait(600.0);
ActionDoCommand(SetLocalInt(OBJECT_SELF, "NW_DO_ONCE", 0));
ShoutDisturbed();
}

View File

@@ -0,0 +1,35 @@
//::///////////////////////////////////////////////
//:: General Treasure Spawn Script HIGH
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Spawns in general purpose treasure, usable
by all classes.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: February 26 2001
//:: Modified by: Dalantriel Jul 2002
//:: to generate respawning treasure
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
void main()
{
if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
{
return;
}
object oLastOpener = GetLastOpener();
GenerateHighTreasure(oLastOpener, OBJECT_SELF);
ExecuteScript("MagicTres", OBJECT_SELF);
ExecuteScript("MagicTres", OBJECT_SELF);
int nGoldAmount = (d100() * 3) + d10();
CreateItemOnObject ("NW_IT_GOLD001", OBJECT_SELF, nGoldAmount);
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
ActionWait(600.0);
ActionDoCommand(SetLocalInt(OBJECT_SELF, "NW_DO_ONCE", 0));
ShoutDisturbed();
}

View File

@@ -0,0 +1,38 @@
//::///////////////////////////////////////////////
//:: General Treasure Spawn Script HIGH
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Spawns in general purpose treasure, usable
by all classes.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: February 26 2001
//:: Modified by: Dalantriel Jul 2002
//:: to generate respawning treasure
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
void main()
{
if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
{
return;
}
object oLastOpener = GetLastOpener();
GenerateMediumTreasure(oLastOpener, OBJECT_SELF);
GenerateHighTreasure(oLastOpener, OBJECT_SELF);
ExecuteScript("magictres", OBJECT_SELF);
ExecuteScript("magictres", OBJECT_SELF);
ExecuteScript("magictres", OBJECT_SELF);
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
int nGoldAmount = (d100() * 5) + d10();
CreateItemOnObject ("NW_IT_GOLD001", OBJECT_SELF, nGoldAmount);
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
ActionWait(600.0);
ActionDoCommand(SetLocalInt(OBJECT_SELF, "NW_DO_ONCE", 0));
ShoutDisturbed();
}

View File

@@ -0,0 +1,13 @@
// * script: can_pay100
// * Does the PC have 100 gp?
// Use in [Text Appears When] tab of PC hiring dialog line.
#include "NW_I0_PLOT"
int StartingConditional()
{
return (HasGold(150,GetPCSpeaker()));
}

13
_module/nss/at_001.nss Normal file
View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName at_001
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 6/23/2002 2:03:52 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "spokentoguard", 1);
}

13
_module/nss/at_002.nss Normal file
View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName at_002
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 6/23/2002 2:43:12 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "spokentoguard", 2);
}

13
_module/nss/at_003.nss Normal file
View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName at_003
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 6/23/2002 2:56:18 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "spokentoprimarynpc", 2);
}

16
_module/nss/at_004.nss Normal file
View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName at_004
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/1/2002 11:15:36 PM
//:://////////////////////////////////////////////
#include "nw_i0_generic"
void main()
{
// Set the faction to hate the player, then attack the player
AdjustReputation(GetPCSpeaker(), OBJECT_SELF, -100);
DetermineCombatRound(GetPCSpeaker());
}

10
_module/nss/at_005.nss Normal file
View File

@@ -0,0 +1,10 @@
//::///////////////////////////////////////////////
//:: FileName at_005
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/20/2002 11:32:10 PM
//:://////////////////////////////////////////////
void main()
{
}

13
_module/nss/at_006.nss Normal file
View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName at_006
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/20/2002 11:32:10 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "nBattleStrength", 5);
}

View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName attackbeguncheck
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/23/2002 7:37:15 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(OBJECT_SELF, "nAttackStarted") == 0))
return FALSE;
return TRUE;
}

View File

@@ -0,0 +1,8 @@
void main()
{
if(GetLocalInt(GetObjectByTag("OrcGuard"), "nOrcLeave") == 0)
{
object oPC = GetFirstPC();
AdjustReputation(oPC, GetObjectByTag("OrcGuard"), -10);
}
}

View File

@@ -0,0 +1,81 @@
//::///////////////////////////////////////////////
//:: Default: On Spawn In
//:: NW_C2_DEFAULT9
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Determines the course of action to be taken
after having just been spawned in
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"
void main()
{
// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) ****************************************************************************
//SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);
//SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);
// This causes the creature to say a special greeting in their conversation file
// upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired
// greeting in order to designate it. As the creature is actually saying this to
// himself, don't attach any player responses to the greeting.
//SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
// This will set the listening pattern on the NPC to attack when allies call
//SetSpawnInCondition(NW_FLAG_STEALTH);
// If the NPC has stealth and they are a rogue go into stealth mode
//SetSpawnInCondition(NW_FLAG_SEARCH);
// If the NPC has Search go into Search Mode
//SetSpawnInCondition(NW_FLAG_SET_WARNINGS);
// This will set the NPC to give a warning to non-enemies before attacking
//SetSpawnInCondition(NW_FLAG_SLEEP);
//Creatures that spawn in during the night will be asleep.
//SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);
//SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
//SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
//SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
//This will play Ambient Animations until the NPC sees an enemy or is cleared.
//NOTE that these animations will play automatically for Encounter Creatures.
// NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME.
//SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.)
//SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.)
// CUSTOM USER DEFINED EVENTS
/*
The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the
On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined
events user 1000 - 1010
*/
//SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001
//SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002
//SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005
//SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006
//SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008
//SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003
//SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004
//SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007
// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) *****************************************************************************************
SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to.
WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0)
// 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them
// 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after
// combat.
GenerateNPCTreasure(2); //* Use this to create a small amount of treasure on the creature
// Modified by: Dalantriel Jul 2002
// Attack outpost
ActionAttack(GetObjectByTag("pcbanner001"));
}

View File

@@ -0,0 +1,82 @@
//::///////////////////////////////////////////////
//:: Default: On Spawn In
//:: NW_C2_DEFAULT9
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Determines the course of action to be taken
after having just been spawned in
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"
void main()
{
// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) ****************************************************************************
//SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);
//SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);
// This causes the creature to say a special greeting in their conversation file
// upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired
// greeting in order to designate it. As the creature is actually saying this to
// himself, don't attach any player responses to the greeting.
//SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
// This will set the listening pattern on the NPC to attack when allies call
//SetSpawnInCondition(NW_FLAG_STEALTH);
// If the NPC has stealth and they are a rogue go into stealth mode
//SetSpawnInCondition(NW_FLAG_SEARCH);
// If the NPC has Search go into Search Mode
//SetSpawnInCondition(NW_FLAG_SET_WARNINGS);
// This will set the NPC to give a warning to non-enemies before attacking
//SetSpawnInCondition(NW_FLAG_SLEEP);
//Creatures that spawn in during the night will be asleep.
//SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);
//SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
//SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
//SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
//This will play Ambient Animations until the NPC sees an enemy or is cleared.
//NOTE that these animations will play automatically for Encounter Creatures.
// NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME.
//SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.)
//SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.)
// CUSTOM USER DEFINED EVENTS
/*
The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the
On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined
events user 1000 - 1010
*/
//SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001
//SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002
//SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005
//SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006
//SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008
//SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003
//SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004
//SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007
// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) *****************************************************************************************
SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to.
WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0)
// 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them
// 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after
// combat.
GenerateNPCTreasure(2); //* Use this to create a small amount of treasure on the creature
// Modified by: Dalantriel Jul 2002
// Attack outpost
ActionAttack(GetObjectByTag("pcbanner002"));
}

View File

@@ -0,0 +1,82 @@
//::///////////////////////////////////////////////
//:: Default: On Spawn In
//:: NW_C2_DEFAULT9
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Determines the course of action to be taken
after having just been spawned in
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"
void main()
{
// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) ****************************************************************************
//SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);
//SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);
// This causes the creature to say a special greeting in their conversation file
// upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired
// greeting in order to designate it. As the creature is actually saying this to
// himself, don't attach any player responses to the greeting.
//SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
// This will set the listening pattern on the NPC to attack when allies call
//SetSpawnInCondition(NW_FLAG_STEALTH);
// If the NPC has stealth and they are a rogue go into stealth mode
//SetSpawnInCondition(NW_FLAG_SEARCH);
// If the NPC has Search go into Search Mode
//SetSpawnInCondition(NW_FLAG_SET_WARNINGS);
// This will set the NPC to give a warning to non-enemies before attacking
//SetSpawnInCondition(NW_FLAG_SLEEP);
//Creatures that spawn in during the night will be asleep.
//SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);
//SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
//SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
//SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
//This will play Ambient Animations until the NPC sees an enemy or is cleared.
//NOTE that these animations will play automatically for Encounter Creatures.
// NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME.
//SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.)
//SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.)
// CUSTOM USER DEFINED EVENTS
/*
The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the
On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined
events user 1000 - 1010
*/
//SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001
//SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002
//SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005
//SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006
//SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008
//SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003
//SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004
//SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007
// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) *****************************************************************************************
SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to.
WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0)
// 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them
// 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after
// combat.
GenerateNPCTreasure(2); //* Use this to create a small amount of treasure on the creature
// Modified by: Dalantriel Jul 2002
// Attack outpost
ActionAttack(GetObjectByTag("pcbanner003"));
}

View File

@@ -0,0 +1,101 @@
//::///////////////////////////////////////////////
//:: Default: On Spawn In
//:: NW_C2_DEFAULT9
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Determines the course of action to be taken
after having just been spawned in
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"
void main()
{
// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) ****************************************************************************
//SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);
//SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);
// This causes the creature to say a special greeting in their conversation file
// upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired
// greeting in order to designate it. As the creature is actually saying this to
// himself, don't attach any player responses to the greeting.
//SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
// This will set the listening pattern on the NPC to attack when allies call
//SetSpawnInCondition(NW_FLAG_STEALTH);
// If the NPC has stealth and they are a rogue go into stealth mode
//SetSpawnInCondition(NW_FLAG_SEARCH);
// If the NPC has Search go into Search Mode
//SetSpawnInCondition(NW_FLAG_SET_WARNINGS);
// This will set the NPC to give a warning to non-enemies before attacking
//SetSpawnInCondition(NW_FLAG_SLEEP);
//Creatures that spawn in during the night will be asleep.
//SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);
//SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
//SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
//SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
//This will play Ambient Animations until the NPC sees an enemy or is cleared.
//NOTE that these animations will play automatically for Encounter Creatures.
// NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME.
//SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.)
//SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.)
// CUSTOM USER DEFINED EVENTS
/*
The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the
On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined
events user 1000 - 1010
*/
//SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001
//SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002
//SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005
//SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006
//SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008
//SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003
//SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004
//SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007
// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) *****************************************************************************************
SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to.
WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0)
// 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them
// 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after
// combat.
GenerateNPCTreasure(2); //* Use this to create a small amount of treasure on the creature
// Modified by: Dalantriel Jul 2002
// Attack outpost
// But from either direction with equal chance
int npathchoice = d100();
if(npathchoice < 51)
{
ActionMoveToObject(GetObjectByTag("ai_horde001"));
ActionMoveToObject(GetObjectByTag("ai_horde004"));
ActionMoveToObject(GetObjectByTag("ai_horde022"));
ActionMoveToObject(GetObjectByTag("ai_horde008"));
ActionMoveToObject(GetObjectByTag("ai_horde011"));
}
else
{
ActionMoveToObject(GetObjectByTag("ai_horde002"));
ActionMoveToObject(GetObjectByTag("ai_horde005"));
ActionMoveToObject(GetObjectByTag("ai_horde023"));
ActionMoveToObject(GetObjectByTag("ai_horde008"));
ActionMoveToObject(GetObjectByTag("ai_horde011"));
}
ActionAttack(GetObjectByTag("pcbanner004"));
}

View File

@@ -0,0 +1,82 @@
//::///////////////////////////////////////////////
//:: Default: On Spawn In
//:: NW_C2_DEFAULT9
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Determines the course of action to be taken
after having just been spawned in
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"
void main()
{
// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) ****************************************************************************
//SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);
//SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);
// This causes the creature to say a special greeting in their conversation file
// upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired
// greeting in order to designate it. As the creature is actually saying this to
// himself, don't attach any player responses to the greeting.
//SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
// This will set the listening pattern on the NPC to attack when allies call
//SetSpawnInCondition(NW_FLAG_STEALTH);
// If the NPC has stealth and they are a rogue go into stealth mode
//SetSpawnInCondition(NW_FLAG_SEARCH);
// If the NPC has Search go into Search Mode
//SetSpawnInCondition(NW_FLAG_SET_WARNINGS);
// This will set the NPC to give a warning to non-enemies before attacking
//SetSpawnInCondition(NW_FLAG_SLEEP);
//Creatures that spawn in during the night will be asleep.
//SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);
//SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
//SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
//SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
//This will play Ambient Animations until the NPC sees an enemy or is cleared.
//NOTE that these animations will play automatically for Encounter Creatures.
// NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME.
//SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.)
//SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.)
// CUSTOM USER DEFINED EVENTS
/*
The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the
On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined
events user 1000 - 1010
*/
//SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001
//SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002
//SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005
//SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006
//SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008
//SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003
//SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004
//SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007
// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) *****************************************************************************************
SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to.
WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0)
// 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them
// 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after
// combat.
GenerateNPCTreasure(2); //* Use this to create a small amount of treasure on the creature
// Modified by: Dalantriel Jul 2002
// Attack outpost
ActionAttack(GetObjectByTag("pcbanner005"));
}

View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName attackspeaker
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 8/24/2002 10:36:22 AM
//:://////////////////////////////////////////////
#include "nw_i0_generic"
void main()
{
// Set the faction to hate the player, then attack the player
AdjustReputation(GetPCSpeaker(), OBJECT_SELF, -100);
DetermineCombatRound(GetPCSpeaker());
}

View File

@@ -0,0 +1,16 @@
/*
Calculate the remaining hitpoints of each gate
Created By: Dalantriel Jul 22, 2002
*/
void main()
{
// Set the variables
int nTempleGate = (GetCurrentHitPoints(GetObjectByTag("TempleGate")));
int nNorthGate = (GetCurrentHitPoints(GetObjectByTag("NorthGate")));
int nSouthGate = (GetCurrentHitPoints(GetObjectByTag("SouthGate")));
SetLocalInt(OBJECT_SELF, "nTempleGateStrength", nTempleGate);
SetLocalInt(OBJECT_SELF, "nNorthGateStrength", nNorthGate);
SetLocalInt(OBJECT_SELF, "nSouthGateStrength", nSouthGate);
}

View File

@@ -0,0 +1,55 @@
/*
Calculate the nBattleProgress variable and asign it to the scout
nHordestrength is determined by the number of Horde banners that exist
Created By: Dalantriel Jul 22, 2002
*/
void main()
{
// Set the variables
int nHordestrength = 0;
if(GetCurrentHitPoints(GetObjectByTag("spawnmaster1")) >> 0)
{
nHordestrength++;
}
if(GetCurrentHitPoints(GetObjectByTag("spawnmaster2")) >> 0)
{
nHordestrength++;
}
if(GetCurrentHitPoints(GetObjectByTag("spawnmaster3")) >> 0)
{
nHordestrength++;
}
if(GetCurrentHitPoints(GetObjectByTag("spawnmaster4")) >> 0)
{
nHordestrength++;
}
if(GetCurrentHitPoints(GetObjectByTag("spawnmaster5")) >> 0)
{
nHordestrength++;
}
if(GetCurrentHitPoints(GetObjectByTag("spawnmaster6")) >> 0)
{
nHordestrength++;
}
if(GetCurrentHitPoints(GetObjectByTag("spawnmaster7")) >> 0)
{
nHordestrength++;
}
if(GetCurrentHitPoints(GetObjectByTag("spawnmaster8")) >> 0)
{
nHordestrength++;
}
if(GetCurrentHitPoints(GetObjectByTag("spawnmaster9")) >> 0)
{
nHordestrength++;
}
if(GetCurrentHitPoints(GetObjectByTag("spawnmaster10")) >> 0)
{
nHordestrength++;
}
SetLocalInt(OBJECT_SELF, "nBattleProgress", nHordestrength);
}

View File

@@ -0,0 +1,5 @@
void main()
{
ExecuteScript("prc_onaquire", OBJECT_SELF);
ExecuteScript("x2_mod_def_aqu", OBJECT_SELF);
}

View File

@@ -0,0 +1,5 @@
void main()
{
ExecuteScript("prc_onactivate", OBJECT_SELF);
ExecuteScript("x2_mod_def_act", OBJECT_SELF);
}

View File

@@ -0,0 +1,5 @@
void main()
{
ExecuteScript("prc_ondeath", OBJECT_SELF);
ExecuteScript("nw_o0_death", OBJECT_SELF);
}

View File

@@ -0,0 +1,5 @@
void main()
{
ExecuteScript("prc_ondying", OBJECT_SELF);
ExecuteScript("nw_o0_dying", OBJECT_SELF);
}

View File

@@ -0,0 +1,5 @@
void main()
{
ExecuteScript("prc_equip", OBJECT_SELF);
ExecuteScript("x2_mod_def_equ", OBJECT_SELF);
}

View File

@@ -0,0 +1,5 @@
void main()
{
ExecuteScript("prc_onheartbeat", OBJECT_SELF);
ExecuteScript("x3_mod_def_hb", OBJECT_SELF);
}

View File

@@ -0,0 +1,4 @@
void main()
{
ExecuteScript("prc_levelup", OBJECT_SELF);
}

View File

@@ -0,0 +1,5 @@
void main()
{
ExecuteScript("prc_onenter", OBJECT_SELF);
ExecuteScript("onentermod", OBJECT_SELF);
}

View File

@@ -0,0 +1,4 @@
void main()
{
ExecuteScript("prc_onleave", OBJECT_SELF);
}

View File

@@ -0,0 +1,5 @@
void main()
{
ExecuteScript("prc_onmodload", OBJECT_SELF);
ExecuteScript("x3_mod_def_load", OBJECT_SELF);
}

View File

@@ -0,0 +1,5 @@
void main()
{
ExecuteScript("prc_onrespawn", OBJECT_SELF);
ExecuteScript("resshrine", OBJECT_SELF);
}

View File

@@ -0,0 +1,5 @@
void main()
{
ExecuteScript("prc_rest", OBJECT_SELF);
ExecuteScript("x2_mod_def_rest", OBJECT_SELF);
}

View File

@@ -0,0 +1,5 @@
void main()
{
ExecuteScript("prc_onunaquire", OBJECT_SELF);
ExecuteScript("x2_mod_def_unaqu", OBJECT_SELF);
}

View File

@@ -0,0 +1,5 @@
void main()
{
ExecuteScript("prc_unequip", OBJECT_SELF);
ExecuteScript("x2_mod_def_unequ", OBJECT_SELF);
}

View File

@@ -0,0 +1,5 @@
void main()
{
ExecuteScript("prc_onuserdef", OBJECT_SELF);
ExecuteScript("x2_def_userdef", OBJECT_SELF);
}

View File

@@ -0,0 +1,10 @@
//:: FileName can_pay100
// Does the PC have 100 gp to pay?
#include "NW_I0_PLOT"
int StartingConditional()
{
return (HasGold(3000,GetPCSpeaker()));
}

View File

@@ -0,0 +1,10 @@
//:: FileName can_pay200
// Does the PC have 200 gp to pay?
#include "NW_I0_PLOT"
int StartingConditional()
{
return (HasGold(200,GetPCSpeaker()));
}

View File

@@ -0,0 +1,39 @@
//::///////////////////////////////////////////////
//:: Default: End of Combat Round
//:: NW_C2_DEFAULT3
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Calls the end of combat script every round
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 16, 2001
//:://////////////////////////////////////////////
#include "NW_I0_GENERIC"
void main()
{
if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL))
{
DetermineSpecialBehavior();
}
else if(!GetSpawnInCondition(NW_FLAG_SET_WARNINGS))
{
DetermineCombatRound();
}
if(GetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1003));
}
// Modified by: Dalantriel Jul 22, 2002
// If interrupted by combat, this initiates Waypoints to keep Creature moving
if(!GetIsInCombat())
{
WalkWayPoints();
}
}

34
_module/nss/doorbash.nss Normal file
View File

@@ -0,0 +1,34 @@
//::///////////////////////////////////////////////
//:: Default On Heartbeat
//:: NW_C2_DEFAULTE
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
This will cause blocked creatures to open
or smash down doors depending on int and
str.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Nov 23, 2001
//:: Modified By: Dalantriel Jul 2002
//:://////////////////////////////////////////////
void main()
{
object oDoor = GetBlockingDoor();
if(GetAbilityScore(OBJECT_SELF, ABILITY_INTELLIGENCE) >= 3)
{
// Modified INT requirement to 20 to ensure no Horde creature can open doors
if(GetIsDoorActionPossible(oDoor, DOOR_ACTION_OPEN) && GetAbilityScore(OBJECT_SELF, ABILITY_INTELLIGENCE) >= 20 )
{
DoDoorAction(oDoor, DOOR_ACTION_OPEN);
}
else if(GetIsDoorActionPossible(oDoor, DOOR_ACTION_BASH))
{
ActionEquipMostDamagingMelee();
DoDoorAction(oDoor, DOOR_ACTION_BASH);
}
}
}

View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName dragonleave
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 8/25/2002 7:12:44 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(OBJECT_SELF, "nDragonLeave", 1);
}

15
_module/nss/expatend.nss Normal file
View File

@@ -0,0 +1,15 @@
//::///////////////////////////////////////////////
//:: FileName expatend
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/20/2002 8:37:25 PM
//:://////////////////////////////////////////////
void main()
{
// Give the speaker some XP
GiveXPToCreature(GetPCSpeaker(), 1000);
SetLocalInt(GetPCSpeaker(), "nWarlordDead", 2);
}

30
_module/nss/finalloot.nss Normal file
View File

@@ -0,0 +1,30 @@
//::///////////////////////////////////////////////
/*
Spawns in alot of magical loot for evil temple altar once only
Modified by: Dalantriel Jul 2002
*/
#include "NW_O2_CONINCLUDE"
void main()
{
if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
{
return;
}
object oLastOpener = GetLastOpener();
GenerateHighTreasure(oLastOpener, OBJECT_SELF);
GenerateHighTreasure(oLastOpener, OBJECT_SELF);
ExecuteScript("magictres", OBJECT_SELF);
ExecuteScript("magictres", OBJECT_SELF);
ExecuteScript("magictres", OBJECT_SELF);
ExecuteScript("magictres", OBJECT_SELF);
ExecuteScript("magictres", OBJECT_SELF);
int nGoldAmount = (d100() * 8) + d10();
CreateItemOnObject ("NW_IT_GOLD001", OBJECT_SELF, nGoldAmount);
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
ShoutDisturbed();
}

View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName finishedhorde
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/21/2002 11:33:58 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(GetPCSpeaker(), "nWarlordDead") == 2))
return FALSE;
return TRUE;
}

View File

@@ -0,0 +1,118 @@
//::///////////////////////////////////////////////
//:: Default On Heartbeat
//:: NW_C2_DEFAULT1
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
This script will have people perform default
animations.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Nov 23, 2001
//:://////////////////////////////////////////////
#include "NW_I0_GENERIC"
void main()
{
if(GetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY))
{
if(TalentAdvancedBuff(40.0))
{
SetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY, FALSE);
return;
}
}
if(GetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING))
{
int nDay = FALSE;
if(GetIsDay() || GetIsDawn())
{
nDay = TRUE;
}
if(GetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT") != nDay)
{
if(nDay == TRUE)
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", TRUE);
}
else
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", FALSE);
}
WalkWayPoints();
}
}
if(!GetHasEffect(EFFECT_TYPE_SLEEP))
{
if(!GetIsPostOrWalking())
{
if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget()))
{
if(!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
if(!GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL) && !IsInConversation(OBJECT_SELF))
{
if(GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS) || GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS_AVIAN))
{
PlayMobileAmbientAnimations();
}
else if(GetIsEncounterCreature() &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayMobileAmbientAnimations();
}
else if(GetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS) &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayImmobileAmbientAnimations();
}
}
else
{
DetermineSpecialBehavior();
}
}
else
{
//DetermineCombatRound();
}
}
}
}
else
{
if(GetSpawnInCondition(NW_FLAG_SLEEPING_AT_NIGHT))
{
effect eVis = EffectVisualEffect(VFX_IMP_SLEEP);
if(d10() > 6)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
}
}
}
if(GetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1001));
}
// Announce attacks on gates
if(GetLocalInt(OBJECT_SELF, "nTempleGate") > 0)
{
SpeakString("There is a disturbance at the Main Gate!", TALKVOLUME_SHOUT);
SetLocalInt(OBJECT_SELF, "nTempleGate", 0);
}
if(GetLocalInt(OBJECT_SELF, "nNorthGate") > 0)
{
SpeakString("There is a disturbance at the North Gate", TALKVOLUME_SHOUT);
SetLocalInt(OBJECT_SELF, "nNorthGate", 0);
}
if(GetLocalInt(OBJECT_SELF, "nSouthGate") > 0)
{
SpeakString("There is a disturbance at the South Gate!", TALKVOLUME_SHOUT);
SetLocalInt(OBJECT_SELF, "nSouthGate", 0);
}
}

View File

@@ -0,0 +1,11 @@
/*
Gate Auto close script
Automatically close gates after 10 seconds
Created by: Dalantriel Jul 2002
*/
void main()
{
ActionWait(10.0);
ActionCloseDoor(OBJECT_SELF);
}

View File

@@ -0,0 +1,15 @@
//::///////////////////////////////////////////////
//:: FileName give400exp
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 6/26/2002 7:58:46 PM
//:://////////////////////////////////////////////
#include "nw_i0_tool"
void main()
{
// Give the speaker some XP
GiveXPToCreature(GetPCSpeaker(), 400);
}

14
_module/nss/giveitems.nss Normal file
View File

@@ -0,0 +1,14 @@
//::///////////////////////////////////////////////
//:: FileName giveitems
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/23/2002 11:15:42 PM
//:://////////////////////////////////////////////
void main()
{
// Give the speaker the items
CreateItemOnObject("nw_it_medkit001", GetPCSpeaker(), 1);
CreateItemOnObject("nw_it_medkit002", GetPCSpeaker(), 1);
}

View File

@@ -0,0 +1,18 @@
//::///////////////////////////////////////////////
//:: FileName finishedhorde
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/21/2002 11:33:58 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
object oTrashCan = GetObjectByTag("TrashCan");
if(!(GetLocalInt(oTrashCan, "nGoodNPCDead") > 0))
return FALSE;
return TRUE;
}

View File

@@ -0,0 +1,67 @@
//::///////////////////////////////////////////////
//:: Default:On Death
//:: NW_C2_DEFAULT7
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Shouts to allies that they have been killed
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//:://////////////////////////////////////////////
#include "NW_I0_GENERIC"
void main()
{
int nClass = GetLevelByClass(CLASS_TYPE_COMMONER);
int nAlign = GetAlignmentGoodEvil(OBJECT_SELF);
if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL))
{
object oKiller = GetLastKiller();
AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5);
}
SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK);
//Shout Attack my target, only works with the On Spawn In setup
SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);
if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1007));
}
// Modified By: Dalantriel Jul 22, 2002
// Raze the temple if killed by a non-PC
object oKiller = GetLastKiller();
if(!(GetIsPC(oKiller)))
{
SoundObjectStop(GetObjectByTag("MagicCrystalGoodSeal"));
DestroyObject(GetObjectByTag("Boulder"));
SoundObjectPlay(GetObjectByTag("Boom"));
SoundObjectPlay(GetObjectByTag("MagicPortalEvilSeal"));
// Add evil effects
location loc = GetLocation(GetObjectByTag("MagicSparksWhite"));
CreateObject(OBJECT_TYPE_PLACEABLE, "unholylight", loc, TRUE);
// Set Good NPC to dead and add Journal Entry
object oTrashCan = GetObjectByTag("TrashCan");
SetLocalInt(oTrashCan, "nGoodNPCDead", 1);
AddJournalQuestEntry("Category000", 7, GetFirstPC(), TRUE, TRUE);
}
// Else add PC killed Henrick to Journal
else
{
AddJournalQuestEntry("Category000", 8, GetFirstPC(), TRUE, TRUE);
// Set Good NPC to dead and add Journal Entry
object oTrashCan = GetObjectByTag("TrashCan");
SetLocalInt(oTrashCan, "nGoodNPCDead", 1);
}
}

110
_module/nss/hb_dragon.nss Normal file
View File

@@ -0,0 +1,110 @@
//::///////////////////////////////////////////////
//:: Default On Heartbeat
//:: NW_C2_DEFAULT1
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
This script will have people perform default
animations.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Nov 23, 2001
//:://////////////////////////////////////////////
#include "NW_I0_GENERIC"
void main()
{
if(GetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY))
{
if(TalentAdvancedBuff(40.0))
{
SetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY, FALSE);
return;
}
}
if(GetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING))
{
int nDay = FALSE;
if(GetIsDay() || GetIsDawn())
{
nDay = TRUE;
}
if(GetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT") != nDay)
{
if(nDay == TRUE)
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", TRUE);
}
else
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", FALSE);
}
WalkWayPoints();
}
}
if(!GetHasEffect(EFFECT_TYPE_SLEEP))
{
if(!GetIsPostOrWalking())
{
if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget()))
{
if(!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
if(!GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL) && !IsInConversation(OBJECT_SELF))
{
if(GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS) || GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS_AVIAN))
{
PlayMobileAmbientAnimations();
}
else if(GetIsEncounterCreature() &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayMobileAmbientAnimations();
}
else if(GetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS) &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayImmobileAmbientAnimations();
}
}
else
{
DetermineSpecialBehavior();
}
}
else
{
//DetermineCombatRound();
}
}
}
}
else
{
if(GetSpawnInCondition(NW_FLAG_SLEEPING_AT_NIGHT))
{
effect eVis = EffectVisualEffect(VFX_IMP_SLEEP);
if(d10() > 6)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
}
}
}
if(GetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1001));
}
if(!(GetCurrentHitPoints(GetObjectByTag("HoldingPillar")) > 0))
{
ActionCastFakeSpellAtObject(SPELL_POLYMORPH_SELF, OBJECT_SELF);
location loc = GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_CREATURE, "dragonelf", loc, TRUE);
ActionDoCommand(DestroyObject(OBJECT_SELF));
}
}

View File

@@ -0,0 +1,115 @@
//::///////////////////////////////////////////////
//:: Default On Heartbeat
//:: NW_C2_DEFAULT1
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
This script will have people perform default
animations.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Nov 23, 2001
//:://////////////////////////////////////////////
#include "NW_I0_GENERIC"
void main()
{
if(GetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY))
{
if(TalentAdvancedBuff(40.0))
{
SetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY, FALSE);
return;
}
}
if(GetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING))
{
int nDay = FALSE;
if(GetIsDay() || GetIsDawn())
{
nDay = TRUE;
}
if(GetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT") != nDay)
{
if(nDay == TRUE)
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", TRUE);
}
else
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", FALSE);
}
WalkWayPoints();
}
}
if(!GetHasEffect(EFFECT_TYPE_SLEEP))
{
if(!GetIsPostOrWalking())
{
if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget()))
{
if(!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
if(!GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL) && !IsInConversation(OBJECT_SELF))
{
if(GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS) || GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS_AVIAN))
{
PlayMobileAmbientAnimations();
}
else if(GetIsEncounterCreature() &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayMobileAmbientAnimations();
}
else if(GetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS) &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayImmobileAmbientAnimations();
}
}
else
{
DetermineSpecialBehavior();
}
}
else
{
//DetermineCombatRound();
}
}
}
}
else
{
if(GetSpawnInCondition(NW_FLAG_SLEEPING_AT_NIGHT))
{
effect eVis = EffectVisualEffect(VFX_IMP_SLEEP);
if(d10() > 6)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
}
}
}
if(GetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1001));
}
if(GetLocalInt(OBJECT_SELF, "nDragonLeave") == 1)
{
SetLocalInt(OBJECT_SELF, "nDragonLeave", 2);
ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW);
location loc = GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_ITEM, "dragonblade", loc, TRUE);
ActionWait(5.0f);
ActionCastFakeSpellAtObject(SPELL_SUNBEAM, OBJECT_SELF);
ActionDoCommand(DestroyObject(OBJECT_SELF));
}
}

107
_module/nss/hb_mage1.nss Normal file
View File

@@ -0,0 +1,107 @@
//::///////////////////////////////////////////////
//:: Default On Heartbeat
//:: NW_C2_DEFAULT1
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
This script will have people perform default
animations.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Nov 23, 2001
//:://////////////////////////////////////////////
#include "NW_I0_GENERIC"
void main()
{
if(GetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY))
{
if(TalentAdvancedBuff(40.0))
{
SetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY, FALSE);
return;
}
}
if(GetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING))
{
int nDay = FALSE;
if(GetIsDay() || GetIsDawn())
{
nDay = TRUE;
}
if(GetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT") != nDay)
{
if(nDay == TRUE)
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", TRUE);
}
else
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", FALSE);
}
WalkWayPoints();
}
}
if(!GetHasEffect(EFFECT_TYPE_SLEEP))
{
if(!GetIsPostOrWalking())
{
if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget()))
{
if(!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
if(!GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL) && !IsInConversation(OBJECT_SELF))
{
if(GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS) || GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS_AVIAN))
{
PlayMobileAmbientAnimations();
}
else if(GetIsEncounterCreature() &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayMobileAmbientAnimations();
}
else if(GetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS) &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayImmobileAmbientAnimations();
}
}
else
{
DetermineSpecialBehavior();
}
}
else
{
//DetermineCombatRound();
}
}
}
}
else
{
if(GetSpawnInCondition(NW_FLAG_SLEEPING_AT_NIGHT))
{
effect eVis = EffectVisualEffect(VFX_IMP_SLEEP);
if(d10() > 6)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
}
}
}
if(GetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1001));
}
if(GetLocalInt(OBJECT_SELF, "nRelease") == 1)
{
ActionSpeakString("Release the Orcs! Release the Orcs! We have been breached!", TALKVOLUME_SHOUT);
SetLocalInt(OBJECT_SELF, "nRelease", 2);
}
}

151
_module/nss/hbrove.nss Normal file
View File

@@ -0,0 +1,151 @@
//::///////////////////////////////////////////////
//:: Default On Heartbeat
//:: NW_C2_DEFAULT1
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
This script will have people perform default
animations.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Nov 23, 2001
//:://////////////////////////////////////////////
#include "NW_I0_GENERIC"
void main()
{
if(GetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY))
{
if(TalentAdvancedBuff(40.0))
{
SetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY, FALSE);
return;
}
}
if(GetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING))
{
int nDay = FALSE;
if(GetIsDay() || GetIsDawn())
{
nDay = TRUE;
}
if(GetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT") != nDay)
{
if(nDay == TRUE)
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", TRUE);
}
else
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", FALSE);
}
WalkWayPoints();
}
}
if(!GetHasEffect(EFFECT_TYPE_SLEEP))
{
if(!GetIsPostOrWalking())
{
if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget()))
{
if(!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
if(!GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL) && !IsInConversation(OBJECT_SELF))
{
if(GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS) || GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS_AVIAN))
{
PlayMobileAmbientAnimations();
}
else if(GetIsEncounterCreature() &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayMobileAmbientAnimations();
}
else if(GetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS) &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayImmobileAmbientAnimations();
}
}
else
{
DetermineSpecialBehavior();
}
}
else
{
//DetermineCombatRound();
}
}
}
}
else
{
if(GetSpawnInCondition(NW_FLAG_SLEEPING_AT_NIGHT))
{
effect eVis = EffectVisualEffect(VFX_IMP_SLEEP);
if(d10() > 6)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
}
}
}
if(GetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1001));
}
// Modified By: Dalantriel Jul 22, 2002
// If a PC Banner exists at this outpost destroy it, otherwise move to it
if(GetCurrentHitPoints(GetObjectByTag("pcbanner009")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner009"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner006")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner006"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner007")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner007"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner008")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner008"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner010")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner010"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner003")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner003"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner004")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner004"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner005")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner005"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner001")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner001"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner002")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner002"));
}
else
{
ActionMoveToObject(GetObjectByTag("ai_horde021"));
}
}

151
_module/nss/hbrove2.nss Normal file
View File

@@ -0,0 +1,151 @@
//::///////////////////////////////////////////////
//:: Default On Heartbeat
//:: NW_C2_DEFAULT1
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
This script will have people perform default
animations.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Nov 23, 2001
//:://////////////////////////////////////////////
#include "NW_I0_GENERIC"
void main()
{
if(GetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY))
{
if(TalentAdvancedBuff(40.0))
{
SetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY, FALSE);
return;
}
}
if(GetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING))
{
int nDay = FALSE;
if(GetIsDay() || GetIsDawn())
{
nDay = TRUE;
}
if(GetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT") != nDay)
{
if(nDay == TRUE)
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", TRUE);
}
else
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", FALSE);
}
WalkWayPoints();
}
}
if(!GetHasEffect(EFFECT_TYPE_SLEEP))
{
if(!GetIsPostOrWalking())
{
if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget()))
{
if(!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
if(!GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL) && !IsInConversation(OBJECT_SELF))
{
if(GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS) || GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS_AVIAN))
{
PlayMobileAmbientAnimations();
}
else if(GetIsEncounterCreature() &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayMobileAmbientAnimations();
}
else if(GetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS) &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayImmobileAmbientAnimations();
}
}
else
{
DetermineSpecialBehavior();
}
}
else
{
//DetermineCombatRound();
}
}
}
}
else
{
if(GetSpawnInCondition(NW_FLAG_SLEEPING_AT_NIGHT))
{
effect eVis = EffectVisualEffect(VFX_IMP_SLEEP);
if(d10() > 6)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
}
}
}
if(GetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1001));
}
// Modified By: Dalantriel Jul 22, 2002
// If a PC Banner exists at this outpost destroy it, otherwise move to it
if(GetCurrentHitPoints(GetObjectByTag("pcbanner010")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner010"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner008")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner008"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner007")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner007"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner006")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner006"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner009")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner009"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner005")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner005"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner004")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner004"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner003")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner003"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner002")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner002"));
}
else if(GetCurrentHitPoints(GetObjectByTag("pcbanner001")) > 0)
{
ActionAttack(GetObjectByTag("pcbanner001"));
}
else
{
ActionMoveToObject(GetObjectByTag("ai_horde021"));
}
}

View File

@@ -0,0 +1,13 @@
// Healing Shrine Script
// July 2002
// By Dalantriel
// Casts Heal on Player if their hit points are not at maximum
void main()
{
object oPC = GetLastUsedBy();
if (GetCurrentHitPoints(oPC) < GetMaxHitPoints(oPC))
{
ActionCastSpellAtObject (SPELL_HEAL, oPC, METAMAGIC_ANY, TRUE, 1, PROJECTILE_PATH_TYPE_DEFAULT, FALSE);
}
}

View File

@@ -0,0 +1,12 @@
//::///////////////////////////////////////////////
//:: FileName hellfreezesover
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/20/2002 2:47:53 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
return TRUE;
}

22
_module/nss/henchjoin.nss Normal file
View File

@@ -0,0 +1,22 @@
// * script: henchman_joins
// * NPC Henchman joins PC, replacing other henchman if necessary.
// Use in [Actions Taken] tab of henchman's joining dialog line.
#include "nw_i0_henchman"
void main()
{
if (GetIsObjectValid(GetHenchman(GetPCSpeaker())) == TRUE)
{ SetFormerMaster(GetPCSpeaker(), GetHenchman(GetPCSpeaker()));
object oHench = GetHenchman(GetPCSpeaker());
RemoveHenchman(GetPCSpeaker(), GetHenchman(GetPCSpeaker()));
AssignCommand(oHench, ClearAllActions());
}
SetWorkingForPlayer(GetPCSpeaker());
SetBeenHired();
ExecuteScript("NW_CH_JOIN", OBJECT_SELF);
}

View File

@@ -0,0 +1,14 @@
// * script: henchman_leaves
// * NPC Henchman leaves PC.
// * Use in [Actions Taken] tab of henchman's departing dialog line.
#include "nw_i0_henchman"
void main()
{
SetFormerMaster(GetPCSpeaker(), OBJECT_SELF);
RemoveHenchman(GetPCSpeaker());
ClearAllActions();
}

View File

@@ -0,0 +1,19 @@
//:: FileName henchman_joins
// Henchman joins PC, booting other henchman if necessary
#include "nw_i0_henchman"
void main()
{
if (GetIsObjectValid(GetHenchman(GetPCSpeaker())) == TRUE)
{ SetFormerMaster(GetPCSpeaker(), GetHenchman(GetPCSpeaker()));
object oHench = GetHenchman(GetPCSpeaker());
RemoveHenchman(GetPCSpeaker(), GetHenchman(GetPCSpeaker()));
AssignCommand(oHench, ClearAllActions());
}
SetWorkingForPlayer(GetPCSpeaker());
SetBeenHired();
ExecuteScript("NW_CH_JOIN", OBJECT_SELF);
}

View File

@@ -0,0 +1,9 @@
#include "nw_i0_henchman"
void main()
{
SetFormerMaster(GetPCSpeaker(), OBJECT_SELF);
RemoveHenchman(GetPCSpeaker());
ClearAllActions();
}

View File

@@ -0,0 +1,33 @@
/*
Spawns in general purpose treasure, some gold,
and up to 4 specific Magic Items
*/
//:://////////////////////////////////////////////
//:: Created By: Dalantriel
//:: Created On: July 22 2002
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
void main()
{
// Check if chest already opened
if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
{
return;
}
// If not, spawn in random treasures and some gold
object oLastOpener = GetLastOpener();
GenerateMediumTreasure(oLastOpener, OBJECT_SELF);
GenerateHighTreasure(oLastOpener, OBJECT_SELF);
ExecuteScript("magictres", OBJECT_SELF);
ExecuteScript("magictres", OBJECT_SELF);
ExecuteScript("magictres", OBJECT_SELF);
ExecuteScript("magictres", OBJECT_SELF);
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
int nGoldPieces = (d100() * 5) + d10();
CreateItemOnObject ("NW_IT_GOLD001", OBJECT_SELF, nGoldPieces);
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
ShoutDisturbed();
}

View File

@@ -0,0 +1,12 @@
void main()
{
location loc = GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner001", loc, TRUE);
CreateObject(OBJECT_TYPE_PLACEABLE, "whitesparks", loc, TRUE);
DestroyObject(GetNearestObjectByTag("MagicSparksRed"));
SoundObjectStop(GetObjectByTag("MagicPortalEvil1"));
SoundObjectPlay(GetObjectByTag("MagicCrystalGood1"));
}

View File

@@ -0,0 +1,12 @@
void main()
{
location loc = GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner010", loc, TRUE);
CreateObject(OBJECT_TYPE_PLACEABLE, "whitesparks", loc, TRUE);
DestroyObject(GetNearestObjectByTag("MagicSparksRed"));
SoundObjectStop(GetObjectByTag("MagicPortalEvil10"));
SoundObjectPlay(GetObjectByTag("MagicCrystalGood10"));
}

View File

@@ -0,0 +1,12 @@
void main()
{
location loc = GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner002", loc, TRUE);
CreateObject(OBJECT_TYPE_PLACEABLE, "whitesparks", loc, TRUE);
DestroyObject(GetNearestObjectByTag("MagicSparksRed"));
SoundObjectStop(GetObjectByTag("MagicPortalEvil2"));
SoundObjectPlay(GetObjectByTag("MagicCrystalGood2"));
}

View File

@@ -0,0 +1,12 @@
void main()
{
location loc = GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner003", loc, TRUE);
CreateObject(OBJECT_TYPE_PLACEABLE, "whitesparks", loc, TRUE);
DestroyObject(GetNearestObjectByTag("MagicSparksRed"));
SoundObjectStop(GetObjectByTag("MagicPortalEvil3"));
SoundObjectPlay(GetObjectByTag("MagicCrystalGood3"));
}

View File

@@ -0,0 +1,12 @@
void main()
{
location loc = GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner004", loc, TRUE);
CreateObject(OBJECT_TYPE_PLACEABLE, "whitesparks", loc, TRUE);
DestroyObject(GetNearestObjectByTag("MagicSparksRed"));
SoundObjectStop(GetObjectByTag("MagicPortalEvil4"));
SoundObjectPlay(GetObjectByTag("MagicCrystalGood4"));
}

View File

@@ -0,0 +1,12 @@
void main()
{
location loc = GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner005", loc, TRUE);
CreateObject(OBJECT_TYPE_PLACEABLE, "whitesparks", loc, TRUE);
DestroyObject(GetNearestObjectByTag("MagicSparksRed"));
SoundObjectStop(GetObjectByTag("MagicPortalEvil5"));
SoundObjectPlay(GetObjectByTag("MagicCrystalGood5"));
}

View File

@@ -0,0 +1,12 @@
void main()
{
location loc = GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner006", loc, TRUE);
CreateObject(OBJECT_TYPE_PLACEABLE, "whitesparks", loc, TRUE);
DestroyObject(GetNearestObjectByTag("MagicSparksRed"));
SoundObjectStop(GetObjectByTag("MagicPortalEvil6"));
SoundObjectPlay(GetObjectByTag("MagicCrystalGood6"));
}

View File

@@ -0,0 +1,12 @@
void main()
{
location loc = GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner007", loc, TRUE);
CreateObject(OBJECT_TYPE_PLACEABLE, "whitesparks", loc, TRUE);
DestroyObject(GetNearestObjectByTag("MagicSparksRed"));
SoundObjectStop(GetObjectByTag("MagicPortalEvil7"));
SoundObjectPlay(GetObjectByTag("MagicCrystalGood7"));
}

View File

@@ -0,0 +1,12 @@
void main()
{
location loc = GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner008", loc, TRUE);
CreateObject(OBJECT_TYPE_PLACEABLE, "whitesparks", loc, TRUE);
DestroyObject(GetNearestObjectByTag("MagicSparksRed"));
SoundObjectStop(GetObjectByTag("MagicPortalEvil8"));
SoundObjectPlay(GetObjectByTag("MagicCrystalGood8"));
}

View File

@@ -0,0 +1,12 @@
void main()
{
location loc = GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner009", loc, TRUE);
CreateObject(OBJECT_TYPE_PLACEABLE, "whitesparks", loc, TRUE);
DestroyObject(GetNearestObjectByTag("MagicSparksRed"));
SoundObjectStop(GetObjectByTag("MagicPortalEvil9"));
SoundObjectPlay(GetObjectByTag("MagicCrystalGood9"));
}

View File

@@ -0,0 +1,18 @@
//::///////////////////////////////////////////////
//:: FileName hpersuadecheck
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 6/26/2002 8:03:08 PM
//:://////////////////////////////////////////////
#include "nw_i0_tool"
int StartingConditional()
{
// Perform skill checks
if(!(AutoDC(DC_HARD, SKILL_PERSUADE, GetPCSpeaker())))
return FALSE;
return TRUE;
}

16
_module/nss/hs0.nss Normal file
View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName hs0
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/22/2002 9:20:19 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(OBJECT_SELF, "nBattleProgress") == 0))
return FALSE;
return TRUE;
}

16
_module/nss/hs1.nss Normal file
View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName hs0
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/22/2002 9:20:19 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(OBJECT_SELF, "nBattleProgress") == 1))
return FALSE;
return TRUE;
}

16
_module/nss/hs10.nss Normal file
View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName hs0
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/22/2002 9:20:19 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(OBJECT_SELF, "nBattleProgress") == 10))
return FALSE;
return TRUE;
}

16
_module/nss/hs2.nss Normal file
View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName hs0
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/22/2002 9:20:19 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(OBJECT_SELF, "nBattleProgress") == 2))
return FALSE;
return TRUE;
}

16
_module/nss/hs3.nss Normal file
View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName hs0
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/22/2002 9:20:19 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(OBJECT_SELF, "nBattleProgress") == 3))
return FALSE;
return TRUE;
}

16
_module/nss/hs4.nss Normal file
View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName hs0
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/22/2002 9:20:19 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(OBJECT_SELF, "nBattleProgress") == 4))
return FALSE;
return TRUE;
}

16
_module/nss/hs5.nss Normal file
View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName hs0
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/22/2002 9:20:19 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(OBJECT_SELF, "nBattleProgress") == 5))
return FALSE;
return TRUE;
}

16
_module/nss/hs6.nss Normal file
View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName hs0
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/22/2002 9:20:19 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(OBJECT_SELF, "nBattleProgress") == 6))
return FALSE;
return TRUE;
}

16
_module/nss/hs7.nss Normal file
View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName hs0
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/22/2002 9:20:19 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(OBJECT_SELF, "nBattleProgress") == 7))
return FALSE;
return TRUE;
}

16
_module/nss/hs8.nss Normal file
View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName hs0
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/22/2002 9:20:19 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(OBJECT_SELF, "nBattleProgress") == 8))
return FALSE;
return TRUE;
}

16
_module/nss/hs9.nss Normal file
View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName hs0
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/22/2002 9:20:19 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(OBJECT_SELF, "nBattleProgress") == 9))
return FALSE;
return TRUE;
}

99
_module/nss/innburn.nss Normal file
View File

@@ -0,0 +1,99 @@
//::///////////////////////////////////////////////
//:: Default:On Death
//:: NW_C2_DEFAULT7
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Shouts to allies that they have been killed
Burns inn and kills occupants
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//:: Modified By: Dalantriel Jul 22, 2002
//:://////////////////////////////////////////////
#include "NW_I0_GENERIC"
void main()
{
int nClass = GetLevelByClass(CLASS_TYPE_COMMONER);
int nAlign = GetAlignmentGoodEvil(OBJECT_SELF);
if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL))
{
object oKiller = GetLastKiller();
AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5);
}
SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK);
//Shout Attack my target, only works with the On Spawn In setup
SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);
if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1007));
}
// Burn the inn
// Add flames and sound to exterior of inn
location loc;
object oflame = GetObjectByTag("inn_f1");
loc = GetLocation(oflame);
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
oflame = GetObjectByTag("inn_f2");
loc = GetLocation(oflame);
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
oflame = GetObjectByTag("inn_f3");
loc = GetLocation(oflame);
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
oflame = GetObjectByTag("inn_f4");
loc = GetLocation(oflame);
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
oflame = GetObjectByTag("inn_f5");
loc = GetLocation(oflame);
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
oflame = GetObjectByTag("inn_f6");
loc = GetLocation(oflame);
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
SoundObjectPlay(GetObjectByTag("FireInn"));
SoundObjectPlay(GetObjectByTag("FireInn2"));
// Destroy all occupants and replace with flames
oflame = GetObjectByTag("NW_COMFEMALE");
loc = GetLocation(oflame);
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
DestroyObject(GetObjectByTag("NW_COMFEMALE"));
oflame = GetObjectByTag("NW_FEMALEKID01");
loc = GetLocation(oflame);
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
DestroyObject(GetObjectByTag("NW_FEMALEKID01"));
oflame = GetObjectByTag("NW_MALEKID01");
loc = GetLocation(oflame);
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
DestroyObject(GetObjectByTag("NW_MALEKID01"));
oflame = GetObjectByTag("Dili");
loc = GetLocation(oflame);
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
DestroyObject(GetObjectByTag("Dili"));
oflame = GetObjectByTag("NW_NOBLFEMALE");
loc = GetLocation(oflame);
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
DestroyObject(GetObjectByTag("NW_NOBLFEMALE"));
oflame = GetObjectByTag("NW_OLDWOMAN");
loc = GetLocation(oflame);
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
DestroyObject(GetObjectByTag("NW_OLDWOMAN"));
}

View File

@@ -0,0 +1,18 @@
//::///////////////////////////////////////////////
//:: FileName finishedhorde
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/21/2002 11:33:58 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
object oPrimaryNPC = GetObjectByTag("Henrick");
if(!(GetLocalInt(oPrimaryNPC, "nWarlordDead") > 0))
return FALSE;
return TRUE;
}

35
_module/nss/lever.nss Normal file
View File

@@ -0,0 +1,35 @@
void main()
{
int nRand;
nRand = d6();
location loc = GetLocation(OBJECT_SELF);
switch(nRand)
{
case 1:
ActionCastSpellAtLocation(SPELL_WAIL_OF_THE_BANSHEE , loc, METAMAGIC_ANY, TRUE, PROJECTILE_PATH_TYPE_DEFAULT, TRUE);
break;
case 2:
DestroyObject(GetObjectByTag("JeweledDoor1"));
SoundObjectPlay(GetObjectByTag("PotClangsLever"));
break;
case 3:
DestroyObject(GetObjectByTag("JeweledDoor2"));
SoundObjectPlay(GetObjectByTag("PotClangsLever"));
break;
case 4:
DestroyObject(GetObjectByTag("JeweledDoor1"));
DestroyObject(GetObjectByTag("JeweledDoor2"));
SoundObjectPlay(GetObjectByTag("PotClangsLever"));
SoundObjectPlay(GetObjectByTag("PotClangsLever"));
break;
case 5:
DestroyObject(GetObjectByTag("NW_DGASTRAP001"));
break;
case 6:
CreateObject(OBJECT_TYPE_CREATURE, "golbone002", loc, TRUE);
CreateObject(OBJECT_TYPE_CREATURE, "golbone002", loc, TRUE);
CreateObject(OBJECT_TYPE_CREATURE, "golbone002", loc, TRUE);
break;
}
}

1008
_module/nss/magictres.nss Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,80 @@
//::///////////////////////////////////////////////
//:: Default: On Spawn In
//:: NW_C2_DEFAULT9
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Determines the course of action to be taken
after having just been spawned in
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"
void main()
{
// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) ****************************************************************************
//SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);
//SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);
// This causes the creature to say a special greeting in their conversation file
// upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired
// greeting in order to designate it. As the creature is actually saying this to
// himself, don't attach any player responses to the greeting.
//SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
// This will set the listening pattern on the NPC to attack when allies call
//SetSpawnInCondition(NW_FLAG_STEALTH);
// If the NPC has stealth and they are a rogue go into stealth mode
//SetSpawnInCondition(NW_FLAG_SEARCH);
// If the NPC has Search go into Search Mode
//SetSpawnInCondition(NW_FLAG_SET_WARNINGS);
// This will set the NPC to give a warning to non-enemies before attacking
//SetSpawnInCondition(NW_FLAG_SLEEP);
//Creatures that spawn in during the night will be asleep.
//SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);
//SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
//SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
//SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
//This will play Ambient Animations until the NPC sees an enemy or is cleared.
//NOTE that these animations will play automatically for Encounter Creatures.
// NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME.
//SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.)
//SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.)
// CUSTOM USER DEFINED EVENTS
/*
The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the
On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined
events user 1000 - 1010
*/
//SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001
//SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002
//SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005
//SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006
//SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008
//SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003
//SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004
//SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007
// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) *****************************************************************************************
SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to.
WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0)
// 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them
// 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after
// combat.
GenerateNPCTreasure(2); //* Use this to create a small amount of treasure on the creature
// Walk to Outpost
ActionMoveToObject(GetObjectByTag("POST_outpost10"));
}

80
_module/nss/movetoop6.nss Normal file
View File

@@ -0,0 +1,80 @@
//::///////////////////////////////////////////////
//:: Default: On Spawn In
//:: NW_C2_DEFAULT9
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Determines the course of action to be taken
after having just been spawned in
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"
void main()
{
// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) ****************************************************************************
//SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);
//SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);
// This causes the creature to say a special greeting in their conversation file
// upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired
// greeting in order to designate it. As the creature is actually saying this to
// himself, don't attach any player responses to the greeting.
//SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
// This will set the listening pattern on the NPC to attack when allies call
//SetSpawnInCondition(NW_FLAG_STEALTH);
// If the NPC has stealth and they are a rogue go into stealth mode
//SetSpawnInCondition(NW_FLAG_SEARCH);
// If the NPC has Search go into Search Mode
//SetSpawnInCondition(NW_FLAG_SET_WARNINGS);
// This will set the NPC to give a warning to non-enemies before attacking
//SetSpawnInCondition(NW_FLAG_SLEEP);
//Creatures that spawn in during the night will be asleep.
//SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);
//SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
//SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
//SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
//This will play Ambient Animations until the NPC sees an enemy or is cleared.
//NOTE that these animations will play automatically for Encounter Creatures.
// NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME.
//SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.)
//SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.)
// CUSTOM USER DEFINED EVENTS
/*
The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the
On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined
events user 1000 - 1010
*/
//SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001
//SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002
//SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005
//SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006
//SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008
//SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003
//SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004
//SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007
// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) *****************************************************************************************
SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to.
WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0)
// 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them
// 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after
// combat.
GenerateNPCTreasure(2); //* Use this to create a small amount of treasure on the creature
// Walk to Outpost
ActionMoveToObject(GetObjectByTag("POST_outpost6"), FALSE, 5.0f);
AssignCommand(OBJECT_SELF, ActionDoCommand(SetFacing(DIRECTION_WEST)));
}

94
_module/nss/movetoop7.nss Normal file
View File

@@ -0,0 +1,94 @@
//::///////////////////////////////////////////////
//:: Default: On Spawn In
//:: NW_C2_DEFAULT9
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Determines the course of action to be taken
after having just been spawned in
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"
void main()
{
// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) ****************************************************************************
//SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);
//SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);
// This causes the creature to say a special greeting in their conversation file
// upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired
// greeting in order to designate it. As the creature is actually saying this to
// himself, don't attach any player responses to the greeting.
//SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
// This will set the listening pattern on the NPC to attack when allies call
//SetSpawnInCondition(NW_FLAG_STEALTH);
// If the NPC has stealth and they are a rogue go into stealth mode
//SetSpawnInCondition(NW_FLAG_SEARCH);
// If the NPC has Search go into Search Mode
//SetSpawnInCondition(NW_FLAG_SET_WARNINGS);
// This will set the NPC to give a warning to non-enemies before attacking
//SetSpawnInCondition(NW_FLAG_SLEEP);
//Creatures that spawn in during the night will be asleep.
//SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);
//SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
//SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
//SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
//This will play Ambient Animations until the NPC sees an enemy or is cleared.
//NOTE that these animations will play automatically for Encounter Creatures.
// NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME.
//SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.)
//SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.)
// CUSTOM USER DEFINED EVENTS
/*
The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the
On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined
events user 1000 - 1010
*/
//SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001
//SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002
//SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005
//SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006
//SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008
//SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003
//SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004
//SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007
// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) *****************************************************************************************
SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to.
WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0)
// 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them
// 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after
// combat.
GenerateNPCTreasure(2); //* Use this to create a small amount of treasure on the creature
// Walk to Outpost 7 with 50% chance of coming from either direction
int npathchoice = d100();
if(npathchoice < 50)
{
ActionMoveToObject(GetObjectByTag("ai_horde001"));
ActionMoveToObject(GetObjectByTag("ai_horde004"));
ActionMoveToObject(GetObjectByTag("ai_horde022"));
ActionMoveToObject(GetObjectByTag("ai_horde008"));
ActionMoveToObject(GetObjectByTag("POST_outpost7"));
}
else
{
ActionMoveToObject(GetObjectByTag("ai_horde002"));
ActionMoveToObject(GetObjectByTag("ai_horde005"));
ActionMoveToObject(GetObjectByTag("ai_horde023"));
ActionMoveToObject(GetObjectByTag("ai_horde008"));
ActionMoveToObject(GetObjectByTag("POST_outpost7"));
}
}

80
_module/nss/movetoop8.nss Normal file
View File

@@ -0,0 +1,80 @@
//::///////////////////////////////////////////////
//:: Default: On Spawn In
//:: NW_C2_DEFAULT9
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Determines the course of action to be taken
after having just been spawned in
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"
void main()
{
// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) ****************************************************************************
//SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);
//SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);
// This causes the creature to say a special greeting in their conversation file
// upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired
// greeting in order to designate it. As the creature is actually saying this to
// himself, don't attach any player responses to the greeting.
//SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
// This will set the listening pattern on the NPC to attack when allies call
//SetSpawnInCondition(NW_FLAG_STEALTH);
// If the NPC has stealth and they are a rogue go into stealth mode
//SetSpawnInCondition(NW_FLAG_SEARCH);
// If the NPC has Search go into Search Mode
//SetSpawnInCondition(NW_FLAG_SET_WARNINGS);
// This will set the NPC to give a warning to non-enemies before attacking
//SetSpawnInCondition(NW_FLAG_SLEEP);
//Creatures that spawn in during the night will be asleep.
//SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);
//SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
//SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
//SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
//This will play Ambient Animations until the NPC sees an enemy or is cleared.
//NOTE that these animations will play automatically for Encounter Creatures.
// NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME.
//SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.)
//SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.)
// CUSTOM USER DEFINED EVENTS
/*
The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the
On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined
events user 1000 - 1010
*/
//SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001
//SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002
//SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005
//SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006
//SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008
//SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003
//SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004
//SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007
// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) *****************************************************************************************
SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to.
WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0)
// 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them
// 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after
// combat.
GenerateNPCTreasure(2); //* Use this to create a small amount of treasure on the creature
// Walk to Outpost
ActionMoveToObject(GetObjectByTag("POST_outpost8"));
}

80
_module/nss/movetoop9.nss Normal file
View File

@@ -0,0 +1,80 @@
//::///////////////////////////////////////////////
//:: Default: On Spawn In
//:: NW_C2_DEFAULT9
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Determines the course of action to be taken
after having just been spawned in
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"
void main()
{
// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) ****************************************************************************
//SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);
//SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);
// This causes the creature to say a special greeting in their conversation file
// upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired
// greeting in order to designate it. As the creature is actually saying this to
// himself, don't attach any player responses to the greeting.
//SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
// This will set the listening pattern on the NPC to attack when allies call
//SetSpawnInCondition(NW_FLAG_STEALTH);
// If the NPC has stealth and they are a rogue go into stealth mode
//SetSpawnInCondition(NW_FLAG_SEARCH);
// If the NPC has Search go into Search Mode
//SetSpawnInCondition(NW_FLAG_SET_WARNINGS);
// This will set the NPC to give a warning to non-enemies before attacking
//SetSpawnInCondition(NW_FLAG_SLEEP);
//Creatures that spawn in during the night will be asleep.
//SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);
//SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
//SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
//SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
//This will play Ambient Animations until the NPC sees an enemy or is cleared.
//NOTE that these animations will play automatically for Encounter Creatures.
// NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME.
//SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.)
//SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.)
//SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.)
// CUSTOM USER DEFINED EVENTS
/*
The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the
On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined
events user 1000 - 1010
*/
//SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001
//SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002
//SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005
//SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006
//SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008
//SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003
//SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004
//SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007
// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) *****************************************************************************************
SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to.
WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0)
// 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them
// 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after
// combat.
GenerateNPCTreasure(2); //* Use this to create a small amount of treasure on the creature
// Walk to Outpost
ActionMoveToObject(GetObjectByTag("POST_outpost9"));
}

View File

@@ -0,0 +1,20 @@
//::///////////////////////////////////////////////
//:: FileName noblequestdone
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/20/2002 2:39:09 PM
//:://////////////////////////////////////////////
#include "nw_i0_tool"
void main()
{
// Give the party some XP
RewardPartyXP(1000, GetPCSpeaker());
// Remove items from the player's inventory
object oItemToTake;
oItemToTake = GetItemPossessedBy(GetPCSpeaker(), "SignetRing");
if(GetIsObjectValid(oItemToTake) != 0)
DestroyObject(oItemToTake);
}

View File

@@ -0,0 +1,18 @@
//::///////////////////////////////////////////////
//:: FileName noblewomanquest
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/20/2002 2:39:09 PM
//:://////////////////////////////////////////////
#include "nw_i0_tool"
int StartingConditional()
{
// Make sure the PC speaker has these items in their inventory
if(!CheckPartyForItem(GetPCSpeaker(), "SignetRing"))
return FALSE;
return TRUE;
}

View File

@@ -0,0 +1,146 @@
//::///////////////////////////////////////////////
//:: Henchman Death Script
//::
//:: NW_CH_AC7.nss
//::
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
//:: <description>
//:://////////////////////////////////////////////
//::
//:: Created By:
//:: Modified by: Brent, April 3 2002
//:: Removed delay in respawning
//:: the henchman - caused bugs
//:://////////////////////////////////////////////
//::///////////////////////////////////////////////
//:: Greater Restoration
//:: NW_S0_GrRestore.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Removes all negative effects of a temporary nature
and all permanent effects of a supernatural nature
from the character. Does not remove the effects
relating to Mind-Affecting spells or movement alteration.
Heals target for 5d8 + 1 point per caster level.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Jan 7, 2002
//:://////////////////////////////////////////////
//:: VFX Pass By: Preston W, On: June 20, 2001
#include "nw_i0_generic"
#include "nw_i0_plot"
/*
// * June 1: use RemoveEffects from plot include instead
void GreaterRestore(object oHench)
{
//Declare major variables
object oTarget = oHench;
effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION_GREATER);
effect eBad = GetFirstEffect(oTarget);
//Search for negative effects
while(GetIsEffectValid(eBad))
{
if (GetEffectType(eBad) == EFFECT_TYPE_ABILITY_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_AC_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_ATTACK_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SAVING_THROW_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SPELL_RESISTANCE_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SKILL_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS ||
GetEffectType(eBad) == EFFECT_TYPE_DEAF ||
GetEffectType(eBad) == EFFECT_TYPE_CURSE ||
GetEffectType(eBad) == EFFECT_TYPE_DISEASE ||
GetEffectType(eBad) == EFFECT_TYPE_POISON ||
GetEffectType(eBad) == EFFECT_TYPE_PARALYZE ||
GetEffectType(eBad) == EFFECT_TYPE_NEGATIVELEVEL)
{
//Remove effect if it is negative.
RemoveEffect(oTarget, eBad);
}
eBad = GetNextEffect(oTarget);
}
// ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oTarget);
} */
void BringBack()
{
SetLocalObject(OBJECT_SELF,"NW_L_FORMERMASTER", GetMaster());
// : REMINDER: The delay is here for a reason
DelayCommand(0.1, RemoveEffects(OBJECT_SELF));
DelayCommand(0.2, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectResurrection(), OBJECT_SELF));
DelayCommand(0.3, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectHeal(GetMaxHitPoints(OBJECT_SELF)), OBJECT_SELF));
DelayCommand(5.1, SetIsDestroyable(TRUE, TRUE, TRUE));
object oWay = GetObjectByTag("NW_DEATH_TEMPLE");
if (GetIsObjectValid(oWay) == TRUE)
{
// * if in Source stone area, respawn at opening to area
if (GetTag(GetArea(OBJECT_SELF)) == "M4Q1D2")
{
DelayCommand(0.2, JumpToObject(GetObjectByTag("M4QD07_ENTER"), FALSE));
}
else
DelayCommand(0.2, JumpToObject(oWay, FALSE));
}
else
DelayCommand(0.3, ActionSpeakString("UT: No place to go"));
}
void main()
{
// * This is used by the advanced henchmen
// * Let Brent know if it interferes with animal
// * companions et cetera
if (GetIsObjectValid(GetMaster()) == TRUE)
{
object oMe = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, GetMaster());
if (oMe == OBJECT_SELF
// * this is to prevent 'double hits' from stopping
// * the henchmen from moving to the temple of tyr
// * I.e., henchmen dies 'twice', once after leaving your party
|| GetLocalInt(OBJECT_SELF, "NW_L_HEN_I_DIED") == TRUE)
{
SetPlotFlag(oMe, TRUE);
SetAssociateState(NW_ASC_IS_BUSY, TRUE);
// AddJournalQuestEntry("Henchman", 99, GetMaster(), FALSE, FALSE, FALSE);
SetIsDestroyable(FALSE, TRUE, TRUE);
SetLocalInt(OBJECT_SELF, "NW_L_HEN_I_DIED", TRUE);
// RemoveHenchman(GetMaster());
// effect eRaise = EffectResurrection();
ClearAllActions();
DelayCommand(0.5, ActionDoCommand(SetCommandable(TRUE)));
DelayCommand(5.0, ActionDoCommand(SetAssociateState(NW_ASC_IS_BUSY, FALSE)));
DelayCommand(5.0, SetPlotFlag(oMe, FALSE));
BringBack();
SetCommandable(FALSE);
}
else
// * I am a familiar, give 1d6 damage to my master
if (GetAssociate(ASSOCIATE_TYPE_FAMILIAR, GetMaster()) == OBJECT_SELF)
{
// April 2002: Made it so that familiar death can never kill the player
// only wound them.
int nDam =d6();
if (nDam >= GetCurrentHitPoints(GetMaster()))
{
nDam = GetCurrentHitPoints(GetMaster()) - 1;
}
effect eDam = EffectDamage(nDam);
FloatingTextStrRefOnCreature(63489, GetMaster(), FALSE);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eDam, GetMaster());
}
}
}

35
_module/nss/northgate.nss Normal file
View File

@@ -0,0 +1,35 @@
/*
Calculate the remaining hitpoints of North gate
Created By: Dalantriel Jul 22, 2002
*/
void main()
{
// Set the variables
int nGatestrength = (GetCurrentHitPoints(GetObjectByTag("NorthGate")));
if(nGatestrength == 300)
{
SpeakString("Undamaged", TALKVOLUME_TALK);
}
if(nGatestrength < 300 && nGatestrength > 224)
{
SpeakString("Slightly Damaged", TALKVOLUME_TALK);
}
if(nGatestrength < 225 && nGatestrength > 149)
{
SpeakString("Moderately Damaged", TALKVOLUME_TALK);
}
if(nGatestrength < 150 && nGatestrength > 74)
{
SpeakString("Heavily Damaged", TALKVOLUME_TALK);
}
if(nGatestrength < 75 && nGatestrength > 0)
{
SpeakString("Critically Damaged", TALKVOLUME_TALK);
}
if(nGatestrength == 0)
{
SpeakString("Destroyed", TALKVOLUME_TALK);
}
}

View File

@@ -0,0 +1,14 @@
void main()
{
if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
{
return;
}
object oScout = GetObjectByTag("Henrick");
ActionDoCommand(SetLocalInt(OBJECT_SELF, "NW_DO_ONCE", 1));
ActionWait(30.0f);
ActionDoCommand(SetLocalInt(oScout, "nNorthGate", 1));
ActionWait(60.0);
ActionDoCommand(SetLocalInt(OBJECT_SELF, "NW_DO_ONCE", 0));
}

View File

@@ -0,0 +1,10 @@
/*
Upon destruction of the north gate, replace with dust plume
Dalantriel: Jul 22, 2002
*/
void main()
{
location loc = GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_PLACEABLE, "northplume", loc, TRUE);
}

Some files were not shown because too many files have changed in this diff Show More