• Welcome to Final Fantasy Hacktics. Please login or sign up.
 

FFMaster's small ASM hacks{Another Oil hack made}

Started by FFMaster, August 09, 2010, 06:18:26 am

FFMaster

August 09, 2010, 06:18:26 am Last Edit: December 02, 2012, 03:43:45 am by FFMaster
Thank you Zodiac for a great tutorial! This is just to show how good your tutorial is! And it only took less than 2 hours to learn and tinker to edit my own formula!
Use these things at your own risk! I am still a noob at this. All these hacks are for BATTLE.BIN except for the sound test hack and the Brave/Faith hacks! They have been labelled for you!

FORMULA HACKS
0x11ECD8
change 37 to 36
0x11ECCC
change 37 to 36

Both 36's can be changed to other things.
http://www.ffhacktics.com/wiki/Formula_Hacking

0x11FE38
24004390
26004490

0x11FE48
21186400

0x11ED94
1980013c
21104200
d03823a4

0x11F708
a9600508
00000000
1980033c
902d638c
0xF12A4
2a006296
28006196
00000000
c4190608
22104100

0x122974
05004310

0x11F958
change 0x01 to 0xZZ
Example. Setting ZZ to 0a will make it (0...(Y-1)+10)*PA

0x11EED4
f8600508
00000324
40180200

0x11EEF4
f8600508
01000324

0xF13E0
18004290
XX000124
18002200
12100000
YY000124
1a004100
12100000
03000310
00000000
bf170608
00000000
b7170608
00000000

XX and YY are constants and can be changed. 18 is bolded because it can be changed. It load's the stat you want. For example, if you wanted it to be WP*Speed*3, then you change 18 to 38, change XX to 03 and YY to 01. Tinker as you wish.
http://www.ffhacktics.com/wiki/Formula_Hacking



OTHER HACKS

0x126358
change 42 to 82

0x11F3DC
change 08 to XX
40 - Crystal
20 - Dead
10 - Undead
08 - Charging
04 - Jump
02 - Defending
01 - Performing

This is an extension to Razele's performing damage bonus hack. For example, if you made XX 18, units with Undead or Charging would both gain 50% damage bonus. However, A unit with both Undead and Charging would still only receive 50% bonus damage. IT DOES NOT STACK.

0x11E444
change 09 to XX
40 - Crystal
20 - Dead
10 - Undead
08 - Charging
04 - Jump
02 - Defending
01 - Performing

This is an extension to Razele's performing evasion hack. For example, if you made XX 03, units with either defending or performing would lose all evasion.

0x11E340
change 0x30 to 0x10
0x11E064
ae600508
00000000
0xF12B8
583F2290
59006392
1980013C
20006330
02000310
00000000
XX004224
1B140608
00000000

XX = percentage decrease. For example, making XX = 32 will mean a 50% decrease in accuracy while the unit is blinded.

0x126144
XX000324
0x126398
XX000524
Example: Setting XX to 10 will mean 16% chance for reactions to activate.

The empty space just below Non-Charge increases damage/healing done by the unit by XX%. The one after that decreases all damage/healing done to the unit by ZZ%.

0x11F580
ba600508
00000000

0xF12E8
64000324
1980043c
942d848c
92008490
02008430
02000410
00000000
XX006324
1980043c
982d848c
92008490
01008430
02000410
00000000
YYff6324
12200000
18006400
12180000
64000424
1a006400
1980033c
902d638c
62190608
00000000
XX = % damage/healing increase. Setting XX = 14 will mean a 20% damage/healing increase.
YY = (0x100 - 0xZZ[hex subtraction!]) : This is the damage/healing decrease %. Setting it to EC will mean a 20% damage/healing decrease. Please be careful with the subtraction.

If you use the weapon guard innate hack, this means the unit can use weapon guard from the back and sides!
0x11E6F4
d9600508
00000000

0xF1364
8D00A290
00000000
04004230
01000210
00006290
2330C600
000066A0
C0150608
00000000

0x125F0C
e2600508

