• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
April 24, 2024, 01:54:55 am

News:

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


Specific issue with an ASM (Defend = 25% dmg reduction)

Started by bht, January 11, 2014, 10:50:45 pm

bht

It works fine in an emulator. If I turn the game into an EBOOT with PSX2PSP, the damage reduction goes from XA*0.75 to XA*0.33.

I was wondering if there is a quick fix for this (it's the only ASM that I've run into an issue with on an EBOOT so far), and if so, do I need to get my Raw out or can I just patch it on top?

Thanks. And if it helps, this is the ASM:
BATTLE_BIN, offset 11F378, 4B4D0508

Angel

LOOOOOOOOOOTS of ASM hacks bork with PSP/console because of poor practices. Like, too many to list. Like, an embarrassing number. Someone will likely notice and fix eventually, though, especially since you mentioned it.
  • Modding version: PSX
* Angel should quit being a lazy bitch
<@Elric> I agree to that as well

nyanyame nyanyajuu nyanyado no nyarabide nyakunyaku inyanyaku nyanyahan nyanyadai nyannyaku nyarabete nyaganyagame
At the end of the day, are we not all trapped inside lemons?

3lric

Which version is it? Can you post your XML file into a spoiler and post it here?
  • Modding version: PSX

Angel

According to Xifanie, that hack is written in such a way that makes 'wtf' a very appropriate response to looking at it. So yeah. It will be fixed, though.
  • Modding version: PSX
* Angel should quit being a lazy bitch
<@Elric> I agree to that as well

nyanyame nyanyajuu nyanyado no nyarabide nyakunyaku inyanyaku nyanyahan nyanyadai nyannyaku nyarabete nyaganyagame
At the end of the day, are we not all trapped inside lemons?

bht

Quote from: Elric on January 11, 2014, 11:03:49 pm
Which version is it? Can you post your XML file into a spoiler and post it here?


I think it's the one that comes with FFTPatcher suite 482.

<Patch name="Defend reduces physical dmg by 25%">
<Location file="BATTLE_BIN" offset="11F378">
4B4D0508
</Location>
<Location file="BATTLE_BIN" offset="11E48A">42</Location>
<Location file="BATTLE_BIN" offset="EC52C">
21204000
58008390
02006330
03006014
5B008290
E0180608
00000000
CE382384
21106000
40100200
21104300
82100200
CE3822A4
982D228C
5B004290
E0180608
00000000
</Location>
</Patch>


Quote from: Toshiko on January 11, 2014, 11:03:23 pm
LOOOOOOOOOOTS of ASM hacks bork with PSP/console because of poor practices. Like, too many to list. Like, an embarrassing number. Someone will likely notice and fix eventually, though, especially since you mentioned it.


The only other one I've had an issue with is Equip Crossbow also equips Bow, but I haven't tried too many. Might have to go emulator. Unfortunate, I like my psp.

Xifanie

This should do, and should work on console/PSP

<Patch name="Defend reduces physical dmg by 25%">
<Location file="BATTLE_BIN" offset="11F378">
4B4D0508
</Location>
<Location file="BATTLE_BIN" offset="11E48A">42</Location>
<Location file="BATTLE_BIN" offset="EC52C">
58004390
00000000
02006330
0A006010
00000000
CE382384
00000000
21106000
40100200
21104300
82100200
CE3822A4
982D228C
00000000
5B004290
E0180608
00000000
</Location>
</Patch>
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Timbo

Bad Ass! I've been waiting for this since 1.3 was this site's premier patch.
  • Modding version: PSX
  • Discord username: Timbo

formerdeathcorps

