`reset_perspective` from tgstation.
Also adds various support for remote viewing lenses - like cameras not
transmitting xray vision, among other things
Recommit because we're using different compiler versions
* Adds Syndicate Infiltration Team
Goals:
- Provide a way to introduce a group of co-operating traitors, e.g: for
events.
- Provide a way to draw several ghosts into the round at once.
- Provide a way to enable additional objectives (e.g: kidnap) traitors
don't currently have a way to complete.
- Provide an evil counterpart to the Emergency Response Team.
Main:
- Creates a new "Send Infiltration Team" verb under Secrets -> IC for
admins. This verb creates a team of syndicate infiltrators, drawn from
ghosts.
- The infiltrators themselves are prespawned with stealth items
(including 20 TC uplink implants, dust implants, chameleon jumpsuit,
etc).
- The admin who invokes the SIT chooses their mission. It can be
anything.
- This team has their own shuttle, with 3 docking points on the
Cyberiad: arrivals maint, eng maint, and sci maint.
- Their shuttle has blast doors, and a small shuttle brig for abducting
Cyberiad crew.
Misc:
- Creates an 'emag_immune' attribute for doors (and pod doors). Applies
it to SST, SIT and nuke ops main doors. SST application prevents an
exploit. SIT/nukeops application prevents failzerg.
* check_rights, color codes
* Improved Options
- Added PDA painter to SIT spawn room, to prevent SIT members from
metagaming the SIT by identifying them from their PDA color.
- Added food, drinks, and laundry machine/crayons (to recolor gloves) to
the SIT spawn room.
- Added team size prompt for issuing admin, to allow them to send larger
or smaller teams.
- Removed storage implant from the list of things SIT team members spawn
with. In most cases, they will have plenty of TC to buy one if they want
it.
- Fixed action button sprite on dust implant. No longer displays as
blank.
- Added the number of TC each team member gets on spawn as an
admin-configurable option when using the verb. 20-30 is suggested.
- Updated memories ("Notes") given to each SIT member upon creation.
- Fixed a bug with SIT team size which was sometimes causing one less
person to spawn than was intended.
* Minor Improvements
- Made SIT members show up on antaghud, and to each other. Rather like
nuke ops.
- Made SIT members start out with a flashlight in their backpack, so
they can more easily find their way into the station from maint, without
bumbling around in the dark.
- Removed manhack grenade from SIT shuttle, replaced it with a welding
tool. Subtle hint to break the wall into the station.
- Added option for admins to spawn a Syndicate Officer to brief the team
before they go. The officer does not go with the team. They're rather
like ERT Directors briefing ERTs before they are sent out. Optional
fluff.
* Map Area Tweak
* Fixes potential SST exploit with c4-ing mech door
* Tiger
* World's smallest merge/Travis fix
* Renames Officer to Management Consultant
* Removes protected var blocking C4 on poddoors
* Removes emag_immune property for doors
Cleans up those nasty trailing returns, colons, and other clutter. Also
went ahead and removed the colons from the original mindslave code I
copied.
Converting loyalty implanted crew now results in a shorter zealot
duration. Previously, all crew was a zealot for 10 minutes, now crew
that is loyalty implanted AT THE TIME OF CONVERSION remains a zealot for
only 5 minutes before deconverting.
Refactored most instances of special_role setting/checking to use new
SPECIAL_ROLE_X defines in code/__DEFINES/gamemode.dm
Removed relative pathing from objective.dm and split large if statements
into multiple, plus a bunch of styling fixes
Refactored every instance of `istype(ticker.mode` into a GAMEMODE_IS_X
define in code/__DEFINES/gamemode.dm. Done primarily for when someone gets
around to making gamemode code less AWFUL
- Refactors action button backend
- Action buttons are no longer checked on Life(), items are responsible
for adding/removing/updating them.
- Item action buttons are no longer a static action_button_name define,
items define actions_types, which is a list of paths.
- Items can now have multiple action buttons.
- This is handled by new arguments to ui_action_click, the first
parameter is the user, the second is the path of the action datum
that was invoked.
- Refactored how internals function
- You may now directly switch internals without breaking anything.
- The internals icon has been updated to be more consistent.
- Added action buttons for jetpacks
- Added action buttons for oxygen tanks
- Uses-based implants now qdel() themselves when they run out of uses.
This is somewhat a buff to traitor implants, but it's such a minor
change. The actual reasoning is so that the action buttons are properly
removed.
- Fixed a bug with the "Boo" spell which resulted in IsAvailable failing
for certain ghosts.
- You can now shift-click on movable HUD elements to reset them to the
proper position (thank fucking christ)
* Initial Checkin
- Creates two new admin-only jobs, "Nanotrasen Navy Officer", and
"Special Operations Officer". The former is for IC investigations by
admins of situations on the Cyberiad, and spawns in the admin room. The
latter is for leading/overwatching ERT teams, and spawns at the ERT
office.
- Neither of these jobs are accessible to normal players, either on
join, in preferences, or as a random job.
- When they are spawned, no announcement is made, and they do not show
up on the crew manifest.
- In other news, the "select equipment" debug verb has also been
adjusted so that NT Navy Officers get the same equipment either way.
* Fixes teleporter on admin station so that admins can use it to teleport directly to bridge
* Fixes CC jobs not always displaying CC HUD icon for sechuds
* Adds an implant that dusts someone on their death
* Tweaks
Changes:
- CC officers now spawn with an internals box in their backpacks, like
everyone else.
- CC officers now get dust and death alarm implanters in their backpacks
on spawn, rather than automatically having the implants in their bodies.
This enables admins to test things on admin station without worrying
about dusting or having their deaths broadcast.
- Dust implants no longer provide death alarm functionality.
- Dust implants no longer process().
- Dust implants are now based on explosive implants, and can be manually
activated via deathgasp.
- CC officers now spawn with CC headsets that are named 'centcom
headset'.
* Deletes CC encryption key
* Switches to using imp_in.dust()
- Improved tracking implants
- Added parole implant (chem implant with ether)
- Added parole jumpsuit + control wand
- Added box of the above to warden's locker
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.
Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
This commit overhauls a bunch of systems so that buckling works for
any subtype of /obj. This means that space vines and chairs and beds all
use the same system. A lot of stuff has been touched.
This commit does the following:
- Ports progress bars from -tg- (tgstation/-tg-station#9921)
- Refactors wall attackby code to make it 100% less insane; Instead of
manually checking every little thing, it uses do_after,
consequentially, making the new progress bars affect dealing with walls
as well.
Wall code makes a tiger sad.