Bug - Fixed Mafia doesn't recognize summoned Battlefield monsters

Hello.

Right now I am doing another Battlefield farming. And for that I am puttying some certain "big" monsters (like Bailey's Beetle) to olfact it when needed.

This summoned monsters are accounted for battlefield progress by KoL. But Mafia doesn't count it, so in the end it missing for significant number (it was 12 in my case for one side).

I suppose, the same story is right for other copying mechanics, like fax, raindoh or maybe even angel.

Can you, please, add check for battlefield to such monsters too? Thank you.
 

Bale

Minion
Just a moment!

  • When you putty a Bailey's Beetle, you get the text at the end of the fight about your comrades in battle killing more of the enemy?!
  • Does this only happen when you are in uniform and the Battlefield is available?
  • If you are in Hippy Outfit and you kill a puttied Bailey's Beetle, do you get any special text at the end of the fight?
  • Does this happen when your last fight was not on the battlefield?

I just want to be certain about all of those things.
 
Just a moment!

  • When you putty a Bailey's Beetle, you get the text at the end of the fight about your comrades in battle killing more of the enemy?!
I don't know it right now. I am making it long way, killing enemies one-by-one, so no special messages for me in "normal" battles too. I will check it, closer to the end of field.
  • Does this only happen when you are in uniform and the Battlefield is available?
How can I check it? It does happens when I am in uniform and Battlefield available. But how to check what happens without uniform?

Ah, wait, "comrades" must work too. Or don't work. I will check it, ok.
  • If you are in Hippy Outfit and you kill a puttied Bailey's Beetle, do you get any special text at the end of the fight?
Again: for me this battles are identical, only difference is link at the end: "return to inventory" instead Battlefield. And no Mafia counter, of course.
  • Does this happen when your last fight was not on the battlefield?
Again? Am I need to check what happens if last battle was not on BF, or answer if it was not after BF? If last: no, I am keeping to fight on BF, and use putty when next olfaction expired, with the same suit and right after BF encounter.
I just want to be certain about all of those things.
Ok, I will try to supply you with the needed answers. :)
 

Bale

Minion
Too bad that you didn't do any sidequests. Those would have been interesting answers. I didn't realize I was being unreasonable when I asked.
 
Too bad that you didn't do any sidequests. Those would have been interesting answers. I didn't realize I was being unreasonable when I asked.

Great. After I spent half-hour for specifying each case, forum simply eaten up all of that. :(

Ok, short version:

I made 3 side-quests for hippies. After that any fight against War Frat Mobile Grill Unit results with standard "buffed fight" message, like that:
Nearby, a War Hippy Elder Shaman nods almost imperceptibly. A Kegtank hits a gopher hole and tips over. A squad of confused frat boys stumbles out and off the battlefield.

It independent of your actual suit, source of fight and order of it. I battled faxed monster after normal fight and then battled puttied monster after Dreadsylvania, and also second puttied Grill after first one. I tried to fight in Hippy battle suit, Frat battle suit or no suit at all. No difference. Also, in every fight I couldn't use PADL with standard "hippy" message, and successfully used Windchimes in both Hippy and Frat suits - so it's independent of your suit too. Both PADL and windchimes stopped to work after I killed The Man, but special killing message remained even after Battlefield is over.

I couldn't test behavior of battlefield units before Battlefield is started, but I suppose it not affects actual BF killings, or it would be discovered long ago.
 

Fluxxdog

Active member
Lemme guess, simple backspace changed pages and ate it all up. I hate when that happens. Good for you for pressing on.

So, when not fighting on the battlefield, which is to say not going directly through adventure.php, it count your kills as though you were a hippy. It even treats you as a War Hippy for the items. It seems it sets things up based on the enemy.

As for before starting the war, possible nobody thought of it because they wanted side quests done first to increase kill count.

I'll admit, this testing is a good start. What would be needed to verify some of the info is to see if the kills count in KoL. It's likely it does, but the easiest test would be doing 3 side quests, getting in to a fight (during which you copy), get your kill, that should jump the image to #1. Use the copy, get another copy and your kill. If the image for the side you're fighting goes to 2, it is counting. Use the second copy, and if the image goes to number 3, KoL is giving you full credit.

Logic: Images change at 3, 9, and 17 dead. Battle one should put you at 8. Battle 2 should put you at either 9 or 16 if it counts. Battle 3, if it fully counts, would give you 24.
 
Lemme guess, simple backspace changed pages and ate it all up. I hate when that happens. Good for you for pressing on.
Oh, it was more complicated than that. I used "Reply", but after "Post quick reply" it goes to "Advanced" page. Ok, I can take that I simply missed button, but there wasn't any text written in this "advanced" window. Strange. :( And yes, pressing "Back" simply destroyed everything, leaving me with blank window.
I'll admit, this testing is a good start. What would be needed to verify some of the info is to see if the kills count in KoL. It's likely it does, but the easiest test would be doing 3 side quests, getting in to a fight (during which you copy), get your kill, that should jump the image to #1. Use the copy, get another copy and your kill. If the image for the side you're fighting goes to 2, it is counting. Use the second copy, and if the image goes to number 3, KoL is giving you full credit.
Look on my first message. :) Kills counts definitely, as it's less enemies afterwards than Mafia expected. Question is: does they counts "right", with appropriate modifiers. Unfortunately, I cannot quite check it in my farming 1000/1000 runs, as it will ruin it (and I finished last one already anyway :) . But I will try this in my next speed run. :)
 

