#include "nw_i0_generic" void main() { object oSpawn; effect eVFX; object oActor; object oTarget; // Get the creature who triggered this event. object oPC = GetEnteringObject(); // Only fire for (real) PCs. if ( !GetIsPC(oPC) || GetIsDMPossessed(oPC) ) return; // Abort if the PC does not have the item "fangsofmog". if ( GetItemPossessedBy(oPC, "fangsofmog") == OBJECT_INVALID ) return; // Have "" cast Fireball. oActor = GetObjectByTag("smarsh123"); AssignCommand(oActor, ActionCastSpellAtObject(SPELL_FIREBALL, oPC, METAMAGIC_ANY, TRUE, 0, PROJECTILE_PATH_TYPE_DEFAULT, TRUE)); // Spawn some critters. eVFX = EffectVisualEffect(467); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "hellhoundhunter", GetLocation(oPC)); AssignCommand(oSpawn, DetermineCombatRound(oPC)); DelayCommand(2.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpawn)); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "hellhoundhunter", GetLocation(oPC)); AssignCommand(oSpawn, DetermineCombatRound(oPC)); DelayCommand(2.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpawn)); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "hellhoundhunter", GetLocation(oPC)); AssignCommand(oSpawn, DetermineCombatRound(oPC)); DelayCommand(2.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpawn)); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "hellhoundhunter", GetLocation(oPC)); AssignCommand(oSpawn, DetermineCombatRound(oPC)); DelayCommand(2.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpawn)); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "hellhoundhunter", GetLocation(oPC)); AssignCommand(oSpawn, DetermineCombatRound(oPC)); DelayCommand(2.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpawn)); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "hellhoundhunter", GetLocation(oPC)); AssignCommand(oSpawn, DetermineCombatRound(oPC)); DelayCommand(2.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpawn)); //Visual effects can't be applied to waypoints, so if it is a WP //the VFX will be applied to the WP's location instead int nInt; nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIRESTORM), oTarget); else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIRESTORM), GetLocation(oTarget)); DelayCommand(3.5, DestroyObject(OBJECT_SELF)); }