Curing Stupidity

by Unknown

Back to Mechanic's Corner.

Unknown2004-12-03 22:49:24
When your OUTR pennyroyal, theres a chance that it doesnt get done. This wasnt the case in the other IRE games i think, where you could just OUTR an herb, and SPAM eat it and gag the "what're you trying to eat?" messages so that it didnt spam you.

In lusternia it would appear that thats no longer the case. Not only do we sometimes fail to eat something due to stupidity, we also fail to OUTR the herb... i can no longer spam commands because theres a chance ill end up eating like 4 or 5 pennyroyal to cure one affliction..

How do you scripters out there deal with this?

This isnt just for zmud, any... ideas would be nice.
Unknown2004-12-03 22:55:26
This was the same in other IRE games. You could fail on any action, including the OUTR. I dealt with in in Achaea by eating the herb and also focusing my mind (and maybe even the tree tattoo, which would be like allheale in Lusternia). Obviously, the idea was to fire as many different cures and hope that at least ONE of them succeeded in between all the crying, flipping the bird, and tangoing. One nice little side effect of this approach was that when fighting someone using lots of afflictions, I would often cure more than one affliction that I didn't even know I had (from loki or some such random effect).
Kaelar2004-12-03 22:59:18
I've tried a couple different ways.

One, just sucking up the potential herb loss and doing: outr outr, eat eat eat, inr inr

Another way, which I've been using lately, is to just have your herb balance set up to keep trying to eat an herb until you're off herbbalance. To prevent the spam and give it time to work, I added a 1 second alarm that prevented it from eating again until the alarm had elapsed. Works great, but if it screws up a few times, you can lose valuable time.
Unknown2004-12-03 23:02:03
Yeah, the timer is basically what I use, and some internal flags for checking whether or not I've succeeded in the cure, whatever it is. Find the balance between spam and fast curing and you've got it made!
Unknown2004-12-03 23:14:34
I have not perfected my system yet, however, I am going to try to check herb-balance, etc., every time the prompt shows. If I'm afflicted with stupidity, and I don't outr or don't eat the herb, whatever I do, on the prompt, will try it again.

Stupidity+Aeon is going to be the fun part.
Unknown2004-12-03 23:17:23
I think i've just thought of something here...let me go test this before i post the script.
Unknown2004-12-03 23:29:27
The solution:

