Commit Graph

300 Commits

Author SHA1 Message Date
Leshana
18b1828631 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync-20170630 2017-06-30 22:31:43 -04:00
Anewbe
2bd869026a Merge pull request #3534 from Neerti/6/13/2017_infiltrators
Adds a new Infiltrator Gamemode (Team Traitor)
2017-06-24 12:32:16 -05:00
Leshana
bce8cfad6d Converts the lighting process controller to a StonedMC subsystem
* No changes to lighting logic at all, it still processes sources, corners, and overlays in that order.
* Also optimized the initial creation of lighting overlays, and made it include CHECK_TICKs
* Removed the statistics gathering, at least for now.
2017-06-16 23:08:41 -04:00
Neerti
dbdc88dd88 Adds a new Infiltrator Gamemode (Team Traitor) 2017-06-16 18:03:10 -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
Leshana
7f60e98633 Merge remote-tracking branch 'polaris/stonedmc-update' into stonedmc-update
# Conflicts:
#	code/_helpers/game.dm
#	code/controllers/subsystem.dm
#	code/controllers/subsystems/garbage.dm
#	code/game/objects/items/devices/PDA/PDA.dm
#	maps/RandomZLevels/stationCollision.dm
#	maps/RandomZLevels/wildwest.dm
#	maps/~map_system/maps.dm
#	vorestation.dme
2017-06-11 15:35:42 -04:00
Leshana
ed8520ec3f Standardize MC subsystem initialization boilerplate
* Based on https://github.com/tgstation/tgstation/pull/25386
* Create macro for defining new subsystem types.
* Create PreInit proc to handle setup that needs to be done before the map loads
* Rename garbage_controller subsystem to garbage so it matches its global SSgarbage variable name.
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
fb92653ac9 Ports "Makes global master vars static"
* https://github.com/tgstation/tgstation/pull/27523
2017-06-10 19:01:58 -04:00
Leshana
6a8abd4f80 Ports tg improvements in StonedMC subsystem
* Ports /tg StonedMC Enhancement - Runlevels - Lets services more precicely define when they want to fire - in the lobby, during game, only after, etc. Includes bugfixes from:
  * https://github.com/tgstation/tgstation/pull/27132
  * https://github.com/tgstation/tgstation/pull/27338
  * https://github.com/tgstation/tgstation/pull/27576
  * https://github.com/tgstation/tgstation/pull/27519
* Ports Standardizes subsystem Shutdown order - https://github.com/tgstation/tgstation/pull/26228
2017-06-10 19:01:58 -04:00
Leshana
b996d5c6b2 Ports utility macros to let subsystems divide their time among a few tasks
Port of https://github.com/tgstation/tgstation/pull/26324
2017-06-10 19:01:58 -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
Arokha Sieyes
5236e2675f NIF Fixes and Soulcatcher NIFSoft, Money Tweak 2017-06-09 01:08:34 -04:00
Leshana
d6b68dabdb Standardize MC subsystem initialization boilerplate
* Based on https://github.com/tgstation/tgstation/pull/25386
* Create macro for defining new subsystem types.
* Create PreInit proc to handle setup that needs to be done before the map loads
* Rename garbage_controller subsystem to garbage so it matches its global SSgarbage variable name.
2017-06-07 23:23:46 -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
58ee6891f2 Additional Work on NIFs
Squashed commits:

