Further file organization
Further file organization
This commit is contained in:
37
nwn/nwnprc/trunk/spells/sp_mmmansion.nss
Normal file
37
nwn/nwnprc/trunk/spells/sp_mmmansion.nss
Normal file
@@ -0,0 +1,37 @@
|
||||
#include "prc_inc_spells"
|
||||
|
||||
void main()
|
||||
{
|
||||
// If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
|
||||
if (!X2PreSpellCastCode()) return;
|
||||
|
||||
PRCSetSchool(SPELL_SCHOOL_CONJURATION);
|
||||
|
||||
// Get the spell target location as opposed to the spell target.
|
||||
location lTarget = PRCGetSpellTargetLocation();
|
||||
|
||||
// Note that you cannot cast a mansion inside a mansion so check the area's
|
||||
// tag to make sure the caster isn't trying to recurse mansions.
|
||||
object aCaster = GetArea(OBJECT_SELF);
|
||||
if ("MordenkainensMagnificentMansion" != GetTag(GetArea(aCaster)))
|
||||
{
|
||||
// Fire cast spell at event for the specified target
|
||||
PRCSignalSpellEvent(aCaster, FALSE);
|
||||
|
||||
// Apply the ice explosion at the location captured above.
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3), lTarget);
|
||||
|
||||
// Create the mansion doorway and save the caster on the door so we know who to let in.
|
||||
// Only people in the caster's party get to go into the mansion.
|
||||
object oMansion = CreateObject(OBJECT_TYPE_PLACEABLE, "mordsmansent", lTarget, TRUE,
|
||||
"MordsMansEnt");
|
||||
if (GetIsObjectValid(oMansion))
|
||||
{
|
||||
SetLocalObject(oMansion, "MMM_CASTER", OBJECT_SELF);
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT,
|
||||
EffectVisualEffect(VFX_DUR_GLOW_WHITE), oMansion);
|
||||
}
|
||||
}
|
||||
|
||||
PRCSetSchool();
|
||||
}
|
Reference in New Issue
Block a user