• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 03:08:41 pm

News:

Don't be hasty to start your own mod; all our FFT modding projects are greatly understaffed! Find out how you can help in the Recruitment section or our Discord!


Rebalance Magical an Physical Damage in level growth

Started by Rfh, May 20, 2012, 05:41:35 am

Rfh

I said time ago I will do a guide and here is the guide.

To start...

Well in this guide I will tell you how this works. Many people are unaware of the serious problem involves creating magic without different levels. The typical example is to replace Calculator by Sage and put spells with the same level.


Understanding the problem

- To begin we have to see how the weapon damage:
There are two variables, PA and WP These two values ​​increase when increase your level (gain PA) and history proresion (gain WP) Therefore, the damage is much greater each time.
- Magical Damage:
What's happen? For a simple spell there are only one variable: MA. The Y value doesn't change, therefore the damage is much less variable than the weapon damage. Here a calculations:

Physical damage using PA: 5 and WP: 4   Formula Dmg_(WP*PA) = 20 damage
Magical Damage with MA: 5 , Y: 10, 65 Faith the caster and the target Formula Dmg F_(MA*Y) = 21 Damage

This is balanced, but that occurs later in the game...

Physical damage using PA: 20 and WP: 15   Formula Dmg_(WP*PA) = 300 damage
Magical Damage with MA: 20 , Y: 10, 65 Faith the caster and the target Formula Dmg F_(MA*Y) = 84 Damage

