Changed folder name.
Changed folder name.
This commit is contained in:
57
_module/nss/npcspellattack.nss
Normal file
57
_module/nss/npcspellattack.nss
Normal file
@@ -0,0 +1,57 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Default: On Spell Cast At
|
||||
//:: NW_C2_DEFAULTB
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
This determines if the spell just cast at the
|
||||
target is harmful or not.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: Dec 6, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "NW_I0_GENERIC"
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPlayer = GetLastSpellCaster();
|
||||
if (GetLastSpellHarmful() == TRUE){
|
||||
if (GetIsPC(oPlayer) && !GetIsDM(oPlayer)){
|
||||
|
||||
DelayCommand(4.0, AssignCommand(oPlayer,JumpToLocation(GetLocation(GetWaypointByTag("prison")))));
|
||||
SendMessageToPC(oPlayer, "You have been sent to jail for casting a harmfull spell at an NPC.");
|
||||
SetCommandable(FALSE, oPlayer);
|
||||
DelayCommand(1.0, SetCommandable(TRUE, oPlayer));
|
||||
AssignCommand(oPlayer, ClearAllActions());
|
||||
} }
|
||||
object oCaster = GetLastSpellCaster();
|
||||
if(GetLastSpellHarmful())
|
||||
{
|
||||
if(
|
||||
!GetIsObjectValid(GetAttackTarget()) &&
|
||||
!GetIsObjectValid(GetAttemptedSpellTarget()) &&
|
||||
!GetIsObjectValid(GetAttemptedAttackTarget()) &&
|
||||
GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN))
|
||||
)
|
||||
{
|
||||
if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL))
|
||||
{
|
||||
DetermineSpecialBehavior(oCaster);
|
||||
}
|
||||
else
|
||||
{
|
||||
DetermineCombatRound(oCaster);
|
||||
}
|
||||
//Shout Attack my target, only works with the On Spawn In setup
|
||||
SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);
|
||||
//Shout that I was attacked
|
||||
SpeakString("NW_I_WAS_ATTACKED", TALKVOLUME_SILENT_TALK);
|
||||
}
|
||||
}
|
||||
if(GetSpawnInCondition(NW_FLAG_SPELL_CAST_AT_EVENT))
|
||||
{
|
||||
SignalEvent(OBJECT_SELF, EventUserDefined(1011));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user