* 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>
* You can now pull tails, it makes the person happy! (#62763)
About The Pull Request
You can now pull on tails and it makes the person happy! It was supposed to just be felinid but it changed when mothblocks requested I check for tails!
Why It's Good For The Game
Cute interaction with our cat friends. And Lizards. And anything with a tail.
Changelog
cl
add: You can now pull on a felinid's tail to make them happy!
/cl
* You can now pull tails, it makes the person happy!
* no
Co-authored-by: Cimika/Lessie/KathyRyals <65850818+KathyRyals@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Ref tracker TLC, makes unit test harddel errors more descriptive (#62725)
* Ref tracker TLC, makes unit test harddel errors more descriptive
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Felinids don't like getting sprayed with water. (#59506)
This PR is an ode to @ Ryll-Ryll, who inspired me to try and find fun, silly things to PR to try and make people smile.
About The Pull Request
Felinids now get a SMALL and SHORT mood debuff when getting sprayed with water. The intent of this PR is not to provide content to grief felinid (flashback to the "Felinids hate water" pr), but rather to provide a funny interaction.
Bonus point (Suggested by Ninja) : Getting sprayed with water interrupts do_after. Felinid climbing on your table ? Pssshttt. Straight in the face.
PR with permission from @ ninjanomnom
Why It's Good For The Game
Light-hearted fun and a bit of flavour to felinids.
Changelog
cl
add: Felinids don't like getting sprayed with water.
code: Adds a new status effect, incapacitated, which causes your do_afters to stop.
/cl
* Felinids don't like getting sprayed with water.
* Yes
Co-authored-by: Cimika/Lessie/KathyRyals <65850818+KathyRyals@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Fixes#62719, exploit that let players order crates marked as special. (#62723)
* Update orderconsole.dm
* Update orderconsole.dm
* Update budgetordering.dm
* Fixes#62719, exploit that let players order crates marked as special.
Co-authored-by: CocaColaTastesGood <47264839+CocaColaTastesGood@users.noreply.github.com>
* The weapon description for energy guns now takes in consideration the pellets number of the selected mode. (#62705)
* The weapon description for energy guns now takes in consideration the number of pellets the selected mode has.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* makes the color matrix editor log all color edits (#62717)
* Makes the color matrix editor log all color edits
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
* [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>
* Overhauls job eligibility checking and improves job debug logging.
* Fixing conflicts
* Makes Veteran the first check since it's the most likely.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Gonna start by enabling it, but we're not done
* Now it works
* Even better
* Makes it better for one level (which is what you will see 99% of the time)
* Reagents scanner circuit component (#62704)
It allows people to make circuits objects that interface with reagents.
* Reagents scanner circuit component
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* The word filter will now be less scared of double or trailing spaces (#62703)
It kept on tripping because the RegEx expression was malformed due to an absence of words in to_join_on_whitespace_splits, which caused it to filter out spaces that were at the beginning or at the end of a message, or if there was two spaces one by the other.
Also prevents people from sending a message that's only spaces in OOC, because that's a little silly.
* The word filter will now be less scared of double or trailing spaces
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Cyborg non direct "combat" rebalance. Airlock seal buffed, borg RCD nerfed. (#62621)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Cyborg non direct "combat" rebalance. Airlock seal buffed, borg RCD nerfed.
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* 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>
* Chimps no longer get grumpy when you hug them or throw things with no throw force at them. (#62685)
* Chimps no longer get pissed when you hug them.
* Pun Pun no longer hates hat throwing.
* Chimps no longer get grumpy when you hug them or throw things with no throw force at them.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes n2 alert not clearing correctly, if lungs have a safe_nitro_min, air is cut off, and then they get air again. (#62684)
* Fixes "Choking (No N2)" not being cleared correctly
Co-authored-by: Tastyfish <crazychris32@gmail.com>
* Adds a hard limt to hfr fuel datums, moves antinob down to match it (#62418)
* Adds a hard limt to hfr fuel datums, moves antinob down to match it
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Cyborgs can now shake up compromised carbons (#62468)
The Hug Module from Medical and Peacekeeper Cyborgs now removes negative stats (the same as a human) from carbons when used on Mode 1. Put in a simple way, this allows the three referred Cyborg types to wake up and remove stuns from carbons with the use of their Hug Module.
* Cyborgs can now shake up compromised carbons
Co-authored-by: Justice <42555530+Justice12354@users.noreply.github.com>
* Locker Shoving Re-Reloaded (#62618)
* Locker Shoving Re-Reloaded
The signals here were weird, converted them to connect loc. I did my best to make sure behavior matched what
existed pre arcane pr
Unshat shove code considerably, believe it or not it used to be worse.
* Locker Shoving Re-Reloaded
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* yeet
* goddamn fucking trailing newline
* edit: I reread the bounty
* leftover from: I reread the bounty
* *more* leftover from: I reread the bounty
* speedup
* here too
* empty commit for linter reruns
* there
* remembered the newline this time
* okay I forgot that
* Adds logging for all Silicon rather than just Laws (#62500)
I find stuffing everything in game.log is a real problem when you need to actually find useful information about what happened to a specific Silicon. It's hard to tell what happened to Silicon throughout a round, even when crossreferencing attack/game logs, so having a Silicon log for all the information related to them would be really useful.
For example, a Cyborg can spawn unlinked on Robocop, go Janitor and crowbar someone to death with a Robodoctor AI. When looking through logs, an Admin can easily assume it was a rogue Engineering cyborg who disobeyed their laws to kill someone.
This also isn't adding a whole new log file, more than it is just renaming the law log file to silicon and adding more useful things into it, so it isn't logging bloat (if that's even a concern)
* Adds logging for all Silicon rather than just Laws
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Adminwho and the status panel now shows when fellow admins are readied up in pre-game lobby (#62670)
* Adminwho and the status panel now shows when fellow admins are readied up in pre-game lobby
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Basic drone fuel can now be purchased from cargo. (#62578)
* Basic drone fuel can now be purchased from cargo.
* Minor typo.
* Basic drone fuel can now be purchased from cargo.
* Bye bye modular drone fuel crate
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Ants can't traumatize ghosts, ants show up on top of pipes + Ant QOL (#62496)
* Protects ghosts, bypasses vents & pipes
* hard crit oops
* stops screaming unconcious people
* fixes a copy-paste error
* fixes planes
* *unconcious* people won't get messages.
* I am begging for this to be right
* I hate that it took me 30 seconds to realize
* Ants can't traumatize ghosts, ants show up on top of pipes + Ant QOL
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
* Fix Atmos/Mining hardsuits (#62663)
* Removes the rad shielding from the Atmos hardsuit and fixes the allowed list on the Mining one.
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
* Made admin circuits more abstract, they no longer end up in the contents of the shell. (#62630)
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
* Made admin circuits more abstract, they no longer end up in the contents of the shell.
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
* Fixes numeric prefs not working with TGUI dropdowns that might return a string instead of a number (#62653)
* Fixes numeric prefs not working with TGUI dropdowns that might return a string instead of a number
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Fixes the issues with the ban video by moving the link to ban appeals to after the video. (#62675)
About The Pull Request
See title.
Fixes#62672
Why It's Good For The Game
Allows us to keep the excellent ban video while nullifying the issue raised in #62672
Changelog
cl
admin: The banning video is now shown before the ban appeals link, instead of after, to improve visibility of the ban appeals link.
/cl
* Fixes the issues with the ban video by moving the link to ban appeals to after the video.
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
* initial fix (IT DONT WORK AND PROBABLY BREAKS EVERYTHING)
* shit's fucking broken. see dev-discuss
* bleh
* reverts the last commit (i think im new to this)
* haha whoops
* initial
* FIXED IT OH GOD
* hopefully removes all references to alt titles
* fuck
* it would be funny if i stopped fucking it up
* migration, initial
* STREAMLINED EVERYTHING AAAAAAAAA
* organizes da text boxes
* adds a few things i changed in the last rendition
* edit formating,,,,
* i did a oopsie
* Update code/datums/datacore.dm
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* fhuujawduj
* hahaha... yes! YES!
* FIXES. EVERYTHING
* fomratting
* Update modular_skyrat/modules/records_on_examine/code/modules/mob/verbs/view_exploitables.dm
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* refactors how it works and tidies up code
* rogue comment
* fixed a potential bug
* modularize
* readme
* i did a FUCKY WUCKY.
* merges the suggestion (but with another tiny change)
* makes it just a little more obvious
* return
* erronous comment
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Blacklists some reagents that are about unobtainable short of RNG seeds and antagonists from randomized recipes. (#62611)
* Blacklists some reagents that are about unobtainable short of RNG seeds and antagonists but are still synthetizable from randomized recipes.
* Update toxin_reagents.dm
* Blacklists some reagents that are about unobtainable short of RNG seeds and antagonists from randomized recipes.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Ports BeeStation Cloak sprites by Naevii! (#62603)
imageadd: Ports BeeStation cloak
* Ports BeeStation Cloak sprites by Naevii!
* Makes the cloaks use the /tg/ ones since it's the same icons
Co-authored-by: Imaginos16 <77556824+Imaginos16@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>