New Content - Implemented Bird-A-Day calendar

Lord_Kobel

Member
Currently this breaks mana burning if you don't want to replace your favourite bird. I've set choiceAdventure1399 => 2 to indicate that I don't want to replace my bird but the mana burning stops there. Every time I try to burn mana, it tried to cast the bird skill again and gets stuck again.
 

Veracity

Developer
Staff member
Revision 19702 provides initial support for favorite birds.

- The seventh casting of "Seek out a Bird" is funky:

it redirects (via inline Javascript) to "choice.php?forceoption=0" - which the browser submits - but the browser also submits "skillz.php?oneskillz=7323", which comes back first.
I made ChoiceManager ignore that URL when it is handling a choice and now, in the browser, when I cast the skill the seventh time, I actually see the choice page and KoLmafia knows we are in the choice.

That might fix some of Lord Kobel's issue; since we prematurely stopped handling the choice, we presumably would have not bothered with choiceAdventure1399.

However, taking option 2 would have made the casting fail, anyway. Probably need to detect that. Not sure what mana burning does when it tries to cast a skill - knowing it has enough mana - and it fails. Move to next skill?

- When you set a favorite bird, we save whatever "_birdOfTheDay" is in "yourFavoriteBird" and you henceforth know the "Visit your Favorite Bird" skill.

- Visit your Favorite Bird is a once-per-day skill tracked by "_favoriteBirdVisited".
 

Veracity

Developer
Staff member
Yeah, mana burning with Seek out a Bird is more trouble than I am interested in, for now.

Revision 19703 does this by default:

set skillBurn7323=-100

which will disqualify it from mana burning, since the skillBurnXXX setting + 100 is the priority given to skill XXX.
You are welcome to set it higher, if you really want to do it via mana burning, but there will undoubtedly be bugs.
Perhaps it should be willing to burn mana on that skill up to and including the 6th cast per day.
Or perhaps you should manually control it, which the current setting will require, by default.
 

Veracity

Developer
Staff member
Things to do:

