* (code bounty) The tram is now unstoppably powerful. it cannot be stopped, it cannot be slowed, it cannot be reasoned with. YOU HAVE NO IDEA HOW READY YOU ARE
* fex
* fex
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Fixed mech CI not working (thanks safeties)
* Fixes consistent jumpsuits not working for the prefs menu
* Oops forgot to commit this
* We lost this from #10050, now they're grey again
* Fixes point-blank ballistic shots, fixing mech CI that way
* Adds the screenshot icons for our antags
* Adds a bunch of screenshots for all of our species (yes they're ugly but we'll fix them later)
* I Love Merge Conflict Markers
* Fixes `Knockdown` signal being incorrect, making knock-off items (and others) trigger when they should again. Also cleans up the knockoff component and unit tests it. (#67720)
At some point, someone did a find and replace over this file, and completely screwed up the signal for Knockdown().
This caused components that relied on it, like the Knockoff component, to work way less often.
This PR fixes that.
It also goes through and cleans up the Knockoff component. More consistent style guide stuff, minor improvements, better documentation.
It also unit tests it.
* Fixes `Knockdown` signal being incorrect, making knock-off items (and others) trigger when they should again. Also cleans up the knockoff component and unit tests it.
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Fixes slips being broken and adds a unit test to catch it happening again. (#67741)
* Fixes slips being broken and adds a unit test to catch it happening again.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Implements a Demolition Modifier variable to items, affects damage vs structures and robots. (#66967)
Adds a modifier variable which can be used to increase or decrease a given items damage to structures, machinery, vehicles, and robots (including cyborgs, simple-bots, and anything else with the MOB_ROBOTIC biotype)
* Fixes attacks on mech equipment ignoring armor / melee damage, also fixes mech equipment not being disabled at 0% health, also also unit tests mech armor (#67411)
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* This tail refactor turned into an organ refactor. Funny how that works.
* Firstly, fixing all the conflicts.
* Fixes all our maps (hopefully)
* Actually, this should fix pod people hair :)
* Almost everything is working, just two major things to fix
* Fixed a certain kind of external organ
* Cleaning up some more stuff
* Turned tail_cat into tail because why the fuck are they separate?
* Moved all the tails into tails.dmi because that was just dumb to have like 3 in a different file
* Adds relevant_layers to organs to help with rendering
* Makes stored_feature_id also check mutant_bodyparts
* Fixes the icon_state names of ALL the tails (pain)
* Fixes wagging, gotta refactor most mutant bodyparts later on
* I Love Added Failures
* Fixed some organs that slipped through my searches
* This could possibly fix the CI for this?
* It doesn't look like it did fix it
* This will make it pass, even if it's ugly as sin.
* Fixed Felinids having a weird ghost tail
* Fixes instances of snouts and tails not being properly colored
Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Fixes Novaflowers not lighting people on fire, again. Unit tests it. Cleans up some unique plant genes stuff too. (#67597)
* Fixes Novaflowers not lighting people on fire, again. Unit tests it. Cleans up some unique plant genes stuff too.
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* fixes inconsistent lighting ci failure in icebox (#67430)
Fixes and adds test for get_pixel_turf returning null on tall objects on top of the map.
* fixes inconsistent lighting ci failure in icebox
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Unit tests for default hydroponic seed gene setups (#67029)
Adds a unit test that ensures the default list of genes for all plants is a valid setup.
* Unit tests for default hydroponic seed gene setups
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Forgot about CI failure due to runtime (whoops) (#66762)
* Annotates integration tests failures due to runtimes better
Co-authored-by: Tastyfish <crazychris32@gmail.com>
* Refactors firestacks into status effects (#66573)
This PR refactors firestacks into two status effects: fire_stacks, which behave like normal firestacks you have right now, and wet_stacks, which are your negative fire stacks right now. This allows for custom fires with custom behaviors and icons to be made.
Some fire related is moved away from species(what the fuck was it even doing there) into these as well.
Oh and I fixed the bug where monkeys on fire had a human fire overlay, why wasn't this fixed already, it's like ancient.
Also changed some related proc names to be snake_case like everything should be.
This allows for custom fire types with custom behaviours, like freezing freon fire or radioactive tritium fire. Removing vars from living and moving them to status effects for modularity is also good.
Nothing to argue about since there's nothing player-facing
* Hud Image Culling By Z Level: Theft edition (#65189)
* makes hud images only apply by z level
* makes some of the atom_hud procs have better names
* fixes warning with the hud_user list and adds better documentation
* better docs for hud_images
* removes TODOs
* docs for hud_list
* adds support for linked z levels so mobs can see lower ones
* fixes merge conflict and shittily makes only shocked airlocks get added
* adds support for setting images in the hud as active and inactive
* gets rid of unatomic spatial grid change
* maybe i should actually try COMPILING my changes
* fixes merge skew and makes it compile again
* fixes huds refusing to remove from users who changed z level
* improves z level and registration logic
* fixes antag huds not appearing
* Fixes antag huds not properly setting. We now use hud_list in init, so it needs to be set before the new call, not after. Not sure why the use of appearance key was split like this, but none else knows either so none can stop me
* Ensures that hiding a basic appearance also hides the atom's active list too
* Fixes antag huds going poof
Ensures that remove_atom_from_hud will return false if the passed atom
isn't managed by it
This fixes antag huds disappearing randomly, since they assumed that if
the parent call of remove_atom_from_hud returned true, we should delete
ourselves. This is a safe assumption for them to make, since they should
only ever have one atom.
Does kinda bork if we call remove_atom_from_hud in a way that is unsure
if the passed atom is actually in that list. We were forced into doing
this by how atom huds use the qdeleting signal.
* makes basic alternate_appearance's only update themselves when setting their hud image to active and makes them not add themselves to the global huds_by_category list
* fixes mistake with hud_users list being set non associatively (bad)
* as anything in bot path loops
* Fixes merge skew problems
* Makes bot paths non global
This way they can show themselves to only the bot that "owns" them, ya
feel me?
* Fixes huds not showing up sometimes, cleans up some code
Post Kapu's limb refactor, we were calling prepare_huds twice in a human
init call chain. What was happening was this:
call prepare_huds() // Human
I gained a new hud image
I set active hud icons to mirror it
call prepare_huds() // Living
I overwrote the new hud image
I attempted to set active hud icons, which failed because it assumes
this can never happen
*cries*
* Renames add_hud_to_atom to show_to
My hope is this will make understanding hud code a bit easier, by tying
the behavior to a "verb" more closely. Also renamed a few vars
* remove_hud_from_mob -> hide_from
* Nitpicks a few comments
* Whoops/fuck/shit/damn it all/hhhhhhhhhhhh
* Moves check down, improves stack trace a bit
Co-authored-by: KylerAce <kylerlumpkin1@gmail.com>
* small touch-up
* this should do it
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: KylerAce <kylerlumpkin1@gmail.com>
I initially kept it an exclusive check so funny things like division by inf doesnt get in, but I implemented more inf checks on the quadratic proc and the likes so it really shouldnt be necessary now. This should hopefully reduce cases when the target pressure hits the upper limit because the target gasmix has a miniscule amount of moles, having the result be rejected by the code, and triggering a runtime.
And some minor improvements to the code so it doesnt iterate through the gaslist multiple times.
Nicer code
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
* unit test for /obj/item/stack singular_name (#66378)
Checks if all non-blacklisted stack items have singular_name set, because apparently that's pretty important
Gives it to a few ones that didn't
* unit test for /obj/item/stack singular_name
* fix
Co-authored-by: capsaicin <84609863+capsaicinz@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
* CI & Moth Fixing Combo
* Remove this (didn't work anyways)
* fixing a comment (woops)
* Lore friendly commit
* A little more robust?
* Guess we will forgo this.
* More feedback.
* Apply suggestions from code review
Co-authored-by: nevimer <foxmail@protonmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Adds baseturf helpers to create and destroy ignore list (#65910)
This simply adds baseturf helpers to the ignore list of create and destroy to prevent future issues. Currently only breaks downstream. If you add more than 10 baseturf helpers, the CI test will fail.
* Adds baseturf helpers to create and destroy ignore list
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* adds a unique species id unit test + cleans up some golem mischief (#66050)
* adds a unique species id unit test + cleans up some golem mischief
Co-authored-by: capsaicin <84609863+capsaicinz@users.noreply.github.com>
* Becoming the patron of a painting now lets you select a different, persistent appearance for the frame it's in. (#65305)
* Painting frame selection for patrons, painting json version update.
* Becoming the patron of a painting now lets you select a different, persistent appearance for the frame it's in.
* fix unit test
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
* Refactors Lich Phylactery to be a component, makes it actually work (#65366)
* Refactors phylactery to be a component
- Overall improves lich code
- Changed the SOUL_IMBUE signal to return a bitflag
- Minor style improvements (indentation and such)
* Tweak initialize + fixes a bug with being gibbed
* adds a clarification comment
* And fixes a compile error oops
* reorganizing
* clear the revive timer, just in case
* oops this should drop stuff
* missing no soul trait
* type in a variable name
* god damn devil removal
- this check was removed when devil was and i think it's kinda important to prevent stacking lichdom
* rework this a bit
* plurals
* also, wrong source
* updates the description
* Some review + undoes some changes
- Corrects some comments
- Uses defines
- Rewords the lichdom entry and spell desc
- Sets default time per res to 0 secs to avoid changing behaviors
* Refactors Lich Phylactery to be a component, makes it actually work
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* standing here on the edge
* the irony of my own unit tests failing on me is not lost
* will this work? god knows
* okay, now that this works
* Update code/modules/unit_tests/_unit_tests.dm
* aye
* weh, fixed
* tired me is not a good coder
* correct this
* max_count + flashbang
* testing a change to the unit test
* weh
* i give up
* Update code/modules/unit_tests/_unit_tests.dm
* Overhauls heretic rituals slightly for better user feedback (and to help locate a bug) (#65223)
* Overhauls heretic rituals slightly for better user feedback (and to help locate a bug)
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Fixes the void Ritual of Knowledge + unit tests main path lengths (#64929)
Void ritual of knowledge should be of the void path. This fixes that.
Also adds a unit test to ensure all main paths are of the same length.
Funnily I think this was causing the main route calculations to be off, so the knowledge objective should be easier by one.
* Fixes the void Ritual of Knowledge + unit tests main path lengths
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>