Since I got Dimension Door to work, I thought I would try to get another spell I miss from NWN and Infinity Engine games. Time Stop works in NWN2, though in its current form, needs some adjustments.
Is there any way to freeze all other creatures in an area without freezing the caster? What about temporarily turning the area black and white via script? I know you can do this in the toolset. I was thinking of spawning lights or something to try and make it happen. I am not the most knowledgable person when it comes to NWN2 scripting, so any input from you gurus out there will be appreciated!
This is the Bioware script as it is in NWN2. You can still move and begin casting spells, but your animations are frozen in the spell's current form.
//::///////////////////////////////////////////////
//:: Time Stop
//:: NW_S0_TimeStop.nss
//:: Copyright © 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
All persons in the Area are frozen in time
except the caster.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Jan 7, 2002
//:://////////////////////////////////////////////
#include "x2_inc_spellhook"
void main()
{
/*
Spellcast Hook Code
Added 2003-06-20 by Georg
If you want to make changes to all spells,
check x2_inc_spellhook.nss to find out more
*/
if (!X2PreSpellCastCode())
{
// If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
return;
}
// End of Spell Cast Hook
//Declare major variables
location lTarget = GetSpellTargetLocation();
effect eVis = EffectVisualEffect(VFX_FNF_TIME_STOP);
effect eTime = EffectTimeStop();
int nRoll = 1 + d4();
//Fire cast spell at event for the specified target
SignalEvent(OBJECT_SELF, EventSpellCastAt(OBJECT_SELF, SPELL_TIME_STOP, FALSE));
//Apply the VFX impact and effects
DelayCommand(0.75, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eTime, OBJECT_SELF, 9.0));
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, lTarget);
}