Skip to content

Allow 1.09 Missing Logic in Hellfire#7864

Closed
kphoenix137 wants to merge 1 commit intodiasurgical:masterfrom
kphoenix137:hellfire-bow
Closed

Allow 1.09 Missing Logic in Hellfire#7864
kphoenix137 wants to merge 1 commit intodiasurgical:masterfrom
kphoenix137:hellfire-bow

Conversation

@kphoenix137
Copy link
Copy Markdown
Collaborator

Allows for "Readiness and Swiftness" Bows in Hellfire to match their Diablo counterparts without removing the increased arrow velocity introduced in Hellfire.

The reason this logic is missing in Hellfire is because due to programming oversights at the time Hellfire was developed within Diablo 1.04. We've made changes in DevilutionX similar to this type of change already, unifying behavior between Diablo and Hellfire.

Diablo 1.04 + Hellfire -VS- Diablo 1.09 -VS- DevilutionX

Mana Shield

Diablo 1.04: Formula was backwards, resulting in a loss of efficiency with increased Spell Level
Hellfire: Bug wasn't noticed, and remained
Diablo 1.09: Bug was sloppily fixed by forcing max damage reduction at any Spell Level
DevilutionX: Behavior unified; 1.04 formula was reversed and correct bugfix applied

Hit Recovery

Diablo 1.04: Logic was entirely absent
Hellfire: Added frame skipping logic
Diablo 1.09: Added frame skipping logic, but differently than Hellfire, creating the "Zen" exploit
DevilutionX: Behavior unified and Zen exploit was removed

Increased Attack Speed

Diablo 1.04: Logic was entirely absent
Hellfire: Added increased arrow velocity
Diablo 1.09: Added the missing logic, matching both the affix description and mirroring the logic from melee IAS (frame skipping)
DevilutionX: Left it as-is

As you can see, increased arrow velocity was not intended to remove 1.09 frame skipping logic, because it never existed at the time, a known bug. I don't believe the behavior should be fully unified, because the increased arrow velocity itself is an intended added feature by Sierra. Both the 1.09 logic and Hellfire logic working in tandem doesn't necessarily create a situation where the affix power becomes overpowered. Re-inserting this logic into DevilutionX Hellfire doesn't involve overwriting original Hellfire logic, so it's a safe bet. The 1.09 frame skipping logic missing from Hellfire has overall been a turn-off for Rogue players playing Hellfire, making the Swiftness Bow virtually useless.

@wkdgmr
Copy link
Copy Markdown
Contributor

wkdgmr commented Mar 19, 2025

As a Hellfire player I would like to see the Hellfire behavior unified with Diablo, with perhaps a toggle (lua) that says something like "Hellfire: Attack Speed Suffix's Increase Arrow Velocity". When toggled on this wouldn't take away the fixed unified behavior, but instead increase the arrow velocity while maintaining the unified frame skip logic.

@StephenCWills
Copy link
Copy Markdown
Member

I don't believe the behavior should be fully unified, because the increased arrow velocity itself is an intended added feature by Sierra.

Have you considered unifying by introducing both features into Diablo as well?

@kphoenix137
Copy link
Copy Markdown
Collaborator Author

kphoenix137 commented Mar 19, 2025

I don't believe the behavior should be fully unified, because the increased arrow velocity itself is an intended added feature by Sierra.

Have you considered unifying by introducing both features into Diablo as well?

No, because increased arrow velocity is an added hellfire feature. That would be along the lines of adding missile deflection to blocking in Diablo.

@kphoenix137
Copy link
Copy Markdown
Collaborator Author

kphoenix137 commented Mar 19, 2025

As a Hellfire player I would like to see the Hellfire behavior unified with Diablo, with perhaps a toggle (lua) that says something like "Hellfire: Attack Speed Suffix's Increase Arrow Velocity". When toggled on this wouldn't take away the fixed unified behavior, but instead increase the arrow velocity while maintaining the unified frame skip logic.

I plan on turning all hellfire changes and additions into individual Lua mods which are packaged together.

@StephenCWills
Copy link
Copy Markdown
Member

StephenCWills commented Mar 20, 2025

No, because increased arrow velocity is an added hellfire feature. That would be along the lines of adding missile deflection to blocking in Diablo.

The way I see it, the fact that we are not unifying the code is tantamount to an admission that no solution is clearly better than another. In the face of uncertainty--regarding both intent of the original developers and also a clearly better approach--we're probably better off leaving both games alone.

But also, this is not the hill I intend to die on. Ultimately, it won't affect me much one way or another.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants