Commit Graph

1818 Commits

Author SHA1 Message Date
SkyratBot
3a8459a5f8 [MIRROR] Mining MODsuit Rework [MDB IGNORE] (#11328)
* Mining MODsuit Rework (#64688)

makes dropkey deactivate device modules
fixes speed potion being fucky
fixes doubled up balloon alerts
makes some cell code better i think
makes the gps module open the gps tgui for you, instead of putting a gps in your hand
the loader suit can now hold mailbags

Reworks the mining modsuit.
The suit is no longer cold-proof (this can be mitigated by using module space for thermal regulators)
The suit fits less modules than standard suits, but cant burn in lava.
In suit storage it can carry ore bags, resonators and kinetic crushers.
It features a storage, gps, ore bag, drill, clamp and by default comes with a plasma core, being recharged with plasma ore rather than by power cell.
Features two new modules:

Ash Accretion, it gathers dust from basalt (or snow) you walk on to create a layer of ash around the suit, acting as armor and a speed up that quickly drains when you walk on other terrain.
Sphere Transform, turns you into a fast moving ball that can travel past lava, you cannot use your hands when in this form, but you can launch aoe mining bombs to attack or mine

* Mining MODsuit Rework

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-02-08 00:46:15 +00:00
SkyratBot
f401290917 [MIRROR] Fixes foam wall error message [MDB IGNORE] (#11234)
* Update effects_foam.dm (#64604)

* Fixes foam wall error message

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-02-02 17:53:09 +00:00
SkyratBot
5ceceeb173 [MIRROR] Improve trash spawner [MDB IGNORE] (#11226)
* Improve trash spawner (#64538)

* Improve trash spawner

* Fix wrong path for broken bulb

* Add nicotine candy trash and ash to cigbutt spawner

* Improve trash spawner

Co-authored-by: Tim <timothymtorres@gmail.com>
2022-02-02 09:14:50 +00:00
SkyratBot
c9bdba8ae1 [MIRROR] Walls built on metal foam instead of girders revert to metal foam when decon'd [MDB IGNORE] (#11180)
* Walls built on metal foam instead of girders revert to metal foam when decon'd (#64553)

* raises cost of metal from foam

* goes with fikou's idea for metal foam girder_type

* Walls built on metal foam instead of girders revert to metal foam when decon'd

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2022-01-31 23:03:27 +00:00
SkyratBot
26de81a8c1 [MIRROR] Removes useless status effect path defines. [MDB IGNORE] (#11143)
* Removes useless status effect path defines.

* Removes useless status effect path defines.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-01-30 15:56:13 +00:00
SkyratBot
5cd52f5028 [MIRROR] Metalfoam structures can now be used as girders to finish building walls. [MDB IGNORE] (#11134)
* Metalfoam structures can now be used as girders to finish building walls. (#64386)

* Foam structures can be used as girders for walls.

* Cleaner ifs

* RIP non iron walls

* Metalfoam structures can now be used as girders to finish building walls.

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
2022-01-29 23:13:36 -05:00
SkyratBot
2cb28c4d8a Loader Class MODsuit (#11073)
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-01-29 14:27:47 +00:00
SkyratBot
d04e8abace [MIRROR] Re-organizes the files in the root of the icons/ folder into it's substituents [MDB IGNORE] (#11100)
* Re-organizes the files in the root of the icons/ folder into it's substituents

* Update code/__DEFINES/fonts.dm

Co-authored-by: san7890 <34697715+san7890@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-01-29 13:33:14 +00:00
SkyratBot
ac3a6f04cd [MIRROR] Actually fixes strange mob delays: BEEPSKY IS TOO FAST edition [MDB IGNORE] (#11062)
* Actually fixes strange mob delays: BEEPSKY IS TOO FAST edition (#64351)

* Revert " Properly speeds up a lot of things, mostly mobs (#64270)"

This reverts commit a836574388.
THE BYOND REF WAS A LIE, THE PLAYERS ARE FOOLS, HELP, HELPPPPPPP

It turns out that despite what the byond ref says, the walk proc's delays were not in fact in ticks, but in deciseconds.
This means when I "fixed" mob movement by doubling all walk delays, what I actually did was double the speed of anything that used walk()

I have a feeling that the actual issue players were seeing was just move_to having fucked up distance logic, and the movement of slow mobs being smoothed out. I've changed that, so hopefully this puts a seal on the whole problem

I've had a request put in to make beepsky faster, but I think that's best done in a seperate pr

* Adds a flag to disable smooth moveloop movement
Applies it to hostile mob's Goto()
Backports the fixes to move_to and move_away from the previous pr

* Actually fixes strange mob delays: BEEPSKY IS TOO FAST edition

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-01-28 21:54:53 +00:00
GoldenAlpharex
3662a09285 Another 12 AM CI Fix (#11065)
* Possible fix for CI

* We're never too safe

Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
2022-01-28 05:30:15 +00:00
SkyratBot
ec6ddbe758 [MIRROR] Remove code/__DEFINES/misc.dm [MDB IGNORE] (#10945)
* Remove code/__DEFINES/misc.dm

* agagagagagaga

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-27 02:40:25 +00:00
SkyratBot
486a18b90b [MIRROR] The Lizard's Gas (Station) Update [MDB IGNORE] (#11038)
* The Lizard's Gas (Station) Update (#64304)

* The Lizard's Gas (Station) Update

Co-authored-by: san7890 <34697715+san7890@users.noreply.github.com>
2022-01-27 02:24:31 +00:00
SkyratBot
4fc5079cdc [MIRROR] Moves atmos checking from Fire Alarms to Fire Locks, Fire Locks now close on their own rather than area-based, a bunch of related stuff. [MDB IGNORE] (#10893)
* Moves atmos checking from Fire Alarms to Fire Locks, Fire Locks now close on their own rather than area-based, a bunch of related stuff.

* Weeeee

Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-27 02:21:18 +00:00
SkyratBot
fe7c4da2a7 [MIRROR] Boritos: Now with different flavors and available at vendors + Ready Donkmeal Trash Sprite uplift [MDB IGNORE] (#10984)
* Boritos: Now with different flavors and available at vendors + Ready Donkmeal Trash Sprite uplift (#64238)

Boritos finally decided to start supplying the station with their cornchips. This PR comes with 4 flavors of boritos that can be bought from vendors as well as a slight uplift for the sprite of Ready Donkmeal's trash variant, making it actually look like trash rather then a pristine box.

Also hey if you walk on boritos packages they pop! Thats cool right?

* Boritos: Now with different flavors and available at vendors + Ready Donkmeal Trash Sprite uplift

Co-authored-by: ErdinyoBarboza <erdinyobarboza@gmail.com>
2022-01-26 18:38:07 +00:00
SkyratBot
873eaf9440 [MIRROR] Tech Storage Service Gets Updated [MDB IGNORE] (#10928)
* Tech Storage Service Gets Updated (#64278)

* Tech Storage Service Gets Updated

Co-authored-by: ErdinyoBarboza <erdinyobarboza@gmail.com>
2022-01-23 05:33:39 -05:00
SkyratBot
d8786e276c [MIRROR] Properly speeds up a lot of things, mostly mobs [MDB IGNORE] (#10889)
* Properly speeds up a lot of things, mostly mobs (#64270)

When I made my move loop changes (815bb8a) 62567, I converted a few walk() procs to
the new system
What I didn't know when I did that conversion is that walk() operates on ticks, when move loops operate on
deciseconds

So when I converted say, mob movement over, I accidentially halved the attack movespeed of all of our mobs

This resolves that, alongside a few other misteps

Of note: There are old comments implying that walk()'s delay is not actually linear, or simply as the reference says "in ticks"
I don't have a good idea of how fast things actually should be though, which makes this tricky

In light of this, I've decreased the move speed of legion slightly, in hopes that it will feel more "normal"

I've also fixed a bug with move_to and move_away, they were treating their distance parameters as move to this and one more, rather then move to this. This lead to mobs attempting to overlap with your sprite. s cringe, and also fixed

* Properly speeds up a lot of things, mostly mobs

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-01-22 19:49:17 +00:00
SkyratBot
af819aab4f [MIRROR] Kinesis Module [MDB IGNORE] (#10815)
* Kinesis Module

* Update security_officer.dm

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-20 03:45:22 +00:00
SkyratBot
0acc853c91 [MIRROR] Adds a movement looping system, replaces inbuild procs and spacedrift with it [MDB IGNORE] (#10749)
* Adds a movement looping system, replaces inbuild procs and spacedrift with it (#62567)

* Adds a subsystem to handle automated directional movement, replaces all instances of walk_towards with it. Makes meteors and immovable rods not drift in space, and makes immovable rods more destructive. Note, I've opted not to use byond's method of moving towards something, which is effectively Move(src, get_step(src, get_dir(src, target))) as it's cringe and doesn't make a smooth line. I've replaced it with a autoupdating rise over run setup, read the code for more details

* woop forgot the subsystem

* Documentation, contributing.md entry, and some cleanup

* Makes the moveloop datum more oop friendly, sets us up for a lot of conversions

* Converts the curseblob and walk_away() to the subsystem

* Changes the default for override from FALSE to TRUE

* converts walk() over, still need to add a replacement proc for it, but we didn't actually have anything that used the raw proc

* converts the rest of walk_to() over, nearing the end now

* cleans up some errors

* Fully documents everything, fills in some missing movement types, uses the power of oop to make things cleaner, and typepaths longer

* Finishes the contributing.md stuff

* Done

* Fefaults -> Defaults, can you tell I wrote this at 1AM?

* resolves bubblegum issues

* Roh's suggestions

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Cleanup

* Hey lemon, did you know that Destroy() lives on datums? ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

* Converts over the discrepencies created in my absense

* HAHA FUCK YOU I PAY MY DUES

* Whoops lost some stuff in the merge

* Converts the system from seconds to deciseconds to make dealing with the api more sane

* Some stuff I missed

* Makes movement an inheritable subsystem type, splits the moveloop file into two, one for the subsystem, and one for the datums

* Makes a subsystem that handles directing movers out to other subsystems. It's a bit bad right now, but it's a
good first step. I think I'll move the move loop datum to a lazy var on mobs instead of an assoc list, don't
like lists.

Also makes the movement procs global, I'll move em to the /movement subsystem at some point or something like
that

* Converts the existing uses of the procs over to the new format

* Adds support for subsystem precedence, so a type of A can override type B.
General cleanup, still kinda in debug mode but it's getting better

* I'll admit I'm not too familiar with this, but I think it will work

* Adds starting logic so movement types "pausing" makes any sense
Redoes how waiting is handled to make it based on world.time directly. I don't remember why. I think it's better
this way.

Adds a drifting movement type, moves space drift over to it.
Needs severe work before it's ready, too much info stored and modified on the moving object, see comment
Starts work on making drifting smooth

* Moves almost all space drifting vars over to signals on the movement datum
Properly implements glide size stuff for both the subsystem and the loops. Space drift will be smoother now.
It's not perfect, but it'll work just fine for now

Adds a way to override a client'd mob's glide size mid move, uses it to make entering a spacedrift look right
Adds a way to delay a client move outside of just move_delay, meant to be used for long periods, and setup such
that it doesn't make inputs persist

Adds flags to movement loops, alongside MOVELOOP_OVERRIDE_CLIENT_CONTROL, which blocks client movements while
the loop is firing, and for it's visual delay after

This means you can't exit a space drift until you hit the actual wall. This feels a lot better

Some general logic stuff, move() will return true/false if it succeeded or failed
Adds a stop_loop() proc that's called when a move loop is no longer active

Suck my nuts

* Moves precedence to the loop instead of the subsystem

* Moves drifting into a component, this lets me explictly block input after the move loop ends, so people can't
move the moment they functionally move onto a new tile
This is a bit underdeveloped currently, but that's a problem for another day

Cleans up some uses of move procs, fixes runtimes in metoer and curseblob code
Adds signals for stopping/starting a move loop, sending one for destroy is redundant.
Moves existing event signals from the movable being acted on to the loop itself, makes more sense this way
Makes the move handler return the created loop up the chain so we can register to it
Fixes a logic error in loop contesting code that lead to loops never actually being removed from subsystems
because they didn't know they should be.
Properly changes lifetime from a time to stop, to functionally an amount of moves to complete before stopping
Adds some new signals for pre/post loop process. This is to better tie into components.

I decided I didn't like the idea of tying all functionality to the loops themselves
The loop decides functionally how to move, components or just tied in signals can decide when/when not to move
and can modify properties of the loop

Making a new loop for things like atmos drift, something I'm interested in tackling in the future, seemed silly

* Moves movement procs directly to the subsystem for better namespacing or whatever

* Moves movement packets onto /atom/movable, no longer need the debugging
I've decided to not just put their contents fully onto atom movable, since it makes debugging on live much
harder, can't sdql for them anymore.

Fixes a runtime in meteor code, properly this time
Fixes a logic error in stop_looping
Makes move manager NO_INIT, because well, it doesn't init

* Commits human sin, makes Recover() work properly for movement subsystems

* Fixes immovable rod orbits not always working, they were returning too early in moved and fucking up the var we use to track move count, and thus not sending a signal properly

* Reworks the curseblob to use signals more, and to not use override

* Missed this in the movement ss commit

* Removes override, makes having a higher or equal precedence take its place

* Updates documentation

* Cleans up some unused defines

* Nukes the unused flags option

* Whoops forgot to qdel check

* Removes an unused var I had for client move prevention before I started using a component

* Let's do this properly

* Modernizes meteor code to better match how explosions actually work currently

* Some more cleanup

* Cleans up effect code a little bit
Nukes the effect system's sleep loop, we use movement loops instead
As a part of that, instead of 1 timer per effect spawned, we react to loop failure and make it 1 timer per
effect system
This should reduce the amoumt of slowdown we see after mass lighting break

It's not everything, we're still making a timer per spark effect, but it cuts things down significantly

* Updates explosions to not sleep

* Adds support for modifying a loops delay post process, makes extinguisher code suck less then it does currently, nukes some more sleeps and timer loops

* Converts water tank resin over to move loops rather then sleeps, minor behavior change mind, the cooldown starts on fire rather then on land, but I think that makes more sense anyway

* compile and runtime fix

* Fixes some runtimes, cleans up some code, ensures feature parity when it comes to logging

* Prevents resin foam from space drifting

* Adds support for flags back into the system, I need it for reasons

* Updates move_towards to fix some bugs and resolve some inconsistent behavior, implements a flag that makes a loop's first move start instantly

* Fixes extinguishers not actually transfering any reagents

* Converts sprays to the new system. This does actually minorly change behavior, in that I've changed the order of spray actions from step -> sleep -> wash to step -> wash -> sleep, but I'm not terribly torn up about it because frankly I think it feels better

* Converts grav catapults over to the new system

* Converts trays over to moveloops

* Converts robot streaking to move loops, the other two coming soon

* Compile you won't. Also fixes a behavior issue with oil streaks

* Does directional step_to properly, cleans up the other two streaking types

* Converts step_trigger over, not that it's actually used anywhere. Changes how stoping a move works, you need to explicitly qdel, other the step is just considered to be ignored. This will make life easier later

* Adds a jps movement loop. It's a bit bloaty, id is stupid, but it'll work just fine

* Makes the system support passing in a datum that's just used as extra context for the move. The hope is this makes signalizing things less of an absolute headache

* Begins the conversion of ai movement datums to movement loops

* These two are reasonably simple, only weird thing I'm doing is A: Not allowing target hotswapping, which I hope none is doing, and B: passing the controller into the move loop as extra context so things work properly

* JPS is a bit more complex, partially because the old implementation was a bit weird. 2 major things. 1: I'm dropping what I think was a redundant behavior minimum distance check from the premove bit of logic, since I'm pretty sure it didn't do anything. 2, instead of just stoping the step in an error state like being pulled, we count it against our max move total

* Audit

* Moves most forced movement to the framework, adds some components to make things nicer

* Implements a flag that makes the loop always operate, regardless of precedence and without impacting any other loops

* Moves movement subsystems into the right folder

* Hey potato what if you had two procs that did the same thing and one called the other? Wow it's useless

* Merges slipping and force movement

* Converys conveyors over to the system. It's a bit fragile, but I think it's totally worth it to save the sleep loop

* Precedence -> Priority, cleans up some logic errors, makes priority highest to lowest instead of lowest to highest, straight cleans some code up

* Makes poly and bubbles ignore spacedrift, now that precedence actually functions properly. I'm likely missing cases of this, will deal with it later

* Depression, thy name is linter

* Fixes linter, and hopefully fixes the runtimes in ci too

* Wew

* Sets sprays and extinguishers back to legacy, since people do actually seem to have noticed

* Spelling errors my beloved

Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

* More detail, moves return descriptions

* Converts transit tubes to the system?

* Adds the glide size modifier. Not honestly sure that this should be default, considering how crummy it makes things look for normal walking, but it's useful as hell here

* Adds a force move in dir template, actual support for fast initial steps (wtf old me) and a helper proc for setting delay

* Cleans up displosal code a bit, I thought about adding it to the system but it would functionally be just 'disposal loops'. Maybe I'll make a template subtype? not sure how I want to handle stuff like this

* Cleans up mob movement a bit

* Let's use the controller's visual delay

* Makes the resin thrower nicer, cries

* Cleans up some comments, replaces an implicit world.icon_size with an explicit one, fixes up a typecheck

* typecache instead of double istype. Can't do much about the !atom/movable, list would be too big I feel

* hhh

* bro wtf

* Documents the why of SS_TICKER

* Puts SSmovement on SS_TICKER. Lets us support tick steps

* Cleans up the charge action. Makes it use moveloops

* Fixes CI? kinda worried that this just got dropped

* Converts disposal pipes to move loops. They stutter a bit more then usual as of now, hoping that's a me thing, if it's not I'ma look at uping the priority of the base subsystem

* Moves the move subsystems off background, puts some on ssticker

* Prevents some things that shouldn't move in space from moving in space

* Documents the general form and usage of the system

* Virgin one vs chad once

Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

* Removes unneeded check

* Moves appropriate movement subsystems into SS_BACKGROUND. Removes redundant SS_KEEP_TIMINGs

I do want the behavior of SS_TICKER, which at this point is tick based waits, and ignoring overtime when
calculating next fire.
Since honestly, these subsystems should ignore overtime in regards to next fire, the cost of moving A may be
nothing compared to the cost of moving B.

* Makes the MODULUS macro use floor. I knew our coders would never let me down, glad this exists, thanks ninja
Fixes teleporting caused by shitty round() behavior, adds a "you hit your target" case to homing loops

* Converts blood splatters to move loops, that'll do it

Co-authored-by: Rohesie <rohesie@ gmail.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

* Adds a movement looping system, replaces inbuild procs and spacedrift with it

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@ gmail.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
2022-01-18 00:54:06 +00:00
SkyratBot
b11b087a7e [MIRROR] Ports flying bloodsplatters from Hippie for Wounds [MDB IGNORE] (#10713)
* Ports flying bloodsplatters from Hippie for Wounds

* Feex

* Okay now linter, shut up

* Forgot two :(

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-01-16 20:56:00 +00:00
SkyratBot
e0944dc9bd [MIRROR] Separates cult object and cult effect sprites into their own folders [MDB IGNORE] (#10672)
* Separates cult object and cult effect sprites into their own folders

* Let's do this

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-01-16 18:13:22 +00:00
SkyratBot
c0927619d2 Adds the Space Billboard (#10671)
Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-01-16 18:09:58 +00:00
SkyratBot
0e672ef15a [MIRROR] Poster Pack [MDB IGNORE] (#10584)
* Poster Pack

* Poster Pack

Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-01-15 17:04:56 +00:00
SkyratBot
de31ff77d4 [READY] Adds the Hat Stabilizer Module, inbuilt to the Captain and CC MODsuits (#10687)
Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
2022-01-15 16:31:47 +00:00
SkyratBot
65b8082678 [MIRROR] Harddel Fix Pack #42 + Better Live Reftracking Support [MDB IGNORE] (#10639)
* Harddel Fix Pack #42 + Better Live Reftracking Support

* awooga

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-12 21:57:49 +00:00
SkyratBot
c33061765b [MIRROR] [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety [MDB IGNORE] (#10620)
* [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety

* updates and fixes

* ffff

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-12 03:25:38 +00:00
SkyratBot
7c10f539bd [MIRROR] Makes share() canonical. Saves cpu time, makes the simulation proper [MDB IGNORE] (#10618)
* Makes `share()` canonical. Saves cpu time, makes the simulation proper (#63785)

* Makes `share()` canonical. Saves cpu time, makes the simulation proper

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-01-12 02:24:17 +00:00
SkyratBot
1a3a39210a [MIRROR] Adds warm (hot) (very hot) paper dispenser maintenance MOD [MDB IGNORE] (#10591)
* Adds warm (hot) (very hot) paper dispenser maintenance MOD (#63845)

Adds a paper dispenser mod to the maintenance MOD loot pile.
The paper dispensed has a small chance to burst into flames with every paper made.

* Adds warm (hot) (very hot) paper dispenser maintenance MOD

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-01-11 17:14:55 +00:00
SkyratBot
01080dfe0a [MIRROR] Makes sure COMSIG_ATOM_EX_ACT is always called. [MDB IGNORE] (#10498)
* Makes sure COMSIG_ATOM_EX_ACT is always called. (#63685)

Creates a wrapper macro for ex_act() and moves the signal and contents explosion calls to there. This way we can ensure the signal is always fired. Also desnowflakes reagents responding to explosions.

Ensures that a signal is always called when the attendant proc is called.

* Makes sure COMSIG_ATOM_EX_ACT is always called.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2022-01-07 15:23:12 -05:00
SkyratBot
ca43ac2770 [MIRROR] Adds Maintenance MOD Modules! [MDB IGNORE] (#10446)
* Adds Maintenance MOD Modules! (#63791)

* Adds Maintenance MOD Modules!

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-01-06 08:15:29 -05:00
SkyratBot
58f82b5161 [MIRROR] [Ready] MODsuits [MDB IGNORE] (#10244)
* [Ready] MODsuits

* we dont need to add these people as codeowners, goodness gracious

* have to remove this because upstream

* part 1 of these fixes

* EEEE

* Update peacekeeper_clothing.dm

* E

* E

* Auto stash before merge of "upstream-merge-59109" and "origin/upstream-merge-59109"

* E

* Update expeditionary_trooper.dm

* more removal

* nice

* modsuti modstui modusuti

* fixes

* E

* ITS MODsuit not HARDSUIT

* more hardsuit references

* MODSUIT NOT HARSUITEDSA

* Maps

* More ,map

* oop

* e

* oo aa

* 0

* ting tang

* Update modsuit_tailsprites.dm

* hi fikou

* bs tech update

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2021-12-25 13:32:49 +00:00
SkyratBot
647b408d01 [MIRROR] Fixes typos in span, other html elements [MDB IGNORE] (#10222)
* Fixes typos in span, other html elements (#63510)

Atomizes a much larger PR for another time...
There are typos in span and other html messages that causes them to not render correctly or at all.
Bug fixes
Converts those instances of span to use the macro

* Fixes typos in span, other html elements

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2021-12-23 17:18:43 +00:00
SkyratBot
645b90d34a proximity monitors cleanup (plus connect_range and connect_containers components) (#10192)
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-12-23 03:51:23 +00:00
SkyratBot
b894ce42d4 [MIRROR] Super Mega Mob Spawn Refactor [MDB IGNORE] (#10075)
* Super Mega Mob Spawn Refactor

* Super Mega Mob Spawn Refactor

* Update modular changes

* update kilo

* i wish unit tests would work on my machine

* fix kilo...?

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-12-23 02:30:55 +00:00
SkyratBot
7554a084ae [MIRROR] Fixes foam and fire plane issues [MDB IGNORE] (#10196)
* Fixes foam and fire plane issues (#63516)

* Fixes foam and fire plane issues

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2021-12-22 15:09:25 +00:00
SkyratBot
c0706f4a41 [MIRROR] Field of View and Blindness improvements [bounty + upstream push] [MDB IGNORE] (#10060)
* Field of View and Blindness improvements [bounty + upstream push]

* Update death.dm

* almost done

* Update fov_handler.dm

* Face mouse when in combat mode, fix

* Fixes the category for the fov admin verb. #63401

* Fixes objects with bad planes and FoV bugs #63412

* pain

* there we go

* face pref

Co-authored-by: Azarak <azarak10@gmail.com>
2021-12-22 14:56:01 +00:00
SkyratBot
6256f743be [MIRROR] Fixes garbage not being moppable [MDB IGNORE] (#10190)
* Fixes garbage not being moppable (#63521)

Layers are the worst
Also updates the documentation for some parts of cleaning

* Fixes garbage not being moppable

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-12-22 13:40:02 +00:00
AtoriBirb
9504b0ab84 [NON-MODULAR][BALANCE(?)] Updating the TK visuals! (#10109)
* [NON-MODULAR][BALANCE(?)] Updating the TK visuals!

* Delete effects.dmi

* Delete genetics.dmi

* Add files via upload

* Update miscellaneous.dm

* Delete effects.dmi

* Delete genetics.dmi

* Add files via upload

* Add files via upload

* new pointers

* Update telekinesis.dm

* Update telekinesis.dm

* Update miscellaneous.dm

* Delete tele_effects.dmi

* Add files via upload
2021-12-20 03:07:14 +00:00
SkyratBot
95c6cd76b4 [MIRROR] Moves Pun Pun away from the kitchen on Delta (and makes monkeys actually look like monkeys in the map editor) [MDB IGNORE] (#8958)
* Moves Pun Pun away from the kitchen on Delta (and makes monkeys actually look like monkeys in the map editor) (#62108)

* Moves Pun Pun away from the kitchen on Delta (and makes monkeys actually look like monkeys in the map editor)

* Update DeltaStation2.dmm

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-12-17 01:17:01 +00:00
SkyratBot
2c8be89114 [MIRROR] Moth Food Returns: A Taste of the Fleet [MDB IGNORE] (#9985)
* Moth Food Returns: A Taste of the Fleet (#63174)

* Moth Food Returns: A Taste of the Fleet

Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
2021-12-10 21:52:20 +00:00
SkyratBot
81199f2146 [MIRROR] Add randomized tracking beacons to all maps [MDB IGNORE] (#9537)
* Add randomized tracking beacons to all maps (#61673)

This takes the new random tracking beacon spawner and adds them to all maps. The only guaranteed tracking beacon that spawns is the one at arrivals. The rest have a 35% chance to spawn and are located in the following areas:

    teleporter
    AI Sat teleporter
    escape
    showcase
    bridge
    courtroom
    bomb testing range
    atmos
    xenobio secure chamber
    medbay
    engineering
    bar/cafe
    EVA
    virology
    dorms
    mech bay
    lavaland
    cargo
    shooting range/security
    chapel
    disposals
    hydro
    garden
    library
    gateway
    incinerator room
    vacant office

More roguelike randomization for every round is good for the soul.

* Add randomized tracking beacons to all maps

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-11-23 14:09:00 -05:00
SkyratBot
40f7364842 [MIRROR] Refactor cult dagger rune drawing and null rod rune clearing into components + minor rune / blood magic tweaks [MDB IGNORE] (#9662)
* Refactor cult dagger rune drawing and null rod rune clearing into components + minor rune / blood magic tweaks (#62918)

The act of inscribing runes, anchoring / unanchoring cult structures, deconstructing cult girders, and purging cultists of holy water have all been moved off of the cult dagger itself and onto a component, cult_ritual_item.

The act of destroying a cult rune or heretic rune with the null rod have been moved off of their respective items and onto the nullrod itself.

Added a signal, COMSIG_ITEM_ATTACK_EFFECT, for the above purposes.
Various cult spells and dagger interactions have had their code improved slightly.

* Refactor cult dagger rune drawing and null rod rune clearing into components + minor rune / blood magic tweaks

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2021-11-23 12:45:12 -05:00
SkyratBot
8bcb0dfd7a [MIRROR] Move current pick_weight consumers to not pass in zeros [MDB IGNORE] (#9647)
* Move current pick_weight consumers to not pass in zeros (#62940)

About The Pull Request

pick_weight_allow_zero was a backwards compatible hack, so it exists alongside pick_weight.

I would really like to just remove the old proc and just rename it, so I want to log what, if anything, is relying on this behavior, to see if it's a bug or if it needs to be handled especially in that case.

* Move current pick_weight consumers to not pass in zeros

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-11-23 08:39:03 -05:00
SkyratBot
e784b7402d [MIRROR] [PORT] Adds Safety Moth posters from Beestation! (Attempt 2) [MDB IGNORE] (#9605)
* [PORT] Adds Safety Moth posters from Beestation! (Attempt 2) (#62936)

add: Added Safety Mothposters!

* [PORT] Adds Safety Moth posters from Beestation! (Attempt 2)

Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
2021-11-22 00:38:47 -05:00
SkyratBot
a94325afe4 [MIRROR] Replacing more C-style for loops with the faster, traditional ones. [MDB IGNORE] (#9560)
* Replacing more C-style for loops with the faster, traditional ones. (#62908)

* Replacing more C-style for loops with the faster, traditional ones.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-11-19 20:37:13 +00:00
SkyratBot
81f5e47881 [MIRROR] Adds a new poster to commemorate the end of an era [MDB IGNORE] (#9550)
* Adds a new poster to commemorate the end of an era (#62885)

* Added a new poster

* Adds an extra layer of grime.

Co-authored-by: Farquaar <(tgGithubPW0)>

* Adds a new poster to commemorate the end of an era

Co-authored-by: Farquaar <44147031+Farquaar@users.noreply.github.com>
2021-11-18 18:41:05 -05:00
SkyratBot
9a58a61c6c [MIRROR] Change maint crate spawners to be randomized [MDB IGNORE] (#9428)
* Change maint crate spawners to be randomized (#62742)

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Change maint crate spawners to be randomized

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-11-13 09:01:49 -05:00
SkyratBot
cad2ac7888 [MIRROR] Ants can't traumatize ghosts, ants show up on top of pipes + Ant QOL [MDB IGNORE] (#9327)
* Ants can't traumatize ghosts, ants show up on top of pipes + Ant QOL (#62496)

* Protects ghosts, bypasses vents & pipes

* hard crit oops

* stops screaming unconcious people

* fixes a copy-paste error

* fixes planes

* *unconcious* people won't get messages.

* I am begging for this to be right

* I hate that it took me 30 seconds to realize

* Ants can't traumatize ghosts, ants show up on top of pipes + Ant QOL

Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
2021-11-09 08:21:35 -05:00
SkyratBot
b7b6bd501f [MIRROR] removes double spaces AFTER symbols [MDB IGNORE] (#9226)
* removes double spaces AFTER symbols

* Fixing conflicts

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-11-05 18:15:12 -04:00
SkyratBot
b6ffb1e31b [MIRROR] Refactor /turf/var/intact [MDB IGNORE] (#9114)
* Refactor /turf/var/intact (#62331)

Turfs have a variable, intact, which conflates three meanings:

    Determining whether there's something that can be pried out, such as directly with a crowbar or indirectly with a tile stack and a crowbar off-hand.
    Determining whether underfloor pieces are visible.
    Determining whether underfloor pieces can be interacted with - by players with tools, through interaction with effects like chemical acid, or foam.

When plating is hit with a stack of tiles, /turf/open/floor/attackby checks whether the turf is intact, and if so, ends the attack chain regardless of whether or not the attempt to hotswap a turf (with a crowbar) is successful or not. However, turfs which want the underfloor to be visible - such as catwalks and glass - set the intact variable to FALSE, and so can be repeatedly placed over one another, as if they were the first tile to be placed over the plating.

This refactors /turf/var/intact into two distinct variables:

    /turf/var/overfloor_placed, for whether or not there is something over plating.
    /turf/var/underfloor_visible, for whether or not the various underfloor pieces should be invisible, visible, or both visible and interactable.

All references to /turf/var/intact have been replaced with an equivalent overfloor_placed or underfloor_visible reference, depending on which check is appropriate. underfloor_accessibility can take one of UNDERFLOOR_HIDDEN, UNDERFLOOR_VISIBLE, or UNDERFLOOR_INTERACTABLE. This prevents cases such as acid foam or tools phasing through glass floors to affect the underfloor pieces underneath, and covers all kinds of unusual, not-wiring-visiblity usage such as Holodeck completeness, Revenant interaction, or station integrity checking.

* Refactor /turf/var/intact

* Thank

Co-authored-by: esainane <esainane+github@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-10-30 00:19:21 +13:00
SkyratBot
404a603dc2 [MIRROR] runtime fix for borgs cryoing with upgrade modules + no more mmi laying around after they cryo, and various other runtime fixes [MDB IGNORE] (#8975)
* runtime fix for borgs cryoing with upgrade modules + no more mmi laying around after they cryo, and various other runtime fixes

* Fixing conflicts

Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-10-23 00:25:25 +01:00