-
Notifications
You must be signed in to change notification settings - Fork 10
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
Deathlink, first pass. #81
Deathlink, first pass. #81
Conversation
Oh, for documentation: The DeathLinkIcon is public domain clipart, sourced from: I experimented with using the shade's Hunter's Journal icon, but ditched it due to not being particularly visible in dark environments. Replacement art is welcome. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like it would work, but could use some cleanup for sure. Not bad, but I think a refactor pass would be beneficial to try and get the code a little more decoupled.
- Move most Deathlink support into a dedicated DeathLinkSupport class - Override shade respawn locations in certain rooms to make them safe. - Other code quality updates
Moved all of the Deathlink support into DeathlinkSupport.cs and a dedicated helper class. Ran out of time so haven't tested this commit yet, but it's mostly just variable renaming other than the messaging bits. Will give it proper testing later -- likely in conjunction with other features with @Alchav |
- Can now trigger in dream sequences. - ShouldShadeSwap(): Use map zone instead of scene name to filter out dream sequences - SendDeathLink() now returns immediately if the current death was triggered by DeathLink so callers don't need to. - Ditch a modhook function that did nothing but call SendDeathLink, just use SendDeathLink instead - Actually pick messages if the cause of death was unknown so the death sends. - Remove unused using directives.
Co-authored-by: Hussein Farran <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good enough to merge. Do so at your discretion. Great job and thank you.
This is a first stab of Deathlink. It probably needs a bit of code reorg, but I wanted to get it visible.
Depends on serverside supported added in ArchipelagoMW/Archipelago#672
Should properly handle dream sequences and other no-shade areas. Needs testing in some special cases; I saw some weirdness in GG_Atrium deaths respawning me at the dreamnail scene but oddly killing myself with the debug mod did not trigger this behavior.