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

Enable Timestop Guardian on all guardian creator items; Plus, Standard Guardian returns! #733

Merged
merged 5 commits into from
Dec 19, 2023

Conversation

LikeLakers2
Copy link

@LikeLakers2 LikeLakers2 commented Dec 16, 2023

About The Pull Request

A commit from about a month ago accidentally caused Timestop to overwrite Standard - but this PR fixes that by splitting Timestop out to its own mob type, so Standard Guardian can once again be selected.

After talking with Kilgor, it was additionally decided that Timestop Guardian should still be available to all. Thus, this PR also enables all Guardian Creator items (traitor's Holoparasite Injector, wizards Tarot Deck, and Miner's power miner shard) to select the Timestop Guardian. However, Bloodsuckers are still forced to get a Timestop Guardian, because haha funny anime reference.

To coincide with this change, a new icon was added to represent Timestop in the guardian selector radial present in the Injector and Tarot Deck. This icon was created by camriod_core on Discord, and I think she did a lovely job:

time

Here's how it looks in-game:
image

NOTE: This PR features some hacky code. Unfortunately, without a full refactor or modularization, I don't see a way around it. That said, a refactor/modularization is planned by Dexee and myself, which will hopefully remove a bunch of hacky code and make it easier to maintain Guardians.

Why It's Good For The Game

  1. Re-enables Standard Guardian for all
  2. Enables all to get a Timestop Guardian
  3. Bloodsuckers are still forced into getting a Timestop Guardian

Changelog

🆑 MichiRecRoom
fix: You can once again select a Standard Guardian when using a guardian creator item (such as the Holoparasite Injector).
add: All Guardian Creator items now allow you to get a Timestop Guardian, even if you're not a Bloodsucker. Bloodsuckers, however, are still locked to only getting a Timestop Guardian, because haha funny anime reference.
image: The radial icon for the Timestop Guardian was created by camriod_core on Discord.
fix: The Timestop Guardian's timestop ability will no longer freeze the guardian's summoner.
fix: The Power Miner shard no longer has a chance to spawn Support Guardians, as a stopgap due to Support Guardians being unable to heal, severely limiting their usefulness and causing many an ahelp. This change will be reverted once we figure out how to fix Support Guardian's heal.
/:cl:

@LikeLakers2
Copy link
Author

LikeLakers2 commented Dec 16, 2023

Aside: During development, I discovered a rather major issue.

Despite attempting to do so, the Guardian Timestop spell does not appear to apply the timestop immunity trait to the guardian's summoner properly - causing some summoners to be timestop-immune while others may not be. I will investigate why this occurs soon.


The above issue has been fixed.

The issue arose from how the timestop immunity was attempting to be applied: It would attempt to apply it to the summoner as soon as the ability was granted. However, because the Timestop Guardian is granted the timestop ability as soon as the mob is created, no summoner is set yet - so the timestop immunity can't be applied to the summoner.

The fix I implemented: The summoner's timestop immunity is instead applied when the guardian's summoner value is set.

@LikeLakers2
Copy link
Author

LikeLakers2 commented Dec 19, 2023

Per my comment over at #714, I've temporarily disabled the ability for the Power Miner shard to spawn Support Guardians. This should act as a stopgap until we figure out the issue.

The Holoparasite Injector (traitor guardian spawner) is unaffected by this, as the player gets to choose the type of Guardian they get. They may still choose a Support Guardian if they don't mind the bug (though I may add a confirmation to let them know of its bugged status).

The Enchanted Deck of Tarot Cards (Wizard guardian spawner) is also unaffected by this, but they are unable to choose the Support Guardian anyways.

@dwasint dwasint merged commit 94e0bd9 into Monkestation:master Dec 19, 2023
15 of 20 checks passed
github-actions bot added a commit that referenced this pull request Dec 19, 2023
@LikeLakers2 LikeLakers2 deleted the fix-timestop-guardian---copy branch December 19, 2023 22:20
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

Successfully merging this pull request may close these issues.

2 participants