• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
April 19, 2024, 02:22:29 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!


Total Request ASM: All armor replaced by shoes

Started by pokeytax, January 02, 2011, 10:16:01 am

Pickle Girl Fanboy

Quote from: Tigerspike on January 05, 2011, 04:53:21 pmI did not, however, test instances where the game alters your brave through your story responses (like rescuing Algus).

Those shouldn't be affected by that offset.  They're coded to the events.  Could be wrong though.

Quote from: Tigerspike on January 05, 2011, 04:53:21 pmPlease don't dismiss PGF's work outright just because it was only tested with pre-existing reactions.

The Pickle demands respect.

Quote from: Tigerspike on January 05, 2011, 04:53:21 pm@philsov, the work may not be complete on sunken state, but there is a solid starting point for a more experienced hacker to tweak the ability.  I'm sure a more experienced hacker can find the offsets that correspond with each of those values listed for the other reaction abilities.

That's what I hope happens.  I did what I could, and then passed it off to someone else who could improve it.  That is community.

Tigerspike

Quote from: philsov on January 05, 2011, 05:09:30 pm
Certainly, and I thank you for bringing this data to pokey.  I didn't mean any disrespect :)


It's okay, I wasn't offended, I just didn't want PGF's work to be dismissed/overlooked.
Oh come now. That doesn't even make sense. How can flimsy paper possibly beat the raw density of stone?

pokeytax

Okay, I've got Sunken State triggering Chicken. Surely that's good enough, right? (Getting closer.)
  • Modding version: PSX

philsov

Dan Hibiki reactions work >_>

Note,if you don't wrangle it to XX, personal preference is sunken state to auto shell, caution to auto-protect, haste to regenerator, and... uh... dragon spirit to cancel all negative statii?  Not that I'd use em all (first two would gladly suffice.  any, really), but it seems like a good spread. 
Just another rebel plotting rebellion.

pokeytax

January 06, 2011, 08:10:03 pm #24 Last Edit: January 06, 2011, 09:00:04 pm by pokeytax

XX = status bit from here (e.g. $10 for Undead, $78 for Regen + Protect + Shell + Haste)
YY = status bit offset - 3C (1C, 1D, 1E, 1F, 20)

examples:
Transparent + Chicken
XX = $10 + $04 = $14
YY = bit 3 = $1E

Innocent:
XX = $40
YY = bit 5 = $20

BATTLE.BIN
0x00124020
340200XX

0x00124028
A06200YY


XX = status bit from here (e.g. $10 for Undead, $78 for Regen + Protect + Shell + Haste)
YY = status bit offset - 3C (1C, 1D, 1E, 1F, 20)

examples:
Transparent + Chicken
XX = $10 + $04 = $14
YY = bit 3 = $1E

Innocent:
XX = $40
YY = bit 5 = $20

BATTLE.BIN
0x00124038
340200XX

0x00124040
A06200YY


XX = status bit from here (e.g. $10 for Undead, $78 for Regen + Protect + Shell + Haste)
YY = status bit offset - 3C (1C, 1D, 1E, 1F, 20)

examples:
Transparent + Chicken
XX = $10 + $04 = $14
YY = bit 3 = $1E

Innocent:
XX = $40
YY = bit 5 = $20

BATTLE.BIN
0x00124050
340200XX

0x00124058
A06200YY


XX = status bit from here (e.g. $10 for Undead, $78 for Regen + Protect + Shell + Haste)
YY = status bit offset - 3C (1C, 1D, 1E, 1F, 20)

examples:
Transparent + Chicken
XX = $10 + $04 = $14
YY = bit 3 = $1E

Innocent:
XX = $40
YY = bit 5 = $20

BATTLE.BIN
0x00124068
340200XX

0x0012406c
A06200YY


The rest should be easy, and I found the pointers for 1B8 (Reflect) and 1BB (blank after Counter), so I will probably try to replace those with placeholder "inflict status XX on self" slots to get them usable. Obviously this is slightly limiting - you can't do Mbarrier because Reraise is off on another byte - but it's 99% I hope. Now to test I'm not somehow screwing up the actual status code... [edit: looks good!]