0xF1388
XX006230
02000214
5a008290
01000224
c5330608
00000000

# 0x40 = HP Restore
# 0x20 = MP Restore
# 0x10 = Critical Quick
# 0x08 = Meatbone Slash
XX can be changed. This one is a bit trickier. You want to add the ones you only want activated while critical. For example, if you only want MP Restore and Critical Quick to activate without being in critical status, then XX = 48, since HP Restore and Meatbone Slash are the ones you don't want activating. If you have problems, ask on IRC.

0x10D860
ed600508

0xF13B4
95002292
02004230
06000210
3a003092
5a002292
01004230
02000210
00000000
XX001026
1ad20508
00000000

Currently, it is tied to Silent Walk, which is why 95 and 02 are bolded. Change XX to whatever number you like.
http://www.ffhacktics.com/wiki/Formula_Hacking

0x11AA78
Change 01 to 00

0x115868
change 01 to 00

I better explain this one. Say for example, in FFTPatcher, you have a spell with CT = 3. Normally, Short Charge will halve it, and round up, meaning that the spell is now CT = 2. With this small hex edit, Short Charge will now round down, so the spell is now CT = 1(cast as soon as everyone who has 100 speed has had a turn). As a special case, a spell with original CT = 1 + Short Charge + this hack will be effectively a spell with Non-Charge, since the CT is now 0. So if you really want to use this, remember this special case.

0x11CCDC
change 14 to XX

0x11CCE8
change 14 to YY

XX = bonus CT for not moving
YY = bonus CT for not acting

0x11B9F8
change 42 to 82

0x11B9EC
change 42 to 82

0x11E3C0
DC386290
00000000
00022882
00451023

0x50cc Require.out
05610508
00000000

0xf1414 battle.bin
XX000324
2a106600
03000214
00000000
21306000
10610508
YY000324
2a10c300
02000214
00000000
21306000
2300e6a0
2400e6a0
35100708
00000000

XX = minimum, YY = maximum.

0x50ec Require.out
14610508
00000000

0xf1450 battle.bin
XX000324
2a286900
03000514
00000000
21486000
1f610508
YY000324
2a282301
02000514
00000000
21486000
2500e9a0
1000422c
3d100708
00000000

XX = minimum, YY = maximum.

0x120984
XX000524

This sets all Katana to XX% break when a Draw Out is used. 00 for 0% break chance, 64 for 100% break chance. A lot of people have been waiting for this one =p
NOTE: If you set a formula other than the Draw Out ones, the Katana will still break at 100% chance!

0x11AA48
05610508
00000000

0xF1414
0c008290
0b000210
XX008391
YY001024
1a007000
12800000
2a180202
04000314
00000000
01000224
94060608
05008390
23105000
94060608
05008390

0x115848
12610508
00000000

0xF1450
0c004390
0b000310
XX007792
YY001224
1a00f202
12900000
2ab84302
04001714
00000000
01000324
14f20508
05004290
23187200
14f20508
05004290

XX = Stat to be used - http://ffhacktics.com/wiki/Formula_Hacking
YY = divider constant number

This hack reduces ALL ability CT by XX/YY, rounded down. If the CT of an ability is lower than XX/YY, it will be forced to be 1CT. Abilities with 0CT will not be affected. For example, I have a spell with 5 CT, XX = 38, YY = 09. If I have 18 speed and the divider is 9, the final CT of the spell is then 3. THIS HAPPENS BEFORE SHORT CHARGE.
Does not affect Charge(Archer skillset), does affect skills with Persevere flagged(Sing/Dance).

0x113978
Change 04 to XX

0x1157C8
46610508
00000000

0x11AADC
37610508
00000000

0xF14DC
C0010824
18008800
12480000
1980083C
CC080825
21400901
92000891
00000000
08000831
02000810
00000000
01001026
42801000
C805060C
21280002
B9060608
00000000
21082200
92006292
180D3290
08004230
02000210
00000000
01005226
F4F10508
42901200

If you want the game to round down instead of up, change the bolded 01's to 00.


