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

New Class Type Concepts

Started by Salanewt, 02, April, 2012, 08:46:43 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Salanewt

Okay, so this topic is basically where we can discuss various little tricks that we should be able to do with the class system. I have a few to start us off, and then we can talk about other things that we could do in this topic as well.

Class Alternate: You know how the game defines the base classes of Piers and Jenna by their unit IDs and what their classes are, right? So if Jenna should have type 2 when she she has a Mars level of 5, it switches it to type 14? With this in mind, it would be extremely easy to come up with alternate class swaps for specific characters. For example, both Isaac and Garet can acquire type 4, right? One could easily write some code that makes it so only Garet can have this type and give Isaac something like 19 or 20.

Item Alternate: I also have some ideas for item classes. The first involves having an item that can give two characters access to classes from different lines, and both lines have the same requirements. So, for example, say that there are two characters and a Trainer's Whip. If giving it to character A, they would become a Tamer. However, character B could branch off to the Driver line instead. Heck, you could probably make...

Item Exclusive: An item that will only change the class of a specific unit. So for example, giving Piers the Aquarius Stone might make him into an Aqua King, but giving it to anyone else would have no effect. This is sort of like a lesser version of the Item Alternate class, but where you define which character will receive the new class and make it so the other characters don't have the class changing check.

Item Swap: So I have brought these three up so far, right? How about a hybridized version, where equipping a certain item will only change your class if you have a specific class value? So for example, giving this item to Ivan when he is class type 5 might not do anything, but making him into type 9 would change his class yet again. With this in mind, you could probably switch to a normal class while still having this type of item equipped.

Item Combo: And for my last different concept today, I introduce the idea of requiring multiple items before being able to change classes. Say, for example, that you have two random items. Let's use the Laughing Fungus (LF) and Healing Fungus (HF) for this example, and Shroom Seer (type 23) for reference. Now, if we want Sheba to be a Shroom Seer, we could make it so she has to equip both items before adopting this class. We could probably achieve this in the following manner (pseudo-code):

If LF is equipped
Branch to HF check
Otherwise, end LF check
If HF is equipped
Change class to 23
End LF check

I'm not sure if this is currently possible, but this is how it would probably work if it were possible. This would basically make it so that you have to have both items equipped before you can become a Shroom Seer, since you can only reach that part of the code once both items are equipped.


Oh, and you could probably hybridize these types, allowing for an Item Swap Combo or an Item Alternate Combo class as well...

Pictures and examples will come in the future! If you can think of some other neat class types, feel free to post them in here if you want. And, well, I guess that's all.
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

What if we tie class type to weapon type?  If the character uses a Sword or Axe, they get class set A, but if they use a Blade or Mace, they get class set B?  Mages would get something similar - Mace/Blade gives Class Set C, and Staff/Ankh gives class Set D.

Another idea I've been working on is Branching classes, but without full character separation, it doesn't look like it'll cooperate.  However, if you separate each character to have their own classes, you can actually pull it off.

Salanewt

I'm not sure how easy it would be to add weapon types to this code, but you could probably do it if you define all of the item slots that are supposed to be your weapons, and force the characters with these weapons equipped into their set. It could basically work like the party separation patch, but where you do it based on item equipped instead of what party the character belongs to.

And for branching, this is rather unfortunate. You could probably completely separate the characters if you come up with "Class Alternate" types for every elemental combination for each character, but there could be issues with the amount of space if you have a full 8 member party.
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

Well, I'm already kinda pushing for a couple new class separation patches - one to separate it into four groups, and one into 8 groups.

Kide

QuoteAnd for branching, this is rather unfortunate. You could probably completely separate the characters if you come up with "Class Alternate" types for every elemental combination for each character, but there could be issues with the amount of space if you have a full 8 member party.
Yeah, I thought about this too. This would be the easier solution, yet it would be using too much space. The separation patch only is less than Jenna's clause, just for comparision...

