• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 04:24:15 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!


ALMA 4: Excalibur grants Forever: Orlandu

Started by pokeytax, February 07, 2011, 06:01:18 pm

philsov

1) Only thing I can want additionally are the conditional passives you're already planning

2) Always passive when equipped as a primary or secondary is my ideal scheme.  I can see a perk to "always" though.

3) I'm staying at 05-17, personally.  At least for the friendlies.  I give enemy generics custom skillsets at 4C+.  Like normal black magic is 0B but it can also be either 5B, 5C, 5D, or 5E for some enemies.  Possibly make it when XXX ability is learned AND active, rather than being purely skillset based?  idk.
Just another rebel plotting rebellion.

formerdeathcorps

February 12, 2011, 02:19:34 pm #21 Last Edit: February 12, 2011, 02:19:56 pm by formerdeathcorps
I want to insert AI tournament champions into random battles in their full glory.
Is it possible to have ALMA give only AI units the ability to have if Job Class X...automatically learn skill Y or be Job Class Z (on a totally unrelated class...like Knight with White/Yin-Yang Magic).  If that's too hard, something like using the numbers 9-16 on the ENTD's job level byte to mean the job level of both the main and the subclass of a unit (so 9 means level 1 in subclass and main, overriding prerequisites needed for the main class...and 16 would mean level 8 in subclass and main) would be appreciated too.
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.

Pickle Girl Fanboy

*checks on Proverbial*
QuoteOn hold until:
1.  Additional item attributes hack
2.  Equipment can generate negative move/jump/ev/sp/pa/ma values hack
3.  AI hack
4.  Custom formulas
5.  Immunity to Crystal and Treasure?  Remove Crystal and Treasure?


1 and 2 are done, 3 and 4 are getting there, and I don't even remember why I wanted 5.

pokeytax

ALMA gives you the unit offset (at r17) and space to work with it. I'll try to comment and post the code this week, but since you know what you're doing, 16720108 at BATTLE_BIN 0xF320C is the jump back to SCUS from ALMA (j 0x0005c858). If you're doing an AI hack, you shouldn't need to touch the WORLD_BIN section, so just change that line to jump to freespace in BATTLE_BIN, write your hack, and jump to 0x0005c858 when you're done.

It sounds like you're just checking byte 5, checking byte 0, setting byte A8 (or whatever) - that should be easy. The hard part is limiting it to just certain AI Knights, if that's what you want. I have never touched the ENTD in any capacity so I don't know if setting job level to 9-16 there actually impacts the final unit data. The unit's name is available as a last resort, although that's cumbersome.
  • Modding version: PSX

Vanya

Quote from: RavenOfRazgriz on February 11, 2011, 10:51:48 pm
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.


So basically you're going to use support abilities to give the user Item/Draw Out/Geomancy/Throw/Jump/etc. That's fairly damn well ingenious. You have it balance itself out by negating a support slot. I love you man!!
  • Modding version: Other/Unknown
¯\(°_0)/¯

RavenOfRazgriz

I have far more ingenious game mechanics from where those came from as well, dear Vanya.  But yes, that is more or less my plan exactly, coupled with two Support Ability slots per unit and a slew of new Support Abilities.

pokeytax

Still chugging along. The conditionals should nail 95% of FFV functionality, which is broad enough to cover almost any other passive/innate scheme you could want, and the Min. HPM/ability stuff should be cake after that.

FDC's request was novel and got me thinking. After this chunk, I will probably try to tack on some kind of primitive scripting: a spreadsheet tab where you can set up simple conditionals, if BYTE1 = X AND BYTE2 = Y THEN BYTE3 = Z. (Don't freak out, the end product will be as general and user-friendly as possible, ORs and status/ability bits, etc.) It's not ideal because it's called after item attributes, which means a guaranteed call before battle and then irregular calls when stuff gets broken or you level, but for semi-permanent things like tweaking skillsets I'm assuming it would be better than nothing. Thoughts or suggestions?
  • Modding version: PSX

RavenOfRazgriz

February 17, 2011, 07:01:40 pm #27 Last Edit: February 17, 2011, 07:02:05 pm by RavenOfRazgriz
You'd need to explain that in more retard-friendly terms to get feedback on that, Pokeytax.  Even I don't exactly know what your script there would be doing.

And Pickle Girl Fanboy, you could easily just set things immune to Crystal and Treasure in FFTPatcher, lol.  Either that or make Immortal Status not block anything that make a small ASM hack that makes all units on a map spawn Immortal, including those placed by the player.

The Damned

Since this got bumped, it reminded me that I had yet to comment on it with as much as a "good job". So..."good job".

