Fixed CCOH, Fixed starting GP, Fixed DMFI languages, Fix cep weapon appearances, Fixed new player start up system. Added PC deleter. Added ACP 4.1. Full compile. Updated release archive.
58 lines
2.0 KiB
Plaintext
58 lines
2.0 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Stinking Cloud On Enter
|
|
//:: NW_S1_Stink_A.nss
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Those within the area of effect must make a
|
|
fortitude save or be dazed.
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Preston Watamaniuk
|
|
//:: Created On: May 17, 2001
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "NW_I0_SPELLS"
|
|
//#include "wm_include"
|
|
#include "prc_inc_spells"
|
|
|
|
void main()
|
|
{
|
|
//:: Declare major variables
|
|
object oNPC = GetAreaOfEffectCreator();
|
|
object oTarget = GetEnteringObject(); //Get the first object in the persistant area
|
|
|
|
int nHD = GetHitDice(oNPC);
|
|
int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC);
|
|
int nDC = 10 +nCONMod+ (nHD/2);
|
|
|
|
effect eStink = EffectDazed();
|
|
effect eMind = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
|
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
|
effect eLink = EffectLinkEffects(eMind, eStink);
|
|
eLink = EffectLinkEffects(eLink, eDur);
|
|
|
|
effect eVis = EffectVisualEffect(VFX_IMP_DAZED_S);
|
|
|
|
float fDelay;
|
|
|
|
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
|
|
|
|
if(MyPRCGetRacialType(oTarget) != RACIAL_TYPE_VERMIN)
|
|
{
|
|
if(GetIsEnemy(oTarget))
|
|
{
|
|
//Fire cast spell at event for the specified target
|
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_STINKING_CLOUD));
|
|
//Make a Fort Save
|
|
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_POISON))
|
|
{
|
|
fDelay = GetRandomDelay(0.25, 1.0);
|
|
//Apply the VFX impact and linked effects
|
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(2)));
|
|
}
|
|
}
|
|
}
|
|
}
|