Commit Graph

585 Commits

Author SHA1 Message Date
Atermonera
1fc11fe8c5 Merge pull request #5187 from Anewbe/comms_tweak
Communicator visibility is now on a per-character basis, rather than global
2018-04-23 18:59:00 -07:00
Anewbe
5cfb443cce Communicator visibility is now on a per-character basis, rather than global 2018-04-21 17:08:39 -05:00
Anewbe
7e8c042b6f Merge pull request #5172 from ReddeyfishVor/events
Add several new events
2018-04-21 02:00:25 -05:00
elgeonmb
c12368b887 Adds new robot codex (#5178)
* adds new robot codex

* appeases ater
2018-04-20 10:30:06 -07:00
Reddeyfish
04de1c7f98 Add dme change 2018-04-13 18:46:53 -07:00
Mechoid
57ab0e715b Constructs 2.0 - Living Stone (#5040)
* Construct Overhaul + Related Fixes/Tweaks
2018-04-04 23:45:00 -07:00
Leshana
1ae7f45f1f Merge branch 'master' into vplk-port-pipeland-theta 2018-03-28 17:47:21 -04:00
elgeonmb
0a1e3d798b Lore-Compliant Oculum News Channel (#5111)
* adds an e-reader full of news to the loadout

* Political Almanac -> Pocket Newscaster

* new news channel containing lore-compliant news that's not bad
2018-03-28 13:01:10 -07:00
Neerti
801d37a656 Merge pull request #5085 from VOREStation/port-shuttle-piloting
Port Shuttle Pilot Helmet Animation
2018-03-22 22:34:48 -04:00
Leshana
b69ca8dbdd Move pilot helmets from southern_cross to main files, they are used on multiple maps now. 2018-03-20 23:54:42 -04:00
Leshana
776b221828 Rewrite pipe construction
- Moved pipe construction defines into __defines/construction.dm
- Unified pipe *unwrenching* by creating a standard proc along with the `construction_type` var.
- Eliminated the pipe fitting name & icon_state lookup tables by adding `pipe_state` var on atmos machinery and referencing that.
    - Each pipe which can be made from a fitting object should override `pipe_state` with the icon state to be used on the pipe fitting object.
- Eliminated the giant switch statement of doom in pipe construction by delegating that work to `on_construction` proc.
    - To make this work, every pipe must implement `get_neighbor_nodes_for_init` which returns a list of nodes which should be re-initialized on that pipe's construction.
- Combined the SCRUBBERS, SUPPLY and REGULAR pipe fitting classes together by storing the `piping_layer` variable and using the `setPipingLayer` procs
- Standardized the code for searching for node neighbors into the `can_be_node` proc.
    - This proc is also improved in that is a mutual check, `check_connectable` is called on BOTH objects, so they have to mutually agree to connect as nodes. Eliminates lots of special edge case logic.
    - Updated all the `amos_init` procs to use `can_be_node`.  In the most common cases, even that boilerplate code is consolidated into the `STANDARD_ATMOS_CHOOSE_NODE` macro.
- Implemented `pipe_flags` which lets pipes declare (or override) certain requirements.
- Adds a "pipe_recipe" datum to help out things that construct pipes.  By taking it out of the dispenser, we open the road for multiple dispenser types.  No, no RPD yet.  Soon.
    - Enhances the pipe dispenser to operate on pipe recipe datums instead of hard coded lists of pipes it can construct.   These datums are also (partially) initialized from the pipe machine types themselves, reducing having to define stuff in multiple places.
    - Switched pipe dispenser UI to use browse().   Not a NanoUI, but makes it a bit prettier with low effort.
    - Changed pipe dispenser to use a button selector to switch between Regular/Scrubbers/Supply instead of having separate list items.
- Added icon states to HE pipes to support the "connected on neither side" state.
2018-03-20 23:29:27 -04:00
Arokha Sieyes
de6da4a86c POLARIS: Tooltip framework, and mob tooltips 2018-03-20 22:42:16 -04:00
Anewbe
d36e67d90d Merge pull request #5064 from VOREStation/vs-port-3142
[PORT] Improved playsound and drop_location() from /tg
2018-03-17 15:01:07 -05:00
Atermonera
4fa4173e29 Merge pull request #5049 from Anewbe/quickdraw_items
Ports quickdraw storage items from VIRGO
2018-03-16 11:37:58 -07:00
Arokha Sieyes
4686f6fcc4 POLARIS: Port's /tg/'s current sound.dm, plus pref
It's mostly the same, just a little more efficient. I added a 'preferences' var to pass a datum and decide whether or not to play the sound for that client based on some preference.
2018-03-13 17:46:40 -04:00
Anewbe
9f56416684 Merge pull request #5037 from VOREStation/aro-updateicons
Rewrite human/update_icons()
2018-03-11 21:03:10 -05:00
Anewbe
a8cc2df4ad Ports quickdraw storage items from VIRGO 2018-03-11 16:56:17 -05:00
Mechoid
edab848f2f Merge pull request #5024 from Anewbe/random_spawners
Splits up random.dm
2018-03-10 19:07:47 -08:00
Anewbe
f2da429eab Merge pull request #4980 from MisterLayne/ED_CLN
Adds the ED-CLN
2018-03-10 15:04:07 -06:00
Arokha Sieyes
aa9ec19118 U_I Phase 1.0: First consolidation pass 2018-03-08 19:31:43 -05:00
MisterLayne
21c9cd0a05 fixes code, and adds changelog (hope I did it right) 2018-03-06 20:52:55 -05:00
Anewbe
d172881b76 Splits up random.dm 2018-03-06 19:51:20 -06:00
Mechoid
437aad2d77 Adds a Frankenstein Surgical Procedure (#4990)
* Makes a Surgery for Frankensteining

* Fix a thing.

* Tweak things!

* Sickness not permanent, Recovery is.
2018-03-05 19:46:05 -06:00
Leshana
741e02407a Port SSoverlays & Convert turfs to use it (#5004)
* Added "Display Initialize() Log" admin debug command so you can see it mid-round.

* Ported the core of the overlays management subsystem from /tg

- Added SSoverlays subsystem for compiling overlay lists and applying them to atoms in a controlled anti-lag subsystem.
- Added vars and procs to atom which should eventually replace all direct interaction with BYOND's /atom/overlays var outside the subsystem.
- Added OVERLAY_QUEUED flag to var/atom/flags bitfield.
- Added small framework for subsystem performance tracking. So far used only by SSoverlays
- Added admin debug command "Display overlay Log" to see performance stats mid-round.

* Fix runtime on universal pipe adaptor update_icons

* Workaround for appearance_bro not initialized

Unfortuantely BYOND's initialization order is strange, and the appearance_bro var is only half initialized when map starts to load, causing errors.  We temporarily fix by moving it to be a global-scoped global.

* Convert fire alarms to use add_overlay() A good first test.

* Convert turfs to use add_overlays(), eliminating the turf_overlay_holder!

- Converted as much as I could find about turf overlays to use add_overlay().
- This should be enough to stop BYOND from crashing, so we can eliminate the turf_overlay_holder hack.
- This also lets us remove the anti-corruption hacks from walls and open space.
- ZAS gas overlays can use priority overlays, so this also fixes the gas-goes-away-when-crowbarring-plating issue.
- Stuff like that

* Convert turf overlay interactions to use add_overlay.

Note: This is a plain and simple conversion of existing code to use SSoverlays. However I look at the line changed, and note that that line likely never fully worked as intended, as it has no way of re-applying itself.
I would make it use a priority overlay, but there is no code present for *removing* said overlay from neighbors when it is no longer required.  That code should be implemented by original author.
2018-03-05 19:43:23 -06:00
Belsima
085f88cdc9 GORILLA - The Revival (#4957)
* GORILLA

* is this absolute

* less indentation

* Minor balance adjustments

* Mech update
2018-02-28 22:33:56 -06:00
Leshana
89f77e78ff Reorganizes atmos pipes into separate files by type.
This changes absolutely nothing codewise, it is straight up just splitting pipes.dm into separate files because it was over a thousand lines long.
2018-02-25 03:30:50 -05:00
Anewbe
a9b5b4e28f Merge pull request #4901 from VOREStation/pol-holoplants
Adds holoplants, and to cargo
2018-02-21 16:15:53 -06:00
Arokha Sieyes
beba012f5a Adds holoplants, and to cargo
Courtesy of CEV Eris SS13 server (plus a bunch of additional code to make them real machines)
2018-02-20 22:17:06 -05:00
Arokha Sieyes
cdd2030811 POLARIS: Ports Bay's wall-mounted air pumps 2018-02-18 13:24:23 -06:00
Aronai Sieyes
15a5e5e10b Merge branch 'master' into pol-sa-playerqol 2018-02-15 21:56:53 -06:00
BillyBangles
f5dfbff1bd Build igloos and snowmen (#4811)
* adds packed snow brick material

* makes snow walls spawnable for mapping

* adds snowmen

craft them with snow. duh.

* snow spider triggers arachnophobia

also changelog.
2018-02-15 14:25:51 -06:00
Arokha Sieyes
e248b89b7b POLARIS: Player-controlled SA QOL 2018-02-15 01:49:53 -06:00
BillyBangles
ef86caf177 Adds decorative bones and bone loot pile (#4800)
* adds various bones and bone loot pile

credit to schnayy for most of these sprites

* removes the crossbow bolt from the loot list
2018-02-12 22:13:47 -06:00
Anewbe
9688dcb6be Removes a stray space, replaces it with glorious underscore 2018-02-11 01:47:20 -06:00
Anewbe
2eac03ec08 Adjusts certain simple mobs, adds some things (#4778) 2018-02-10 23:31:03 -08:00
mistyLuminescence
fa6ff94474 What's Yours Is Mined (#4556)
* Boom!

* Wires!
2018-02-09 18:56:46 -08:00
Anewbe
442b5cbdf6 Comments out the automatic firemode code (#4748) 2018-02-07 09:59:42 -08:00
Andromeda-K22
58cf8000ba Automatic firemode for guns (#4730)
* New gun firemode: automatic

Full-auto destruction at the tip of your fingers! If you're an admin. Switch the automatic var to 1 to make any gun automatic.

This code is largely donated by Mport and the SS:CM project. Relevant modifcations are located in automatic.dm, special.dm, and automagical.dm

* Removes '/blue's

* Removes a block of pseudocode.

* Welp. Missed some things.

* Automatic removed from the Suppression gun, as requested by @Anewbe in #4730

* Requested changes.
2018-02-06 22:57:53 -06:00
Leshana
676efe73e5 Move Xenoarcheology globals and initialization into a subsystem
* Move the global spawning_turfs lists from master_controller into SSxenoarch.  Rename all references.
* Move the call to SetupXenoarch from master_controller.setup() to SSxenoarch.Initialize()  Put SSxenoarch init order near the end to match current behavior.
2018-02-06 01:08:10 -05:00
Leshana
95b9e67660 Ports callback datum from TG
* A callback datum system was created, a common framework that handles all of the nuts and bolts so anyone can implement callbacks easily without worrying about how to invoke procs.
* Adapted from tgstation/tgstation#22476 by MrStonedOne
2018-02-05 15:50:14 -05:00
Leshana
8bec38ee00 Implement SSshuttles subsystem
* Replaces the shuttle_controller and shuttle process with the shuttles subsystem.  Instead of docking ports being initialized by the game ticker, its part of the StonedMC Master init order.
* The main advantage of this is control over the initialization order, as well as letting Master be aware of CPU we're using up with shuttle processing.
* By being part of the Master init order, we reduce the uncertainty about "are objects initialized yet?" which is nice, since shuttle docks break if machines aren't finished initializing!
2018-02-05 15:50:14 -05:00
Leshana
44dc4b7286 Implement SSatoms
* Moves proc/initialize() from being on /atom/movable, /are and /turf/simulated to being on /atom - Now turfs can initialize too
* Added the SSatoms subsystem which controls initialization of atoms at roundstart and during normal conditions.
* Disabled the old auto_init = 0 behavior, ALL atoms should get initialized() called on them now.
* Refactored the way initialize() is called during /New() to utilize SSatoms instead of SScreation
* Removed SScreation, as it was only a stop-gap until SSatoms could be ported.
* Updated the maploader to inform SSatoms when it is loading maps instead of SScreation.
* Updated the template map loader to use SSatoms to perform initTemplateBounds
* Renamed 'initialized' var in seed_storage to deconflict.
* Removed usage of auto_init = 0, replaced with a no-op initialize() proc for atoms that don't need initialization.
2018-02-05 15:50:06 -05:00
Andromeda-K22
cee3066a41 RUST additions and updates, Modular guns, and Lead. (#4667)
* expanding rupture procs
adds hydromagnetic traps for power production.

* Minor tweaks.

* Adds modular guns using research components.

* Updates materials to have a radiation_resistance variable, used in calculating radiation. Adds Lead as a material.

* Un-zeros stock material radiation resistance.

* Adds, and enables four 'end-events' for the RUST in place of the old Rupture() proc.

* Map muckery?

* absolute pathing i guess?

* getting angry, travis.

* TRAVIS
STAHP

* I...
Comments? Lists? Who the hell knows.
2018-02-04 18:04:28 -06:00
Cameron653
9e52040d5a Loadout Text-To-Speech device. (#4697)
* TTS Device

* Makes it a proper /device

* boop

* to_chat and message change
2018-02-03 22:47:01 -06:00
Neerti
a493a379fe Merge pull request #4661 from VOREStation/vplk-ss-zas-airflow
Convert ZAS into StonedMC Subsystems
2018-02-01 21:08:41 -05:00
Woodratt
ed29353021 Further Map Fixes and Adjustments
- Deck 3 Port Airlock fixed
- Vent added to cargo delivery office to fix over pressure
- Windoor in Robotics given proper access and named
- Parachute crate added to pilot areas
- Access around cargo made more consistent
- Fixed first deck starboard hallway area
- Pilots now have access to maintenance around the hangars
- More ATMs added
- Center door on bridge removed
- Open sign from Bar borrowed for cafeteria as well
- Critical addition, Dog bed in HoP office
- Fixed T-comms turrets yet again
- Adjustments to engine room allowing for a second set of TEGs to properly be set up (Thanks to Kerbal/Mazian). Also moved vent control to a different position to stop a certain headmin from repeatedly hitting it
2018-01-31 05:11:23 -08:00
Leshana
8c09d39ef1 Convert ZAS "Airflow" into a subsystem plus fixes
* Port of the "Airflow" portions of Yonaguni/EuropaStation#618
* The "airflow" part of ZAS used to be handled by a sleep'd loop.   This has the potential to bunch up and lag.  Switching to a StonedMC managed subsystem improves it.
* Fixed to ensure that zshadow mobs cannot be blown around by the wind no matter how fierce.
* Added a message to mobs informing them when their boots save them from being wind-thwapped.
* Check w_class on non-item objects if they have it defined (might as well since var/w_class is on /obj)
* Tiny optimization of c_airblock
2018-01-30 12:28:45 -05:00
Leshana
5a2162a264 Preliminary implementation of ZAS as a StonedMC subsystem.
* Creates the SSair subsystem which replaces the Setup, Start(), and Tick() procs of air_master.
* It may be best to have SSair completely replace air_master, but for now we are having them work together.   It does completely replace the old processScheduer air ticker however.
* Remove the obsolete Setup and Tick procs.
* Adjust admin and debug verbs that dealt with some ZAS internals to work with the new implementation.
2018-01-30 12:28:45 -05:00
Neerti
b2e7b88cff Switches to the Southern Cross. For real. 2018-01-26 01:17:49 -05:00
elgeonmb
3d5740c909 adds an e-reader full of news to the loadout (#4619)
* adds an e-reader full of news to the loadout

* Political Almanac -> Pocket Newscaster
2018-01-25 18:18:35 -06:00