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

Boss elemental levels

Started by Mion Sonozaki, 17, August, 2013, 04:41:45 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Mion Sonozaki

Has there yet been found a way to modify boss elemental levels? (Such as making the Serpant super resistant to Earth, and weak to Air?)

Daddy Poi's Oily Gorillas

#1
Yes? (I assume that bosses and enemies are done the same way?) Enemies have indexes to their elemental data, which I believe is why Atrius never made them editable.


(Golden Sun 2)
080C6684 = Elemental data
(Note: The indexes are located somewhere in the enemy table: 080B9E7C = Enemy Stats (76 bytes per entry))
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! :)

Misery

#2
Did not know this, that's actually some really helpful info. Would you happen to know how it's formatted? (Though I should be able to figure it out easily enough now that I know where the data is).

Is the index an ID value or a pointer? (please say pointer....)

I'm hoping you plan to include power/resist editing in your own editor project, perhaps by having an index selector in the enemy data and make the actual element data editable elsewhere...

Daddy Poi's Oily Gorillas

#3
If it had been a pointer, I would have said so, right? Usually when I say "index" I mean a number that gets you to the corresponding Entry # in a bank. Where 0 would be the first entry in the bank, 1 would be the next... then 2, and so on.

Also, yes, I was thinking the Elemental Data should be edited separately, and then you can modify the Enemy's elemental index in the enemy data. (But at the same time, it could still be possible to display the elemental data in the enemy editor as well? Not sure, but my thoughts were to display everything in the editor in a similar order as to how it is displayed in the ROM. Ofcourse, I haven't decided on any exceptions yet.)
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! :)

Misery

#4
Alright, so for anyone interested I had a look at the elemental data.
Each entry is 24 bytes in size, and is formatted as follows:

00: value ranging from 0-4 (no idea what this is)
01-03: always 0?
04: Venus level
05: Mercury level
06: Mars level
07: Jupiter level
08-09: Venus Power
0A-0B: Venus Resist
0C-0D: Mercury Power
0E-0F: Mercury Resist
10-11: Mars Power
12-13: Mars Resist
14-15: Jupiter Power
16-17: Jupiter Resist

Quote from: Teawater on 20, August, 2013, 02:15:17 PM
(But at the same time, it could still be possible to display the elemental data in the enemy editor as well? Not sure, but my thoughts were to display everything in the editor in a similar order as to how it is displayed in the ROM. Ofcourse, I haven't decided on any exceptions yet.)
Yeah, definitely display the same data in the enemy editor as well.

Daddy Poi's Oily Gorillas

Quote00: value ranging from 0-4 (no idea what this is)
01-03: always 0?
It might be 32-bit for Elemental Type? Where "4" would be, for example, a non-adept?

I'm not 100% sure, exactly, but if I were to use SDL-H, I'm sure it may become clear. (I wouldn't be surprised if I looked it up before, but never documented it anywhere.)
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! :)

Misery

Quote from: Teawater on 20, August, 2013, 03:55:58 PM
Quote00: value ranging from 0-4 (no idea what this is)
01-03: always 0?
It might be 32-bit for Elemental Type? Where "4" would be, for example, a non-adept?
Sounds pretty likely. Venus djinn have 0, Mercury 1, Mars 2 and Jupiter 3.
Otherwise it's usually 4 except for a few rare cases which I can't make anything of.

Mion Sonozaki

From what I understand, this isn't as simple as going in and searching up a creature's address, because many foes share the same values?

Would I be able to hold my breath for a guide anytime soon?

Daddy Poi's Oily Gorillas

#8
If you compare the values with what you see in Atrius's Enemy Editor, it's easy enough. (Well, if you are using the elemental data that may be rarely shared. Most likely the boss ones) ; Just remember to convert his values to Base 16.

If you mess around with hex long enough, you could probably convert between them more easily in your head, I would assume.


For example:

HEX=DEC

10=16
20=32
40=64
80=128

And adding them up in your head like this:
18=24
30=48
60=96
C0=192

I sort of recommend learning these numbers as well:
32=50
64=100
C8=200
FF=255
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! :)

Misery

Quote from: Lishy on 22, August, 2013, 05:48:09 PM
From what I understand, this isn't as simple as going in and searching up a creature's address, because many foes share the same values?

Would I be able to hold my breath for a guide anytime soon?
I don't feel that this warrants a guide, but I'll try to explain it in a simple way.
It's correct that every foe has a set of elemental powers and resistances that they share with others. I already listed the format for these sets. In every enemy's data is a value that determines which set they use. I'm eventually going to try finding where exactly in the data it is, unless someone else does that first. Until then, it's still very much possible to edit the sets themselves, as long as you don't mind that the changes will apply to other enemies as well.

The easiest way to find a set is probably to make a search in a hex editor for [Venus Power][00][Venus Resistance][00][Mercury Power][00]... etc

Rolina

Quote from: Misery on 20, August, 2013, 04:05:57 PM
Quote from: Teawater on 20, August, 2013, 03:55:58 PM
Quote00: value ranging from 0-4 (no idea what this is)
01-03: always 0?
It might be 32-bit for Elemental Type? Where "4" would be, for example, a non-adept?
Sounds pretty likely. Venus djinn have 0, Mercury 1, Mars 2 and Jupiter 3.
Otherwise it's usually 4 except for a few rare cases which I can't make anything of.
That's for if they do elemental damage with a physical blow.  Golems are 0 as well, iirc. 

0 - Venus Elemental
1 - Mercury Elemental
2 - Mars Elemental
3 - Jupiter Elemental
4 - Non-Elemental

Since most things do non-elemental physical damage, it's a 4 for pretty much most things.  Think of it as the "attribute" option for monsters, like what items get (see:  Firebrand)

Misery

Oh, that makes sense (one of the enemies with a 2 was the Fusion Dragon).
That's pretty cool actually, I didn't know you could do that... thanks for clearing that up.