[9563a9a] All the stuff I forgot to commit
2017-06-06 01:00:46 -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
90dff0ae63 Ports /tg's StonedMC Subsystem from Baystation12
* Partial port of @PsiOmegaDelta's https://github.com/Baystation12/Baystation12/pull/16820
* Only ports the StonedMC changes, not the garbage collector (forthcoming in future)
2017-05-30 21:00:37 -04:00
Arokha Sieyes
dfa560d06b Allow 5 traits
`balance intensifies`
2017-05-29 23:29:32 -04:00
Arokha Sieyes
4d8b465cd9 Basically initial working traits 2017-05-29 05:08:25 -04:00
Leshana
f4b9676bdc Switch Tether over to use the map_z_level datum.
* Integrate the holomap settings into the map datum.
* Create map_z_level datums for the tether.
2017-05-26 18:57:07 -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
5594c9db39 An easier and more maintainable way of setting up the map datum.
* Settings for specific z-levels are defined in datum types, allowing the lists of Z levels to be automatically configured.  This solves the problem of being unable to use the z-level #defines in associative lists.
* Converted the example and northern star maps to use the new system.
2017-05-21 14:16:48 -04:00
Arokha Sieyes
3a856f5bad Merge pull request #1493 from VOREStation/aro-tether-wip
Tether Map
2017-05-20 17:19:32 -04:00
Yoshax
3d63880041 Adds defines cause who wants problems 2017-05-20 18:11:20 +01:00
Leshana
8b34429c3e Initial implementation of holomaps! 2017-05-19 23:18:29 -04:00
Arokha Sieyes
35bcf1602a Tether Shuttle Crashing
Woooooo
2017-05-17 01:12:03 -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
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
Leshana
5d7cfcc0f6 Update layer of wall items to be above windows so that they can be clickable when mounted on full tile windows. 2017-05-05 13:32:24 -04:00
Leshana
f8a538eff9 Multi-ZAS Optimization
A simple optimization to can_safely_remove_from_zone() both with and without multi-zas.
Instead of allocating a new list every time we call get_zone_neighbours() (which gets called several times in a loop) we have a pre-built list we don't need to Copy().
Same story for the list to iterate over in can_safely_remove_from_zone()
There should be no semantic change whatsoever from this; it is purely a performance optimization.
2017-05-04 21:14:18 -04:00
Anewbe
1feba48827 Ports MultiZAS 2017-05-04 21:13:53 -04:00
Anewbe
6a7ff91e60 Fixes two spelling errors 2017-04-30 10:46:31 -05:00
Anewbe
eda374cf83 Merge pull request #3356 from Neerti/4/23/2017_ling_nerfs
Adjusts Changelings
2017-04-25 22:04:37 -05:00
Arokha Sieyes
80670b420c Merge current master in 2017-04-25 20:14:38 -04:00
Arokha Sieyes
f1a72b7eb9 Merge pull request #1429 from VOREStation/aro-sync
Polaris Sync
2017-04-25 18:35:58 -04:00
Arokha Sieyes
4c2caf11b7 Replace 'magic' messages with Facility PA
This replaces the mystical messages of things like Command Reports, the 'All hands' message when a CD joins, and head announcements with a PA system that behaves more reasonably than pushing all the messages out of the chat box. Nothing about the systems changed, just the way they show up. They still make the sound, too.
2017-04-25 15:15:45 -04:00
Arokha Sieyes
055c998f82 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into aro-sync
# Conflicts:
#	code/modules/integrated_electronics/subtypes/reagents.dm
#	code/modules/mob/living/carbon/human/species/station/station.dm
#	code/modules/organs/organ_external.dm
#	code/modules/ventcrawl/ventcrawl.dm
#	html/changelogs/.all_changelog.yml
2017-04-25 15:04:54 -04:00
Anewbe
66f432925e Merge pull request #3337 from Yoshax/tapedatebatehate
Changes tape coloring + slight rework
2017-04-24 10:01:00 -05:00
Arokha Sieyes
b7898c1eaf Merge pull request #1393 from Cameron653/master
Transformation Changes
2017-04-23 23:54:15 -04:00
Neerti
d6683be3ce Adjusts Changelings
See PR
2017-04-23 13:22:32 -04:00
Atermonera
3f1194696a Brain type is shown on all records 2017-04-22 18:18:31 -07:00
Anewbe
0207066256 Merge pull request #3332 from VOREStation/aro-pol-planets
Controllerized Planets
2017-04-22 09:36:04 -05:00
Yoshax
c9c046913f Changes tape coloring + slight rework 2017-04-19 19:37:56 +01:00
Arokha Sieyes
6750a39900 Controllerized Planets
Controller with deferrals and SCHECKs to be specific. Won't lag while updating the sun, weather, or temperature.

Also moved some vars around. Namely the planet walls are stored on the planet, not in the weather_holder.

