Removed Skullkeep Forge
Removed Skullkeep Forge system (originally by Winterknight and Asbury) Full compile. Updated release archive.
This commit is contained in:
@@ -1,40 +0,0 @@
|
||||
// Trash can script that only destroys items placed in the inventory
|
||||
// for more than HOURS_TO_DESTROY in-game hours.
|
||||
|
||||
const string VAR_ITEM_TIMESTAMP = "TRASH_VINTAGE"; // Variable to store the time an item was placed
|
||||
const int HOURS_TO_DESTROY = 12; // Hours an item must remain in the container
|
||||
|
||||
int GetCurrentGameTimeInSeconds()
|
||||
{
|
||||
// Get the current game time in hours, minutes, and seconds
|
||||
int nHours = GetTimeHour();
|
||||
int nMinutes = GetTimeMinute();
|
||||
int nSeconds = GetTimeSecond();
|
||||
|
||||
// Convert to total seconds for easy comparison
|
||||
return (nHours * 3600) + (nMinutes * 60) + nSeconds;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
object oItem = GetFirstItemInInventory(OBJECT_SELF);
|
||||
int nCurrentTime = GetCurrentGameTimeInSeconds(); // Current in-game time in seconds
|
||||
int nTimeThreshold = FloatToInt(HoursToSeconds(HOURS_TO_DESTROY)); // Convert hours to seconds for comparison
|
||||
|
||||
while (GetIsObjectValid(oItem))
|
||||
{
|
||||
int nItemTime = GetLocalInt(oItem, VAR_ITEM_TIMESTAMP);
|
||||
|
||||
// If the item has no timestamp, assign the current time
|
||||
if (nItemTime == 0)
|
||||
{
|
||||
SetLocalInt(oItem, VAR_ITEM_TIMESTAMP, nCurrentTime);
|
||||
}
|
||||
else if (nCurrentTime - nItemTime >= nTimeThreshold) // Check if item has been in container for required hours
|
||||
{
|
||||
DestroyObject(oItem);
|
||||
}
|
||||
|
||||
oItem = GetNextItemInInventory(OBJECT_SELF);
|
||||
}
|
||||
}
|
@@ -1,19 +0,0 @@
|
||||
#include "prc_x2_itemprop"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
int nCount = IPGetNumberOfItemProperties(oItem);
|
||||
int nProps;
|
||||
|
||||
if (nCount > 7)
|
||||
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
|
||||
}
|
@@ -576,7 +576,10 @@ void main()
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eConceal, OBJECT_SELF);
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eGhost, OBJECT_SELF);
|
||||
}
|
||||
|
||||
|
||||
//:: Set or Randomize name
|
||||
ms_Nomenclature(OBJECT_SELF);
|
||||
|
||||
//:: Execute OnSpawn script.
|
||||
int nSpider = GetStringLeft(GetTag(OBJECT_SELF), 12) == "MONST_SPIDER" ? TRUE : FALSE;
|
||||
if(nSpider)
|
||||
@@ -594,11 +597,7 @@ void main()
|
||||
ExecuteScript("prc_pwonspawn", OBJECT_SELF);
|
||||
//:: Execute PRC OnSpawn script.
|
||||
ExecuteScript("prc_npc_spawn", OBJECT_SELF);
|
||||
}
|
||||
|
||||
//:: Set or Randomize name
|
||||
ms_Nomenclature(OBJECT_SELF);
|
||||
|
||||
}
|
||||
|
||||
//:: Post Spawn event requested
|
||||
if (nSpecEvent == 2 || nSpecEvent == 3)
|
||||
|
@@ -1,14 +0,0 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: FileName forge_chkpockets
|
||||
//:://////////////////////////////////////////////
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Script Wizard
|
||||
//:: Created On: 2/19/2006 1:12:53 AM
|
||||
//:://////////////////////////////////////////////
|
||||
int StartingConditional()
|
||||
{
|
||||
if((GetLocalInt(OBJECT_SELF, "ItemCost")) <= GetGold(GetPCSpeaker()))
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
@@ -1,15 +0,0 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_combinecheck script - check to make sure items in combine are correct
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
if (!GetIsObjectValid(oItem))
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
@@ -1,177 +0,0 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_custtokens script - set custom tokens for forge conversation
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:: This script also is used to set up the basics for the forge.
|
||||
/////:: this script as necessary to change the basic type of forge.
|
||||
/////::
|
||||
/////:: Updated for Path of Ascension / PRC8 by Jaysyn
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "prc_misc_const"
|
||||
|
||||
void main()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom", OBJECT_SELF, 1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
|
||||
// Store the forge name for display
|
||||
SetCustomToken(101, GetName(oForge)); // Name of Forge
|
||||
SetLocalString(OBJECT_SELF, "ForgeName", GetName(oForge));
|
||||
|
||||
string sTypes = "Unsupported Item Type"; // Default message
|
||||
int nType = 0;
|
||||
|
||||
// Check the base item type of oItem and assign corresponding sTypes and nType
|
||||
if (oItem != OBJECT_INVALID)
|
||||
{
|
||||
int nBaseItemType = GetBaseItemType(oItem);
|
||||
|
||||
switch (nBaseItemType)
|
||||
{
|
||||
case BASE_ITEM_BOOTS:
|
||||
case BASE_ITEM_BELT:
|
||||
sTypes = "Belts and Boots";
|
||||
nType = 1;
|
||||
break;
|
||||
|
||||
case BASE_ITEM_ARMOR:
|
||||
case BASE_ITEM_BRACER:
|
||||
case BASE_ITEM_HELMET:
|
||||
case BASE_ITEM_LARGESHIELD:
|
||||
case BASE_ITEM_SMALLSHIELD:
|
||||
case BASE_ITEM_TOWERSHIELD:
|
||||
sTypes = "Armor, Helms and Shields";
|
||||
nType = 2;
|
||||
break;
|
||||
|
||||
case BASE_ITEM_BASTARDSWORD:
|
||||
case BASE_ITEM_BATTLEAXE:
|
||||
case BASE_ITEM_CLUB:
|
||||
case BASE_ITEM_DAGGER:
|
||||
case BASE_ITEM_DIREMACE:
|
||||
case BASE_ITEM_DOUBLEAXE:
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR:
|
||||
case BASE_ITEM_DWARVENWARAXE:
|
||||
case BASE_ITEM_EAGLE_CLAW:
|
||||
case BASE_ITEM_ELVEN_COURTBLADE:
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE:
|
||||
case BASE_ITEM_ELVEN_THINBLADE:
|
||||
case BASE_ITEM_FALCHION:
|
||||
case BASE_ITEM_GLOVES:
|
||||
case BASE_ITEM_GOAD:
|
||||
case BASE_ITEM_GREATAXE:
|
||||
case BASE_ITEM_GREATSWORD:
|
||||
case BASE_ITEM_HALBERD:
|
||||
case BASE_ITEM_HANDAXE:
|
||||
case BASE_ITEM_HEAVYFLAIL:
|
||||
case BASE_ITEM_HEAVY_MACE:
|
||||
case BASE_ITEM_HEAVY_PICK:
|
||||
case BASE_ITEM_KAMA:
|
||||
case BASE_ITEM_KATANA:
|
||||
case BASE_ITEM_KATAR:
|
||||
case BASE_ITEM_KUKRI:
|
||||
case BASE_ITEM_LIGHTFLAIL:
|
||||
case BASE_ITEM_LIGHTHAMMER:
|
||||
case BASE_ITEM_LIGHTMACE:
|
||||
case BASE_ITEM_LIGHT_PICK:
|
||||
case BASE_ITEM_LONGSWORD:
|
||||
case BASE_ITEM_MAUL:
|
||||
case BASE_ITEM_MORNINGSTAR:
|
||||
case BASE_ITEM_NUNCHAKU:
|
||||
case BASE_ITEM_QUARTERSTAFF:
|
||||
case BASE_ITEM_RAPIER:
|
||||
case BASE_ITEM_SAI:
|
||||
case BASE_ITEM_SAP:
|
||||
case BASE_ITEM_SCIMITAR:
|
||||
case BASE_ITEM_SCYTHE:
|
||||
case BASE_ITEM_SHORTSPEAR:
|
||||
case BASE_ITEM_SHORTSWORD:
|
||||
case BASE_ITEM_SICKLE:
|
||||
case BASE_ITEM_SLING:
|
||||
case BASE_ITEM_TRIDENT:
|
||||
case BASE_ITEM_TWOBLADEDSWORD:
|
||||
case BASE_ITEM_WARHAMMER:
|
||||
case BASE_ITEM_WHIP:
|
||||
sTypes = "Melee Weapons and Gloves";
|
||||
nType = 3;
|
||||
break;
|
||||
|
||||
case BASE_ITEM_CLOAK:
|
||||
sTypes = "Cloaks";
|
||||
nType = 4;
|
||||
break;
|
||||
|
||||
case BASE_ITEM_AMULET:
|
||||
case BASE_ITEM_RING:
|
||||
sTypes = "Rings and Amulets";
|
||||
nType = 5;
|
||||
break;
|
||||
|
||||
case BASE_ITEM_SHORTBOW:
|
||||
case BASE_ITEM_HEAVYCROSSBOW:
|
||||
case BASE_ITEM_LIGHTCROSSBOW:
|
||||
case BASE_ITEM_LONGBOW:
|
||||
sTypes = "Bows and Crossbows";
|
||||
nType = 6;
|
||||
break;
|
||||
|
||||
case BASE_ITEM_ARROW:
|
||||
case BASE_ITEM_BOLT:
|
||||
case BASE_ITEM_BULLET:
|
||||
case BASE_ITEM_GRENADE:
|
||||
case BASE_ITEM_DART:
|
||||
case BASE_ITEM_SHURIKEN:
|
||||
case BASE_ITEM_THROWINGAXE:
|
||||
sTypes = "Thrown Weapons and Ammunition";
|
||||
nType = 7;
|
||||
break;
|
||||
|
||||
case BASE_ITEM_MISCLARGE:
|
||||
case BASE_ITEM_MISCMEDIUM:
|
||||
case BASE_ITEM_MISCSMALL:
|
||||
case BASE_ITEM_MISCTALL:
|
||||
case BASE_ITEM_MISCTHIN:
|
||||
case BASE_ITEM_MISCWIDE:
|
||||
case BASE_ITEM_MAGICWAND:
|
||||
case BASE_ITEM_MAGICSTAFF:
|
||||
case BASE_ITEM_MAGICROD:
|
||||
case BASE_ITEM_BOOK:
|
||||
case BASE_ITEM_LARGEBOX:
|
||||
sTypes = "Miscellaneous Items";
|
||||
nType = 8;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Update tokens and local variables based on selected item type
|
||||
SetCustomToken(102, sTypes); // Type of item that will work here.
|
||||
SetLocalInt(OBJECT_SELF, "ItemType", nType);
|
||||
SetLocalInt(OBJECT_SELF, "ItemCost", 0);
|
||||
}
|
||||
|
||||
|
||||
/* void main()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
|
||||
SetCustomToken(101,GetName(oForge)); // Name of Forge
|
||||
SetLocalString(OBJECT_SELF, "ForgeName", GetName(oForge));
|
||||
|
||||
string sTypes;
|
||||
int nType;
|
||||
string sForgeLeft = GetStringLeft(GetName(oForge),6);
|
||||
|
||||
if (sForgeLeft == "Cobble") {sTypes = "Belts and Boots"; nType = 1;}
|
||||
if (sForgeLeft == "Armour") {sTypes = "Armor, Helms and Shields"; nType = 2;}
|
||||
if (sForgeLeft == "Weapon") {sTypes = "Melee Weapons and Gloves"; nType = 3;}
|
||||
if (sForgeLeft == "Tailor") {sTypes = "Cloaks"; nType = 4;}
|
||||
if (sForgeLeft == "Jewele") {sTypes = "Rings and Amulets"; nType = 5;}
|
||||
if (sForgeLeft == "Bowyer") {sTypes = "Bows and Crossbows"; nType = 6;}
|
||||
if (sForgeLeft == "Fletch") {sTypes = "Thrown Weapons and Ammunition"; nType = 7;}
|
||||
if (sForgeLeft == "Common") {sTypes = "Common Items (not equipped)"; nType = 8;}
|
||||
if (sForgeLeft == "Mystic") {sTypes = "any Magical Items"; nType = 9;}
|
||||
|
||||
SetCustomToken(102,sTypes); // Type of item that will work here.
|
||||
SetLocalInt(OBJECT_SELF, "ItemType", nType);
|
||||
SetLocalInt(OBJECT_SELF, "ItemCost", 0);
|
||||
} */
|
@@ -1,23 +0,0 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_guildcheck script - check to make sure not splitting a guild item
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
string sCheck = GetTag(oItem);
|
||||
if (sCheck == "fulminate" ||
|
||||
sCheck == "magestaff" ||
|
||||
sCheck == "innerpath" ||
|
||||
sCheck == "harmonics" ||
|
||||
sCheck == "whitegold" ||
|
||||
sCheck == "vesperbel")
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
@@ -1,23 +0,0 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_guildcheck script - check to make sure not splitting a guild item
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
string sCheck = GetTag(oItem);
|
||||
if (sCheck == "fulminate" ||
|
||||
sCheck == "magestaff" ||
|
||||
sCheck == "innerpath" ||
|
||||
sCheck == "harmonics" ||
|
||||
sCheck == "whitegold" ||
|
||||
sCheck == "vesperbel")
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
@@ -1,26 +0,0 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_guildcheck script - check to make sure not splitting a guild item
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
string sCheck = GetStringLeft(GetTag(oItem), 5);
|
||||
if (sCheck == "HELM_" ||
|
||||
sCheck == "ARMR_" ||
|
||||
sCheck == "SHLD_" ||
|
||||
sCheck == "ammy_" ||
|
||||
sCheck == "ring_" ||
|
||||
sCheck == "WEAP_" ||
|
||||
sCheck == "BOOT_" ||
|
||||
sCheck == "BELT_")
|
||||
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
@@ -1,168 +0,0 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_costcheck - determine cost of perfect transferance to new item.
|
||||
/////:: Modified by Winterknight on 2/18/06
|
||||
/////:: Original scripts by Asbury
|
||||
/////:://////////////////////////////////////////////
|
||||
|
||||
|
||||
#include "prc_x2_itemprop"
|
||||
|
||||
void SafeAddItemProperty(int nDurationType, itemproperty ipProperty, object oItem, float fDuration=0.0f)
|
||||
{
|
||||
int nPropType = GetItemPropertyType(ipProperty);
|
||||
if (!GetItemHasItemProperty(oItem,nPropType)) //already exist
|
||||
{
|
||||
AddItemProperty(nDurationType, ipProperty, oItem, fDuration);
|
||||
return;
|
||||
}
|
||||
else if (nPropType==ITEM_PROPERTY_BONUS_SPELL_SLOT_OF_LEVEL_N ||
|
||||
nPropType==ITEM_PROPERTY_CAST_SPELL)
|
||||
{
|
||||
AddItemProperty(nDurationType, ipProperty, oItem, fDuration);
|
||||
return;
|
||||
}
|
||||
else if (nPropType==ITEM_PROPERTY_DAMAGE_BONUS ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_RESISTANCE ||
|
||||
nPropType==ITEM_PROPERTY_ABILITY_BONUS ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_MISCELLANEOUS ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_VULNERABILITY ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_DECREASED_ABILITY_SCORE ||
|
||||
nPropType==ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE)
|
||||
{
|
||||
IPSafeAddItemProperty(oItem, ipProperty, 0.0f, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
|
||||
else if (nPropType==ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_BONUS_FEAT ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_SPECIFIC_ALIGNEMENT ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_SPELLS_BY_LEVEL ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_SPELL_SCHOOL ||
|
||||
nPropType==ITEM_PROPERTY_ON_HIT_PROPERTIES ||
|
||||
nPropType==ITEM_PROPERTY_ONHITCASTSPELL ||
|
||||
nPropType==ITEM_PROPERTY_SAVING_THROW_BONUS_SPECIFIC ||
|
||||
nPropType==ITEM_PROPERTY_SKILL_BONUS )
|
||||
{
|
||||
int nSub1 = GetItemPropertySubType(ipProperty);
|
||||
if (nSub1 > -1)
|
||||
{
|
||||
itemproperty ipCheck = GetFirstItemProperty(oItem);
|
||||
while (GetIsItemPropertyValid(ipCheck))
|
||||
{
|
||||
int nSub2 = GetItemPropertySubType(ipCheck);
|
||||
if (nSub2 != nSub1)
|
||||
{
|
||||
AddItemProperty(nDurationType, ipProperty, oItem, fDuration);
|
||||
return;
|
||||
}
|
||||
ipCheck = GetNextItemProperty(oItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//******************************************************************************
|
||||
|
||||
void main()
|
||||
{
|
||||
itemproperty ipFItem;
|
||||
object oPC = GetPCSpeaker();
|
||||
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
|
||||
object oCombine = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1);
|
||||
|
||||
string sCraft;
|
||||
int nType = GetLocalInt(OBJECT_SELF, "ItemType"); //check for type for crafting
|
||||
if (nType == 1) sCraft = "craftingbelt"; // belts and boots
|
||||
if (nType == 2) sCraft = "craftingshield"; // armor, helm, shield
|
||||
if (nType == 3) sCraft = "craftingdagger"; // melee weapons
|
||||
if (nType == 4) sCraft = "craftingcloak"; // cloaks
|
||||
if (nType == 5) sCraft = "craftingring"; // rings and ammys
|
||||
if (nType == 6) sCraft = "craftingsling"; // bows, x-bows, slings
|
||||
if (nType == 7) sCraft = "craftingdart"; // thrown and ammo
|
||||
if (nType == 8) sCraft = "craftingtoken"; // miscellaneous, common
|
||||
|
||||
if (!GetIsObjectValid(oForge)) return; //must have Forge
|
||||
if (!GetIsObjectValid(oCombine)) return; //must have Combining chamber
|
||||
|
||||
object oItem = GetFirstItemInInventory(oForge); //get the item on Forge
|
||||
if (GetIdentified(oItem)==FALSE) SetIdentified (oItem, TRUE);
|
||||
if (GetPlotFlag(oItem)==TRUE)
|
||||
{
|
||||
SetPlotFlag (oItem, FALSE);
|
||||
SetLocalInt(OBJECT_SELF,"PlotItem",TRUE);
|
||||
}
|
||||
object oCraft = GetFirstItemInInventory(oCombine); //get the first item in the combining chamber
|
||||
object oCopy = CopyItem(oItem, OBJECT_SELF, FALSE);
|
||||
int nCount = IPGetNumberOfItemProperties(oCopy);
|
||||
int nProps;
|
||||
int nTally = nCount;
|
||||
|
||||
|
||||
// First - we add the goodies from the combine to the base item
|
||||
|
||||
while (GetIsObjectValid(oCraft))
|
||||
{
|
||||
ipFItem = GetFirstItemProperty(oCraft);//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipFItem))
|
||||
{
|
||||
nProps++;
|
||||
if (nCount < 8)
|
||||
{
|
||||
SafeAddItemProperty(DURATION_TYPE_PERMANENT,ipFItem,oCopy); //put property on copy
|
||||
nCount++;
|
||||
}
|
||||
ipFItem=GetNextItemProperty(oCraft);
|
||||
}
|
||||
oCraft = GetNextItemInInventory(oCombine);
|
||||
}
|
||||
|
||||
nTally = nTally + nProps;
|
||||
if (nTally > nCount) SendMessageToPC(oPC,"You are attempting to add more than 8 properties to the item. Any additional past the limit will be lost.");
|
||||
|
||||
// Then we find the actual cost of the new item. Then we screw them on price.
|
||||
int nValue2 = GetGoldPieceValue(oItem);
|
||||
int nValue1 = GetGoldPieceValue(oCopy);
|
||||
int nDiff = nValue1 - nValue2;
|
||||
int nIncrease;
|
||||
string sValue = "";
|
||||
if (nDiff > 0)
|
||||
{
|
||||
nIncrease = nDiff * 2;
|
||||
sValue = IntToString(nIncrease);
|
||||
}
|
||||
else
|
||||
{
|
||||
nIncrease = 0;
|
||||
sValue = "nothing in ";
|
||||
}
|
||||
|
||||
SetCustomToken(103,sValue);
|
||||
SetLocalInt (OBJECT_SELF,"ItemCost",nIncrease);
|
||||
|
||||
// Then we remove destroy the copy
|
||||
DestroyObject(oCopy,0.5f);
|
||||
|
||||
if (GetLocalInt(OBJECT_SELF,"PlotItem")==TRUE) // Reset variables and plot
|
||||
{
|
||||
SetPlotFlag (oItem, TRUE);
|
||||
SetLocalInt(OBJECT_SELF,"PlotItem",FALSE);
|
||||
}
|
||||
}
|
@@ -1,199 +0,0 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_itemmerge - Forge properties onto item from components.
|
||||
/////:: Modified by Winterknight on 2/18/06
|
||||
/////:: Original script written by Asbury
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "sd_lootsystem"
|
||||
#include "prc_x2_itemprop"
|
||||
|
||||
void SafeAddItemProperty(int nDurationType, itemproperty ipProperty, object oItem, float fDuration=0.0f)
|
||||
{
|
||||
int nPropType = GetItemPropertyType(ipProperty);
|
||||
if (!GetItemHasItemProperty(oItem,nPropType)) //already exist
|
||||
{
|
||||
AddItemProperty(nDurationType, ipProperty, oItem, fDuration);
|
||||
return;
|
||||
}
|
||||
else if (nPropType==ITEM_PROPERTY_BONUS_SPELL_SLOT_OF_LEVEL_N ||
|
||||
nPropType==ITEM_PROPERTY_CAST_SPELL)
|
||||
{
|
||||
AddItemProperty(nDurationType, ipProperty, oItem, fDuration);
|
||||
return;
|
||||
}
|
||||
else if (nPropType==ITEM_PROPERTY_DAMAGE_BONUS ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_RESISTANCE ||
|
||||
nPropType==ITEM_PROPERTY_ABILITY_BONUS ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_MISCELLANEOUS ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_VULNERABILITY ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_DECREASED_ABILITY_SCORE ||
|
||||
nPropType==ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE)
|
||||
{
|
||||
IPSafeAddItemProperty(oItem, ipProperty, 0.0f, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
|
||||
else if (nPropType==ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ATTACK_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_BONUS_FEAT ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_DAMAGE_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT ||
|
||||
nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP ||
|
||||
nPropType==ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_SPECIFIC_ALIGNEMENT ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_SPELLS_BY_LEVEL ||
|
||||
nPropType==ITEM_PROPERTY_IMMUNITY_SPELL_SCHOOL ||
|
||||
nPropType==ITEM_PROPERTY_ON_HIT_PROPERTIES ||
|
||||
nPropType==ITEM_PROPERTY_ONHITCASTSPELL ||
|
||||
nPropType==ITEM_PROPERTY_SAVING_THROW_BONUS_SPECIFIC ||
|
||||
nPropType==ITEM_PROPERTY_SKILL_BONUS )
|
||||
{
|
||||
int nSub1 = GetItemPropertySubType(ipProperty);
|
||||
if (nSub1 > -1)
|
||||
{
|
||||
itemproperty ipCheck = GetFirstItemProperty(oItem);
|
||||
while (GetIsItemPropertyValid(ipCheck))
|
||||
{
|
||||
int nSub2 = GetItemPropertySubType(ipCheck);
|
||||
if (nSub2 != nSub1)
|
||||
{
|
||||
AddItemProperty(nDurationType, ipProperty, oItem, fDuration);
|
||||
return;
|
||||
}
|
||||
ipCheck = GetNextItemProperty(oItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//******************************************************************************
|
||||
|
||||
void main()
|
||||
{
|
||||
itemproperty ipFItem;
|
||||
effect eTel1 = EffectVisualEffect(VFX_IMP_KNOCK,FALSE);
|
||||
effect eTel2 = EffectVisualEffect(VFX_IMP_PDK_INSPIRE_COURAGE,FALSE);
|
||||
effect eUtter = EffectVisualEffect(VFX_FNF_MYSTICAL_EXPLOSION,FALSE);
|
||||
|
||||
object oPC = GetPCSpeaker();
|
||||
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oCombine = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1);
|
||||
location lTrig1 = GetLocation(oForge);
|
||||
location lTrig2 = GetLocation(oCombine);
|
||||
|
||||
if (!GetIsObjectValid(oForge)) return; //must have Forge
|
||||
if (!GetIsObjectValid(oCombine)) return; //must have Combining chamber
|
||||
|
||||
object oArea = GetArea(oForge);
|
||||
object oItem = GetFirstItemInInventory(oForge); //get the first item on Forge
|
||||
|
||||
if (!GetIsObjectValid(oItem))
|
||||
{
|
||||
SendMessageToPC(oPC,"You must have a valid item in the Forge.");
|
||||
return; //must have something there
|
||||
}
|
||||
|
||||
int nLoop = IPGetNumberOfItemProperties(oItem);
|
||||
object oCraft = GetFirstItemInInventory(oCombine); //get the first item in the combining chamber
|
||||
int nTally = nLoop;
|
||||
|
||||
while (GetIsObjectValid(oCraft))
|
||||
{
|
||||
ipFItem = GetFirstItemProperty(oCraft); //Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipFItem))
|
||||
{
|
||||
nTally++;
|
||||
if (nLoop < 8)
|
||||
{
|
||||
SafeAddItemProperty(DURATION_TYPE_PERMANENT,ipFItem,oItem); //put property on
|
||||
nLoop++;
|
||||
}
|
||||
if (nTally > 8)
|
||||
{
|
||||
SendMessageToPC(oPC,"You have attempted to add more than 8 properties to the item. This can cause errors in transfer. Some item properties have been lost.");
|
||||
}
|
||||
RemoveItemProperty(oCraft, ipFItem); //take the magic away from object
|
||||
ipFItem=GetNextItemProperty(oCraft);
|
||||
}
|
||||
DestroyObject(oCraft); //remove the object
|
||||
oCraft = GetNextItemInInventory(oCombine);
|
||||
}
|
||||
|
||||
int iQual = nTally;
|
||||
string sName;
|
||||
string cName;
|
||||
string sCheck = GetStringLeft(GetTag(oItem), 5);
|
||||
string oName = GetName(oItem);
|
||||
|
||||
switch(iQual)
|
||||
{
|
||||
case 1: cName = ColorString("[Enchanted] ", 255, 255, 255); break;
|
||||
case 2: cName = ColorString("[Enchanted] ", 30, 180, 30); break;
|
||||
case 3: cName = ColorString("[Enchanted] ", 30, 180, 30); break;
|
||||
case 4: cName = ColorString("[Bewitched] ", 5, 90, 255); break;
|
||||
case 5: cName = ColorString("[Bewitched] ", 5, 90, 255); break;
|
||||
case 6: cName = ColorString("[Spellbound] ", 185, 1, 200); break;
|
||||
case 7: cName = ColorString("[Archforged] ", 255, 245, 210); break;
|
||||
case 8: cName = ColorString("[Ancient] ", 180, 180, 80); break;
|
||||
}
|
||||
|
||||
switch(iQual)
|
||||
{
|
||||
case 1: sName = ColorString("Reforged Magical "+ RandomName(200),255, 255, 255); break;
|
||||
case 2: sName = ColorString("Reforged Enchanted "+ RandomName(200), 30, 180, 30); break;
|
||||
case 3: sName = ColorString("Reforged Enchanted "+ RandomName(200), 30, 180, 30); break;
|
||||
case 4: sName = ColorString("Reforged Imbued "+ RandomName(200), 5, 90, 255); break;
|
||||
case 5: sName = ColorString("Reforged Imbued "+ RandomName(200), 5, 90, 255); break;
|
||||
case 6: sName = ColorString("Reforged Planar "+ RandomName(200), 185, 1, 200); break;
|
||||
case 7: sName = ColorString("Reforged Divine "+ RandomName(200), 255, 245, 210); break;
|
||||
case 8: sName = ColorString("Reforged Ancient's "+ RandomName(200), 180, 180, 80); break;
|
||||
}
|
||||
|
||||
switch(iQual)
|
||||
{
|
||||
case 1: FloatingTextStringOnCreature("You have reforged a Magical Quality item!", oPC); break;
|
||||
case 2: FloatingTextStringOnCreature("You have reforged a Enchanted Quality item!", oPC); break;
|
||||
case 3: FloatingTextStringOnCreature("You have reforged a Enchanted Quality item!", oPC); break;
|
||||
case 4: FloatingTextStringOnCreature("You have reforged a Imbued Quality item!", oPC); break;
|
||||
case 5: FloatingTextStringOnCreature("You have reforged a Imbued Quality item!", oPC); break;
|
||||
case 6: FloatingTextStringOnCreature("You have reforged a Planar Quality item!", oPC); break;
|
||||
case 7: FloatingTextStringOnCreature("You have reforged a Divine Quality item!", oPC); break;
|
||||
case 8: FloatingTextStringOnCreature("You have reforged a Ancient Quality item!", oPC); break;
|
||||
}
|
||||
|
||||
if (sCheck == "HELM_" ||
|
||||
sCheck == "ARMR_" ||
|
||||
sCheck == "SHLD_" ||
|
||||
sCheck == "ammy_" ||
|
||||
sCheck == "ring_" ||
|
||||
sCheck == "WEAP_" ||
|
||||
sCheck == "BOOT_" ||
|
||||
sCheck == "BELT_")
|
||||
{
|
||||
SetName (oItem, cName + oName);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetName(oItem, sName);
|
||||
}
|
||||
|
||||
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eTel2,lTrig2,0.0);
|
||||
DelayCommand(0.3,ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eTel1,lTrig1,0.0));
|
||||
RecomputeStaticLighting(oArea);
|
||||
|
||||
int nGold = GetLocalInt (OBJECT_SELF,"ItemCost");
|
||||
TakeGoldFromCreature(nGold,oPC,TRUE);
|
||||
|
||||
}
|
@@ -1,109 +0,0 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_itemsplit - Separate into component properties
|
||||
/////:: Modified by Winterknight on 2/18/06
|
||||
/////:: Original script written by Asbury
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "sd_lootsystem"
|
||||
|
||||
void main()
|
||||
{
|
||||
//:: Declare major variables.
|
||||
effect eTel1 = EffectVisualEffect(VFX_IMP_FROST_L,FALSE);
|
||||
effect eTel2 = EffectVisualEffect(VFX_IMP_ELEMENTAL_PROTECTION,FALSE);
|
||||
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oCombine = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1);
|
||||
|
||||
object oArea = GetArea(oForge);
|
||||
|
||||
location lTrig1 = GetLocation(oForge);
|
||||
location lTrig2 = GetLocation(oCombine);
|
||||
|
||||
//:: Get only the first item on forge.
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
|
||||
//:: Must have something in the forge.
|
||||
if (!GetIsObjectValid(oItem)) return;
|
||||
|
||||
//:: Identify item
|
||||
if (GetIdentified(oItem)==FALSE) SetIdentified (oItem, TRUE);
|
||||
|
||||
//:: Check for type for crafting
|
||||
string sCraft;
|
||||
int nType = GetLocalInt(OBJECT_SELF, "ItemType");
|
||||
|
||||
if (nType == 1) sCraft = "craftingbelt"; // belts and boots
|
||||
else if (nType == 2) sCraft = "craftingshield"; // armor, helm, shield
|
||||
else if (nType == 3) sCraft = "craftingdagger"; // melee weapons
|
||||
else if (nType == 4) sCraft = "craftingcloak"; // cloaks
|
||||
else if (nType == 5) sCraft = "craftingring"; // rings and ammys
|
||||
else if (nType == 6) sCraft = "craftingsling"; // bows, x-bows, slings
|
||||
else if (nType == 7) sCraft = "craftingdirk"; // thrown and ammo
|
||||
//else if (nType == 8) sCraft = "craftingtoken"; // miscellaneous, common
|
||||
else sCraft = "craftingtoken"; // anything else
|
||||
|
||||
itemproperty ipForgeItemIP;
|
||||
int nIPDuration, nCheck, nParam1, nIPType;
|
||||
ipForgeItemIP = GetFirstItemProperty(oItem);
|
||||
|
||||
//:: Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipForgeItemIP))
|
||||
{
|
||||
nCheck = 0;
|
||||
//:: Check for temporary itemprops
|
||||
nIPDuration = GetItemPropertyDurationType(ipForgeItemIP);
|
||||
|
||||
//:: Check to see if we can prevent the unique mithril powers from being removed.
|
||||
nParam1 = GetItemPropertySubType(ipForgeItemIP);
|
||||
nIPType = GetItemPropertyType(ipForgeItemIP);
|
||||
if (nIPType == ITEM_PROPERTY_ONHITCASTSPELL)
|
||||
{
|
||||
if (nParam1 == 125)
|
||||
nCheck = 1;
|
||||
}
|
||||
if (nIPType == ITEM_PROPERTY_CAST_SPELL)
|
||||
{
|
||||
if (nParam1 == 329 ||
|
||||
nParam1 == 335 ||
|
||||
nParam1 == 359 ||
|
||||
nParam1 == 537 ||
|
||||
nParam1 == 513)
|
||||
nCheck = 1;
|
||||
}
|
||||
if (Random(100) != 1 & nIPDuration == DURATION_TYPE_PERMANENT & nCheck != 1)
|
||||
{
|
||||
//:: Create receptacle item on Combine
|
||||
object oCraft = CreateItemOnObject(sCraft, oCombine);
|
||||
if (GetIsObjectValid(oCraft))
|
||||
{
|
||||
//:: Remove itemprop from item
|
||||
RemoveItemProperty(oItem, ipForgeItemIP);
|
||||
//:: Add property to crafting item
|
||||
AddItemProperty(DURATION_TYPE_PERMANENT, ipForgeItemIP, oCraft);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nCheck == 1)
|
||||
{
|
||||
SendMessageToPC(GetPCSpeaker(),"Unique powers not removed.");
|
||||
}
|
||||
else
|
||||
{
|
||||
SendMessageToPC(GetPCSpeaker(),"An item property was lost during the separation.");
|
||||
RemoveItemProperty(oItem, ipForgeItemIP);
|
||||
}
|
||||
}
|
||||
|
||||
//:: Next itemproperty on the item
|
||||
ipForgeItemIP = GetNextItemProperty(oItem);
|
||||
}
|
||||
|
||||
string sName;
|
||||
|
||||
sName = ColorString("Disenchanted Item" ,80, 80, 80);
|
||||
SetName(oItem, sName);
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eTel1,lTrig1,0.0);
|
||||
DelayCommand(0.3,ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eTel2, lTrig2, 0.0));
|
||||
RecomputeStaticLighting(oArea);
|
||||
}
|
@@ -1,74 +0,0 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_guildcheck script - check to make sure not splitting a guild item
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oCombine = GetNearestObjectByTag("forge_combine",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oCombine);
|
||||
string sMerge = GetTag(oItem);
|
||||
int nType = GetLocalInt(OBJECT_SELF, "ItemType");
|
||||
/*while (GetIsObjectValid(oItem))
|
||||
{
|
||||
if (nType == 1) // Belts and Boots
|
||||
{
|
||||
if (sMerge == "craftingbelt" ||
|
||||
sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 2) // Armor, Helms, Shields
|
||||
{
|
||||
if (sMerge == "craftingshield" ||
|
||||
sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 3) // Melee Weapons
|
||||
{
|
||||
if (sMerge == "craftingdagger" ||
|
||||
sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 4) // Cloaks
|
||||
{
|
||||
if (sMerge == "craftingcloak" ||
|
||||
sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 5) // Rings and Amulets
|
||||
{
|
||||
if (sMerge == "craftingring" ||
|
||||
sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 6) // Bows and Crossbows/slings
|
||||
{
|
||||
if (sMerge == "craftingsling" ||
|
||||
sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 7) // Thrown weapons and ammunition
|
||||
{
|
||||
if (sMerge == "craftingdirk" ||
|
||||
sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 8) // Common items (miscellaneous or not already covered)
|
||||
{
|
||||
if (sMerge == "craftingtoken" )
|
||||
return FALSE;
|
||||
}
|
||||
oItem = GetNextItemInInventory(oCombine);
|
||||
}
|
||||
return TRUE; */
|
||||
|
||||
return FALSE;
|
||||
}
|
@@ -1,19 +0,0 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_guildcheck script - check to make sure not splitting a guild item
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
string sCheck = GetStringLowerCase(GetStringLeft(GetResRef(oItem), 2));
|
||||
if (sCheck == "sd" || sCheck == "nw" || sCheck == "x2")
|
||||
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
@@ -1,22 +0,0 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_spititout script - check to make sure no more than one item in forge.
|
||||
/////:: Written by Winterknight on 2/20/06
|
||||
/////:://////////////////////////////////////////////
|
||||
|
||||
void main()
|
||||
{
|
||||
object oFifo2 = GetFirstItemInInventory(OBJECT_SELF);
|
||||
|
||||
if (GetInventoryDisturbType() == INVENTORY_DISTURB_TYPE_ADDED)
|
||||
{
|
||||
oFifo2 = GetNextItemInInventory(OBJECT_SELF);
|
||||
if (GetIsObjectValid(oFifo2))
|
||||
{
|
||||
location lDrop = GetLocation(GetNearestObjectByTag("forge_spitpoint", OBJECT_SELF,1));
|
||||
object oCopy = CopyObject(oFifo2, lDrop, OBJECT_INVALID, "");
|
||||
DestroyObject(oFifo2,0.3);
|
||||
effect eEff1 = EffectVisualEffect(VFX_FNF_SMOKE_PUFF, FALSE);
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEff1, lDrop, 0.0);
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,183 +0,0 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_guildcheck script - check to make sure not splitting a guild item
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
#include "prc_misc_const"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
int nBase = GetBaseItemType (oItem);
|
||||
int nType = GetLocalInt(OBJECT_SELF, "ItemType");
|
||||
|
||||
return FALSE;
|
||||
|
||||
if (nType == 1) // Belts and Boots
|
||||
{
|
||||
if (nBase == BASE_ITEM_BOOTS ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE ||
|
||||
nBase == BASE_ITEM_BELT)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 2) // Armor, Helms, Shields
|
||||
{
|
||||
if (nBase == BASE_ITEM_TOWERSHIELD ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE ||
|
||||
nBase == BASE_ITEM_SMALLSHIELD ||
|
||||
nBase == BASE_ITEM_HELMET ||
|
||||
nBase == BASE_ITEM_ARMOR ||
|
||||
nBase == BASE_ITEM_BRACER ||
|
||||
nBase == BASE_ITEM_LARGESHIELD)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 3) // Melee Weapons
|
||||
{
|
||||
if (nBase == BASE_ITEM_BASTARDSWORD ||
|
||||
nBase == BASE_ITEM_BATTLEAXE ||
|
||||
nBase == BASE_ITEM_CLUB ||
|
||||
nBase == BASE_ITEM_DAGGER ||
|
||||
nBase == BASE_ITEM_DIREMACE ||
|
||||
nBase == BASE_ITEM_DOUBLEAXE ||
|
||||
nBase == BASE_ITEM_DOUBLE_SCIMITAR ||
|
||||
nBase == BASE_ITEM_DWARVENWARAXE ||
|
||||
nBase == BASE_ITEM_EAGLE_CLAW ||
|
||||
nBase == BASE_ITEM_ELVEN_COURTBLADE ||
|
||||
nBase == BASE_ITEM_ELVEN_LIGHTBLADE ||
|
||||
nBase == BASE_ITEM_ELVEN_THINBLADE ||
|
||||
nBase == BASE_ITEM_FALCHION ||
|
||||
nBase == BASE_ITEM_GLOVES ||
|
||||
nBase == BASE_ITEM_GOAD ||
|
||||
nBase == BASE_ITEM_GREATAXE ||
|
||||
nBase == BASE_ITEM_GREATSWORD ||
|
||||
nBase == BASE_ITEM_HALBERD ||
|
||||
nBase == BASE_ITEM_HANDAXE ||
|
||||
nBase == BASE_ITEM_HEAVYCROSSBOW ||
|
||||
nBase == BASE_ITEM_HEAVYFLAIL ||
|
||||
nBase == BASE_ITEM_HEAVY_MACE ||
|
||||
nBase == BASE_ITEM_HEAVY_PICK ||
|
||||
nBase == BASE_ITEM_KAMA ||
|
||||
nBase == BASE_ITEM_KATANA ||
|
||||
nBase == BASE_ITEM_KATAR ||
|
||||
nBase == BASE_ITEM_KUKRI ||
|
||||
nBase == BASE_ITEM_LIGHTFLAIL ||
|
||||
nBase == BASE_ITEM_LIGHTHAMMER ||
|
||||
nBase == BASE_ITEM_LIGHTMACE ||
|
||||
nBase == BASE_ITEM_LIGHT_PICK ||
|
||||
nBase == BASE_ITEM_LONGSWORD ||
|
||||
nBase == BASE_ITEM_MAUL ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE ||
|
||||
nBase == BASE_ITEM_MORNINGSTAR ||
|
||||
nBase == BASE_ITEM_NUNCHAKU ||
|
||||
nBase == BASE_ITEM_QUARTERSTAFF ||
|
||||
nBase == BASE_ITEM_RAPIER ||
|
||||
nBase == BASE_ITEM_SAI ||
|
||||
nBase == BASE_ITEM_SAP ||
|
||||
nBase == BASE_ITEM_SCIMITAR ||
|
||||
nBase == BASE_ITEM_SCYTHE ||
|
||||
nBase == BASE_ITEM_SHORTSPEAR ||
|
||||
nBase == BASE_ITEM_SHORTSWORD ||
|
||||
nBase == BASE_ITEM_SICKLE ||
|
||||
nBase == BASE_ITEM_SLING ||
|
||||
nBase == BASE_ITEM_TRIDENT ||
|
||||
nBase == BASE_ITEM_TWOBLADEDSWORD ||
|
||||
nBase == BASE_ITEM_WARHAMMER ||
|
||||
nBase == BASE_ITEM_WHIP)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 4) // Cloaks
|
||||
{
|
||||
if (nBase == BASE_ITEM_CLOAK ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 5) // Rings and Amulets
|
||||
{
|
||||
if (nBase == BASE_ITEM_RING ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE ||
|
||||
nBase == BASE_ITEM_AMULET)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 6) // Bows and Crossbows/slings
|
||||
{
|
||||
if (nBase == BASE_ITEM_LONGBOW ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE ||
|
||||
nBase == BASE_ITEM_LIGHTCROSSBOW ||
|
||||
nBase == BASE_ITEM_HEAVYCROSSBOW||
|
||||
nBase == BASE_ITEM_SHORTBOW ||
|
||||
nBase == BASE_ITEM_SLING )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 7) // Thrown weapons and ammunition
|
||||
{
|
||||
if (nBase == BASE_ITEM_ARROW ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE ||
|
||||
nBase == BASE_ITEM_BOLT ||
|
||||
nBase == BASE_ITEM_BULLET||
|
||||
nBase == BASE_ITEM_DART ||
|
||||
nBase == BASE_ITEM_GRENADE ||
|
||||
nBase == BASE_ITEM_SHURIKEN ||
|
||||
nBase == BASE_ITEM_THROWINGAXE )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (nType == 8) // Common items (miscellaneous or not already covered)
|
||||
{
|
||||
if (nBase == BASE_ITEM_BOOK ||
|
||||
nBase == BASE_ITEM_MISCLARGE ||
|
||||
nBase == BASE_ITEM_MISCMEDIUM||
|
||||
nBase == BASE_ITEM_MISCSMALL ||
|
||||
nBase == BASE_ITEM_MISCTALL ||
|
||||
nBase == BASE_ITEM_MISCTHIN ||
|
||||
nBase == BASE_ITEM_MISCWIDE ||
|
||||
nBase == BASE_ITEM_MAGICROD||
|
||||
nBase == BASE_ITEM_LARGEBOX ||
|
||||
nBase == BASE_ITEM_MAGICSTAFF ||
|
||||
nBase == BASE_ITEM_MAGICWAND )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
@@ -1,15 +0,0 @@
|
||||
/////::///////////////////////////////////////////////
|
||||
/////:: forge_guildcheck script - check to make sure not splitting a guild item
|
||||
/////:: Written by Winterknight on 2/17/06
|
||||
/////:://////////////////////////////////////////////
|
||||
#include "nw_i0_tool"
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
|
||||
object oItem = GetFirstItemInInventory(oForge);
|
||||
if (!GetIsObjectValid(oItem))
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
175
_module/nss/no_spn_a_buff.nss
Normal file
175
_module/nss/no_spn_a_buff.nss
Normal file
@@ -0,0 +1,175 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Bard (buffer) config
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
|
||||
AddBehaviour( "+DEFSING", 90 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 90 ); //enhancing spells [single allies]
|
||||
|
||||
AddBehaviour( "+DEFSELF", 50); //defensive [self]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
//CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF); //* Use this to create a small amount of treasure on the creature
|
||||
ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
}
|
181
_module/nss/no_spn_animalist.nss
Normal file
181
_module/nss/no_spn_animalist.nss
Normal file
@@ -0,0 +1,181 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Wizard config
|
||||
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
AddBehaviour( "+EVACAOE", 100); //evac AOEs
|
||||
|
||||
AddBehaviour( "+HEAL", 80 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 85 ); //heal self
|
||||
AddBehaviour( "+GROUPHEAL", 90 ); //AOE heal [Allies]
|
||||
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
AddBehaviour( "+ENHANCESING", 80 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+DEFSELF", 90 ); //defensive [self]
|
||||
|
||||
AddBehaviour( "+DIRECT", 90 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 50 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 80 ); //AOEs
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<80)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
177
_module/nss/no_spn_aoemage.nss
Normal file
177
_module/nss/no_spn_aoemage.nss
Normal file
@@ -0,0 +1,177 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//AOE Mage config
|
||||
|
||||
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
|
||||
AddBehaviour( "+AREA", 100); //AOE
|
||||
AddBehaviour( "+DIRECT", 95 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 90 ); //touch attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
175
_module/nss/no_spn_b_knight.nss
Normal file
175
_module/nss/no_spn_b_knight.nss
Normal file
@@ -0,0 +1,175 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Pally config
|
||||
|
||||
AddBehaviour( "+EVACAOE", 80); //evac AOEs
|
||||
|
||||
AddBehaviour( "+FEATENHANCE", 60 ); //feat enhance [self]
|
||||
|
||||
AddBehaviour( "+AREA", 30 ); //AOEs
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
|
||||
// Opening Taunt to player
|
||||
|
||||
object oTaunt = GetObjectByTag("sd_bknight_taunt");
|
||||
SoundObjectPlay(oTaunt);
|
||||
}
|
174
_module/nss/no_spn_barb.nss
Normal file
174
_module/nss/no_spn_barb.nss
Normal file
@@ -0,0 +1,174 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Blank config
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
|
||||
AddBehaviour( "+MELEEASSIST", 80 ); //assist allies in melee
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51;
|
||||
if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51;
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
178
_module/nss/no_spn_bard.nss
Normal file
178
_module/nss/no_spn_bard.nss
Normal file
@@ -0,0 +1,178 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Bard (buffer) config
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
|
||||
AddBehaviour( "+DEFSING", 90 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 90 ); //enhancing spells [single allies]
|
||||
|
||||
AddBehaviour( "+DEFSELF", 50); //defensive [self]
|
||||
AddBehaviour( "+AREA", 20); //AOE
|
||||
AddBehaviour( "+DIRECT", 20 ); // attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
183
_module/nss/no_spn_bard2.nss
Normal file
183
_module/nss/no_spn_bard2.nss
Normal file
@@ -0,0 +1,183 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Bard (buffer) config
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
|
||||
AddBehaviour( "+DEFSING", 90 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 90 ); //enhancing spells [single allies]
|
||||
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
AddBehaviour( "+DEFSELF", 80); //defensive [self]
|
||||
AddBehaviour( "+AREA", 95); //AOE
|
||||
AddBehaviour( "+DIRECT", 60 ); // attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51;
|
||||
if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51;
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
170
_module/nss/no_spn_blank.nss
Normal file
170
_module/nss/no_spn_blank.nss
Normal file
@@ -0,0 +1,170 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Blank config
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+MELEEASSIST", 70 ); //assist allies in melee
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
AddBehaviour( "+FLANK", 100 ); //flank
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
168
_module/nss/no_spn_bow.nss
Normal file
168
_module/nss/no_spn_bow.nss
Normal file
@@ -0,0 +1,168 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Blank config
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
//AddBehaviour( "+AVOIDENEMY", 80 ); //Keep away from enemies
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
AddBehaviour( "+FLANK", 100 ); //flank
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
207
_module/nss/no_spn_cleric.nss
Normal file
207
_module/nss/no_spn_cleric.nss
Normal file
@@ -0,0 +1,207 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
void SF_SPECBUFF()
|
||||
{
|
||||
ClearAllActions();
|
||||
ActionCastSpellAtObject(VFX_IMP_MAGIC_PROTECTION, OBJECT_SELF,
|
||||
METAMAGIC_NONE, TRUE);
|
||||
SetLocalInt(OBJECT_SELF, "sr_buffed", 1);
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
object oPC = GetFirstPC();
|
||||
object oH1 = GetHenchman(oPC);
|
||||
object oH2 = GetHenchman(oPC, 2);
|
||||
object oH3 = GetHenchman(oPC, 3);
|
||||
object oH4 = GetHenchman(oPC, 4);
|
||||
|
||||
// if any mages in player's party (or player is a mage): buff spell res
|
||||
// Flag set to only do this once
|
||||
|
||||
if ((GetIsCaster(oPC)||GetIsCaster(oH1)>3||GetIsCaster(oH2)>3||
|
||||
GetIsCaster(oH3)>3||GetIsCaster(oH4)>3)&&
|
||||
GetLocalInt(OBJECT_SELF, "sr_buffed")==0) SF_SPECBUFF();
|
||||
|
||||
//Cleric config
|
||||
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
|
||||
AddBehaviour( "+EVACAOE", 100); //evac AOEs
|
||||
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
|
||||
AddBehaviour( "+DEFSELF", 80 ); //defensive [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
AddBehaviour( "+ENHANCESELF", 70 ); //enhancing spells [self]
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51;
|
||||
if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51;
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
171
_module/nss/no_spn_conqr.nss
Normal file
171
_module/nss/no_spn_conqr.nss
Normal file
@@ -0,0 +1,171 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//BOSS: Juggernaut config
|
||||
|
||||
AddBehaviour( "+EVACAOE", 80); //evac AOEs
|
||||
AddBehaviour( "+ENHANCESELF", 85 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 60 ); //feat enhance [self]
|
||||
AddBehaviour( "+DIRECT", 30 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 35 ); //AOEs
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
|
||||
}
|
176
_module/nss/no_spn_dcaller.nss
Normal file
176
_module/nss/no_spn_dcaller.nss
Normal file
@@ -0,0 +1,176 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Wizard config
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+DIRECT", 80 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+TOUCH", 70 ); //touch attack spells [single enemy]
|
||||
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<70)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
179
_module/nss/no_spn_dgoon.nss
Normal file
179
_module/nss/no_spn_dgoon.nss
Normal file
@@ -0,0 +1,179 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Dragoon config
|
||||
|
||||
AddBehaviour( "+EVACAOE", 80); //evac AOEs
|
||||
|
||||
AddBehaviour( "+FEATENHANCE", 90 ); //feat enhance [self]
|
||||
|
||||
AddBehaviour( "+HEAL", 80 ); //heal [self/allies]
|
||||
AddBehaviour( "+BREATH", 50 ); //breath weapons
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
// Set Flaming eyes
|
||||
effect eGlow = EffectVisualEffect(VFX_EYES_RED_FLAME_HUMAN_MALE);
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eGlow, OBJECT_SELF);
|
||||
|
||||
ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
180
_module/nss/no_spn_dpally.nss
Normal file
180
_module/nss/no_spn_dpally.nss
Normal file
@@ -0,0 +1,180 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Pally config
|
||||
|
||||
AddBehaviour( "+EVACAOE", 80); //evac AOEs
|
||||
|
||||
AddBehaviour( "+FEATENHANCE", 90 ); //feat enhance [self]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
AddBehaviour( "+HEAL", 80 ); //heal [self/allies]
|
||||
|
||||
AddBehaviour( "+ENHANCESELF", 80 ); //enhancing spells [self]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
// Set Flaming eyes
|
||||
effect eGlow = EffectVisualEffect(VFX_EYES_RED_FLAME_HUMAN_MALE);
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eGlow, OBJECT_SELF);
|
||||
|
||||
ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
@@ -13,7 +13,7 @@
|
||||
|
||||
void main()
|
||||
{
|
||||
SetThreatLevel(OBJECT_SELF);
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
|
||||
//Dragon config
|
||||
|
188
_module/nss/no_spn_druid.nss
Normal file
188
_module/nss/no_spn_druid.nss
Normal file
@@ -0,0 +1,188 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
//Bard (buffer) config
|
||||
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+DEFSING", 30 ); //defensive [single allies]
|
||||
|
||||
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 40 ); //Dispel [enemies]
|
||||
|
||||
AddBehaviour( "+HEAL", 90 ); //heal [self/allies]
|
||||
AddBehaviour( "+GROUPHEAL", 90 ); //AOE heal [Allies]
|
||||
|
||||
AddBehaviour( "+DEFSELF", 50); //defensive [self]
|
||||
AddBehaviour( "+AREA", 80); //AOE
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<60)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
190
_module/nss/no_spn_druid2.nss
Normal file
190
_module/nss/no_spn_druid2.nss
Normal file
@@ -0,0 +1,190 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
//Bard (buffer) config
|
||||
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+DEFSING", 70 ); //defensive [single allies]
|
||||
|
||||
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 40 ); //Dispel [enemies]
|
||||
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
|
||||
AddBehaviour( "+DEFSELF", 80); //defensive [self]
|
||||
AddBehaviour( "+AREA", 95); //AOE
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51;
|
||||
if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51;
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
202
_module/nss/no_spn_en4cast1.nss
Normal file
202
_module/nss/no_spn_en4cast1.nss
Normal file
@@ -0,0 +1,202 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
#include "nw_o2_coninclude"
|
||||
#include "x0_i0_treasure"
|
||||
#include "prc_inc_racial"
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
if (GetLocalInt(GetModule(),"NoAI") == 1)
|
||||
SetLocalInt(OBJECT_SELF,"NoAI",1);
|
||||
|
||||
if (GetLocalInt(GetModule(),"NoAI") == 2 && Random(2) == 0)
|
||||
SetLocalInt(OBJECT_SELF,"NoAI",1);
|
||||
|
||||
if (GetLocalInt(OBJECT_SELF,"NoAI") == 1)
|
||||
{
|
||||
ExecuteScript("en3_boss_spawn",OBJECT_SELF);
|
||||
} else {
|
||||
|
||||
//Behaviour config
|
||||
if (MyPRCGetRacialType(OBJECT_SELF) != RACIAL_TYPE_UNDEAD)
|
||||
AddBehaviour( "+HEALSELF", 100 );
|
||||
else
|
||||
AddBehaviour( "+UNDEADHEALSELF", 100 );
|
||||
|
||||
AddBehaviour( "+REGROUP", 80 );
|
||||
AddBehaviour( "+FLANK", 20 );
|
||||
AddBehaviour( "+SUMMON", 30 + Random(40));
|
||||
|
||||
if (GetLevelByClass(CLASS_TYPE_CLERIC, OBJECT_SELF) >= 1)
|
||||
AddBehaviour( "+RAISE", 60 );
|
||||
|
||||
if (GetLevelByClass(CLASS_TYPE_BARD, OBJECT_SELF) >= 1)
|
||||
AddBehaviour( "+EN4DMGSHIELD", 50 );
|
||||
|
||||
if (Random(3)==0)
|
||||
{
|
||||
AddBehaviour( "+DEFSELF", 20 + Random(40));
|
||||
AddBehaviour( "+ENHANCESELF", 20 + Random(40));
|
||||
AddBehaviour( "+TURN", 50 );
|
||||
AddBehaviour( "+AREA", 20 + Random(40) );
|
||||
AddBehaviour( "+DIRECT", 20 + Random(40) );
|
||||
AddBehaviour( "+TOUCH", 20 + Random(40) );
|
||||
AddBehaviour( "+DISPEL", 25 );
|
||||
AddBehaviour( "+DISPELAOE", 25 );
|
||||
AddBehaviour( "+DISMISSAL", 25 );
|
||||
if (MyPRCGetRacialType(OBJECT_SELF) != RACIAL_TYPE_UNDEAD)
|
||||
AddBehaviour( "+HEAL", 50 + Random(40) );
|
||||
else
|
||||
AddBehaviour( "+UNDEADHEAL", 50 + Random(40) );
|
||||
AddBehaviour( "+VIS", 50 );
|
||||
AddBehaviour( "+DEFSING", 40 );
|
||||
AddBehaviour( "+GROUPENHANCE", 40 );
|
||||
AddBehaviour( "+ENHANCESING", 40 );
|
||||
AddBehaviour( "+FEATENHANCE", 40 );
|
||||
AddBehaviour( "+HELP", 60 );
|
||||
if (MyPRCGetRacialType(OBJECT_SELF) != RACIAL_TYPE_UNDEAD)
|
||||
AddBehaviour( "+GROUPHEAL", 60 );
|
||||
|
||||
} else {
|
||||
if (MyPRCGetRacialType(OBJECT_SELF) != RACIAL_TYPE_UNDEAD)
|
||||
{
|
||||
AddBehaviour( "+GROUPHEAL", 40 + Random(40));
|
||||
AddBehaviour( "+HEAL", 40 + Random(40) );
|
||||
} else {
|
||||
AddBehaviour( "+UNDEADHEAL", 50 + Random(40) );
|
||||
}
|
||||
|
||||
AddBehaviour( "+HELP", 40 + Random(40) );
|
||||
AddBehaviour( "+VIS", 40 + Random(40) );
|
||||
AddBehaviour( "+DEFSELF", 40 + Random(40) );
|
||||
AddBehaviour( "+DEFSING", 40 + Random(40) );
|
||||
AddBehaviour( "+GROUPENHANCE", 40 + Random(40) );
|
||||
AddBehaviour( "+ENHANCESING", 40 + Random(40) );
|
||||
AddBehaviour( "+ENHANCESELF", 40 + Random(40) );
|
||||
AddBehaviour( "+FEATENHANCE", 40 + Random(40) );
|
||||
AddBehaviour( "+DISPEL", 40 );
|
||||
AddBehaviour( "+DISPELAOE", 40 );
|
||||
AddBehaviour( "+DISMISSAL", 40 );
|
||||
AddBehaviour( "+TURN", 40 );
|
||||
AddBehaviour( "+AREA", 40 );
|
||||
AddBehaviour( "+DIRECT", 40 );
|
||||
AddBehaviour( "+TOUCH", 40 );
|
||||
}
|
||||
|
||||
AddBehaviour( "+EVACAOE", 50 );
|
||||
AddBehaviour( "+ATKMELEE", 100 );
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
DelayCommand(3.0f,ExecuteScript( "no_scr_logeq", OBJECT_SELF ));
|
||||
|
||||
// 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);
|
||||
if (Random(3)==0)
|
||||
SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iRandom;
|
||||
iRandom = Random(100)+1;
|
||||
if (iRandom<94)
|
||||
DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF));
|
||||
else if (iRandom<97)
|
||||
DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_MED, OBJECT_SELF));
|
||||
else if (iRandom<100)
|
||||
DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_HIGH, OBJECT_SELF));
|
||||
else
|
||||
DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_UNIQUE, OBJECT_SELF));
|
||||
|
||||
}
|
||||
}
|
159
_module/nss/no_spn_en4rog.nss
Normal file
159
_module/nss/no_spn_en4rog.nss
Normal file
@@ -0,0 +1,159 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
#include "nw_o2_coninclude"
|
||||
#include "x0_i0_treasure"
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
if (GetLocalInt(GetModule(),"NoAI") == 1)
|
||||
SetLocalInt(OBJECT_SELF,"NoAI",1);
|
||||
|
||||
if (GetLocalInt(GetModule(),"NoAI") == 2 && Random(3) > 0)
|
||||
SetLocalInt(OBJECT_SELF,"NoAI",1);
|
||||
|
||||
if (GetLocalInt(OBJECT_SELF,"NoAI") == 1)
|
||||
{
|
||||
SetSpawnInCondition(NW_FLAG_STEALTH);
|
||||
ExecuteScript("en3_boss_spawn",OBJECT_SELF);
|
||||
} else {
|
||||
|
||||
//Behaviour config
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+FEATENHANCE", 80 ); //enhance self via feats
|
||||
AddBehaviour( "+REGROUP", 60 ); //regroup
|
||||
AddBehaviour( "+FLANK", 60 ); //flank
|
||||
AddBehaviour( "+AREA", 60 ); //area attack spells
|
||||
AddBehaviour( "+EVACAOE", 50 ); //evac AOEs
|
||||
AddBehaviour( "+EN4INVIS", 50 );
|
||||
if (GetLevelByClass(CLASS_TYPE_RANGER, OBJECT_SELF) >= 1)
|
||||
{
|
||||
AddBehaviour( "+ENHANCESELF", 25 + Random(25) );
|
||||
AddBehaviour( "+SUMMON", 50 );
|
||||
AddBehaviour( "+DIRECT", 25 );
|
||||
AddBehaviour( "+HELP", 30 );
|
||||
AddBehaviour( "+HEAL", 30 );
|
||||
AddBehaviour( "+MELEEASSIST", 25 ); //assist allies in melee
|
||||
} else {
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //assist allies in melee
|
||||
}
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
DelayCommand(3.0f,ExecuteScript( "no_scr_logeq", OBJECT_SELF ));
|
||||
|
||||
// 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
|
||||
if (Random(2)==0)
|
||||
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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iRandom;
|
||||
iRandom = Random(100)+1;
|
||||
if (iRandom<94)
|
||||
DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF));
|
||||
else if (iRandom<97)
|
||||
DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_MED, OBJECT_SELF));
|
||||
else if (iRandom<100)
|
||||
DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_HIGH, OBJECT_SELF));
|
||||
else
|
||||
DelayCommand(1.0f,CTG_GenerateNPCTreasure(TREASURE_TYPE_UNIQUE, OBJECT_SELF));
|
||||
|
||||
|
||||
}
|
||||
}
|
182
_module/nss/no_spn_heal.nss
Normal file
182
_module/nss/no_spn_heal.nss
Normal file
@@ -0,0 +1,182 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Blank config
|
||||
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+GROUPHEAL", 90 ); //AOE heal [Allies]
|
||||
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 80 ); //AOEs
|
||||
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
AddBehaviour( "+FLANK", 100 ); //flank
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
176
_module/nss/no_spn_healdruid.nss
Normal file
176
_module/nss/no_spn_healdruid.nss
Normal file
@@ -0,0 +1,176 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
//Bard (buffer) config
|
||||
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
|
||||
AddBehaviour( "+AREA", 80); //AOE
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<60)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
178
_module/nss/no_spn_immortus.nss
Normal file
178
_module/nss/no_spn_immortus.nss
Normal file
@@ -0,0 +1,178 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Blank config
|
||||
|
||||
|
||||
|
||||
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
|
||||
AddBehaviour( "+AREA", 90); //AOE
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
AddBehaviour( "+FLANK", 100 ); //flank
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
177
_module/nss/no_spn_infern.nss
Normal file
177
_module/nss/no_spn_infern.nss
Normal file
@@ -0,0 +1,177 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Wizard config
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+AREA", 60 ); //AOEs
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
effect eGlow = EffectVisualEffect(VFX_EYES_RED_FLAME_HALFORC_MALE);
|
||||
DelayCommand(0.3, ApplyEffectToObject
|
||||
(DURATION_TYPE_PERMANENT, eGlow, OBJECT_SELF));
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
//ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
|
||||
|
||||
}
|
178
_module/nss/no_spn_mage.nss
Normal file
178
_module/nss/no_spn_mage.nss
Normal file
@@ -0,0 +1,178 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Wizard config
|
||||
|
||||
AddBehaviour( "+EVACAOE", 100); //evac AOEs
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
|
||||
AddBehaviour( "+SUMMON", 60 ); //Summon allies
|
||||
AddBehaviour( "+DEFSELF", 90 ); //defensive [self]
|
||||
AddBehaviour( "+DIRECT", 95 ); // attack spells [single enemy]
|
||||
|
||||
|
||||
AddBehaviour( "+TOUCH", 80 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<80)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
171
_module/nss/no_spn_mino.nss
Normal file
171
_module/nss/no_spn_mino.nss
Normal file
@@ -0,0 +1,171 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//BOSS: Mino config
|
||||
|
||||
AddBehaviour( "+EVACAOE", 100); //evac AOEs
|
||||
|
||||
AddBehaviour( "+AREA", 65 ); //AOEs
|
||||
AddBehaviour( "+BREATH", 80 ); //breath weapons
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
|
||||
}
|
172
_module/nss/no_spn_mino_wiz.nss
Normal file
172
_module/nss/no_spn_mino_wiz.nss
Normal file
@@ -0,0 +1,172 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//BOSS: Mino mage config
|
||||
|
||||
AddBehaviour( "+EVACAOE", 100); //evac AOEs
|
||||
AddBehaviour( "+AVOIDENEMY", 20 ); //Keep away from enemies
|
||||
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 80 ); //enhancing spells [self]
|
||||
|
||||
AddBehaviour( "+AREA", 90 ); //AOEs
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+DISPEL", 90 ); //Dispel [enemies]
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
|
||||
}
|
180
_module/nss/no_spn_minsage.nss
Normal file
180
_module/nss/no_spn_minsage.nss
Normal file
@@ -0,0 +1,180 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Wizard config
|
||||
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
AddBehaviour( "+EVACAOE", 100); //evac AOEs
|
||||
|
||||
AddBehaviour( "+HEAL", 80 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 85 ); //heal self
|
||||
AddBehaviour( "+GROUPHEAL", 90 ); //AOE heal [Allies]
|
||||
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
AddBehaviour( "+ENHANCESING", 80 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+DEFSELF", 90 ); //defensive [self]
|
||||
|
||||
AddBehaviour( "+DIRECT", 80 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 90 ); //AOEs
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<80)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
173
_module/nss/no_spn_mummy.nss
Normal file
173
_module/nss/no_spn_mummy.nss
Normal file
@@ -0,0 +1,173 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Bard (buffer) config
|
||||
|
||||
AddBehaviour( "+EVACAOE", 50 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
|
||||
AddBehaviour( "+AREA", 50); //AOE
|
||||
AddBehaviour( "+DIRECT", 20 ); // attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+BREATH", 30 ); //breath weapons
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
//CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF); //* Use this to create a small amount of treasure on the creature
|
||||
}
|
204
_module/nss/no_spn_necr_boss.nss
Normal file
204
_module/nss/no_spn_necr_boss.nss
Normal file
@@ -0,0 +1,204 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
#include "x2_inc_switches"
|
||||
#include "sd_lootsystem"
|
||||
|
||||
void SF_SPECBUFF()
|
||||
{
|
||||
ClearAllActions();
|
||||
ActionCastSpellAtObject(VFX_IMP_MAGIC_PROTECTION, OBJECT_SELF,
|
||||
METAMAGIC_NONE, TRUE);
|
||||
SetLocalInt(OBJECT_SELF, "sr_buffed", 1);
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
object oPC = GetFirstPC();
|
||||
object oH1 = GetHenchman(oPC);
|
||||
object oH2 = GetHenchman(oPC, 2);
|
||||
object oH3 = GetHenchman(oPC, 3);
|
||||
object oH4 = GetHenchman(oPC, 4);
|
||||
|
||||
// if any mages in player's party (or player is a mage): buff spell res
|
||||
// Flag set to only do this once
|
||||
|
||||
if ((GetIsCaster(oPC)||GetIsCaster(oH1)>3||GetIsCaster(oH2)>3||
|
||||
GetIsCaster(oH3)>3||GetIsCaster(oH4)>3)&&
|
||||
GetLocalInt(OBJECT_SELF, "sr_buffed")==0) SF_SPECBUFF();
|
||||
|
||||
//Necromancer config
|
||||
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
|
||||
AddBehaviour( "+EVACAOE", 100); //evac AOEs
|
||||
AddBehaviour( "+DISPEL", 80 ); //Dispel [enemies]
|
||||
|
||||
AddBehaviour( "+DIRECT", 80 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 30 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 60 ); //AOEs
|
||||
|
||||
AddBehaviour( "+HEAL", 90 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 );
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
|
||||
//int iDice = d100();
|
||||
//if (iDice<40)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
////InvClr(OBJECT_SELF);
|
||||
|
||||
SetEyes(VFX_EYES_GREEN_HUMAN_MALE, OBJECT_SELF);
|
||||
}
|
178
_module/nss/no_spn_necro.nss
Normal file
178
_module/nss/no_spn_necro.nss
Normal file
@@ -0,0 +1,178 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Wizard config
|
||||
|
||||
AddBehaviour( "+EVACAOE", 100); //evac AOEs
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
|
||||
AddBehaviour( "+SUMMON", 60 ); //Summon allies
|
||||
AddBehaviour( "+DEFSELF", 90 ); //defensive [self]
|
||||
AddBehaviour( "+DIRECT", 90 ); // attack spells [single enemy]
|
||||
|
||||
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<80)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
202
_module/nss/no_spn_nmncr.nss
Normal file
202
_module/nss/no_spn_nmncr.nss
Normal file
@@ -0,0 +1,202 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
#include "x2_inc_switches"
|
||||
#include "sd_lootsystem"
|
||||
|
||||
void SF_SPECBUFF()
|
||||
{
|
||||
ClearAllActions();
|
||||
ActionCastSpellAtObject(VFX_IMP_MAGIC_PROTECTION, OBJECT_SELF,
|
||||
METAMAGIC_NONE, TRUE);
|
||||
SetLocalInt(OBJECT_SELF, "sr_buffed", 1);
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
object oPC = GetFirstPC();
|
||||
object oH1 = GetHenchman(oPC);
|
||||
object oH2 = GetHenchman(oPC, 2);
|
||||
object oH3 = GetHenchman(oPC, 3);
|
||||
object oH4 = GetHenchman(oPC, 4);
|
||||
|
||||
// if any mages in player's party (or player is a mage): buff spell res
|
||||
// Flag set to only do this once
|
||||
|
||||
if ((GetIsCaster(oPC)||GetIsCaster(oH1)>3||GetIsCaster(oH2)>3||
|
||||
GetIsCaster(oH3)>3||GetIsCaster(oH4)>3)&&
|
||||
GetLocalInt(OBJECT_SELF, "sr_buffed")==0) SF_SPECBUFF();
|
||||
|
||||
//Necromancer config
|
||||
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
|
||||
AddBehaviour( "+EVACAOE", 100); //evac AOEs
|
||||
AddBehaviour( "+TOUCH", 30 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+GROUPENHANCE", 90 ); //enhancing spells [AOE]
|
||||
AddBehaviour( "+DEFSELF", 80 ); //defensive [self]
|
||||
AddBehaviour( "+DEFSING", 90 ); //defensive [single allies]
|
||||
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
|
||||
int iDice = d100();
|
||||
if (iDice<40)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
|
||||
SetEyes(VFX_EYES_RED_FLAME_HUMAN_MALE, OBJECT_SELF);
|
||||
}
|
175
_module/nss/no_spn_orc_mys.nss
Normal file
175
_module/nss/no_spn_orc_mys.nss
Normal file
@@ -0,0 +1,175 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Wizard config
|
||||
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+AREA", 70 ); //AOEs
|
||||
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
|
||||
AddBehaviour( "+DIRECT", 90 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 80 ); // touch attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<90)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
178
_module/nss/no_spn_pally.nss
Normal file
178
_module/nss/no_spn_pally.nss
Normal file
@@ -0,0 +1,178 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Pally config
|
||||
|
||||
AddBehaviour( "+EVACAOE", 80); //evac AOEs
|
||||
|
||||
AddBehaviour( "+FEATENHANCE", 90 ); //feat enhance [self]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
AddBehaviour( "+HEAL", 80 ); //heal [self/allies]
|
||||
|
||||
AddBehaviour( "+ENHANCESELF", 80 ); //enhancing spells [self]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
|
||||
|
||||
ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
183
_module/nss/no_spn_pally2.nss
Normal file
183
_module/nss/no_spn_pally2.nss
Normal file
@@ -0,0 +1,183 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Pally config
|
||||
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
AddBehaviour( "+EVACAOE", 80); //evac AOEs
|
||||
|
||||
AddBehaviour( "+FEATENHANCE", 90 ); //feat enhance [self]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
|
||||
AddBehaviour( "+ENHANCESELF", 80 ); //enhancing spells [self]
|
||||
|
||||
AddBehaviour( "+MELEEASSIST", 80 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
|
||||
|
||||
int iDice = d100();
|
||||
if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51;
|
||||
if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51;
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
140
_module/nss/no_spn_pkeeper.nss
Normal file
140
_module/nss/no_spn_pkeeper.nss
Normal file
@@ -0,0 +1,140 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
#include "nw_o2_coninclude"
|
||||
#include "x0_i0_treasure"
|
||||
|
||||
void main()
|
||||
{
|
||||
//Behaviour config
|
||||
AddBehaviour( "+AVOIDMELEE", 50 ); //avoid melee
|
||||
AddBehaviour( "+EVACAOE", 80 ); //evac AOEs
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+REGROUP", 20 ); //regroup
|
||||
AddBehaviour( "+FEATENHANCE", 10 ); //enhance self via feats
|
||||
AddBehaviour( "+CENTRALEYE", 10 ); //beholder antimagic cone
|
||||
AddBehaviour( "+EYERAYS", 50 );
|
||||
AddBehaviour( "+GROUPHEAL", 60 );
|
||||
AddBehaviour( "+HELP", 60 );
|
||||
AddBehaviour( "+HEAL", 60 );
|
||||
AddBehaviour( "+VIS", 60 );
|
||||
AddBehaviour( "+DEFSELF", 40 );
|
||||
AddBehaviour( "+DEFSING", 40 );
|
||||
AddBehaviour( "+GROUPENHANCE", 40 );
|
||||
AddBehaviour( "+ENHANCESING", 40 );
|
||||
AddBehaviour( "+ENHANCESELF", 40 );
|
||||
AddBehaviour( "+FEATENHANCE", 40 );
|
||||
AddBehaviour( "+DISPEL", 40 );
|
||||
AddBehaviour( "+DISPELAOE", 40 );
|
||||
AddBehaviour( "+DISMISSAL", 40 );
|
||||
AddBehaviour( "+TURN", 40 );
|
||||
AddBehaviour( "+AREA", 40 );
|
||||
AddBehaviour( "+DIRECT", 40 );
|
||||
AddBehaviour( "+TOUCH", 40 );
|
||||
AddBehaviour( "+EVACAOE", 50 );
|
||||
AddBehaviour( "+EYERAYS", 100 ); //beholder eye rays
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF); //* Use this to create a small amount of treasure on the creature
|
||||
}
|
174
_module/nss/no_spn_poltgst.nss
Normal file
174
_module/nss/no_spn_poltgst.nss
Normal file
@@ -0,0 +1,174 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Bard (buffer) config
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
|
||||
AddBehaviour( "+DEFSELF", 80); //defensive [self]
|
||||
AddBehaviour( "+AREA", 40); //AOE
|
||||
AddBehaviour( "+DIRECT", 90 ); // attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 70 ); //melee attack
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<40)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
}
|
176
_module/nss/no_spn_pureheal.nss
Normal file
176
_module/nss/no_spn_pureheal.nss
Normal file
@@ -0,0 +1,176 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Blank config
|
||||
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
AddBehaviour( "+FLANK", 100 ); //flank
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
172
_module/nss/no_spn_r_fig.nss
Normal file
172
_module/nss/no_spn_r_fig.nss
Normal file
@@ -0,0 +1,172 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPC = GetFirstPC();
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Blank config
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+MELEEASSIST", 90 ); //assist allies in melee
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
AddBehaviour( "+REGROUP", 40 ); //regroup
|
||||
DelayCommand(3.0, ActionAttack(oPC));
|
||||
/*
|
||||
// Movement
|
||||
AddBehaviour( "+REGROUP", 20 ); //regroup
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51;
|
||||
if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51;
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
174
_module/nss/no_spn_ranged.nss
Normal file
174
_module/nss/no_spn_ranged.nss
Normal file
@@ -0,0 +1,174 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Blank config
|
||||
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
AddBehaviour( "+FLANK", 100 ); //flank
|
||||
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
|
||||
|
||||
//AddBehaviour( "+AVOIDENEMY", 80 ); //Keep away from enemies
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
AddBehaviour( "+FLANK", 100 ); //flank
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
171
_module/nss/no_spn_s_knight.nss
Normal file
171
_module/nss/no_spn_s_knight.nss
Normal file
@@ -0,0 +1,171 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Pally config
|
||||
|
||||
AddBehaviour( "+EVACAOE", 80); //evac AOEs
|
||||
|
||||
AddBehaviour( "+FEATENHANCE", 60 ); //feat enhance [self]
|
||||
|
||||
AddBehaviour( "+AREA", 30 ); //AOEs
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
|
||||
}
|
179
_module/nss/no_spn_satdruid.nss
Normal file
179
_module/nss/no_spn_satdruid.nss
Normal file
@@ -0,0 +1,179 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Blank config
|
||||
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+ENHANCESELF", 60 ); //enhancing spells [self]
|
||||
|
||||
AddBehaviour( "+DIRECT", 95 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 70 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 90 ); //AOEs
|
||||
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
AddBehaviour( "+FLANK", 100 ); //flank
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
180
_module/nss/no_spn_satyrbard.nss
Normal file
180
_module/nss/no_spn_satyrbard.nss
Normal file
@@ -0,0 +1,180 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Bard (buffer) config
|
||||
|
||||
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
|
||||
AddBehaviour( "+DEFSELF", 80); //defensive [self]
|
||||
|
||||
AddBehaviour( "+AREA", 95); //AOE
|
||||
AddBehaviour( "+DIRECT", 80 ); // attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+TOUCH", 80 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
168
_module/nss/no_spn_sbss.nss
Normal file
168
_module/nss/no_spn_sbss.nss
Normal file
@@ -0,0 +1,168 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Blank config
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
180
_module/nss/no_spn_sham.nss
Normal file
180
_module/nss/no_spn_sham.nss
Normal file
@@ -0,0 +1,180 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
//Bard (buffer) config
|
||||
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
|
||||
AddBehaviour( "+DEFSING", 30 ); //defensive [single allies]
|
||||
|
||||
AddBehaviour( "+HEAL", 90 ); //heal [self/allies]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
|
||||
AddBehaviour( "+DEFSELF", 100); //defensive [self]
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 80 ); //melee attack
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<60)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
178
_module/nss/no_spn_singer.nss
Normal file
178
_module/nss/no_spn_singer.nss
Normal file
@@ -0,0 +1,178 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Bard (buffer) config
|
||||
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
|
||||
AddBehaviour( "+DEFSELF", 50); //defensive [self]
|
||||
AddBehaviour( "+AREA", 30); //AOE
|
||||
AddBehaviour( "+DIRECT", 30 ); // attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
175
_module/nss/no_spn_sneaker.nss
Normal file
175
_module/nss/no_spn_sneaker.nss
Normal file
@@ -0,0 +1,175 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Blank config
|
||||
|
||||
AddBehaviour( "+HEALSELF", 60 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
AddBehaviour( "+FLANK", 90 ); //flank
|
||||
|
||||
AddBehaviour( "+MELEEASSIST", 70 ); //assist allies in melee
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
AddBehaviour( "+AREA", 50 ); //AOEs
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+REGROUP", 80 ); //regroup
|
||||
AddBehaviour( "+FLANK", 20 ); //flank
|
||||
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
177
_module/nss/no_spn_sneaker2.nss
Normal file
177
_module/nss/no_spn_sneaker2.nss
Normal file
@@ -0,0 +1,177 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Blank config
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
AddBehaviour( "+FLANK", 100 ); //flank
|
||||
AddBehaviour( "+AREA", 80 ); //AOEs
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
AddBehaviour( "+MELEEASSIST", 80 ); //assist allies in melee
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+REGROUP", 80 ); //regroup
|
||||
AddBehaviour( "+FLANK", 20 ); //flank
|
||||
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51;
|
||||
if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51;
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
120
_module/nss/no_spn_sneakrog.nss
Normal file
120
_module/nss/no_spn_sneakrog.nss
Normal file
@@ -0,0 +1,120 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
#include "nw_o2_coninclude"
|
||||
#include "x0_i0_treasure"
|
||||
|
||||
void main()
|
||||
{
|
||||
//Behaviour config
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //enhance self via feats
|
||||
AddBehaviour( "+REGROUP", 80 ); //regroup
|
||||
AddBehaviour( "+FLANK", 90 ); //flank
|
||||
AddBehaviour( "+EVACAOE", 70 ); //evac AOEs
|
||||
AddBehaviour( "+MELEEASSIST", 75 ); //assist allies in melee
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF); //* Use this to create a small amount of treasure on the creature
|
||||
}
|
176
_module/nss/no_spn_sorc.nss
Normal file
176
_module/nss/no_spn_sorc.nss
Normal file
@@ -0,0 +1,176 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
//Blank config
|
||||
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
AddBehaviour( "+SUMMON", 90 );
|
||||
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 90 ); //AOEs
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
AddBehaviour( "+FLANK", 100 ); //flank
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (GetTag(OBJECT_SELF)=="sd_laby_boss3")iDice=51;
|
||||
if (GetLocalInt(OBJECT_SELF, "BOSS")==1)iDice=51;
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
170
_module/nss/no_spn_tank.nss
Normal file
170
_module/nss/no_spn_tank.nss
Normal file
@@ -0,0 +1,170 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Blank config
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //assist allies in melee
|
||||
|
||||
AddBehaviour( "+TOUCH", 80 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
object oPC = GetFirstPC();
|
||||
AssignCommand(OBJECT_SELF, ActionAttack(oPC));
|
||||
/*
|
||||
// Movement
|
||||
AddBehaviour( "+FLANK", 100 ); //flank
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
171
_module/nss/no_spn_warrior.nss
Normal file
171
_module/nss/no_spn_warrior.nss
Normal file
@@ -0,0 +1,171 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPC = GetFirstPC();
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Blank config
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+MELEEASSIST", 90 ); //assist allies in melee
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
AddBehaviour( "+REGROUP", 40 ); //regroup
|
||||
DelayCommand(3.0, ActionAttack(oPC));
|
||||
/*
|
||||
// Movement
|
||||
AddBehaviour( "+REGROUP", 20 ); //regroup
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
171
_module/nss/no_spn_warrior_b.nss
Normal file
171
_module/nss/no_spn_warrior_b.nss
Normal file
@@ -0,0 +1,171 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Blank config
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //assist allies in melee
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
object oPC = GetFirstPC();
|
||||
AssignCommand(OBJECT_SELF, ActionAttack(oPC));
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
170
_module/nss/no_spn_warrior_c.nss
Normal file
170
_module/nss/no_spn_warrior_c.nss
Normal file
@@ -0,0 +1,170 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
//Blank config
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+EVACAOE", 100 ); //evac AOEs
|
||||
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //assist allies in melee
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<50)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
173
_module/nss/no_spn_wiz2.nss
Normal file
173
_module/nss/no_spn_wiz2.nss
Normal file
@@ -0,0 +1,173 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: On Spawn In
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Determines the course of action to be taken
|
||||
after having just been spawned in
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//Wizard config
|
||||
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
AddBehaviour( "+HEALSELF", 100 ); //heal self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 80 ); //touch attack spells [single enemy]
|
||||
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
|
||||
|
||||
/*
|
||||
// Movement
|
||||
|
||||
AddBehaviour( "+AVOIDENEMY", 100 ); //Keep away from enemies
|
||||
AddBehaviour( "+AVOIDMELEE", 100 ); //Flee
|
||||
//Melee
|
||||
AddBehaviour( "+MELEEASSIST", 100 ); //Melee Assist [allies]
|
||||
AddBehaviour( "+ATKRANGED", 100 ); //ranged attack
|
||||
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
|
||||
// Buffs self
|
||||
AddBehaviour( "+DEFSELF", 100 ); //defensive [self]
|
||||
AddBehaviour( "+ENHANCESELF", 100 ); //enhancing spells [self]
|
||||
AddBehaviour( "+FEATENHANCE", 100 ); //feat enhance [self]
|
||||
// Buffs party
|
||||
AddBehaviour( "+DEFSING", 100 ); //defensive [single allies]
|
||||
AddBehaviour( "+ENHANCESING", 100 ); //enhancing spells [single allies]
|
||||
AddBehaviour( "+VIS", 100 ); //visual aid spells [self/allies]
|
||||
AddBehaviour( "+GROUPENHANCE", 100 ); //enhancing spells [AOE]
|
||||
// Curing
|
||||
AddBehaviour( "+HELP", 100 ); //Restore debuffs [self/allies]
|
||||
AddBehaviour( "+RAISE", 100 ); //Ressurect [allies]
|
||||
// Healing
|
||||
AddBehaviour( "+HEAL", 100 ); //heal [self/allies]
|
||||
AddBehaviour( "+HEALSELF", 100 ); //Use pots/spec abil [heal self]
|
||||
AddBehaviour( "+GROUPHEAL", 100 ); //AOE heal [Allies]
|
||||
// Off casting
|
||||
AddBehaviour( "+DIRECT", 100 ); // attack spells [single enemy]
|
||||
AddBehaviour( "+TOUCH", 100 ); //touch attack spells [single enemy]
|
||||
AddBehaviour( "+AREA", 100 ); //AOEs
|
||||
AddBehaviour( "+SUMMON", 100 ); //Summon allies
|
||||
//Def casting
|
||||
AddBehaviour( "+COUNTERSPELL", 100 ); //Counterspell [enemy]
|
||||
AddBehaviour( "+DISPELAOE", 100 ); //Dispel AOEs
|
||||
AddBehaviour( "+DISPEL", 100 ); //Dispel [enemies]
|
||||
AddBehaviour( "+DISMISSAL", 100 ); //Dismiss [summoned enemies]
|
||||
AddBehaviour( "+BREACH", 100 ); //Spell Breach [enemy]
|
||||
// Special
|
||||
AddBehaviour( "+TIMESTOP", 100 ); //Cast Time Stop
|
||||
AddBehaviour( "+BREATH", 100 ); //breath weapons
|
||||
AddBehaviour( "+TURN", 100 ); //Turn Undead
|
||||
|
||||
AddBehaviour( "+EYERAYS", 100 ); //Specific behaviour for: Beholders
|
||||
AddBehaviour( "+CENTRALEYE", 100 ); //Specific behaviour for: Beholders
|
||||
|
||||
*/
|
||||
|
||||
//Other config
|
||||
//Corpse decay set up and exclusions
|
||||
SetCorpseDelay();
|
||||
|
||||
//Set whether the creature can use EffectDisappearAppear when moving
|
||||
SetIsFlier();
|
||||
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
//I am probably a summoned creature, possibly a henchman
|
||||
SetAssociateListenPatterns();
|
||||
}
|
||||
|
||||
//set voice chat config
|
||||
SetVoiceChat( NO_VC_DEFAULT, 10 );
|
||||
|
||||
//configure perception ranges
|
||||
SetPerceptionRanges();
|
||||
|
||||
//set response range for fighting broadcast
|
||||
SetResponseRange( BC_FIGHTING, 50.0 );
|
||||
|
||||
//tell creature it is ready to act
|
||||
//SetReadyStatus();
|
||||
|
||||
//set fastbuffer status, should always be left on
|
||||
SetIsFastBuffer( TRUE );
|
||||
//SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 );
|
||||
//SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 );
|
||||
|
||||
//log starting location
|
||||
ExecuteScript( "no_scr_logspnloc", OBJECT_SELF );
|
||||
|
||||
//log loaded melee weapons
|
||||
ExecuteScript( "no_scr_logeq", OBJECT_SELF );
|
||||
|
||||
// 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);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
|
||||
SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
|
||||
// SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
|
||||
//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
|
||||
|
||||
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.
|
||||
int iDice = d100();
|
||||
if (iDice<90)ExecuteScript ("cd_helper_func", OBJECT_SELF);
|
||||
|
||||
//InvClr(OBJECT_SELF);
|
||||
}
|
@@ -13,6 +13,7 @@
|
||||
#include "inc_debug"
|
||||
#include "prc_inc_racial"
|
||||
#include "sd_lootsystem"
|
||||
#include "prc_inc_spells"
|
||||
|
||||
void ReallyEquipItemInSlot(object oNPC, object oItem, int nSlot);
|
||||
|
||||
@@ -35,7 +36,9 @@ void main()
|
||||
int nTotalPCLevel;
|
||||
int nAveragePCLevel;
|
||||
int iRacial = GetRacialType(OBJECT_SELF);
|
||||
int nCommoner = GetLevelByClass(CLASS_TYPE_COMMONER, OBJECT_SELF);
|
||||
int nCommoner = GetLevelByClass(CLASS_TYPE_COMMONER, OBJECT_SELF);
|
||||
int nInt = GetAbilityScore(OBJECT_SELF, ABILITY_INTELLIGENCE);
|
||||
int nGhost = GetIsIncorporeal(OBJECT_SELF);
|
||||
|
||||
string sCurrentDate = SQLite_GetSystemDate();
|
||||
string sMonthDay = GetSubString(sCurrentDate, 0, 5);
|
||||
@@ -43,20 +46,36 @@ void main()
|
||||
object oArea = GetArea(OBJECT_SELF);
|
||||
object oSkelly;
|
||||
object oPC = GetFirstObjectInArea(oArea);
|
||||
|
||||
//:: Set threatlevel name text
|
||||
SetThreatLevel(OBJECT_SELF);
|
||||
|
||||
//:: Testing OnSpawn loot system.
|
||||
|
||||
//:: Check if the creature is an animal, beast, construct, or ooze, which should never carry treasure
|
||||
if (iRacial == RACIAL_TYPE_ANIMAL ||
|
||||
iRacial == RACIAL_TYPE_BEAST ||
|
||||
iRacial == RACIAL_TYPE_CONSTRUCT ||
|
||||
iRacial == RACIAL_TYPE_OOZE ||
|
||||
iRacial == RACIAL_TYPE_PLANT ||
|
||||
iRacial == RACIAL_TYPE_VERMIN)
|
||||
iRacial == RACIAL_TYPE_OOZE)
|
||||
{
|
||||
if(DEBUG) {FloatingTextStringOnCreature("Creature doesn't carry treasure", GetFirstPC(), FALSE);}
|
||||
if (DEBUG) { FloatingTextStringOnCreature("Creature doesn't carry treasure", GetFirstPC(), FALSE); }
|
||||
}
|
||||
else if ((iRacial == RACIAL_TYPE_UNDEAD ||
|
||||
iRacial == RACIAL_TYPE_PLANT ||
|
||||
iRacial == RACIAL_TYPE_VERMIN) &&
|
||||
nInt <= 4)
|
||||
{
|
||||
//:: If the creature is undead, plant, or vermin with intelligence 4 or less, it does not carry treasure
|
||||
if (DEBUG) { FloatingTextStringOnCreature("Creature is not intelligent enough to carry treasure", GetFirstPC(), FALSE); }
|
||||
}
|
||||
else if(nGhost)
|
||||
{
|
||||
//:: If the creature is undead, plant, or vermin with intelligence 4 or less, it does not carry treasure
|
||||
if (DEBUG) { FloatingTextStringOnCreature("Creature is incorporeal and can't carry treasure", GetFirstPC(), FALSE); }
|
||||
}
|
||||
else
|
||||
{
|
||||
sd_droploot(OBJECT_SELF, OBJECT_SELF);
|
||||
//:: All other creatures, including undead, plants, and vermin with intelligence > 4, will drop loot
|
||||
sd_droploot(OBJECT_SELF, OBJECT_SELF);
|
||||
}
|
||||
|
||||
//:: Get average PC level for area
|
||||
@@ -93,55 +112,54 @@ void main()
|
||||
(sMonthDay == "10/30") ||
|
||||
(sMonthDay == "10/31") ||
|
||||
(sMonthDay == "11/01"))
|
||||
{
|
||||
//: Don't spawn skeletons from skeletons or commoners
|
||||
if (GetResRef(OBJECT_SELF) == "pa_skeleton" || GetResRef(OBJECT_SELF) == "nw_skeleton" || nCommoner > 0)
|
||||
return;
|
||||
{
|
||||
//: Don't spawn skeletons from skeletons or commoners
|
||||
if (GetResRef(OBJECT_SELF) == "pa_skeleton" || GetResRef(OBJECT_SELF) == "nw_skeleton" || nCommoner > 0)
|
||||
return;
|
||||
|
||||
//:: 33% chance to spawn
|
||||
if ( Random(100) < 33 )
|
||||
{
|
||||
//:: Spawn Skeleton.
|
||||
eVFX = EffectVisualEffect(VFX_IMP_EVIL_HELP);
|
||||
oSkelly = CreateObject(OBJECT_TYPE_CREATURE, "nw_skeleton", GetLocation(OBJECT_SELF));
|
||||
DelayCommand(0.0, ActionDoLevelUp(oSkelly, nAveragePCLevel));
|
||||
|
||||
//:: 33% chance to spawn
|
||||
if ( Random(100) < 33 )
|
||||
{
|
||||
//:: Spawn Skeleton.
|
||||
eVFX = EffectVisualEffect(VFX_IMP_EVIL_HELP);
|
||||
oSkelly = CreateObject(OBJECT_TYPE_CREATURE, "nw_skeleton", GetLocation(OBJECT_SELF));
|
||||
DelayCommand(0.0, ActionDoLevelUp(oSkelly, nAveragePCLevel));
|
||||
|
||||
//:: Assign Weapon
|
||||
int nResult = d6(1);
|
||||
int nStackSize = 1; // Create 1 items;
|
||||
string sItem;
|
||||
int nResult = d6(1);
|
||||
int nStackSize = 1; // Create 1 items;
|
||||
string sItem;
|
||||
|
||||
if (nResult == 1)
|
||||
{
|
||||
sItem = "nw_wplhb001"; //:: Halberd
|
||||
}
|
||||
else if(nResult == 2)
|
||||
{
|
||||
sItem = "nw_wplsc001"; //:: Scythe
|
||||
}
|
||||
else if(nResult == 3)
|
||||
{
|
||||
sItem = "nw_wplss001"; //:: Spear
|
||||
}
|
||||
else if(nResult ==4)
|
||||
{
|
||||
sItem = "nw_wblfh001"; //:: Heavy Flail
|
||||
}
|
||||
else if(nResult == 5)
|
||||
{
|
||||
sItem = "nw_wswgs001"; //:: Greatsword
|
||||
}
|
||||
else
|
||||
|
||||
sItem = "nw_waxgr001"; //:: Greataxe
|
||||
|
||||
object oWeapon = CreateItemOnObject(sItem, oSkelly, nStackSize);
|
||||
ReallyEquipItemInSlot(oSkelly, oWeapon, INVENTORY_SLOT_RIGHTHAND);
|
||||
|
||||
//:: Apply VFX & Attack
|
||||
AssignCommand(oSkelly, DetermineCombatRound(OBJECT_SELF));
|
||||
DelayCommand(0.3, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSkelly));
|
||||
if (nResult == 1)
|
||||
{
|
||||
sItem = "nw_wplhb001"; //:: Halberd
|
||||
}
|
||||
|
||||
}
|
||||
else if(nResult == 2)
|
||||
{
|
||||
sItem = "nw_wplsc001"; //:: Scythe
|
||||
}
|
||||
else if(nResult == 3)
|
||||
{
|
||||
sItem = "nw_wplss001"; //:: Spear
|
||||
}
|
||||
else if(nResult ==4)
|
||||
{
|
||||
sItem = "nw_wblfh001"; //:: Heavy Flail
|
||||
}
|
||||
else if(nResult == 5)
|
||||
{
|
||||
sItem = "nw_wswgs001"; //:: Greatsword
|
||||
}
|
||||
else
|
||||
|
||||
sItem = "nw_waxgr001"; //:: Greataxe
|
||||
|
||||
object oWeapon = CreateItemOnObject(sItem, oSkelly, nStackSize);
|
||||
ReallyEquipItemInSlot(oSkelly, oWeapon, INVENTORY_SLOT_RIGHTHAND);
|
||||
|
||||
//:: Apply VFX & Attack
|
||||
AssignCommand(oSkelly, DetermineCombatRound(OBJECT_SELF));
|
||||
DelayCommand(0.3, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSkelly));
|
||||
}
|
||||
}
|
||||
}
|
@@ -195,6 +195,7 @@ void InvClear (object oMob)
|
||||
oItem = GetNextItemInInventory(oMob);
|
||||
}
|
||||
}
|
||||
|
||||
void LootClear (object oMob)
|
||||
{
|
||||
object oItem = GetFirstItemInInventory(oMob);
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
#include "prc_x2_itemprop"
|
||||
#include "prc_inc_newip"
|
||||
#include "nw_i0_generic"
|
||||
//#include "nw_i0_generic"
|
||||
#include "inc_itm_appear"
|
||||
#include "inc_epicspells"
|
||||
|
||||
@@ -217,26 +217,42 @@ void SetThreatLevel(object oMob)
|
||||
string sName;
|
||||
string cName = GetName(oMob);
|
||||
|
||||
if (iHD>0&&iHD<11) iRange=1; // lvl 1-10
|
||||
if (iHD>10&&iHD<19) iRange=2; // lvl 11-18
|
||||
if (iHD>18&&iHD<28) iRange=3; // lvl 19-27
|
||||
if (iHD>27&&iHD<36) iRange=4; // lvl 28-35
|
||||
if (iHD>35/* &&iHD<61 */) iRange=5; // lvl 36+
|
||||
//:: Define new ranges for each threat level
|
||||
if (iHD > 0 && iHD <= 10) iRange = 1; // lvl 1-10
|
||||
if (iHD > 10 && iHD <= 20) iRange = 2; // lvl 11-20
|
||||
if (iHD > 20 && iHD <= 30) iRange = 3; // lvl 21-30
|
||||
if (iHD > 30 && iHD <= 40) iRange = 4; // lvl 31-40
|
||||
if (iHD > 40 && iHD <= 50) iRange = 5; // lvl 41-50
|
||||
if (iHD > 50 && iHD <= 60) iRange = 6; // lvl 51-60
|
||||
if (iHD > 60 && iHD <= 70) iRange = 7; // lvl 61-70
|
||||
if (iHD > 70 /* && iHD <= 80 */) iRange = 8; // lvl 71-80+
|
||||
|
||||
//:: Assign colors for each tier
|
||||
switch(iRange)
|
||||
{
|
||||
case 1: sName = ColorString(cName,255, 255, 255); break;
|
||||
case 2: sName = ColorString(cName,189, 183, 107); break;
|
||||
case 3: sName = ColorString(cName,218, 165, 32); break;
|
||||
case 4: sName = ColorString(cName,210, 105, 30); break;
|
||||
case 5: sName = ColorString(cName,255, 0, 0); break;
|
||||
|
||||
case 1: sName = ColorString(cName, 255, 255, 255); break; // White - Low threat
|
||||
case 2: sName = ColorString(cName, 255, 255, 0); break; // Yellow - Slightly higher threat
|
||||
case 3: sName = ColorString(cName, 255, 165, 0); break; // Orange - Moderate threat
|
||||
case 4: sName = ColorString(cName, 255, 100, 0); break; // Deep Orange - Medium threat
|
||||
case 5: sName = ColorString(cName, 255, 69, 69); break; // Light Red - Higher medium threat
|
||||
case 6: sName = ColorString(cName, 255, 0, 255); break; // Magenta - High threat
|
||||
case 7: sName = ColorString(cName, 180, 0, 255); break; // Purple - Very high threat
|
||||
case 8: sName = ColorString(cName, 153, 0, 153); break; // Bright Purple - Highest regular threat
|
||||
}
|
||||
|
||||
if (GetLocalInt(OBJECT_SELF, "BOSS")==1)sName = ColorString(cName,255, 255, 0);
|
||||
|
||||
//:: Boss enemies use red regardless of HD
|
||||
if (GetLocalInt(OBJECT_SELF, "BOSS") == 1)
|
||||
sName = ColorString(cName, 255, 0, 0); // Red - Boss
|
||||
|
||||
SetName(oMob, sName);
|
||||
}
|
||||
|
||||
void SetEyes(int iType, object oMob)
|
||||
{
|
||||
effect eVis = EffectVisualEffect(iType);
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis, oMob);
|
||||
}
|
||||
|
||||
void NameSack(object oSack)
|
||||
{
|
||||
string sName = GetName(OBJECT_SELF);
|
||||
|
@@ -1,9 +0,0 @@
|
||||
int StartingConditional()
|
||||
{
|
||||
int skullkeep =GetCampaignInt("SK_Factions", "Skullkeep", GetPCSpeaker());
|
||||
if (skullkeep < -5001)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
|
||||
}
|
Reference in New Issue
Block a user