Golden Sun Hacking Community
January 19, 2018, 05:50:59 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
  Home   Forum   DC Wiki Help Search Calendar Downloads Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: Saturos Attacks  (Read 681 times)
0 Members and 1 Guest are viewing this topic.

Regular Member
**

Coins: 2
Offline Offline

Posts: 135

« on: August 22, 2017, 06:30:12 AM »

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.
Logged
View Profile
Fox
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 28
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2403

« Reply #1 on: August 22, 2017, 04:54:22 PM »

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.


« Last Edit: August 22, 2017, 04:55:57 PM by Fox » Logged

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...

Remember kids! Before you go on that interview, remember to wash your hands in teawater! *Coughs on hand* (Excuse me, I just coughed up a little teawater, so they're still clean!) You wouldn't want that hiring manager to be unimpressed.

May the force be with you!
Shoo! Why does it smell in here?
Maybe that's the wrong kind of force. *smirk*
View Profile

Regular Member
**

Coins: 2
Offline Offline

Posts: 135

« Reply #2 on: August 23, 2017, 03:33:42 AM »

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)
« Last Edit: August 23, 2017, 03:35:49 AM by Plexa » Logged
View Profile
Fox
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 28
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2403

« Reply #3 on: August 23, 2017, 01:11:27 PM »

^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
« Last Edit: August 23, 2017, 01:30:42 PM by Fox » Logged

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...

Remember kids! Before you go on that interview, remember to wash your hands in teawater! *Coughs on hand* (Excuse me, I just coughed up a little teawater, so they're still clean!) You wouldn't want that hiring manager to be unimpressed.

May the force be with you!
Shoo! Why does it smell in here?
Maybe that's the wrong kind of force. *smirk*
View Profile

Regular Member
**

Coins: 2
Offline Offline

Posts: 135

« Reply #4 on: August 23, 2017, 03:38:45 PM »

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.

* BRN Calc.xlsm (36.46 KB - downloaded 22 times.)
Logged
View Profile
Fox
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 28
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2403

« Reply #5 on: August 23, 2017, 04:50:29 PM »

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....?
« Last Edit: August 23, 2017, 05:31:28 PM by Fox » Logged

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...

Remember kids! Before you go on that interview, remember to wash your hands in teawater! *Coughs on hand* (Excuse me, I just coughed up a little teawater, so they're still clean!) You wouldn't want that hiring manager to be unimpressed.

May the force be with you!
Shoo! Why does it smell in here?
Maybe that's the wrong kind of force. *smirk*
View Profile

Regular Member
**

Coins: 2
Offline Offline

Posts: 135

« Reply #6 on: August 24, 2017, 12:50:20 AM »

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.
Logged
View Profile
Fox
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 28
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2403

« Reply #7 on: August 24, 2017, 02:27:33 AM »

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.
Code:
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
« Last Edit: August 24, 2017, 03:40:08 AM by Fox » Logged

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...

Remember kids! Before you go on that interview, remember to wash your hands in teawater! *Coughs on hand* (Excuse me, I just coughed up a little teawater, so they're still clean!) You wouldn't want that hiring manager to be unimpressed.

May the force be with you!
Shoo! Why does it smell in here?
Maybe that's the wrong kind of force. *smirk*
View Profile

Regular Member
**

Coins: 2
Offline Offline

Posts: 135

« Reply #8 on: August 24, 2017, 03:06:48 AM »

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.
Logged
View Profile
Pages: [1]   Go Up
  Print  
 
Jump to:  

Cbox
January 17, 2018, 04:07:51 PM
KyleRunner: :D
January 16, 2018, 08:44:56 PM
Fox: I must say... life can be complicated..... when you have question(s) (via email) ... and it seems like they sort of get ignored. :D ; Fun, (And sometimes, a person may respond, and completely not answer the question.... so like... 3-person conversation.) Hahahaha!!
January 15, 2018, 07:26:16 PM
Fox: (path) 1 text=(address) char=(address) free=(address) ; << Well, closer to this... but yeah... even if I do choose to have defaults in the code, I could still use this method for overrides.
January 15, 2018, 07:24:28 PM
Fox: So like (path) 0 text=(address) char=(address) len=(number) ; (path) 1 free=(address) ; Or something. But that's just a quick example.
January 15, 2018, 06:59:14 PM
Fox: Hopefully. I was wanting to make it so you could put in the addresses/etc. as one of the arguments in the path. Hm?
January 15, 2018, 03:37:07 PM
KyleRunner: Nice! I hope you'll add compatibility with others games (GS1, Mario Golf and Tennis) soon.
January 14, 2018, 11:40:09 PM
Fox: Okay. Posted (in Downloads section) an initial cutdown version for now, for my text compressor. Basically to separate the code from my Editor for anyone who wants to mess with it. It only supports GS2, because I still didn't add the addresses/etc. for the other games.
January 14, 2018, 05:01:00 PM
Fox: Okay! Going to need to think how I want it to work. Initial thoughts is maybe have a number of arguments in the filepath thing. And have a number of shortcuts (files) to be used as examples. Assuming there are no problems.
January 14, 2018, 10:38:24 AM
KyleRunner: Well... I'm used to editing text ina a text editor, so... yes! Thanks in advance!
January 13, 2018, 11:38:43 PM
Fox: (Text editor = Text Document like notepad.)
January 13, 2018, 11:38:21 PM
Fox: Would you prefer during the text editing in a text editor? (Like what gstoolkit lets you do?) I could probably make a separate tool or something to compress it.
January 13, 2018, 10:10:02 PM
KyleRunner: Ok. Once I finish my Lost Age translation, I'll try a Mario Golf one. Thanks. (But I'll need help).
January 13, 2018, 10:03:17 PM
Fox: If you want to make it "permanent" (part of a hack), then you'd edit code in the ROM that writes to this location of the IDs you'd want to change. (You can find these locations by using a breakpoint debugger like SDL-H or no$gba.)
January 13, 2018, 10:00:11 PM
Fox: Reload/switch = Recommended to be done through Debug mode/warp menu, ofcourse... since doors seem to appear as if they were disabled? ; 03001238:01 and B+Start to get to warp menu.
January 13, 2018, 09:55:39 PM
Fox: @Kyle Runner = It might be, but you'd have to use the correct addresses for Mario Golf, rather than for GS2 as I have it right now. ; @raijinken = Yes. 02000454 = ID of leader. (Change this and reload/switch room you are in, enjoy.)
January 13, 2018, 02:23:29 PM
raijinken: Hey guys, is it possible to somehow change the lead character on the map? Was wondering. I remember there was a cheat to use Jenna, but what if I wanted Isaac, or Piers?
January 13, 2018, 02:10:03 PM
KyleRunner: Hey, Fox *
January 13, 2018, 02:09:37 PM
KyleRunner: Hey, is your text editor compatible with Mario Golf (GBA)?
January 11, 2018, 08:33:13 PM
Fox: But if it isn't an oversight, I still can't imagine it being that useful.
January 11, 2018, 08:28:24 PM
Fox: part, ofcourse.

Affiliates
Temple of Kraden Golden Sunrise
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.071 seconds with 23 queries.