* Miasma SM (#54487)
Makes the supermatter crystal consume miasma in the air to power itself. The rate at which it consumes miasma scales with the partial pressure of the miasma and the gas mix of the surrounding air.
Miasma also increases gasmix_power_ratio, but by half as much as is normally standard
* Miasma SM
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Refactors the Light Eater and gives it some flavortext. Some minor behavior changes included. (#55551)
Converts the effects of the nightmares light eater into a component and a couple elements
Adds some flavor text to the light eater
Makes the effects of the nightmare's light eater dispel if the armblade is destroyed
Probably a net increase in code quality
More flavortext
The nightmare's light eater effect can be dispelled if you are willing to sacrifice the armblade
* Refactors the Light Eater and gives it some flavortext. Some minor behavior changes included.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Make all emp_proof cells emp proof (#56677)
For some reason only empty emp proof cells were emp proof. Now all emp proof cells are actually emp proof.
Co-authored-by: Sparkezel <1haslo4@ gmail.com>
* makes all emp_proof cells emp proof
Co-authored-by: Sparkezel <53384660+Sparkezel@users.noreply.github.com>
Co-authored-by: Sparkezel <1haslo4@ gmail.com>
* renames metal sheets to iron sheets
* Merge branch 'master' into upstream-merge-56643
* yay metal
* Update DeltaStation2_skyrat.dmm
* a
* Update CentCom_skyrat_z2.dmm
* a
* a
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* reverts Adds Neon Carpet (#55782), it appears to have been causing massive amounts of maptick (#56496)
It appears to have been causing massive amounts of maptick, this'll need a testmerge so we can test my hypothesis
* Reverts Adds Neon Carpet (#55782)
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Move psychologist immunity from mind to skillchip (#55813)
Skillchips are neat, and this is the sort of "job-specific skill" that can remain job specific, but still gainable in the shift through in-universe means.
The logic behind the skillchip is that the supermatter is psychically sensitive, hence the hallucinations and headaches from looking at it and projecting the "correct mental aura" will help it calm down. But that is lore following mechanics.
Refactors skillchips to be able to automatically apply more than one trait.
* Move psychologist immunity from mind to skillchip
Co-authored-by: coiax <yellowbounder@gmail.com>
* Makes telsas move properly, they were ping ponging around due to how miniballs move, I've made the shocked targets list properly fill, and make the shocked targets list retain some entries to preserve momentum (#55712)
* Makes a few changes to tesla movment
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Fixes borg tiles (#55858)
- Fixes greyscale material floor tiles created from cyborg stacks
- Makes cyborg stacks contain materials
- Prevents a potential bug involving metalgen and stacks
* Fixes borg tiles
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Refactors how movetypes are added and removed, No timers this time. (#55444)
* Refactors how movetypes are added and removed, No timers this time.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes BRPED/rigged cell exploit and allows it to booby trap BRPEDs instead (#55447)
BRPEDs can teleport rigged power cells. Through cameras. These rigged power cells will then pretty much immediately explode. This is a tad imbalanced.
Behaviour modified. Attempting to use a BRPED on a machine and having it attempt to swap over a rigged cell will cause the rigged cell to immediately go to maximum charge and explode.
Adds some logging to accompany it.
Why It's Good For The Game
Blowing things up from across the cosmos is bad.
Rigging BRPEDs to be able to explode when some poor sucker uses it to change over a power cell is cool.
* Fixes BRPED/rigged cell exploit and allows it to booby trap BRPEDs instead
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Deadchat plays everything - A simple way for admins to let deadchat control things. (#55314)
* Deadchat plays things
* Pocket lint
* View those variables
* Arr var
* Arrr save changes and don't code while drunk
* Loog dot exe
* Big ol' changes
* Deadchat plays everything - A simple way for admins to let deadchat control things.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Makes the supermatter crystal immune to radiation. Not sure how I missed this (#55710)
* Makes the supermatter crystal immune to radiation
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* WireArt: Fixed and improved (#55622)
Cyborg's pipe cleaner is now using a radial menu for choosing it's colors instead of a clumsy input one.
RCL now properly updates it's pipe cleaner holder's color, so you can actually see the color when using RCL radial menu.
RCL is now able to put cables down on floors seamlessly, as there is no reason to restrict it to just a plating and catwalks anymore due to the fact that pipe cleaner coils no longer function as a power carriers, but are merely visual entities for players to play with.
And lastly, pipe cleaners now use color defines and are setting its color directly instead of having redundant variable do it for them, which was needlessly complicating it.
* WireArt: Fixed and improved
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
* Refactor supermatter proximity effects (#55653)
- Psychologists are no longer mistakenly told they have headaches
when near the supermatter.
- Immunity to supermatter hallucinations is now provided by a new trait
`TRAIT_SUPERMATTER_MADNESS_IMMUNE`, provided by mesons, and being the
Psychologist.
- The ability for Psychologists to cause the supermatter to act slightly
differently (by turning pink, and having a higher minimum healing
temperature) is now a trait, `TRAIT_SUPERMATTER_SOOTHER`, which
currently only Psychologists get.
* Refactor supermatter proximity effects
Co-authored-by: coiax <yellowbounder@gmail.com>
* aaaaa (#55561)
Light fixtures now use different variants of overlays in order to be non-unique and save up on instantiating a TON of overlay objects. Also, fixed the GC for them
* Fixes GC for light fixture overlay, makes the overlay non-unique with extra variants
Co-authored-by: Azarak <azarak10@gmail.com>
* Tweaks lighting, adds preset lights for better mood lighting (#55513)
Tweaks existing lighting and adds some presets for mapping
Current list of presets is as follows:
Main Tube Lights: normal, cold and warm with a subtype each that disables night lighting
Red & blacklight (purple) for tube & small lightbulb
Why It's Good For The Game
Better support for more varied and interesting lighting. I made sure that the new presets are subtle and bright enough to not be distracting or made it harder to see
Changes to currently mapped lighting should be mostly unnoticeable, standard tube lights have a very faint greenish tint typical of fluorescent lights, while small lightbulbs have an orange tint reminiscent of tungsten lightbulbs
For mappers, I would suggest using types that disable nightlighting in work areas while keeping night lighting for hallways and other service/living areas.
Normal lights for hallways, cold lighting for medbay and science, warm lighting for bar, library and dorms, red lights for maintenance, maybe blacklight for server rooms etc.
* Tweaks lighting, adds preset lights for better mood lighting
Co-authored-by: Mickyan <38563876+Mickyan@users.noreply.github.com>
* Make singularity dissipation use delta time (#55612)
About The Pull Request
Converts singularity's dissipation code to use delta time instead of assuming it'll always be the same.
Numbers were based on the previous code given a delta_time of 2.
* Make singularity dissipation use delta time
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Refactors Beams to use signals: Revived from 2019 edition! BONUS: Medbeams are also refactored to use signals (#55193)
Huge removal of dead vars, bad timers, and other sloppy jitteriness from beams. They go from checking movement to waiting for a signal.
VARIABLE KILL LIST:
sleep_time: signals baby
finished: signals BAYBEEE
target_oldloc: not only not typecasted as a turf or named as a turf, it was unused. when are we going to use this? the beam starts from the origin!
origin_oldloc: bad name, not typecasted. renamed to originturf
static_beam: how are you an unused variable and still get replaced by signals like really
timing_id: signallllss bbbaaaabbyy
recalculating: you get the drill by now signals baby
base_icon: unused, seemingly replaced by visuals I think
* Refactors Beams to use signals: Revived from 2019 edition! BONUS: Medbeams are also refactored to use signals
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Nar'Sie is now a point of interest (#55540)
Fixes a regression from the singularity rewrite that made Nar'Sie its own object.
* Nar'Sie is now a point of interest, and can be orbited directly again
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* eh (#55529)
Fixes the supermatter not collecting unused/untouched gas type generated for percentage checking
* Supermatter gasmix cleanup
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
* Crates and bountes are now defined by crate's value and paygrades. Civilian bounty payout is higher and uncheesable.
* Update shuttles.dm
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Replace direct poi_list manipulation with element (#55416)
Replaces GLOB.poi_list |= src and GLOB.poi_list -= src with an element that handles it directly.
More consistent code, especially when a lot of code couldn't decide how to add/remove (some |=, some -=, some .Remove, etc).
* Replace direct poi_list manipulation with element
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Refactors how movetype flags are added and removed and the floating animation (#54963)
I wanted to refactor how movetype flags are added and removed into traits to prevent multiple sources of specific movement types from conflicting one other. I ended up also having to refactor the floating animation loop (the one that bobs up and down) code in the process.
Why It's Good For The Game
A way to avoid conflict from multiple sources of movement types.
This also stops melee attacks, jitteriness and update_transform() from temporarily disabling the floating movetype bitflag altogether until the next life tick.
Tested, but i'm pretty sure improvements could be made.
Changelog
cl
fix: jitteriness, melee attack animations and resting/standing up should no longer momentarily remove the floating movement type.
/cl
* Refactors how movetype flags are added and removed and the floating animation
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes cyborgs in general replenishing stack modules from external sources (#54935)
* Cyborg stack fix
- Makes cyborgs capable of recycling floor tiles again
* Touches up module code
- Makes module code slightly more OOP-compliant
- Speeds up module creation by an imperceptable amount
- Reworks how borg modules handle stacks
* Fixes cyborgs in general replenishing stack modules from external sources
* Update robot_modules.dm
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Cell chargers now pull from the grid's surplus rather than their room's APC cell (#54989)
About The Pull Request
As the title says.
Creates a new proc, use_power_from_net() that attempts to pull power from the grid (by adding the amount needed to the APC's powernet load), and returns the amount gathered if there was enough surplus to do so. This bypasses the APC's internal cell for power drawn this way.
Changes cell chargers to use this new proc for charging a cell. The charger machine still uses some power from the APC, set to 1% of it's max cell charging rate, for machine-related power costs. I'm not deadset on that number, I just needed to start with something. To be clear, this 1% is to simulate running the cell charger's circuitry; all of the power for the cell it's charging is 1-to-1 coming from the powernet.
This does not subvert the original PR's purpose; cells are still drawing as much power from the grid as they charge with.
Why It's Good For The Game
Fixes cell chargers breaking rooms after the prior cell charger fix. The load is now on the grid, and it being surplus means that it (probably) won't actually powersink anything.
Fixes#54919 by taking a different approach that entirely avoids the issue.
* Cell chargers now pull from the grid's surplus rather than their room's APC cell
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>