New Content Jan 2022 IOTM and 2022 IOTY

Veracity

Developer
Staff member
cosmic bowling ball + new combat skills

We should probably track the (increasing) cooldown period.

cursed magnifying glass - after every 13 fights with this equipped, you get a free fight wanderer

We could/should track the turns until the next void monster appears. Presumably it is "fights with the item equipped".
Also consumption stats for the void lager and void burger.

Here are the post-combat messages as successive fights count down turns until the next monster:

In the distance, an owl hoots 13 times. Give it a rest, Mr. Owl.
You are startled by the cacophanous cawing of a bunch of crows. Probably exactly twelve crows, if you had to guess.
A distant clock chimes 11, even though it is (probably) not 11 o'clock right now.
A madman in the distance shrieks: "Ten! Only ten now! Hee hee!"
Nine ravens burst from a nearby tree and take to the sky.
Eight rats scurry out from behind a nearby bush, startling you.
To your left, seven stray dogs fight over a scrap of carrion.
A creepy-looking little girl walks up and whispers in your ear. "Six."
You look at your left hand and notice, to your horror, that you have five fingers. Oh, wait, that's the normal number. Never mind.
The bells of a distant cathedral ring four times. Dong. Dong. Dong. Dong.
Three wolves howl in the distance. You wonder what they're howling about. Probably just ordinary wolf stuff.
You hear two black cats fighting somewhere nearby. At least you hope they're fighting.
The hair on the back of your neck stands up. A feeling of impending dread overwhelms your senses.
(void monster)

I have a PR out with all the datafile changes for items, effects, skills, monsters, consumables.
 
Per spading on the ASS discord:
only the first 5 void monster fights are free. This is agnostic of source--if you encounter one with the magnifying glass and back it up 4 times, all those 5 are free, but any subsequent ones will cost a turn.

I think it would be helpful to have a property that tracks whether a user owns the cosmic bowling ball, given that it seems like it will not always be in the inventory. Tracking the cooldown as both a property and a counter is probably sufficient to do this. Note: the counter appears to decrement on free fights and free runs.
 

katyarn

Member
The Dizzy effect obtained from the Void Slab monster can be removed via hottub, not sure about other negative effect removers such as Disco nap.
I tried and failed to wish for the new effects Dizzy, Sluggish and Drained, in other words they are most likely nohookah.
Cosmic Ball in the Air is wishable and therefore hookah-able.
 
A few other things:
cosmic bowling ball things are all decrements on fights, not turns, and this includes the banish. Weird!

the cursed magnifying glass appears to only increment on nonfree combats
 

Veracity

Developer
Staff member
I threw my cosmic bowling ball at a pygmy bowler and gained some bowling skill; it gave me a message about throwing it down the lane and did not hit the critter and do damage. Unfortunately, I did not record the message. Nor did I test against a non-bowler. Rumor this is 1/ascension. I'll test those things next run.

The pygmy bowler dropped a bowling ball and when I adventured with it in inventory, it gave me the second bowling NC.

We need a property track getting this 1/ascension special behavior - and to increment the existing "hiddenBowlingAlleyProgress" property.
 

Veracity

Developer
Staff member
Neither Nap nor Tongue removed Drained, but the hot tub did.
UneffectRequest has a set of effects that can be removed via "Shake it Off" - which is also used for skills removable in the Hot Tub. Using the Hot Tub for that is controlled by "uneffectWithHotTub" property, which defaults to true.
 

VladYvhuce

Member
I threw my cosmic bowling ball at a pygmy bowler and gained some bowling skill; it gave me a message about throwing it down the lane and did not hit the critter and do damage. Unfortunately, I did not record the message. Nor did I test against a non-bowler. Rumor this is 1/ascension. I'll test those things next run.

The pygmy bowler dropped a bowling ball and when I adventured with it in inventory, it gave me the second bowling NC.

