Commit Graph

6793 Commits

Author SHA1 Message Date
Arokha Sieyes fad93cf366 Ports Bay/Paradise Defibs
I like the ones I wrote, but these are proooobably better.

They have normal units, which are worn on the back and you can grab the paddles out of to shock people.
Then there's compact units, which are worn as a belt, and serve the same purpose.
And finally there's the combat units, which allow revives through spacesuits, and have no safety so you can zap living people on harm intent (good for antags? CMO?).

These appropriately check for blood, a heart, etc. So, in that way, they're a bit more realisic than my original ones which I was sorta lazy in writing.
Emagging them turns off the safeties, allowing them to zap people who are still alive.

I actually cleaned up their sprite choice code a little and added a sprite for the 'combat' one since previously it was just the emagged sprite (flashing exclamation point). Now it's just got a red heart monitor, and the emagged ones keeps the exclamation.

Did make one balance change in that compact ones use twice the power (inefficient small capacitors? or something?).
2017-06-12 14:51:39 -04:00
Arokha Sieyes 31b5d4e4db Merge pull request #1711 from VOREStation/more-qdel-fixes
More qdel fixes
2017-06-12 10:28:48 -04:00
Arokha Sieyes 8eb9b5e3ab SM3200 warning when taking whole mind
So you know it's gonna KO them.
2017-06-12 10:10:15 -04:00
Leshana cae4b3f12c A plethora of Destroy() fixes - return qdel hints and clean stuff up. 2017-06-11 23:48:17 -04:00
Leshana 4f138abfcc Converts Resleeving Transcore to be a subsystem
* 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.
2017-06-11 18:32:40 -04:00
Arokha Sieyes 809927c139 Merge pull request #1693 from VOREStation/aro-sleevemate
Adds the SleeveMate 3200
2017-06-11 14:39:43 -04:00
Arokha Sieyes 93888221b2 Merge pull request #1690 from VOREStation/polaris-sync-gc
tg Garbage Subsystem
2017-06-11 14:39:30 -04:00
Arokha Sieyes 7c3b3c4311 Adds the SleeveMate 3200
**This commit prevents dead people from being backup-implanted!**
But it's fine because you just use this handheld thing to back them up instead and don't waste an implant, and medical starts with 4 so don't freak out. See below.

Adds the SleeveMate 3200 hand-scanner device. This device allows you to scan people to determine several things about them:
- If they have a mind in them
- If they have a client attached
- If their mind matches their body
- If they are alive/conscious

