Commit Graph

2538 Commits

Author SHA1 Message Date
Zonespace
f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00
SkyratBot
b5bd312379 [MIRROR] Add investigate_deaths [MDB IGNORE] (#17424)
* Add investigate_deaths

* merge changes other than giant_spider which deps on tg/70848

* gib

* dust

* death

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-11 14:44:33 -05:00
SkyratBot
8dc51ca245 [MIRROR] Save 0.28s of init time by removing an unnecessary timer in light/LateInitialize [MDB IGNORE] (#17399)
* Save 0.28s of init time by removing an unnecessary timer in light/LateInitialize (#71059)

Replaces a timer with just calling the proc directly. This saves 0.28s
of making timer events.

This timer exists as an artifact of being a `spawn (1)` since r4407.
Local testing suggests it is completely unnecessary (lights work, lights
break, new lights show)

* Save 0.28s of init time by removing an unnecessary timer in light/LateInitialize

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-11-06 16:41:53 -05:00
SkyratBot
728be9f1be [MIRROR] [WEBEDIT INCOMING] Fixes supermatter powerloss threshold check. [MDB IGNORE] (#17309)
* [WEBEDIT INCOMING] Fixes supermatter powerloss threshold check. (#70817)

Replaces the internal_energy is below powerloss_linear_threshold check with a momentary_power is below powerloss_linear_threshold check.

Fixes supermatter powerloss threshold check to check for the momentary power instead of internal energy.

The powerloss math is based on the momentary power, but the if check checked for the internal_energy instead, which made it continue using cubic power loss at inappropriate situations.

* [WEBEDIT INCOMING] Fixes supermatter powerloss threshold check.

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2022-11-02 17:41:19 +00:00
SkyratBot
5e5340f697 [MIRROR] flicker() no longer overrides lights being turned off [MDB IGNORE] (#17264)
* flicker() no longer overrides lights being turned off

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

Co-authored-by: Rhials <Datguy33456@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-10-31 14:58:14 +00:00
SkyratBot
24fa619587 [MIRROR] [NO GBP] Fix SM effectless gas runtime [MDB IGNORE] (#17203)
* [NO GBP] Fix SM effectless gas runtime (#70810)

Fix SM effectless gas runtime
SM bricks if you put something without any effects like halon.

* [NO GBP] Fix SM effectless gas runtime

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
2022-10-27 13:58:34 -04:00
SkyratBot
b13a3667f7 [MIRROR] Pipecleaner fixes [MDB IGNORE] (#17176)
* Pipecleaner fixes (#70768)

🆑 ShizCalev
fix: Pipecleaner coils are no longer invisible.
fix: Pipecleaners will now how have correct color when split.
/🆑

* Pipecleaner fixes

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-26 15:24:18 -04:00
SkyratBot
e91e13b36c [MIRROR] Fixes turbine console runtime [MDB IGNORE] (#17064)
* Fixes turbine console runtime (#70653)

* Fixes turbine console runtime

Co-authored-by: GoblinBackwards <22856555+GoblinBackwards@users.noreply.github.com>
2022-10-21 03:19:12 -04:00
SkyratBot
a6406e4007 [MIRROR] Fixes Unreadable APC Balloon Alerts for Ethereals [MDB IGNORE] (#16817)
* Fixes Unreadable APC Balloon Alerts for Ethereals (#70451)

* Fixes Unreadable APC Balloon Alerts as Ethereals

Hey there,

So basically, when an ethereal on combat mode would try and discharge an APC, they would get this, which is completely unreadable:

So, let's add a small sleep at the end of `togglelock()` for ethereals, and then proceed to continue on with the proc chain of whatever an ethereal might want to do with an APC.

* swaps the balloon alerts to add timers

less elegant, but it does do the job nicely

* Fixes Unreadable APC Balloon Alerts for Ethereals

Co-authored-by: san7890 <the@san7890.com>
2022-10-12 13:58:40 -04:00
SkyratBot
23b7daee59 [MIRROR] Simplifies SM damage calculation, tweaks the numbers. [MDB IGNORE] (#16733)
* Simplifies SM damage calculation, tweaks the numbers. (#70347)

About The Pull Request

We apply the damage hardcap individually now, split off the old flat 1.8 into individual caps for heat, moles, and power.

Set it to 1.5 for heat, 1 for mole and 1 for power. This means for most delams it'll be a tad slower! But its possible to make SM delam nearly twice as fast if you combine all 3. (3.5). Be pretty hard tho.

Set the heat healing to -1 so you can counteract one factor at most (except heat since you'll never get both heat healing and heat damage at the same time anyway).

I'm not hell bent on any of the numbers, just picked round even ones and ones that i think will make sense. If you want them changed lmk.

Got rid of the cascade mole and power multipliers since there's probably like three people that are aware that it even exists. Ideally we just add another entry to the CIMS but its already pretty crowded. Figured nobody is gonna miss it anyway? Sorry ghil.

Got rid of the moles multiplier thing since its nicer to keep the temp damage fully based on temp damage instead of adding another multiplier. I just applied the .25 to the damage flatly, meaning it slows down delams again!

And some space exposure stuff: #70347 (comment)
Why It's Good For The Game

Hardcap: Discrete, less randomly interconnected factors are easier to present and remember. The calculation procs are also made to be additive so we had to hack a bit and do some rescaling to accomodate the old behavior in my original PR #69240. Can remove the hack if this pr goes through.

Cascade and mole multiplier: The rest are just getting rid of underutilized factors so we have a cleaner behavior to maintain, present, and understand. (In a perfect world modifiers that aren't visible to the players shouldn't have been merged in the first place smh smh)
Changelog

🆑
fix: Fixed sm space exposure damage going through walls
del: got rid of the molar multiplier for sm heating damage. It will now only impact molar damage and temp limit. We apply the lowest value directly so this slows down sm delams a tiny bit.
del: got rid of cascades making sm delam at 450 moles and 1250 mev. It delams normally now.
balance: Applied the sm damage hardcap of 1.8 individually to heat (1.5), moles (1), power (1). Meaning most sm delams are slower now, but the really bad ones can be faster.
balance: Halved sm temp healing across the board. Temp limits are still the same though so you shouldn't notice it that much.
balance: Halved SM power damage across the board.
balance: Changed sm space exposure damage to just check for the current tile and adjacent atmos connected tiles.
/🆑

* Simplifies SM damage calculation, tweaks the numbers.

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
2022-10-09 23:07:30 +01:00
SkyratBot
2847b2b37e [MIRROR] [ready] adds unit test for missing inhand icons. fixes a bunch of missing inhand icons [MDB IGNORE] (#16649)
* [ready] adds unit test for missing inhand icons. fixes a bunch of missing inhand icons

* cf

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-09 22:36:07 +01:00
SkyratBot
f4f8670507 [MIRROR] Cameras and lights now take power from adjacent walls if placed in external areas without power [MDB IGNORE] (#16717)
* Cameras and lights now take power from adjacent walls if placed in external areas without power

* Update light.dm

* Update light.dm

Co-authored-by: MMMiracles <lolaccount1@hotmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-09 22:32:05 +01:00
SkyratBot
7144fe758c [MIRROR] Changed Supermatter Internal Math + UI Additions [MDB IGNORE] (#16603)
* Changed Supermatter Internal Math + UI Additions

* merge conflicts

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-03 07:21:09 +01:00
SkyratBot
9bf006d189 [MIRROR] Multiz Rework: Human Suffering Edition (Contains PLANE CUBE) [MDB IGNORE] (#16472)
* Multiz Rework: Human Suffering Edition (Contains PLANE CUBE)

* skyrat changes

* bodyparts merge

* unres door floorlight fix

* Future upstream fix for blindness

* upcoming upstream airlock fix

* fix button emissive

* Fix FOV markings?

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-02 23:30:09 -04:00
SkyratBot
1ce77983df [MIRROR] canUseTopic now uses TRUE/FALSE instead of defines that just say TRUE [MDB IGNORE] (#16586)
* canUseTopic now uses TRUE/FALSE instead of defines that just say TRUE

* etes

* eyes

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-02 15:54:46 +01:00
SkyratBot
b61a3f981d [MIRROR] Unit tests powernets to make sure the whole station is connected. [MDB IGNORE] (#16503)
* Unit tests powernets to make sure the whole station is connected. (#70090)

* Unit tests powernets to make sure the whole station is connected.

* fixes cable tests for blueshift and raptor

* single cable misplacement

* hard map reset

* hec

* tramstation armory stray cable

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-09-29 01:24:37 -04:00
SkyratBot
3d1013078d [MIRROR] "It has been 0 days since the last incident" sign [MDB IGNORE] (#16516)
* "It has been 0 days since the last incident" sign (#70099)

Adds a fun sign to various places in engineering which tracks how many days (read: rounds) it has been since last time the engine delaminated.

* "It has been 0 days since the last incident" sign

Co-authored-by: Jacquerel <hnevard@gmail.com>
2022-09-28 23:54:54 -04:00
SkyratBot
32db6d2411 [MIRROR] Properly checks flags with & instead of == [MDB IGNORE] (#16487)
* Properly checks flags with & instead of ==

* merge fixed for changeling

* skyrat equipment updated

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-09-28 16:38:59 -04:00
SkyratBot
bd265161a9 [MIRROR] Replaces obj flag being_shocked and flag_1 shocked_1 with TRAIT_BEING_SHOCKED [MDB IGNORE] (#16379)
* Replaces obj flag `being_shocked` and flag_1 `shocked_1` with `TRAIT_BEING_SHOCKED` (#69978)

* Replaces `being_shocked` and `shocked_1` with `TRAIT_BEING_SHOCKED`, removing a flag_1, taking us away from the possibility of hitting the flag limit.

* Replaces obj flag `being_shocked` and flag_1 `shocked_1` with `TRAIT_BEING_SHOCKED`

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-09-27 14:28:22 -04:00
SkyratBot
8f033ead91 [MIRROR] Completely refactors hallucinations, and also adds a few [MDB IGNORE] (#16348)
* Completely refactors hallucinations, and also adds a few

* delete 5 old hallucination types that should have been removed

* Fixed old leftover tips conflicts

* Fixes all the leftover conflicts and otherwise broken code

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-09-25 19:43:45 -04:00
SkyratBot
3f79eca26b [MIRROR] Rigged to Blow: Lightbulb Rigging/Reagent Handling Overhaul [MDB IGNORE] (#16330)
* Rigged to Blow: Lightbulb Rigging/Reagent Handling Overhaul (#69833)

About The Pull Request

First and foremost, guts out the previous, arguably cursed "rigged" functionality from light tubes. Light tubes now have a capacity of 20 reagents. Light tubes will now splash their contents upon shattering, instead of just releasing plasma gas into the air (if rigged). Lightbulbs with reagents inside of them will now transfer with them to the light fixture they're inserted into, which will slowly heat the contents to a maximum of 1000 degrees.

Heating the plasma reagent manually leads to it harmlessly boiling out of the container and dissipating, effectively ruining the original functionality. To account for plasma boiling over (when it should be bursting into flames) a SEALED_CONTAINER reagent container flag has been added. This is mostly just to prevent the plasma from leaving the container until it is ignition-ready. As a result, light tubes rigged the old way no longer harmlessly explode, and instead produce a small, (mostly) self-contained fire in the area surrounding the light.

Light tubes (and light fixtures with reagents in their lightbulb) now show their reagent contents upon examine. It's only fair to reward attentive people with a chance to avoid impending disaster, but on the other hand lightbulbs are transparent and you should just be able to look through them anyways.

As a bonus, all of this SHOULD be handled in a way that doesn't put any unnecessary strain on machine processing or anything. Rejoice.
Why It's Good For The Game

Lightbulbs being reagent holders was a huge missed opportunity, with their only use being for the disappointingly ineffective plasma-rigging functionality. This expands on the idea, and reworks the original functionality to be much more interactive. Bigger sandbox! Deeper sandbox!
Changelog

cl
add: Rigging light fixtures now works with more reagents than just plasma. Light fixtures will heat the reagents of their inserted lightbulb, up to a maximum of 1000 degrees. Lightbulb tubes now hold 20 reagents to make this more usable.
add: Lightbulbs will now splash their contents on whatever they're shattered by. Their contents are also now visible upon examination.

* Rigged to Blow: Lightbulb Rigging/Reagent Handling Overhaul

* fix modular

Co-authored-by: Rhials <Datguy33456@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-25 18:01:03 -04:00
SkyratBot
d27cd97f74 [MIRROR] [IDB IGNORE] [MDB IGNORE] Makes the icons/mob folder sane [MDB IGNORE] (#16030)
* [IDB IGNORE] [MDB IGNORE] Makes the icons/mob folder sane

* fix map merges

* icon paths and merge conflicts

Co-authored-by: skylord-a52 <skylord-a52@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-09-24 20:10:28 -04:00
Coldud
a55ba425c7 multitools are now gentle on light fixtures (#16212)
* multitools are now gentle on light fixtures

* review

* move it back

* oops why did i touch this

* multitool_act & tool_act
2022-09-18 07:28:52 -04:00
SkyratBot
3b47d995cd [MIRROR] Fixes a crystal mass harddel [MDB IGNORE] (#16223)
* Fixes a crystal mass harddel (#69803)

* Fixes crystal mass from hard delling
It didn't stop processing on destroy. Adds that so it um... does

* Fixes a crystal mass harddel

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
2022-09-14 10:38:58 -07:00
SkyratBot
049b19bb18 [MIRROR] Moves "catch this var/flag" code from obj/init and datum/new into the types that use it [MDB IGNORE] (#16091)
* Moves "catch this var/flag" code from obj/init and datum/new into the types that use it

* Update atoms_movable.dm

* Update airlock.dm

* SRCC

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-09-11 22:21:16 -07:00
SkyratBot
da5828d1fc [MIRROR] Silences gravgen admin alerts / logging when the round is not in progress [MDB IGNORE] (#16165)
* Silences gravgen admin alerts / logging when the round is not in progress (#69802)

Just silencing minor nuisance messages.

admin: Silenced grav generator admin warnings / logging messages when the round is not currently in progress.

* Silences gravgen admin alerts / logging when the round is not in progress

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-09-11 16:01:31 +01:00
SkyratBot
7994aca16e [MIRROR] [NO GBP] Fix an edgecase runtime when SM delams into cascade in under 2 minutes. [MDB IGNORE] (#16128)
* [NO GBP] Fix an edgecase runtime when SM delams into cascade in under 2 minutes. (#69757)

Feeex

* [NO GBP] Fix an edgecase runtime when SM delams into cascade in under 2 minutes.

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
2022-09-08 17:54:15 +01:00
SkyratBot
11df5ea999 [MIRROR] Supermatter cascade subsystems fire when it needs to [MDB IGNORE] (#16085)
* Supermatter cascade subsystems fire when it needs to (#69686)

Supermatter cascade by default is offline, and will fire when a supermatter cascade occurs.

* Supermatter cascade subsystems fire when it needs to

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-09-06 16:27:07 +01:00
SkyratBot
96761dae1a [MIRROR] [MDB IGNORE] APC controller and Power Monitor/AmpCheck fixes, aka How do I write PR titles [MDB IGNORE] (#15987)
* [MDB IGNORE] APC controller and Power Monitor/AmpCheck fixes, aka How do I write PR titles (#69146)

About The Pull Request

bgug fix stuff
APC controller UI has its elements section'ed off. The backend has been redone to make the behaviour of the APC controller a bit less janky. The console should be more stable, and all the soul has been removed from the code and the UI.

before this PR stales out from nobody wanting to review my pr, I should probably outline what exactly changed:

    APC controller consoles have had their APC code almost entirely reworked. They no longer have to hold a reference to the person using the controller currently, and APCs themselves no longer hold a reference to the controller, instead to the person directly. A lot of code was moved to APC themselves to make it a lot more stable.
    APC controller used to call toggle_breaker without passing args, causing a runtime. Fixed in

    Fixes the power flow control console not actually being able to toggle breakers #69343
    APC controller UI has had the Window.Content tags moved up to the top component, and a lot has been sectioned off to make the UI more sane.
    AmpCheck used to look for a wire on it's turf, or as a fallback look for the Area APC. A check to see if the APC has a terminal did so on a weakref, causing a runtime and preventing the program from ever finding a valid APC in it's area, making it show nothing. This has been fixed. On the other hand, the power monitor console did not store the ground wire or APC terminal as a weakref, this has been updated. As a fallback, if there are still no APCs in the powernet, the UI will show a dimmer popup.
    There was a "secret" power monitor variation in code so PDAs could not access monitors in hidden places. With the removal of PDAs, this control console is useless.

Why It's Good For The Game

Tiny bit of (much needed) polish on some useful tools in the engineering department.
Changelog

cl
fix: Fixed runtime when using AmpCheck without connecting the console with a wire.
fix: Fixed a few runtimes that could occur when using APC controller consoles.
qol: Sucked soul out of APC controller code and UI.
del: Removed "secret" power monitor console.
/cl

* [MDB IGNORE] APC controller and Power Monitor/AmpCheck fixes, aka How do I write PR titles

* update paths

Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-05 17:59:42 -04:00
SkyratBot
a4bfe65cb1 [MIRROR] Dimensional Anomaly [MDB IGNORE] (#15974)
* Dimensional Anomaly (#69512)

About The Pull Request

Everyone has been asking: "When will there be an anomaly like the bioscrambler, but for the space station? Please, we need more things which replace objects with different objects from the same typepath."
Well I made it and it looked like ass because non-tiling floor and walls look terrible, so then I made this instead.
Dimensional.mp4

The "dimensional anomaly" shifts matter into a parallel dimension where objects are made out of something else.
Like the Bioscrambler anomaly, it does not expire on its own and only leaves when someone signals it or uses an anomaly remover.
When it spawns it picks a "theme" and converts terrain around it until it covers a 7x7 square, then it teleports somewhere else and picks a new theme.

A lot of these themes are relatively benign like "meat", "fancy carpet", or "gold". Some of them are kind of annoying like "icebox" because it creates floor which slows you down, or "clown" because bananium is intentionally annoying. Some of them are actively dangerous, mostly "uranium" and "plasma".
The main problem this will usually cause for crewmembers is decreasing area security. When it replaces doors it replaces them with ones which don't have any access control, and it will also replace RWalls with normal and much more vulnerable walls which will make breaking and entering significantly easier until someone has taken the time to fix the damage. But also sometimes it will irradiate them, you never know.

The fact that sometimes the changes are benign (or provide uncommon materials) and might be happening in places you don't care about access to might encourage people to push their luck and leave it alone until it starts turning the captain's office into a bamboo room or repainting medbay a fetching shade of flammable purple, which I would consider a success.
Armour.mp4

If you successfully harvest the anomaly core you can place it into the reactive armour to get Reactive Barricade Armour, which shifts your dimension when you take damage and attempts to place some randomised (not terribly durable) objects between you and hopefully your attacker (it really just picks up to four random unoccupied tiles next to you). If you're EMPed then the changes it make to the environment will often be as unpleasant for you as they are for a pursuer, and significantly more likely to harm both of you rather than just provide obstacles.

Other changes:
I split anomalies out into their own dmi file, seems to be all the rage lately.
I moved the anomaly placing code into a datum instead of the event because I wanted to reuse it but if you have a better idea about where I could have put it let me know.
This also fixes a bug where the material spreader component wasn't working when I applied plasma materials to something, the extra whitespace was parsing as another argument for some reason and meant it would runtime.
Supermatter delamination was still pointing to Delimber anomalies instead of Bioscrambler.

* Dimensional Anomaly

* Fixes the upstream merge skew

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-09-05 17:59:34 -04:00
SkyratBot
37aa581e86 [MIRROR] Fixes cell explode null usr runtime [MDB IGNORE] (#16058)
* Fixes cell explode null usr runtime (#69612)

* Fixes cell explode null usr runtime

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-09-05 12:53:50 +01:00
SkyratBot
99b0d2ed57 [MIRROR] restores an old SM delam bug making you not get the mood debuff if you're inside a locker when it explodes [MDB IGNORE] (#16053)
* restores an old SM delam bug making you not get the mood debuff if you're inside a locker when it explodes (#69690)

* restores an old SM bug making you not get the mood debuff if you're inside a locker when it explodes

* lets hit those too.

* restores an old SM delam bug making you not get the mood debuff if you're inside a locker when it explodes

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-09-04 21:55:41 +01:00
SkyratBot
1e416342ea [MIRROR] [IDB IGNORE] Renames the inhand/misc folder to inhand/items [MDB IGNORE] (#15956)
* [IDB IGNORE] Renames the inhand/misc folder to inhand/items (#69573)

Also adds balloons to inhand/items

* [IDB IGNORE] Renames the inhand/misc folder to inhand/items

* update modular

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 15:29:47 +01:00
SkyratBot
99b94b2de0 [MIRROR] Fixes APC rigged cell null runtimes [MDB IGNORE] (#15991)
* Fixes APC rigged cell null runtimes (#69597)

* Fixes APC rigged cell runtimes

* adjust

* Fixes APC rigged cell null runtimes

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-09-04 14:22:54 +01:00
SkyratBot
c05d5838ef [MIRROR] Adds more multiz support [MDB IGNORE] (#15957)
* Adds more multiz support (#69420)

* Adds more multiz support by making use of ``is_valid_z_level`` instead of simply checking if z is the same.

* Adds more multiz support

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-09-04 03:48:50 +01:00
SkyratBot
f0ceecff46 [MIRROR] Refactors SM gas behavior to be datum based instead of list based + powerloss co2 buff [MDB IGNORE] (#16000)
* Refactors SM gas behavior to be datum based instead of list based + powerloss co2 buff (#69158)

About The Pull Request

Title!
The CO2 thing is there because it makes my job much easier. Can probably find a way to make it move slowly if a maint insist on it. Prefer not to though.

Drafting because I want to make a second PR that have more sweeping changes (clean vars up, make a simpler formula for damage and heat production, delete underused behaviors, etc). Would honestly prefer if both this and that gets merged at the same time but I'm separating it out since it might be rejected. Or maybe ill combine it here we'll see.
Ignore that, looks like i can keep this one absolutely atomic.
Why It's Good For The Game

Had a lot of trouble when trying to document the SM gas interactions into the wiki, the interactions are all scattered and tracking down everything a gas does is extremely annoying. Hopefully this fixes that.
Changelog

cl
balance: CO2 powerloss inhibition now works immediately based on gas composition instead of slowly ramping up.
refactor: refactored how the SM fetches it's gas info and data. No changes expected except for the co2 thing.
/cl

* Refactors SM gas behavior to be datum based instead of list based + powerloss co2 buff

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
2022-09-02 11:35:23 +01:00
SkyratBot
895096a37d [MIRROR] [MDB IGNORE] Fix High Capacity APC Inheritance [MDB IGNORE] (#15945)
* [MDB IGNORE] Fix High Capacity APC Inheritance (#69526)

Doing some mapping work downstream and I noticed there were both directional and non directional high caps. Code dived to figure out which was the valid one to use and found the directional high caps were not actually inheriting the upgraded power cells do to bad name structure. Corrected inheritance structure. Updated Kilo and Icebox to use directional high caps as standard and updated several ruin and gateway missions to standard directional high caps

* [MDB IGNORE] Fix High Capacity APC Inheritance

Co-authored-by: ORCACommander <orcacommander1@gmail.com>
2022-08-31 11:41:00 -07:00
SkyratBot
0cd02b07ad [MIRROR] Unit tests range suck [MDB IGNORE] (#15901)
* Unit tests range suck (#69352)

* Unit tests range suck

Ok so we currently rely on some undefined behavior in energy_ball code
Namely, the range() family will return turfs in least/greatest get_dist

This is VERY useful for optimizing the tesla, but it's also undefined,
and lummy could change it any day now.

So let's at least unit test it so if it breaks we can remove it

* Unit tests range suck

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-08-29 20:19:07 -04:00
SkyratBot
1b7f17f107 [MIRROR] [IDB IGNORE] The Great Sweep: Moving dmis into subfolders (part 1) [MDB IGNORE] (#15801)
* [IDB IGNORE] The Great Sweep: Moving dmis into subfolders (part 1)

* Fixes all the conflicts and all of our modular files using core icon files with broken paths

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-08-28 15:11:04 -04:00
SkyratBot
a8c10d1659 [MIRROR] Converts a shitload of istypes to their more concise macros [MDB IGNORE] (#15702)
Converts a shitload of istypes to their more concise macros

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-27 16:23:44 -04:00
SkyratBot
eb10127879 [MIRROR] Makes APCs set lights to low power mode when < 30% (when equipment power turns off) [MDB IGNORE] (#15847) 2022-08-26 14:42:28 -07:00
SkyratBot
03a1a627f0 [MIRROR] Fixes double define of multilayer cable examine [MDB IGNORE] (#15861) 2022-08-26 14:40:02 -07:00
SkyratBot
6a7619580e [MIRROR] Misc cell fixes [MDB IGNORE] (#15822)
* Misc cell fixes (#69373)

* Fixes APCs runtiming from their cell being destroyed.

* Misc cell fixes

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-08-25 14:47:28 +01:00
SkyratBot
6895becb56 [MIRROR] Reduces CO2 heat penalty to 2, from 6, and halves the zap power boost. [MDB IGNORE] (#15759)
* Reduces CO2 heat penalty to 2, from 6, and halves the zap power boost. (#69145)

Reduces CO2 heat penalty to 2, from 6, and removes the power transmission bonus. A heat penalty of 2 seems low, but the heat produced is also scales power, which CO2 increases, and is still 4 times higher than old CO2 (0.1, but gets clamped to the minimum value of 0.5).

Most engineers have a skill issue with CO2 before they can let its powerloss inhibitors to have a significant effect. Unless someone tries to intentionally sabotage with CO2, the skill issues will just make CO2 look like another high heat penalty gas, which is boring as it masks its gimmick of reducing powerloss. The high heat penalty made it produce more gas, which lowered CO2 composition, so it hard a harder time staying in the high power levels, and the high power levels were a unique danger for CO2 engines due to its more destructive zaps and anomalies.

I think the effect of having a skill issue when it reaches the dangerous power levels is a lot more interesting than having a skill issue at normal power levels, as high power delams are significantly more dangerous than low power delams.

Removing its power transmission (multiplier for power gained when teslas absorb the zaps, not the supermatter's power) will mean that CO2 will provide no benefit unless it is put at the composition to raise its power levels, which should bring CO2 usage back to its more interesting purpose of powerloss inhibition.

* Reduces CO2 heat penalty to 2, from 6, and halves the zap power boost.

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2022-08-24 18:26:34 -04:00
SkyratBot
ae708cd7b5 [MIRROR] Removes ComponentInitialize() [MDB IGNORE] (#15552)
* Removes ComponentInitialize()

* Fixes a leftover merge conflict marker

* Fixes the oversight that came from the upstream merge skew

* Fixes all of the instances where we used ComponentInitialize() when we shouldn't've been

* Fixes CI being broken because of the HEV suits

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-12 19:05:09 -04:00
SkyratBot
48685b4356 [MIRROR] Replaces the mood component with a mood datum [MDB IGNORE] (#15549)
* Replaces the mood component with a mood datum

* Fixes merge conflicts and updates all of our mood events to use the new mood datums

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-12 14:58:14 -04:00
SkyratBot
62bbc03c5d [MIRROR] [NO GBP] Fixed an edge case when SM delam messages failed to update. [MDB IGNORE] (#15539)
* [NO GBP] Fixed an edge case when SM delam messages failed to update. (#68968)

About The Pull Request

Forgot to update the last delam var.

* [NO GBP] Fixed an edge case when SM delam messages failed to update.

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
2022-08-11 08:32:16 -07:00
SkyratBot
9b98434719 [MIRROR] Simplifies the SM transmission calculation a bit. [MDB IGNORE] (#15543)
* Simplifies the SM transmission calculation a bit. (#68972)

Reframes the existing interactions into the transmission modifier framework. The code there is more robust than snowflaked separate checks like this.

BZ: #45676 Looks like it was intended to be a quite good gas for power buffing, but it has lost its intended purpose over the years. Current status quo is that it strengthens the modifier, either positive or negative. I've decided to use a pure BZ sm as a baseline, so its fully negative now.

Water: #49624 Intended to nerf the SM power, but it ended up as a transmission dampener (opposite of BZ) because of changes to the SM over the years. So it makes the weak a bit less weak and the strong a bit less strong. A pure water vapor has zero effect on power (since transmit modifier is zero) so i cant use it as a baseline. So i followed the author's original intention of it being a bad for power gas.

Freon: Nukes power when above 30%. Changed it to 33% because the transmit numbers are a bit nicer. It checks out try it in your head. (1 + (1/3 * -30 / 10) = 0. Difference is its affected by other gases now

CO2: Same with freon, barely any changes. Apparently doubles power when at 100% comp. Affected by other gases now.

Easier to maintain and explain, and we don't really lose out on much. I attempted to preserve the behavior as best as i can.

To be perfectly fair I have no quarrels with the number at all, don't really care which one is stronger than which. Just want to keep the old behavior. If you want any of them changed LMK.

* Simplifies the SM transmission calculation a bit.

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
2022-08-11 08:25:05 -04:00
SkyratBot
3f76c3f5b8 [MIRROR] [GBP No Update] Perish, individual logging runtime [MDB IGNORE] (#15525)
* [GBP No Update] Perish, individual logging runtime (#69024)

missed 2 or 3(lol it was more when I look back at the files), LOG_GAME tags on the log_message line, and did some cleaning up since i was looking through every log_message again

Co-authored-by: tattle <66640614+dragomagol@ users.noreply.github.com>

Co-authored-by: tattle <66640614+dragomagol@ users.noreply.github.com>

* [GBP No Update] Perish, individual logging runtime

Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
Co-authored-by: tattle <66640614+dragomagol@ users.noreply.github.com>
2022-08-11 08:12:08 -04:00
SkyratBot
0dbae52169 [MIRROR] Emitter status shows minimum and maximum firing delay [MDB IGNORE] (#15517)
* Emitter status shows minimum and maximum firing delay (#68921)

About The Pull Request

Emitter status display on examine will now display the minimum and maximum firing delay depending in place of an inaccurate static speed.

Why It's Good For The Game

Fixes #68820

As the emitter shoots at a random speed (inexplicably, it seems to create more issues than it solves), saying it'll fire "one beam every x seconds" is inaccurate as it's subject to change.

* Emitter status shows minimum and maximum firing delay

Co-authored-by: Charlotte <98856144+orthography@users.noreply.github.com>
2022-08-10 08:43:06 -07:00