Fluxxdog

Active member
From here:
With faxing a Beetle Bailey before starting the war, my hippiesDefeated count was off again. There's a bug somewhere. I'm beginning to suspect that KoL actually counts Battlefield monster kills even before starting the war.
So Zarqon adds to the idea that the monsters counts, regardless of area, especially since that count screwed him out of a Wossname. (Ah, the sacrifices we make!) However, he does raise an interesting point: This could potentially be a KoL bug.
 

Veracity

Developer
Staff member
I'm (almost) in a position to test this.

I faxed in a mobile grill unit at level 11 and yellow rayed it to get the outfit. I also YR'ed a Bailey's beetle to get the shield and the outfit. I intend to do the war as a Frat, but I will run a few turns as a hippy and see how many turns it takes on the battlefield to change from frat image #0 to frat image #1. If it happens after 2 frat kills, that'll prove that the pre-war faxed mobile grill unit counted as a war kill.
 

Darzil

Developer
If so you can utilise the FightRequest.isBattlefieldMonster I added to support adding the flyer button to check if they are valid for counting, rather than the location fought.
 

Veracity

Developer
Staff member
Confirmed:

faxed a mobile grill unit before the war
when started war, frat image #0
beat 2 fratboys
frat image is now #1 - which requires 3 kills.
 

Veracity

Developer
Staff member
If so you can utilise the FightRequest.isBattlefieldMonster I added to support adding the flyer button to check if they are valid for counting, rather than the location fought.
I may refactor this a bit. FightRequest.java:

Code:
	public static final boolean isBattlefieldMonster()
	{
		AreaCombatData fratbattlefield = AdventureDatabase.getAreaCombatData( "The Battlefield (Frat Uniform)" );
		AreaCombatData hippybattlefield = AdventureDatabase.getAreaCombatData( "The Battlefield (Hippy Uniform)" );
		
		MonsterData monster = MonsterDatabase.findMonster( MonsterStatusTracker.getLastMonsterName(), false );
		
		if( fratbattlefield.hasMonster( monster ) || hippybattlefield.hasMonster( monster ) )
		{
			return true;
		}
		return false;
	}
IslandManager.java:

Code:
	private static AreaCombatData fratboyBattlefield =
		AdventureDatabase.getAreaCombatData( "The Battlefield (Frat Uniform)" );
	private static AreaCombatData hippyBattlefield =
		AdventureDatabase.getAreaCombatData( "The Battlefield (Hippy Uniform)" );
...
		MonsterData monster = MonsterStatusTracker.getLastMonster();
...
		// Decide whether we defeated a hippy or a fratboy warrior
		if ( IslandManager.fratboyBattlefield.hasMonster( monster ) )
		{
			IslandManager.fratboy = false;
		}
		else if ( IslandManager.hippyBattlefield.hasMonster( monster ) )
		{
			IslandManager.fratboy = true;
		}
In other words, IslandManager already has a static AreaCombatData for the two sides.
 

Veracity

Developer
Staff member
Revision 12985 will now do normal "battlefield monster" processing for any battlefield monster, whether it came from a fax, putty, or what have you, and update kills appropriately.

Revision 12986 will not waste time doing that if you happen to encounter such a monster after the war is finished.
 
Top