News:

As a consequence of the forum being updated and repaired, the chatbox has been lost.
However, you can still come say hi on our Discord server!

Main Menu

Class System Hacking Topic

Started by Rolina, 30, December, 2009, 01:25:24 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Aile~♥

^see edits for reason why it was busted. XD now I feel like a moron.
[sprite=16, 6, 0]:P[/sprite]

Lloyd: Easy as pie.
Genis: Sweet!
Presea: ...Sweetie pie...
Zelos: Let's not start on this again...

[spoiler=epic mindscrew][/spoiler]

Hoopa

#21
From what I've tested so far, any number in the top box of the class editor except for the one's Role listed ( 1,2,6,7,12,13,14,15,16,17) will always result in a NPC class.

Another thing I have found: The base class does not always take precedent over other classes. If you use the same number in the top box as a base class, and create a whole new set of classes with the same requirements as the base while leaving both active, the newly created class seems to be of a higher priority than the old ones.
"You seek the truth but are you able to handle it? What you find may not be what you expected... and it may ruin you in the end. Knowing that, will you continue onwards in your journey? Or will you give up and return to a life of apathy? The choice is yours..."

Zach

Quote from: whizkidhvq on 08, February, 2010, 11:29:07 PM
I think you have to change the required elemental levels of the first class. For example, the pierrot class has no requirements, so that
automatically takes priority over any other class. You have to make it so that the element requirements for that first class is not 0.

Yeah, I've already said that in an earlier post, except you have to change the required elemental levels of that whole class set.

Quote from: JamietheFlameUser on 08, February, 2010, 11:38:30 PM
I did, I set the requirements for the original class to 100 for each element. Instead it used the WRONG CLASS!!!

That's because you far-exceeded the requirements to use a class. The maximum number you can have, if I remember correctly, are as follows:

Base Class: 13
Dual Elemental Class: 7 of one element and 7 of another element
Tri-Elemental Class: 4 of one element, 5 of another element, and 4 of another element
Item Classes: 3 of every element

Quote from: whizkidhvq on 09, February, 2010, 12:10:20 AM
I just tried it on all the characters, and it works out fine for all of them...Check to see if you have any ? classes that share the same requirements. Right now, I can see that as being the only reason why it isn't working.

Anything named ? are usually empty unless you filled it in with w/e yourself

Rolina

#23
Quote from: JamietheFlameUser on 08, February, 2010, 10:24:28 PM
Would you be so kind as to tell me exactly how you did that? I'm trying to do it with the Mysterious Card, but I'm not having any luck.
You have to make a class for EACH ELEMENT with a Class variable equal to that item's designated variable.  For mysterious card, this is 15.  Then you have to make classes with the following requirements:

:Venus: / :Mercury: / :Mars: / :Jupiter:

5 / 0 / 0 / 0
8 / 0 / 0 / 0
11 / 0 / 0 / 0
14 / 0 / 0 / 0

0 / 5 / 0 / 0
0 / 8 / 0 / 0
0 /11 / 0 / 0
0 /14 / 0 / 0

0 / 0 / 5 / 0
0 / 0 / 8 / 0
0 / 0 /11 / 0
0 / 0 /14 / 0

0 / 0 / 0 / 5
0 / 0 / 0 / 8
0 / 0 / 0 /11
0 / 0 / 0 /14

1 / 1 / 1 / 1
2 / 2 / 2 / 2
3 / 3 / 3 / 3




That should get you not only the ability for mono-element classes, but for an additional three multi-element classes.

Aile~♥

^ late response is late. I already figured it out, and I've already made the Mysterious Card do this. Because the original class for it sucked. I mean, backstab is the worst EPA in the game, and the Card abilities are very expensive and very suckish. And the classes' low attack values make Sabre Dance next to useless on anyone, even Felix and Isaac.
[sprite=16, 6, 0]:P[/sprite]

Lloyd: Easy as pie.
Genis: Sweet!
Presea: ...Sweetie pie...
Zelos: Let's not start on this again...

[spoiler=epic mindscrew][/spoiler]

Atrius (He/Him)

#25
Alright, I'm finally diving into the class code to figure out exactly what's going on behind the scenes here.

As suspected the first unknown value in the class editor is derived from the character's elemental level affinity.  The game takes the character's top two elemental levels and assigns a value based on the table below.


 :Venus:  :Mercury:  :Mars:  :Jupiter:
:Venus: 1 8 4 8
:Mercury: 3 6 310
:Mars: 4 9 2 9
:Jupiter: 510 5 7

Select the column that represent's the character's primary element, and the row that represent their secondary element.  So if a Mars adept was given a Mercury Djinni their value would be 3.  An adept that has no true secondary element is treated as though their secondary is the same as their primary.  There are a couple oddities as to which combinations are regarded the same, I double checked my work, and I assure you that they're not mistakes on my part.

Now here's the part you're going to hate.  Immediately after this value is loaded there is a block of code that, if we refer to the value as a variable called 'classType', basically translates to this:
if classType==2 && character==Jenna
{ classType=13 }
else if classType==6 && character==Piers
{ classType=14 }



I'm still working my way through the rest of the code, the next chunk looks like it deals with the class changing items.  From a quick glance it appears to use the specific index in the item list that they are stored at to identify them.


