Please login or register.

Login with username, password and session length
Advanced search  

News:

Welcome to FFH, where all your dreams come true!

Pages: [1] 2 3 ... 13
pokeytax [Posts: 515] Logged
  • View Profile
  • share
  • [February 07, 2011, 10:01:18 PM]
ALMA 4: Excalibur grants Forever: Orlandu
« on: February 07, 2011, 10:01:18 PM »


ALMA: Ability-Linked Multiplier Attributes

In a nutshell, the ALMA hack lets you modify stats, status, elements, innates, and equipment availability based on a unit's loadout.

ALMA adds a new set of 160 ALMA attributes. ALMA attributes are a lot like item attributes, but they can do more; multiply stats, decrement stats, remove and grant equips or RSM, add Faith.

You can assign a multiplier attribute, or an existing item attribute to a ton of things, like jobs, known abilities, equipped R/S/M, and more.

These extra attributes are "add-ons", operating in addition to ordinary functioning - items still retain their FFTPatcher stats and item attribute, abilities still do what they normally do.


Instructions:
- Enter your changes into ALMA 4.xls.
- Copy and paste the entire 'XML' tab to a text file and save it as "ALMA 4.xml".
- Patch via FFTorgASM.

Known Issues:
- The item preview only works for flat increments/decrements of HP/MP/SP/PA/MA/MOV/JMP.
- WP and evasion modifiers are not yet functional in battle (right now the game overwrites these with actual equipment data).
- The hack is shoddily written, as the code is still in debug mode. It takes a ludicrous amount of allocated space in both BATTLE.BIN and WORLD.BIN, and even with better writing it'll still be quite large. There are no guarantees this is 100% stable. Let me know when you find a reproducible bug or crash.

To-Do:

- Finish R/S/M disables.
- Add previewability.
- Put off rounding down until the end, so several small multipliers can combine to add +1 PA.
- Revamp the ARH to allow use of Jump/Charge/Math Skill.
- Add RAD support to passives.
- Add basic scripting.

Technical Notes:
This patch branches from SCUS to BATTLE.BIN or WORLD.BIN depending on the unit ID. At the point I chose (RAM 0x5c82c, right after item attributes) unit ID (r17) is either a 0x19**** (in battle, BATTLE.BIN loaded), 0x1d**** (pre-battle placement, still BATTLE.BIN loaded), or 0x1f**** (world map formation, WORLD.BIN loaded - probably a temp location). So by branching based on unit ID, I was able to effectively add space to SCUS - the HP > min HP? and MP > min MP? checks the branch overwrites are duplicated in the routine.

I will document and post my code for this (although it's hideous; among other things, the SCUS branch takes almost twice the space it needs, and there are ton of hastily-inserted nops in the routine because I didn't know what load delay was until debugging).

Thanks to:
FDC, for where to patch the SCUS code I needed
Xifanie, for the ASM tutorial and the ARH hack
posters to the request thread, for tossing out ideas which led to this