Planets now have their own turfs, the controller 'gives' them to the planets each cycle if there are any unallocated turfs in the global lists, to avoid iterating over other planets' turfs if you have more than one, then cuts the lists if you were crazy and some turf added some invalid type. This saves us type-checking in the for() loops later to make them crunch faster. The former operation should only happen once at the start of the game (and maybe very rarely when turfs are added/removed from a map during the game).

With regards to the temperature updates, rebuilding the zone entirely is an intensive operation. Instead we can use this new cheaty proc to do it from over here. ZAS code outside ZAS oh noooo. Well, the option is to snowflake this case into ZAS which is maybe worse?

Only downside to all this is that if you manually set weather and time it might take between 1-60 seconds for the controller to get around to checking if you wanted to update it. That's not that big a deal. If you really want you can now debug that controller and call doWork on it.
2017-04-18 23:34:02 -04:00
Leshana
ebaf958179 Upgraded to "see-down" open spaces, inspired by Eris:
* Instead of open spaces simply showing a static image of the turf below, it shows the turf, all objects, and even moving mobs.
  * Controller updates the view to floor below fairly quickly; mobs update in real time.
  * Open space can be examined to see how deep it is.
  * Mobs are examinable even when on floor below, using a special "zshadow" mob.
  * Changes from Eris: Heavily re-written to handle layering, special cases, rewrote controller etc.  Shadow mobs don't break entering turfs, etc.
* Update to properly layer the objects from multiple "below" floors in the case of tripple-stacked or more z levels.
* Added constant defines for the planes in use.
* Added open_space.dmi with blank_open icon state for open space's darkening overlay.
2017-04-18 23:19:41 -04:00
Neerti
ea6128f986 Adds Modifier System, Changes Some Ling Stuff
Adds a fairly simple system that allows adjusting various numbers like max health, incoming damage, outgoing melee damage, etc.  The nice part is that changing certain variables this way (like max health) is a lot safer than manually setting the max health var directly.
Changes a lot of short lines of code to point towards a variable's getter or setter helper instead of reading the var directly so the modifiers can work.
Endoarmor, delayed toxin sting, Enfeebling sting, and recursive adrenaline overdose now use the modifier system.
Enfeebling sting now only lasts two minutes, from five minutes, however it now also reduces the victim's melee damage by 25%/50%, and increases the damage they suffer by 10%/35%, for normal and recursive respectively.
Delayed Toxin Sting's effects are now felt all at once instead of over the course of a few minutes.
2017-04-18 21:23:59 -04:00
Arokha Sieyes
d00c5941ca Controllerized Planets
Controller with deferrals and SCHECKs to be specific. Won't lag while updating the sun, weather, or temperature.

Also moved some vars around. Namely the planet walls are stored on the planet, not in the weather_holder.

Planets now have their own turfs, the controller 'gives' them to the planets each cycle if there are any unallocated turfs in the global lists, to avoid iterating over other planets' turfs if you have more than one, then cuts the lists if you were crazy and some turf added some invalid type. This saves us type-checking in the for() loops later to make them crunch faster. The former operation should only happen once at the start of the game (and maybe very rarely when turfs are added/removed from a map during the game).

With regards to the temperature updates, rebuilding the zone entirely is an intensive operation. Instead we can use this new cheaty proc to do it from over here. ZAS code outside ZAS oh noooo. Well, the option is to snowflake this case into ZAS which is maybe worse?

Only downside to all this is that if you manually set weather and time it might take between 1-60 seconds for the controller to get around to checking if you wanted to update it. That's not that big a deal. If you really want you can now debug that controller and call doWork on it.
2017-04-18 20:08:22 -04:00
Leshana
7a4dc4bf79 Merge remote-tracking branch 'polaris/master' into polaris-sync
# Conflicts:
#	html/changelogs/.all_changelog.yml
#	maps/RandomZLevels/zresearchlabs.dmm
2017-04-15 23:14:32 -05:00
Anewbe
1fbef2de5b Merge pull request #3286 from VOREStation/smooth-lighting
Port tg/paradise/goon soft-edge lighting
2017-04-15 22:52:42 -05:00