EDIT:
It's also probably worth mentioning how ties between elemental levels are handled in calculating the primary and secondary elements since there can only be one of each.

If two or more elements are tied for primary one of them will become primary, and one will become secondary.  If two or more are tied for secondary only one will become secondary, and the other(s) will not affect the class type value at all.  Merely due to the way the algorithm performs it calculations the elements end up being prioritized as such: Jupiter > Mars > Mercury > Venus.  Basically Jupiter always wins in a tie, and Venus always loses.

EDIT 2:
The actual priority is reversed from what I initially said.  Thank you, Kide, for the correction.
Venus > Mercury > Mars > Jupiter.  Venus always wins in a tie, and Jupiter always loses.
[sprite=220,4,0]I'm shaking my head in general disapproval of everything[/sprite]

Rolina

So I'm guessing the patch that would be needed to give all the characters their own classes would check to see if the character is Felix, Jenna, Sheba, or Piers, and if it is, assign new values? 

Say, if character is one of those four, then class type += 12?

Atrius (He/Him)

For their multi-elemental classes as well?
[sprite=220,4,0]I'm shaking my head in general disapproval of everything[/sprite]

Rolina

Of course.  That would prevent having problems like with Piers.  If we can have two sets of classes, we can build them so that they fit their respective teams.  This way, Piers can stay a fighter instead of being stuck as a mage, and Jenna can be a mage, instead of being stuck as a fighter.

Only Item-classes wouldn't be affected.

Rolina

Okay, to make it clearer as to what I'm trying to do, here's this:

Team One (Characters 0-3, argument += 0)


  :Venus:|  :Mercury:|  :Mars:|  :Jupiter:|
:Venus: 1| 8| 4| 8|
:Mercury: 3| 6| 3|10|
:Mars: 4| 9| 2| 9|
:Jupiter: 5|10| 5| 7|

Arg 12 = NPC, 0/0/0/0

Team Two (Characters 4-7, argument += 12)


  :Venus:|  :Mercury:|  :Mars:|  :Jupiter:|
:Venus: 13| 20| 16| 20|
:Mercury: 15| 18| 15|22|
:Mars: 16| 21| 14| 21|
:Jupiter: 17|22| 17| 19|

Arg 23+ - Item classes.  Each argument assigned to a specific item, that item grants the classes with this value.  Overrides other values.

Salanewt

Quote:Venus::Mercury::Mars:|   :Jupiter:|
:Venus: 1| 8| 4| 8|
:Mercury: 3| 6| 3| 10|
:Mars: 4| 9| 2| 9|
:Jupiter: 5| 10| 5| 7|


Select the column that represent's the character's primary element, and the row that represent their secondary element.  So if a Mars adept was given a Mercury Djinni their value would be 3.

Just to make sure, how again does the NPC (12) value fit into the chart (other than being a declared command)? The reason why I ask is because Isaac has the level required to be a Squire, yet his one Mercury djinni makes him an NPC (yet that value is 3, not 12). It is because his Mercury level overpowers his Venus level, yet Isaac does not have the requirements for any of the other classes, right?

Also, do you know what the bottom two unknown values are (or have I just been unable to see them)? For example, 15391 for the Squire series?

Have a nice day.
Oh yeah baby, £ me harder.

Fusion is just a cheap tactic to make weak Adepts stronger.

Yoshi's Lighthouse is a hacking website in progress. Why not check it out if you like Yoshi or the Mario & Luigi games?

Rolina

It could be that he meets no Element Level requirements for any of the value 3 classes.

Salanewt

I think you are right about that. Luckily, I found a way around it, so Isaac can still change classes while not affecting Felix' ability (although his base class is no longer his alone though).

So, now that I think about it, is there anything that we do not know about classes anymore?

Have a nice day.
Oh yeah baby, £ me harder.

Fusion is just a cheap tactic to make weak Adepts stronger.

Yoshi's Lighthouse is a hacking website in progress. Why not check it out if you like Yoshi or the Mario & Luigi games?

Rolina

We do not know if my patch idea will work.  Atrius, any news on if it will?

Atrius (He/Him)

I haven't had a chance to try it yet, but I don't see why it wouldn't.
[sprite=220,4,0]I'm shaking my head in general disapproval of everything[/sprite]

Rolina

If it works, let us know.  Add the patch option to the update and let us beta test it to work out any kinks that show up.

Hoopa

So now that this is solved... should it be unpinned?
"You seek the truth but are you able to handle it? What you find may not be what you expected... and it may ruin you in the end. Knowing that, will you continue onwards in your journey? Or will you give up and return to a life of apathy? The choice is yours..."

Atrius (He/Him)

Good call, though I'd still like to know what the other unknown value does.
[sprite=220,4,0]I'm shaking my head in general disapproval of everything[/sprite]

Hoopa

Ah, alright then. What do those values affect anyway? They don't have an effect on class do they?
"You seek the truth but are you able to handle it? What you find may not be what you expected... and it may ruin you in the end. Knowing that, will you continue onwards in your journey? Or will you give up and return to a life of apathy? The choice is yours..."

Atrius (He/Him)

They're stored with the rest of the class data, I can't imagine they'd affect anything else.
[sprite=220,4,0]I'm shaking my head in general disapproval of everything[/sprite]