
integer gTimeout = 30;
list allowedAnimsList = ["Standing", "Hovering"];
        

default
{
    state_entry()
    {

    }

    attach(key on)
    {
        if (on != NULL_KEY)
        {
            llRequestPermissions(on, PERMISSION_TRIGGER_ANIMATION);
            llSetTimerEvent(0.0);
            llSetTimerEvent(gTimeout);
        }
        else
        {
            llSetTimerEvent(0.0);
        }        
    }
    
    timer()
    {
        float choice;
        list currAnim = (list)llGetAnimation(llGetOwner());
        if (llListFindList(allowedAnimsList, currAnim) != -1)
        {
            choice = llFrand(3.0);
            if (choice < 2.5)
            {
                llStartAnimation("smoke_inhale");
            }
            else
            {
                llStartAnimation("smoke_throw_down");
            }
        }
        llSetTimerEvent(0.0);
        llSetTimerEvent(gTimeout + llFrand(gTimeout/2.0) - gTimeout/4.0);
    }
    
}
