Bug - Fixed special action thinks i have funkslinging so doesn't use anything

I have special action in my ccs, and have identify stone sphere and identify bang potions selected. But I'm in boris, so I only throw one thing at a time.

Code:
[1010] Hidden City (Square 4)
Encounter: boaraffe
Strategy:     C:\Users\best\.kolmafia\ccs\boris.ccs [default]
Round 0: kenhotep wins     initiative!
Round 1: kenhotep executes a macro!
Round 1: kenhotep     casts INTIMIDATING BELLOW!
Round 2: boaraffe drops 23 attack power.
Round     2: boaraffe drops 23 defense.
You lose 29 hit points
Round 2:     kenhotep uses the rough stone sphere and uses the dark potion!
Round 3:     kenhotep casts MIGHTY AXING!
Round 4: boaraffe takes 122 damage.
You     lose 31 hit points
Round 4: kenhotep casts MIGHTY AXING!
Round 5:     boaraffe takes 144 damage.
Round 5: kenhotep wins the fight!
You     gain 94 Meat
You acquire an item: long pork
You gain 28     Strengthliness
You gain 7 Mysteriousness
You gain 7 Chutzpah

> bang

milky:
swirly: (have 2)
bubbly:     (have 2)
smoky: (have 2)
cloudy: (have 2)
effervescent: (have 2)
fizzy:     (have 1)
dark: (have 2)
murky:

> inv sphere

mossy stone sphere
rough stone sphere

If I only have one sphere and tell it to identify spheres, it does that correctly.

eta: after watching it some more, I'm pretty sure the behavior is that if there is more than one thing to identify, mafia is trying to throw two of them w/o checking that a person has ambidextrous. The message in the relay browser is "That message doesn't make sense" when the action fails.
 
Last edited:

lostcalpolydude

Developer
Staff member
At the end of FightRequest.getSpecialAction(), the switch statement should be replaced with something like
Code:
		int itemsSize = items.size();
		boolean haveFunkslinging = KoLCharacter.hasSkill( "Ambidextrous Funkslinging" );
		if ( itemsSize == 0 )
		{
			return null;
		}
		else if ( itemsSize == 1 || !haveFunkslinging )
		{
			return (String) items.get( 0 );
		}
		else
		{
			return (String) items.get( 0 ) + "," + (String) items.get( 1 );
		}
 
Top