I've hacked up your script, iniquitous, and produced this unholy abomination. (Actually it isnt an abomination, I'm quite happy with it).
This version attempts to slap flyers on monsters, in addition to choosing the stasis items automatically, based upon what you have. For what its worth, I default on scepter stasis as the best strategy. In my experience, monsters that have the item generally drop it fast, too fast for scepters to kill them too soon.
This is easily changable, though.
The items I try to use for gremlin stasis, in order, are: spectre, dictionary, spices, sealtooth, turtle totem.
This script *should* work for those without funkslinging, although I haven't tested it for a character without funk.
It also switches outfits about, as you only need the war outfits to talk to yossarian, and not to adventure in the subzones. The adventuring outfit I use is a custom outfit called "normal". This is easy to change.
Finally, I shieldbutt everything. When the script detects that the monster can't drop one of the required items, it calls a function called normal_attack(), which tries to shieldbutt the monster.
If you want to use this script, the things you will need to change are: (these are all located at the top of the script)
[li]boolean frat = true: Set this to false if you're doing this quest as a war hippy.[/li]
[li]string advoutfit = "normal" : Change this string to the name of your saved custom outfit used for beating up gremlins.[/li]
[li]item stasisitem : Change this to the item (s) you prefer stasising the gremlins with. I funksling two scepters at them. Its safe to leave this as-is, it will only use items you actually have.[/li]
[li]int hp_safety = 40; : When your HP hits this threshold (in combat), it will stop stasising, and call normal_attack() in an attempt to end combat.[/li]
[li]int hp_heal = 200; : Post combat, if your HP is at or below this threshold, it call call 'restore HP', to invoke mafias heal settings. This is used because I override mafias autoadventuring in order to stasis these gremlins properly.[/li]
[li]int mp_restore = 30; : Post combat, if your MP is at or below this threshold, it will call 'restore mp' to restore your MP using your mafia defaults for MP restoration.[/li]
[li]And finally, this function. This is used to terminate combats without stasising.
[/li]
Code:
string normal_attack() {
return use_skill($skill[shieldbutt]);
}
Now, I realize that many people dont shieldbutt everything that moves, but I do. I'm not going to attempt to rebuild FightOptimizer.ash here, so I will leave it to you to insert your own combat strategy. Its quite possible to insert some kind of noodle-spell-spell option by adding a boolean hasnoodled global and checking that. And resetting it at the right spot, of course. If you are having issues adding your combat strategy to this, PM me, or better yet, reply to this post stating your problem.
EDIT: it should work for even those without flyers now.
EDIT2: It should properly flyer every monster now, and there is now some MP restoration going on.