Beyond that, given what philsov mentioned offhand in one of the ASM'd threads, I've become curious about something since you asked for functionality requests. This is more of an inquiry as to whether its possible (already) than a request. (Although I guess it would be something I might want to use, especially since it would be easier to balance than a lot of other existent ALMA functions.)

Anyway, I hope can make this inquiry clear: Would it be possible to include an "SOS"-like functionality into some supports such that they only become active when you go into or past Critical? If so, then would it also be possible to make it so that they don't trigger should the unit with the SOS-ability get revived but still be in the critical range? Furthermore, would it be possible to make it so that the bringing the unit out of critical would get rid of the status?

I'd imagine the third one would be pain in the ass even if it was possible and the second one is probably possible but a pain in the ass. As such, I'm only interested about the answer to the first question, especially since its answer determines whether the second or third ones are even relevant inquiries.

Thank you in advance.
"Sorrow cannot be abolished. It is meaningless to try." - FFX's Yunalesca

"Good and evil are relative, but being a dick cannot be allowed." - Oglaf's Thaumaturge in "The Abyss"

"Well, see, the real magic isn't believing in yourself. The real magic is manipulating people by telling them to believe in themselves. The more you believe, the less you check facts."  - Oglaf's Vanka in "Conviction"

pokeytax

Well, FDC is asking for a hack that checks IF a unit is an enemy, IF their class is Knight, and IF their secondary is Yin-Yang Magic, and if so, sets their known Yin-Yang Magic to (for example) Paralyze and Spell Absorb only.

Or you could give innate Maintenance to any enemy with exactly 77 Brave; or you could give all Calculators Black Magic as their primary skillset instead of Math Skill; or you could make a sword that keeps switching to your left hand, or you could give all Aquarius units Strengthen: Water.

In theory you could read and fiddle with anything from http://ffhacktics.com/wiki/Formula_Hacking, limited by the fairly strong constraint that you get a guaranteed call before battle and then weird irregular calls during battle (equipment breaks, level up). This is still in the "hey guys I had this idea" stage, I just thought I'd throw it out there.

Quote from: The DamnedWould it be possible to include an "SOS"-like functionality into some supports such that they only become active when you go into or past Critical?


Like most things, it's possible, but it's something you'd code with the status and not something I can think of a way to easily automate.
  • Modding version: PSX

RavenOfRazgriz

I see.  That could potentially be useful for keeping the AI from learning skills it can't use properly within a set.  For example, rigging an AI Priest to not learn Holy but a Wizard with White Magic secondary to learn Holy to remove idiocy without removing Holy from the Priest skillset since some people like to foam at the mouth with "but it's Final Fantasy, Priests need Holy despite it making no fucking sense!"

The only problem is that I would see this affecting every Priest equally... so you'd need to be able to make checks like IF unit is Priest, IF secondary is Yin-Yang Magic, and IF Job Level is 3, for example, so that you can make things scale properly.

An SOS function would be useful, but making it not work on revival would be... kinda hellish, most likely.

The Damned

Ah, I feared as much. Still, that's good to know.

As far as you know, if you did code with the status, would that status pop for everyone? Or there be a way to make a Support or Reaction or whatever a "trigger" for it to prevent that?

Thanks regardless.
"Sorrow cannot be abolished. It is meaningless to try." - FFX's Yunalesca

"Good and evil are relative, but being a dick cannot be allowed." - Oglaf's Thaumaturge in "The Abyss"

"Well, see, the real magic isn't believing in yourself. The real magic is manipulating people by telling them to believe in themselves. The more you believe, the less you check facts."  - Oglaf's Vanka in "Conviction"

Vanya

If you found the code that the SOS support abilities use to trigger couldn't you just modify that and use it with ALMA?
  • Modding version: Other/Unknown
¯\(°_0)/¯

RavenOfRazgriz

Your best bet for an SOS ability would be to hijack Evil Looking, remove the animation, then code it to have a check like this:

If HP is XX%+ and damage that reduces HP to below XX% is taken, apply status automatically.  If HP is XX%- and healing is taken that makes HP increase beyond XX%, cancel status if it is currently being applied.  If Dead is applied and this status is currently being applied, remove this status.  If Dead is canceled and HP is increased from 0% to 1%-XX%, cancel this status if it is currently being applied.  (I know the last check is 99% unnecessary, but with how different this is from current FFT Statuses, it's probably smart to include a failsafe to ensure it works correctly.)

Then, leave the status itself empty and code some Supports to only turn "on" if this Status is found on the equipped unit.  This would replicate an SOS status, and allow you to give a unit "SOS" innately in case you want them to be able to use an "SOS Support" regardless of their HP level, for maximum customization.

Have fun coding that, though.

The Damned

Considering I've yet to code anything and don't plan on coding anything (major) any time soon, I'll certainly...keep that in mind.

You have given me another idea, though....
"Sorrow cannot be abolished. It is meaningless to try." - FFX's Yunalesca

"Good and evil are relative, but being a dick cannot be allowed." - Oglaf's Thaumaturge in "The Abyss"

"Well, see, the real magic isn't believing in yourself. The real magic is manipulating people by telling them to believe in themselves. The more you believe, the less you check facts."  - Oglaf's Vanka in "Conviction"

pokeytax

Quote from: Vanya on February 17, 2011, 09:20:55 pm
If you found the code that the SOS support abilities use to trigger couldn't you just modify that and use it with ALMA?


ALMA lives next door to item attributes - it only pays attention at the start of battle and when something triggers a unit data recalculation (e.g. Equip Change, level up/down). So it wouldn't notice you were Critical unless you used Equip Change.

I have thought about SOS supports before too, but unless you have a really brilliant idea they seem like too much hassle to be worth the time. Fiddle with Critical Quick to mimick SOS Status, or code SOS Short Charge to key off of Critical status and just forget about part 2, is what I would do.
  • Modding version: PSX

The Damned

Oh, since you're speaking of Equip Change, I've another query. It too is more of an inquiry thing than a request: While doing this, have you seen any possible way to make the AI actually aware of Equip Change to potentially use it?

I don't even care if the AI recklessly uses it like Defend; I'm just curious if you seen someway to make them use it at all.

Like the SOS one, this isn't terribly important (and I've already thought of several work-arounds if it does exist). Just a matter of curiosity.


Defensive EDIT: Although, of course, it would be good to hear they didn't use as proactively, but more used it when the change in equipment would benefit them in someway. Still, without set limitations [I'm not sure if Level would do just for the AI given what they've technically access to), it seems like it screw over most offensive status and, depending on the patch, at least the primary elements if not all of them.

Now that I'm thinking about it, though, does the Defend command also qualify as a "trigger" that would work with ALMA?


Weaponized EDIT: An additional query occurred to me when thinking about the ARH (which I've still no idea how to use): Could you use ALMA to ensure that enemies didn't buy skills they couldn't use with weapons that they can't use or weapons that they can't use but don't have equipped?
"Sorrow cannot be abolished. It is meaningless to try." - FFX's Yunalesca

"Good and evil are relative, but being a dick cannot be allowed." - Oglaf's Thaumaturge in "The Abyss"

"Well, see, the real magic isn't believing in yourself. The real magic is manipulating people by telling them to believe in themselves. The more you believe, the less you check facts."  - Oglaf's Vanka in "Conviction"

LastingDawn

...Whoa.

This goes right up there with the ARH! Incredible work! I haven't had much time to do much hacking lately (been very busy with my classes) but I'll try and play around with this! This is more or less a dream come true! The possibilities are simply now astronomical!!
"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!!!!

pokeytax

Quote from: The Damned on February 17, 2011, 10:52:50 pm
Equip Change


Lots of coding, involving, at the very least, a totally new complex AI routine. Unless this is somehow the foundation of your patch it's not worth it (I mean seriously, even humans don't use Equip Change). Have an ability that requires Equipment 1 and sets Equipment 2, then bribe the AI to use it? (Or is the AI even bound by the ARH... yeah you're on your own for now  :?)

QuoteNow that I'm thinking about it, though, does the Defend command also qualify as a "trigger" that would work with ALMA?


No, triggers are things that change your base stats, Defend adds a status. All ALMA does during battle is make sure that your PA goes down from 20 to 14 when your Bracer is stolen and you have "PA * 200%" on. It can do lots of cool stuff with unit stats/abilities but nothing else.

Quote
Weaponized EDIT: An additional query occurred to me when thinking about the ARH (which I've still no idea how to use): Could you use ALMA to ensure that enemies didn't buy skills they couldn't use with weapons that they can't use or weapons that they can't use but don't have equipped?


With the proposed scripting: could remove the skills, could add appropriate skills, could not give back the JP and tell them to go buy skills again.
  • Modding version: PSX

RavenOfRazgriz

AI is bound by ARH 2.1 as far as I'm aware.

Eternal248 and I had a moderately more useful idea for Equip Change, but it involves a lot of meditation and digging deep into the hellish, puss-filled bowels of the monster known as Final Fantasy XIII.  It's another bit of impressive Assembly Fuckery that you could try to make once I have a concrete plan set up if you want, pokeytax.  If not, I understand, ALMA's already a bit of impressive Assembly Fuckery once you get the code's belt tightened, so to speak.