* Digitigrade Paralysis BugFix (#59697)
* Fixing Digitigrade Legs, Adding Sanity Checks
- A limb's attach_limb proc now uses the set_owner() proc instead of setting the owner manually, fixing problems where limbs that were meant to be paralyzed were not
- Added a sanity check to set_usable_legs to ensure the value isn't set lower than 0
* Adds A Stack Trace to Set_Usable_Legs
- set_usable_legs now calls stack_trace() whenever it is provided with a negative value
* Digitigrade Paralysis BugFix
Co-authored-by: Beatrice <83368538+SpaceDragon00@users.noreply.github.com>
* Fixes custom emotes not working with slimes (#59680)
Allows slimes to use hotkey emotes and custom emotes by removing /mob/living/simple_animal/slime from mob_type_blacklist_typecache in code/modules/mob/living/emote.dm, added by #22405
* Fixes custom emotes not working with slimes
Co-authored-by: Bytube <40742162+Bytube@users.noreply.github.com>
* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
* Ads
* dddd
* a
* a
* a
* Update uniform_digi.dmi
* Update uniform_digi.dmi
* Update uniform_digi.dmi
* Some random new potted plants!
* a
* Update flora.dm
* a
* fixes
* a
* a
* e
* Converts the new span_ procs to macros, fixing a few oversights/errors along the way (#59685)
This is a partial re-implementation of #59645
oranges has expressed a desire for the span_ procs to instead be macros.
I agree. Even though it's a small micro-optimisation, a well contained macro can be self-linting. I've already caught one edge case thanks to this in launch_pad.dm
Similarly, there was an edge case where a [ was escaped inappropriately (that errored out) in watercloset.dm and a case where a ] that should probably have been escaped actually wasn't in robot_defense.dm
I have opted to make an exception to the ALLCAPS convention for these macros.
I have guaraded these macros in parenthesis. In doing so, additional error states can be captured as part of the build process as malformed inputs will then cause errors and prompt further investigation.
* Converts the new span_ procs to macros, fixing a few oversights/errors along the way
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Defibrillator Fixes + Code Cleanup (#59615)
Cleans up some of the defib code by reducing repeated code blocks, renaming certain procs, reducing unnecessary if statements, and adding flexability to certain aspects, like cooldown time. Additionally fixes some issues with the code, like visible messages not showing up for mobs who are wearing the source and shock_touching not using its provided damage values.
I have defined the combat paddles' emp_act change as a "Fix" because the comment appended to the combat variable, as well as the lack of sprites/clarity for emped syndicate defibs, made me feel this was unintentional. However, if this is seen as intentional, I will revert those changes to keep this a purely fix/cleanup-based PR
* Defibrillator Fixes + Code Cleanup
Co-authored-by: Beatrice <83368538+SpaceDragon00@users.noreply.github.com>
* Revert "prevent SSinput from constantly reporting null movements (#59558)" (#59650)
This reverts commit 6c2d17bb15.
Fucky movement fix oranges is literally threatening me.
I feel like I've messed up somewhere here...
Either way this is causing movements to be a bit fucky where one input counts as two in a direction.
* Revert "Prevent SSinput from constantly requesting moving in-place"
Co-authored-by: brotherbeyondd <68032262+brotherbeyondd@users.noreply.github.com>
* USB Cables -- Connect circuits to computers/machines (#59345)
* Initial commit
* Sprites, finishing work
* More ways to detach from circuitboards
* Clear TODOs, give bots a button
* Fix qdel loop
* Designs
* It's the bots that have them
* Grammar fix
* Feedback for connecting to circuit directly
* Add USB cable design to basic circuitry
* Better naming
* Feedback
* Fix for new code
* COMSIG_CIRCUIT_ADD_COMPONENT_MANUALLY
* span procs
* USB Cables -- Connect circuits to computers/machines
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Adds Neon Carpet (#59140)
Adds a couple varieties of neon carpet.
Makes decals care about their plane in addition to their layer.
* 0
* A
* a
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Fixes Cayenne's error sign flickering (#59614)
This PR fixes a case where Cayenne's sprite was flickering an error sign when carrying a disk and correctly assigns icon state names to JSON gags files for carp mouth and wirecutters as per newest standards to prevent further issues with them in the future.
* Fixes Cayenne's error sign flickering
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
* Turns lighting objects into a datum, makes all lighting be performed with an underlay. big maptick fix very good!
* Mirror!
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
* Fixed wrap and charge abilities for tarantula and broodmother (#59627)
* Fixed wrap and charge abilities for tarantula and broodmother spiders
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
* Blindness-related bug fix and code improvements (#59616)
TRAIT_BLIND caused by the hypnochair or by being unconscious (eg. sleeping) will no longer prevent you from being flashed.
Moves all raw text strings used in become_blind and cure_blind calls (as well as nanites in general with ADD_TRAIT) into defines.
Code changes not in changelog due to not being even the slightest bit of player facing.
* Blindness-related bug fixes and code improvements
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
* added three new hair gradients, a pair of shorter fades and a spiky wave (#59545)
imageadd: Three new hair gradients, a pair of shorter fades and a spiky wave.
* Adds some additional hair gradient styles
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
* I hate TGUI even if its better than what we had before
* this is why linters exist
* you need to be a Head or the Warden to get items
* does this please you linter?
* foundation
* basic interactions
* yea I can spell okay?
* linters please leave me alone
* begone debug code
* if you are dead, no interacting
* linters leave me alone
* linters are stealing my soul
* forgot to do this
* sound framework, probably wont work though
* max length, and interaction cooldowns
* message can now be a list and minor code improve
* I am a slave and linters are my master
* fix improper static reference
* add json loading/saving functionality
* default for message is now a list
* jsonize def interactions; implement requirements
* bad
* bug fix; CtrlShiftClick to interact
* minor qol fix
* fix CtrlShiftClick and remove debug code
* haha docker has security measures
* this was something I forgot
* support for master files
* corrects var name
* spelling
* categories are no longer hardcoded
* linters
* fixing someone elses code is boring
* cleans up my CtrlShiftClick code heavily
* I forgot a single tab and broke all carrying
* the second return isnt need and linter errors
* linters
* remove support for invalid jsons
and also tell admins an interaction has deprecated format
* code cleanup and doc
* json cleanup
* deleted a rather imporatnt define
* use the correct Init proc
fixes an issue I couldnt track down in testing
* classify the lists as lists
* miscellaneous code improvements
already checked for mob/living on the procs
so we should probably only add the Component to mob/living
Co-Authored by https://github.com/NullFag
* better menu and descriptions!
* implement descriptions
* linters
* code improv
* linters
Co-authored-by: Matthew J <GoldenKeyboard@users.noreply.github.com>
* Implement Model Features & Prevent Shrinking of Smol Borgs
* Fixes a Model, Documents & Refactors Out a Variable
* Uses the Proc
Webeditor b/c circumstances and didn't want to forget
Just prevents SSinput from constantly calling Move() every tick for every user even when no actual movement is requested.
Only done rudimentary testing - straightforward and we've been using this for months on CM13 but without diagonal movement.
I asked the original SSinput author back then which said that it was likely an oversight. I believe moving the diagonal movement direction buffer reset to keyLoop instead of Move() also makes sense as it is actually relevant to SSinput and not client actions as a whole (eg. if you call built-in movement verbs)
Co-authored-by: fira <loyauflorian@gmail.com>
* Detaches Anonymous themes and Triple AI from SSTicker (+ more anonymous themes and content) (#59373)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Detaches Anonymous themes and Triple AI from SSTicker (+ more anonymous themes and content)
* Mirror!
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
* Cleanup fugu gland and simple animal code (#59361)
A variable on all simple animals used only for the purposes of tracking the fugu gland buffing has been replaced with a trait.
The fugu gland is now has distinct messages when it cannot be applied to a previously buffed or dead creature.
The fugu gland no longer has a list of banned types, since it was unused.
* Cleanup fugu gland and simple animal code
Co-authored-by: coiax <yellowbounder@gmail.com>
* Makes obj_integrity only updated through procs (#59474)
Having things updating integrity directly is just going to cause more problems down the line as more elements and components depend on being notified of integrity changes. It's an easy mistake to make so making it private should deal with the problem.
get_integrity() might be useful in the future but is mainly a side effect of making obj_integrity private as that also disallows reads.
* Makes obj_integrity private and only updated through procs
* Mirror!
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
* Drone tools can't be redeemed for materials (#59444)
* Drone tools can't be redeemed for materials
Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com>
* Attempts to track AI lawsets randomly and silently returning to Asimov (#59409)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Attempts to track AI lawsets randomly and silently returning to Asimov
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* privateer 1? Who knows.
* shutters to windows
* Linters is moaning about area path?
* Update slaver_syndie.dmm
* Backpacks are too heavy!
* Oops! Forgot AI wire helpers for the rest of the doors.
* Tiny fan in airlock.
* Emptying the Captain's backpack into the map.
It won't pass sanity tests otherwise.
* Prevent players who get booted back to the lobby on shiftstart from getting broken antag status on latejoin (#59377)
* Prevent players who get booted back to the lobby on shiftstart from getting broken antag status on latejoin
* Mirrored
* oop
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Funce <funce.973@gmail.com>
* Some associated move fixes (#59299)
* Moves the loc assignment for null doMove target locations to before exited() is called, making it consistent with other uses of the proc, and fixing a harddel caused by deleting something inside of an open storage component. The component assumes that the removed object has already exited its contents, and so readds it to the screen, causing PAIN
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
* Some associated move fixes
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
* Makes washing machines support GAGS recoloration (#59292)
* Makes washing machines support GAGS recoloration
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
* I hate TGUI even if its better than what we had before
* this is why linters exist
* you need to be a Head or the Warden to get items
* does this please you linter?
* foundation
* basic interactions
* yea I can spell okay?
* linters please leave me alone
* begone debug code
* if you are dead, no interacting
* linters leave me alone
* linters are stealing my soul
* forgot to do this
* sound framework, probably wont work though
* max length, and interaction cooldowns
* message can now be a list and minor code improve
* I am a slave and linters are my master
* fix improper static reference
* add json loading/saving functionality
* default for message is now a list
* jsonize def interactions; implement requirements
* bad
* bug fix; CtrlShiftClick to interact
* minor qol fix
* fix CtrlShiftClick and remove debug code
* haha docker has security measures
* this was painful
* why are you in this branch
* begone
* bruh
* begone
Co-authored-by: Matthew <matthew@tfaluc.com>
Co-authored-by: Matthew J <GoldenKeyboard@users.noreply.github.com>