void ArenaSummon(string sTemplate)
{
    // do the summon
    object oOrb = GetObjectByTag("CS_ORBSUMMON");
    object oCreature = CreateObject(OBJECT_TYPE_CREATURE, sTemplate, GetLocation(GetObjectByTag("WP_ARENASUMMON")));
    ChangeToStandardFaction(oCreature, STANDARD_FACTION_HOSTILE);
    SendMessageToPC(GetPCSpeaker(), "Summoned " + GetName(oCreature) + ".");


    //visual effects
    location lOrbLocation = GetLocation(oOrb);
    effect eOrbEffect = EffectVisualEffect(VFX_FNF_DISPEL);
    ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eOrbEffect, lOrbLocation, 0.5);

    location lCreatureLocation = GetLocation(oCreature);
    effect eCreatureEffect = EffectVisualEffect(VFX_FNF_SMOKE_PUFF);
    ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eCreatureEffect, lCreatureLocation, 1.0);
}