Well perhaps not in the same sense of say C programmimg, but the user has the same tool available though in a limted fashion via the few otions.
i.e. player proximity for instance is an IF
so
:state=1,plrdistwithin=100:settarget,rotateheadrandom=65,animate=2,waypointstart,state=2
sets the IF for a character to do certain things THEN the character goes to state 2
so we effectively have IF, THEN and GOTO
What we dont have as I am aware are supportive things to allow more flexibility such as importantly an ELSE possibility - such things that would allow somewhat more easily - more than one option per state. To effectively simulate slightly more AI decision making adding a little more realism to the characters behaviours.
It surprising however what you can get characters to do with combinations of available commands and features and some ingenuity in your AI script thinking.
I am working with characters AI now and finding it quite hard to force them to take the behaviours I want and not default ones as I need them to perform various actions in interaction with the player and their environment.
Its not easy - but I am getting there slowly.
I am no master scripter but logical thinking and forcing one state and a set of behaviours one after another seems to work quite effectively - within the limits of the command set, features and functions available to us.
Sorry I cant help more without writing a book.