## Abstract
<!-- An abstract is a short blurb, about a paragraph or two, succinctly describing your feature. This should mostly be "why", but can include "what". -->
For both marines and xenos, but especially for xenos, there has been a long standing problem where players utilize information they obtain while observing in round. This hasn't been as much of an issue until the ghost roles lesser drone and facehugger were added making it easier for someone to instantly enter the round and act on some information they observed.
The idea is to tether the ghosts to their body if they're reviveable (dead marines), or to weeds of the hive they are a part of. For xenos this will effectively make all ghosts of a hive like a queen eye.
## Goals
<!-- This is a numbered list clearly detailing your goals for the feature. As per usual, this should be a mixture of both why and what. -->
1. Reduce the amount of information that can be obtained from observing from impacting the round.
2. Give the Join as Xeno late join button a better purpose again (it used to be how you joined as larva but is now managed by queue)
3. Allow players a means to select a particular hive they want to be a part of (e.g. by joining the corrupt hive they are only a candidate to that hive)
## Non-goals
<!-- Just like goals, but the opposite! Every feature has boundaries it won't step over. These should be written as if they start with "We will not...". -->
1. Starve a hive from potential candidates
## Content
<!-- Now's where you get into clear detail about everything your feature does. **You should still be explaining 'why' things are that way, *as* you describe what.** Be as detailed as possible. -->
### As an observer ghost
* The join as xeno button/verb will offer the existing logic of larva if a hive has no queue, or an AFK xeno.
* Otherwise, the join as xeno button/verb prompts them which of the current existing hives they want to join (as in normally this is just Prime, but if there's a Corrupted hive that will also be offered) to immediately jump to that hive's queen or first living xeno as a xeno_ghost.
* Whenever a new hive is formed (e.g. round start or first corrupt larva) there is a ghost alert mentioning that the hive has been formed that can be clicked on to join that hive.
* No longer can be a larva candidate as an observer except for the first larva of a researcher hive.
* The join as lesser drone and facehugger buttons/verbs operate as normal.
### As a reviveable human
* Ghosting when revivable is implemented much like an imaginary ghost is tethered teleporting the back to their body; or could simply restrict movement past a distance.
* Converted to a new mob type: /mob/dead/human_ghost instead of /mob/dead/observer
* Orbiting is not possible.
* Ghost tacmaps (xeno and observer) are unavailable.
* Hive status is unavailable.
* Marine tacmap is available.
* Jumping to any area/mob/obj/etc is not possible.
* Health scanning is not possible.
* Chat log is only messages that their dead mob could hear.
* Appearance and name is their mob's.
* Receives no observer announcements.
* Speech is unavailable except for LOOC.
* When they perma or opt to go Do Not Revive (DNR) they are no longer tethered and return to being a normal observer.
* Getting nested while alive does not require them to be tethered to their body, and they get prompted to return back to their body when unnested or bursting as normal
### As a xeno ghost
* Starting position is either their old mob loc if they were a xeno, or the queen/first xeno if they were an observer/new player.
* The join as xeno button/verb will still offer the existing logic of taking over an AFK xeno, but not larva from any hive.
* By being an xeno ghost, they are assumed to have xeno preference set true and are then part of that hive's larva queue.
* The larva queue now operates based on time joining the xeno hivemind as a xeno ghost.
* Joining as a lesser drone or face hugger still does not impact their sorting order for the queue, but they can only become a lesser drone or face hugger for this hive.
* Movement is restricted to weeds just like queen eye (so can push off weeds slightly).
* Converted to a new mob type: /mob/dead/xeno_ghost instead of /mob/dead/observer.
* Orbiting is not possible.
* Ghost tacmaps (marine and observer) are unavailable.
* Xeno tacmap is available if the hive has a tacmap (only normal currently)
* Hive status is only available for current hive.
* Jumping to any area/mob/obj/etc is not possible.
* Health scanning is not possible.
* Chat log is only messages for the current hive.
* Name is their regular xenomorph designation.
* Appearance is some variant of queen eye.
* Receives only this hive's observer announcements.
* Speech is restricted to hivemind with a small font or LOOC.
* Temporary mute is applied when ghostizing as a dead xeno or entering the hivemind as an observer/new player.
### As a dead xeno
* Ghosting when dead or getting gibbed as a xeno automatically ghostizes you as a xeno_ghost for that hive.
## Alternatives
<!-- Provide potential alternatives to your feature, either ones that align with your design values, or ones that don't that you suspect will be suggested. If you are including the latter, make sure to explain why you didn't choose that. -->
* Rather than xeno ghosts being like a queen eye, they could instead either be forced to orbit a xeno player of that hive always or be a tethered ghost to a xeno of that hive.
* Rather than tethering a dead marine to their body, ghosting could just require setting DNR.
* Rather than allowing hivemind speak as a xeno_ghost, instead have just a chat channel with the xeno_ghosts of that hive.
## Potential Changes
<!-- Most of the time you're not going to get the best design first try. It helps to try your best to predict what *could* go wrong, and suggest alternatives that can be taken, without sacrificing your design. -->
* Motion detectors may need to ignore movement from xeno hive observers, but initial implementation will try to have them as a much more subtle visual.
* Names of xeno_ghosts may need to be further anonymized.
* Dead chat restriction for human_ghosts may need to be removed or LOOC may need to be removed.
* Temporary mute for xenos that just died may need to be removed.