Commit Graph

2393 Commits

Author SHA1 Message Date
SkyratBot
b2cc74a77e [MIRROR] Fixes layering issues brought by the FoV PR. [MDB IGNORE] (#11411)
* Fixes layering issues brought by the FoV PR.

* Update code/__DEFINES/layers.dm

* Update code/modules/mob/living/living_defines.dm

* Update code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-02-10 02:51:52 +00:00
SkyratBot
cd814c127f [MIRROR] Adds an option to generate typecaches as zebras. [MDB IGNORE] (#11330)
* Adds an option to generate typecaches as zebras.

* Update energy_ball.dm

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-02-08 01:54:04 +00:00
SkyratBot
d682fbfbc8 [MIRROR] Rotation component refactor and improvements [MDB IGNORE] (#11304)
* Rotation component refactor and improvements

* Update code/modules/power/singularity/emitter.dm

* e

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-02-08 01:38:20 +00:00
SkyratBot
a7fcb65332 [MIRROR] Adds moveloop bucketing, uses queues for the singulo rather then sleeps [MDB IGNORE] (#11257)
* Adds moveloop bucketing, uses queues for the singulo rather then sleeps

* Update singularity.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-02-08 01:21:56 +00:00
SkyratBot
917f088914 [MIRROR] Improves ethereal APC sucking code [MDB IGNORE] (#11297)
* Improves ethereal APC sucking code (#64638)

* armhulen talk to me about the combat mode stuff

* cleans up the istype issues

* ryll please free me from slavery

* Improves ethereal APC sucking code

Co-authored-by: MacBlaze1 <33578623+MacBlaze1@users.noreply.github.com>
2022-02-06 14:02:56 +00:00
SkyratBot
204e8aaedc [MIRROR] Nerfs field gen repel stun [MDB IGNORE] (#11240)
* Nerfs field gen repel stun (#64611)

Co-authored-by: ATH1909 <42606352+ATH1909@ users.noreply.github.com>

* Nerfs field gen repel stun

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: ATH1909 <42606352+ATH1909@ users.noreply.github.com>
2022-02-03 09:54:45 +00:00
SkyratBot
1a6865a297 [MIRROR] fixed ethereals being unable to charge from APCs [MDB IGNORE] (#11251)
* fixed ethereals being unable to charge from APCs (#64547)

This PR allows ethereals to receive and give charge to APCs again. I had to make some design choices due to the fact there is no clear solution with ethereals having an action with two possible outcomes. I moved ethereal APC charging to its own function called from the right click attack hand function.

* fixed ethereals being unable to charge from APCs

Co-authored-by: MacBlaze1 <33578623+MacBlaze1@users.noreply.github.com>
2022-02-02 23:46:40 -05:00
SkyratBot
ab0dd1ddac [MIRROR] ethereals can now loop charging from lights [MDB IGNORE] (#11190)
* allows charging from lights to loop (#64548)

* ethereals can now loop charging from lights

Co-authored-by: MacBlaze1 <33578623+MacBlaze1@users.noreply.github.com>
2022-02-01 01:34:00 +00:00
SkyratBot
abf7e98baa [MIRROR] Removes useless defines for mutation paths [MDB IGNORE] (#11138)
* Removes useless defines for mutation paths (#64512)

* Removes useless defines for mutation paths

* Update cortical_borer_abilities.dm

* Update cqcplus.dm

* Update clown.dm

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:08 +00:00
SkyratBot
cc7a3fe4e5 [MIRROR] Tweak CIMS to ignore Syndicate Owned crystal. [MDB IGNORE] (#11139)
* Tweak CIMS to ignore Syndicate Owned crystal. (#64526)

* Tweak CIMS to ignore Syndicate Owned crystal.

Co-authored-by: Vire <66576896+Maurukas@users.noreply.github.com>
2022-01-30 15:28:24 +00:00
SkyratBot
2cf3697537 [MIRROR] Fixes incorrect apc offset warnings [MDB IGNORE] (#11078)
* Fixes incorrect apc offset warnings (#64488)

We were setting the offset to negative values, then checking that against a non negative define

Uses the absolute value to compare instead of the signed value.

* Fixes incorrect apc offset warnings

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-01-28 16:38:33 -05:00
SkyratBot
6bf48b1f19 [MIRROR] Changes APC's/air alarm's lock/unlock hotkey from alt+click to right click [MDB IGNORE] (#10963)
* Changes APC's/air alarm's lock/unlock hotkey from alt+click to right click (#64352)

* APCs and air alarms lock/unlock with right click

* Changes APC's/air alarm's lock/unlock hotkey from alt+click to right click

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
2022-01-24 13:37:59 -05: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
1e4ba0273c [MIRROR] Fixes some mapping errors not using the mapping error log. [MDB IGNORE] (#10805)
* Fixes some mapping errors not using the mapping error log. (#64114)

Should help prevent #64066 from reoccurring.

* Fixes some mapping errors not using the mapping error log.

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-01-19 17:21:17 +00:00
SkyratBot
5910fd9649 [MIRROR] MOD update: Modular Cores [MDB IGNORE] (#10710)
* MOD update: Modular Cores

* Fixing all dem conflicts

* Okay now it's going to compile too

* Fixing some Trigger() (they triggered me)

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-01-16 15:25:41 -05: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
31edbba130 [MIRROR] In Soviet Nanotransen, Tram consume you! [MDB IGNORE] (#10726)
* In Soviet Nanotransen, Tram consume you! (#63643)

* stops the tram from consuming the SM

* In Soviet Nanotransen, Tram consume you!

Co-authored-by: DragonTrance <dylan661993@gmail.com>
2022-01-15 21:46:37 +00:00
SkyratBot
06990c0730 [MIRROR] Pluoxium production via supermatter CO2 O2 reaction will no longer consume oxygen that doesn't exist. [MDB IGNORE] (#10647)
* Pluoxium production via supermatter CO2 O2 reaction will no longer consume oxygen that doesn't exist. (#64014)

You can no longer produce oxygen free pluoxium. Adds a min check to prevent creating a significant amount of pluoxium while consuming an insignificant amount of oxygen.

Pluoxium needs oxygen.

* Pluoxium production via supermatter CO2 O2 reaction will no longer consume oxygen that doesn't exist.

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2022-01-13 04:30:26 +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
11295edea0 [MIRROR] Blowing kisses at the supermatter crystal will now power it. [MDB IGNORE] (#10565)
* Blowing kisses at the supermatter crystal will now power it. (#63858)

* Pipe direction fix. (#1)

* Test

* Test

* Forgot to do this thing.

* Okay

* Why did I do that?

* Arghh

* Not sure how that got here.

* Revert "Pipe direction fix. (#1)" (#2)

This reverts commit 7ffd5b598f9bd598f67f6ba3219079f3c03e2ac4.

* Smart pipes direction fix.

Hi

* Revert "Pipe direction fix. (#1)" (#4)

* Gaming

* Flushed

* Okay

* Changes a number.

Co-authored-by: 170141183460469231731687303715884105727 <58013024+170141183460469231731687303715884105727@ users.noreply.github.com>

* Blowing kisses at the supermatter crystal will now power it.

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
Co-authored-by: 170141183460469231731687303715884105727 <58013024+170141183460469231731687303715884105727@ users.noreply.github.com>
2022-01-10 17:50:33 +00:00
SkyratBot
63bf67f43c [MIRROR] Fixes a supermatter runtime. Also fixes an airlock runtime. [MDB IGNORE] (#10524)
* Fix supermatter and door runtimes (#63718)

About The Pull Request

It turns out that when the supermatter is about to explode it spams a div/0 runtime instead of emitting rads. This fixes that.
This also fixes a runtime caused by attempting to walk through an airlock with a cut ID wire since it came up in testing.
Why It's Good For The Game

Less runtimes.
Changelog

cl
fix: The supermatter will once again emit radiation when it is about to explode.
/cl

* Fixes a supermatter runtime. Also fixes an airlock runtime.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2022-01-08 02:48:43 +00:00
SkyratBot
c657faf095 [MIRROR] Fixes aiming at things through cameras not aiming at the thing you aimed at. [MDB IGNORE] (#10454)
* Fixes aiming at things through cameras not aiming at the thing you aimed at. (#63654)

You can click on things through cameras. This is one of the major appeals of BRPEDs. If you try to shoot at things while using a camera console to aim you will shoot at the angle between the camera you are looking through and the thing you are aiming at. This makes you aim at the thing you are aiming at from the perspective of yourself instead of the camera you are using.

While it would be funny to watch a sniper gun down their own team aiming through a camera bug and shooting in the opposite direction they think they I'd prefer if it actually worked.

* Fixes aiming at things through cameras not aiming at the thing you aimed at.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2022-01-06 12:35:16 +00:00
SkyratBot
39b9e3aefc [MIRROR] Fix Turf Transparency for MultiZ [MDB IGNORE] (#10349)
* Fix Turf Transparency for MultiZ

* Fixing some conflicts

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-01-03 20:38:30 +00: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
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
119356e97f [MIRROR] Fixes Massive Radio Overtime, Implements a Spatial Grid System for Faster Searching Over Areas [MDB IGNORE] (#10107)
* Fixes Massive Radio Overtime, Implements a Spatial Grid System for Faster Searching Over Areas

* no spamming pings for upstream :(

* E

* E

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-12-23 03:06:56 +00:00
SkyratBot
ec963fc5fa [MIRROR] Remove old crappy singularity comment [MDB IGNORE] (#10197)
* Remove old crappy singularity comment (#63479)

* Remove old crappy singularity comment

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-12-22 14:24:04 +00:00
SkyratBot
25559a6c26 [MIRROR] Allows supermatter crystal to produce gases on non-space turfs that don't have air. [MDB IGNORE] (#10191)
* Allows supermatter crystal to produce gases on non-space turfs that don't have air. (#63276)

If there is no air on a turf, the supermatter crystal will not produce gases even if powered. This changes that so that it can produce gases while powered if there are none on the turf. It will still take damage in case it doesn't produce gases, or it gets immediately removed.

Although it's unlikely to happen, it will look very weird if the supermatter doesn't produce gas while on a non-space turf while powered, as that situation but with like 0.0001 moles on the turf would cause the SM to immediately go on fire.

* Allows supermatter crystal to produce gases on non-space turfs that don't have air.

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2021-12-22 13:37:55 +00:00
SkyratBot
463c2fc71d [MIRROR] multiz movement refactor redux [MDB IGNORE] (#9925)
* multiz movement refactor redux (#62132)

* multiz movement refactor redux

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-12-07 08:27:12 -05:00
SkyratBot
f037e05933 [MIRROR] APC being burnt now no longer spams runtimes. [MDB IGNORE] (#9876)
* APC being burnt now no longer spams runtimes. (#63244)

* APC being burnt now no longer spams runtimes.

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
2021-12-05 00:42:54 -05:00
Gandalf
f3020a7f42 Microfusion Energy Guns (#9638)
* RELOADING!

* Update skillchip.dm

* a

* Update master.dm

* Update master.dm

* Part one

* E

* E

* EOR

* Oops

* EEEH

* Fixes.

* begone oldcode from old times

* fixes

* cell attatchments

* haha u cant spell

* Gun attachments!

* Fastest gun in the west

* Update multi_cell_charger.dm

* ESA

* Stability

* phase emitters

* foixes

* More fixes

* Update microfusion_gun_attachments.dm

* Update microfusion_gun_attachments.dm

* eee

* Intermediate interactions.

* Update microfusion_energy_master.dm

* wooh

* EEE

* Update microfusion_cell.dm

* Map edits

* Merge branch 'master' into gun_reloads

* E

* attachment removal

* Update _basemap.dm

* proper parent gun interactions

* Update code/game/machinery/recharger.dm

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>

* E

* Update modular_skyrat/modules/gunsgalore/code/guns/ballistic_master.dm

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>

* Update modular_skyrat/modules/microfusion/code/microfusion_cell.dm

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>

* Update modular_skyrat/modules/microfusion/code/microfusion_cell.dm

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>

* Review comments pt2

* review comments pt2

* review part 3

* review part 4

* review 4.1

* review fixes

* Update microfusion_designs.dm

* ffs

* Update code/__DEFINES/~skyrat_defines/traits.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Nearly there

* final review commit

* Update multi_cell_charger.dm

* Update microfusion_energy_master.dm

* E

* insight

* Fixes, rgb, remove instability on cells

* de epic

* Update _basemap.dm

* TGUI in the houise

* Update MicrofusionGunControl.js

* FULL STEAM AHEAD CHOO CHOO (Adds zooming)

* FUU bayonets and flights

* e

* Nearly

* microCHANGES

* Update gun.dm

* Minidate.

- Shooting the gun while it's overheating can cause it to [REDACTED].
- Shooting the gun while it's overheating will burn your hand!
- Some cells will now notify you when they're empty using an alarm sound.
- Gun barrel attachments now change the sound of the laser!
- An overheating emitter slows down!
- Emitters now control fire time more!

* 0

* owo

* FFF

* Update code/game/machinery/recharger.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/modules/gunhud/code/gun_hud_component.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* no spolsion

* Generally we want the cell in our hands

* 0

* Update microfusion_gun_attachments.dm

* E

* E

* FINAL

* superheater

* Update projectiles.dm

* Update microfusion_energy_master.dm

* Update projectiles.dm

* Update microfusion_gun40x32.dmi

* Update laser_1.ogg

* E

* whoop

* Cargo crates!

* Review plus material updates

* Update microfusion_designs.dm

* E

* E

* E

* E

* EEEE

* Update gun_spawns.dm

* Some fine tuining

* Update gun_spawns.dm

* Update recharger.dm

* E

* Update microfusion_gun_attachments.dm

* E

* E

* Update microfusion_gun_attachments.dmi

* Update code/game/machinery/recharger.dm

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>

* E

* You can now actually insert different cells into advanced guns!

* 0

* E

* Update microfusion_gun_attachments.dm

* Update microfusion_energy_master.dm

* Update modular_skyrat/modules/microfusion/code/microfusion_cell.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/modules/microfusion/code/microfusion_cell.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* E

* Update microfusion_energy_master.dm

* Update microfusion_gun_attachments.dm

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-12-03 22:38:08 +00:00
SkyratBot
3b0bab535a [MIRROR] CO2+O2 to Pluox conversion for the Supermatter again. [MDB IGNORE] (#9814)
* CO2+O2 to Pluox conversion for the Supermatter again. (#62626)

About The Pull Request

Now that radiation waves are gone, the SM isn't capable of generating Pluox, actually the only way to generate Pluoxium is with a reaction mix of O2/Plasma/Tritium at low pressure, something that I assume most of the Atmos players don't even know about as the SM was the main and efficient way to generate Pluox.

The change also removed Pluox as an annoying waste gas on the SM, not the biggest of nerfs but...

So I copied the way the SM reacts with Miasma to generate extra power (bet most people don't know about this either.) for parity on how the SM only reactions work, but with a few changes to work better with a high power charged CO2 SM compared to a Miasma one.

The main change compared to the Miasma reaction is that it scales less with power and more with pressure, a High pressure and low power CO2+O2 SM should be the most efficient/safe way to make Pluox, a different kind of challenge to the low pressure high power CO2 SMs we have already.

Also, the amount of Pluox generated might need tweaks, but it is nothing compared to the production of old Radiation charged SMs.
Why It's Good For The Game

When I was a lil baby Atmos Tech, I looked at the Pluox generation reaction and had such high expectations.

"Wow, I can make more efficient Pluox internals to give away, I can flood the Station with Pluox instead of O2 and it will prevent fires and allow Plasmamen to vibe!"

Such cute thoughts that never really got into reality because the task is gargantuan without much return... still cute thoughts that I hope new Atmos players at least try.

Something something S O U L.
Changelog

cl Guillaume Prata
expansion: After a short break, the Supermatter is back again at the her hard working and slightly different Pluoxium generation business.
/cl

* CO2+O2 to Pluox conversion for the Supermatter again.

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
2021-12-01 22:21:00 +00:00
SkyratBot
9b9b7ef70b [MIRROR] fixes borgs getting radiation burn message and rewrites some SM dust messages [MDB IGNORE] (#9695)
* fixes borgs getting radiation burn message and rewrites some SM dust messages (#63015)

* Bastardblaster

* Update code/modules/power/supermatter/supermatter.dm

Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>

* bigchungus

Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>

* fixes borgs getting radiation burn message and rewrites some SM dust messages

Co-authored-by: redsunover <76170211+redsunoverparadise@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2021-11-25 06:36:13 +00:00
SkyratBot
c1ca55382d [MIRROR] Fixes ghosts' boo ability going on cooldown when the light they tried to flicker didn't flick [MDB IGNORE] (#9672)
* Fixes ghosts' boo ability going on cooldown when the light they tried to flicker didn't flick

* Update code/modules/power/lighting/light.dm

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-11-23 21:35:02 -05:00
SkyratBot
5aeef22b2f [MIRROR] Merge MACHINE/port_gen/Initialize definitions [MDB IGNORE] (#9429)
* Merge MACHINE/port_gen/Initialize definitions (#62747)

This apparently happened in 58d0f12c5c, four year ago, where a New()
was renamed to Initialize().

Apparently in this case, the second definition runs first, and the first
definition runs in the second's parent call. Since the second immediately
calls the first as a parent call, just merging them with the first's body
first preserves behavior.

This is slightly horrifying.

* Merge MACHINE/port_gen/Initialize definitions

Co-authored-by: esainane <esainane+github@gmail.com>
2021-11-13 09:02:30 -05:00
SkyratBot
3ecaa1cca1 [MIRROR] Fix spelling on multilayer cable reset [MDB IGNORE] (#9401)
* Fix spelling on multilayer cable reset (#62721)

* Fix spelling on multilayer cable reset

Co-authored-by: esainane <esainane+github@gmail.com>
2021-11-11 21:50:14 -05:00
SkyratBot
71b5f92eda [MIRROR] [MDB IGNORE] dir sanity, primarily on WALLITEMs [MDB IGNORE] (#9315)
* [MDB IGNORE] dir sanity, primarily on WALLITEMs (#62601)

About The Pull Request

Wall items mostly use the direction from the floor to the wall in the named mapping helper. Wall items mostly use the direction from the wall to the floor for the internal dir variable.

This leads to a headache when it comes to working out what conflicts with what, and what needs placing where.

Wall frames provided a member, inverse, which specified whether or not to invert the direction of the item when looking for conflicts. It was also used to specify whether to look for conflicts outside of the wall (cameras and lights appear external to the wall) or inside the wall (most wall items). This flag was set for Intercoms, APCs, and Lights. Since APCs and Lights expect a floor-to-wall direction, and Intercoms expect a wall-to-floor direction, this means that APCs and Lights were getting the correct direction, and Intercoms were getting the wrong direction.

Some implications of this setup were:

    You could build an APC on top of another wall item, provided there was nothing external attached to the wall and the area didn't have an APC.
    You could stack Intercoms indefinitely on top of the same wall, provided you weren't in a one-tile wide corridor with something on the opposite wall.

Or both! Here's twenty Intercoms placed on the wall, and a freshly placed APC frame after placing all Intercoms and deconstructing the old APC:

endless-stack-of-intercoms

Not everything used this inverse variable to adjust to the correct direction. For example, /obj/machinery/defibrillator_mount just used a negative pixel_offset to be visually placed in the correct direction, even though the internal direction was wrong, and never set! This also let you stack an indefinite number of defib mounts on the same wall, provided it wasn't a northern wall... except you could do this to northern walls too, since defibs weren't considered a wall item for the purposes of checking collisions at all!

Ultimately, every constructable interior wall item either used this inverse variable to adjust to the correct placement, set a negative pixel_offset variable to have its offset adjusted to the correct placement, or overrode New or Initialize to run its own checks and assignment to pixel_x and pixel_y!
Inventory: Table of various paths, related paths, and the adjustments they used

Unfortunately, untangling /obj/structure/sign is going to be another major headache, and this has already exploded in scope enough already, so we can't get rid of the get_turf_pixel call just yet. This also doesn't fix problems with the special 2x1 /obj/structure/sign/barsign.

Some non-wall items have been made to use the new MAPPING_DIRECTIONAL_HELPERS as part of the directional cleanup.

tl;dr: All wall mounted items and some directional objects now use the same direction that they were labelled as. More consistent directional types everywhere.
Why It's Good For The Game

fml
Changelog

cl
refactor: Wall mounted and directional objects have undergone major internal simplification. Please report anything unusual!
fix: You can no longer stack an indefinite amount of Intercoms on the same wall.
fix: Defibrillator Mounts, Bluespace Gas Vendors, Turret Controlers, and Ticket Machines are now considered wall items.
fix: Wall mounted items on top of the wall now consistently check against other items on top of the wall, and items coming out of the wall now consistently check against other items coming out of the wall.
fix: The various directional pixel offsets within an APC, Fire Extinguisher Cabinet, Intercom, or Newscaster have been made consistent with each other.
fix: The pixel offsets of Intercoms, Fire Alarms, Fire Extinguisher Cabinets, Flashers, and Newscasters have been made consistent between roundstart and constructed instances.
fix: Constructed Turret Controls will no longer oddly overhang the wall they were placed on.
qol: Defibrillator mounts now better indicate which side of the wall they are on.
fix: Some instances where there were multiple identical lights on the same tile have been fixed to only have one.
/cl

* [MDB IGNORE] dir sanity, primarily on WALLITEMs

* apc directionals

* bluespace vendor fix

* defib fix

Co-authored-by: esainane <esainane+github@gmail.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
2021-11-10 17:17:26 -05:00
SkyratBot
3b655bfa17 [MIRROR] Stops the "You lack optic scanners, you get stunned" singularity proc from affecting blinded or dead mobs. [MDB IGNORE] (#9363)
* Stops the "You lack optic scanners, you get stunned" singularity proc from affecting blinded or dead mobs. (#62688)

* Stops the "You lack optic scanners, you get stunned" singularity proc from affecting blinded or dead mobs.

* oh dang

* Update singularity.dm

* Stops the "You lack optic scanners, you get stunned" singularity proc from affecting blinded or dead mobs.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-11-10 10:31:43 -05:00
SkyratBot
98428cdfb5 [MIRROR] Replaces a portion of C-style for loops with the more commonplace for loops, which are faster. [MDB IGNORE] (#9298)
* Replaces a portion of C-style for loops with the more commonplace for loops, which are faster.

* Update code/modules/projectiles/boxes_magazines/_box_magazine.dm

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
2021-11-08 10:50:29 -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
49b23fee26 [MIRROR] Adds feedback when successfully emaging a generator [MDB IGNORE] (#9229)
* Adds feedback when successfully emaging a generator (#62524)

* Adds a span_notice when emaging a PACMAN

* Adds feedback when successfully emaging a generator.

* Adds feedback when successfully emaging a generator

Co-authored-by: Stonetear <89315023+Stonetear@users.noreply.github.com>
2021-11-04 06:52:22 -04:00
SkyratBot
e90627be0e [MIRROR] Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed [MDB IGNORE] (#9176)
* Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed

* Fixing conflicts

* Makes it compile, yeet all the RAD armor from everywhere (thanks RegEx!)

* Removing more lingering rad armor (woo)

* Damnit powerarmors

* Bye bye rad collectors!

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-11-02 10:36:46 -04:00
SkyratBot
efa1d383ce [MIRROR] [FUCK] Fixes wires not being placeable [MDB IGNORE] (#9140)
* Fixes wires not being placeable (#62455)

So, uh, well, basically, the condition was checking for something that was true in BYOND's terms when it shouldn't've been. Whoops!

We all love working power, don't we?
Fixes #62446 (Not being able to place cables at all)

* [FUCK] Fixes wires not being placeable

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-10-30 02:27:04 +01: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
7954d664a8 [MIRROR] removes double spaces before symbols [MDB IGNORE] (#9117)
* removes double spaces before symbols (#62397)

This can apparently cause some bugs on occasions, so I thought I might as well try to kill them all.

* removes double spaces before symbols

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2021-10-29 04:14:00 +01:00
SkyratBot
1d4407a29b [MIRROR] SM: Fix pressure bonus system [MDB IGNORE] (#9093)
* SM: Fix pressure bonus system (#62255)

* SM: Fix pressure bonus system

Fixes #62124 (Pressure wasn't actually doing anything)

> This is a multiplier meant to be used at low pressures.
> The lower the pressure the higher the multiplier.
> This is to encourage low pressure setups and so cold setups.
> At higher pressures (from around 100 kpa and up) it will max to 1

Current behavior is what follows.
As pressure drops, the multiplier remained at 1 until it dropped to 5.96kPa.
It then very marginally increased until it reaches x1.17 at 0kPa.

This commit introduces a system that solves the constants for the equation
based on human readable parameters, and sets provisional parameters for it. Also makes behavior better match the stated intent.

You can varedit the parameters to see the real effects of changes, just be
sure to proc call update_constants().

Constants default to what amounts to 0 so it fails loud (I WANT TO HEAR SUFFERING -Lemon)

* SM: Fix pressure bonus system

Co-authored-by: esainane <esainane+github@gmail.com>
2021-10-28 13:03:10 -04:00
SkyratBot
19a8384360 [MIRROR] Makes the American sausage a sausage subtype & Advanced roasting stick fixes [MDB IGNORE] (#8949)
* Makes the American sausage a sausage subtype & Advanced roasting stick fixes (#62193)

Makes the American sausage a proper subtype of sausage, which makes it actually edible, apparently. It also makes it stick on the advanced roasting stick!
The advanced roasting stick will no longer try to grill itself over a bonfire with a griddle installed, allowing you to use the actual bonfire for your roasting needs.

There was actually a check that was supposed to limit the amount of times you could roast a sausage to a measly 1. It wasn't actually working. This PR removes that in favor of mad cooks creating these:

* Makes the American sausage a sausage subtype & Advanced roasting stick fixes

* fixes

Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
2021-10-23 00:23:39 +01:00
SkyratBot
08b4db1d91 [MIRROR] Power generation (collectors, coils, grounding rods) cleanup [MDB IGNORE] (#8871)
* Power generation (collectors, coils, grounding rods) cleanup (#62144)

* Energy collection: Mass rework

Radiation Collectors and Tesla Coils are now subtyles of a common
energy_accumulator type. This type combines common code such as smoothing
output over energy received, computing power output, and handling wire
connections.

Inline calculations using machine energy units are now performed by
common math functions in maths.dm. Rather than reference 0.1,
1 SECONDS is used to make it clear this is to calculate to and from
tickrate dependent units.

Constants which are written in terms of tickrate dependent units are now
written in terms of joules, and use these helpers to convert to and from
these units. With SSmachines.wait / (1 SECONDS) being 2, this usually
means doubling the values of constants which were previously defined in
terms of machine energy units.

* Energy collection: Map path update

> git ls-files | grep dmm | xargs sed -i 's1rad_collector1energy_accumulator/&1g'
> git ls-files | grep dmm | xargs sed -i 's1tesla_coil1energy_accumulator/&1g'
> git ls-files | grep dmm | xargs sed -i 's1grounding_rod1energy_accumulator/&1g'

* Power generation (collectors, coils, grounding rods) cleanup

* object path update (#8882)

* [MDB IGNORE] Missed some paths (#8886)

* object path update

* oops missed a couple paths

Co-authored-by: esainane <esainane+github@gmail.com>
Co-authored-by: ORCACommander <orcacommander1@gmail.com>
2021-10-17 23:17:02 +01:00
SkyratBot
227fa82fa9 [MIRROR] SM: Randomly damage/heal on dusting a Clown [MDB IGNORE] (#8894)
* SM: Randomly damage/heal on dusting a Clown (#62178)

When the SM dusts a true Clown (HoP assignment doesn't count), it randomly takes from -300 to 300 damage.

* SM: Randomly damage/heal on dusting a Clown

Co-authored-by: esainane <esainane+github@gmail.com>
2021-10-17 23:15:59 +01:00
SkyratBot
05378f6034 [MIRROR] SM Zap: Fix forked target selection [MDB IGNORE] (#8869)
* SM Zap: Fix forked target selection (#62143)

Supermatter forked lightning can now hit targets previously used by a sibling.

The default setup - and anything using two grounding rods - was still entirely safe, as "pass by ref begone" code did allow target reuse in ancestors. Any split could only exclude one grounding rod, and if one branch split again, neither branch's targets would be passed back to the target list of the first split.

The same issue was not present in `proc/tesla_zap`. Probably still shouldn't have two of these, though.

* SM Zap: Fix forked target selection

Co-authored-by: esainane <esainane+github@gmail.com>
2021-10-16 20:37:49 -04:00