That earlier hack had the odd assorted effects because it was increasing the index - I'm guessing it effectively shifted the reactions down, treating Brave Up as Faith Up for instance. Helped me find the pointers though! This is the way!

When I have a bit more time I will tidy the other hacks - Teleport could easily be XX, Learning can work for innate support too.
  • Modding version: PSX

philsov

January 06, 2011, 10:00:00 pm #25 Last Edit: January 06, 2011, 10:01:51 pm by philsov
WOOT!  Pokeytax that is fantastic!  Thank you sooooo much.

Also, for everyone's edification:

As pokeytax mentioned multiple effects within the column are possible, and remember to do your math in hex :)
Hm... further requests...

Distribute to work with self-heals as well.  
Gilgame heart changed into... uh... another auto-xx?
Speed Save changed to gain 20 CT?  (Or "don't act/move" CT, if that's easier?)
New support - ?Serpentarious? zodiac compat is ignored for calculations from this character
Throw Item now only enables a range of 3 for Items
Monster Skill effect expanded to 2.

Or any other fix/great idea to the rarely used and/or overpowered reactions (Hamedo, I'm looking at you), but I'm at a loss for what they can turn into.
Just another rebel plotting rebellion.

RavenOfRazgriz

January 06, 2011, 10:52:47 pm #26 Last Edit: January 07, 2011, 12:04:35 am by RavenOfRazgriz
Expanding on Philsov.

Distribute triggers on self-heals.
Gilgame Heart becomes fucking anything honestly.  More Auto-XXs seem worthless though.  Actually, what trigger do Auto-XX Reactions use?  Countergrasp, right?  If I'm remembering this correctly, is it possible for you to make them use Damage Split's trigger instead?  This would make them all a lot more worthwhile.
Speed Save gains +XX CT.
Throw Item range becomes XX. -> FFMaster just did it, woot.
Monster Skill Range becomes XX.  Also, if possible, if the equipped is a Monster, make Monster Skill apply to the unit itself as well so a monster that has Monster Skill innately can access its entire set.
Teleport becoming XX if you can would be great news, though the current state is still workable enough.

While on the topic of reactions - modify Auto-Potion to only apply the Item set to the original "Potion" Item Slot instead of all 3 so that you're not forced to give up 2 Item slots to disable Auto-X-Potion?

The Zodiac support seems rather worthless, personally, though I suppose making it for the hell of it wouldn't hurt.  Far better. in my opinion, would be to simulate FFTA's Monkeygrip - Weapons flagged as "Two Hands Only" can be held in one hand, and merge it with Equip Shield  (Or if it's easier - make it like Learning where it can be "attached" to any other R/S/M, allowing it to either be merged with something else or stand alone).  I remember talking to FDC about that one a while ago, but I don't think he's done work on it yet.  I would bring up Vehemence / reverse Vehemence / Blood Magic / Turbo Magic, but again, FDC and/or Pride are working on those as memory serves.

One from a purely personal perspective - would it be possible to make Two Hands boosts WP by 1.5x instead of 2x?  Or even better, XX/YY over 2x so the user can set it however they like?  Possibly make a hack that allows Half of MP to become MP costs are modified by XX/YY as well?

I had one final one but I forgot it.  Ugh.  Regardless, I think between expanding on Philsov's thoughts and adding a few of my own, you've been requestdumped enough already.  Just tossing my thoughts out there though since you actually seem to enjoy taking requests. =p

FFMaster

QuoteThrow Item range becomes XX.


This one is very easy I think. I can make it in a bit.
  • Modding version: Other/Unknown
☢ CAUTION CAUTION ☢ CAUTION CAUTION ☢

RavenOfRazgriz

I thought it would be.  I'm going to assume Square's not completely retarded and just used a Item Range +X for Throw Item, so making that +X editable would be easy.

Then again, this is Square, I wouldn't be surprised if Throw Item has so much code under it I could fit half of a properly coded Battle.bin under it.  :/

philsov

QuoteActually, what trigger do Auto-XX Reactions use?


As per the BMG, dragon spirit and sunken state are counter-BG-able, while Regen and Caution are any damage a la damage split. 
Just another rebel plotting rebellion.

Tigerspike

How about counter-magic?  I'd like to see that one played around with, especially if we could cause it to inflict a status instead of countering with a spell.  Imagine fighting a boss that auto-inflicts Innocent on you (or itself) if you cast spells on it.
Oh come now. That doesn't even make sense. How can flimsy paper possibly beat the raw density of stone?

Pickle Girl Fanboy

January 07, 2011, 11:28:27 am #31 Last Edit: January 07, 2011, 11:29:25 am by Pickle Girl Fanboy
Didn't someone find the trigger routines for reactions a while ago?

My only request is that you find the pointers for item attributes.  I can provide more details, like where item attributes start and end, if you want.

pokeytax

Quote from: philsov on January 06, 2011, 10:00:00 pm
Or any other fix/great idea to the rarely used and/or overpowered reactions (Hamedo, I'm looking at you), but I'm at a loss for what they can turn into.


Can we decide what makes Hamedo broken? Would it be broken if you didn't get the counter? I was thinking about something like Sidestep, where you just change position, or Trip, where you sidestep and the enemy takes your spot, or as much as I'm sick of Ninjas Kawarimi, where you teleport to behind the opponent, instead of a counterattack. Maybe even Bribe where you shell out some cash or Evade where you lose XX CT. Not that I know how to do that... I imagine I can find a way to nerf the trigger rate on Hamedo/Blade Grasp if that's all it takes.

Quote from: Pickle Girl Fanboy on January 07, 2011, 11:28:27 am
My only request is that you find the pointers for item attributes.  I can provide more details, like where item attributes start and end, if you want.


Any info you have would help, just slap it on the wiki and/or link me.
  • Modding version: PSX

RavenOfRazgriz

January 07, 2011, 06:56:24 pm #33 Last Edit: January 07, 2011, 06:57:24 pm by RavenOfRazgriz
Hamedo's busted because it's free turns.  It allows you to negate an opponent's action and take a free attack command as an immediate interrupt without CT cost.  Stopping it from negating the command the attacking unit originally was trying to perform and making it reduce CT by 20 on trigger would balance it well, so that it goes unit attacks -> Hamedo triggers and interrupts -> Hamedo unit attacks -> Hamedo unit loses CT -> original unit connects its attack, imo.  This makes it a more narrow Counter that has a chance of trading some CT to kill the triggering unit before it does damage.

Granted, such a hack isn't at all easy to do, but probably easier than most other options and it still keeps it rather Hamedo-y.

philsov

January 07, 2011, 07:14:44 pm #34 Last Edit: January 07, 2011, 07:17:53 pm by philsov
QuoteWould it be broken if you didn't get the counter?


Yes.  Less broken, mind, but still superior to the majority of other reactions.  Heck, still superior to evasion/curing/defensive buffs.  Just park a meat-shield-in-disguise to try and attract all the melee, dodge everything, and then have the rest of the team swoop in and kill everything.

Evasion and armor work because because it makes them less likely targets by the AI.  Unless you can fix the AI to think about their targets' reactions, I don't think even CT -XX will save hamedo. 
Just another rebel plotting rebellion.

Tigerspike

Could hamedo be turned into a less powerful counter that has a guaranteed knock-back?
Oh come now. That doesn't even make sense. How can flimsy paper possibly beat the raw density of stone?

Vanya

January 08, 2011, 04:08:30 am #36 Last Edit: January 08, 2011, 04:56:41 am by Vanya
I think it would be fine to either just remove the counter and have a small CT cost or nerf the counter damage down to 25% and have a big CT cost.

Quote from: Tigerspike on January 07, 2011, 08:51:25 pm
Could hamedo be turned into a less powerful counter that has a guaranteed knock-back?


I think it would be better to have Counter Tackle have 100% knock-back or at least a much higher trigger rate for the knock-back effect. (Just make it XX% knock-back trigger, that's what everyone will want.)

EDIT:

Just had an idea for a hack that probably isn't easy, but might be a cool thing to have. You know how the game loads specific sprites for the special jobs regardless of the current job? How about hijacking that routine and making it work like FF5 where they have their own sprites for each job. Of course you couldn't do this for every special unit you can recruit with out a massive expansion of the ISO to DVD proportions, but it might be useful for hacks that only have two or three specials. I think the game could handle 45 sprites for 3 specials. (It would require 210 sprites for all 14 permanent specials to have custom sprites for all their jobs; not to mention expanding the game's code & FFTPatcher to handle a 2byte index for sprites.)
  • Modding version: Other/Unknown
¯\(°_0)/¯

pokeytax

January 08, 2011, 09:12:36 am #37 Last Edit: January 08, 2011, 09:26:42 am by pokeytax
Quote from: RavenOfRazgriz on January 07, 2011, 06:56:24 pmStopping it from negating the command the attacking unit originally was trying to perform


This could be tricky. All counters go Original => Reaction. Even Hamedo just snips the Original and skips straight to Reaction. Dunno if I can kickstart the original attack afterward.

Quote from: philsov on January 07, 2011, 07:14:44 pmUnless you can fix the AI to think about their targets' reactions, I don't think even CT -XX will save hamedo.  


While reducing the trigger rate is quite inelegant, that might be what it takes.

Quote from: Tigerspike on January 07, 2011, 08:51:25 pm
Could hamedo be turned into a less powerful counter that has a guaranteed knock-back?


Oh, sure. I'm just trying to think of a way to keep the Hamedoness, where something triggers instead of the opponent's attack.

Quote from: Vanyainvolved sprite hack


This is the precise hack I want to make, but it seems like the kind of thing one should have the sprites on hand for before investing the effort. Of course, without the functionality on hand, hard to get up the effort to paste that many heads...
  • Modding version: PSX

Pickle Girl Fanboy

January 08, 2011, 01:21:28 pm #38 Last Edit: January 08, 2011, 01:27:04 pm by Pickle Girl Fanboy
Each item attribute is 25 bytes long, and right now there are 79 item attributes.
PA 0 to 255 (1 byte)
MA 0 to 255 (1 byte)
Speed 0 to 255 (1 byte)
Move 0 to 255 (1 byte)
Jump 0 to 255 (1 byte)
Absorb Element (1 byte)
Cancel Element (1 byte)
Half Element (1 byte)
Weak Element (1 byte)
Strengthen Element (1 byte)
Permanent Status (5 bytes)
Status Immunity (5 bytes)
Starting Status (5 bytes)

The first byte of Item Attribute data is 0x642c4 and and the last is 0x64a93.  That's RAM, by the way.

0x642c4 1st Item Attribute
0x642dd 2nd Item Attribute
...
0x64a62 78th Item Attribute
0x64a7b 79th Item Attribute


SCUS_942.21

Jobs
Items
Inflict Statuses
Item Attributes
Skill Sets
Monster Skills
Job Level

The first byte of Job data is 0x610b8, and the last is 0x62eb7, RAM.
The first byte of Item data is 0x62eb8, and the last is 0x63fc3, RAM.
The first byte of Inflict Statuses data is 0x63fc4, and the last is 0x642c3, RAM.
The first byte of Item Attribute data is 0x642c4 and and the last is 0x64a93, RAM.
The first byte of Skill Set data is 0x64a94, and the last is 0x65bc3, RAM.
The first byte of Monster Skill data is 0x65bc4, and the last is 0x65cb3, RAM.
The first byte of Job Level data is 0x660c4, and the last is 0x66193, RAM.


About Hamedo: why not allow the hacker to customize it as they see fit?  You could divide the evasion and the counter, allow the hacker to toggle the counter on or off, and allow the hacker to select the ability to counter with.

pokeytax

January 08, 2011, 01:54:56 pm #39 Last Edit: January 09, 2011, 11:02:02 am by pokeytax
Quote from: philsov on January 06, 2011, 10:00:00 pm
Monster Skill effect expanded to 2.


This is proving to be a bitch (it's hardcoded as adjacent, i.e. x1 = x2 OR y1 = y2 rather than simply range 1). I will keep at it though, since range 1 really takes the fun out of things.


BATTLE.BIN
0x124008
94000234
862C0608
130062A0


This is just the proof of concept, it doesn't look hard to freely modify amount and attribute for the three Saves and two Ups and I should have those up shortly. Don't worry, I love XX as much as you do!
  • Modding version: PSX