void JumpPC(object oPC);
void main()
{
    int nEvent = GetUserDefinedEventNumber();
    if (nEvent == 1100)
    {
        object oTeleport = GetWaypointByTag("PUSH_PC_HERE");
        //Get the first creature currently on the telepad
        object oPC = GetFirstInPersistentObject();
        while (oPC != OBJECT_INVALID)
        {
                //Clear the PC's actions
                AssignCommand(oPC, ClearAllActions());
                //Apply an effect to the PC
                effect eOuch = EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_EVIL);
                ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(20, DAMAGE_TYPE_NEGATIVE, DAMAGE_POWER_NORMAL), oPC);
                ApplyEffectToObject(DURATION_TYPE_INSTANT, eOuch, oPC);
                //Jump PC
                DelayCommand(0.1, JumpPC(oPC));
                //Stun PC
                DelayCommand(0.6, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectCutsceneParalyze(), oPC, 1.5));
                DelayCommand(0.6, SignalEvent(OBJECT_SELF, EventUserDefined(1100)));
            }
            oPC = GetNextInPersistentObject();
        }

    }


void JumpPC(object oPC)
{
    object oDestination = GetWaypointByTag("PUSH_PC_HERE");
    //SetCommandable(TRUE, oPC);
    AssignCommand(oPC, JumpToObject(oDestination));
    //SetCommandable(FALSE, oPC);
}