I was thinking in some other way to do this, but I have no idea if it's possible to do it. What the separation patch do is add 20 to the class type of every character starting from PC04 till PC07, right? So, what if you could make it add 20 from PC01 till PC07, loop back and add another 20 from PC02 till PC07, and so on. Would it be possible to do something like this?

Rolina

GS has a ton of unused space on the cart, so we do have the room for it.  The issue here is being able to expand the editor interface to compensate for the additional space.  We can go up to the maximum data allotment, which we'd have to ask atrius how many hex digits it uses.

Salanewt

In GS2, the highest class is 243, which is less than xFF in hex. While I'm not fully sure myself, I would be willing to bet that we would only be able to go up to 255 if class IDs are saved at bytes.
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

You'd think, but elements go up that high, despite the fact that it'd make more sense that they'd stop after just one digit.  There is the off chance they might go up to 511 or 1023.

Salanewt

Hm? But don't elemental levels go up to the triple digits because they act as powers/resistances and stuff? I think they might be 8-bit as well though, so their maximum would be 255 if I recall correctly. If classes are 8-bit as well, then they would have the same maximum.
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

NOT levels.  ELEMENTS.  0 = Neutral, 1 = Earth, 2 = Water, etc.

Salanewt

But wait, I thought that they only went up to 5, and that Venus was 0? Maybe I need to get ready for bed as well, hm...


Either way though, I'm pretty sure that the class values aren't a special case, and that they are read as a regular unsigned 8-bit value. If someone wants to look at the RAM soon, then we can find out for sure.
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

The editor only lists up to 5.  I thought it went up to 8.  Atrius corrected me, telling me they went up to 255.  Mind was blown.

Salanewt

If going by code, then 255 would make more sense if it is a byte. A single 8-bit value is a byte, so... Yeah. Still, 255 is the maximum value that one can have in a byte, or else it won't fit into its assigned space.
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?

Kide

Quote from: Role on 03, April, 2012, 12:53:53 AM
GS has a ton of unused space on the cart, so we do have the room for it.  The issue here is being able to expand the editor interface to compensate for the additional space.  We can go up to the maximum data allotment, which we'd have to ask atrius how many hex digits it uses.
Yeah, there would be enough space. But my suggestion (if possible to code) would make it so you wouldn't have to worry about missing one or more combinations, or about which type one of those would get. The class types would be all related themselves and easy to remember.

And I believe the limit is 255 too. Not sure about it, though.

Daddy Poi's Oily Gorillas

Quote from: Salanewt on 03, April, 2012, 12:59:51 AM
In GS2, the highest class is 243, which is less than xFF in hex. While I'm not fully sure myself, I would be willing to bet that we would only be able to go up to 255 if class IDs are saved at bytes.

And you seem to be right. See Felix's class value: 02000B79.
Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)

Rolina

I see.  Well, it appears that if we do use full class separation, we'll need to limit the number of characters to 4, otherwise we're likely to run out of room.

Kide

Not necessarily. For non-GS based hacks, 30 classes per PC might be suitable. And even for GS based ones, since everyone has access to 34 classes (+ item ones), there would be always some way to not mess it up that much, like making all dual types 5-tier and all tri types 2-tier, or something else.

And, of course, nothing stops you to have 5-7 characters I guess.

Misery

255 slots should be enough for about 50 class lines. If we want more than that for our 4 characters, something is not right...

I'm not even sure we have enough distinct class lines to warrant coming up with alternative ways to access them ._.

Salanewt

I guess it would depend on the hack though. For example, my Disco Sun hack is going to have just a few alternate class swaps for certain characters so I can make both Mercury characters a bit different. For the community project, however, you probably have a point.
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?

Misery

Ahh my bad, I thought you were actually discussing the community project. If you want to try out some funky class change methods in another hack, I'd say go for it! By the way, character exclusive item classes would be easier done by making the item only equippable by that specific character...