• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
June 16, 2025, 07:17:11 am

News:

Please use .png instead of .bmp when uploading unfinished sprites to the forum!


Razele's ASM Hacks

Started by Razele, January 01, 2009, 02:08:08 pm

VincentCraven

January 21, 2009, 03:17:48 pm #100 Last Edit: December 31, 1969, 07:00:00 pm by VincentCraven
Well actually, we've had several theories as to why this may be the case, but here's the scenario:

For both of us, every ability is set to cost 0JP and have 100% learn rate.
For both of us, sometimes the AI has blank secondaries (abilites are all random).

Asmo seems to have problems with the AI having access to the Chemist class skills even though chemist requires lv8 in all classes.  This also appears to have the side effect of making every other class with lv8 required in every class to be unlocked for AI as well.

I was not having the problem with Chemist being unlocked, but I assume that's because I had all the skillsets of classes we didn't want (lv8 required in every class) emptied out so that nothing could be learned from them.


Don't do anything just yet, because I have more testing to do, but I thought I'd throw the question out there in case there was an easy answer.  I think the problem was only with secondaries, so the R/S/Ms are probably okay as-is.
I changed jobs and that has made all the difference.

nates1984

January 22, 2009, 04:34:25 am #101 Last Edit: December 31, 1969, 07:00:00 pm by nates1984
I have a request.

Change formula 08 from MA*Y to MA*MA

When you use an ability using this formula memory offsets 0x187208, 0x18721C, 0x18722C are all used, but I just can't get this shit to work. I tried jumping to some empty space after the last one and just writing a MA*MA calculation from scratch, but that didn't work either. I tried to add "lbu r2,0x0037(r2)" right before the last mult, and changing the last mult to "mult r2,r2", but that kept returning a 0. I don't think "0x0037" is the units MA. I got the idea that the units MA is "0x0037" from here: http://www.ffhacktics.com/wiki/Formula_Hacking

It jumps to 0x1871F0 and then goes through the mult commands at those offsets, but I don't know where it is before that.

If those are the right memory offsets, that would put the formula at about 0x120208 in battle.bin, and that's nowhere near where you have to edit to change other formulas.

I've spent about 6 hours on this. I'm making a major fuck-up somewhere. None of the mult commands from 0x185ADC to 0x187204 change the damage of a spell using the formula.

I did a breakpoint at the first of those offsets and just "step into" for what seemed like an eternity and didn't come across any other mult commands.

On the plus side I found part of the code used to determine accuracy from zodiac compatibility (0x1859B8), at least I think it's zodiac, it isn't equipment. I followed that with "step into" and it lead me to another mult command (0x7c02210), but when you set that as a breakpoint the game instantly breaks, so it must be something else.

So yeah, if I could just see what you'd do to change it it'd probably teach me a good bit, plus it's one less edit I have to do for my patch. =P

Razele

January 22, 2009, 11:54:26 am #102 Last Edit: December 31, 1969, 07:00:00 pm by Razele
1. You got wrong memory address for MA * Y formula
2. Base Class Address + 0x0037 is the unit's MA
3. The right step would be :
- Put read breakpoint on the unit's MA.
- Put read breakpoint on the unit's temp MA.

00186568:  lui r3,0x8019                  
0018656c:  lhu r3,0x38ce(r3)               [ r3 = MA ]
00186570: >lui r2,0x8019                  
00186574:  lhu r2,0x38d0(r2)               [ r2 = Y  ]
00186578:  nop                            
0018657c:  mult r3,r2                      [ MA * Y  ] change this to mult r3,r3 [MA * MA]
00186580:  lui r3,0x8019                  
00186584:  lw r3,0x2d90(r3)                
00186588:  ori r2,r0,0x0080                
0018658c:  sb r2,0x0025(r3)                
00186590:  mflo r2                        
00186594:  jr r31                          
00186598:  sh r2,0x0004(r3)


Formula 08 Dmg_F(MA * Y) becomes Dmg_F(MA * MA)
BATTLE.BIN
0x11F57E change 0x62 to 0x63

philsov

January 22, 2009, 11:57:29 am #103 Last Edit: December 31, 1969, 07:00:00 pm by philsov
Quote from: "nates1984"I have a request.

Change formula 08 from MA*Y to MA*MA

Can't you simply just use Truth's formula and set Y to 0?
Just another rebel plotting rebellion.

Asmo X

January 22, 2009, 12:15:11 pm #104 Last Edit: December 31, 1969, 07:00:00 pm by Asmo X
But then wouldn't it be MA*[MA/2]?

philsov

January 22, 2009, 12:17:16 pm #105 Last Edit: December 31, 1969, 07:00:00 pm by philsov
Quote from: "Asmo X"But then wouldn't it be MA*[MA/2]?

Shows how often I use her and her damaged goods :oops:
Just another rebel plotting rebellion.

Zozma

January 22, 2009, 03:45:49 pm #106 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
Raz,with your defend all edit, Enemy monsters can defend with AI but  party monsters dont have access to it...... is there a way to make party monsters have it without putting it in an innate slot?
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Razele

January 23, 2009, 01:12:29 pm #107 Last Edit: December 31, 1969, 07:00:00 pm by Razele
Even after I gave Defend as their support ability or as innate, the Defend menu still didn't show on monsters.
If we can't make Defend menu show on monster, it's not possible to do this hack, since monsters have different menu structure than humans.

Zozma

January 23, 2009, 03:50:26 pm #108 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
having "defend" as one of the 4 innates will allow them to use defend.

