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

Razele's ASM Hacks! (A lot of useful info!)

Started by LastingDawn, December 23, 2008, 11:43:45 am

Zozma

December 27, 2008, 05:35:36 am #20 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
hmm he said the game was constantly checking for gender with that skill somehow. weird huh
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Gamesoul Master

December 27, 2008, 06:51:05 am #21 Last Edit: December 31, 1969, 07:00:00 pm by Gamesoul Master
You mean like... he "watched" the AI access the gender address every time the skill was used? Did he check to see if it does that with other skills, or if modifying those two memory locations has any effect on that? Sort-of funny either way... lol.

Did the enemy have any charming skills learned that might have caused it to check that?

And... I suppose with no answer to my prior question, nobody knows if those values could be changed to allow it to hit unequipped humans? I guess I'll just test it out myself then... lol.

Edit: Can't get it to work. Changed it into a Gameshark code (by replacing "0x" with "80", since it's just a straight, single write to those memory locations), and put it in, but the moves still aren't willing to strike the enemy in any way (they get guarded). Is there something else that needs to be done?

Edit: Gah... still can't get the code to work (I don't want to test it by changing it directly, as that would take quite a bit more time). I'm gonna take a break from all this for now and see if anybody else comes up with some ideas on things... lol.

LastingDawn

December 27, 2008, 12:29:15 pm #22 Last Edit: December 31, 1969, 07:00:00 pm by LastingDawn
Interesting question... but keep in mind, Humans and Monsters have two different "nothings" equipped. Human's have None, generally, while Monster's default "equipment" is called Nothing , that could be the reason.
"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!!!!

Zozma

December 27, 2008, 03:16:38 pm #23 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
aha, well thats important info to give to razele.

btw is it possible to change this "nothing" the monsters are equipped with to the other one? or vice versa?
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Algus

December 27, 2008, 03:28:14 pm #24 Last Edit: December 31, 1969, 07:00:00 pm by Algus
Hey Zozma, I can't Compile TEST.evt. can you help me ?
.: Final Fantasy Tactics Forever :.

Current Project

  • Final Fantasy Tactics v1.0.1 Patch Fix(delayed)

  • Visual Novel - Final Fantasy Tactics Chap 1(on going)




Zozma

December 27, 2008, 03:34:10 pm #25 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
algus. people will answer your questions, but you need to read the title of forum topics before you post! you nearly have 100 posts already just asking questions and saying "cool!" "wow" "how do i do that?" in seemingly random places. this is an ASM section which has nothing to do with the event compiler/decompiler.
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Algus

December 27, 2008, 03:41:31 pm #26 Last Edit: December 31, 1969, 07:00:00 pm by Algus
I'm sorry Zozma, I don't read the title. sorry...
.: Final Fantasy Tactics Forever :.

Current Project

  • Final Fantasy Tactics v1.0.1 Patch Fix(delayed)

  • Visual Novel - Final Fantasy Tactics Chap 1(on going)




DarthPaul

December 27, 2008, 04:05:07 pm #27 Last Edit: December 31, 1969, 07:00:00 pm by darthpaul
Algus we don't have anything against you (Teta killing prick) but your questions don't have a lot of rhyme or reason to them.
Oh pitiful shadow lost in the darkness, bringing torment and pain to others. Oh damned soul wallowing in your sin, perhaps...it is time to die

Gamesoul Master

December 27, 2008, 06:21:18 pm #28 Last Edit: December 31, 1969, 07:00:00 pm by Gamesoul Master
Well that makes one wonder... When the game does the check for if equipment is equipped in the slot that's being threatened, what *exactly* is it looking for? Is it simply checking to see if "None" is equipped or not (maybe something as simple as "if (itemType (x) == NONE) noEffect ()"? I would think like that, because under the Item Type list in the editor, there is an entry called "None" which normally belongs to usable items like Potions and Eye Drops. Maybe that item type is also used for the "None" slot in empty slots? Anybody ever try equipping a potion to a slot and seeing if it could be broken by the appropriate sword skill?

Or do you think maybe it specifically looks for the "None" item itself (knowing the programmers, that less robust approach seems to be more likely... lol)?

Either way, it sounds like something that could be changed. If nothing else, we could dummy out an equippable item and make it the new "None" (make its enemy level 0 and tick all 5 equipment boxes in the item type box). Or maybe change the "None" non-existant item to have all 5 bytes ticked. I'm thinking I'll be experimenting with this when I get up later. Can't believe I didn't think of any of that sooner...

Zozma

December 28, 2008, 02:57:00 am #29 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
k heres the full thing

Formula 2E never misses (damage) due to lack of equipment in the required slot or due to being a monster.

