Purging Flames Penance

Issue Type (Required):

Penances

Issue Description (Required):

The penance doesn’t count burning enemies accurately, I can burn a group of 20 poxwalkers and not damage them with anything other than the immolation grenade, but I only see the penance go up by 1 or 2. The count doesn’t increase as it should and there doesn’t appear to be any reason why.

Steps to Reproduce (Required):

Throw an immolation grenade on the floor and burn enemies

Mission Name (Optional):

Archivum Sycorax

[PC] Do You Use Mods? (Optional):

Yes, and I’ve tried disabling them

Reproduction Rate (Required):

Constant (100%)

Platform (Required):

PC - Steam

9 Likes

I’ve had similar issues with this pennance.

I believe it only counts enemies that are effected by the direct explosion, and then dying due to the flame dot.

3 Likes

From what I saw (holding tab with the penance pinned after throwing the grenades) the uptick is random. I start by throwing it at a huge horde so the explosion gets them and I just block so they take DoT but the numbers didnt go up.
A pox hound ran in at the end and the number went up by 1 (I hit it first and then the fire finished it).

So I think it’s just not gathering the numbers correctly for whatever reason

7 Likes

Just want to add that I’ve also been suffering with this one. Like the guys above say, it seems to be totally random with how many kills it awards you: I can see numerous little red ‘x’ and damage/death sounds play, but when I press tab I will see (if I’m lucky) an increase of like 4. And I have to stress that’s if I’m lucky.

Honestly even if it counted the kills properly, this is just a really bad penance. It’s not skill based like some of the others, and if it wasn’t bugged it wouldn’t be difficult. It’s just a tedious slog to hit 2000 kills, which seems like an arbitrary number someone just pulled out the air.

6 Likes

Glad someone brought it up because I’m having the same problem.
I think there’s either a bug in the counting or the text description doesn’t match what it was counting for.

1

I’ve tried:

  1. Only burn everything to death, no other damage input.
  2. Kill everything after it gets the burn dot.

Either way I get only around 10 per 2 grenades most of the time, 90% of the time I get only 30~40 after a whole game.

I did have games where the number got up like 60 or higher, sadly I don’t remember anything about those games now.

6 Likes

Getting that penance done was so annoying, now i understand why!

4 Likes

Hopefully the thread continues to get traction and FS look to fix it, it’s the last Zealot penance I need but I’ve seen a lot of others in Discord and Reddit with similar issues.

3 Likes

I’m happy I wasn’t the only one, reported this 2 weeks ago but they misclassified it as a visual bug attached to masteries. I think it started happening once unlocked and loaded dropped bc i got the first 300 in a couple matches a long time ago and then just recently got 150 over the course of 5 or 6 matches

4 Likes

I’ve had instances where I had a nice little group of enemies all to myself, tossed the grenade, just sat there and blocked until they all died to just the fire, and not a single kill counted. And I’ve had times when I just chucked it into a horde that the whole team was shooting and swinging into, and got maybe 3 or 4 kills added to the total. It just seems completely random when it decides to tally a kill for the penance or not.

Some examples: https://youtu.be/atqc2ZOy31Y

6 Likes

Yeah I’ve played somewhere around 20 missions focusing on this penance exclusively, even attempting it in private lobbies with friends where they’ve given me entire hordes by pushing and defending the edges of the fires. All of which has only netted me ~540 additional kills since I started.

Prior to Unlocked and Loaded I had only played my Zealot to level 30, without focusing on Purging Flames, without even using Immolation Grenades primarily, and I had ~250 towards penance progress.

Glad to see this post because it seems clear that the progress is not tracking correctly. Especially given the wording, which implies that you don’t even need to kill enemies with the grenade but merely apply at least 1 stack of Burn to them with a grenade. Was beginning to think I was crazy.

3 Likes

Thanks for the video, it’s a perfect demonstration of what’s happening, if I can edit my post I’ll include it with credit to you

1 Like

Yeah, this is definitely bugged. I’ve tried several brief ‘solo’ runs on Mercantile (where you breach the wall at the start and get swarmed with hordes) on the South Africa server, .

I’ve tried blasting them with the flamethrower to see if any kind of burning damage helps (nope), and getting hits in via melee to see if you also have to tag them with other kinds of damage (nope), and just letting them burn on their own. Best I can manage is about 3-4 kills per grenade, even if they all burned from 100-to-0 by throwing the grenade into the back of the horde where the bots aren’t claiming kills.

3 Likes

Yeah it’s not as if it’s even certain enemies, it just randomly ticks up… Earlier I threw 3 grenades in a close cluster towards the end of the map though and it racked up by about 20, thought it had maybe been fixed but a few more missions later 1-4 upticks again per grenade

1 Like

Just chiming in to say that I’m experiencing this too. It regularly does not count immolation kills, and I’m not sure why. Though perhaps it doesn’t count regular horde enemies, just elites / specials? It’s taking FOREVER either way, and needs to be fixed.

3 Likes

Dropping a comment to confirm this to be the case as well. I’ve had runs where I’ve thrown a fire grenade every damn horde and I still only get 10-20 in progress. Something is definitely broken with how it counts progress. Should just be 1 progress if an enemy got caught on fire, cause that’s the description.

3 Likes

Also running into this same issue. Hope this gets fixed soon.

2 Likes

Same to me. Need this last penance for zealot. From 15± games i only got 251 out of 2000.

3 Likes

Leaving a comment so this thread aint dying. This penance is perhaps the absolute worse amongst all the grindy ones. I go on a full auric clear and throw about 9 grenades in huge hordes just to end up the mission with 20 to 40 count added. At this pace it takes an eternity I’ve been playing for half of the day and went from 980 or so to 1300.

Please get it fixed or change the ratios …

3 Likes

Just wanted to comment and say I’m experiencing the same issue. The penance is barely counting any kills when I’m getting many at a time.

2 Likes

TL;DR: EDIT 2: Confirmed immolation grenade kills whose AoE overlaps with a red barrel or a scab bombers grenade AoE will count correctly. 200 kills in 2 missions, but I was baiting hordes to red barrel.

I think it has to do with the AoE radius logic and how it tracks enemies within it. Based on behaviour from video posted above by @Ethaes (https://youtu.be/atqc2ZOy31Y) (thanks @Ethaes !!), the counter goes up by one, from a visible death for the Scab Bruiser death at 0:30 timestamp. This bruiser didn’t get hit by the initial wave of the immolation AOE and ran through it post-detonation and seems to have received all the damage for their death from the immolation grenade.

The next death counter uptick is again a scab bruiser that dies from going into the AOE post detonation and dies from solely that damage at 0:49. We see any that died from another damage source and any that died that were in the original blast radius of the immolation grenade do not count towards the counter increase.

At 1:04 we see Ethaes is at 1477 kills. At around 1:11 on their right, we see 4 groaners just outside the AoE post detonation and going into the radius; subsequently dying to DoT by 1:17. His kill count goes to 1481.

The last clip at 1:49 kind of counters this theory, as there is a groaner at the end that walks inside the AoE post detonation and dies to it without having the counter go up. But I think this is a separate issue. I think the event trigger that is checking for AoE boundary crossings is delayed. See clip starting at 0:21 shows a bruiser enter the AoE post detonation, but within 2 seconds of it being in place, and its death is not counted. But a bruiser that comes after the AoE is there for more than 4 seconds does have its death count.

I think the core issue is logic in the AoE boundary crossing event checking; specifically a time delay before it starts and how it tracks enemies within it at initialisation. I’m only guessing, but the script likely sets a flag upon entry to the AoE (which likely an event trigger in of itself) and then checks if a certain damage source (the grenade) directly causes the death AND has the flag. If a unit dies after entering the area, from immolation DOT tick, the kill is counted, but units already within do not trigger the entry event logic, thus never getting the flag. They likely have it coded this way, as there is no class for the immolation grenade damage type, otherwise there is a way easier way to track kills (just check last damage source== ImmolationGrenade). It’s likely just alt parameter fire damage that is the same as what’s used with the barrels.

i.e. Observed behaviour (time delay and unit initial position not accounted for):

function InitializeAoE(AoEcenter, AoEradius):
    thread.delay(2000)
    AoE.center = AoEcenter
    AoE.radius = AoEradius
    AoE.active = true #init boundry crossing event trigger for radius AoEradius around AoEcenter.
    # No initial check for enemies within the radius

#Boundary-Based Event Trigger; only triggers on boundry crossings. 
function OnEnemyEnterAoE(enemy): 
    enemy.hasEnteredAoE = true

function OnEnemyDeath(enemy, causeOfDeath):
    if causeOfDeath == fire_DoT and enemy.hasEnteredAoE:
        increment ImmolationGrenade_kill_counter

What we want is a check (and remove the time delay):

function InitializeAoE(AoEcenter, AoEradius):
    AoE.center = AoEcenter
    AoE.radius = AoEradius
    AoE.active = true

    # Mark all enemies initially within the AoE as affected
    for enemy in GetAllEnemies():
        if distance(enemy.position, AoE.center) <= AoE.radius:
            enemy.isAffectedByAoE = true  # Ensures all initial enemies are tracked

function OnEnemyPositionUpdate(enemy):
    # Continuously track and mark any new entries after AoE setup
    if distance(enemy.position, AoE.center) <= AoEradius:
        enemy.isAffectedByAoE = true

But I can see why this isn’t a simple fix, due to for loops being O(n) within a single call, would cause a lag spike every time someone threw an Immolation Grenade, where n is a number of enemies in a cell (do they do cells for DT?).
The better fix is to check the parameters for the damage type that is the last damage source: i.e fire damage that has been set to not hurt us and apply the counter if that subtype of fire_DoT is the last damage type.

function ApplyDamage(enemy, damageSource):
    # Retrieve the coefficient directly from the damage source class
    damageCoefficient = damageSource.getCoefficientFor(enemy.type)
    
    # Apply damage only if the coefficient is greater than zero
    if damageCoefficient > 0:
        enemy.health -= calculateDamage(damageSource) * damageCoefficient
        # Update the last damage source to track the type of damage
        enemy.lastDamageSource = damageSource

function OnEnemyDeath(enemy):
    # Increment the kill counter if the last damage source was fire_DoT 
    # and the fire_DoT (damage source) coefficient for operatives is set to 0
    if enemy.lastDamageSource == fire_DoT and enemy.lastDamageSource.getCoefficientFor(operative) == 0:
        increment ImmolationGrenade_kill_counter

This way they don’t need to check all enemy positions every time an immolation grenade is thrown. Not sure how their codebase looks and if that is how they track damage, but they should have some way to check the parameters on damage types that kill enemies, hopefully?

Regardless, this is all guess work, the thing to check is with pre-emptively throw your immolation grenade and get a hoard to run through it after it detonates by a 2-second margin. I’ll test myself today.

EDIT: Checked it by playing myself: couldn’t confirm my theory; seemed to not count bruiser who entered late in some cases, could have been killed by something stray from another player but unsure.

6 Likes