Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sen's Gate Skip split condition #4

Open
seanpyre opened this issue Mar 21, 2019 · 0 comments
Open

Sen's Gate Skip split condition #4

seanpyre opened this issue Mar 21, 2019 · 0 comments

Comments

@seanpyre
Copy link

Saw this mentioned in speedsouls discord (bit lengthy for discord, so I put it here), here's something that should work for SGS (pseudo code):

byte deathcam = Deref(handle, 0x137D644, 0x40)
int mpzone = Deref(handle, 0x137E204, 0xA14)

// SGS
if (mpzone.Changed && deathcam == 1 && 
        GetWorld() == 10 && GetArea() == 1 && mpzone == 0x249F0)
    // queue up split

The conditional will be true once you pass the gate of sen's in deathcam, so you can queue it up for a "on quitout" split afterwards. Since the player is in deathcam, the world-area is locked to 10-1 respectively rather than the 15-0 you normally get in Sens. Finally, the change in mpzone with the current value being 0x249F0 is the clue that the character passed the gate of sens (you could probably use coords for this too if you wanted).

I don't know exactly how mpzone works other than it is somehow tied to the multiplayer activity areas, but it is fairly reliable in my experience (I use it for boss splits like taurus, guardian, firesage, centipede too). Its value is -1 on loads (like world/area). Also, the deathcam pointer moves around a bit on loads like the CharData1Ptr, just as a heads up if you weren't aware.

I don't have visual studio set up properly, so sorry for the issue instead of just a pull request. Let me know if you need any more info. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant