Bug Mafia appears not to be tracking _spaceJellyfishDrops when I autoattack with a macro (r26881)

Here's a combat where I submitted a combat macro to the fight, rather than using an autoattack:
[294] Uncle Gator's Country Fun-Time Liquid Waste Sluice
Preference lastEncounter changed from Gator Done to C<i>bzzt</i>er the Grisly Bear
Encounter: C<i>bzzt</i>er the Grisly Bear
Round 0: phreddrickkv2 wins initiative!
Round 1: You lose 104 hit points
Round 1: MoO 2 Amoeba puts your foe's entire head in its mouth -- wait, is that MoO 2 Amoeba's mouth? It's on the underneath, so it could also be its butt, right?
Round 1: C<i>bzzt</i>er the Grisly Bear drops 83 attack power.
Round 1: C<i>bzzt</i>er the Grisly Bear drops 82 defense.
> Using adventure value 6543.
> if hasskill Extract Jelly;skill Extract Jelly;endif;skill KGB tranquilizer dart
Round 1: phreddrickkv2 executes a macro!
Round 1: phreddrickkv2 casts EXTRACT JELLY!
Round 2: MoO 2 Amoeba latches onto your foe's butt, and starts draining it of... well not what you might be thinking. It's more like butt energy? It turns out butt energy smells bad, and so does the glob of stench jelly that MoO 2 Amoeba squirts into your hand when it's done.
You acquire an item: stench jelly
Preference _spaceJellyfishDrops changed from 0 to 1
Round 2: You lose 9 hit points
Round 2: phreddrickkv2 casts KGB TRANQUILIZER DART!
Preference _kgbTranquilizerDartUses changed from 2 to 3
Preference _juneCleaverFightsLeft changed from 18 to 17
Preference _juneCleaverSleaze changed from 11 to 12
Preference sweat changed from 9 to 11
Preference _stinkyCheeseCount changed from 47 to 48
Preference lastCopyableMonster changed from fluffy bunny to C<i>bzzt</i>er the Grisly Bear
This combat did not cost a turn
Preference familiarSweat changed from 497 to 500
And here's one where I did the same thing but didn't come up with a jelly:
[294] Uncle Gator's Country Fun-Time Liquid Waste Sluice
Encounter: C<i>bzzt</i>er the Grisly Bear
Round 0: phreddrickkv2 wins initiative!
Round 1: You lose 102 hit points
Round 1: MoO 2 Amoeba sucks out some of your opponent's life essences, which makes them a little sleepy.
Round 1: C<i>bzzt</i>er the Grisly Bear drops 83 attack power.
Round 1: C<i>bzzt</i>er the Grisly Bear drops 83 defense.
> Using adventure value 6543.
> if hasskill Extract Jelly;skill Extract Jelly;endif;skill Show them your ring
Round 1: phreddrickkv2 executes a macro!
Round 1: phreddrickkv2 casts EXTRACT JELLY!
Round 2: MoO 2 Amoeba latches onto your foe and drains some essences from them, but it doesn't seem like any jelly is forthcoming.
Round 2: You lose 31 hit points
Round 2: phreddrickkv2 casts SHOW THEM YOUR RING!
Preference _mafiaMiddleFingerRingUsed changed from false to true
Preference _juneCleaverFightsLeft changed from 17 to 16
Preference _juneCleaverSpooky changed from 11 to 12
Preference sweat changed from 11 to 13
Preference _stinkyCheeseCount changed from 48 to 49
This combat did not cost a turn
One thing to note here: I'm getting a failure message--"it doesn't seem like any jelly is forthcoming."
Here's a combat where I autoattacked using a macro that started with extract jelly:
[378] Barf Mountain
Preference lastEncounter changed from sausage goblin to garbage tourist
Encounter: garbage tourist
Round 0: phreddrickkv2 wins initiative!
Preference cosmicBowlingBallReturnCombats changed from 20 to 19
Round 0: phreddrickkv2 casts EXTRACT JELLY!
Round 1: You lose 1 hit point
Round 1: MoO 2 Amoeba puts your foe's entire head in its mouth -- wait, is that MoO 2 Amoeba's mouth? It's on the underneath, so it could also be its butt, right?
Round 1: garbage tourist drops 33 attack power.
Round 1: garbage tourist drops 33 defense.
Round 1: phreddrickkv2 casts SING ALONG!
Round 2: phreddrickkv2 casts TRANSCENDENT OLFACTION!
You acquire an intrinsic: On the Trail
Preference olfactedMonster changed from crate to garbage tourist
Preference _olfactionsUsed changed from 1 to 2
Round 3: phreddrickkv2 casts GALLAPAGOSIAN MATING CALL!
You gain 65 Meat.
Preference _gallapagosMonster changed from crate to garbage tourist
Round 4: phreddrickkv2 casts EXTRACT!
You acquire an item: Source essence (2)
Round 5: phreddrickkv2 uses the porquoise-handled sixgun!
Round 6: garbage tourist takes 52 damage.
Round 6: You gain 23 Muscularity Points
Round 6: phreddrickkv2 uses the seal tooth!
Round 7: garbage tourist takes 1 damage.
Round 7: phreddrickkv2 uses the seal tooth!
[SNIP]
Round 21: phreddrickkv2 casts FURIOUS WALLOP!
Round 22: garbage tourist takes 889 damage.
You gain 470 Meat.
Round 22: garbage tourist drops 13 attack power.
Round 22: garbage tourist drops 12 defense.
Round 22: phreddrickkv2 wins the fight!
After Battle: Kendall surveys the scene from your back, and gains 1 Experience.
You gain 3211 Meat
After Battle: Tricky Allegria peeks out of the shadows, checks for danger, and sidles up to you with some meat.
You gain 10 Meat.
You acquire an item: bag of park garbage
You acquire an item: bag of park garbage
After Battle: You gain 23 Muscleboundness
After Battle: You gain 9 Wizardliness
After Battle: You gain 14 Roguishness
Preference _juneCleaverFightsLeft changed from 29 to 28
Preference _juneCleaverSleaze changed from 15 to 16
Preference sweat changed from 47 to 49
Preference _stinkyCheeseCount changed from 66 to 67
Preference lastCopyableMonster changed from sausage goblin to garbage tourist
Preference lastCombatEnvironments changed from oooo?o?????????????i to ooo?o?????????????ii
Preference _boomBoxFights changed from 5 to 6
Preference familiarSweat changed from 621 to 622
Here, we don't get a success or failure message associated with the extraction, but we do get our round 0 barrrnacle-like message right after casting it--"It's on the underneath, so it could also be its butt, right?"

And finally, at the end of my day of farming:
> js availableAmount(Item.get("stench jelly"))

Returned: 2

> /count stench jelly

You have 10 handfuls of stench jelly.

I haven't noticed any changes that would cause this, and I'm not sure when it started. If I had to guess, there's something about getting 2 messages from the same familiar in the same round that's messing with it, but I'm not as familiar as I could be with this section of the codebase.
 

Veracity

Developer
Staff member
I haven't noticed any changes that would cause this, and I'm not sure when it started. If I had to guess, there's something about getting 2 messages from the same familiar in the same round that's messing with it, but I'm not as familiar as I could be with this section of the codebase.
Very plausible. While walking the HTML response of the fight, there are numerous methods that process a node that wraps an "interesting" thing that can return true or false to indicate "we're done with this node" and "there might be more to come".

If we've never seen more than one "interesting" thing in a node, we might erroneously choose option A rather than option B.
I'd have to see the HTML parse tree to understand what's going on.

I have a space jellyfish. I'll try it out.
 

Veracity

Developer
Staff member
Works for me.

I made this combat macro:

Extract Jelly:

Code:
if hasskill 7282;skill 7282;endif

I set it in the browser on Combat Options:

Code:
Auto-Attack:
Extract Jelly (Combat Macro)

Note that I don't think the "aa" command understands this:

Code:
> aa

Autoattack: null

I went into the Relay Browser:

Code:
> inv stench jelly

stench jelly (3)

> /count stench jelly

You have 3 handfuls of stench jelly.

[6927] Barf Mountain
Encounter: garbage tourist
Round 0: Veracity wins initiative!
Round 0: Veracity casts EXTRACT JELLY!
Round 1: Tronald puts your foe's entire head in its mouth, and your foe doesn't like that one bit.
Round 1: garbage tourist drops 19 attack power.
Round 1: garbage tourist drops 19 defense.
Round 1: Tronald latches onto your foe's butt, and starts draining it of... well not what you might be thinking. It's more like butt energy? It turns out butt energy smells bad, and so does the glob of stench jelly that Tronald squirts into your hand when it's done.
You acquire an item: stench jelly
Round 1: Psychic Grrl says, I sense an unexpected windfall in your near future! and hands you some meat.
You gain 14 Meat.
Round 1: Veracity attacks!
Round 2: garbage tourist takes 399 damage.
Round 2: Psychic Grrl says, I sense an unexpected windfall in your near future! and hands you some meat.
You gain 15 Meat.
Round 2: Veracity wins the fight!
Your familiar gains a pound: Tronald, the 13 lb. Space Jellyfish
After Battle: Psychic Grrl surveys the scene from atop the throne and sighs.
You gain 1858 Meat
You acquire an item: bag of park garbage
You acquire an item: bag of park garbage
After Battle: You gain 8 Strongness
After Battle: You gain 10 Wizardliness
After Battle: You gain 14 Cheek

> inv stench jelly

stench jelly (4)

> /count stench jelly

You have 4 handfuls of stench jelly.
 
I'm still encountering this periodically (I know it's not just bad RNG because mafia is incorrectly tracking the amount of stench jelly in my inventory), but, like you, when I actively tried to replicate this behavior I have trouble with it. I'll try to get some more precise details as to when this happens to narrow it down. Interestingly, your experiment does show the start-of-combat message right after the Extract Jelly cast, with the Extract Jelly message coming in later.

I wonder if killing it the very next round matters? We're using combat macros so that probably shouldn't matter because it's all on one page.
 