Set _birdOfTheDay from the effect name when get Blessing of a Bird
Set myFavoriteBird from the effect name when get Belssing of your favorite Bird
Set choiceAdventure1399 to 2 by default - do not choose new favorite bird when automating
When calculating maximum casts for Seek out a Bird, if choiceAdventure1399 is 2, stop before cast #7
Calculate correct amount of mana needed to cast Seek out a Bird multiple times, accounting for increasing mana cost.
If automating through choice 1399 and decision 2 (don't actually cast the skill and change favorite bird) is taken, recognize the failure message and fail the cast.

All of the above are appropriate and necessary in any case - and might be enough to make mana burning work with Seek out a Bird.

Edit: Underlining as completed.
 
Last edited:

Veracity

Developer
Staff member
I notice that "Visit your favorite Bird" is now listed on my Char Sheet. It is not marked (HP) or anything.
Is it just automatically unlocked if you have a "favorite bird"?
And, having designated a "favorite bird", does it carry over ascension?
Unless I mark it not Permable, it will show up on the "skills you have not yet permed" at the gash.
Does it show up in the Permery in Valhalla?
If not, will it automatically show up after I ascend?

I'll finish my next-to-last Standard run after rollover today. Won't have time to start my 12th and final Standard 2020 run until Friday, at which time all those questions will be answered....
 

ckb

Minion
Staff member
I notice that "Visit your favorite Bird" is now listed on my Char Sheet. It is not marked (HP) or anything.
Is it just automatically unlocked if you have a "favorite bird"?
And, having designated a "favorite bird", does it carry over ascension?
Unless I mark it not Permable, it will show up on the "skills you have not yet permed" at the gash.
Does it show up in the Permery in Valhalla?
If not, will it automatically show up after I ascend?

I'll finish my next-to-last Standard run after rollover today. Won't have time to start my 12th and final Standard 2020 run until Friday, at which time all those questions will be answered....

Once you have cast 'Seek out a Bird' enough to gain 'Visit your favorite Bird', you gain that skill with that Favorite Bird. This 'Visit your favorite Bird' skill is permable in Valhalla - it shows up in the Permery and you can perm as a Normal or Hardcore skill. Perming it keeps your Favorite Bird across ascensions. (so you can find a good one and keep it)

Also, with r19701 from the CLI, I tried 'cast 2 Seek out a Bird' This cast the skill once only, even though I had ample MP to cast it multiple times. Maybe it is not muli-castable? or at least not normally so.
 

Veracity

Developer
Staff member
Thanks. That tells me everything I need to know about the skill's permeability. :)
Although, if you didn't perm it, it will not show up on your char sheet next ascension and presumably I should clear yourFavoriteBird...

I know that we do not (yet) calculate the correct amount of mana needed to multi-cast the skill. But if you had enough MP, I don't know why it only tried once. I'll take a look at it.
 

ckb

Minion
Staff member
I know that we do not (yet) calculate the correct amount of mana needed to multi-cast the skill. But if you had enough MP, I don't know why it only tried once. I'll take a look at it.

I get this:

> cast 2 seek out a bird

Casting Seek out a Bird 2 times...
You acquire an effect: Blessing of the Bird (10)
Seek out a Bird was successfully cast.

So if seems like Mafia is trying to cast 2 times, but only 1 is cast.

Edit: KoL also seems to be unable to cast this multiple times, so this might be a KoL bug.
 

Veracity

Developer
Staff member
> cast 2 Seek out a Bird

Code:
Casting Seek out a Bird 2 times...
class net.sourceforge.kolmafia.request.UseSkillRequest
Requesting: https://www.kingdomofloathing.com/runskillz.php?action=Skillz&whichskill=7323&ajax=1&quantity=2&pwd
Retrieved: https://www.kingdomofloathing.com/runskillz.php?action=Skillz&whichskill=7323&ajax=1&quantity=2&pwd
Processing results...
You acquire an effect: Blessing of the Bird (10)
Processing result: Blessing of the Bird (10)
Processing result:  MP: -10
Seek out a Bird was successfully cast.
and

Code:
[color=green]> get _birdsSoughtToday[/color]

1
I called runskillz.php with quantity=2
It gave 10 turns of the effect (i.e., 1 casting)
We thought it took 10 MP (5 * 2) although it really only took 5
The skill description currently says the skill costs 10 MP (i.e. the cost for the second casting.

Yeah. This will take some work.

Code:
[color=green]> ash string_modifier( $effect[ blessing of the bird ], "Modifiers" )[/color]

Returned: Moxie Percent: +100, Initiative: +75, HP Regen Min: 10, HP Regen Max: 20

[color=green]> ash string_modifier( $effect[ blessing of your favorite bird ], "Modifiers" )[/color]

Returned: Mysticality Percent: +100, Hot Resistance: +2, Initiative: +25, HP Regen Min: 10, HP Regen Max: 20
And I think I'll keep this bird in preference to my previous favorite. :)
 

Veracity

Developer
Staff member
Right.

Code:
[color=green]> cast 2 seek out a bird[/color]

Casting Seek out a Bird 1 times...
You acquire an effect: Blessing of the Bird (10)
Seek out a Bird was successfully cast.
Casting Seek out a Bird 1 times...
You acquire an effect: Blessing of the Bird (10)
Seek out a Bird was successfully cast.
UseSkillRequest.singleCastSkill() determines whether we cast the skill one at a time or as many as we can at a time, based on maximum MP and requested number.
If we are casting one at a time, we recalculate the amount MP needed each iteration, so it took first 10 and then 20 MP.
If KoL changes (fixes?) how it handles this skill, easy enough to change.

Revision 19705
 

Veracity

Developer
Staff member
Revision 19706

Code:
[color=green]> set choiceAdventure1399=2[/color]

choiceAdventure1399 => 2

[color=green]> cast 1 seek out a bird[/color]

Casting Seek out a Bird 1 times...
Encounter: New Favorite Bird?
[color=red]You decide to not change your favorite bird.[/color]

[color=green]> set choiceAdventure1399=1[/color]

choiceAdventure1399 => 1

[color=green]> get yourFavoriteBird[/color]

Hasty Liechtensteiner Enchantment Firebird

[color=green]> cast 1 seek out a bird[/color]

Casting Seek out a Bird 1 times...
Encounter: New Favorite Bird?
You learned a new skill: Visit your Favorite Bird
You acquire an effect: Blessing of the Bird (10)
You lose 320 Mojo Points
Seek out a Bird was successfully cast.

[color=green]> get yourFavoriteBird[/color]

Jaunty Kansas Grapefruit Hummingbird

[color=green]> set choiceAdventure1399=2[/color]

choiceAdventure1399 => 2
 

Veracity

Developer
Staff member
(By the way - I introduced a bug in 19705, which I fixed in 19707. I did a copy/paste and failed to modify the resulting line.)
 

Lord_Kobel

Member
Something still seems to be off with mp burning, although it might be unrelated to the birds. I'm on 440 advs with my buffs around 1000 turns. When I tell it to burn mp on buffs, it does nothing, whereas it used to burn up to around 1400 turns before stopping. Then I tried casting a new song and when I now say to burn mp, it buffs up to 1245 turns for that song. Any ideas?
 

Veracity

Developer
Staff member
Nothing changed in mana burning between 19696 and 19701.
In fact, nothing has changed since then except to make mana burning not consider skill 7323 by setting skillBurn7323 to -100
 

Lord_Kobel

Member
Yeah, just wondered if that somehow changed the priority for the other skills as well. Is skillburn a preference I can change manually? If so, I might give that a try on the older version and see if that replicates my issue there.
 

Veracity

Developer
Staff member
Yes. That is a setting specifically so that you can change it from the the default.

All skills (potentially) have such a setting. It goes from -100 to 0.
Add 100 and it goes from 0 to 100 and is the priority given to this skill.
We do it that way since that if the setting does not exist, it is 0, and therefore it is treated as a 100 priority.

The only change was to disable, specifically, skill 7323. So:

set skillBurn7323=0

will enable Seek out a Bird to be used for Mana Burn.

I think it will still not work correctly since I have not yet restricted it to 6 casts a day if your choiceAdventure1399 is 2 - don't choose new favorite bird.
You can try, though.

The other problem you described - burning mp up to 1000 turns of the effect, not 1000 + 400 (# of turns left) - has nothing to do with this.

What are your mana burning setting?

get manaBurningTrigger
get manaBurningThreshold
get mpAutoRecovery
get allowNonMoodBurning
get allowSummonBurning
get manaBurnSummonThreshold
get maxManaBurn
get lastChanceThreshold
get lastChanceBurn

I have, literally, never used mana burning. It looks complicated. Those are all the settings it will look at.
 
Last edited:

Veracity

Developer
Staff member
Revision 19708 does this:

Calculate total mp required to multicast Seek out a Bird. We still cast it one at a time because of KoL limitation, but if that changes, we can handle it.
If choiceAdventure1399 is "2" - do not replace your daily bird - your effective daily limit for Seek out a Bird is 6 casts.
If you've already cast it 7 or more times (i.e., already passed the choice), casting is limited by maximum MP
Mana Burning will skip a skill if available casts are 0.
Re-enable mana burning for Seek out a Bird: "set skillBurn7323=0"

Note that because I changed the default, you probably have skillBurn7323 set to -100. Set it to 0 if you want Mana Burning to consider this skill.
 

ckb

Minion
Staff member
It seems that the combat rate spading indicates this:

Monsters will be slightly less attracted to you (-3%)
Monsters will be less attracted to you (-5%)
Monsters will be more than a little less attracted to you (-7%)
Monsters will be quite a bit less attracted to you (-9%)
Monsters will be much less attracted to you (-10%)
Monsters will be very much less attracted to you (-11%)
Monsters will be very very very much less attracted to you (-20%)
 
Top