void main()
{

int iCheck = d6(1);

    object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, 10.0, GetLocation(OBJECT_SELF), OBJECT_TYPE_CREATURE);

    if(!GetIsObjectValid(oTarget))
    {
    return;
    }

        while(GetIsDead(oTarget))
        {
        oTarget = GetNextObjectInShape(SHAPE_SPHERE, 10.0, GetLocation(OBJECT_SELF), OBJECT_TYPE_CREATURE);
        }

    if(iCheck == 3 && oTarget != OBJECT_INVALID && !GetIsDM(oTarget))
    {
    DelayCommand(1.0, PlayVoiceChat(VOICE_CHAT_BATTLECRY1, OBJECT_SELF));
    ClearAllActions(TRUE);
    DelayCommand(0.1, ActionUseTalentOnObject(TalentFeat(FEAT_IMPROVED_WHIRLWIND), GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF, 1)));
    DelayCommand(2.0,ActionAttack(GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF, 1)));
    }

    if(iCheck == 4 && oTarget != OBJECT_INVALID && !GetIsDM(oTarget))
    {
        DelayCommand(1.0, PlayVoiceChat(VOICE_CHAT_BATTLECRY2, OBJECT_SELF));
        ClearAllActions(TRUE);
        ActionAttack(oTarget);
        AssignCommand(oTarget, ClearAllActions(TRUE));
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectKnockdown(), oTarget, 3.0f);
    }
}