Oil status grants weakness to element(s), overrides Absorb/Null/Half element
BATTLE.BIN
0x11DE98

1980023C
982D428C
E8FFBD27
5A004590
1000BFAF
8000A130
6D004590
02002010
9C014194
XX00A530
24188500
02006010
00042334
9C0143A4
5A004190
6E004590
80002130
02002010
00000000
XX00A530
24188500
05006010
00000000
9013060C
00000000
D6130608
00000000
6F004590
02002010
90014194
0300A530
24188500
02006010
43080100
900141A4
5A004190
70004590
80002130
02002010
90014194
YY00A534
24188500
05006010
40080100
9C014394
900141A4
00086334
9C0143A4
1000BF8F
1800BD27
0800E003
00000000

BATTLE.BIN
0x120020
change 80 to YY


XX = Elements not affected by Oil
YY = Elements affected by Oil


TABLE
0x80 = Fire
0x40 = Lightning
0x20 = Ice
0x10 = Wind
0x08 = Earth
0x04 = Water
0x02 = Holy
0x01 = Dark


For example, if you want Oil to grant weakness to Fire/Holy/Dark, then XX = 73 and YY = 83

For those who want to mess with the effects more:
First XX = Elements to ignore Absorb on target
Second XX = Elements to ignore Null/Half on target
First YY = Elements to grant Weak on target
Second YY = Elements that will remove Oil


The combination of Null/Half: Elements was due to laziness.

BATTLE.BIN
0x1205BC
1980023C
982D428C
E8FFBD27
92004290
1000BFAF
80004230
00000000
00000000

The bolded numbers can be changed to fit any RSM. Check the wiki for which numbers correspond to which RSM. You can also set it to work with other things.
Example: changing 92 to 06 and 80 to 20 will make Reis formula work with monsters only.



AI Hacks
0x12D2E8
e8600508
00000000

0xF13A0
3a008290
1a80013c
XX004224
bc500608
00000000

0x124AE2
change 40 to 00

0x137F56
change 80 to 00

This makes the status itself blank, but allows the CT to be used elsewhere, or you can code your own status effect if you really wanted to.


SOUND TEST
OPEN.BIN
0x441c

00001724

OPEN.BIN
0x4434

94cb0108
00000000

OPEN.BIN
0x5C88

d4

OPEN.BIN
0x5CBC

02

OPEN.BIN
0xBE50

1000038e
03001714
05000234
0fad0108
00000000
10ad0108
00000000

OPEN.BIN
0xCFAC

19 32 2F 2E 24
19 32 2F 2E 24

OPEN.BIN
0x4580

7C F5 04 08

WORLD.BIN
0x5D5F0

00 00 05 36
00 00 A3 90
07 80 01 3C
AC 3F 21 34
21 08 24 00
00 00 22 90
00 00 00 00
06 00 62 14
0a 00 02 34
01 00 84 24
0a 00 82 28
F5 FF A0 14
01 00 A5 24
0a 00 02 34
09 00 82 14
05 00 02 34
10 00 02 AE
00 00 04 34
FA 0E 01 0C
60 00 05 34
A4 9F 01 0C
20 00 04 34
89 AD 01 08
01 00 17 24
BC 66 01 0C
00 00 04 34
62 AD 01 08
00 00 00 00

Change Ramza's name to PolkaPolka in the New Game screen to activate it.

Maybe more to come.
  • Modding version: Other/Unknown
☢ CAUTION CAUTION ☢ CAUTION CAUTION ☢

Dome

Congratulations FFMaster :-)
But...what's the purpose behind this ASM?

"Be wise today so you don't cry tomorrow"

FFMaster

I made this for use in Arena, since Ninja is getting an overhaul. This formula basically is going to be used for spells that are meant to copy Throw. It might be used for other spells later too. The problem with the old formula was that damage depended on the weapon you carried (0 damage if you were barehanded) or could deal a lot of damage (Knight Sword equipped with new Throws for example).
  • Modding version: Other/Unknown
☢ CAUTION CAUTION ☢ CAUTION CAUTION ☢