All of that is represented with in-universe messages of course. The real function of it is that it provides several features:
- One-time mind scan: Performs a one-time mind scan for those that don't like getting mind backup implants. This will store that one scan in the database, but you'll forget everything since then if resleeved. This is also useful for resleeving someone who died without an implant, but is not DNR/DNC.
- One-time body scan: Adds someone to the body scan database, or, updates their body scan if they obtained a new body. Useful if someone has used the body designer and switched bodies, as you can update their body scan. You should probably check medical records, and LOOC around before using this to resleeve someone that didn't have a body scan originally, because they may have picked that to avoid resleeving.
- Store Whole Mind: Takes the entire mind from someone, storing it into the SleeveMate 3200, rendering the patient mindless. From there, it can be backed up as many times as needed, deleted, or stored into someone with a Soulcatcher NIFSoft and run live in their VR (so now you don't have to digest/kill people for that).

Four SM3200's start in medical (1 in minimed downstairs, 3 upstairs), R&D can fab more, and they occasionally show up in trash piles for those wanting to be sneaky with a Soulcatcher, but who don't like digesting people.
2017-06-11 13:55:04 -04:00
Arokha Sieyes 0dda35454b Tank sprite changes
Updates to Paradise oxygen tank sprites, and fixes the engineer survival box to have goggles!
2017-06-11 00:08:21 -04:00
Leshana e644dbe18a Destroy() cleanups in VOREStation code
* 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`
2017-06-10 22:44:03 -04:00
Leshana 5a02b7e5c7 More and more Destroy() cleanups all across the board - Return qdel hints. 2017-06-10 22:41:51 -04:00
PsiOmegaDelta 7b47590645 Port of @PsiOmegaDelta's Baystation12/Baystation12#16820
Ports tg's garbage collector subsystem and Destroy() returning qdel hints.
2017-06-10 22:41:51 -04:00
Anewbe 5d81148ab8 Merge pull request #3511 from VOREStation/garbage-subsystem
tg Garbage Subsystem
2017-06-10 17:20:22 -05:00
Yoshax f154683662 Removes the snowflake human defined verbs from the majority of the reagent implants 2017-06-08 21:52:56 +01:00
Arokha Sieyes ade7f6c1cd Communicator QOL Tweak
Call/Msg buttons on contacts list
2017-06-06 01:03:08 -04:00
Arokha Sieyes 34f60eb07b Communicator QOL Tweak
Call/Msg buttons on contacts list
2017-06-06 01:00:47 -04:00
Arokha Sieyes 58ee6891f2 Additional Work on NIFs
Squashed commits:

[9563a9a] All the stuff I forgot to commit
2017-06-06 01:00:46 -04:00
Leshana e48b548f2b More and more Destroy() cleanups all across the board - Return qdel hints. 2017-06-05 23:01:41 -04:00
PsiOmegaDelta ebe5cc916d Port of @PsiOmegaDelta's Baystation12/Baystation12#16820
Ports tg's garbage collector subsystem and Destroy() returning qdel hints.
2017-06-05 22:10:06 -04:00
Leshana 197a648795 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync-2017-06-01
# Conflicts:
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/modules/multiz/movement.dm
#	code/modules/projectiles/ammunition/magazines.dm
2017-06-01 17:27:00 -04:00
Neerti 962cabe72c Merge pull request #3487 from Anewbe/deathalarm
Fixes Death Alarms
2017-05-31 22:54:52 -04:00
Anewbe 9d8f4cfa53 Fixes Death Alarms 2017-05-31 19:38:07 -05:00
Anewbe 0af77012c4 Merge pull request #3465 from Yoshax/radiation
Ports radiation rework and stuff from Bay
2017-05-31 18:37:58 -05:00
JOAN-RIG\Joan Risu e79c5e3c01 dem conflicts need fixin 2017-05-29 03:21:58 -07:00
Spades 3ff9d441f9 Finishes fixing ammo inconsistencies 2017-05-27 04:39:49 -04:00
Arokha Sieyes 93770b3be7 Changes emergency box to have goggles, mask, and O2 tank in it.
Just goggles for synths.
2017-05-27 03:10:43 -04:00
Spades 8579adcc53 Naming convention of ammo is now consistent
s = Speedloaders. (Functionally the same as clips, but they're not
_really_ the same thing, just in case we change these later.)
c = Clips. (Can also be used to fill other magazines.)
m = Magazine. (Holds ammo rounds.)
a = Ammo. (Individual rounds of ammo.)
2017-05-26 19:32:23 -04:00
Leshana 5f5ea3ea3b Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-merge-2017-05-26
# Conflicts:
#	code/game/gamemodes/technomancer/spells/insert/mend_burns.dm
#	code/game/gamemodes/technomancer/spells/insert/mend_metal.dm
#	code/game/gamemodes/technomancer/spells/insert/mend_organs.dm
#	code/game/gamemodes/technomancer/spells/insert/mend_wires.dm
#	code/game/machinery/computer/Operating.dm
#	code/game/machinery/computer/camera.dm
#	code/game/machinery/computer/communications.dm
#	code/game/machinery/computer/security.dm
#	code/game/machinery/computer/skills.dm
#	code/game/objects/items/devices/radio/jammer.dm
#	html/changelogs/.all_changelog.yml
#	maps/~map_system/maps.dm
#	nano/images/nanomap_z1.png
#	nano/images/nanomap_z5.png
2017-05-26 15:29:46 -04:00
Leshana 34c73dab69 Optimization/Rewrite of Radiation Controller
* The performance of the radiation controller as-is was not fast enough for inclusion in production servers, but it has some nice featuers, so rewrote it to be more performant.
* Instead of storing the radiation strength for every turf, we only store the sources of radiation, and calculate the strength only for mobs who might be in range.
   * Old method was ray-tracing to every turf in range whether anything was there to be irradiated or not.  Could be hundreds of turfs.  New method only lazily calcualtes strength at a turf if we actually need to know it.   Often times this is zero turfs if nobody is standing in engineering.
  * Removed the automatic processing of objects with "rad_power" set.  Objects are responsible for calling the repository to create/update their radiation sources.   Saves some extra overhead that in practice was redundant with other process controllers.
  * Also tweaked to be more respectful of qdel'd objects and added some comments.
2017-05-25 18:43:56 -04:00
Arokha Sieyes 25808b524a Reduce jammer power consumption
It's for the ERPs yo. And you can always find it by just walking around a bit and listening to the static if someone uses them for robust purposes (probably a lot more rare on our server).
2017-05-25 12:09:29 -04:00
Yoshax 341be4ccb8 Max health thing 2017-05-22 16:48:52 +01:00
Ben Reeve 6185bbd212 Unified radiation system 2017-05-22 16:24:34 +01:00
Yoshax c95df78a54 Fixes a bug with healthy analzyers and adds radiation showing to them, from Bay 2017-05-22 15:33:29 +01:00
Arokha Sieyes d3d180f739 Merge pull request #1497 from VOREStation/aro-tether-wip
Various Tether Fixes
2017-05-21 00:35:52 -04:00
Arokha Sieyes 67574a8bcb Makes survival box correctly hold gas mask and one tank 2017-05-20 22:26:06 -04:00
Arokha Sieyes 3a856f5bad Merge pull request #1493 from VOREStation/aro-tether-wip
Tether Map
2017-05-20 17:19:32 -04:00
Leshana e4becce7bf Added VOREStation comments to our custom lines that were missing them and removed debugging code. 2017-05-20 16:57:33 -04:00
Yoshax 3d63880041 Adds defines cause who wants problems 2017-05-20 18:11:20 +01:00
Arokha Sieyes d6676912bd Gas mask in survival box 2017-05-20 01:36:24 -04:00
Anewbe 098e2ffff8 Merge pull request #3436 from VOREStation/aro-pol-jammer
Subspace jammer item
2017-05-18 19:12:26 -05:00
Arokha Sieyes 5d73d45461 Merge pull request #1481 from VOREStation/aro-jammer
Subspace jammer item
2017-05-17 20:47:32 -04:00
Leshana 5ae26332fa Merge branch 'master' into aro-tether-wip
# Conflicts:
#	code/ZAS/_docs.dm
#	code/game/area/areas.dm
#	code/game/objects/explosion.dm
#	code/modules/holodeck/HolodeckControl.dm
#	code/modules/mob/living/say.dm
2017-05-16 00:26:32 -04:00
Anewbe 0bfc6de678 Trashbag can hold more 2017-05-13 10:20:45 -05:00
Arokha Sieyes 60889202c4 Moves icon 2017-05-09 20:45:03 -04:00
Neerti d900b52a33 Defib Fixes
Fixes runtime when screwdrivering the defib to remove the powercell.
Husked people can no longer be revived.  This is because otherwise they could become alive again but remain husked.
2017-05-09 20:14:04 -04:00
Arokha Sieyes 5c7ef1bbef Subspace jammer item
Jams the three devices that I'm aware of that use subspace communications: Headsets, PDAs, and Communicators.

All three will be unable to communicate if in range of a jammer. The default range is 7 turfs, the battery that comes in the jammer is a weapon cell (just to make it a little harder to find replacements) and lasts 60 seconds. The range and power use are variables.

Speaking through a headset will produce 'soft' or 'loud' static depending on how far you are, allowing you to sort of dead-reckon your way to a placed jammer. You can just carry them, otherwise.

I've got no experience with adding tator items so I'll leave that sort of thing up to you guys.
2017-05-09 20:13:43 -04:00
Arokha Sieyes 6e21e1ad28 Subspace jammer item
Jams the three devices that I'm aware of that use subspace communications: Headsets, PDAs, and Communicators.

All three will be unable to communicate if in range of a jammer. The default range is 7 turfs, the battery that comes in the jammer is a weapon cell (just to make it a little harder to find replacements) and lasts 60 seconds. The range and power use are variables.

Speaking through a headset will produce 'soft' or 'loud' static depending on how far you are, allowing you to sort of dead-reckon your way to a placed jammer. You can just carry them, otherwise.

I've got no experience with adding tator items so I'll leave that sort of thing up to you guys.
2017-05-09 20:11:23 -04:00
Neerti ec9617a593 Merge pull request #3433 from Yoshax/fleshlights
Nerfs flashlight brightness due to them being different due to soft lighting
2017-05-09 15:32:22 -04:00
Yoshax 1c07f11def Nerfs flashlight brightness due to them being different due to soft lighting 2017-05-09 17:00:15 +01:00
Leshana 4fbfa7ee37 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync-2017-05-08
# Conflicts:
#	code/modules/mob/dead/observer/observer.dm
#	code/modules/mob/living/carbon/human/life.dm
#	code/modules/mob/mob_defines.dm
#	html/changelogs/.all_changelog.yml
#	vorestation.dme
2017-05-08 21:07:45 -04:00