and the ai uses defend XD hehe, but most monsters  have space to use defend in one of their innates anyway. no biggy i suppose

the real deal is that friggin formula 2E  and missing maintinance lol...
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Gamesoul Master

January 23, 2009, 05:37:35 pm #109 Last Edit: December 31, 1969, 07:00:00 pm by Gamesoul Master
It's rather nice to see all this happening, especially with it showing what some of our *actual* limitations are. Only disappointing part is that most of *these* hacks aren't something that could be easily implemented into FFTPatcher. Isn't a huge deal, just that it's generally nice to be able to keep everything in one place. Though at least the stuff that can't be included in FFTPatcher (if that program even gets an update with all the "new" stuff that's come out in the last half year) can be considered "advanced" changes.

So... editing formulas. Is there any significant limitation on what can be changed (besides space limitations)?

Vanya

January 23, 2009, 06:39:03 pm #110 Last Edit: December 31, 1969, 07:00:00 pm by Vanya
Actually, I don't think it would be difficult to add ASM hacks to the patcher. In fact, I've seen a system of ASM hacks being applied and removed via simple check boxes in at least one game specific editror. It really isn't anything more complicated than instructing the patcher to write a number of bytes to a specific file in a specific place. As a game editor,FFTPatcher already does that. ^_^
  • Modding version: Other/Unknown
¯\(°_0)/¯

nates1984

January 23, 2009, 06:55:40 pm #111 Last Edit: January 24, 2009, 05:23:06 am by nates1984
Woot! Thank you Raz, that cleared things up for me.

Razele

January 23, 2009, 09:15:59 pm #112 Last Edit: December 31, 1969, 07:00:00 pm by Razele
Quote from: "Zozma"having "defend" as one of the 4 innates will allow them to use defend.

and the ai uses defend XD hehe, but most monsters  have space to use defend in one of their innates anyway. no biggy i suppose

the real deal is that friggin formula 2E  and missing maintinance lol...

I gave Boco innate Defend and I didn't see Defend menu after I choose Act.


Zozma

January 23, 2009, 09:43:41 pm #113 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
oh my bad, i guess its only my special boco and things like ultima demons and such that can use it. since the game thinks they are "humans" because of their skillsets
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Asmo X

January 24, 2009, 10:25:52 am #114 Last Edit: December 31, 1969, 07:00:00 pm by Asmo X
Hey Razele, would it be easy to make it so that when a unit is transparent their magic is unevadeable too?

Razele

January 24, 2009, 11:18:38 am #115 Last Edit: December 31, 1969, 07:00:00 pm by Razele
- Wall reduces physical damage by 100%, duration : one turn

Quote from: "Asmo X"Hey Razele, would it be easy to make it so that when a unit is transparent their magic is unevadeable too?

Unevadeable ? You mean transparent unit can cast magic at 100% hit rate ?
Wouldn't that make status magic too powerful ?
Imagine 100% Don't Act / Sleep / Frog with AOE.
Also, Transparent status expires when a unit act (charging a spell).

Asmo X

January 24, 2009, 11:27:25 am #116 Last Edit: December 31, 1969, 07:00:00 pm by Asmo X
Well the way concentrate works is that it cancels the enemy's ability to evade. The innate innacuracy of the spell still remains. So like, if it has MA+X% chance to hit, that would still be the case, it just would no longer stack with the enemy's ability to evade it.

And if a unit has always:transparent, it wont wear off during charge, right?

Vanya

January 24, 2009, 11:28:07 am #117 Last Edit: December 31, 1969, 07:00:00 pm by Vanya
Sweet! ^_^

Now my knights can have the Guard ability! ^_^
  • Modding version: Other/Unknown
¯\(°_0)/¯

VincentCraven

January 24, 2009, 11:36:03 am #118 Last Edit: December 31, 1969, 07:00:00 pm by VincentCraven
Hey Razele,

How hard would it be to make every item available at every shop?

If it's just a whole lot of grunt work but you know how to do it, I'd be more than happy to just hear how I'd go about doing it.
I changed jobs and that has made all the difference.

Razele

January 24, 2009, 11:43:56 am #119 Last Edit: December 31, 1969, 07:00:00 pm by Razele
Quote from: "Asmo X"Well the way concentrate works is that it cancels the enemy's ability to evade. The innate innacuracy of the spell still remains. So like, if it has MA+X% chance to hit, that would still be the case, it just would no longer stack with the enemy's ability to evade it.

And if a unit has always:transparent, it wont wear off during charge, right?

The current Transparent status already ignore the target's magical evasion.

[Transparent]
Appearance:  Character is translucent
Description:  Character is ignored by computer-controlled units.  Attacks
made by a Transparent character ignore all evade percentages -- physical
AND magical.  Transparent is cancelled at the end of any AT during which
the Transparent character takes an action or the Transparent character
takes any damage.
Add with:  Sunken State (R), Secret Clothes (1), Vanish Mantle (1),
           Setiemson (1)
Cancel with:  Dispel Magic, Despair, Despair 2, Odd Soundwave,
              act with Transparent unit, damage Transparent unit
Duration:  player-determined


Quote from: "VincentCraven"Hey Razele,

How hard would it be to make every item available at every shop?

If it's just a whole lot of grunt work but you know how to do it, I'd be more than happy to just hear how I'd go about doing it.

Zodiac already found out how to do it :
http://www.ffhacktics.com/wiki/Shop_Selling_Lists