Commit Graph

6461 Commits

Author SHA1 Message Date
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
2840c5b4f7 Merge pull request #1692 from VOREStation/aro-tankicons
Tank sprite changes
2017-06-11 13:52:21 -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
InterroLouis
a930c2c0d4 Add files via upload 2017-06-10 23:29:03 -04:00
Leshana
0a1322ae8b Fix catwalks initialization and destroy to not suck. 2017-06-10 22:44:03 -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
Leshana
aab81abb12 Remove redundant cleanup of /atom/var/reagents
* /datum/reagents/Destroy() does everything /datum/reagents/delete() does and more, and delete() is called only from /obj/effect/Destroy() which is *itself* redundant with its parent /atom/movable/Destroy()
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
Leshana
69a50ec225 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync-20170609
# Conflicts:
#	code/_macros.dm
#	code/controllers/master_controller.dm
#	vorestation.dme
2017-06-09 22:54:16 -04:00
Yoshax
f154683662 Removes the snowflake human defined verbs from the majority of the reagent implants 2017-06-08 21:52:56 +01:00
Anewbe
7a4e1fe3dc Merge pull request #3508 from VOREStation/aro-pol-commqol
Communicator QOL Tweak
2017-06-07 16:24:42 -05:00
Arokha Sieyes
c9915cca56 Adds the terrible quality NIF to trash piles 2017-06-06 19:35:48 -04:00
Arokha Sieyes
08e7703e4f Finishing Up NIFs
Squashed commit:

[4b18ca1] Finishing up NIFs

[e4adb4a] Tons more NIF work

All the implants are done!
2017-06-06 19:34:41 -04: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
Woodratt
914a291c1b WR Lighting changes and other tweaks
- Adjusts the radius of lights
- Roofs to shuttles
- Allows placement of full windows in DM
2017-06-05 17:03:58 -07:00
Pear120
7a875b796b Update mop_bucket.dm 2017-06-04 18:24:13 -04:00
Pear120
ae1d77cad0 Allows soap and rags to be wet using mopbuckets 2017-06-04 17:43:38 -04:00
Arokha Sieyes
3634624a8e More trash pile sprites
What it says yo
2017-06-04 12:09:49 -04:00
Leshana
c4bdc4c027 Updated VOREStation specific files for the ammo path reorganization.
* Updated paths in dm files
* Updated references in all dmm files for tether, virgo, and randomz
2017-06-02 12:18:13 -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
Anewbe
da437e50ee Merge pull request #3485 from Neerti/5/31/2017_make_surgery_slightly_better_again
Surgery Modifications
2017-06-01 14:42:38 -05: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
Anewbe
491ae6ac9b Merge pull request #3475 from SpadesNeil/aces-gun-stuff
Path naming of ammo to be consistent, and also fixes some gun things
2017-05-31 18:11:25 -05:00
Arokha Sieyes
6ada64082b Adds Trash Piles
Replaces some lockers and racks in maintenance with trash piles. They are presistent loot piles for people who just can't help but greytide. It allows people who join later in the shift to still get goodies. Each is searchable once per shift by each ckey.

They have three loot lists: alpha, beta, and gamma.

Alpha has the highest chance and just random maint stuff. All usable items (no random empty beer cans) but nothing you couldn't find elsewhere.
Beta has a lower chance of spawning and is usually contraband, mechaically useful stuff. Radio jammers and the like.
Gamma is dangerous or highly illegal contraband, and is unique. Guns (nonlethal!), teleporters, syndicate IDs, etc.

Gamma items have special handling: all of the trash piles share a gamma list, and when an item is given out from the gamma list to someone, it's de-pooled so that another trash pile won't hand it out. The pile-collective maintains a reference to it as an 'allocated' gamma item though. Then, when the gamma list runs out, it reviews allocated gamma items to find any that it might be able to 're'-distribute. Namely ones that have been deleted, or are in cryopod computers because the user left with them. It can then hand that item out again. If it cannot hand out a new gamma item, it gives beta instead.

You can also just manually put gamma-list items back into the piles if you're leaving. Or, if you find a translocator, but already made yourself one in R&D (or later make one), or you're the RD and find a bluespace harpoon, you can stuff the translocator/whatever back into any trash pile and it'll be re-pooled into all of them. You can only return gamma items this way, not beta/alpha.

Additionally, if you find yourself playing a simple animal mob for an event (or you're a mouse), you can hide in trash piles by clicking them. There's a 50% chance you're revealed if the pile is searched. You can climb out by clicking the pile again. I dunno if that'll ever get used but it was easy to code, so eh.
2017-05-31 18:36:00 -04:00
Neerti
a0a390e887 Surgery Modifications
Semi-rewrites how surgery failure works.  Using an improper surface will call the surgery step's fail proc instead of just doing a melee attack.
Adds 'surgery odds' var to objs, which determines effectiveness.  The numbers for operating tables/roller beds/tables remain unchanged from the previous version, however doing it this way makes it cleaner to add new surfaces in the future.
Adds a proc to get a surgery surface.
Also makes burn repair on FBPs more efficent, so that one scorched robot does not take literally all of robotic's wires.
2017-05-31 17:41:02 -04:00
Neerti
dc4d14bf2a Merge pull request #3474 from VOREStation/vplk-sundry-runtimes
Sundry Runtime Fixes
2017-05-28 17:44:04 -04: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
8c8e04a0a0 Converted VOREStation custom guns and ammo to handle the swap of 5.56 and 7.62 ammo.
* Swapped our loot drops and guns to keep the damage of loot and guns the same.
* Edited the c762 magazine definition back to keep the same ammo count in each magazine type as before.

Conversion chart used:
==OLD==     max_ammo    ==NEW=      max_ammo
a556        10          s762        10
a556m       20          c762        (20)

s762        10          c556        20
c762        20          c556/ext    30
a762        50          a556        50
2017-05-26 17:54:04 -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
Leshana
dfbba572cf Prevent falling from sudden gravity restoration if buckled.
* Also stops the floating animation while you're buckled, so you know.
* Resolves https://github.com/VOREStation/VOREStation/issues/1458
2017-05-25 18:07:32 -04:00
Arokha Sieyes
70e03f2377 Merge pull request #1553 from VOREStation/sundry-runtimes2
Sundry runtimes 2
2017-05-25 16:39:39 -04:00
Leshana
c53899bea6 Fixes Runtime in lattice.dm,41: undefined proc or verb /turf/simulated/floor/airless/update(). 2017-05-25 15:38:01 -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
Leshana
a4c6496720 Fixes Runtime in lattice.dm,41: undefined proc or verb /turf/simulated/floor/airless/update(). 2017-05-23 21:03:39 -04:00
Arokha Sieyes
ef43dfa816 Add some 'single' random spawns to the maps
A single netgun will always spawn somewhere on the map, but the location is random.
Either a bluespace harpoon or a translocator will spawn somewhere on the map, but never both, and location is also random.

Keep in mind they have a chance of spawning in maint where they can be easily grabbed... or spawned into one of those closed-off walled-in single rooms that are occasionally in the walls with stuff in them, so you might not see them every shift.
2017-05-22 18:12:37 -04:00
Yoshax
b1250a4391 Door stuff 2017-05-22 17:17:28 +01: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