Bug "burn x" CLI command doesn't work in AWoL OR doesn't like Cautious Prowl in mood

"burn x" CLI command doesn't work in AWoL OR doesn't like Cautious Prowl in mood

r16748. I'm an AWoL Cow Puncher. My only noncombat skill is Walk: Cautious Prowl, which makes the specifics of this issue hard to narrow down. Here's what I know:

My mood includes Cautious Prowl (and nothing else):
> mood list
When I run low on Cautious Prowl, cast 1 Walk: Cautious Prowl

I have lots of MP:
> ash my_mp()
Returned: 209

But when I try to burn MP, it doesn't work:
> burn 145
Autorecovery failed.

Shouldn't "burn x" dump that much MP into effects listed in my mood? Or am I misunderstanding something?
 
Last edited:
How many turns of Cautious Prowl do you have?

I think there's some setting to not waste MP on buffs if you already have X (default 1000 i think?) more turns of the buff than adventures remaining.
 
max is 1000 + my_turns().

Also, burn won't work if you have 0 turns of an effect. I'm not sure why that is, but it is.
 
Ah, yep. I had too many turns of Cautious Prowl. (I guess that's what happens when you have one noncombat skill and live in the machine elf era).

I assume the 1,000+turns limit is hardcoded, not configurable?

Thanks for the help, guys.
 
Not hardcoreded. Property name is maxManaBurn

set maxManaBurn = 123456789

to make it essentially unlimited.
 
Also, burn won't work if you have 0 turns of an effect. I'm not sure why that is, but it is.

I have always had "non-mood" burning allowed, so it's equivalent to "extend all buffs I currently have active". Extending buffs I do *not* have currently active would surprise me, even if they are listed in my current mood.
(which is why I got into the habit of doing "mood execute" before burning large amounts of mp)
 
Hmm.

> ash my_mp()
Returned: 199
> ash get_property("maxManaBurn")
Returned: 3000
> ash my_adventures()
Returned: 23
> effects
[...]
Cautious Prowl (1,488)
> burn 40
Autorecovery failed.

3000 > 1,488 - 23. Does maxManaBurn perhaps only apply to automatic mana burning, and not the "burn" command?

Not that this is a big deal, now that I know what's going on. Easy enough to work around, and it'll be irrelevant once I have more skills. Just trying to learn.
 
Okay, so I'm having the same problem as above, except this time I'm below both my custom 3,000-turn difference and the default 1,000-turn-difference between adventures and buffs.

> ash my_mp()
Returned: 83
> ash get_property("maxManaBurn")
Returned: 3000
> ash my_adventures()
Returned: 17
> effects
[...]
Cautious Prowl (29)
> mood list
When I run low on Cautious Prowl, cast 1 Walk: Cautious Prowl
> ash have_skill($skill[Walk: Cautious Prowl])
Returned: true
> burn 70
Autorecovery failed.
> cast cautious prowl
Casting Walk: Cautious Prowl 1 times...
You acquire an effect: Cautious Prowl (20)
Walk: Cautious Prowl was successfully cast.

So, Mafia appears to know I can cast Walk: Cautious Prowl, and it should do that according to my maxManaBurn setting. But "burn" doesn't work. Why not?
 
I think I see why, not sure of the best solution, though.

Basically the first thing burn tries is to recover your health, before moving on to effects. In this case, it (probably, given the message) found you weren't on max health, and tried to restore your health first, but couldn't.

I can see the point, but I'm not sure this is a sensible way for the code to behave. I can see a logic to it attempting to recover health WITH SPELLS before burning MP, but this looks to me like it'd use health restoring items too. I think what we probably need is a routine that'll recover HP using spells only.
 
Back
Top