Here is an example:
You take out a salve of mending and quickly rub it on your left leg.
You messily spread the salve over your body, to no effect.
H:4260|5191 B:100% Exp:37 [kcsdb eb] <s>
The "messily spread" line tells me that my salve application failed because there is no affliction present. There are other lines which may immediately follow the first, that indicate other things, such as failure because I do not have the necessary salve balance, failure because there is a higher level of limb break which must be cured first, and also, of course, a line indicating a successful cure.
My desired solution is
Code: Select all
Pattern:
^You take our a salve of mending and quickly rub it on your (\w+) (\w+)\.$
Script:
limbapp = matches[2]
Options: multiline or ...something indicating that there is another line to come. Whatever the option will be
Pattern 2, "exact match"
You messily spread the salve over your body, to no effect.
Script:
aff_off("broken " .. limbapp)
Options:
Within 1 line
Should I be setting flags on the first line, and turning them off when the subsequent lines fire, while turning the flag off with my main prompt trig?
I don't really like either solution, because:
1. enabling and disabling objects is apparently quite inefficient, and occasionally buggy, for the time being (fixing that being something else on the todo list)
2. I mentioned that I need to do this quite a lot, which means a lot of different flags, and that means setting a lot of different variables to zero in every prompt. This may not be a problem, but it feels wrong (perhaps just because of my zmud/cmud days when changing too many variables in a prompt trigger can cause too much overhead when the prompts are coming quickly).
All I am after is advice on what the best work-around is until the state system is implemented.