Implement Blood Shrines - #10186
Implement Blood Shrines#10186
Conversation
Fix Shrine of Crows applying to DoT damage instead of just hits Fix Trigger chance on toad shrine not including 25% chance to trigger
| end, | ||
| ["BloodShrineUniqueTriggeredExplodingToad"] = function(env) | ||
| local triggerChance = env.player.mainSkill.activeEffect.srcInstance.triggerChance + env.player.modDB:Sum("BASE", nil, "BloodShrineExplodingToadTriggerChance") | ||
| return {assumingEveryHitKills = true, triggerChance = m_min(triggerChance, 100), |
There was a problem hiding this comment.
[P1] Preserve the configured chance for charge-based Toad triggers
Explosive Toad has stored uses, so the generic handler sets ignoresTickRate and enters the charge-based branch; that branch computes the trigger rate from EffectiveSourceRate without applying this triggerChance. A focused reproduction with a 0.13175/s source reports 0.13175/s here instead of 0.013175/s for Waxen Soul's 10%, and still reports 0.13175/s instead of 0.0461125/s when the Shrine's 25% is present in modDB. This can overstate the granted skill's DPS by up to 10x. Could the charge-based path consume the effective chance while preserving stored-use and rate-cap behavior, with coverage for 10%, 35%, the 100% sum cap, other charge-based triggers, and an isolated multi-hit comparison? Manual UI behavior was not exercised; the calculation failure reproduces headlessly.
AI-assisted review disclosure: This finding was identified during a review using OpenAI Codex and confirmed with a focused reproduction.
| modDB:NewMod("ChaosResistMax", "BASE", m_floor(2 * shrineEffectMod), "Lesser Resistance Shrine") | ||
| end | ||
| if modDB:Flag(nil, "BloodShrineOfRats") then | ||
| modDB:NewMod("ElementalDamageGainAsChaos", "BASE", m_floor(30 * shrineEffectMod), "Blood Shrine of Rats") |
There was a problem hiding this comment.
[P1] Include Waxen Soul's reserved-life Shrine Effect
These values use the shared shrineEffectMod, but Waxen Soul's PerStat(LifeReservedPercent) lookup receives a nil skill config before per-skill and aggregate reservation values are populated, so it contributes zero. With Waxen Soul and a Blasphemy curse reserving life, a focused reproduction keeps Rats at 30% instead of floor(30 * 1.14) = 34%; all five Blood Shrines are affected, and direct inspection predicts the same shared, potentially pre-existing omission for ordinary Shrines. Could the reservation-derived portion be made available here or applied after reservation, while preserving Massive Shrine's early life-pool dependency, and covered with both Blood and ordinary Shrine cases? Manual UI behavior was not exercised; the calculation failure reproduces headlessly.
AI-assisted review disclosure: This finding was identified during a review using OpenAI Codex and confirmed with a focused reproduction.
Description of the problem being solved:
This PR implements support for Blood Shrines from the unique
Waxen Soul.Steps taken to verify a working solution:
Waxen SoulAfter screenshot: