//:://////////////////////////////////////////////////////////////////////////// //:: //:: Script Name: plcble_respawn //:: //:: Use: This script is used to respawn a placeable after it has been destroyed //:: //:: Created By: Birdman076 //:: //:: Created On: August 28, 2009 //:: //:: Notes: Variables can be assigned to the placeable to give it different //:: desired visual "death" effects //:: //:://////////////////////////////////////////////////////////////////////////// #include "nw_i0_generic" void RespawnObject(string sTag, int iType, location lLoc) { // ResRef must be derivable from Tag string sResRef = GetStringLowerCase(GetStringLeft(sTag, 16)); CreateObject(iType, sResRef, lLoc); } void main() { //Start vfx block of code if (GetLocalInt(OBJECT_SELF, "BLINDDEAF")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_BLINDDEAF), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "DECK")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DECK), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "DEMON_HAND")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DEMON_HAND), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "DISPEL")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DISPEL), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "DISJUNCTION")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DISPEL_DISJUNCTION), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "DISPEL_GREATER")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DISPEL_GREATER), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "ELECTRIC_EXPLOSION")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_ELECTRIC_EXPLOSION), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "FIREBALL")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIREBALL), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "FIRESTORM")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIRESTORM), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "EXPLOSION_ACID")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_ACID), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "EXPLOSION_EVIL")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_EVIL), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "EXPLOSION_FIRE")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_FIRE), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "EXPLOSION_GREASE")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_GREASE), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "EXPLOSION_MIND")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_MIND), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "EXPLOSION_NATURE")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_NATURE), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "GREATER_RUIN")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_GREATER_RUIN), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "HORRID_WILTING")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_HORRID_WILTING), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "HOWL_MIND")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_HOWL_MIND), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "HOWL_ODD")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_HOWL_ODD), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "HOWL_WAR_CRY")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_HOWL_WAR_CRY), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "ICESTORM")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_ICESTORM), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "IMPLOSION")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_IMPLOSION), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "LOS_EVIL_30")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_LOS_EVIL_30), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "LOS_HOLY_30")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_LOS_HOLY_30), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "LOS_NORMAL_30")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_LOS_NORMAL_30), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "METEOR_SWARM")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_METEOR_SWARM), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "MYSTICAL_EXPLOSION")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_MYSTICAL_EXPLOSION), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "NATURES_BALANCE")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_NATURES_BALANCE), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "PWKILL")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "PWSTUN")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWSTUN), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "SCREEN_BUMP")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_BUMP), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "SCREEN_SHAKE")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "SMOKE_PUFF")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SMOKE_PUFF), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "SOUND_BURST")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "STRIKE_HOLY")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_STRIKE_HOLY), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "SUMMON_CELESTIAL")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_CELESTIAL), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "SUMMON_EPIC_UNDEAD")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_EPIC_UNDEAD), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "SUMMON_MONSTER_1")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_1), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "SUMMON_MONSTER_2")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_2), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "SUMMON_MONSTER_3")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "SUMMON_UNDEAD")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_UNDEAD), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "SUMMONDRAGON")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMONDRAGON), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "SUNBEAM")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUNBEAM), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "SWINGING_BLADE")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SWINGING_BLADE), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "TIME_STOP")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_TIME_STOP), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "UNDEAD_DRAGON")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_UNDEAD_DRAGON), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "WAIL_O_BANSHEES")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_WAIL_O_BANSHEES), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "WEIRD")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_WEIRD), OBJECT_SELF); } if (GetLocalInt(OBJECT_SELF, "WORD")== 1) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_WORD), OBJECT_SELF); } //End vfx block of code ExecuteScript("act_mon_spawner", OBJECT_SELF); string sTag = GetTag(OBJECT_SELF); int iType = GetObjectType(OBJECT_SELF); // For creatures, save the location at spawn-time as a local location and // use it instead. Otherwise, the creature will respawn where it died. location lLoc = GetLocation(OBJECT_SELF); float fDelay = 300.0; // 5 minute delay AssignCommand(GetArea(OBJECT_SELF), DelayCommand(fDelay, RespawnObject(sTag, iType, lLoc))); }