Just managed to replicate it (sort of). I didn't get it to trigger on a combat where I obtained a stench jelly, but here's a debug log where the second jellyfish message doesn't appear in the session log:
[503] Barf Mountain
Encounter: garbage tourist
Round 0: phreddrickkv2 wins initiative!
Preference cosmicBowlingBallReturnCombats changed from 15 to 14
Round 0: phreddrickkv2 casts EXTRACT JELLY!
Round 1: You lose 1 hit point
Round 1: MoO 2 Amoeba puts your foe's entire head in its mouth -- wait, is that MoO 2 Amoeba's mouth? It's on the underneath, so it could also be its butt, right?
Round 1: garbage tourist drops 32 attack power.
Round 1: garbage tourist drops 32 defense.
Round 1: phreddrickkv2 casts SING ALONG!
Round 2: phreddrickkv2 casts EXTRACT!
You acquire an item: Source essence (3)
Round 3: phreddrickkv2 uses the porquoise-handled sixgun!
Round 4: garbage tourist takes 37 damage.
Round 4: You gain 30 Muscularity Points
You gain 58 Meat.
Round 4: phreddrickkv2 uses the seal tooth!
Round 5: garbage tourist takes 1 damage.
Round 5: phreddrickkv2 uses the seal tooth!
Round 6: garbage tourist takes 1 damage.
Round 6: phreddrickkv2 uses the seal tooth!
Round 7: garbage tourist takes 1 damage.
Round 7: phreddrickkv2 uses the seal tooth!
Round 8: garbage tourist takes 1 damage.
Round 8: phreddrickkv2 uses the seal tooth!
Round 9: garbage tourist takes 1 damage.
Round 9: phreddrickkv2 uses the seal tooth!
Round 10: garbage tourist takes 1 damage.
Round 10: You lose 9 hit points
Round 10: phreddrickkv2 uses the seal tooth!
Round 11: garbage tourist takes 1 damage.
Round 11: phreddrickkv2 uses the seal tooth!
Round 12: garbage tourist takes 1 damage.
Round 12: phreddrickkv2 uses the seal tooth!
Round 13: garbage tourist takes 1 damage.
Round 13: phreddrickkv2 uses the seal tooth!
Round 14: garbage tourist takes 1 damage.
Round 14: phreddrickkv2 uses the seal tooth!
Round 15: garbage tourist takes 1 damage.
Round 15: phreddrickkv2 uses the seal tooth!
Round 16: garbage tourist takes 1 damage.
Round 16: phreddrickkv2 uses the seal tooth!
Round 17: garbage tourist takes 1 damage.
Round 17: phreddrickkv2 uses the seal tooth!
Round 18: garbage tourist takes 1 damage.
Round 18: phreddrickkv2 uses the seal tooth!
Round 19: garbage tourist takes 1 damage.
Round 19: phreddrickkv2 uses the seal tooth!
Round 20: garbage tourist takes 1 damage.
Round 20: phreddrickkv2 uses the seal tooth!
Round 21: garbage tourist takes 1 damage.
Round 21: phreddrickkv2 casts FURIOUS WALLOP!
Round 22: garbage tourist takes 428 damage.
You gain 474 Meat.
Round 22: garbage tourist drops 7 attack power.
Round 22: garbage tourist drops 7 defense.
Round 22: phreddrickkv2 wins the fight!
After Battle: Kendall surveys the scene from your back, and gains 1 Experience.
You gain 2961 Meat
After Battle: Stealthy Adella looks around carefully, and once she's satisfied you're alone, she gives you some meat.
You gain 11 Meat.
You acquire an item: bag of park garbage
After Battle: You gain 31 Strengthliness
After Battle: You gain 5 Mysteriousness
After Battle: You gain 7 Cheek
My combat macro looked like this:
if (monsterid 1758 || monsterid 1760 || monsterid 1759 || monsterid 1761 || monsterid 1763 || monsterid 1762 || monsterid 1764 || monsterid 1766 || monsterid 1768 || monsterid 1767 || monsterid 1769);if hasskill Extract Jelly;skill Extract Jelly;endif;endif;if hasskill Sing Along;skill Sing Along;endif;if monsterid 530;if hasskill 7291;skill 7291;endif;endif;if monstername angry tourist || monstername garbage tourist || monstername horrible tourist family || monstername Knob Goblin Embezzler || monstername sausage goblin;if !hppercentbelow 25 && monsterhpabove 5 && monstername sausage goblin;if hascombatitem Time-Spinner;use Time-Spinner;endif;endif;if !hppercentbelow 25 && monsterhpabove 5 && monstername sausage goblin;if hasskill Micrometeorite;skill Micrometeorite;endif;endif;if !hppercentbelow 25 && monsterhpabove 5;if hasskill Pocket Crumbs;skill Pocket Crumbs;endif;endif;if !hppercentbelow 25 && monsterhpabove 5;if hasskill 7273;skill 7273;endif;endif;if !hppercentbelow 25 && monsterhpabove 45;if hascombatitem porquoise-handled sixgun;use porquoise-handled sixgun;endif;endif;while !hppercentbelow 25 && monsterhpabove 5 && !pastround 20;use seal tooth;endwhile;endif;if hasskill Furious Wallop;skill Furious Wallop;endif;if hasskill Become a Wolf;skill Become a Wolf;endif;while !pastround 24 && !hppercentbelow 25 && !missed 1;attack;endwhile;while hasskill Saucegeyser;skill Saucegeyser;endwhile;while hasskill Weapon of the Pastalord;skill Weapon of the Pastalord;endwhile;while hasskill Cannelloni Cannon;skill Cannelloni Cannon;endwhile;while hasskill Wave of Sauce;skill Wave of Sauce;endwhile;while hasskill Saucestorm;skill Saucestorm;endwhile;while hasskill Lunging Thrust-Smack;skill 1005;endwhile;attack;repeat;
Which is unfortunately a little hard to read.
When I add a "use Seal Tooth" to the front of that macro, the session log _does_ record the jellyfish failure message.
 

Attachments

  • DEBUG_20221114.txt
    64.2 KB · Views: 2
Top