Xifanie

  • 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

philsov

does this carry over into the normal Throw command, or is this a stand-alone formula for various funsies?

Either way, excellent work!
Just another rebel plotting rebellion.

LastingDawn

Good to see FFMaster! That's definite proof that any of us should be able to make our own formula hacks, if we follow that tutorial! I look forward to see what can come of it!
"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!!!!

Pride

What tutorial are you speaking of?

Either way, that's awesome. Good work!
  • Modding version: PSX
Check out my ASM thread. Who doesn't like hax?

Vanya

What would be great for me would be to know the addresses of the formulas so I don't have to track them down.
Then I'd be making all kinds of hacks for them.
I think, though, the holy grail for Formula editing would be to locate the pointers so the empty formula slots could be adjusted for proper use.
  • Modding version: Other/Unknown
¯\(°_0)/¯

Pickle Girl Fanboy

We already have the addresses for several formulas.  Just look at the various asm hack threads.  And what tutorial?

FFMaster

Quotedoes this carry over into the normal Throw command, or is this a stand-alone formula for various funsies?
Yes, it should carry over to the Throw command.
QuoteWhat tutorial are you speaking of?
http://ffhacktics.com/tutorials.php?id=11
  • Modding version: Other/Unknown
☢ CAUTION CAUTION ☢ CAUTION CAUTION ☢

Vanya

Quote from: "Pickle Girl Fanboy"We already have the addresses for several formulas.  Just look at the various asm hack threads.  And what tutorial?

Actually we only have a handful of those. That doesn't do much for me though because the rest of them are, from what SB told me, scattered all over battle.bin in a rather nonsensical manner.
  • Modding version: Other/Unknown
¯\(°_0)/¯

FFMaster

Updated first post with a few extensions to Razele's hacks.
  • Modding version: Other/Unknown
☢ CAUTION CAUTION ☢ CAUTION CAUTION ☢

Vanya

Pretty cool & very useful. Great job!
  • Modding version: Other/Unknown
¯\(°_0)/¯

FFMaster

Added:
Formula 1F ((100-CasF)*(100-TarF)*(MA+Y)*MA/2) #Hit(Rdm{1,X}) becomes ((100-CasF)*(100-TarF)*(XX+Y)*YY/2) #Hit(Rdm{1,X})
0x11ECD8
change 37 to XX
0x11ECCC
change 37 to YY

For example, putting 38 into XX and 36 into YY would make it ((100-CasF)*(100-TarF)*(SP+Y)*PA/2) #Hit(Rdm{1,X}).
http://www.ffhacktics.com/wiki/Formula_Hacking
  • Modding version: Other/Unknown
☢ CAUTION CAUTION ☢ CAUTION CAUTION ☢

FFMaster

I didn't find any problems with this one so...

Formula 4F becomes Dmg_(Casters Brave+Casters Faith) Hit_(MA+X)%
0x11FE38
24004390
26004490

0x11FE48
21186400

If I had more space, I would have tried something more special... but oh well.
  • Modding version: Other/Unknown
☢ CAUTION CAUTION ☢ CAUTION CAUTION ☢

FFMaster

Formulas 09,0a,0b,0d,0e,0f,10,12,14,15,16,17,29,2a,3d,41,4d,4f,50,51,53,55,56,58,59,61,62(maybe more) change Hit_F(MA+X)%/Hit_(MA+X)%/whatever to become Hit_F(MA*2+X)%/Hit_(MA*2+X)%/whatever

0x11ED94
21104200
1980013c
d03823a4
  • Modding version: Other/Unknown
☢ CAUTION CAUTION ☢ CAUTION CAUTION ☢

Zozma

  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

FFMaster

  • Modding version: Other/Unknown
☢ CAUTION CAUTION ☢ CAUTION CAUTION ☢

Zozma

the status blind really doesnt do much, i mean there should be like a 10% chance of actually hitting units with physical attacks when thats in place in my opinion lol
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Vanya

  • Modding version: Other/Unknown
¯\(°_0)/¯