Have exactly 1 pennyroyal in your inv (outr'd) at all times fighting.

When you get stupidity, spam eat pennyroyal and follow it by exactly 1 outr pennyroyal.
Kaelar2004-12-03 23:45:55
QUOTE (SirVLCIV @ Dec 3 2004, 06:14 PM)
I have not perfected my system yet, however, I am going to try to check herb-balance, etc., every time the prompt shows. If I'm afflicted with stupidity, and I don't outr or don't eat the herb, whatever I do, on the prompt, will try it again.

Stupidity+Aeon is going to be the fun part.


That's how mine works. The 1 second delay is almost necessary, or it'll manage to set off your eat herb two or three more times before you actually eat the herb and set herb balance, unless you have some strange setup that I've never heard of. It just requires a bit more as far as checking things and such, but I've found it to be a ton more effective than checking on regaining herb/salve/thingy balance (What I used in Aetolia, primarily).

Stupidity+Aeon isn't a huge problem for me. I have a check that pretty much disables any form of automation except for sipping phlegmatic while I have aeon. I just have a bit longer wait to accomodate for the aeon time.

EDIT: Also, I really like that idea, Isntinuse. Never quite thought of it that way.
Unknown2004-12-04 00:36:23
I really like that having 1 pennyroyal out at all times thing.. its a very rough hack but i like it..

heres the "solution" that i came up with.

CODE
#TRIGGER {You remove 1 pennyroyal, bringing the total in the Rift to } {#UNTRIGGER lcp_pennyroyaltimer;#IF (@eatingpennyroyal) {eat pennyroyal;#ALARM "lcp_pennyroyaltimer2" *1 {eat pennyroyal}}} "LCP|Afflictions"
#TRIGGER {You eat a bunch of pennyroyal.} {#UNTRIGGER lcp_pennyroyaltimer2;#UNTRIGGER lcp_pennyroyaltimer;eatingpennyroyal=0} "LCP|Afflictions"
#TRIGGER {You aren't such a complete idiot anymore.} {lcp_unafflict stupidity;#UNTRIGGER lcp_pennyroyaltimer;#UNTRIGGER lcp_pennyroyaltimer2} "LCP|Afflictions|Stupidity"
#VAR eatingpennyroyal {0} {_nodef} "LCP|Afflictions"

eatingpennyroyal=1
#ALARM "lcp_pennyroyaltimer" *1 {outr pennyroyal}
   


Explanation:

when you are first afflicted with stupidity, trigger the message to do this:

eatingpennyroyal=1 (i put this flag there so that if you just walked around doing normal every day stuff and decided to remove 1 pennyroyal, you wouldnt automatically eat it)
#alarm "lcp_pennyroyaltimer" *1 {outr pennyroyal} (which will create an alarm that tries to remove a pennyroyal from the rift every 1 seconds)

the next 3 triggers are just more alarm work, basically doing something along the lines of

outr pennyroyal every second untill you match the outr pennyroyal pattern, at which point you untrigger <-- alarm, create a new alarm that eats pennyroyal every second, untrigger <--- alarm.

but i REALLY like that having one pennyroyal out at all times idea. Heck i might as well just dump my idea and use that one.
Unknown2004-12-04 00:39:50
OH MAN i just thought of something wrong with that having 1 pennyroyal out at all times thing. say you spam

eat pennyroyal

10 times

and on the 2nd time you fall asleep..

after you wake up, you'll have to manually type in

eat pennyroyal

because you already spammed it 10 times, non of which worked because you fell asleep on the 2nd try.

using my method the alarms will keep trying to eat it every 1 second, so when you wake up it'll still automatically try to eat it untill the cure pattern untriggers it.
Unknown2004-12-04 01:10:09
QUOTE (Lodin @ Dec 3 2004, 08:39 PM)
OH MAN i just thought of something wrong with that having 1 pennyroyal out at all times thing. say you spam

eat pennyroyal

10 times

and on the 2nd time you fall asleep..

after you wake up, you'll have to manually type in

eat pennyroyal

because you already spammed it 10 times, non of which worked because you fell asleep on the 2nd try.

using my method the alarms will keep trying to eat it every 1 second, so when you wake up it'll still automatically try to eat it untill the cure pattern untriggers it.



That won't happen because if you have insomnia up, as you always should, then stupidity can't directly make you fall asleep. Regardless a combination of the 2 ideas (first spam, then try again a second later) is best because it is possible to mess up every one of the initial spammed tries.
Thorgal2004-12-04 11:06:44
#trigger {You eat a bunch of pennyroyal.} {herbbalance=no}

ALIAS: pennyroyal
VALUE:
outr pennyroyal
eat pennyroyal
#if (@stupidity=1) {eat pennyroyal}
herbbalance=trying
#alarm +1 {
#if @herbbalance="trying" {
herbbalance=yes
herbqueue
}
}
Unknown2004-12-05 00:10:01
I like that little script, Thorgal. I'd recommend making that alarm a named one, though. Try executing your pennyroyal alias 5 times in one second and you'll end up with 5 timers going off one second later. I almost always name my timers, for two reasons: 1) it prevents duplicates, and 2) it allows me to alter the time remaining or untrigger it completely.
Thorgal2004-12-05 18:37:54
QUOTE (Zarquan @ Dec 5 2004, 02:10 AM)
Try executing your pennyroyal alias 5 times in one second and you'll end up with 5 timers going off one second later.


That never happens in combat though, I never fire a herbalias when herbbalance is anything else than "1". And the alias sets it to "trying", so even if the queues get checked 5 times in a row for some reason, the alias will never fire more than once at a time.
Murphy2004-12-05 19:02:28
Get stupid affliction - @stupid = 1

cure_stupid = outr pennyroyal outrpennyroyal outrpenyroyal
eat pennyroyal
(loop below 5 times)
#Wa200
#if (@stupid = 1) {eat pennyroyal}

