• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
April 18, 2024, 02:35:57 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

pokeytax

  • Modding version: PSX


pokeytax

Uggggghhhh... the code is functioning fine (e.g. on stepthrough) but getting the following errors in pSX:

Assertion failed: cyc<=cpuinfo->min_execute_cycles, file .\src\recompiler.cpp, line 643
Assertion failed: lf, file .\src\recompiler.cpp, line 1163


Hopefully that doesn't mean it's choking the emulator... it's not that long! (Okay, it kinda is, but...)

EDIT: Huh, yeah, it's running fine in ePSXe. Doesn't that just beat all? Any help anyone can offer on what exactly that means would be nice, but I'm guessing this is out of most people's expertise. Doesn't look as easy as just cutting the CPU usage.
  • Modding version: PSX

Vanya

pSX is less accurate than ePSXe, I think. So it could just be the emulator.
  • Modding version: Other/Unknown
¯\(°_0)/¯

pokeytax

Yeah, I dunno how much more time and sanity I can invest tracking down an emulator-specific bug that only shows up in runtime, not on stepthrough, and isn't just # of CPU cycles. I might just release the code as-is, fully functional on ePSXe, and try to track down the bug later. (Oh, so it works if I set a breakpoint at the first line, but never trips the breakpoint... seriously?!)
  • Modding version: PSX

Pickle Girl Fanboy

We need a PS1 equivalent of bsnes.  Or maybe pSX Author should release 1.4, which fixes a lot of bugs and does PS2 emulation.

Why would you make an emulator and not release it, or the source code?

pokeytax

Gonna bump this now that a semi-stable version is up - conditional passives, minimum HPM/MPM/SPM/PAM/MAM, and abilities on attributes added.
  • Modding version: PSX

LastingDawn

Quote from: pokeytax on February 22, 2011, 10:25:19 pm
Gonna bump this now that a semi-stable version is up - conditional passives, minimum HPM/MPM/SPM/PAM/MAM, and abilities on attributes added.


Ah an update! Fantastic. Still only usable on ePSXe for the moment though, I would imagine?
"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!!!!

philsov

So.. with passives, can you explain these functions?

ARSM = abilities/RSM, wherein simply knowing that slot is a passive bonus
Job level = stuff gained from levels
Msatered = full skillset = blammo

makes sense

But attached to?  What's the difference between job XX and job?  Everything and secondary make sense.  More to the point, what is the combination of functions necessary to invoke "when the skillset/ability is equipped by either primary class or secondary skillset".  And what purpose does the Mime/Squire/02/03 line serve?

Meanwhile, with the attributes II sheet, does this enable RSM functionality to be granted when equipped with ability X?  Like... if I toggle Brave Up, and then attach that attribute to Faith Up, then whenever I equip Faith Up, I also have Brave Up?  And, for the sake of curiousity and recursion, if I were to toggle Brave Up, assign that attribute to Faith Up -- and then on another attribute slot toggle Faith Up, and then assign that to Counter -- when I equip counter, what happens?
Just another rebel plotting rebellion.

LastingDawn

February 24, 2011, 01:34:31 pm #49 Last Edit: February 24, 2011, 01:49:41 pm by LastingDawn
Quote from: philsov on February 24, 2011, 01:16:51 pm
So.. with passives, can you explain these functions?

ARSM = abilities/RSM, wherein simply knowing that slot is a passive bonus
Job level = stuff gained from levels
Msatered = full skillset = blammo

makes sense

But attached to?  What's the difference between job XX and job?  Everything and secondary make sense.  More to the point, what is the combination of functions necessary to invoke "when the skillset/ability is equipped by either primary class or secondary skillset".  And what purpose does the Mime/Squire/02/03 line serve?

Meanwhile, with the attributes II sheet, does this enable RSM functionality to be granted when equipped with ability X?  Like... if I toggle Brave Up, and then attach that attribute to Faith Up, then whenever I equip Faith Up, I also have Brave Up?  And, for the sake of curiousity and recursion, if I were to toggle Brave Up, assign that attribute to Faith Up -- and then on another attribute slot toggle Faith Up, and then assign that to Counter -- when I equip counter, what happens?


I was just about to ask similar questions, maybe I'm not understanding it right...

But am I able to attach the functions in Attributes II to Items, if so desired? Say I want a Robe which gives M.Atk. Up or a unique weapon that has Maintenance. Is that the intended functions of these? And if so how am I to give that to the items? Since the values for the two appear to be the exact same, 50-9F.

