Bug - Fixed Battlesuit Bugbear Type: biometric data not processed

Bale

Minion
r11055: When I kill a Battlesuit Bugbear Type, KoLmafia is not incrementing biodataEngineering.

> pref engineer

biodataEngineering (user: now '0', default 0)

> use key-o

Using 1 key-o-tron...
Finished using 1 key-o-tron.

> pref engineer

biodataEngineering (user: now '3', default 0)


Edit: I'm having the same thing happen for a Black Ops Bugbear also... I'm surprised that this would happen for more than one bugbear type.
 
Last edited:

lostcalpolydude

Developer
Staff member
Did KoL change the response text there? Mafia looks for "key-o-tron emits (\\d) short". I'm planning on being in aftercore for a little while.
 

Bale

Minion
I finished those zones. Now I'm gathering biometric data in the Gallery. The ancient unspeakable bugbears are causing no trouble. biodataNavigation is incrementing with each one I kill.
 

Winterbay

Active member
For me it failed to pick up the Black Ops bugbears (noticed this since BCCAscend kept trying to fight more of them). It is possible that it would've failed for more, but I readded the "use key-o-tron" to the bugbear-hunting function which stopped it.
 

Veracity

Developer
Staff member
[632] Fantasy Airship
Encounter: Battlesuit Bugbear Type
Round 0: Veracity wins initiative!

> get biodataEngineering

7
Round 1: Veracity attacks!
Round 2: battlesuit bugbear type takes 27 damage.
Round 2: battlesuit bugbear type takes 2 damage.
You lose 9 hit points
Round 2: Veracity attacks!
Round 3: battlesuit bugbear type takes 30 damage.
Round 3: Veracity attacks!
Round 4: battlesuit bugbear type takes 28 damage.
Round 4: Veracity attacks!
Round 5: battlesuit bugbear type takes 32 damage.
Round 5: Veracity attacks!
Round 6: battlesuit bugbear type takes 27 damage.
Round 6: Veracity attacks!
Round 7: battlesuit bugbear type takes 27 damage.
Round 7: Veracity wins the fight!
After Battle: Your key-o-tron emits 8 short tones, indicating that it has successfully processed biometric data from this subject.
You acquire an item: BURT
After Battle: Psychic Grrl peers into your eyes. "In a past life, you broke your tibia falling out of a tree. That explains why you hate trees so much in this life," she says, smiling warmly.
You gain 11 Fortitude
You gain 13 Magicalness
You gain 18 Roguishness

> get biodataEngineering

7
I can confirm this. I also have a debug log of the battle. And exactly one more bugbear of this sort to get. :)
 

Veracity

Developer
Staff member
I stuck in logging. Here is the result:

key-o-tron data
Looking for monster battlesuit bugbear type
Found setting null

Notice that MonsterStatusTracker.getLastMonsterName() is "battlesuit bugbear type" but your table has "Battlesuit Bugbear Type". Ditto for "Black Ops Bugbear". Those need to be lower cased. I'll do it.

Revision 11056
 

lostcalpolydude

Developer
Staff member
Does getLastMonsterName() always return a lowercase value, or is that only happening because the monsters aren't listed in monsters.txt yet? Will that change need to be reversed (or the biodata checking case-insensitive) when they are added?
 

Veracity

Developer
Staff member
FightRequest.java:

Code:
			MonsterStatusTracker.setNextMonsterName( CombatActionManager.encounterKey( encounter ) );
CombatActionManager.java:

Code:
	public static final String encounterKey( final String line )
	{
		return CombatActionManager.encounterKey( line, true );
	}

	public static final String encounterKey( String line, final boolean changeCase )
	{
		line = StringUtilities.globalStringReplace( line.trim(), "  ", " " );
		String key = StringUtilities.getCanonicalName( line );
...
		return changeCase ? key : line;
	}
StringUtilities.java:

Code:
			canonicalName = StringUtilities.getEntityEncode( name ).toLowerCase();
The last monster name is the "canonical" form of what we read from the page html, with "a", "an", or "some" removed from the beginning. The "canonical" form is lower case.
 

lostcalpolydude

Developer
Staff member
Thanks. I looked through those functions, but I missed the toLowerCase() call. So then I went on a wild goose chase seeing if encounter was lowercased before getting used there in FightRequest.
 
Top