that way you nealy always outr the herb, and every .2 seconds if you're trying to eat it you'l try again till you cure it.
lydin2007-01-02 07:18:53
I have a Stupidity class with triggers matching the majority (some aren't workable) of the stupidity failure messages. When I get stupidity, it's enabled. The triggers all eat pennyroyal (or cure mania, I'm a Healer). Works without munching lots of herbs, unless you get one of the exotic stupidity messages and you could add a timer for just in case, or bet that your system will do something else an stupidity will show itself.

I don't OUTR dynamically, but you could do the same for OUTRing and then spam eat, or even have a (small) class for OUTRing pennyroyal during stupidity and another for eating it. RAM's cheap.

Just for the triggering text if someone wants to do it this way (obviously you'd need the rest of my system for the code to work as is):


#CLASS {combat|stupidity}
#VAR failuretext {Come again?|Please restate.|I cannot fathom your meaning.|Might I suggest trying again?|Could you be a bit clearer?|Please explain.|I missed that altogether.|One more time?|Pardon me?|Brilliant! Dumb it down for me?|I don't follow.|That went right over my head.|Your meaning eludes me.|Interesting...|Most perplexing.|Please try rewording.|Clarification is in order.|You've baffled me!|I don't quite catch your drift.|I do not understand.} {Come again?|Please restate.|I cannot fathom your meaning.|Might I suggest trying again?|Could you be a bit clearer?|Please explain.|I missed that altogether.|One more time?|Pardon me?|Brilliant! Dumb it down for me?|I don't follow.|That went right over my head.|Your meaning eludes me.|Interesting...|Most perplexing.|Please try rewording.|Clarification is in order.|You've baffled me!|I don't quite catch your drift.|I do not understand.}
#VAR stupidemotelist {You flip the bird.|The voices! The voices! Get them out of my head!! you moan, holding your head |You burp obscenely.|You yell, I like cheese!|You are wearing * and cannot drop it.|You rub your hands together and gleefully shout, Hee!|You glare about you in religious indignity and hiss, Heathen.|You drop to one knee, demonstrating your humility and respect.|You fondle yourself absently.|With a slight wave of your hand, you say in a dismissive tone, Whatever...|You let out a massive belch into the air.|You point outwards.|You ponder for a moment and say Hrm...|You dance delightfully.|You flap your arms madly.} {You flip the bird.|The voices! The voices! Get them out of my head!! you moan, holding your head |You burp obscenely.|You yell, I like cheese!|You are wearing * and cannot drop it.|You rub your hands together and gleefully shout, Hee!|You glare about you in religious indignity and hiss, Heathen.|You drop to one knee, demonstrating your humility and respect.|You fondle yourself absently.|With a slight wave of your hand, you say in a dismissive tone, Whatever...|You let out a massive belch into the air.|You point outwards.|You ponder for a moment and say Hrm...|You dance delightfully.|You flap your arms madly.}
#TRIGGER {^There is no exit in that direction.$} {#IF (@herbbalance&%ismember( stupidity, @afflictions)) {eat pennyroyal} {#IF (@bal&@eq&%ismember( stupidity, @afflictions)) {cure me mania}}}
#TRIGGER {^{@stupidemotelist}$} {#ADDITEM afflictions stupidity;#IF (@herbbalance) {eat pennyroyal} {#IF (@bal$@eq) {cure me mania}}}
#TRIGGER {^{@failuretext}$} {#IF (@herbbalance&%ismember( stupidity, @afflictions)) {eat pennyroyal} {#IF (@bal&@eq&%ismember( stupidity, @afflictions)) {cure me mania}}}
#CLASS 0


If you burp a lot or like to yell about cheese you can only enable the class when you know you're stupid. Otherwise, you can keep the class enabled and use the emotes as a redundant check for the affliction (No-exit and mistyping triggers should make sure you're really stupid first in that case).

Was that clear? Bad idea for some reason that everyone but me has discovered? Efficiency nazi's want to scoff at my code?
Neerth2007-01-02 08:20:17
This is how I do it:
  • Have a pennyroyal in my inventory to start.
  • Keep a boolean flag that's turned on when I get any stupidity message.
  • At every prompt, if I have herb balance (another flag), and don't have anything more serious to cure, I EAT PENNYROYAL. When doing so I set a timer, as mentioned above, to keep me from spamming eating herbs (actually I only delay 0.1 seconds, not 1 second).
  • I don't turn off my stupidity flag when I try to eat the pennyroyal; I only turn it off when I see the unaffliction message.
  • Once it's cured, I OUTR PENNYROYAL again. (In fact, I actually treat not holding a pennyroyal as an affliction of its own, and the "cure" is OUTR PENNYROYAL.)

You could switch the order of OUTRing and curing, I suppose; I just like this way because the stupidity gets cured more quickly.

Personally I think the key is to consider not holding pennyroyal as an affliction and toggle its flag based on the messages the game gives you. I do the same thing with arnica (fractured skull) and reishi (aeon). Those who've killed me (how powerful they must be! unsure.gif) have seen me drop one of each herb.

And yeah, if I'm aeoned too all bets are off. wacko.gif