EDIT: Or are the two attributes combined, so to speak? Say I made Value 50 as +10% MP and Value 50 of Attribute 2 as Distribute... So if I wanted to add +10% MP to a Rod and give it Distribute. Would the two stack? Or is only one value applicable?
"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

It's still only ePSXe. It's got a ton of bugs too atm, but once I find and kill the pSX bug I will release a new version.

Job XX should probably be labeled "Freelancer". It enables all attributes if, and only if, current job is one of the jobs at right.

So if you set:

all three columns to job XX: "Yes", left the stuff at right as is
Knight A1: +2 PA
Knight Job Level 4: immune to Chicken
Knight Mastered!: Equip Armor

then:

- Squires, Mimes, Chapter 2-4 Ramza, and specials (e.g. Holy Swordsman, Engineer, Angel of Death, but not monsters) gain these bonuses if the conditions are true. (Yes, Ramza counts as a special; those numbers are there just to demonstrate you can manually enter values.) So learning Head Break grants +2 Freelancer PA, hitting job level 4 grants Freelancer Chickenproof, mastering Knight grants Freelancer Equip Armor.

- Knights never get these bonuses ever (unless "everything" or "job" is checked as well).

So to get the scheme you want, set "secondary" and "job" to yes for all three columns. That will grant all bonuses on the Knight line when job is Knight or secondary is Battle Skill.

Things to note:
- You can only get a bonus once, no matter how many conditions you satisfy.
- You can flag job, job XX, and secondary conditions to recognize special base jobs and special base skillsets. So if your scheme is "job or secondary" and you choose "Specials" on the drop down:

Mustadio gains Squire bonuses when wielding Snipe and/or an Engineer.
Queklain gains Squire bonuses when he's, uh, Queklain.
Agrias would not gain Squire bonuses if she somehow had Ja Magic as a secondary, but she would if she had Holy Sword.
If you used Wiegraf's sprite, but gave him Delita's job, Delita's primary skillset and Punch Art as a secondary... I don't think he would gain Squire bonuses. I am not at all conversant in how mixing and matching that stuff works.

- Mastering a class automatically enables all ability bonuses (it sets these bytes to $FFFF). So unfortunately, you can't do anything fancy like making Squire RSM6 grant Equip Gun and making Mustadio the only person whose base skillset has a sixth RSM - anyone who masters Squire or their base class will get it too.

ALMA's RSM recursion is only one level deep. It will add the rest of the attribute, but not more RSM.

So if:

attribute 50 adds "Brave Up" and PA + 1
attribute 51 adds "Faith Up" and MA + 1
"Faith Up" possesses attribute 50
"Counter" possesses attribute 51

then:

"Brave Up" grants "Brave Up"
"Faith Up" grants "Faith Up", "Brave Up", and PA + 1
"Counter" grants "Counter", "Faith Up", PA + 1, and MA + 1.

Of course, if you had attribute 51 grant "Brave Up" AND "Faith Up", you would get all three; follow the chain downstream and you can simulate any recursion you want. But this way you get nominally more quirky functionality, for example 80% of reactions adding Weapon Guard, but Weapon Guard adding Defense UP when specifically equipped. Obviously the lack of recursion was a brilliant design decision, not just programmer laziness justified after the fact!

There's only one attribute 50. It adds everything from either tab. I will probably merge the two tabs for clarity at some point.

To have the the item "Rod" to add +10% MP and Distribute:

"66" in cell F3 on "Attributes" tab
any value in cell AE2 on "Attributes II" tab
"50" in cell F13 on "Items" tab.

You still have to worry about the general rules for stacked reactions, which I know nothing about, but you would get both, and any attributes attached to Distribute on the "Equipped Abilities" tab would also trigger.
  • Modding version: PSX

LastingDawn

Excellent! So we can use RSM through items now! This will really help in a ton of patches, I know it will help for mine! Thanks for the indepth answers Pokeytax and keep up the great work!
"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!!!!

philsov

QuoteObviously the lack of recursion was a brilliant design decision, not just programmer laziness justified after the fact!


It... actually is more brilliant and options up more options than full followthrough.  :D

Have you looked into reaction dominance yet? Because combining some lesser reactions might make them halfway decent, but I'm curious on which one gets priority if they share triggers.  If not I'll do it this evening and post results.  At least I can combine Catch with Arrow Guard >_>
Just another rebel plotting rebellion.

pokeytax

