News:

The forum has been updated to SMF (2.1.3)!
Please be patient as we work to polish up the place and update features as we can.

Main Menu

Saturos Attacks

Started by Plexa, 22, August, 2017, 02:30:12 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Plexa

Hey, just wondering how the game determines where Saturos starts in his pattern?

I tried comparing it to the stuff we did for Star Magician (http://forum.goldensunhacking.net/index.php?topic=2784.msg46723#msg46723) and it didn't seem to be following this formula.

Daddy Poi's Oily Gorillas

#1
For that, Guardian Ball used the first attack pattern. Saturos doesn't.

Mercury Lighthouse Saturos = One of the sequential patterns. (Starts on a random one, then increments.)
Venus Lighthouse Saturos = second attack pattern

Looks like Saturos is the second pattern.

0 = 0x00000000 = 0, , , 0
1 = 0x00003039 = 1, , , 0
2 = 0xD3DC167E = 0, , , 6
3 = 0xA70427DF = 1, , , 7
4 = 0xD6651C2C = 0, , , 4
5 = 0x0DAA96F5 = 4, , , 6
6 = 0xC21F1C8A = 0, , , 4
7 = 0x3EAD62FB = 3, , , 2
8 = 0xCD1DCF18 = 6, , , 7
9 = 0xAF5AAD71 = 5, , , 5
10 = 0x20DA7756 = 3, , , 7
11 = 0xAFE533D7 = 1, , , 3
12 = 0x69ACC4C4 = 6, , , 4
13 = 0x961BAFAD = 5, , , 7
14 = 0x261EB2E2 = 5, , , 2
15 = 0x525F3673 = 1, , , 6
16 = 0x65136930 = 3, , , 1
17 = 0x7E7099A9 = 4, , , 1
18 = 0xE6791B2E = 0, , , 3


Tried to put in the numbers for each Attack Pattern. (1, 2, 3, Sequential) ... But I still need to fill in 2 and 3. ; Sequential is basically random&7... if you ignore the bytes on the ends.)
The other sequential pattern starts on the first ability, so it is left out.


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! :)

Plexa

#2
Sorry I should have been more precise, I mean Saturos at the top of Mercury Lighthouse i.e. when his attacks are sequential.

The intent of this would be to input an arbitrary BRN seed and know where in the pattern Saturos is going to start (so that Eruption can be avoided)

Daddy Poi's Oily Gorillas

#3
^The Mercury one would have beenn my first guess due to no mention of Menardi. But thanks for being precise!

--
So... assuming you could control the seed with reasonable time... I'm guessing getting it on the 8th/last one would be best case circumstance? (Or does it simply not matter once you know when Eruption will happen?)
You kind-of have to see two of his moves happen to figure out where he is in his pattern. (e.g. Avoid 5 and 6)

Saturos: (For reference so no one has to refer to the Editor.)
0=Heatflash
1=Fireball
2=Attack
3=Fireball
4=Heatflash
5=Attack
6=Eruption
7=Attack
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! :)

Plexa

Yeah we already aim for that part of the cycle in all the S&Q categories, this was for the no S&Q category, meaning they have no control over where the BRN is at saturos. I've attached the project that inspired the question to this post. Someone doing no S&Q can simply input the commands issued into the sheet and the sheet will calculate the BRN advances for them. Thus allowing them to predict saturos's attack (and most importantly, avoid eruption)

I worked out from your earlier post that I just needed to bit.and with 0xFFF then bit.rshift by 8 places to isolate the number determining Saturos's attack.

Daddy Poi's Oily Gorillas

#5
Okay, cool... I had a feeling it might be something like that... from your previous post...  I guess now we know for sure! :)

0xFFF? or 0x7FF? ; I think it's better to do the rshift first and .and with 7, if you want it to look prettier, though. (As for me, I'd do it that way simple because the game does, kinda. The rng function called already does the shifting, so it is just an and instruction.)


Mercury Lighthouse is pretty early in the game... ~1-2 hours? So it would be cool if it could be manipulated consistently until that point, but I have doubts. (It helps to have two different random number generators, huh?)
Thought:  It would be interesting to know the minimum number of generated seeds possible through the entire game, though. (Kinda like a speed-run, but instead of managing time, manage the seeds. :P ; Going to guess GRN would have way more than BRN.)

-Some battles during the Vale prologue. (+Saturos+Menardi battle)
-Some battles in Sol Sanctum until Jenna has a certain amount of exp.
-Battles on the World Map.
-Bandits battle in Vault.
-More World Map battles.
-Cave...
-...


P.S. Not sure if that .xlsm would be better in Google Spreadsheets or not....?
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! :)

Plexa

Google sheet may have been better, but I had to write some VBA functions for RNG advance and whatnot. It's not feasible to track BRNs to manipulate fights, but since Saturos is so dangerous and Eruption is just instant gg counting BRNs to that point is feasible with a useful application.

Daddy Poi's Oily Gorillas

#7
Alright cool.

Going to need to see if I can view the scripts in any free software... er.... Edit:  OpenOffice appears to view them. - Seems to start most lines with "Rem", though... which looks weird.
Rem Attribute VBA_ModuleType=VBAModule
Sub Module2
Rem Public Function RNA(x As Double) As Double
Rem     g = x
Rem     m = 20077
Rem     n = 16838
Rem     g1 = g * m
Rem     g2 = g * n
Rem     g2 = Application.WorksheetFunction.Bitand(g2, Application.WorksheetFunction.Hex2Dec("FFFF"))
Rem     g = g1 + g2 * Application.WorksheetFunction.Hex2Dec("10000")
Rem     g = Application.WorksheetFunction.Bitand(g, Application.WorksheetFunction.Hex2Dec("FFFFFFFF"))
Rem     c = Application.WorksheetFunction.Hex2Dec("3039")
Rem     g = g + c
Rem     g = Application.WorksheetFunction.Bitand(g, Application.WorksheetFunction.Hex2Dec("FFFFFFFF"))
Rem
Rem RNA = g
Rem
Rem End Function
End Sub


I think Google Spreadsheets also had some script editor, but I never really bothered using it yet... so....

So Mercury Lighthouse Saturos is the only enemy that actually matters for BRNs?

---
Interesting you are using "doubles"... I think "integers" are the way to go, but anyway... There may be a possibility that this code can be shortened and made readable at the same time?


Not sure how different Spreadsheet VB is from VB.NET ... But I will want to try &H for hex and &(or and?) for and.... ; 0x3039 is actually just 12345.... ; Also, I assume "Application.WorksheetFunction" can be set to a variable, and used from there. variable.Hex2Dec(whatever.....)


--
Edit again:  Pwn'd... ~20 minutes before I noticed next post. :D
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! :)

Plexa

Manticore and Kraken would probably be the other two. Kraken is more difficult because his attack will depend on what the elven shirt user does, and beyond the first attack there's not much you can do to manip beyond that (or atleast I can't think of a way). Manticore is also a pattern boss like saturos but not nearly as scary since you won't get OTKO by the manticore on any of his turns.