I encountered an issue where diona nymphs could bypass the ghost-role cooldown, allowing for you to have infinite lives in combat scenarios. Simple fix right, wrong. This uncovered one hell of a mob spawning rabbit hole that goes deeper than you could have ever imagined.
About The Pull Request
Converts ghost role sentience into a component.
Refactors most ghost role spawns to use this component, and erases the many different implementations of ghost role sentience that we had.
Things are now standardised:
All sentience spawns will appear in the spawner menu
Nymphs now respect the ghost role cooldown
There are 2 types of ghost sentience options:
Unique: Will appear as its own unique entry inside the spawners menu
Grouped: Will concatenate mobs with the same non-unique name into the same category and will spawn the player in the closest mob to their ghost when they click spawn
Makes the spawn message when you enter a body more clear:
Also ghosting will now give you a ghost role cooldown.
The following sentience spawns are affected:
Transform disease (replacing banned players)
Pyro anomaly slimes
Spiders (Structures can be given the ghost spawner too, though spiders use their own unique spawning behaviour to setup teams)
Mass sentience secret
Ghostize smite
Antagonists replacing banned players (Only if nobody accepts the prompt)
Blob zombies
Xeno larvae (They require a ghost to spawn, so this only really affects if a larvae ghosts)
Nymphs
Light pink slime potioned slimes
Replace banned cyborg (Only if nobody accepts the prompt)
Exploration ghost roles
Other changes:
Spawners menu will always show flavour text
Note that this doesn't quite convert everything, only the stuff that was previously going through the sentience system. Convertnig mob_spawner would be a lot of work.
Why It's Good For The Game
Things being standard is good, it means that any issues will be shared across all ghost spawners making them much easier to fix.
Testing Photographs and Procedure
Nymphs
![image](https://github.com/user-attachments/assets/8f16c934-2756-4c21-bf5b-9f05584fd64c)
1 alert for all nymphs
![image](https://github.com/user-attachments/assets/8348e7f5-82ef-45ea-b7e0-230308a11c46)
Clicking on a specific message gives you that specific mob
![image](https://github.com/user-attachments/assets/ee127e36-fe01-446a-b104-ed0714c379f2)
Spawner menu:
![image](https://github.com/user-attachments/assets/23377bad-d668-4b29-a7fd-1ef59669560a)
![image](https://github.com/user-attachments/assets/796ad060-4a24-44e1-8db7-535319e60457)
Pyro Slime
![image](https://github.com/user-attachments/assets/c7c84778-76af-45f7-83c9-484a7ebb9624)
![image](https://github.com/user-attachments/assets/d6f9453b-36e3-48b4-a1fe-020fa44b4b62)
![image](https://github.com/user-attachments/assets/54ac92e7-e40c-4c4c-a0e4-17901fcb0db4)
Ghosting:
![image](https://github.com/user-attachments/assets/ebffb4e3-9c52-47f3-8ce7-e7992402923e)
Spiders
![image](https://github.com/user-attachments/assets/5bf12cf2-74f5-4c6a-8682-d2707361a565)
![image](https://github.com/user-attachments/assets/1d76d171-e48d-4499-9e58-550eddd98bd4)
![image](https://github.com/user-attachments/assets/643b516e-6bd4-4c0e-9d7c-1244cfb3a008)
![image](https://github.com/user-attachments/assets/c2954164-a1bd-4e5b-9c96-2ea06ec1f787)
![image](https://github.com/user-attachments/assets/96e7066b-3beb-4ce6-9594-27075012aecf)
Changelog
:cl:
fix: Nymphs now appear in the ghost menu and respect respawn delay.
add: Adds a message for ghost role spawning
fix: Standardises ghost sentience spawning and ensures that enslaving works for all spawned mobs.
/:cl:
I encountered an issue where diona nymphs could bypass the ghost-role cooldown, allowing for you to have infinite lives in combat scenarios. Simple fix right, wrong. This uncovered one hell of a mob spawning rabbit hole that goes deeper than you could have ever imagined.
About The Pull Request
Things are now standardised:
There are 2 types of ghost sentience options:
Makes the spawn message when you enter a body more clear:
Also ghosting will now give you a ghost role cooldown.
The following sentience spawns are affected:
Other changes:
Note that this doesn't quite convert everything, only the stuff that was previously going through the sentience system. Convertnig mob_spawner would be a lot of work.
Why It's Good For The Game
Things being standard is good, it means that any issues will be shared across all ghost spawners making them much easier to fix.
Testing Photographs and Procedure
Nymphs
![image](https://github.com/user-attachments/assets/8f16c934-2756-4c21-bf5b-9f05584fd64c) 1 alert for all nymphs ![image](https://github.com/user-attachments/assets/8348e7f5-82ef-45ea-b7e0-230308a11c46) Clicking on a specific message gives you that specific mob ![image](https://github.com/user-attachments/assets/ee127e36-fe01-446a-b104-ed0714c379f2) Spawner menu: ![image](https://github.com/user-attachments/assets/23377bad-d668-4b29-a7fd-1ef59669560a) ![image](https://github.com/user-attachments/assets/796ad060-4a24-44e1-8db7-535319e60457)Pyro Slime
![image](https://github.com/user-attachments/assets/c7c84778-76af-45f7-83c9-484a7ebb9624) ![image](https://github.com/user-attachments/assets/d6f9453b-36e3-48b4-a1fe-020fa44b4b62) ![image](https://github.com/user-attachments/assets/54ac92e7-e40c-4c4c-a0e4-17901fcb0db4) Ghosting: ![image](https://github.com/user-attachments/assets/ebffb4e3-9c52-47f3-8ce7-e7992402923e)Spiders
![image](https://github.com/user-attachments/assets/5bf12cf2-74f5-4c6a-8682-d2707361a565) ![image](https://github.com/user-attachments/assets/1d76d171-e48d-4499-9e58-550eddd98bd4) ![image](https://github.com/user-attachments/assets/643b516e-6bd4-4c0e-9d7c-1244cfb3a008) ![image](https://github.com/user-attachments/assets/c2954164-a1bd-4e5b-9c96-2ea06ec1f787) ![image](https://github.com/user-attachments/assets/96e7066b-3beb-4ce6-9594-27075012aecf)Changelog
:cl: fix: Nymphs now appear in the ghost menu and respect respawn delay. add: Adds a message for ghost role spawning fix: Standardises ghost sentience spawning and ensures that enslaving works for all spawned mobs. /:cl: