Files
Bubberstation/code/game/objects/items/robot
SkyratBot f292f2a713 [MIRROR] B.O.R.I.S. Module Bugfix [MDB IGNORE] (#24431)
* B.O.R.I.S. Module Bugfix (#79047)

## About The Pull Request

The boris module that turns a cyborg into an AI shell is a bit weird. It
can be used like an MMI or a positronic brain directly on a completed
borg exoskeleton. It can also be used like any other cyborg upgrade on a
completed cyborg, if an only if that cyborg is not controlled by a
player already. If you reset an AI shell, it is intended to make the
cyborg un-player controlled and to drop the boris module onto the
ground. From there, you are supposed to be able put it back in like any
other upgrade.

However, this behavior was bugged. Due to certain parts of the code not
calling procs they should have, the boris module was not being properly
removed from the list of upgrades when the shell was reset (in most
cases). This meant that the boris module could not be re-applied to the
newly empty borg. Furthermore, if the empty borg was deconstructed then
the dropped boris module would immediately be deleted.

This PR just fixes all that behavior so it works properly. I also fixed
a weird typo with removing cells from borgs because I noticed it while
testing.
## Why It's Good For The Game

Bugs are bad.
## Changelog
🆑
fix: B.O.R.I.S. modules can once again be properly applied to the
unformatted borg created when you reset an AI shell.
/🆑

* B.O.R.I.S. Module Bugfix

---------

Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com>
2023-10-19 15:17:38 -04:00
..