If anyone is feeling clever, try to think of a good way to implement passive abilities as part of a skillset.

You can just tack on bonuses to existing abilities, but unless you have a really fitting class, that screams "I couldn't figure out how to do this right." Works for Lancer but not much else.

You can use ARH to disable an ability entirely, but then you're down an ability slot.

I was thinking... a few enemy-only skills, such as the Fear skillset and Poison Frog, are CT 0. The player will never be able to view the data for these via the AT table. Could you add Poison Frog to the Mediator skillset, set it to Lucavi use only via ARH, change all the text associated with it without changing any of its functionality, disable display ability name, and have it add Short Charge via ALMA? You lose the displayed name when cast in battle, but that seems like a good tradeoff for free passive ability slots. Am I missing something?
  • Modding version: PSX

RavenOfRazgriz

Can't you just add unused Jump skills to the bottom of a standard skillset, or does that glitch out?  It's not like you need more than 3 of those fuckers for the Jump command anyway.

Otherwise, yeah Pokeytax, what you said should work, though it'll still appear in the player dropdown when checking to cast a skill I believe, even though they can't actually use it.  Though that also means the Lucavi gets whatever innate buff you were giving to that class too.

pokeytax

Quote from: RavenOfRazgriz on February 24, 2011, 07:19:09 pm
Can't you just add unused Jump skills to the bottom of a standard skillset, or does that glitch out?


Heh, yeah, I tried that first. They can be used glitchily, I don't think you can disable them with vanilla ARH, and they display weird CT/MP. Are the Jumps/Charges/Maths hardcoded slots you can't change to normal abilities? (I seriously don't know this.) If so... that's terrific! :D At least this would make some use of them. It can't be that hard to let ARH disable their active "use".

Yeah, it'll be grayed out - that's life, I can't think of a way to make it vanish entirely.

The Lucavi shouldn't get the buff, unless their class is Mediator - it's not attached to the ability Poison Frog, but to knowing Mediator ability #13. You could stick "Cannot enter water" in there, and if ARH could disable its use and the game didn't crash, it would probably work fine.
  • Modding version: PSX

RavenOfRazgriz

Yes they are hardcoded slots you can't make use of normally.  If you can make the game run without glitching, assuming you don't intend the player to use the skills, they make great filler slots for this since you can get away without using the majority of them even if leaving Charge and Jump in the game as primary sklillsets.

And I see.  I misread your post earlier then.

pokeytax

Quote from: RavenOfRazgriz on February 24, 2011, 07:38:17 pm
Yes they are hardcoded slots you can't make use of normally.


Wow, excellent, who cares about my idea! Should be pretty easy to set dummy information so these display as CT 00 MP 00 skills, tweak ARH a bit so it can disable them, and get back as many slots as you could ever need, between Jump/Charge/Math/Throw/Item.
  • Modding version: PSX

LastingDawn

February 24, 2011, 09:36:19 pm #58 Last Edit: February 24, 2011, 09:46:40 pm by LastingDawn
Actually... if you're using ARH to make "Dummy skills" like  for instance...


Squire

Ability No. 5  - "+50 HP"

If you set +50 HP as an unattainable skill through ARH (Requires a Two Handed Weapon and a Shield for instance...) then that skill should be Sealed and never seen by the player when they look through their battle commands.


EDIT: Maybe I'm missing something, but I can't figure out how to put in solid values in the +C boxes. Everytime I try to put anything into the + C box it spits out a ## which I imagine is invalid. when I put things into the *C / 60 boxes (That is the % ones it seems? It seems to work fine.)
"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!!!!

The Damned

Great to hear its working, at least in ePSXe (with any luck, that won't be the one actually works on my computer; I forget which it is).

I'm not sure how much I'll just this myself, but the Cannot Enter Water example gave me an idea that I could at least use this for monsters when it comes to more useless innates....

Regardless, excellent job on this. If I wasn't already having balancing nightmares, I'd heavily consider this just because of how much it reminds me of FFV.

Quote from: pokeytax on February 24, 2011, 07:51:12 pm
Wow, excellent, who cares about my idea! Should be pretty easy to set dummy information so these display as CT 00 MP 00 skills, tweak ARH a bit so it can disable them, and get back as many slots as you could ever need, between Jump/Charge/Math/Throw/Item.


This would "just" be for passive abilities, though, right? It wouldn't fix the whole problem of not being able to use spots, right?

I mean, it would still be useful for some people, I'm sure. I just want to be sure I'm understanding this.
"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"