This is an outdated version of the defend hack.  Please use the following.
  <Patch name="Status effect bonus damage hack">
    <Description>
      V1/V2/V3:
   0x80 - Faith
   0x40 - Innocent
   0x20 - Charm
   0x10 - Sleep
   0x08 - Don't Move
   0x04 - Don't Act
   0x02 - Reflect
   0x01 - Death Sentence
      W1/W2/W3:
   0x80 - Oil
   0x40 - Float
   0x20 - Reraise
   0x10 - Transparent
   0x08 - Berserk
   0x04 - Chicken
   0x02 - Frog
   0x01 - Critical
      X1/X2/X3:
   0x80 - Poison
   0x40 - Regen
   0x20 - Protect
   0x10 - Shell
   0x08 - Haste
   0x04 - Slow
   0x02 - Stop
   0x01 - Wall
      Y1/Y2/Y3:
   0x80 -
   0x40 - Crystal
   0x20 - Dead
   0x10 - Undead
   0x08 - Charging
   0x04 - Jump
   0x02 - Defending
   0x01 - Performing
      Z1/Z2/Z3:
   0x80 - Petrify
   0x40 - Invite
   0x20 - Darkness
   0x10 - Confusion
   0x08 - Silence
   0x04 - Blood Suck
   0x02 - Cursed
   0x01 - Treasure
      V1/W1/X1/Y1/Z1 correspond to status effects that multiply physical attacks by M1 / 128.
      V2/W2/X2/Y2/Z2 correspond to status effects that multiply physical attacks by M2 / 128. These stack with the M1 multiplier.
      V3/W3/X3/Y3/Z3 correspond to status effects that multiply magical attacks by M3 / 128.
        190% is M1/M2/M3 = F4
        183% is M1/M2/M3 = EB
        180% is M1/M2/M3 = E7
        175% is M1/M2/M3 = E0
        170% is M1/M2/M3 = DA
        166% is M1/M2/M3 = D6
        160% is M1/M2/M3 = CD
        150% is M1/M2/M3 = C0 (default)
        140% is M1/M2/M3 = B4
        133% is M1/M2/M3 = AB
        130% is M1/M2/M3 = A7
        125% is M1/M2/M3 = A0
        120% is M1/M2/M3 = 9A
        117% is M1/M2/M3 = 96
        110% is M1/M2/M3 = 8D
        90% is M1/M2/M3 = 74
        83% is M1/M2/M3 = 6B
        80% is M1/M2/M3 = 67
        75% is M1/M2/M3 = 60
        70% is M1/M2/M3 = 5A
        66% is M1/M2/M3 = 56
        60% is M1/M2/M3 = 4D
        50% is M1/M2/M3 = 40
        40% is M1/M2/M3 = 34
        33% is M1/M2/M3 = 2B
        30% is M1/M2/M3 = 27
        25% is M1/M2/M3 = 20
        20% is M1/M2/M3 = 1A
        17% is M1/M2/M3 = 16
        10% is M1/M2/M3 = D
      To figure out the correct number for a V/W/X/Y/Z variable, add up the numbers corresponding to all the status effects for a given variable. If you didn't use any statii belonging to a certain variable, that variable has value 00.
      For example, if I want Chicken and Frog to take 1.5x physical damage, then W1 = 4 (Chicken) + 2 (Frog) = 06 and M1 = C0. Notice that I also could have used W2 and M2, but NOT BOTH W1/M1 AND W2/M2.
      For example, if I want Blind and Confuse to take 1.33x magical damage, then Z3 = 20 (Darkness) + 10 (Confusion) =  37 and M3 = AB.
    </Description>
    <Location file="BATTLE_BIN" offset="11F3C4">
      5800648C
    </Location>
    <Variable name="V1" file="BATTLE_BIN" default="10" offset="11F3C8"/>
    <Location file="BATTLE_BIN" offset="11F3C9">
      004230
    </Location>
    <Variable name="W1" file="BATTLE_BIN" offset="11F3CC"/>
    <Variable name="X1" file="BATTLE_BIN" offset="11F3CD"/>
    <Location file="BATTLE_BIN" offset="11F3CE">
      013C
    </Location>
    <Variable name="Y1" file="BATTLE_BIN" default="08" offset="11F3D0"/>
    <Variable name="Z1" file="BATTLE_BIN" offset="11F3D1"/>
    <Location file="BATTLE_BIN" offset="11F3D2">
      2134
      24208100
      25208200
      08008010
      00000000
      1980043C
      CE388294
    </Location>
    <Variable name="M1" file="BATTLE_BIN" default="C0" offset="11F3EC"/>
    <Location file="BATTLE_BIN" offset="11F3ED">
      000134
      19004100
      12100000
      C2110200
      CE3882A4
      5C006290
      5800648C
    </Location>
    <Variable name="V2" file="BATTLE_BIN" offset="11F408"/>
    <Location file="BATTLE_BIN" offset="11F409">
      004230
    </Location>
    <Variable name="W2" file="BATTLE_BIN" default="06" offset="11F40C"/>
    <Variable name="X2" file="BATTLE_BIN" offset="11F40D"/>
    <Location file="BATTLE_BIN" offset="11F40E">
      013C
    </Location>
    <Variable name="Y2" file="BATTLE_BIN" offset="11F410"/>
    <Variable name="Z2" file="BATTLE_BIN" offset="11F411"/>
    <Location file="BATTLE_BIN" offset="11F412">
      2134
      24208100
      25208200
      08008010
      00000000
      1980043C
      CE388294
    </Location>
    <Variable name="M2" file="BATTLE_BIN" default="C0" offset="11F42C"/>
    <Location file="BATTLE_BIN" offset="11F42D">
      000134
      19004100
      12100000
      C2110200
      CE3882A4
      00000000
      00000000
      00000000
      00000000
      00000000
      00000000
      0800E003
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="11F4B4">
      5C004390
      5800448C
    </Location>
    <Variable name="V3" file="BATTLE_BIN" offset="11F4BC"/>
    <Location file="BATTLE_BIN" offset="11F4BD">
      006330
    </Location>
    <Variable name="W3" file="BATTLE_BIN" default="06" offset="11F4C0"/>
    <Variable name="X3" file="BATTLE_BIN" offset="11F4C1"/>
    <Location file="BATTLE_BIN" offset="11F4C2">
      013C
    </Location>
    <Variable name="Y3" file="BATTLE_BIN" offset="11F4C4"/>
    <Variable name="Z3" file="BATTLE_BIN" offset="11F4C5"/>
    <Location file="BATTLE_BIN" offset="11F4C6">
      2134
      24208100
      25208300
      07008010
      1980033C
      CE386294
    </Location>
    <Variable name="M3" file="BATTLE_BIN" default="C0" offset="11F4DC"/>
    <Location file="BATTLE_BIN" offset="11F4DD">
      000134
      19004100
      12100000
      C2110200
      CE3862A4
      0800E003
      00000000
    </Location>
  </Patch>

The default values are V1/W1/X1/Y1/Z1/M1 are 10,0,0,8,0,C0, which means that charging and sleep on target cause 1.5x physical damage.
The default values are V2/W2/X2/Y2/Z2/M2 are 0,6,0,0,0,C0, which means that frog and chicken on target cause 1.5x physical damage, and it stacks on the above.
The default values are V3/W3/X3/Y3/Z3/M3 are 0,6,0,0,0,C0, which means that frog and chicken on target cause 1.5x magical damage.

If you want to add in defend gives 25% DMG reduction:
1) Get an unaltered ISO
2) Apply the above ASM, but merge V1-Z1 with V2-Z2.  Specifically, this means that V1/W1/X1/Y1/Z1/M1 are 10,6,0,8,0,C0, which means that charging, frog, chicken, and sleep on target cause 1.5x physical damage.
3) Change V2-Z2 to 0,0,0,2,0,60, which means defend on target causes 0.75x physical damage, stacking with the above.

NOTE: This has a limitation that you can no longer stack frog with sleep to get double the damage bonus.
The destruction of the will is the rape of the mind.
The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.