Please login or register.

Login with username, password and session length
Advanced search  

News:

Use of ePSXe before 2.0 is highly discouraged. Mednafen/RetroArch is recommended for playing/testing, pSX is recommended for debugging.

Pages: [1]
Nukas [Posts: 2]
  • View Profile
  • share
  • [February 13, 2018, 12:31:23 AM]
Xif's Fury hack modification (Brave & Faith rework)
« on: February 13, 2018, 12:31:23 AM »
Hello, this is my first post and the first time I touch assembly code in years, so please bear with me.
While collecting ASM hacks for a personal mod, I stumbled upon Xifanie's "Brave becomes Fury". It didn't quite fit my needs, but with a few tweaks I thought I could get it to do something that'd be useful to me.

The original formula was: (40 + Caster_Fury) * (40 + Target_Fury) * Total_Damage / 10000
The new formula is essentially: ((200 + Caster_Br) / (200 + Target_Br)) * Total_Damage
What it does is basically increase your damage if your Brave is higher than your opponent's, and decrease your damage if it's lower than your opponent's, both proportionally of course.
An attacker with 100 Bravery attacking a target with 0 Brave would have their damage increased to 1.5x the original value.
An attacker with 0 Bravery attacking a target with 100 Brave would have their damage decreased to 2/3rds of the original value.
The final damage range is 66%~150% of the original.

My main reason for using this formula is wanting to use Brave as a "fighting ability" sort of stat, and creating buffs and debuffs around Brave manipulation.

So anyway here's it:


You can change the value from 200 (C8) to something else to change the minimum and maximum damage modifiers. Don't change it to zero.
Multiplying the Attacker's Bravery by 1024 before dividing it by the Defender's was my implementation choice to soften the issue of loss of precision after division. With these values, the final result should be within "1" (one) of the expected value.
It also should have no load delays.


UPDATE: So my original modification was completely borked because I didn't really understand Xifanie's code. Spells were giving off really odd numbers. It should be fixed now.
I also made another xml to edit the Faith routine and apply the same formula to Faith calculation. So basically every spell damage/accuracy will use this same 66%~150% formula.
Using both the Brave and the Faith ASMs attached should basically rework the Brave/Faith system into something completely different. I'm aware many people prefer the old "high risk high reward" mechanics, and this requires a lot of extra work to - well, work... since all spells which accuracy is based on Faith will have to have their values changed to adapt to the new system. But it's nice to always have more options, I guess.


Again, I haven't tested them extensively yet. But now they do seem to work. Better.
« Last Edit: February 14, 2018, 10:17:30 PM by Nukas »
    • Modding version: PSX
  • Nyzer [Posts: 825]
    • View Profile
    • share
    • [February 13, 2018, 03:02:15 AM]
    Re: Xif's Fury hack modification
    « Reply #1 on: February 13, 2018, 03:02:15 AM »
    An interesting concept, though, I've gotta say, it only worsens the problem the Fury modification intends to address.

    Turning Bravery into Fury means lower Br values are actually somewhat useful. Your change makes them even less useful than they already are.

    • Modding version: PSX & WotL
  • Nukas [Posts: 2]
    • View Profile
    • share
    • [February 13, 2018, 04:13:22 AM]
    Re: Xif's Fury hack modification
    « Reply #2 on: February 13, 2018, 04:13:22 AM »
    Ah yes, personally I'm trying to get rid of stat breaks given how annoying they are to balance. Last I heard Xif's stat break cap hack had some reported issues, so I was looking for an alternative, or better yet, to work around the whole concept.

    Allowing Br to affect damage this way at least lets you manipulate Br as another stat rather than say PA with stat breaks and buffs, and thanks to some other ASMs we already have (remove permanent brave/faith alteration and smart brave/faith) and its own natural cap of 0-100, I feel like this becomes a nice alternative. But I have to admit, my stuff is still at the brainstorming stage, so it's quite possible it won't work out well this way.
    Pages: [1]