Commit Graph
100 Commits
Author SHA1 Message Date
20kdc c91363aa4e Fix monkey ghost role to be controllable and not say Unknown (#5682) 2021-12-03 18:11:51 +01:00
20kdc b5c5871453 Fix a bunch of returns where they should not be (#5640) 2021-12-01 15:00:10 +01:00
20kdc f5c3b1935b Disable station events while mapping (#5581) 2021-11-28 03:22:20 +11:00
20kdc 1f09f7f055 Patch thrusters into knightship (#5558)
* Patch thrusters into knightship

* Knightship: Increase size of external airlock/docking port

* Knightship: Add missing firelock
2021-11-26 15:50:36 -07:00
20kdc f0f913f5bc Change over solar panel breakage to use more construction graphs (#5395) 2021-11-26 10:17:21 +01:00
20kdc de0a6511cc Fix disposals trapping you for eternity when leaving via a trunk pipe (#5498) 2021-11-25 13:10:15 +11:00
20kdc f2eea79238 Fix solar control console UI not responding to input (#5506) 2021-11-24 21:51:43 +01:00
20kdc eb18f7bc1c Sending a mob out of a disposals unit shouldn't push them into a wall anymore (#5411)
* Sending a mob out of a disposals unit shouldn't push them into a wall anymore.

* Something something resolves vs. OnRemove fighting it out

* Disposals yeet reduction: Address reviews and other oddities
2021-11-23 16:38:46 -07:00
20kdc f6d44be34f Activatable UI component (#5184)
* Transfer most Instrument UI logic to a new component, ActivatableUIComponent

* Move more ActivatableUIComponent stuff to ECS

* ActivatableUI component ignore on client

* ActivatableUI: Get rid of component interfaces where possible

* Add in adminOnly attribute for activatable UIs

This is so that porting #4926 to this will be easier

* Transition Solar Control Computer to ActivatableUI

* Move communications console to ActivatableUI

* Move cargo console to ActivatableUI

* Move ID card console to ActivatableUI

* ActivatableUI: Make things more amiable to entity tests adding components weirdly

* ActivatableUI: Use handling or lack thereof of events properly

* ActivatableUI: component dependency issue resolution stuffs

* ActivatableUISystem: Fix #5258

* More fixes because master did stuffo

* Check for HandDeselectedEvent again because otherwise active-hand check doesn't work

* Move just a bit more code into the system, introduce a workaround for #5258

* Purge the player status detection stuff

* Oh and some obsolete stuff too
2021-11-23 19:19:08 +01:00
20kdc a2b7982c37 Add variables to prevent voting of various kinds (#5361)
* Add a way to disable voting for maximum authoritarianism

* Allow disabling specific vote types via cvars

* Migrate standard-vote-to-cvar dictionary to being static
2021-11-23 10:03:04 -07:00
20kdc 545e36912a Hybrid ACZ build option & add (off-by-default) 32-bit platform RIDs (#5453) 2021-11-23 14:26:26 +01:00
20kdc 1e061094ca Direct pressure and asphyxiation damage do not interrupt DoAfters anymore (#5459) 2021-11-22 17:34:56 -07:00
20kdc 1ba58456c4 Announcements play the general announcement sound unless specifically inhibited (#5460) 2021-11-22 15:34:48 -07:00
20kdc 669eb8fadd Do not allow starting pulling while cuffed (#5457) 2021-11-22 12:31:12 -07:00
20kdc c1c3875f5a Make the docking direction of the docking airlocks clearer (#5433) 2021-11-22 00:26:19 +11:00
20kdc 3d940cc1d6 PackedStation: More markers (#5364)
* PackedStation: Add lots of rubbish markers, add some traitor deathmatch PDA redemption machine markers, name northern solars warp point

* Some additional changes @TimrodDX asked for: Nudge a light back into place and un-drain some tanks
2021-11-19 22:26:57 -07:00
20kdc 73ca553ad4 Have medical scanners and cloning pods be 'climbed upon' on exit. (#5408) 2021-11-19 18:03:09 -07:00
20kdc 4122794efa Knightship: Floor fix (#5407) 2021-11-19 17:54:25 +01:00
20kdc 3d023bdfd7 "Knightship" map - ultra-lowpop intended for ~5 people (#5378) 2021-11-19 11:45:18 +01:00
20kdc 856e570c7b Stop BatterySystem from iterating over every battery just to recharge micro-reactors (#5393) 2021-11-18 20:02:17 +01:00
20kdc 8c98038692 fixrotations fixes rotations properly again (#5292) 2021-11-17 12:00:58 +11:00
20kdc adefa610e0 Fix pneumatic cannon audio location (#5370) 2021-11-16 14:05:19 -07:00
20kdc cc41896836 TraitorDM: Fix round end description line (#5363) 2021-11-15 17:52:10 -07:00
20kdc 4cce40bd9f Ghost roles create new minds, better tracking of roles at round end screen (#5175)
* Ghost roles now get new Minds

* Some round start/end button stuff

* Mind tracking for better round end reports

* Make traitor kill objectives use mind CharacterName rather than actual occupied entity ("kill brain" prevention)

* Transition over to EntityUid for mind stuff because that's the only way to do it

* BrainSystem fix for PR rebase
2021-11-15 11:14:34 -07:00
20kdc 5833096551 Changelog fix to get rid of blank line and properly assign credit (#5355) 2021-11-15 15:26:11 +01:00
20kdc 44eb4e8fc9 MIDI volume slider in settings (#5327)
The Fluid soundfont is too quiet, the Windows one might be too loud...
2021-11-14 10:44:36 +01:00
20kdc af29034218 No pulling yourself via your chair (#5324) 2021-11-13 22:43:37 +01:00
20kdc 22da6e40c4 Flipping fixes (ensuring unanchored, rotation preservation) (#5296) 2021-11-13 12:54:03 +11:00
20kdc 79f917cf35 Properly reset the solars system each round, solar panels perf fix (#5295) 2021-11-12 20:00:39 +01:00
20kdc baf4904060 Ghost roles: rule stuff (#5252)
* Ghost roles: Make the rules harder to miss

* Fix markup handling in ghost rule rules

* Apply suggestions
2021-11-11 21:23:06 -07:00
20kdc 1194ce737b Add "Syndicate Puddle-Jumper" blueprint for admins to spawn in (#5273)
* Add "Syndicate Puddle-Jumper" blueprint for admins to spawn in

Serves as a way to let admins cause nukies.

* Unit test to make sure that maps remain loadable
2021-11-11 19:42:27 -07:00
20kdc 0c0a60e432 Stop Item EntityStorages being able to eat people (#5268) 2021-11-11 23:56:38 +11:00
20kdc dae33d14df Alert the user if nobody's around to hear a bwoink (#5147) 2021-11-11 10:47:45 +01:00
20kdc 2d680fe3bb Fix escaping from storages by movement attempt (#5256) 2021-11-11 00:07:05 +01:00
20kdc 206f054cdf Pulling rotation adjustment, newton's third law, entitycoordinates for moveto (#5141)
* Pulling: Piano door stuck prevention (pulling angle-snap) and getting rid of a condition causing oddities with pull-to-location

* Pulling: Implement Newton's Third Law in regards to puller/pullee physics

Weightless condition was determined not to be necessary

* Fix pull-to-position on actively rotating/moving grids + fixes for rebase
2021-11-06 19:16:49 -07:00
20kdc d9cc7ef7d4 Stop pAIs from being able to wipe each other/do other odd things, pAIs name themselves after their owners (#5160)
* Stop pAIs from being able to wipe each other/do other odd things they shouldn't

* pAI: device changes name to indicate owner

* Make PAIComponent networked (just in case)

It'll be needed in future anyway
2021-11-04 15:29:16 -07:00
20kdc 78ac5b8ec0 Saltern: Add 4 pAIs (2 in dorms, 2 in R&D), toy spawners on dorms tables, remove reinforced glass from solars (#5158)
* Add 4 pAIs (2 in dorms, 2 in R&D) and toy spawners on dorms tables

* While I'm modifying things, remove reinforced glass floors from solars
2021-11-04 15:11:07 +01:00
20kdc 42891ea3a7 Chem master / chem dispenser minor fixes (#5152)
* Fix ChemMaster buffer view when there's no beaker in the ChemMaster

* Fix reagent dispenser 100 button
2021-11-03 20:22:48 -07:00
20kdc 9eb6e5a109 Add indicator showing amount of ghost roles available (#5150)
* Add indicator showing amount of ghost roles available

* Make the indicator turn red if ghost roles are available
2021-11-03 16:48:12 -07:00
20kdc 956afbf1f1 Pinpointers: Remove pinpointers from active list on shutdown of compo… (#5153) 2021-11-04 00:42:22 +01:00
20kdc 7ced7b67c7 Fix barstool rotation (#5134) 2021-11-02 19:38:47 +01:00
20kdc 7220132be3 ChemMaster/Chemistry Dispenser constructability, fixed edition (#5125) 2021-11-02 10:04:07 +01:00
20kdc 7a03f00cfd Placeholder pAIs, ghost role rules window (#4972) 2021-11-02 11:42:04 +11:00
20kdc 02df91b39c Fix cable blocking not working properly due to inconsistent field naming (#5109) 2021-10-31 01:08:48 +02:00
20kdc 44f5f15790 Power-reading multitool (#5046)
* AMEPartComponent: Switch to ToolSystem.HasQuality because this bugs me.

* Multitool can read power when you examine a cable with the multitool held.

* Multitool power reading: Condense storage information

* power-sensing multitool: Fix ToolSystem ref.

* Power-reading multitools: Fix misuse of GetComponent
2021-10-29 14:42:18 +02:00
20kdc efc200cbd8 More informative warning for if FluidSynth is not installed (#4971) 2021-10-29 12:20:49 +02:00
20kdc bddce95e37 Switch from drainallbatteries to a drain/fill-specific-battery command for saner eventing (#5077)
* drain all batteries / drain battery command for saner eventing

* Reverts the part of the previous commit where drainallbatteries skips items, despite my better judgement

* setbatterypercent now takes the place of battery drainage commands

A more forall-oriented approach
2021-10-29 11:49:52 +02:00
20kdc 7cdb9dcf86 Disposals fixed under station rotation (#5067)
* Some sanity checks on disposals movement, fix the interpolator

* Technically fix disposal routing, but I'm not done here yet

* Remove disposals reliance on implicit direction sensing entirely.
2021-10-29 19:07:32 +11:00
20kdc bf48a42b6f Give the Engi-Vend insulated gloves (only one machine in engineering) (#5049)
This is because engineers end up not having enough insulated gloves to go around.
Kinda bad.
2021-10-27 17:44:31 +02:00
20kdcandmetalgearsloth 687427d324 Lower Saltern generator power to balance things out (#4749)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-10-27 10:32:06 +02:00
20kdc 60b3ff59cf Fix morgue rotation by using more EntityCoordinates (#5041) 2021-10-27 12:23:44 +11:00
20kdc 632a4bcd95 Apc and light construction partial fix (#5030)
* Fix APC placement type

* Fix wall tags.

* Change wall light placement to match how it actually is now

* Change spawn-entity wall light snap mode

Separate commit so it can be nixed out for JREV

* Default switch placement mode to SnapgridCenter
2021-10-26 16:15:02 +02:00
20kdc c29b23eb64 Fix ChemMaster bottles not having contents (#5026) 2021-10-25 16:58:16 +02:00
20kdc 7f4c9327e2 Fix construction to some extent on rotated grids (#5024)
* Fix things to some extent on rotated grids

* Use Box2Rotated overload of IEntityLookup in GetEntitiesInTile
2021-10-25 16:14:21 +02:00
20kdc 63dd23ad8c Fix RCDs on space somewhat - space-wizards/space-station-14#4742 compatibility edition (#4878) 2021-10-25 14:33:49 +11:00
20kdc 67c690e27f Saltern: Add SMESes/SMES terminals, nudge random trash spawner (#4966) 2021-10-21 14:25:20 -07:00
20kdc 6fb968d47f Set default Pow3r ramp rate/tolerance values (#4748) 2021-10-20 20:31:53 +02:00
20kdc 7ccf9668d4 Varied and semi-sprited atmos markers (#4944) 2021-10-19 21:07:47 +02:00
20kdc 607ec67522 Movable containment field generators (#4910) 2021-10-19 00:24:07 -07:00
20kdc 09d713e1f8 Make freezers rotatable (#4940)
* Make freezers rotatable

* Fix freezer sprite oddities via the noRot use

Has to be done this way for what is essentially consistency reasons
2021-10-19 00:22:41 -07:00
20kdc 6c6bde8743 FoodComponent solution un-hardcoding, rehydratable solution name fixes, monkey cubes edible again, slicable food preserves poisons (#4942) 2021-10-19 00:13:43 -07:00
20kdc 1a4316c4cc Fix pipe rotation. (#4939) 2021-10-18 13:42:30 +02:00
20kdc c5e7457206 Hydroponics tray machine board (#4889)
* Frame/soil anchored fix

* Ability to build and deconstruct hydroponics trays

* Undo pointless adding of anchoring to soil
2021-10-17 23:12:50 -07:00
20kdc c95c5e02c2 fixgridatmos blockers (#4911)
* FixGridAtmos blocker

* FixGridAtmos blockers in Saltern
2021-10-17 14:32:17 +02:00
20kdc 806168eca1 Saltern: Security substation made more secure, solars, tweaks (#4904) 2021-10-16 20:02:40 +00:00
20kdc 10dc8d78cf Makes the solar control computer accessible by adding the board to the lathe (#4869)
* Makes the solar control computer accessible by adding the board to the lathe

* Adjust solar panel collision to not be insanely big
2021-10-14 17:05:04 -07:00
20kdc 41256cc84e Radiation pulse damage reduction (#4872) 2021-10-14 18:02:07 +00:00
20kdc dfe500a8bb Re-add monkey cubes to Cargo (#4858)
Without these, the Chef kinda just has to deal with fruit eventually.
2021-10-13 10:14:33 -07:00
20kdc 6d7b037dd6 More injectable food, condiment fixes, migrate Salt to TableSalt (#4846) 2021-10-13 10:03:12 +02:00
20kdc 88bee5b878 Allow injecting into foods again (#4845) 2021-10-12 17:01:06 +02:00
20kdc e144bb53f5 Fold Produce's "produce" solution into the "food" solution to fix empty food (#4837)
One of these was going to have to be folded into the other for it to work.
I am starting to really hate this refactor.
Note that this might still leave smokable tampering broken if it was already broken, but it shouldn't break it if it wasn't.

TESTED: Grown apples, carrots, something I forgot, bananas, *client crash due to slipping*
2021-10-12 10:01:23 +02:00
20kdc 59277d8f86 Ensure pulling maximum length is at least 1 to avoid errors (#4808) 2021-10-09 15:49:08 +02:00
20kdc 4f5cbb63de Paper Visualizer (#4811) 2021-10-09 15:48:53 +02:00
20kdc 341b4458fa Expand Saltern's north-eastern maint a bit (#4810)
Just to give more room for the lockers.
2021-10-09 13:06:34 +02:00
20kdc b3f43509d1 Basic AHelp Panel, Ported & Fixed (#4776)
* Graft from https://github.com/space-wizards/space-station-14/pull/3049

* 'openahelp' command

* Add AHelp into escape menu

* Add a way to ahelp a player from the kick window

* bwoink: XAMLify, bugfix, etc.

* Rename the kick/bwoink window the Player Actions Panel

* Add the bwoink sound y'all know and love

adminhelp.ogg taken from https://github.com/tgstation/tgstation/blob/d775e1ac804eb9d0259573f5f29a18d320c97ef3/sound/effects/adminhelp.ogg
 (available in master, therefore see master license: "All assets including icons and sound are under a Creative Commons 3.0 BY-SA license unless otherwise indicated.")
 "Changed the adminhelpsound to some creative commons sound I pinched. Until somebody can get a better one. I'm sick of MAAAAAAAAOOOOOOW."
 Actual source is https://freesound.org/people/martian/sounds/19261/ (CC0)
 The sound had been reversed and the volume altered.

* Actually play the bwoink sound on receiving an ahelp that you didn't send
2021-10-06 17:25:27 +02:00
20kdc 021f281dfc Fix pulling HandleComponentState (#4773) 2021-10-05 14:51:34 -07:00
20kdc 2a8486a384 Pullability partial ECS refactor, monkey-gibbing error fix (#4695)
* Migrate lots of pulling logic out of the components and clean it up

* It's buggy, but move more code out of the pullable component

* Pulling system now throws less errors than it did before the refactor

* Finally finish the big parts of refactoring pullability

* Pulling: Handle disconnect properly if the pull joint has been removed by physics shutdown

* Port 2b68449328 to this branch

* Changes as per PR reviews

* Port e801ffac45 (SharedJointSystem) and fix issues encountered during testing

SharedJointSystem.

Also, MinLength and Stiffness appear to have suddenly gained enough meaning that pulling is broken unless they're set.
2021-10-04 17:10:54 +02:00
20kdcandmetalgearsloth ecbf8621a7 Make radiation storms occur at least somewhat near the station (Revision 3: LocalBounds) (#4745)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-10-03 18:26:45 -07:00
20kdc 2b67a22485 Stop casting AME energy into int because it underflows. (#4762) 2021-10-03 17:58:54 -07:00
20kdc b114f4a523 Update UI when the AME node group is changed, fix AME connection issues (#4750)
* Update UI when the AME node group is changed (fixes core count indicator being wrong)

* Fix connection issues between AME controller and cores

* Fix #4365 by properly propagating and clearing AME core injection state

* Fixes #4364
2021-10-03 13:33:28 +02:00
20kdc bae033d6c3 Ghosts are now spawned specifically via map coordinates (#4747)
Ought to fix #3987 and ghost blackscreen
2021-10-03 15:51:23 +11:00
20kdc dbc92afa09 Fix singularity test map (#4744)
./Content.Server --cvar game.map=Maps/Test/singularity.yml
2021-10-02 16:44:15 -07:00
20kdc eb82dd3dae Fix #4070, Visualizer Edition (#4730)
* Transform the Cloning Pod visualizer into a generic enum visualizer for simple cases like it

...I find it helpful at times like these to remind myself that our true enemy is
code. Code is what makes our programs run and generally is required for all of
these machinations to function in any way at all...

* Give the kitchen/meat spike a visualizer

* GenericEnumVisualizer: Byteify enums, switch to TryGetComponent for sprite
2021-10-02 16:43:47 -07:00
20kdc 201b1bec89 Fix time management bugs in RadiationPulseSystem (#4743) 2021-10-02 10:53:09 -07:00
20kdc 77c5e7a5ed Migrate cuffing to an uncuff attempt event and allow self-uncuff again (#4725)
* Migrate cuffing to an uncuff attempt event and allow self-uncuff again

* Uncuff attempt event: Use more SubscribeLocalEvent and Dependency attributes
2021-10-02 00:17:36 +02:00
20kdc 9600c8e983 Fix various solution capability issues (syringes, drinks) (#4687)
* Fix syringe message stating you're attempting to draw from yourself when you aren't

* Fix various missing capabilities (syringes, beakers, drinks)

* And fix mug inject/dispense/etc, too!

* Injectors can now refill things, and switch over drinks and cups thereof to be refillable rather than injectable
2021-10-01 12:06:50 +02:00
20kdc 5ead162b09 Fix chair rotations (#4688)
Wooden chairs are rotatable, metal chairs have anchored set properly, all chairs and stools don't rotate weirdly visually
2021-09-23 15:44:59 -07:00
20kdc ba619929ad Un-rotate gravity generator (#4675) 2021-09-22 12:55:00 +02:00
20kdc 646cb5861d Some Saltern wiring fixes: remove some overlapping wires & two bridged APCs (#4568) 2021-09-08 23:37:19 -07:00
20kdc cdb0727d78 Fix PA construction crash, make it clear that PA construction needs LV cables (#4506) 2021-08-22 17:50:43 +02:00
20kdc a2f5c953dc Refactoring of solar control console (#4072)
* Refactor/fix client-side of solar control computer (introduce ComputerBoundUserInterface & fix bugs)

* Refactor server side of solar control computer (introduce BaseComputerUserInterfaceComponent)

* If you can't interact, then messages to computers are blocked.

* Add 'not powered' messages, migrate activation logic partially to an EntitySystem

* Move solar control console to a XAML UI

* Remove useless comment on UserInterfaceKey

* BaseComputerUserInterfaceComponent: Remove EnsureComponent<PowerReceiver>, it's not necessary

* Fix solar panel occlusion check direction

* Solar Control Console refactors/etc. : Handle namespace renames
2021-06-17 00:49:02 +10:00
20kdc 561a5bc0f2 Cloning error messages and prediction based timing (#4013)
* Cloning error messages and prediction based timing

* Cloning error messages & prediction based timing: Fix problems mentioned in reviews
2021-06-06 03:32:59 +10:00
20kdc 2f821f2bc3 You can now return to a brain. Also, clean up terrible console misuse. (#4092)
* You can now return to a brain. Also, clean up terrible console misuse.

* Get rid of Obsolete attribute on Ghost.Execute
2021-06-03 01:03:19 -07:00
20kdc 6a78c401bf Singularity Fixes, Part 3 (#4105)
* Hopefully make singularity shader warping resolution-invariant

This may or may not fix intensity issues

* Fix singularity 'zero velocity' check

It got stuck in a corner. Twice. I really thought I'd fixed that.

* Make it easier to move around various power stuff by shrinking their AABBs a little and making singulo generator a circle

* Changes to some machine prototypes to reduce duplication of collision changes (#1)

* Changes to some machine prototypes to reduce duplication of collision changes

* BaseMachine.BaseMachineUnpowered -> BaseMachine.BaseMachinePowered
2021-06-03 00:55:50 -07:00
20kdc a3d9562532 Makes the singularity engine actually work stably. (#4068)
* Add GNU Octave script for tuning singularity engine. startsingularityengine is now properly tuned & sets up radiation collectors. FTLize RadiationCollectorComponent.

* Fix bugs with radiation collectors producing infinite power.

* Ensure singularities don't instantly annihilate other singularities (causing new singularities to instantly dissolve)

Technically found by a "bug" where a singularity generator would make multiple singularities, but this renders that bug harmless.

* Tune singularity shield emitters to hopefully randomly fail less, and add an Octave script for looking into that

* Fix singularity shader

* Map in an unfinished PA into Saltern

* Correct PA particles being counted twice by singularity calculations, add singulo food component

* Hopefully stop "level 1 singulo stuck in a corner" issues by freezing it when it goes to level 1 from any other level

* Apply suggestions on 'jazz' PR
2021-05-28 11:44:13 +02:00
20kdc c7f104cd93 More rotatability (#4067)
* Make barstools, PA components, and radiation collectors rotatable.

Making barstools rotatable is so that people can spin on the barstool. (RP moment.)

The other two are more "functional" changes for assembling a PA.

* Allow rotating a rotate-while-anchored object if you're buckled to it.

Barstool spinny

* Fix bug with rotation of an object that someone is buckled to

* BuckleSystem: Efficiency improvements with directed events

* Don't need to unsubscribe anymore from events, so in BuckleSystem, just don't
2021-05-27 12:51:14 +02:00
20kdc cf6fdd40e0 Tune pull-to-location constants just a bit more so it gets stuck less often (#4077) 2021-05-27 12:48:37 +02:00
20kdc ddcfc774a6 Gives spears some damage to let them actually be useful (#4083) 2021-05-27 12:47:49 +02:00
20kdc cb9bef0b94 Thrown items become not-thrown if you start pulling them. (#4082) 2021-05-27 12:47:39 +02:00
20kdc 136928ecb8 Fix exception in IconSmoothSystem where it tries to get a grid that doesn't exist (#4064)
This finally ought to actually kill the bug for real this time. Hopefully.
2021-05-24 16:39:57 +02:00