MasterCipher Posted May 24, 2016 Posted May 24, 2016 (edited) Last I read from 2015, bloody slaughter only kicks in below 10%, rightfully causing many to abandon it. However, I've seen in 2016 trigger above 10% more than once. Yesterday, I killed an enemy with ray of fire and the beam persisted for 8 seconds after death, tethered to the corpse. Naturally, I moved my paladin into the beam and it scored a bloody slaughter hit to crit when his endurance (formerly the word incorrectly typed as health, again) was around 75%. Anyone know what the health thresholds really are for bloody slaughter? Edited May 25, 2016 by MasterCipher
MaxQuest Posted May 24, 2016 Posted May 24, 2016 Lol I remember I was checking the asset for Bloody Slaughter (either in 2.03 or 3.00). And it was a 10% threshold. I will be able to check it again later, after work. 1 PoE1 useful stuff: attack speed calculator, unofficial patch mod, attack speed mechanics, dot mechanics, modals exclusivity rules PoE2 useful stuff: community patch, attack speed mechanics, enemy AR and defenses
Reent Posted May 24, 2016 Posted May 24, 2016 (edited) hmmm, i dont know the threshholds, however i tested it right now with a chanter (you get many many hit effects in... so easy to see if it proggs) and the enemy had to be "almost dead" for it to trigger... so doesnt look like a simple changed % bug that triggered your 75% bloody slaughter Edited May 24, 2016 by Reent
nem0 Posted May 24, 2016 Posted May 24, 2016 There was a post on project eternity subreddit a few weeks ago where a modder found the threshold is at 10%, you can look around for it there if you want.
Loren Tyr Posted May 24, 2016 Posted May 24, 2016 I thought there was talk of raising the threshold at some point. Certainly won't be 75% of course though, so maybe it's just a strange interaction with Ray of Fire. Could be that it checked the Bloody Slaughter against the Endurance % of the recently deceased target rather than your paladin. (by the way, I'm assuming you meant 75% endurance, rather than health)
Blades of Vanatar Posted May 24, 2016 Posted May 24, 2016 If that's the case then that can be easily exploited. Just drop a Ray on a weakened back row enemy and you get bonus Bloody Sluaghterer output vs healthy opponents. Sounds like a tactic built for Boeroer's Rogue-Mage apprentice build. No matter which fork in the road you take I am certain adventure awaits.
Blades of Vanatar Posted May 24, 2016 Posted May 24, 2016 If that's the case then that can be easily exploited. Just drop a Ray on a weakened back row enemy and you get bonus Bloody Sluaghterer output vs healthy opponents. Sounds like a tactic built for Boeroer's Rogue-Mage apprentice build. No matter which fork in the road you take I am certain adventure awaits.
MaxQuest Posted May 24, 2016 Posted May 24, 2016 (edited) Ok, have checked the ingame files for 3.02 version.Short version: the endurance threshold is still 10%.Long version:As you can see Bloody Slaughter affects stats 219 and 227: These do correspond to the following status effects:219: BonusHitToCritPercentEnemyBelow10Percent | Tooltip("Converts Value percent (0-100) of the target's hits to crits against enemies with <10% stamina.")227: BonusCritHitMultiplierEnemyBelow10Percent | Tooltip("The target's critical hit damage multiplier is increased by Value against enemies with <10% stamina.")]And these are used in: CharacterStats: if (Object.op_Implicit((Object) health) && (double) health.StaminaPercentage < 0.100000001490116) num += this.Bonu****ToCritPercentEnemyBelow10Percent; if (component2 != null && component2.StaminaPercentage < 0.1f) { num5 += this.CritHitDamageMultiplierBonusEnemyBelow10Percent; // which was using the bonus } Conclusions:- You don't get benefits of BloodySlaughter talent on enemies that have current/max endurance higher than 10%.- As for your case: I am not completely sure why it happened, but my guess would be that once your target died, for some reason the attack wasn't properly reset, keeping the old TargetObject. When your paladin has moved into the ray, it used the current/max endurance of that enemy, which was zero/somevalue, hence less than 10%.- Bonus.Hit written together gets censored Edited May 24, 2016 by MaxQuest PoE1 useful stuff: attack speed calculator, unofficial patch mod, attack speed mechanics, dot mechanics, modals exclusivity rules PoE2 useful stuff: community patch, attack speed mechanics, enemy AR and defenses
Loren Tyr Posted May 24, 2016 Posted May 24, 2016 (edited) It must indeed have been a glitch with the ray, though it still seems strange that it would use the ray target's endurance at all; wouldn't expect it to do that when the ray target is still alive < 10% Endurence either, after all. But given that it stayed active for 8 more seconds clearly something went awry with it, normally it shuts off pretty quickly after the main target expires. MaxQuest, if I may ask: does the Death Godlike Death's Usher racial also kick in at 10%? It uses the same "enemies with low endurence" phrasing so I would think so, but it's rather difficult to tell (not sure it even shows up in the combat log when it adds damage). Is that C++ by the way? Or C# perhaps? Has a "C++ ish but not quite" vibe to it. Edited May 24, 2016 by Loren Tyr
MaxQuest Posted May 24, 2016 Posted May 24, 2016 (edited) MaxQuest, if I may ask: does the Death Godlike Death's Usher racial also kick in at 10%? It uses the same "enemies with low endurence" phrasing so I would think so, but it's rather difficult to tell (not sure it even shows up in the combat log when it adds damage).That one has a check against 25% of endurance.AffectStat 71 = BonusDamageMultOnLowStaminaTarget if (affectsStat == StatusEffect.ModifiedStat.BonusDamageMultOnLowStaminaTarget) { Health component8 = enemy.GetComponent<Health>(); if (component8 != null && component8.CurrentStamina / component8.MaxStamina < 0.25f) { damage.DamageMult(currentAppliedValue); } return; } Is that C++ by the way? Or C# perhaps? Has a "C++ ish but not quite" vibe to it.It's decompiled C# (via IL Spy) Edited May 24, 2016 by MaxQuest PoE1 useful stuff: attack speed calculator, unofficial patch mod, attack speed mechanics, dot mechanics, modals exclusivity rules PoE2 useful stuff: community patch, attack speed mechanics, enemy AR and defenses
Stasis_Sword Posted May 24, 2016 Posted May 24, 2016 (edited) MaxQuest is "this" in the code above the attack or the attack against a specific enemy? For a normal auto attack or cripling strike the difference wouldn't matter. However if you cast a fireball and one target is below the threshold is it possible the bonuses might carry over to all targets? Edit: I was referring to the code in post 7. Edited May 24, 2016 by Stasis_Sword
Loren Tyr Posted May 24, 2016 Posted May 24, 2016 Cool! Didn't know disassemblers gave such readable code. Logically, the 'this' in that code block refers to an attack against an individual enemy; note that the Tooltip says "the target", singular. And in terms of implementation it makes much more sense to code it that way as well, generating attacks against different enemies as separate objects. All sorts of parameters will vary across enemies after all, depending on all sorts of conditions, so it will tend to be easiest to generate a stack of separate events rather than one big compound one (that's how I'd do it, anyway). Case in point, the 'num' on the third line will presumably be conditinally increased by Minor Threat as well.
MasterCipher Posted May 25, 2016 Author Posted May 25, 2016 Maxquest, thanks for looking into that! Under 10% is not useful for most builds
MaxQuest Posted May 25, 2016 Posted May 25, 2016 (edited) ^ True that. The only builds I can think of that would benefit from it, are: - Inspiring Wayfarer - [2H] or [1H] barbarian with Bloodlust and Blood Thirst. And even than it's a questionable choice. MaxQuest is "this" in the code above the attack or the attack against a specific enemy? For a normal auto attack or cripling strike the difference wouldn't matter. However if you cast a fireball and one target is below the threshold is it possible the bonuses might carry over to all targets?"This" is an instance of CharacterStats class. The [bonu****ToCritPercentEnemyBelow10Percent] is added inside of ComputeHitAdjustment(int hitValue, CharacterStats enemyStats, DamageInfo damage) method. The [CritHitDamageMultiplierBonusEnemyBelow10Percent] is added inside of AdjustDamageDealt(GameObject enemy, DamageInfo damage, bool testing) method. What types of attacks are calling these methods I will be able to check later. But most likely the damage and hit adjustments are calculated against each enemy separately. Edited May 25, 2016 by MaxQuest PoE1 useful stuff: attack speed calculator, unofficial patch mod, attack speed mechanics, dot mechanics, modals exclusivity rules PoE2 useful stuff: community patch, attack speed mechanics, enemy AR and defenses
Stasis_Sword Posted May 25, 2016 Posted May 25, 2016 Loren Tyr and Max Quest I agree that the attacks should be (and likely are) scoped properly. Improper scoping was the only thing I could think of that might explain the effect described other than the obvious that the attack was super bugged. Side question: Why on earth didn't they just put the threshold at 20% (Near Death)? It would make the ability slightly better and way more intuitive.
Yosharian Posted May 25, 2016 Posted May 25, 2016 Loren Tyr and Max Quest I agree that the attacks should be (and likely are) scoped properly. Improper scoping was the only thing I could think of that might explain the effect described other than the obvious that the attack was super bugged. Side question: Why on earth didn't they just put the threshold at 20% (Near Death)? It would make the ability slightly better and way more intuitive. You must be new here Yosharian's Deadfire Builds
MaxQuest Posted May 25, 2016 Posted May 25, 2016 Loren Tyr and Max Quest I agree that the attacks should be (and likely are) scoped properly. Improper scoping was the only thing I could think of that might explain the effect described other than the obvious that the attack was super bugged.Have backtraced the AdjustDamageDealt() for AttackAoE. Yeah, the damage is calculated and adjusted for each enemy caught in AoE, one by one. As for beam, it has explicit conditions to end if: - duration ran out - owner is dead or unconscious - enemy is dead or unconscious And it is hard to be more specific when it comes to ene Side question: Why on earth didn't they just put the threshold at 20% (Near Death)? It would make the ability slightly better and way more intuitive.It could be that it was written by different programmers while being designed by different designers. Also it looks like they were in a little rush, not having enough of time to refactor the code, and bring the consistency in all the things. A lot of stuff was changed since alpha. There are some legacy constant values here and there giving away that some stuff was originally intended to work differently. And when such changes accumulate in big numbers, you might get a mess in your head being unable to keep everything in memory. Ofc there are methodologies to avoid this... but the trade-off is speed of development. PoE1 useful stuff: attack speed calculator, unofficial patch mod, attack speed mechanics, dot mechanics, modals exclusivity rules PoE2 useful stuff: community patch, attack speed mechanics, enemy AR and defenses
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now