Re-uploaded instead of migrated
Re-uploaded instead of migrated.
This commit is contained in:
13
_module/nss/1spokentooldman.nss
Normal file
13
_module/nss/1spokentooldman.nss
Normal 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);
|
||||
|
||||
}
|
13
_module/nss/1spokentoprimnpc.nss
Normal file
13
_module/nss/1spokentoprimnpc.nss
Normal 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);
|
||||
|
||||
}
|
34
_module/nss/2xmtreasure.nss
Normal file
34
_module/nss/2xmtreasure.nss
Normal 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();
|
||||
}
|
35
_module/nss/2xtreasure.nss
Normal file
35
_module/nss/2xtreasure.nss
Normal 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();
|
||||
}
|
38
_module/nss/3xtreasure.nss
Normal file
38
_module/nss/3xtreasure.nss
Normal 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();
|
||||
}
|
13
_module/nss/affordhench.nss
Normal file
13
_module/nss/affordhench.nss
Normal 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()));
|
||||
}
|
||||
|
||||
|
||||
|
16
_module/nss/altaris1.nss
Normal file
16
_module/nss/altaris1.nss
Normal file
@@ -0,0 +1,16 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: FileName altaris1
|
||||
//:://////////////////////////////////////////////
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Script Wizard
|
||||
//:: Created On: 8/13/2002 10:30:28 PM
|
||||
//:://////////////////////////////////////////////
|
||||
int StartingConditional()
|
||||
{
|
||||
|
||||
// Inspect local variables
|
||||
if(!(GetLocalInt(GetPCSpeaker(), "nTouchedAltar") == 1))
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
6
_module/nss/altartouch.nss
Normal file
6
_module/nss/altartouch.nss
Normal file
@@ -0,0 +1,6 @@
|
||||
void main()
|
||||
{
|
||||
string smessage = "The altar is cool to the touch and is definately not made of marble.\nPerhaps someone with knowledge of stonework may be able to shed more light on this.";
|
||||
SpeakString(smessage, TALKVOLUME_TALK);
|
||||
SetLocalInt(GetLastUsedBy(), "nTouchedAltar", 1);
|
||||
}
|
13
_module/nss/at_001.nss
Normal file
13
_module/nss/at_001.nss
Normal 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
13
_module/nss/at_002.nss
Normal 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
13
_module/nss/at_003.nss
Normal 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
16
_module/nss/at_004.nss
Normal 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
10
_module/nss/at_005.nss
Normal 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
13
_module/nss/at_006.nss
Normal 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);
|
||||
|
||||
}
|
14
_module/nss/at_give6000xp.nss
Normal file
14
_module/nss/at_give6000xp.nss
Normal file
@@ -0,0 +1,14 @@
|
||||
#include "nw_i0_tool"
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
object oPC = GetPCSpeaker();
|
||||
|
||||
RewardPartyXP(6000, oPC, FALSE);
|
||||
|
||||
string sTag=GetTag(OBJECT_SELF);
|
||||
|
||||
SetLocalInt(oPC, sTag, 1);
|
||||
|
||||
}
|
9
_module/nss/at_lvlup_once.nss
Normal file
9
_module/nss/at_lvlup_once.nss
Normal file
@@ -0,0 +1,9 @@
|
||||
void main()
|
||||
{
|
||||
object oPC=GetPCSpeaker();
|
||||
|
||||
string sTag=GetTag(OBJECT_SELF);
|
||||
|
||||
SetLocalInt(oPC, sTag, 1);
|
||||
}
|
||||
|
16
_module/nss/attackbeguncheck.nss
Normal file
16
_module/nss/attackbeguncheck.nss
Normal 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;
|
||||
}
|
81
_module/nss/attackhouse1.nss
Normal file
81
_module/nss/attackhouse1.nss
Normal 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"));
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
82
_module/nss/attackhouse2.nss
Normal file
82
_module/nss/attackhouse2.nss
Normal 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"));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
82
_module/nss/attackhouse3.nss
Normal file
82
_module/nss/attackhouse3.nss
Normal 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"));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
101
_module/nss/attackhouse4.nss
Normal file
101
_module/nss/attackhouse4.nss
Normal 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_horde000"));
|
||||
ActionMoveToObject(GetObjectByTag("ai_horde001"));
|
||||
ActionMoveToObject(GetObjectByTag("ai_horde002"));
|
||||
ActionMoveToObject(GetObjectByTag("ai_horde004"));
|
||||
ActionMoveToObject(GetObjectByTag("ai_horde005"));
|
||||
}
|
||||
else
|
||||
{
|
||||
ActionMoveToObject(GetObjectByTag("ai_horde000"));
|
||||
ActionMoveToObject(GetObjectByTag("ai_horde001"));
|
||||
ActionMoveToObject(GetObjectByTag("ai_horde003"));
|
||||
ActionMoveToObject(GetObjectByTag("ai_horde006"));
|
||||
ActionMoveToObject(GetObjectByTag("ai_horde005"));
|
||||
}
|
||||
|
||||
ActionAttack(GetObjectByTag("pcbanner004"));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
82
_module/nss/attackhouse5.nss
Normal file
82
_module/nss/attackhouse5.nss
Normal 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"));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
16
_module/nss/calc_gates.nss
Normal file
16
_module/nss/calc_gates.nss
Normal 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);
|
||||
}
|
55
_module/nss/calc_hs_var.nss
Normal file
55
_module/nss/calc_hs_var.nss
Normal 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);
|
||||
|
||||
}
|
5
_module/nss/call_onacquire.nss
Normal file
5
_module/nss/call_onacquire.nss
Normal file
@@ -0,0 +1,5 @@
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_onaquire", OBJECT_SELF);
|
||||
ExecuteScript("x2_mod_def_aqu", OBJECT_SELF);
|
||||
}
|
5
_module/nss/call_onactivate.nss
Normal file
5
_module/nss/call_onactivate.nss
Normal file
@@ -0,0 +1,5 @@
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_onactivate", OBJECT_SELF);
|
||||
ExecuteScript("x2_mod_def_act", OBJECT_SELF);
|
||||
}
|
5
_module/nss/call_ondeath.nss
Normal file
5
_module/nss/call_ondeath.nss
Normal file
@@ -0,0 +1,5 @@
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_ondeath", OBJECT_SELF);
|
||||
ExecuteScript("nw_o0_death", OBJECT_SELF);
|
||||
}
|
6
_module/nss/call_ondying.nss
Normal file
6
_module/nss/call_ondying.nss
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_ondying", OBJECT_SELF);
|
||||
ExecuteScript("nw_o0_dying", OBJECT_SELF);
|
||||
}
|
5
_module/nss/call_onequip.nss
Normal file
5
_module/nss/call_onequip.nss
Normal file
@@ -0,0 +1,5 @@
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_equip", OBJECT_SELF);
|
||||
ExecuteScript("x2_mod_def_equ", OBJECT_SELF);
|
||||
}
|
5
_module/nss/call_onheartbeat.nss
Normal file
5
_module/nss/call_onheartbeat.nss
Normal file
@@ -0,0 +1,5 @@
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_onheartbeat", OBJECT_SELF);
|
||||
ExecuteScript("x3_mod_def_hb", OBJECT_SELF);
|
||||
}
|
4
_module/nss/call_onlevelup.nss
Normal file
4
_module/nss/call_onlevelup.nss
Normal file
@@ -0,0 +1,4 @@
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_levelup", OBJECT_SELF);
|
||||
}
|
5
_module/nss/call_onmodenter.nss
Normal file
5
_module/nss/call_onmodenter.nss
Normal file
@@ -0,0 +1,5 @@
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_onenter", OBJECT_SELF);
|
||||
ExecuteScript("onenter", OBJECT_SELF);
|
||||
}
|
4
_module/nss/call_onmodleave.nss
Normal file
4
_module/nss/call_onmodleave.nss
Normal file
@@ -0,0 +1,4 @@
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_onleave", OBJECT_SELF);
|
||||
}
|
5
_module/nss/call_onmodload.nss
Normal file
5
_module/nss/call_onmodload.nss
Normal file
@@ -0,0 +1,5 @@
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_onmodload", OBJECT_SELF);
|
||||
ExecuteScript("horde_onmodload", OBJECT_SELF);
|
||||
}
|
6
_module/nss/call_onrespawn.nss
Normal file
6
_module/nss/call_onrespawn.nss
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_onrespawn", OBJECT_SELF);
|
||||
ExecuteScript("resshrine", OBJECT_SELF);
|
||||
}
|
5
_module/nss/call_onrest.nss
Normal file
5
_module/nss/call_onrest.nss
Normal file
@@ -0,0 +1,5 @@
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_rest", OBJECT_SELF);
|
||||
ExecuteScript("x2_mod_def_rest", OBJECT_SELF);
|
||||
}
|
5
_module/nss/call_onunacquire.nss
Normal file
5
_module/nss/call_onunacquire.nss
Normal file
@@ -0,0 +1,5 @@
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_onunaquire", OBJECT_SELF);
|
||||
ExecuteScript("x2_mod_def_unaqu", OBJECT_SELF);
|
||||
}
|
5
_module/nss/call_onunequip.nss
Normal file
5
_module/nss/call_onunequip.nss
Normal file
@@ -0,0 +1,5 @@
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_unequip", OBJECT_SELF);
|
||||
ExecuteScript("x2_mod_def_unequ", OBJECT_SELF);
|
||||
}
|
5
_module/nss/call_onuserdef.nss
Normal file
5
_module/nss/call_onuserdef.nss
Normal file
@@ -0,0 +1,5 @@
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_onuserdef", OBJECT_SELF);
|
||||
ExecuteScript("x2_def_userdef", OBJECT_SELF);
|
||||
}
|
10
_module/nss/can_pay100.nss
Normal file
10
_module/nss/can_pay100.nss
Normal file
@@ -0,0 +1,10 @@
|
||||
//:: FileName can_pay100
|
||||
// Does the PC have 100 gp to pay?
|
||||
|
||||
#include "NW_I0_PLOT"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
return (HasGold(100,GetPCSpeaker()));
|
||||
}
|
||||
|
10
_module/nss/can_pay200.nss
Normal file
10
_module/nss/can_pay200.nss
Normal 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()));
|
||||
}
|
||||
|
39
_module/nss/combatroundend.nss
Normal file
39
_module/nss/combatroundend.nss
Normal 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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
25
_module/nss/debug.nss
Normal file
25
_module/nss/debug.nss
Normal file
@@ -0,0 +1,25 @@
|
||||
void main()
|
||||
{
|
||||
|
||||
int nScaleFactor = GetLocalInt(GetObjectByTag("TrashCan"), "nDifficultylevel");
|
||||
if (nScaleFactor == 0)
|
||||
{
|
||||
SpeakString("0", TALKVOLUME_TALK);
|
||||
}
|
||||
if (nScaleFactor == 1)
|
||||
{
|
||||
SpeakString("1", TALKVOLUME_TALK);
|
||||
}
|
||||
if (nScaleFactor == 2)
|
||||
{
|
||||
SpeakString("2", TALKVOLUME_TALK);
|
||||
}
|
||||
if (nScaleFactor == 3)
|
||||
{
|
||||
SpeakString("3", TALKVOLUME_TALK);
|
||||
}
|
||||
if (nScaleFactor == 4)
|
||||
{
|
||||
SpeakString("4", TALKVOLUME_TALK);
|
||||
}
|
||||
}
|
34
_module/nss/doorbash.nss
Normal file
34
_module/nss/doorbash.nss
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
15
_module/nss/expatend.nss
Normal file
15
_module/nss/expatend.nss
Normal 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);
|
||||
|
||||
}
|
23
_module/nss/fhenchman_joins.nss
Normal file
23
_module/nss/fhenchman_joins.nss
Normal file
@@ -0,0 +1,23 @@
|
||||
//:: 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);
|
||||
|
||||
|
||||
SetLocalInt(GetObjectByTag("TownGuardintro2"), "nConversation", 4);
|
||||
|
||||
}
|
30
_module/nss/finalloot.nss
Normal file
30
_module/nss/finalloot.nss
Normal 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();
|
||||
}
|
16
_module/nss/finishedhorde.nss
Normal file
16
_module/nss/finishedhorde.nss
Normal 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;
|
||||
}
|
118
_module/nss/gateannounce.nss
Normal file
118
_module/nss/gateannounce.nss
Normal 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("Scout Report: Temple Gate under attack!", TALKVOLUME_SHOUT);
|
||||
SetLocalInt(OBJECT_SELF, "nTempleGate", 0);
|
||||
}
|
||||
if(GetLocalInt(OBJECT_SELF, "nNorthGate") > 0)
|
||||
{
|
||||
SpeakString("Scout Report: North Gate under attack!", TALKVOLUME_SHOUT);
|
||||
SetLocalInt(OBJECT_SELF, "nNorthGate", 0);
|
||||
}
|
||||
if(GetLocalInt(OBJECT_SELF, "nSouthGate") > 0)
|
||||
{
|
||||
SpeakString("Scout Report: South Gate under attack!", TALKVOLUME_SHOUT);
|
||||
SetLocalInt(OBJECT_SELF, "nSouthGate", 0);
|
||||
}
|
||||
|
||||
}
|
11
_module/nss/gateautoclose.nss
Normal file
11
_module/nss/gateautoclose.nss
Normal 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);
|
||||
}
|
15
_module/nss/give400exp.nss
Normal file
15
_module/nss/give400exp.nss
Normal 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
14
_module/nss/giveitems.nss
Normal 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);
|
||||
|
||||
}
|
16
_module/nss/goblinattack.nss
Normal file
16
_module/nss/goblinattack.nss
Normal file
@@ -0,0 +1,16 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: FileName goblinattack
|
||||
//:://////////////////////////////////////////////
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Script Wizard
|
||||
//:: Created On: 8/13/2002 9:39:39 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());
|
||||
}
|
120
_module/nss/goblinfarm.nss
Normal file
120
_module/nss/goblinfarm.nss
Normal file
@@ -0,0 +1,120 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: 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));
|
||||
}
|
||||
|
||||
object oPrimaryNPC = GetObjectByTag("Henrick");
|
||||
int nWarlorddead = GetLocalInt(oPrimaryNPC, "nWarlordDead");
|
||||
int nSpokentoGoblin = GetLocalInt(OBJECT_SELF, "nSpokentoGoblin");
|
||||
|
||||
if (nWarlorddead > 0)
|
||||
{
|
||||
if (nSpokentoGoblin < 1)
|
||||
{
|
||||
string smessage = "Pleez no kill. I no bad. I good, ya.";
|
||||
SpeakString(smessage, TALKVOLUME_TALK);
|
||||
}
|
||||
if (nSpokentoGoblin == 2)
|
||||
{
|
||||
string smessage = "Yay Yay! Minschank is free! Free to go home.";
|
||||
SpeakString(smessage, TALKVOLUME_TALK);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
18
_module/nss/goodnpcdead.nss
Normal file
18
_module/nss/goodnpcdead.nss
Normal 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;
|
||||
}
|
||||
|
95
_module/nss/goodnpcdeath.nss
Normal file
95
_module/nss/goodnpcdeath.nss
Normal file
@@ -0,0 +1,95 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: 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)))
|
||||
{
|
||||
DestroyObject(GetObjectByTag("FloorDesignsStyletemple"));
|
||||
DestroyObject(GetObjectByTag("AltarShrineGoodHelm"));
|
||||
|
||||
location loc = GetLocation(GetObjectByTag("ai_horde018"));
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
|
||||
|
||||
object oflame = GetObjectByTag("POST_TownGuard001");
|
||||
loc = GetLocation(oflame);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
|
||||
|
||||
oflame = GetObjectByTag("POST_TownGuard002");
|
||||
loc = GetLocation(oflame);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
|
||||
|
||||
oflame = GetObjectByTag("POST_TownGuard009");
|
||||
loc = GetLocation(oflame);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
|
||||
|
||||
oflame = GetObjectByTag("POST_wardog");
|
||||
loc = GetLocation(oflame);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
|
||||
|
||||
oflame = GetObjectByTag("POST_Henrick");
|
||||
loc = GetLocation(oflame);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "flamelarge", loc, TRUE);
|
||||
|
||||
SoundObjectStop(GetObjectByTag("templefountain"));
|
||||
SoundObjectPlay(GetObjectByTag("FireTemple1"));
|
||||
SoundObjectPlay(GetObjectByTag("FireTemple2"));
|
||||
|
||||
// Add evil effects
|
||||
loc = GetLocation(GetObjectByTag("centreofgood"));
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "unholylight", loc, TRUE);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "unholyfloor", loc, TRUE);
|
||||
|
||||
// Set Good NPC to dead and add Journal Entry
|
||||
object oTrashCan = GetObjectByTag("TrashCan");
|
||||
SetLocalInt(oTrashCan, "nGoodNPCDead", 1);
|
||||
|
||||
|
||||
AddJournalQuestEntry("Category000", 9, 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);
|
||||
}
|
151
_module/nss/hbrove1.nss
Normal file
151
_module/nss/hbrove1.nss
Normal 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_horde018"));
|
||||
}
|
||||
}
|
||||
|
||||
|
131
_module/nss/hbrove1attack.nss
Normal file
131
_module/nss/hbrove1attack.nss
Normal file
@@ -0,0 +1,131 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: 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("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_horde018"));
|
||||
}
|
||||
}
|
||||
|
||||
|
151
_module/nss/hbrove2.nss
Normal file
151
_module/nss/hbrove2.nss
Normal 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_horde018"));
|
||||
}
|
||||
}
|
||||
|
||||
|
131
_module/nss/hbrove2attack.nss
Normal file
131
_module/nss/hbrove2attack.nss
Normal file
@@ -0,0 +1,131 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: 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("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_horde018"));
|
||||
}
|
||||
}
|
||||
|
||||
|
13
_module/nss/healingshrine.nss
Normal file
13
_module/nss/healingshrine.nss
Normal 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);
|
||||
}
|
||||
}
|
12
_module/nss/hellfreezesover.nss
Normal file
12
_module/nss/hellfreezesover.nss
Normal 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
22
_module/nss/henchjoin.nss
Normal 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);
|
||||
}
|
||||
|
||||
|
14
_module/nss/henchleave.nss
Normal file
14
_module/nss/henchleave.nss
Normal 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();
|
||||
}
|
||||
|
||||
|
19
_module/nss/henchman_joins.nss
Normal file
19
_module/nss/henchman_joins.nss
Normal 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);
|
||||
}
|
9
_module/nss/henchman_leaves.nss
Normal file
9
_module/nss/henchman_leaves.nss
Normal file
@@ -0,0 +1,9 @@
|
||||
#include "nw_i0_henchman"
|
||||
|
||||
void main()
|
||||
{
|
||||
SetFormerMaster(GetPCSpeaker(), OBJECT_SELF);
|
||||
RemoveHenchman(GetPCSpeaker());
|
||||
ClearAllActions();
|
||||
|
||||
}
|
33
_module/nss/hiddenchest.nss
Normal file
33
_module/nss/hiddenchest.nss
Normal 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();
|
||||
}
|
30
_module/nss/hiddenloot.nss
Normal file
30
_module/nss/hiddenloot.nss
Normal file
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
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();
|
||||
GenerateHighTreasure(oLastOpener, OBJECT_SELF);
|
||||
ExecuteScript("magictres", OBJECT_SELF);
|
||||
ExecuteScript("magictres", OBJECT_SELF);
|
||||
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
|
||||
int nGoldPieces = (d100() * 8) + d10();
|
||||
CreateItemOnObject ("NW_IT_GOLD001", OBJECT_SELF, nGoldPieces);
|
||||
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
|
||||
|
||||
ShoutDisturbed();
|
||||
}
|
13
_module/nss/hif_onclientente.nss
Normal file
13
_module/nss/hif_onclientente.nss
Normal file
@@ -0,0 +1,13 @@
|
||||
// prc_onenter,onenter
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// This script has been auto-generated by HakInstaller to call
|
||||
// multiple handlers for the oncliententer event.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_onenter", OBJECT_SELF);
|
||||
ExecuteScript("onenter", OBJECT_SELF);
|
||||
}
|
13
_module/nss/hif_onplayerdeat.nss
Normal file
13
_module/nss/hif_onplayerdeat.nss
Normal file
@@ -0,0 +1,13 @@
|
||||
// prc_ondeath,nw_o0_death
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// This script has been auto-generated by HakInstaller to call
|
||||
// multiple handlers for the onplayerdeath event.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_ondeath", OBJECT_SELF);
|
||||
ExecuteScript("nw_o0_death", OBJECT_SELF);
|
||||
}
|
13
_module/nss/hif_onplayerdyin.nss
Normal file
13
_module/nss/hif_onplayerdyin.nss
Normal file
@@ -0,0 +1,13 @@
|
||||
// prc_ondying,nw_o0_dying
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// This script has been auto-generated by HakInstaller to call
|
||||
// multiple handlers for the onplayerdying event.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_ondying", OBJECT_SELF);
|
||||
ExecuteScript("nw_o0_dying", OBJECT_SELF);
|
||||
}
|
13
_module/nss/hif_onplayerresp.nss
Normal file
13
_module/nss/hif_onplayerresp.nss
Normal file
@@ -0,0 +1,13 @@
|
||||
// prc_onrespawn,resshrine
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// This script has been auto-generated by HakInstaller to call
|
||||
// multiple handlers for the onplayerrespawn event.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
void main()
|
||||
{
|
||||
ExecuteScript("prc_onrespawn", OBJECT_SELF);
|
||||
ExecuteScript("resshrine", OBJECT_SELF);
|
||||
}
|
22
_module/nss/ho_lvlup_pc.nss
Normal file
22
_module/nss/ho_lvlup_pc.nss
Normal file
@@ -0,0 +1,22 @@
|
||||
#include "x0_i0_partywide"
|
||||
|
||||
void main()
|
||||
{
|
||||
//:: Declare major variables
|
||||
object oPC = GetEnteringObject();
|
||||
string sTag = GetTag(OBJECT_SELF);
|
||||
int iParty = GetNumberPartyMembers(oPC);
|
||||
int iXP = GetXP(oPC);
|
||||
|
||||
//:: Parties larger than 2 shouldn't need a boost.
|
||||
if (iParty >= 2) return;
|
||||
|
||||
//:: This boost is only availible to new characters
|
||||
if (iXP > 0 ) return;
|
||||
|
||||
//:: Make sure they can only get the boost once if they are solo.
|
||||
if (GetLocalInt(oPC, sTag) >= 1) return;
|
||||
|
||||
//ActionStartConversation(oPC, "ho_lvlup_pc", TRUE, FALSE);
|
||||
BeginConversation("ho_lvlup_pc", oPC);
|
||||
}
|
178
_module/nss/horde_onmodload.nss
Normal file
178
_module/nss/horde_onmodload.nss
Normal file
@@ -0,0 +1,178 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Example XP3 OnLoad Script
|
||||
//:: x3_mod_def_load
|
||||
//:: (c) 2008 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Put into: OnModuleLoad Event
|
||||
|
||||
This example script demonstrates how to tweak the
|
||||
behavior of several subsystems in your module.
|
||||
|
||||
For more information, please check x2_inc_switches
|
||||
which holds definitions for several variables that
|
||||
can be set on modules, creatures, doors or waypoints
|
||||
to change the default behavior of Bioware scripts.
|
||||
|
||||
Warning:
|
||||
Using some of these switches may change your games
|
||||
balancing and may introduce bugs or instabilities. We
|
||||
recommend that you only use these switches if you
|
||||
know what you are doing. Consider these features
|
||||
unsupported!
|
||||
|
||||
Please do NOT report any bugs you experience while
|
||||
these switches have been changed from their default
|
||||
positions.
|
||||
|
||||
Make sure you visit the forums at nwn.bioware.com
|
||||
to find out more about these scripts.
|
||||
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Georg Zoeller
|
||||
//:: Created On: 2003-07-16
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Example settings for horses at the bottom.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Updated By: Azbest
|
||||
//:: Last Update: April 18th, 2008
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "x2_inc_switches"
|
||||
#include "x2_inc_restsys"
|
||||
#include "nwnx_webhook"
|
||||
#include "nwnx_util"
|
||||
|
||||
const string NWNX_DISCORD_URL = "/api/webhooks/1137216161205989456/glaZtTAw_n3byW3hbd87xGUcoPJms5SrakNmo1FBg6rQheP4jBNolKDy-aLRzvFJQrpq";
|
||||
|
||||
void main()
|
||||
{
|
||||
if (GetGameDifficulty() == GAME_DIFFICULTY_CORE_RULES || GetGameDifficulty() == GAME_DIFFICULTY_DIFFICULT)
|
||||
{
|
||||
// * Setting the switch below will enable a seperate Use Magic Device Skillcheck for
|
||||
// * rogues when playing on Hardcore+ difficulty. This only applies to scrolls
|
||||
SetModuleSwitch (MODULE_SWITCH_ENABLE_UMD_SCROLLS, TRUE);
|
||||
|
||||
// * Activating the switch below will make AOE spells hurt neutral NPCS by default
|
||||
// SetModuleSwitch (MODULE_SWITCH_AOE_HURT_NEUTRAL_NPCS, TRUE);
|
||||
}
|
||||
|
||||
// * AI: Activating the switch below will make the creaures using the WalkWaypoint function
|
||||
// * able to walk across areas
|
||||
// SetModuleSwitch (MODULE_SWITCH_ENABLE_CROSSAREA_WALKWAYPOINTS, TRUE);
|
||||
|
||||
// * Spells: Activating the switch below will make the Glyph of Warding spell behave differently:
|
||||
// * The visual glyph will disappear after 6 seconds, making them impossible to spot
|
||||
// SetModuleSwitch (MODULE_SWITCH_ENABLE_INVISIBLE_GLYPH_OF_WARDING, TRUE);
|
||||
|
||||
// * Craft Feats: Want 50 charges on a newly created wand? We found this unbalancing,
|
||||
// * but since it is described this way in the book, here is the switch to get it back...
|
||||
// SetModuleSwitch (MODULE_SWITCH_ENABLE_CRAFT_WAND_50_CHARGES, TRUE);
|
||||
|
||||
// * Craft Feats: Use this to disable Item Creation Feats if you do not want
|
||||
// * them in your module
|
||||
// SetModuleSwitch (MODULE_SWITCH_DISABLE_ITEM_CREATION_FEATS, TRUE);
|
||||
|
||||
// * Palemaster: Deathless master touch in PnP only affects creatures up to a certain size.
|
||||
// * We do not support this check for balancing reasons, but you can still activate it...
|
||||
// SetModuleSwitch (MODULE_SWITCH_SPELL_CORERULES_DMASTERTOUCH, TRUE);
|
||||
|
||||
// * Epic Spellcasting: Some Epic spells feed on the liveforce of the caster. However this
|
||||
// * did not fit into NWNs spell system and was confusing, so we took it out...
|
||||
// SetModuleSwitch (MODULE_SWITCH_EPIC_SPELLS_HURT_CASTER, TRUE);
|
||||
|
||||
// * Epic Spellcasting: Some Epic spells feed on the liveforce of the caster. However this
|
||||
// * did not fit into NWNs spell system and was confusing, so we took it out...
|
||||
// SetModuleSwitch (MODULE_SWITCH_RESTRICT_USE_POISON_TO_FEAT, TRUE);
|
||||
|
||||
// * Spellcasting: Some people don't like caster's abusing expertise to raise their AC
|
||||
// * Uncommenting this line will drop expertise mode whenever a spell is cast by a player
|
||||
// SetModuleSwitch (MODULE_VAR_AI_STOP_EXPERTISE_ABUSE, TRUE);
|
||||
|
||||
|
||||
// * Item Event Scripts: The game's default event scripts allow routing of all item related events
|
||||
// * into a single file, based on the tag of that item. If an item's tag is "test", it will fire a
|
||||
// * script called "test" when an item based event (equip, unequip, acquire, unacquire, activate,...)
|
||||
// * is triggered. Check "x2_it_example.nss" for an example.
|
||||
// * This feature is disabled by default.
|
||||
SetModuleSwitch (MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS, TRUE);
|
||||
|
||||
if (GetModuleSwitchValue (MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS) == TRUE)
|
||||
{
|
||||
// * If Tagbased scripts are enabled, and you are running a Local Vault Server
|
||||
// * you should use the line below to add a layer of security to your server, preventing
|
||||
// * people to execute script you don't want them to. If you use the feature below,
|
||||
// * all called item scrips will be the prefix + the Tag of the item you want to execute, up to a
|
||||
// * maximum of 16 chars, instead of the pure tag of the object.
|
||||
// * i.e. without the line below a user activating an item with the tag "test",
|
||||
// * will result in the execution of a script called "test". If you uncomment the line below
|
||||
// * the script called will be "1_test.nss"
|
||||
// SetUserDefinedItemEventPrefix("1_");
|
||||
|
||||
}
|
||||
|
||||
// * This initializes Bioware's wandering monster system as used in Hordes of the Underdark
|
||||
// * You can deactivate it, making your module load faster if you do not use it.
|
||||
// * If you want to use it, make sure you set "x2_mod_def_rest" as your module's OnRest Script
|
||||
// SetModuleSwitch (MODULE_SWITCH_USE_XP2_RESTSYSTEM, TRUE);
|
||||
|
||||
if (GetModuleSwitchValue(MODULE_SWITCH_USE_XP2_RESTSYSTEM) == TRUE)
|
||||
{
|
||||
|
||||
// * This allows you to specify a different 2da for the wandering monster system.
|
||||
// SetWanderingMonster2DAFile("des_restsystem");
|
||||
|
||||
//* Do not change this line.
|
||||
WMBuild2DACache();
|
||||
}
|
||||
|
||||
// * In the following section there are examples for setting various options
|
||||
// * in horse package. For more information look in the "x3_inc_horse".
|
||||
|
||||
// * Ignores terrain height differencies while deciding whether to play mounting
|
||||
// * animation or not (if the elevation difference between rider and horse in
|
||||
// * hilly terrain is large, clipping occurs and the rider animates either above
|
||||
// * the horse or sinks in the horse during animation, which may look funny).
|
||||
SetLocalInt(GetModule(),"bX3_MOUNT_NO_ZAXIS",TRUE);
|
||||
|
||||
// * This tells how long you have left in seconds before you will be force-mounted
|
||||
// * if you got stuck while moving to horse in mounting procedure, unless you
|
||||
// * are using X3_HORSE_ACT_VS_DELAY method, where you can interrupt your movement
|
||||
// * before reaching the mounting spot.
|
||||
//SetLocalFloat(GetModule(),"fX3_TIMEOUT_TO_MOUNT",12.0f);
|
||||
|
||||
// * Once per fX3_FREQUENCY (default = 1.0s) seconds character will retry to
|
||||
// * get on the right path when moving to horse in case he gets stuck or
|
||||
// * something makes him temporarily stuck, if he doesnt get to horse in
|
||||
// * fX3_TIMEOUT_TO_MOUNT seconds, he is forced to mount.
|
||||
//SetLocalFloat(GetModule(),"fX3_FREQUENCY",2.0);
|
||||
|
||||
// * Use this if you want characters to be able to interrupt the mounting
|
||||
// * procedure before they get to the horse (ie. by clicking on the ground).
|
||||
//SetLocalInt(GetModule(),"X3_HORSE_ACT_VS_DELAY",TRUE);
|
||||
|
||||
// * Use horse's inventory as a storage for saddlebag content.
|
||||
//SetLocalInt(GetModule(),"X3_HORSE_ENABLE_SADDLEBAGS",TRUE);
|
||||
|
||||
// * Dont forget to place the storage waypoint for this to work!
|
||||
//SetLocalString(GetModule(),"X3_SADDLEBAG_DATABASE","NAME");
|
||||
|
||||
// * Doesnt apply speed bonus when mounted.
|
||||
//SetLocalInt(GetModule(),"X3_HORSE_DISABLE_SPEED",TRUE);
|
||||
|
||||
// * Mounts are allowed in exterior areas only.
|
||||
//SetLocalInt(GetModule(),"X3_MOUNTS_EXTERNAL_ONLY",TRUE);
|
||||
|
||||
// * No horses are allowed underground.
|
||||
//SetLocalInt(GetModule(),"X3_MOUNTS_NO_UNDERGROUND",TRUE);
|
||||
|
||||
// * Possible trouble-shoot for situation when players would be left in an
|
||||
// * uncommandable state (it should never happen however)
|
||||
//SetLocalInt(GetModule(),"X3_NO_MOUNT_COMMANDABLE",TRUE);
|
||||
|
||||
// added in hopes of webhook/discord
|
||||
NWNX_WebHook_SendWebHookHTTPS("discordapp.com", NWNX_DISCORD_URL, "Those blasted orcs won't dare lay a finger on my farm.", "Wilie Leonsbane");
|
||||
}
|
8
_module/nss/hordebanner1.nss
Normal file
8
_module/nss/hordebanner1.nss
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
void main()
|
||||
{
|
||||
location loc = GetLocation(OBJECT_SELF);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner001", loc, TRUE);
|
||||
}
|
||||
|
||||
|
7
_module/nss/hordebanner10.nss
Normal file
7
_module/nss/hordebanner10.nss
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
void main()
|
||||
{
|
||||
location loc = GetLocation(OBJECT_SELF);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner010", loc, TRUE);
|
||||
}
|
||||
|
7
_module/nss/hordebanner2.nss
Normal file
7
_module/nss/hordebanner2.nss
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
void main()
|
||||
{
|
||||
location loc = GetLocation(OBJECT_SELF);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner002", loc, TRUE);
|
||||
}
|
||||
|
7
_module/nss/hordebanner3.nss
Normal file
7
_module/nss/hordebanner3.nss
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
void main()
|
||||
{
|
||||
location loc = GetLocation(OBJECT_SELF);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner003", loc, TRUE);
|
||||
}
|
||||
|
7
_module/nss/hordebanner4.nss
Normal file
7
_module/nss/hordebanner4.nss
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
void main()
|
||||
{
|
||||
location loc = GetLocation(OBJECT_SELF);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner004", loc, TRUE);
|
||||
}
|
||||
|
7
_module/nss/hordebanner5.nss
Normal file
7
_module/nss/hordebanner5.nss
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
void main()
|
||||
{
|
||||
location loc = GetLocation(OBJECT_SELF);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner005", loc, TRUE);
|
||||
}
|
||||
|
8
_module/nss/hordebanner6.nss
Normal file
8
_module/nss/hordebanner6.nss
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
void main()
|
||||
{
|
||||
location loc = GetLocation(OBJECT_SELF);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner006", loc, TRUE);
|
||||
|
||||
}
|
||||
|
7
_module/nss/hordebanner7.nss
Normal file
7
_module/nss/hordebanner7.nss
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
void main()
|
||||
{
|
||||
location loc = GetLocation(OBJECT_SELF);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner007", loc, TRUE);
|
||||
}
|
||||
|
7
_module/nss/hordebanner8.nss
Normal file
7
_module/nss/hordebanner8.nss
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
void main()
|
||||
{
|
||||
location loc = GetLocation(OBJECT_SELF);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner008", loc, TRUE);
|
||||
}
|
||||
|
7
_module/nss/hordebanner9.nss
Normal file
7
_module/nss/hordebanner9.nss
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
void main()
|
||||
{
|
||||
location loc = GetLocation(OBJECT_SELF);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "pcbanner009", loc, TRUE);
|
||||
}
|
||||
|
18
_module/nss/hpersuadecheck.nss
Normal file
18
_module/nss/hpersuadecheck.nss
Normal 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
16
_module/nss/hs0.nss
Normal 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
16
_module/nss/hs1.nss
Normal 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
16
_module/nss/hs10.nss
Normal 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
16
_module/nss/hs2.nss
Normal 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
16
_module/nss/hs3.nss
Normal 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
16
_module/nss/hs4.nss
Normal 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
16
_module/nss/hs5.nss
Normal 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
16
_module/nss/hs6.nss
Normal 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
16
_module/nss/hs7.nss
Normal 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
16
_module/nss/hs8.nss
Normal 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
16
_module/nss/hs9.nss
Normal 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
99
_module/nss/innburn.nss
Normal 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"));
|
||||
|
||||
}
|
111
_module/nss/intro.nss
Normal file
111
_module/nss/intro.nss
Normal file
@@ -0,0 +1,111 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: 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(GetObjectByTag("TownGuardintro2"), "nConversation") == 2)
|
||||
{
|
||||
if(GetIsPC(GetLastPerceived()))
|
||||
{
|
||||
ActionSpeakString("Oh come on! There is no point staying here if the village needs our help.");
|
||||
SetLocalInt(GetObjectByTag("TownGuardintro2"), "nConversation", 3);
|
||||
}
|
||||
}
|
||||
}
|
112
_module/nss/intro2.nss
Normal file
112
_module/nss/intro2.nss
Normal file
@@ -0,0 +1,112 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: 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, "nConversation") == 1)
|
||||
{
|
||||
ActionSpeakString("No, and I'll hear no more on the matter.\nWe have our orders and we continue to guard this road until we are told otherwise.");
|
||||
SetLocalInt(OBJECT_SELF, "nConversation", 2);
|
||||
}
|
||||
if(GetLocalInt(OBJECT_SELF, "nConversation") == 4)
|
||||
{
|
||||
ActionSpeakString("Don't be an adventurous fool Williande! *sighs* But if you must go good luck to you.");
|
||||
SetLocalInt(OBJECT_SELF, "nConversation", 5);
|
||||
}
|
||||
|
||||
}
|
76
_module/nss/introstart.nss
Normal file
76
_module/nss/introstart.nss
Normal file
@@ -0,0 +1,76 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Default On Percieve
|
||||
//:: NW_C2_DEFAULT2
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Checks to see if the perceived target is an
|
||||
enemy and if so fires the Determine Combat
|
||||
Round function
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: Oct 16, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "NW_I0_GENERIC"
|
||||
|
||||
void main()
|
||||
{
|
||||
//This is the equivalent of a force conversation bubble, should only be used if you want an NPC
|
||||
//to say something while he is already engaged in combat.
|
||||
if(GetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION) && GetIsPC(GetLastPerceived()) && GetLastPerceptionSeen())
|
||||
{
|
||||
SpeakOneLinerConversation();
|
||||
}
|
||||
//If the last perception event was hearing based or if someone vanished then go to search mode
|
||||
if ((GetLastPerceptionVanished()) && GetIsEnemy(GetLastPerceived()))
|
||||
{
|
||||
object oGone = GetLastPerceived();
|
||||
if((GetAttemptedAttackTarget() == GetLastPerceived() ||
|
||||
GetAttemptedSpellTarget() == GetLastPerceived() ||
|
||||
GetAttackTarget() == GetLastPerceived()) && GetArea(GetLastPerceived()) != GetArea(OBJECT_SELF))
|
||||
{
|
||||
ClearAllActions();
|
||||
DetermineCombatRound();
|
||||
}
|
||||
}
|
||||
//Do not bother checking the last target seen if already fighting
|
||||
else if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget()))
|
||||
{
|
||||
//Check if the last percieved creature was actually seen
|
||||
if(GetLastPerceptionSeen())
|
||||
{
|
||||
if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL))
|
||||
{
|
||||
DetermineSpecialBehavior();
|
||||
}
|
||||
else if(GetIsEnemy(GetLastPerceived()))
|
||||
{
|
||||
if(!GetHasEffect(EFFECT_TYPE_SLEEP))
|
||||
{
|
||||
SetFacingPoint(GetPosition(GetLastPerceived()));
|
||||
SpeakString("NW_I_WAS_ATTACKED", TALKVOLUME_SILENT_TALK);
|
||||
DetermineCombatRound();
|
||||
}
|
||||
}
|
||||
//Linked up to the special conversation check to initiate a special one-off conversation
|
||||
//to get the PCs attention
|
||||
else if(GetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION) && GetIsPC(GetLastPerceived()))
|
||||
{
|
||||
ActionStartConversation(OBJECT_SELF);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(GetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT) && GetLastPerceptionSeen())
|
||||
{
|
||||
SignalEvent(OBJECT_SELF, EventUserDefined(1002));
|
||||
}
|
||||
|
||||
if(GetIsPC(GetLastPerceived()))
|
||||
{
|
||||
ActionSpeakString("Listen Loric, we should return to XXX immediately! The road is safe for now and we'll need all the troops we can manage to defend the village proper.");
|
||||
SetLocalInt(GetObjectByTag("TownGuardintro2"), "nConversation", 1);
|
||||
}
|
||||
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user