WoR_PRC8/_module/nss/werewolf_change.nss
Jaysyn904 b5e28e52f4 Initial commit
Initial commit [1.18]
2025-04-03 11:49:34 -04:00

183 lines
7.3 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Default On Heartbeat
//:: NW_C2_DEFAULT1
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
This script will have people perform default
animations.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Nov 23, 2001
//:://////////////////////////////////////////////
#include "NW_I0_GENERIC"
void main()
{
if(GetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY))
{
if(TalentAdvancedBuff(40.0))
{
SetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY, FALSE);
return;
}
}
if(GetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING))
{
int nDay = FALSE;
if(GetIsDay() || GetIsDawn())
{
nDay = TRUE;
}
if(GetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT") != nDay)
{
if(nDay == TRUE)
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", TRUE);
}
else
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", FALSE);
}
WalkWayPoints();
}
}
if(!GetHasEffect(EFFECT_TYPE_SLEEP))
{
if(!GetIsPostOrWalking())
{
if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget()))
{
if(!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
if(!GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL) && !IsInConversation(OBJECT_SELF))
{
if(GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS) || GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS_AVIAN))
{
PlayMobileAmbientAnimations();
}
else if(GetIsEncounterCreature() &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayMobileAmbientAnimations();
}
else if(GetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS) &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayImmobileAmbientAnimations();
}
}
else
{
DetermineSpecialBehavior();
}
}
else
{
DetermineCombatRound();
}
}
}
}
else
{
if(GetSpawnInCondition(NW_FLAG_SLEEPING_AT_NIGHT))
{
effect eVis = EffectVisualEffect(VFX_IMP_SLEEP);
if(d10() > 6)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
}
}
}
if(GetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1001));
}
{
object oNPC = OBJECT_SELF;
object oArea = GetArea (oNPC);
vector vPosition = GetPosition (oNPC);
float fOrientation = GetFacing (oNPC);
location lSpawn = Location (oArea, vPosition, fOrientation);
if(GetIsDay()) {
if (GetTag(oNPC) == "RHUN_WEREWOLF1") {
CreateObject(OBJECT_TYPE_CREATURE, "gypsy1", lSpawn, TRUE);
AssignCommand(oNPC, SetIsDestroyable(TRUE)); DestroyObject(oNPC);
} else if (GetTag(oNPC) == "RHUN_WEREWOLF2") {
CreateObject(OBJECT_TYPE_CREATURE, "gypsy2", lSpawn, TRUE);
AssignCommand(oNPC, SetIsDestroyable(TRUE)); DestroyObject(oNPC);
} else if (GetTag(oNPC) == "RHUN_WEREWOLF3") {
CreateObject(OBJECT_TYPE_CREATURE, "gypsy3", lSpawn, TRUE);
AssignCommand(oNPC, SetIsDestroyable(TRUE)); DestroyObject(oNPC);
} else if (GetTag(oNPC) == "RHUN_WEREWOLF4") {
CreateObject(OBJECT_TYPE_CREATURE, "gypsy4", lSpawn, TRUE);
AssignCommand(oNPC, SetIsDestroyable(TRUE)); DestroyObject(oNPC);
} else if (GetTag(oNPC) == "RHUN_WEREWOLF5") {
CreateObject(OBJECT_TYPE_CREATURE, "gypsy5", lSpawn, TRUE);
AssignCommand(oNPC, SetIsDestroyable(TRUE)); DestroyObject(oNPC);
} else if (GetTag(oNPC) == "RHUN_WEREWOLF6") {
CreateObject(OBJECT_TYPE_CREATURE, "gypsy6", lSpawn, TRUE);
AssignCommand(oNPC, SetIsDestroyable(TRUE)); DestroyObject(oNPC);
} else if (GetTag(oNPC) == "RHUN_WEREWOLF7") {
CreateObject(OBJECT_TYPE_CREATURE, "gypsy7", lSpawn, TRUE);
AssignCommand(oNPC, SetIsDestroyable(TRUE)); DestroyObject(oNPC);
}}
else {
if (GetTag(oNPC) == "RHUN_WWHUM1") {
ClearAllActions(TRUE);
string sText;
sText = "AAARRGGHHH. THE PAIN!! IT BURNS!!";
ActionSpeakString(sText, TALKVOLUME_TALK);
CreateObject(OBJECT_TYPE_CREATURE, "werewolf1", lSpawn, TRUE);
AssignCommand(oNPC, SetIsDestroyable(TRUE)); DestroyObject(oNPC);
} else if (GetTag(oNPC) == "RHUN_WWHUM2") {
ClearAllActions(TRUE);
string sText;
sText = "AAARRGGHHH. THE PAIN!! IT BURNS!!";
ActionSpeakString(sText, TALKVOLUME_TALK);
CreateObject(OBJECT_TYPE_CREATURE, "werewolf2", lSpawn, TRUE);
AssignCommand(oNPC, SetIsDestroyable(TRUE)); DestroyObject(oNPC);
} else if (GetTag(oNPC) == "RHUN_WWHUM3") {
ClearAllActions(TRUE);
string sText;
sText = "AAARRGGHHH. THE PAIN!! IT BURNS!!";
ActionSpeakString(sText, TALKVOLUME_TALK);
CreateObject(OBJECT_TYPE_CREATURE, "werewolf3", lSpawn, TRUE);
AssignCommand(oNPC, SetIsDestroyable(TRUE)); DestroyObject(oNPC);
} else if (GetTag(oNPC) == "RHUN_WWHUM4") {
ClearAllActions(TRUE);
string sText;
sText = "AAARRGGHHH. THE PAIN!! IT BURNS!!";
ActionSpeakString(sText, TALKVOLUME_TALK);
CreateObject(OBJECT_TYPE_CREATURE, "werewolf4", lSpawn, TRUE);
AssignCommand(oNPC, SetIsDestroyable(TRUE)); DestroyObject(oNPC);
} else if (GetTag(oNPC) == "RHUN_WWHUM5") {
ClearAllActions(TRUE);
string sText;
sText = "AAARRGGHHH. THE PAIN!! IT BURNS!!";
ActionSpeakString(sText, TALKVOLUME_TALK);
CreateObject(OBJECT_TYPE_CREATURE, "werewolf5", lSpawn, TRUE);
AssignCommand(oNPC, SetIsDestroyable(TRUE)); DestroyObject(oNPC);
} else if (GetTag(oNPC) == "RHUN_WWHUM6") {
ClearAllActions(TRUE);
string sText;
sText = "AAARRGGHHH. THE PAIN!! IT BURNS!!";
ActionSpeakString(sText, TALKVOLUME_TALK);
CreateObject(OBJECT_TYPE_CREATURE, "werewolf6", lSpawn, TRUE);
AssignCommand(oNPC, SetIsDestroyable(TRUE)); DestroyObject(oNPC);
} else if (GetTag(oNPC) == "RHUN_WWHUM7") {
ClearAllActions(TRUE);
string sText;
sText = "AAARRGGHHH. THE PAIN!! IT BURNS!!";
ActionSpeakString(sText, TALKVOLUME_TALK);
CreateObject(OBJECT_TYPE_CREATURE, "werewolf7", lSpawn, TRUE);
AssignCommand(oNPC, SetIsDestroyable(TRUE)); DestroyObject(oNPC);
}}
}
}