Well you can see the big difference. (The Gear raise HP in progressive way at the same time that the weapons, but what happens with the magic?,  For fix this Square use different magics levels with progresive Y values. You see Black Magic, White Magic, Draw Out  and Summon.

But this system has 2 problems:

- If you save JP to learn an advanded level spell, you'll cause a very big damage early in game.
- ''I want to create for example, a Sage job with only 2  magic spells (Aero and Quake) or remplace the diffrents magic levels of Black Mage to different elemental magics.''

Fix the problem


See this formula: (MA+Y)/2*MA

In this exist 2 variables. For the for the previous example:

MA=6   6/2*6= 18 Damage
MA=24   24/2*24 288 Damage

Here is the solution!
(You can use  (PA+Y)/2*PA and (PA+Y)/2*MA too if you don't want Weapon damages)

But, there is a problem... you obtain your best gear in level 40-50.  So ''WP variable'' in Weapon Damage ends at this level   however the variable of this formula ends at level 100. How I can fix this?

- Create gear from level 1 to 99. For do this I have an idea. An ASM hack that makes this:
Shop Availabity is based on your your the maximium unit level in the party and the level for unlock each item is the value put in ''Enemy level'' in FFPatcher. The hack is at the end of the topic.
Here is a example about sword and armor gear:

Weapons:

Level 1: 3 WP
Level 8. 4 WP
Level 16. 5 WP
Level 26 6 WP
Level 37: 7 WP
Level 49: 8 WP
Level 65: 9 WP
Level 78: 10 WP
Level 95: 11 WP
Special: 12 WP

Armor and Helmets:

Level 1: +2 +8 HP´
Level 8: +3 (Helmet)
Level 12: +10 (Armor)
Level 16: +5 (Helmet)
Level 20: +17(Armor)
Level 26: +8, +34
Level 36: +12, +53
Level 49: +15, +70
Level 65: +20, +90
Level 70: +25 +110
Level 78. +32 +140
Level 86: +35 +150
Level 91 +42 (Helmet)
Level 94: +193 (Armor)
Level 96: +48 (Helmet)
Level 98: +215 (Armor)
Special: +50, +230

Media Growth and multiplier:
HPG:10
HPM: 140
PAG: 45 (For Physical Clases)
PAM: 130 (For Physical Classes)
MAG: 45 (For Magical Classes)
MAM: 135 (For Magical Classes)

Using the formula (MA*1)/1*MA, this gear and stats and Pride Job defensive boost (Media reduced all damage by 33%) Always in all levels you need 5 hits to kill the unit.


ASM hacks

Here is the Gear hack, and my multiple Formula edit hacks, makes possible this:
Dmg_F(MA*Y/X*MA)
Heal_F(MA*Y/X*MA)
Heal_(MA*Y/X*MA)
Dmg_(MA*Y/X*MA)
Dmg_(PA*Y/X*MA)
Dmg_(PA*WP*Y/X)
Dmg_(PA*Y/X*PA)

Here are the hacks:

<Patch name="Shop Availabity is based on your the maximium unit level in the party and the level for unlock each item is the value put in ''Enemy level'' in FFPatcher.">
<Description>Shop Availabity is based on your the maximium unit level in the party and the level for unlock each item is the value put in ''Enemy level'' in FFPatcher</Description>
<Location file="WORLD_WORLD_BIN" offset="0451BC">
BA2E2290
</Location>
<Location file="WORLD_WORLD_BIN" offset="045128">
F2F8040C
00000000
</Location>
<Location file="WORLD_WORLD_BIN" offset="05e3c8">
0580023C
747F4224
16004290
00000000
4C940408
00000000
</Location>
</Patch>

<Patch name="All damage formulas become: Final Damage/X">
    <Description>The X value is adjustable with FFTPacher in each ability, For example, formula 2D Dmg_(PA*(WP+Y)) 100% Status become Dmg_(PA*(WP+Y))/X . If the X value is 0, counts as /1. Incompatible with Pride Job Defensive Boost </Description>
    <Location file="BATTLE_BIN" offset="11F568">
EF760508
00000000



    </Location>
    <Location file="BATTLE_BIN" offset="F6BBC">
1980043C
F9388490
1980033C
CE386394
1980023C
D0384294
00000000
18006200
12100000
1A004400
1980033C
902D638C
80000234
250062A0
12100000
0800E003
040062A4
00000000


    </Location>
  </Patch>



<Patch name="All damage formulas become: Final Damage/X.- Requires Pride Job Defensive Boost ">
    <Description>The X value is adjustable with FFTPacher in each ability, For example, formula 2D Dmg_(PA*(WP+Y)) 100% Status become Dmg_(PA*(WP+Y))/X . If the X value is 0, counts as /1</Description>
  <Location file="BATTLE_BIN" offset="11F568">            
1980033C
CE386394
1980023C
D0384294
1680063C
1980053C
D638A584
0680043C
C0280500
21208500
F6EB8590
B3770508
00000000            
</Location>   
    <Location file="BATTLE_BIN" offset="f6ecc">
18006200
12100000
1980073C
F938E790
1A004700
12100000
F1760508
00000000



    </Location>
</Patch>

<Patch name="Multiple Formula edits">
    <Description>Edits:
08 Dmg_F(MA*Y) become Dmg_F(MA*Y*MA)
0C Heal_F(MA*Y) become Heal_F(MA*Y*MA)
23 Heal_(MA*Y) become Heal_(MA*Y*MA)
1E,5E,5F and 60 Dmg_((MA+Y)*MA/2) become Dmg_(MA*Y*MA)
24 Dmg_((PA+Y)/2*MA) become Dmg_(PA*Y*MA)
2D Dmg_(PA*(WP+Y)) become Dmg_(PA*WP*Y)
31 Dmg_((PA+Y)/2*PA) become Dmg_(PA*Y*PA)

</Description>
    <Location file="BATTLE_BIN" offset="11ECE8">
      18006200
      12100000
    </Location>
    <Location file="BATTLE_BIN" offset="11ED28">
      18006200
      12100000
    </Location>
    <Location file="BATTLE_BIN" offset="11EE78">
      D3770508
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="F6F4c">
      18006200
      12100000
      1980013C
      A0170608
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="11ECE8">
      18006200
      12100000
    </Location>
    <Location file="BATTLE_BIN" offset="121D9C">
      3017060C
    </Location>
    <Location file="BATTLE_BIN" offset="121F00">
      3017060C
    </Location>
    <Location file="BATTLE_BIN" offset="12268C">
      3017060C
    </Location>
  </Patch>


Sorry for my English level... I'm Spanish!
  • Modding version: PSX
  • Discord username: rfh

Rfh

I uptaded the first post with the all hacks that need the tutorial. Anyway, here are:

<Patch name="Shop Availabity is based on your the maximium unit level in the party and the level for unlock each item is the value put in ''Enemy level'' in FFPatcher.">
<Description>Shop Availabity is based on your the maximium unit level in the party and the level for unlock each item is the value put in ''Enemy level'' in FFPatcher</Description>
<Location file="WORLD_WORLD_BIN" offset="0451BC">
BA2E2290
</Location>
<Location file="WORLD_WORLD_BIN" offset="045128">
F2F8040C
00000000
</Location>
<Location file="WORLD_WORLD_BIN" offset="05e3c8">
0580023C
747F4224
16004290
00000000
4C940408
00000000
</Location>
</Patch>

<Patch name="All damage formulas become: Final Damage/X">
    <Description>The X value is adjustable with FFTPacher in each ability, For example, formula 2D Dmg_(PA*(WP+Y)) 100% Status become Dmg_(PA*(WP+Y))/X . If the X value is 0, counts as /1. Incompatible with Pride Job Defensive Boost </Description>
    <Location file="BATTLE_BIN" offset="11F568">
EF760508
00000000



    </Location>
    <Location file="BATTLE_BIN" offset="F6BBC">
1980043C
F9388490
1980033C
CE386394
1980023C
D0384294
00000000
18006200
12100000
1A004400
1980033C
902D638C
80000234
250062A0
12100000
0800E003
040062A4
00000000


    </Location>
  </Patch>



<Patch name="All damage formulas become: Final Damage/X.- Requires Pride Job Defensive Boost ">
    <Description>The X value is adjustable with FFTPacher in each ability, For example, formula 2D Dmg_(PA*(WP+Y)) 100% Status become Dmg_(PA*(WP+Y))/X . If the X value is 0, counts as /1</Description>
  <Location file="BATTLE_BIN" offset="11F568">           
1980033C
CE386394
1980023C
D0384294
1680063C
1980053C
D638A584
0680043C
C0280500
21208500
F6EB8590
B3770508
00000000           
</Location>   
    <Location file="BATTLE_BIN" offset="f6ecc">
18006200
12100000
1980073C
F938E790
1A004700
12100000
F1760508
00000000



    </Location>
</Patch>

<Patch name="Multiple Formula edits">
    <Description>Edits:
08 Dmg_F(MA*Y) become Dmg_F(MA*Y*MA)
0C Heal_F(MA*Y) become Heal_F(MA*Y*MA)
23 Heal_(MA*Y) become Heal_(MA*Y*MA)
1E,5E,5F and 60 Dmg_((MA+Y)*MA/2) become Dmg_(MA*Y*MA)
24 Dmg_((PA+Y)/2*MA) become Dmg_(PA*Y*MA)
2D Dmg_(PA*(WP+Y)) become Dmg_(PA*WP*Y)
31 Dmg_((PA+Y)/2*PA) become Dmg_(PA*Y*PA)

</Description>
    <Location file="BATTLE_BIN" offset="11ECE8">
      18006200
      12100000
    </Location>
    <Location file="BATTLE_BIN" offset="11ED28">
      18006200
      12100000
    </Location>
    <Location file="BATTLE_BIN" offset="11EE78">
      D3770508
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="F6F4c">
      18006200
      12100000
      1980013C
      A0170608
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="11ECE8">
      18006200
      12100000
    </Location>
    <Location file="BATTLE_BIN" offset="121D9C">
      3017060C
    </Location>
    <Location file="BATTLE_BIN" offset="121F00">
      3017060C
    </Location>
    <Location file="BATTLE_BIN" offset="12268C">
      3017060C
    </Location>
  </Patch>
  • Modding version: PSX
  • Discord username: rfh

Rfh

I don't undertand why ''All damage formulas become: Final Damage/X'' don't work in EBOOT, so I create this:

<Patch name="Multiple Formula edits">
    <Description>Edits:
08 Dmg_F(MA*Y) become Dmg_F(MA*Y/X*MA)
0C Heal_F(MA*Y) become Heal_F(MA*Y/X*MA)
23 Heal_(MA*Y) become Heal_(MA*Y/X*MA)
1E,5E,5F and 60 Dmg_((MA+Y)*MA/2) become Dmg_(MA*Y/X*MA)
24 Dmg_((PA+Y)/2*MA) become Dmg_(PA*Y/X*MA)
2D Dmg_(PA*(WP+Y)) become Dmg_(PA*WP*Y/X)
31 Dmg_((PA+Y)/2*PA) become Dmg_(PA*Y/X*PA)

</Description>
    <Location file="BATTLE_BIN" offset="11ECE8">
      8F780508
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="11ED28">
      86780508
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="11EE78">
      7C780508
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="F71F0">
18006200
12100000
1980033C
F9386390
00000000
1A004300
12100000
1980013C
A0170608
00000000
18006200
12100000
1980033C
F9386390
00000000
1A004300
12100000
4C170608
00000000
18006200
12100000
1980033C
F9386390
00000000
1A004300
12100000
3C170608
00000000
18006200
12100000
1980033C
F9386390
00000000
1A004300
12100000
5C170608
00000000

    </Location>
    <Location file="BATTLE_BIN" offset="11Ed68">
      98780508
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="121D9C">
      3017060C
    </Location>
    <Location file="BATTLE_BIN" offset="121F00">
      3017060C
    </Location>
    <Location file="BATTLE_BIN" offset="12268C">
      3017060C
    </Location>
  </Patch>


Note: If you put X=0 ( /0) in any cited formula, the game freeze.  (only in eboot)

And for the problem in multihit formulas (use X for determine the hits) I do this:


<Patch name="Multi-hit Formulas always hit (1+#)">
    <Location file="BATTLE_BIN" offset="1165CC">
      ##001034
    </Location>
  </Patch>
  • Modding version: PSX
  • Discord username: rfh

LastingDawn

Why hasn't anyone replied to this yet? This is some very impressive work RfH!
"Moment's anger can revert to joy,
sadness can be turned to delight.
A nation destroyed cannot be restored,
the dead brought back to life."

Art of War

Beta & Gretchen Forever!!!!

Timbo

People probably aren't responding because it's a metric shitload of information.

Let me see if I have this right it replaces the Y value of the various magic formula's with a variable derived from the highest leveled member of your party to create spells that scale as the game progresses. To make use of this you have to set the Gear hack and scale the equipment availability to cover from levels 1 to 99, right?

  • Modding version: PSX
  • Discord username: Timbo

RavenOfRazgriz

I figured the reason no one replied is that most people realized the flaws in the logic presented and just didn't feel it worth the effort to dissect and refute it.  That's the reason I never replied, anyway...

Emmy

Quote from: Rfh on July 01, 2012, 11:44:31 am
I don't undertand why ''All damage formulas become: Final Damage/X'' don't work in EBOOT, so I create this:

<Patch name="Multiple Formula edits">
    <Description>Edits:
08 Dmg_F(MA*Y) become Dmg_F(MA*Y/X*MA)
0C Heal_F(MA*Y) become Heal_F(MA*Y/X*MA)
23 Heal_(MA*Y) become Heal_(MA*Y/X*MA)
1E,5E,5F and 60 Dmg_((MA+Y)*MA/2) become Dmg_(MA*Y/X*MA)
24 Dmg_((PA+Y)/2*MA) become Dmg_(PA*Y/X*MA)
2D Dmg_(PA*(WP+Y)) become Dmg_(PA*WP*Y/X)
31 Dmg_((PA+Y)/2*PA) become Dmg_(PA*Y/X*PA)

</Description>
    <Location file="BATTLE_BIN" offset="11ECE8">
      8F780508
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="11ED28">
      86780508
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="11EE78">
      7C780508
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="F71F0">
18006200
12100000
1980033C
F9386390
00000000
1A004300
12100000
1980013C
A0170608
00000000
18006200
12100000
1980033C
F9386390
00000000
1A004300
12100000
4C170608
00000000
18006200
12100000
1980033C
F9386390
00000000
1A004300
12100000
3C170608
00000000
18006200
12100000
1980033C
F9386390
00000000
1A004300
12100000
5C170608
00000000

    </Location>
    <Location file="BATTLE_BIN" offset="11Ed68">
      98780508
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="121D9C">
      3017060C
    </Location>
    <Location file="BATTLE_BIN" offset="121F00">
      3017060C
    </Location>
    <Location file="BATTLE_BIN" offset="12268C">
      3017060C
    </Location>
  </Patch>


Note: If you put X=0 ( /0) in any cited formula, the game freeze.  (only in eboot)

And for the problem in multihit formulas (use X for determine the hits) I do this:


<Patch name="Multi-hit Formulas always hit (1+#)">
    <Location file="BATTLE_BIN" offset="1165CC">
      ##001034
    </Location>
  </Patch>


Anyone know how to separate the "multiple formulas edit" here to where it only affects formulas 24 and 31?  I was testing this hack out a bit, and the healing formulas portion of it doesn't work as stated.  Edits to 24 and 31 work, and I don't really need the other ones.
  • Modding version: PSX

3lric

  • Modding version: PSX

Ashiel

Quote from: RavenOfRazgriz on August 10, 2012, 05:12:34 am
I figured the reason no one replied is that most people realized the flaws in the logic presented and just didn't feel it worth the effort to dissect and refute it.  That's the reason I never replied, anyway...

This is a little late but, could you elaborate on some of the flaws?

The reason I ask is because I too also see the magic scaling to be a bit iffy and would like something that produces a smoother progression rather than just creating bigger versions of spells, and a formula that progresses both base and multiplicative damage by MA seems like it would be a great idea. However, using FFTPatcher, I can't find any formula for this that...

1. Includes Faith in calculations (the closest I can find is formula 1F, but it deals increased damage for having lower faith).
2. There doesn't seem to be a formula that works for healing in the same way.

I'd like to look into this more but if I'm missing something that would make it a bad idea or fruitless, it would be great to know beforehand. Since you've got way more experience with FFT-modding, I'd really appreciate your thoughts on the matter.

C1REX

Necrobump but related.


What if MA growth will be significantly increased for all playable jobs like by a factor of 3?
Starting stats wouldn't change but with endgame MA at 60 or 80 it would scale at similar rate as physical attacks, wouldn't it?
Otherwise PA growth could be reduced and damage could be more WP based. Can be a combination of all of this.


I'm not sure about this one but what if magical items would have MA+ bonuses as big as WP attack bonuses? Can you make a staff with MA+25?



EDIT:
Just tested all this out and:
You can add MA+ with any value to items attributes. This means you can create rods and staffs with magic boost similar to weapon attack boost.
The only challenge is limited number of slots and high number of items that would benefit from MA bonuses.

I went another route and cut PAM and MAM by half to 50 and then increased MAC from 50 to 10. It gave me very decent results so far. Looks good on paper but I need to test in game to be sure. I also increased MA bonuses on all items that give such bonus by a factor of 3.

My wizard on paper should have 37MA at lvl 99 while PA across the board is much lower at about 10 for males.
I may tweak the MAC further to keep Fire1/Bolt1 at damage level similar to standard attack powers of knights and monks.
  • Modding version: Other/Unknown

Guru

Honestly I haven't messed around with magic too much, so can't really comment too much here. Not sure having fire1 and etc be the same as a knights attack would work out too good though, since mages are capable of learning higher damage skills, and knights only have attack. I think you might be going by stats on paper a little too much here, and forgetting about the bigger picture of how skills, equipment and stats are all used together.

When talking about the MA+ items, not sure if you were considering the idea of having weapons with increasing MA+ as you progress through the game, but I do like this concept though.

PS. Probably better to link to this topic rather than necrobump it  ;)

C1REX

I decided to go with adding MA to weapons, robes, hoods and accessories. It's seems like a bug that magic weapons don't boost spells.
I also made high level spells making smaller damage comparing to bolt 1 for example but all spells are viable options end game - at least on paper.

I also played with range a bit so spell 1,2,3,4 aren't just stronger versions of each other.
  • Modding version: Other/Unknown