We need a property track getting this 1/ascension special behavior - and to increment the existing "hiddenBowlingAlleyProgress" property.
I got a message about hurling the ball down the ancient lanes, and something about "you must be getting better at this" after using the ball against the Protector Specter in the bowling alley.
 

Veracity

Developer
Staff member
Here is the message:

Code:
Since you've got this cosmic bowling ball, you hurl it down the ancient lanes.  You knock over a few pins.  You may be getting the hang of this!
 

King Dave

New member
I'm not sure if this has been made aware to you or not - it appears that when the cosmic bowling ball returns to you in combat, Mafia believes you've gained another, but it doesn't seem to take it away when you throw it. In my recent items section I'm showing 10 cosmic bowling balls.
 

gausie

D̰͕̝͚̤̥̙̐̇̑͗̒e͍͔͎͈͔ͥ̉̔̅́̈l̠̪̜͓̲ͧ̍̈́͛v̻̾ͤe͗̃ͥ̐̊ͬp̔͒ͪ
Staff member
We should also have a new item for the IotMTrackingPanel for the ball, since you can have the ball bound to your account, but not have it in your inventory. I've asked cdm to expose a flag for everything in that panel via api.php, which will be nice if he does.
 

Veracity

Developer
Staff member
When you use it as a combat item, we remove it from inventory.
When used in one of the skills, we do not. Yet.

Here are ideas on cosmic bowling ball support:

Two settings:

_cosmicBowlingSkillsUsed

Starts a 0, increments by 1 when you successfully use a skill in combat - at which point we also remove it from industry.
The "cooldown" period is 3 + (2*usages), so it counts 5, 7, 9, ...

currentCosmicCooldown

Starts at 0, but set, per above, when you use a skill. Decrements - as appropriate. It decrements on fights. Win or lose? (including free, per earlier comment.) How about NCs? Not an "_" property, since it persists over rollover - but not over ascension.

If we wanted, we could notice the various "bowling ball clattering around" messages and adjust, if KoLmafia did not observe when you threw the ball.

Increment hiddenBowlingAlleyProgress when throw bowling ball and see the following message: "Since you've got this cosmic bowling ball, you hurl it down the ancient lanes. You knock over a few pins. You may be getting the hang of this!" Presumably only in the Hidden Bowling Alley, but confirmed that pygmy bowler and pygmy orderlies (and ancient protector specter :)) activate it.
 

Veracity

Developer
Staff member
We should also have a new item for the IotMTrackingPanel for the ball, since you can have the ball bound to your account, but not have it in your inventory. I've asked cdm to expose a flag for everything in that panel via api.php, which will be nice if he does.
What is the "IotMTrackingPanel"?
I think "currentCosmicCooldown" > 0 is the equivalent of that flag.
 

Ryo_Sangnoir

Developer
Staff member
What is the "IotMTrackingPanel"?
Probably Preferences -> IotM tracking. Those with one-day passes, where you can't tell, given an session where the user may have done something outside Mafia, whether the user has them or not.

The PvP skills like numberology have the same issue, but that's not exposed through the Mafia GUI (or in KoL).
 
For the eventual support, it would be nice to know how many more combats the ball will be out for, that way, you can go do something different just before the ball returns (like, go some place where you want to use the banish). And also knowing how much longer your current banish will last for.
There's even different (start of combat) messages based on how much longer you have to wait.
 

Veracity

Developer
Staff member
I have a PR out for review which adds a couple of properties:

cosmicBowlingBallActive - true if you have thrown the ball or have used one of the skills and it is not in inventory
_cosmicBowlingSkillsUsed - incremented when you use one of the skills.
(And it will remove the ball from inventory when you use a skill, which is your cue that bowling skills are not available for the moment. That plus the fact combat_skill_available( SKILL ) will return false. )

You can derive the current delay (right after using a combat skill) - (2 * _cosmicBowlingSkillsUsed ) + 3 - but considering the ball can be absent over rollover - and will continue delaying the next day, having a setting which decrements, as appropriate, could be useful.
 
Would there be anyway to track the number of combats started since you last threw the ball? This is one of those things that increments on free runs.
 

Veracity

Developer
Staff member
Actually, not too hard. I think.

My PR now eliminates cosmicBowlingBallActive property and replaces it with cosmicBowlingBallReturnCombats, which is an integer. This is the number of combats you need BEFORE you get the bowling ball back next combat.

It starts at -1.
If you throw it as a combat item, it is set to 0 - which means you will get it back at the beginning of next combat.
If you use a bowling skill, it increments _cosmicBowlingSkillsUsed and then sets cosmicBowlingBallReturnCombats to (2 * skillsused ) + 3.
Which means, the first time you use a skill, return combats = 5 - you have to do 5 combats before the counter hits 0 and you will get it back next combat.

As coded, it decrements ReturnCombats in round zero of any fight since, as I understand it, it's fights, not wins. And not even turns; free runaways and free fights count.

If that understanding is wrong, it's immediately more complicated...
 
That is correct. At the start of each fight, you even get a message about how the ball is rattling around in the return, and that message changes based on the remaining countdown. I guess you could try to regex match that to make it correct itself, but just counting combat starts should be fine. Relying on the message would get thrown off my text scrambling effects anyway.
And the only thing I can think off that would throw the tracking of the combat stats off is saber force uses as part of an auto-attack macro. And that throws off just about all mafia tracking, because it drops right in the choice without ever seeing the fights, so that seems like a case not worth worrying about.

Oh, unless the start of combat tracking gets confused by autoattack macros that make multiple rounds load at once, that could/would be a problem.
 

Veracity

Developer
Staff member
OK. I notice that the formula combats = (2 * casts) + 3 is accurate IF you include the combat in which you cast the bowling skill.

> prefref cosmic

NameValueDefaultScope
_cosmicBowlingSkillsUsed30user
_cosmicSixPackConjuredfalsefalseuser
cosmicBowlingBallReturnCombats-1-1user

I have cast 3 bowling skills today. Next one I cast is #4 and the cool down period is (4 * 2) + 3 = 11.
Which is to say, after 11 combats (including the one I used the skill on), the bowling ball returns next combat.

From my session log:

Code:
[796] Barf Mountain
Encounter: garbage tourist
Round 0: Veracity wins initiative!
Round 1: Veracity casts BOWL STRAIGHT UP!
You acquire an effect: Cosmic Ball in the Air (11)

[797] Barf Mountain
Encounter: horrible tourist family
Round 0: Veracity wins initiative!

[798] Barf Mountain
Encounter: angry tourist
Round 0: Veracity wins initiative!

[799] Barf Mountain
Encounter: horrible tourist family
Round 0: Veracity wins initiative!

[800] Barf Mountain
Encounter: angry tourist
Round 0: Veracity wins initiative!

[801] Barf Mountain
Encounter: garbage tourist
Round 0: Veracity wins initiative!

[802] Barf Mountain
Encounter: garbage tourist
Round 0: Veracity wins initiative!

[803] Barf Mountain
Encounter: angry tourist
Round 0: Veracity wins initiative!

[804] Barf Mountain
Encounter: horrible tourist family
Round 0: Veracity wins initiative!

[805] Barf Mountain
Encounter: garbage tourist
Round 0: Veracity wins initiative!

[806] Barf Mountain
Encounter: horrible tourist family
Round 0: Veracity wins initiative!

[807] Barf Mountain
Encounter: garbage tourist
Round 0: Veracity wins initiative!
You acquire an item: cosmic bowling ball
I used the skill on turn 796.
The bowling ball returned on turn 807 - 11 turns later.
The bowling ball was in the air for combats 796 - 806. That's eleven combats.

Therefore, if I want the cosmicBowlingBallReturnCombats to be the number of combats remaining before the ball comes back the next turn, I have to count down from 10 to 0. Effectively, decrementing the remaining combat count on the turn where you use the skill.

My current PR does that - and it works great; when the property is zero, the ball will return next combat - exactly as you'd like.
 
Top