<razele> Fix 1 : EQ check 1  0x120A2C change from 0xFF to 0xFE
<razele> Fix 2 : EQ check 2  0x120A8C change from 0xFF to 0xFE
<razele> Fix 3 : For Monster 0x1209ee change from 0x42 to 0x02
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Gamesoul Master

December 28, 2008, 05:19:46 am #30 Last Edit: December 31, 1969, 07:00:00 pm by Gamesoul Master
Very nice indeed. It'll be even better once it's added to the editor so everybody can use it, but I think I'll go right ahead and change this right away. Are those values static, or do I have to worry about the game changing them at some point? I'd imagine it would be static, but I figured I'd ask anyway, just in case.

I'm still gonna play around with the idea though, since I may be able to make use of it in my patch. Glad to have this though...

Never got an answer to my earlier question though. Is this a change in the formula itself, or something changed a little lower in the code (as in, something for *all* functions that call for breaking armor)?

Zozma

December 28, 2008, 05:59:22 am #31 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
its a change to the specific formula as far as i know. hopefully it doesnt affect anything else but formula 2E or wed have a problem.

and static, those 3 changes should be it
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Vanya

December 28, 2008, 10:51:30 am #32 Last Edit: December 31, 1969, 07:00:00 pm by Vanya
Sweet. So now the formula would be " 2E Equipped:Break Dmg(PA*WP) NS " ?
  • Modding version: Other/Unknown
¯\(°_0)/¯

Zozma

December 28, 2008, 05:02:07 pm #33 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
yeah, i havent tested if it bypasses "maintinance" now tho but it shouldnt...
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Zozma

December 28, 2008, 08:31:12 pm #34 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
<razele> SCUS_942.21
<razele> 0x4CE68 - 0x4CE68 change 0xFD to 0xFE
<razele> 0x4CE6C - 0x4CE6C change 0x02 to 0x04

"requires sword" check includes: Sword, Knight Sword, Katana, Ninja Sword
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

LastingDawn

December 28, 2008, 08:36:44 pm #35 Last Edit: December 31, 1969, 07:00:00 pm by LastingDawn
Oh... that means I might not have to kill Swords!!
"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!!!!

LastingDawn

December 28, 2008, 09:39:51 pm #36 Last Edit: December 31, 1969, 07:00:00 pm by LastingDawn
Double Post, live long blades!


Requires Sword - Requires KnightSword.
<razele> SCUS_942.21
<razele> 0x4CE68 - 0x4CE68 change 0xFD to 0xFC
<razele> 0x4CE6C - 0x4CE6C change 0x02 to 0x01
"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!!!!

Gamesoul Master

December 29, 2008, 04:22:17 am #37 Last Edit: December 31, 1969, 07:00:00 pm by Gamesoul Master
So... could this possibly be modified to allow any single or combination of weapons to qualify for "Requires Sword"?

LastingDawn

December 29, 2008, 08:06:00 am #38 Last Edit: December 31, 1969, 07:00:00 pm by LastingDawn
Basically, it should.
"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!!!!

Gamesoul Master

December 29, 2008, 02:21:32 pm #39 Last Edit: December 31, 1969, 07:00:00 pm by Gamesoul Master
Only thing lacking from Razele's discoveries is a little more documentation. A lot of these "single-effect" changes affect more than one memory address... it'd be nice to know what these memory addresses are actually for so that people can customize without trial-and-error.

Don't get me wrong... I very much appreciate the discoveries and work put into making them. Just that making a discovery and giving, basically, an example of how to change it, really isn't so useful since instead of being given the knowledge to customize it as you please, you're basically just being given a second option.

If I tried to make a guess, the only thing I can see from this latest discovery is that the second address *seems* to modify how many different weapon types are included in the check (originally Sword and Knight Sword with 0x02, with Sword, Knight Sword, Katana, and Ninja Sword it becomes 0x04, and with just Knight Sword it becomes 0x01). Is that just a coincidence?

Took a second look, and if that first guess is correct, I could almost make a guess for the other address if the list of item types is labeled backwards (the first actual type on the list is Knife, which would be 0xFF). In that case, the other address would hold the starting point on the item type list, and from there, it'd use however many item types the other address specifies to qualify.
- A Sword would be 0xFD and a Knight Sword would be 0xFC (and 0xFD is what's used for when Sword and Knight Sword are valid types). The other address is 0x02... so 0xFD, 0xFC).
- A Ninja Blade is 0xFE, and a Katana is 0xFB (and 0xFE is what's used for when Ninja Blade, Sword, Knight Sword, and Katana are valid types). The other address is 0x04... so 0xFE, 0xFD, 0xFC, 0xFB).
- And when only a Knight Sword is the valid type, the other address is 0x01, so only 0xFC is used.

Seems to fit the pattern properly... only problem I see is that I can't imagine it being coded like that in the first place.