Recoded it a little different. The verb is in OOC, if you have a NIF. It's saved as part of the NIF, so if your head explodes and you lose your NIF, you'll need to describe your new one.
Also fixes an unrelated bug where ghosts examining people print all sorts of crazy messages about being able to trample people.
Removes translators from loadout (departments still have them spawn for dealing with their work), removes EAL implant from loadout, remove omni language implant from R&D.
(Also fixes bug with soulcatchers that keeps the brains from hearing borgs, so you can still know all the languages while in a soulcatcher. So if you want to understand everything, get a translator in your head :p)
Makes it properly auto-register your name instead of coming as Unset every time.
Makes messages to Commlinks properly stay in the commlink user's head.
Just shove it directly into their face. Make sure it's a bioadaptive one though otherwise it won't do anything.
Target head, click, wait a while. They ARE slime people or whatever so... makes sense :V
Ghosts now have a verb "Join Into Soulcatcher" that lists all players, and they can pick one to ask them if they can join into their SC. If they don't have one, it notifies the ghost (this is less expensive than trying to crunch who has a soulcatcher and shortening the list. You can just deal with it okay??). You cannot get backed up if you joined this way, like there's no way to move from being a ghost to being in someone's head to being in a mob. You'd need to ghost and respawn normally. (This is intentional... no sneaky no-manifest people getting in).
And various other SC QOL things:
- Adds NMe and NSay verbs when you get a soulcatcher installed so you can use them in the text parser at the bottom of the window or click them in the verb list like a crazy person. The older emotes also still work.
- Prevents 'loop of madness' where both pred and prey have soulcatchers and it floods your log as it tries to decide who catches who
- Removes minds if the client is disconnected for a long time, or if the player ghosts out of the NIF
Wow, this ran out super fast. You get like 2 minutes of use, jeez. This makes it much longer. You also get a % heat sunk thing next to it in the NIF menu so you can see how far along you are.
-Adds a nifsoft that can be used for manual mind backups on the go sleevemate style.
-Fixes one-time backups not saving nifs (sleevemate and this thing)
-Apparently the backup proc only saved nifs on the second sync.
There are now disk boxes in medical, security, mining, and engineering containing 7 nifsoft disks with software packs, each having 2 common useful NIFsofts for that department.
* Medical - AR (Medical), Crew Monitor
* Security - AR (Security), Responsive Filter
* Engineering - AR (Engineering), Nictating Membrane
* Mining - Respirocytes, Material Scanners
* /datum/nifsoft/uninstall() sets nif = null, so any overriden uninstall() that calls parent can't access the nif after that. Luckily the only nifsofts that did this were just clearing flags that they set on install().
* We have an automatic flag set/clearing mechanism using some variables which sets them on install and clears on uninstall, so we switch to that and its all good.
* Since the transcore has a ticker process, it really should be a subsystem. Converted it over. However, because its ticker is so fast, I did not bother implementing MC_TICK_CHECK into it. Therefore it has the SS_NO_TICK_CHECK flag.
* Because its a subsystem, the global variable is now SStranscore instead of transcore.
* Because subsystems are so easy to debug, I removed the "TC" debugging variable from the machines that used it.
* Organized a few files. The transcore subsystem is in the subsystems folder. Defines had to be moved to defines folder so they are included first.
* Remove remaining hard del()'s in our code.
* Replace deleted() and gcDestroyed with QDELETED macro.
* Fix some strange calls directly to Del() (capital D)
* Make Destroy() return qdel hints.
* Make a few of the Destroy()'s more comprehensive in cleaning up references.
* In edited Destroy() procs, converted to use qdel_null and qdel_null_list macros when possible for pretty code.
* Removed unused variable `sleevecard`
Logs soulcatcher messages to the chat log so admins can review them, since that's kinda important, and gives subtle it's own logging format so you can tell it's a subtle and not just an emote. Also disables subtles while in the soulcatcher because apparently that was a thing.
- Multiple minds at once, gotta catch 'em all, they can all talk to each other, etc
- A setting to enable mind backups for all minds in there like an implant
- Notifications to the already-in-there minds when one comes or goes
- If YOU get put in YOUR soulcatcher, it does ONE backup right then and stops, so medical will be notified
- Brainmob can understand galcom so they can understand radio announcements if they're allowed to hear things.
- Adds admin verb in Fun tab for "Quick NIF" to quickly implant someone with a NIF, if for example they lost theirs via bug, or for antags in events.
- Some tweaks in Persist VR to not 'hard crash' just in case runtiming prevents other things.
- Added titles to top of *nsay and *nme boxes so you can remember what you're doing.