Commit Graph

38612 Commits

Author SHA1 Message Date
SkyratBot
5397a78653 [MIRROR] Medipen Reagent Examine Text Remaster 2: The Electric Boogaloo [MDB IGNORE] (#16146)
* Medipen Reagent Examine Text Remaster 2: The Electric Boogaloo (#69723)

* new medipen examine, petty_string remaster

Adds a new, allergic reaction reducing description to the medipen, as well as a remastered petty_string for reagents which makes it much more modular.

* Medipen Reagent Examine Text Remaster 2: The Electric Boogaloo

Co-authored-by: 567Turtle <91508746+567Turtle@users.noreply.github.com>
2022-09-11 16:11:53 +01:00
SkyratBot
cfe169d1de [MIRROR] Changes reagentscanner circuit component to use Table [MDB IGNORE] (#16145)
* Changes reagentscanner circuit component to use Table (#69745)

Changes components\atom\reagentscanner to use table list from Assoc list.
Added purity output to components\atom\reagentscanner.
At time of making this its impossible to iterate through the output of reagentscanner via loops or numerical index and to determine the amount or the reagent scanned you needed to know its associated value which is less than idea.

Queried this issue on coderbus meeting 3 then asked Watermelon and he agreed that a change would be good.

Added a "purity" to the table outputs to make shells of this component "desirable" to chemistry who need to use Ph_meter to check exact purity. If this not allowed I’m willing to make an \atom\reagentscanner\adv variant that will comparable to Ph_meter.

I intend to give the same treatment to materialscanner.

* Changes reagentscanner circuit component to use Table

Co-authored-by: Dmeto <75919495+Dmeto@users.noreply.github.com>
2022-09-11 16:11:15 +01:00
SkyratBot
4e65ee0dfb [MIRROR] Ai interact uses is_valid_z_level helper [MDB IGNORE] (#16141)
* Ai interact uses is_valid_z_level helper (#69759)

* Makes AI can_interact_with use the valid z level helper

* Makes AI's ``can_interact_with`` proc use ``is_valid_z_level`` instead helper instead of manually doing it.

* Minor code improvement while im here 👍

* Ai interact uses is_valid_z_level helper

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-09-11 16:08:36 +01:00
SkyratBot
cf9a1c5156 [MIRROR] Adds the meown shoes to the contraband section of the AutoDrobe. [MDB IGNORE] (#16122)
* Adds the meown shoes to the contraband section of the AutoDrobe.

* Update code/modules/clothing/shoes/clown.dm

Co-authored-by: dopamiin0 <112458553+dopamiin0@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-11 16:07:20 +01:00
SkyratBot
3c9580900b [MIRROR] fixes an extraneous possessive s from the cult heal feedback spell [MDB IGNORE] (#16161)
* fixes an extraneous possessive s from the cult heal feedback spell (#69819)

spellcheck: Fixes a typo in the cult heal spell feedback message.

* fixes an extraneous possessive s from the cult heal feedback spell

Co-authored-by: Rhials <Datguy33456@gmail.com>
2022-09-11 16:04:46 +01:00
SkyratBot
9704261ac6 [MIRROR] Fixes a couple simple issues with interactability [MDB IGNORE] (#16167)
* Fixes a couple simple issues with interactability (#69762)

first things first, back when LemonInTheDark changed the interact_range code he did a slight modification that broke the AI cards, namely, he did this (not saying its a bad change, it is actually a good change, just mentioning what change caused the issue im fixing now):

now, his change does make sense, since he changed the range default to 0 instead of 1, however "null" is also used as a range, specifically for AIs, now this normally isnt an issue for the AI itself, as the AI generally gets a TRUE in its interaction checks before it gets down this deep (machines have a bypass specifically for AI), but there is one situation in which it does go this deep: AI Cards, when in an AI card the AIs interaction range is set to 0 and their interaction is disabled, thereby making it impossible for them to interact with anything, now when a player opens the card UI and enables the AIs ability to interact, this sets their range back to null, aka unlimited, the issue now however, is that since "null" is treated the same as "0", and AIs in cards dont hit the same bypasses an AI core does, Lemons change to submit a false return for 0, is also submitting false for null, meaning the AI card cannot interact with anything except the tile its on, despite having null/unlimited range....

fixed by changing the null value to infinity where it is used

additionally my fix of can_interact() code apparently had the unintended side effect of not allowing rotations of machines if theres no power, i missed this entirely because thats such a specific situation, since you try rotating with APC power in most cases, it also didnt affect most machines, that said the fix was simple, just changed the proc being called to only check distance, not power. fixes #61852

and last but not least, fixes some code with the syndie bombs interactability, namely removes a redudant section, and adds a check for range, turns out there were no checks for range so you could in theory open the UI and walk away and then activate it from another location, so added a quick check to ensure you actually CAN interact with it before letting you push buttons in the UI

* Fixes a couple simple issues with interactability

Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
2022-09-11 16:02:41 +01: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
4f4f4eb3de [MIRROR] Removes an unnecessary period from deadchat event announcements [MDB IGNORE] (#16163)
* Removes an unnecessary period from deadchat event announcements (#69800)

About The Pull Request

Removes the period after the name of an event in the deadchat announcement (eg "Bad Thing. has just been randomly triggered!")
Why It's Good For The Game

It looks ugly and needs to be cleaned up

* Removes an unnecessary period from deadchat event announcements

Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
2022-09-11 16:01:13 +01:00
SkyratBot
2a220e21dd [MIRROR] Fixes pirate ships being able to fly around [MDB IGNORE] (#16166)
* Fixes pirate ships being able to fly around

* when you find some bullshit, you look, and its got the ///skyrat edit

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2022-09-11 00:00:28 -04:00
SkyratBot
7559990f20 [MIRROR] [MDB IGNORE] Shuttle engine code improvement and fixes [MDB IGNORE] (#16116)
* [MDB IGNORE] Shuttle engine code improvement and fixes

* what even happened in shuttlepanel.dm

* should be the last few

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2022-09-10 18:28:57 -04:00
OrionTheFox
a42ec1d57f Shorts/Pants/Skirts/Dresses Spritefile Cleanup (#15257)
* ADDITIONS

* Additions with icons now

* obsolete removal and replacement

* moves next step items, leaves myself notes on the last few cleanup stuff

* dress additions

* pants fixing

* skirtfixes

* yet more fixe

* Add flag reminder

* easier to locate comments

* rename files and add new digi greyscales

* jsonery

* gags shortdress

* god ddanit sitsfuc

* colore

* strapless fixe

* conflict fix and adding new stufs

* Better Cableknit

* pentatata

* these go into the pants PR

* add ADDITION to comments

* consistent spacing in comments

* lame useless comments goodbye! goodbye!

* Greyscale file as Defines

* i love snake_case :) (This isnt ironic I do I just forgot it earlier)

* oops ctrl-f doesnt change filenames

* damn you blueshift damn you!!

* fix that pesky runtime

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-09-09 12:21:46 -04:00
SkyratBot
d02cd9ca38 [MIRROR] Water vapour electrolysis and hypernoblium electrolysis now respects heat capacity changes. [MDB IGNORE] (#16114)
* Water vapour electrolysis and hypernoblium electrolysis now respects heat capacity changes. (#69396)

Electrolyzer heat capacity respect.

The electrolyzer did not respect heat capacity changes for the h2o_conversion reaction and the nob_conversion reaction, destroying energy.

This changes that by storing the old heat capacity at the start of the reactions, then getting the new heat capacity at the end of the reaction, then adjusting temperature based on the heat capacity changes.

* Water vapour electrolysis and hypernoblium electrolysis now respects heat capacity changes.

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2022-09-09 12:16:12 +01:00
SkyratBot
2348ca60d4 [MIRROR] Fixes ethereal undersuit being adjustable, causing an error [MDB IGNORE] (#16136)
* Fixes ethereal undersuit being adjustable, causing an error (#69767)

fixed ethereal undersuit being adjustable

* Fixes ethereal undersuit being adjustable, causing an error

Co-authored-by: Mickyan <38563876+Mickyan@users.noreply.github.com>
2022-09-09 12:08:43 +01:00
SkyratBot
105bf2d87d [MIRROR] Adds a new revenant spell, Haunt Object, which imbues nearby objects with ghostly energy [MDB IGNORE] (#16012)
* Adds a new revenant spell, Haunt Object, which imbues nearby objects with ghostly energy

* Fixes the merge conflict

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-09-08 17:46:25 +00:00
Tom
160f4f34f7 Removes revenants damaging windows (#16133)
removes revenants damaging windows
2022-09-08 17:24:13 +00:00
SkyratBot
33f9b1befd [MIRROR] Automatic R&D sync [MDB IGNORE] (#16113)
* Automatic R&D sync (#69735)

* Automatic R&D sync

* One second instead of a half-second

* Moth changes + more

- Actually use SIGNAL_HANDLER
- Use update_static_data_for_all_viewers instead of only updating static data for the current user

* Batch techweb updates

* Automatic R&D sync

Co-authored-by: scriptis <scriptif@gmail.com>
2022-09-08 17:56:00 +01:00
SkyratBot
baa4d6c0d9 [MIRROR] Fixes cultist check_size div0 [MDB IGNORE] (#16111)
* Fixes cultist check_size div0 (#69724)

fixes cultists div0

* Fixes cultist check_size div0

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-09-08 17:55:43 +01:00
SkyratBot
669260b9ee [MIRROR] Small grammer fix to monkey trip toggleing [MDB IGNORE] (#16112)
* Small grammer fix to monkey trip toggleing (#69712)

* Replaces 'not' with 'now' in monkey trip toggling.

* Small grammer fix to monkey trip toggleing

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
2022-09-08 17:55:26 +01:00
SkyratBot
248b2d49ce [MIRROR] Cleans up populate world code [MDB IGNORE] (#16129)
* Cleans up populate world code (#69752)

* cleans up populate world

* fix debug text

* cleanup

Co-authored-by: tattle <article.disaster@ gmail.com>

* Cleans up populate world code

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
2022-09-08 17:54:56 +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
fa9a9c61f5 [MIRROR] Xenomorph powers require hands and mobility up to use [MDB IGNORE] (#16117)
* Xenomorph powers require hands and mobility up to use (#69538)

* Xenomorph powers require hands and mobility up to use

Xenomorphs usually don't have hands blocked/are immobile, so this mostly just affects Humans, who can use neurotoxin spit while stunned.

* Neurotoxin checks for muzzle instead of hands blocked

Reverses hands check for Xeno powers, instead Neurotoxin specifically will check for muzzled.

* Xenomorph powers require hands and mobility up to use

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-09-08 17:53:42 +01:00
SkyratBot
0baa74dc8d [MIRROR] Adds two modes for BuildMode [MDB IGNORE] (#16123)
* Adds two modes for BuildMode (#69428)

Adds two modes for BuildMode, with personal icons

Tweak Components Rating - for easier upgrade of machinery.
ProcCall - for fast ProcCall on objects.

* Adds two modes for BuildMode

Co-authored-by: Yaroslav Nurkov <78199449+AnywayFarus@users.noreply.github.com>
2022-09-08 09:25:15 -04:00
Yaroslav Nurkov
5c141f9cf4 Admin action to send play in cryo (#16022)
* barebuh

* oh.. my parents..

* oki doki.

* src remove and some text mistakes

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

* remake with paper. add JMP to log.

* thats done

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-09-08 08:46:45 -04:00
Yaroslav Nurkov
b4719d7147 Adminping fix w/ server config option (#15904)
* the mop can only absorb liquid within 1 tile

* return back tickets ping with config

* Revert "the mop can only absorb liquid within 1 tile"

This reverts commit 2cdd22363349835c6eab10a7f45403e41be27a59.

* mhm

* add init

* some changes

* some mistakes

some mistakes

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

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-09-08 08:45:55 -04:00
SkyratBot
2bd18adc8a [MIRROR] Cadaver spawner fixes [MDB IGNORE] (#16109)
* Cadaver spawner fixes (#69544)

fix: Fixed a runtime preventing nonhuman cadavers from spawning properly.
config: Cadaver spawners will no longer yell at you when morgue_cadaver_other_species_probability is blank.
config: morgue_cadaver_disable_nonhumans will now properly disable nonhuman races! (It was reversed, woops.)

* Cadaver spawner fixes

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-09-08 08:27:12 -04:00
SkyratBot
9847332609 [MIRROR] Police hats are now hats instead of helmets. [MDB IGNORE] (#16102)
* Police hats are now hats instead of helmets. (#69643)

* Fixes police hats covering your hair.

Makes police hats a subtype of Warden's hats, so they still are security-level armor, without covering your hair like helmets do.
This was gone unnoticed because the item is very limited in-game.

I also renamed the gravity generator updatepaths because it's been inconsistent with the rest of the updatepaths for a while now.

* renames updatepaths

* Update tools/UpdatePaths/Scripts/69643_police_hat.txt

Co-authored-by: san7890 <the@ san7890.com>

* moves the hat to warden's, removes icon state

Turns out the icon state is shared between both hats, so the only real difference is name and description...

Co-authored-by: san7890 <the@ san7890.com>

* Police hats are now hats instead of helmets.

* Update head.dm

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-07 00:12:12 +00:00
SkyratBot
8f16616575 [MIRROR] Gives the ORM a visual indicator showing which side is the input and which is the output [MDB IGNORE] (#16104)
* Gives the ORM a visual indicator showing which side is the input and which is the output (#69551)

About The Pull Request

Gives the ORM a light on either side showing which is the input and which is the output, blue for input, red for output.
ORM
121212
233123123
Why It's Good For The Game

Useful for if anyone decides to move the ORM.
Changelog

cl Wallem
qol: The ORM now has color-coded lights showing which side is the input and output. Blue for input, red for output.
/cl

* Gives the ORM a visual indicator showing which side is the input and which is the output

Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
2022-09-07 01:00:28 +01:00
SkyratBot
1a04ce7fc3 [MIRROR] CTF qol update for admins, map selection and admins can't render CTF unplayable by accident anymore. [MDB IGNORE] (#16103)
* CTF qol update for admins, map selection and admins can't render CTF unplayable by accident anymore. (#69710)

About The Pull Request

When CTF map unloading was originally created in had an unforeseen consequence of not entirely removing parts of the ongoing CTF round, namely the flags, as a result of this, this system that was originally made as a precursor to map rotation was not really usable. Since this was added various PRs have made this more and less buggy but the recent CTF voting PR has caused unloading CTF rounds to be a one way process without far more involved admin intervention to reverse. As such, I've made the disable CTF buttons admins have access to only disable CTF and not unload the map entirely. I've left the function to unload the map in incase a situation arises where an admin or maintainer really needs to get rid of the CTF map.

Removing this functionality also removes a really clunky but theoretical function of it, being that you could repeatedly unload and reload the CTF map to get one of your choice, since this is not an option anymore this PR also allows admins to pick a CTF map when they start CTF themself.

EDIT: I fixed the bug introduced by the CTF voting PR, CTF maps can now be reloaded after being unloaded, the flag issue is still around so it shouldn't be used without admin supervision however. Also unloading is a debug verb now.
Why It's Good For The Game

Map unloading was super buggy so it shouldn't be easily accessible.
Since admins cannot repeatedly unload and reload CTF maps anymore to get the one they want they can now just pick the one they want from a list which is significantly less dumb.
Changelog

cl
admin: When admins start CTF they can now choose which map is played or choose random as its always been
admin: Admins can no-longer permanently break CTF by unloading the map accidentally
spellcheck: Fixed a typo in the Map Description for CTF Cruiser
fix: CTF can now be reloaded after being unloaded
/cl

* CTF qol update for admins, map selection and admins can't render CTF unplayable by accident anymore.

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2022-09-07 01:00:06 +01:00
SkyratBot
d7a5d1d940 [MIRROR] Fixes chocolate and scotch eggs showing error sprites [MDB IGNORE] (#15882)
* Fixes chocolate and scotch eggs showing error sprites (#69463)

Fixes chocolate and scotch eggs showing errors

Co-authored-by: tattle <article.disaster@ gmail.com>

* Fixes chocolate and scotch eggs showing error sprites

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-09-06 16:46:22 -04:00
SkyratBot
1c9d04d357 [MIRROR] fix xenbio bag [MDB IGNORE] (#16099)
* fix xenbio bag (#69518)

A little earlier, it was gone to use bags of xenobiology on reproductive extracts, but now, after this change, the possibility is completely returned.

* fix xenbio bag

Co-authored-by: Yaroslav Nurkov <78199449+AnywayFarus@users.noreply.github.com>
2022-09-06 18:53:54 +01:00
SkyratBot
93a66511c2 [MIRROR] alphabetizes megaseed list [MDB IGNORE] (#16098)
* alphabetizes megaseed list (#69722)

* alphabetizes megaseed list

Co-authored-by: Jackal-boop <61211748+Jackal-boop@users.noreply.github.com>
2022-09-06 18:46:17 +01:00
SkyratBot
37d0eced14 [MIRROR] Fixes xenomorphs being able to hold any item [MDB IGNORE] (#16084)
* Fixes xenomorphs being able to hold any item (#69626)

* Fixes xenomorphs being able to hold any item

Advanced trait user was moved into the brain, which meant Xenomorphs (who have brains) were now advancedtoolusers, and as such were able to manipulate non-xeno stuff.

* Removes xenomorph literacy

Co-authored-by: Tim <timothymtorres@ gmail.com>

* Removes xeno's strip from their initialize

Co-authored-by: Tim <timothymtorres@ gmail.com>

* Fixes xenomorphs being able to hold any item

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Tim <timothymtorres@ gmail.com>
2022-09-06 16:27:43 +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
46959e3702 [MIRROR] Adds an examine hint to explorer gas masks [MDB IGNORE] (#16089)
* Adds an examine hint to explorer gas masks (#69646)

* Gives examine text to unfolded gas masks that folded ones fit in bags.

* Adds an examine hint to explorer gas masks

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-09-06 16:26:00 +01:00
SkyratBot
1d3f08f55b [MIRROR] Removes 3 exclusive species from magic mirrors [MDB IGNORE] (#16093)
* Removes 3 exclusive species from magic mirrors (#69613)

* adios exclusives

* don't think i forgot you

* you get to stay

* Removes 3 exclusive species from magic mirrors

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2022-09-06 16:25:08 +01:00
SkyratBot
9cc7e72158 [MIRROR] Atmos init speedup, saves 4 seconds [MDB IGNORE] (#16090)
* Atmos init speedup, saves 4 seconds (#69697)

* Micro optimizes ssair's turf init, saving 2 seconds

Most of this is making existing operations do more legwork, or cheaper.
I did add cycle checking to ONLY init turf linking, which required
creating a new proc.
Did some horrible horrible things in said proc to save like 0.8 seconds.
I think it was worth it.

* Atmos init speedup, saves 4 seconds

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-09-06 16:24:54 +01:00
SkyratBot
bbadd8e831 [MIRROR] Cucumber Fever [MDB IGNORE] (#16034)
Cucumber Fever

Co-authored-by: Yaroslav Nurkov <78199449+AnywayFarus@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-09-05 18:09:54 -04:00
SkyratBot
313cbe36da [MIRROR] Wings and tails give anyone better tackling values. Moths and lizards that lose theirs will have worse values instead. [MDB IGNORE] (#16002)
Wings and tails give anyone better tackling values. Moths and lizards that lose theirs will have worse values instead.

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-09-05 18:00:35 -04:00
SkyratBot
77ef7d184f [MIRROR] Refactors/Improves trader NPC with more functionality [MDB IGNORE] (#15996)
* Refactors/Improves trader NPC with more functionality (#68947)

About The Pull Request

image

This is the result of trader NPCs needing to be improved to meet specifications for a TG codebase downstream; the code is going back upstream to see if the maintainers here would like to have it, someone could use the improved functionality to actually implement the trader somewhere in the codebase rather than having it lay in cold storage.

The PR contains

    Some additional documentation for various variables/procs
    Implemented a "quantity" variable for selling/buying items in a limited quantity until a restock is triggered
    Phrases are moved into list() to allow for more variety by using pick() if needed
    Some functionality is moved out of big procs (hardcoded currency generation, isstack() checks) to allow coders to more easily override the calculation process without overriding big parts of necessary code like radial generation/interaction
    More UI for the end user to more easily understand what the trader is selling/buying; mainly a dedicated "tell me what you're selling/buying" with colored text and icon overlays indicating out of stock

Why It's Good For The Game

Makes traders overall more useful to program without needing to override massive procs, more functionality is implemented and is more friendly to the end user without needing code diving skills to interact with traders
Changelog

cl ma44
code: Trader NPCs have been given some needed frontend and backend changes
/cl

* Refactors/Improves trader NPC with more functionality

Co-authored-by: ma44 <guyonleagueoflegends@gmail.com>
2022-09-05 17:59:56 -04:00
SkyratBot
338f7fd0db [MIRROR] Removes some bad code from the bananium meteor [MDB IGNORE] (#15995)
Removes some bad code from the bananium meteor

Co-authored-by: Rhials <Datguy33456@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-09-05 17:59:49 -04: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
GoldenAlpharex
c6ea6d8b01 Fixes being able to retract an active MODsuit's parts and still be able to use its modules (#15950)
* Fixes MODsuits not turning off their modules upon seeing one of their parts being retracted.

* Makes it so all parts need to be deployed to use a module that can't be used while the MODsuit is inactive
2022-09-05 14:18:04 -04:00
Microvolnovka19
404a00c5c8 No more Oversized Piggyback riding (#15708)
* HEAVY update. Get it?

* Grammar error.

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* Defines

* Update human.dm

* Wrong file

* Right file.

* Add new variable

* Moving modular comments

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

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-05 13:11:07 -04:00
SkyratBot
c95e382602 [MIRROR] Faxing of unusual objects [MDB IGNORE] (#16059)
* Faxing of unusual objects (#69651)

* Fax machines have a wire panel.
Fax machines can be hacked to allow unusual input, throw their contents on receipt, and be invisible to the network.
Fax machines will accept some additional paper-like items by default.
Fax icons moved to their own file.

* Unpunctuates screentips.
You can send cash now also.

* Removes unnecessary "var".
Adds salami to food list.

* Faxing of unusual objects

Co-authored-by: Jacquerel <hnevard@gmail.com>
2022-09-05 12:58:44 +01: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
9c546aeeca [MIRROR] Removes-blind_eyes [MDB IGNORE] (#16061)
* Removes-blind_eyes (#69652)

* Removes blind_eyes, replaces it with adjust_blindness.

* Removes-blind_eyes

Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>
2022-09-05 12:52:52 +01:00
SkyratBot
1158336d54 [MIRROR] Fixes ghost role / admin events announcing after they failed to spawn the antagonist. Admin spawned blobs will no longer announce immediately. [MDB IGNORE] (#16065)
* Fixes ghost role / admin events announcing after they failed to spawn the antagonist. Admin spawned blobs will no longer announce immediately. (#69671)

* Fixes ghost role / admin events announcing after they failed to spawn the antagonist.

* Actually, this isn't even needed

* Fixes ghost role / admin events announcing after they failed to spawn the antagonist. Admin spawned blobs will no longer announce immediately.

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-09-05 12:52:00 +01:00
SkyratBot
2f9bd477ef [MIRROR] Ensures that the shrink ray now has an alien abductor pin, like the alien blaster does [MDB IGNORE] (#16067)
* Ensures that the shrink ray now has an alien abductor pin, like the alien blaster does (#69701)

easy fix

* Ensures that the shrink ray now has an alien abductor pin, like the alien blaster does

Co-authored-by: Rhials <Datguy33456@gmail.com>
2022-09-05 12:51:12 +01:00
SkyratBot
5d3abf6aad [MIRROR] Fix surprise egg sprite [MDB IGNORE] (#16056)
* Fix surprise egg sprite (#69656)

fix surprise egg's sprite missing because the DMI file wasn't updated.

* Fix surprise egg sprite

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2022-09-04 21:57:10 +01:00