Questions/comments/suggestions/scoldings solicited! This is not a finished product, it just finally stopped crashing. Right now it is a raw lump of pure functionality, so if you have an idea to make it more useful for your patch, or especially more useful in general, post it. I am going to relax a while but I'll be taking notes.
« Last Edit: February 02, 2013, 07:16:06 PM by pokeytax »
ALL THE THINGS Official Caretaker.
RavenOfRazgriz (Global Moderator) [Posts: 2956] Logged
  • View Profile
  • Universal Century Gundam Online "Project Icarus" Private Server
  • share
  • [February 07, 2011, 10:26:45 PM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #1 on: February 07, 2011, 10:26:45 PM »
I do think you went a bit made in coding something completely ridiculous and amazing.

Lots of fun features, though I don't know how much of this I could see myself using.  Others are probably drooling over some of the stuff here already... but as you can probably guess, I'm far more looking forward to your To-Do List and seeing this thing smashed with tons and tons of efficiency hammers.

Very nice work so far though.
Bad code, beware! The NOPs are coming to eat you!
formerdeathcorps [Posts: 1307] Logged
  • View Profile
  • share
  • [February 07, 2011, 10:27:34 PM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #2 on: February 07, 2011, 10:27:34 PM »
You added signed loading to HP/MP bonuses?  Unless you made that a halfword, you can't add more than 128 HP/MP to a unit.  Personally, heavy armor and very powerful magical vests should add more than that.

EDIT: This is precisely why I didn't do that in my hack.

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.
pokeytax [Posts: 515] Logged
  • View Profile
  • share
  • [February 07, 2011, 10:35:48 PM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #3 on: February 07, 2011, 10:35:48 PM »
You added signed loading to HP/MP bonuses?  Unless you made that a halfword, you can't add more than 128 HP/MP to a unit.  Personally, heavy armor and very powerful magical vests should add more than that.

This is a separate subroutine from the normal flow of item stats and item attribute. It is essentially a second layer of item attribute. Just give the heavy armor 220 HP via FFTPatcher. It's more for adding HP to weapons/shields/accessories/abilities, in which case I figured the flexibility of negatives beat the benefits of higher positives.
« Last Edit: February 07, 2011, 10:38:15 PM by pokeytax »
Likes to move it move it.
philsov [Posts: 4599] Logged
  • View Profile
  • share
  • [February 07, 2011, 11:07:04 PM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #4 on: February 07, 2011, 11:07:04 PM »
downloading now.

I will soon puke in hacking goodness that this provides.  

Balance kryponite is a very accurate way to describe this juicy, lucious hack.

Edit:  Just had to look up the topic title.  Very clever and very fitting.

Edit2:  Random spreadsheet suggestions/notes:

1) Re-introduce cell outlines in the attributes section on the next update
2) If I want to toggle something in the attribute columns, like, always: float or half: fire... what do I type?
3) When I opened it up, I wasn't given the warning about this containing macros.  Likely a non issue, but I'm so accustomed to spreadsheets from this site having that quality.  You sure you didn't miss something? ;)
4) I can ignore the CODE sheet and just straight patch with OrgASM, yes?
4a) I just took this for a small test drive.  Set the HP+C attributes of 50 to 20, 51 to 10, and 52 to 5.  Assigned these to random movement abilities (move on lava, move in water, walk on water) on the equipped abilities sheet, and... none of them worked.  I know the previews messed up, but this is equipping any of these abilities, exiting formation and checking again, and then going into a random with no results in either the PBF or the actual battle.
« Last Edit: February 08, 2011, 02:18:03 AM by philsov »
Just another rebel plotting rebellion.
pokeytax [Posts: 515] Logged
  • View Profile
  • share
  • [February 08, 2011, 02:02:09 AM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #5 on: February 08, 2011, 02:02:09 AM »
Hmmmm... working fine for me. I attached the .xml I'm using. Don't beat your head against it, it should be working perfectly and if it's not I need to simplify it.

2) Type the number 1.
3) It uses DEC2HEX and HEX2DEC from the Analysis Toolkit, is all.
4) Of course - in fact, this probably works better than the spreadsheet for small values of hack. Honestly, I don't have a functional Excel w/Toolkit at home and I've done most of the testing by hand entry.

Here is the layout of the hack:

SCUS_942_21 0x4D02C: branch
WORLD.BIN 0x671F8: main routine
WORLD.BIN 0x68000: lookup table <--- B2:B227 goes here

0-FF: items
100-157: active R/S/M (by byte, but 01 is first and 0x80 is last)
158-16F: reserved dead space for now
170-337: learned abilities
338-387: job levels

WORLD.BIN 0x68400: attribute data <--- B229:B252 goes here
BATTLE.BIN 0xF2FB8: main routine
BATTLE.BIN 0xF3500: lookup table <--- B2:B227 goes here
BATTLE.BIN 0xF3900: attribute data <--- B229:B252 goes here


« Last Edit: February 08, 2011, 02:26:32 AM by pokeytax »
Mediator
Eternal [Posts: 2548] Logged
  • View Profile
  • share
  • [February 08, 2011, 02:08:02 AM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #6 on: February 08, 2011, 02:08:02 AM »
I have absolutely no idea how to use this, but it looks good nonetheless. I'll mess around with this tonight. Good work! :D

Here dying, join my legion of undeath. Your blood, the roses on unhallow'd graves!
Desocupado [Posts: 79] Logged
  • View Profile
  • share
  • [February 08, 2011, 09:05:59 AM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #7 on: February 08, 2011, 09:05:59 AM »
So could we easily have the FF V system?
Where equiping Black Magic increases your magic multiplier, if you set it as a secondary skillset?
Bad code, beware! The NOPs are coming to eat you!
formerdeathcorps [Posts: 1307] Logged
  • View Profile
  • share
  • [February 08, 2011, 09:33:23 AM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #8 on: February 08, 2011, 09:33:23 AM »
So could we easily have the FF V system?
Where equiping Black Magic increases your magic multiplier, if you set it as a secondary skillset?

Eventually.  It currently changes it if you have it unlocked, or if your BM job level exceeds X.  There's currently no requirements on active skillsets (primary or secondary).
« Last Edit: February 08, 2011, 09:33:59 AM by formerdeathcorps »
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.
Likes to move it move it.
philsov [Posts: 4599] Logged
  • View Profile
  • share
  • [February 08, 2011, 01:33:46 PM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #9 on: February 08, 2011, 01:33:46 PM »
Quote
Hmmmm... working fine for me.. 

I'm an idiot :).  I just realized that I need to update the xml myself -_-.

Notepad suffices for xml editing, ya?

Just another rebel plotting rebellion.
Mediator
Eternal [Posts: 2548] Logged
  • View Profile
  • share
  • [February 08, 2011, 01:41:26 PM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #10 on: February 08, 2011, 01:41:26 PM »
If you have Excel, you can just edit the .xml in that, I think. It works for editing Patcher names, at least.

Here dying, join my legion of undeath. Your blood, the roses on unhallow'd graves!
Likes to move it move it.
philsov [Posts: 4599] Logged
  • View Profile
  • share
  • [February 08, 2011, 03:07:46 PM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #11 on: February 08, 2011, 03:07:46 PM »
well I edit patcher names with notepad :).  I just want to make sure I don't mess up with an automatic linebreak or something.

Just another rebel plotting rebellion.
SaGa Frontier Hacker
Pickle Girl Fanboy [Posts: 1482] Logged
  • View Profile
  • Bio Research Lab
  • share
  • [February 08, 2011, 04:11:48 PM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #12 on: February 08, 2011, 04:11:48 PM »
Vanya will ****ing love this.  Freelancer HO!

And holy hell you outdid yourself with this one.  This is so much more functionality.
pokeytax [Posts: 515] Logged
  • View Profile
  • share
  • [February 08, 2011, 10:21:07 PM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #13 on: February 08, 2011, 10:21:07 PM »
I updated the OP with a new spreadsheet that is hopefully less like pulling teeth. The attributes sheet has been replaced with an attributes sheet that isn't terrible, and copy-pasting code has been replaced with a button that spits out an .xml file.
Vanya [Posts: 3930] Logged
  • View Profile
  • My Facebook
  • share
  • [February 08, 2011, 10:50:58 PM]
Likes to move it move it.
philsov [Posts: 4599] Logged
  • View Profile
  • share
  • [February 11, 2011, 02:23:16 PM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #15 on: February 11, 2011, 02:23:16 PM »
I updated the OP with a new spreadsheet that is hopefully less like pulling teeth. The attributes sheet has been replaced with an attributes sheet that isn't terrible, and copy-pasting code has been replaced with a button that spits out an .xml file.

And it looks glorious

Just another rebel plotting rebellion.
pokeytax [Posts: 515] Logged
  • View Profile
  • share
  • [February 12, 2011, 12:01:30 AM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #16 on: February 12, 2011, 12:01:30 AM »
Okay, uploaded a new new version that fixes a bug with negative stat boosts and removes an entire useless tab I somehow didn't get rid of before now.

The next version will try to add the major missing parts I see - minimum HPM/MPM/PAM/MAM/SPM (e.g. get the higher of current job MA or 60%/70%/80%/90% of Wizard MA), attributes adding R/S/M (e.g. Potion Belt accessory adds Throw Item, learning Two Swords gives permanent Two Swords), and conditions on learned ability/job level attributes (passives are for active job and/or active secondary only, passives only apply to Squires).

So here are my questions:

1) Is there any other functionality anyone wants (that's attached to this hack, I'm working on the other stuff)? Might not be doable, or out of the scope of the hack, but it won't hurt to ask.

2) What is a good way to set conditions on passive abilities?

My plan is to hardcode a few different schemes:

- always active
- active job = XX (e.g. Squire)
- active job = passive's job
- active secondary = passive's job

and make any combo of these selectable separately for learned abilities and for job levels, so you could have spending JP on A/R/S/M increment only active job stats/innates and job levels increment Freelancer + secondary skillset stats/innates, or vice versa.

3) I don't know much about skillsets. If I have an uber-generic, is an advanced patch going to give them skillsets outside 05-17 as secondaries, or can I count on those numbers being the same equippable secondaries that I can associate to Archer and Lancer passives, gutted and remodeled though they may be?
« Last Edit: February 12, 2011, 12:11:25 AM by pokeytax »
ALL THE THINGS Official Caretaker.
RavenOfRazgriz (Global Moderator) [Posts: 2956] Logged
  • View Profile
  • Universal Century Gundam Online "Project Icarus" Private Server
  • share
  • [February 12, 2011, 12:40:34 AM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #17 on: February 12, 2011, 12:40:34 AM »
Can you clarify that last bit about passives some more?

1) Nothing that's not already on the To-Do List.  You know which ones I want the most.

2) Those ways seem fine.  They're the most intuitive options, at least.

3) I don't know what you mean in terms of "uber-generic", but if it helps your query, I know I do personally intend to use skillsets beyond 5-17 as generic unit skillsets due to some incredible bullshit I'm going to be performing with the Generic Skillset Hack.  This bullshit doesn't quite cover everything I need it to though, and ALMA does nothing to help the matter in this regard.  If you want to try aiding me in using huge amounts of smoke and mirrors to pull something very amazing off, I can either PM you or post in your other thread, but either way I'd still be using post-17 skillsets personally because of the hardcoding on Item, Draw Out, Throw, and Elemental.
pokeytax [Posts: 515] Logged
  • View Profile
  • share
  • [February 12, 2011, 02:08:39 AM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #18 on: February 12, 2011, 02:08:39 AM »
Passives: Yes, this is awfully confusing. There are two things the game keeps track of, learned abilities and job levels, which I'm lumping together as "passive" abilities. If I can confirm that the game sets the three learned abilities bytes to $FFFFFF as a Mastered! flag for all classes, I guess that counts too.

I don't think it's flexible enough to apply the same scheme of those four to all of these; to roughly replicate FFV, for example, you need to have Mastered! flags add traits on scheme 2, abilities add traits on scheme 3, and job levels add traits on scheme 4. I want to leave the option for someone to have more than one system of passive bonuses going at once.

either way I'd still be using post-17 skillsets personally because of the hardcoding on Item, Draw Out, Throw, and Elemental.

Yeah, that's what I wanted to know, just what secondaries an endgame unit can equip. I'll probably just let people manually attach a secondary to a class. It never hurts to post a request, that way anyone else who sees it and has an idea might give it a go. (I'm not as cunning as Xifanie and FDC though.)
ALL THE THINGS Official Caretaker.
RavenOfRazgriz (Global Moderator) [Posts: 2956] Logged
  • View Profile
  • Universal Century Gundam Online "Project Icarus" Private Server
  • share
  • [February 12, 2011, 02:51:48 AM]
Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
« Reply #19 on: February 12, 2011, 02:51:48 AM »
Yeah, that's what I wanted to know, just what secondaries an endgame unit can equip. I'll probably just let people manually attach a secondary to a class. It never hurts to post a request, that way anyone else who sees it and has an idea might give it a go. (I'm not as cunning as Xifanie and FDC though.)

I see.  Basically, I'll be using the Generic Skillset Fix to allow the "main" skillset of Chemist, Samurai, Geomancer, Ninja, and Lancer become empty skillsets by having them reference 05 Basic Skill, then using bullshit that calls those "old" skillsets elsewhere.

If you want a short version of what I'd need in a request form, it'd be gutting existing Support or Movement Abilities I no longer need and coding them to call a specific skillset or command instead.  I can give you more details in your other thread if you want to try it, since it's not within ALMA's scope.
Pages: [1] 2 3 ... 13