* 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>
* Fixes 118(give or take) cases of mapload not being passed to initilaize (#69107)
fixes 114 cases of mapload not being passed to initilaize
* Fixes 118(give or take) cases of mapload not being passed to initilaize
* Fixes a lot (give or take) cases of mapload not being passed to initilaize
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* [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>
* 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>
* Advanced tools are medium sized, toolboxes can carry medium sized items. (#66900)
* Advanced tools are medium sized now.
* Moves `w_class` 1 line down
* Moves `w_class` MORE DOWN
* Syndie Jaw pocket edition.
* Toolboxes can carry medium items, pocket syndie jaw in desc.
* Advanced tools are medium sized, toolboxes can carry medium sized items.
* fix APT
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@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>
* adds (and improves existing) documentation for weldingtool.dm (#66500)
* add welding tool docs
* fuck
* SHIT
* kylerace is making me do work for my gbp
* fuck
* adds (and improves existing) documentation for weldingtool.dm
Co-authored-by: magatsuchi <88991542+magatsuchi@users.noreply.github.com>
* Fix welders using fuel when clicking on tiles (#65762)
Fixes#49664
Welders now conserve fuel when you accidentally click on tiles.
* Fix welders wasting fuel when clicking on tiles
Co-authored-by: Tim <timothymtorres@gmail.com>
* Belt sprites for the syndie screwdriver and alien tools (#65400)
* update
* makes the alien toolbelt use the sprites
* Revert "makes the alien toolbelt use the sprites"
This reverts commit caea9f52741e4f1553f3b3812336b3a4a235b6aa.
* Revert "Revert "makes the alien toolbelt use the sprites""
This reverts commit c60276e7aac93169a036bfe0bc42fb9c736d1d99.
* please check gods
* check pass?
* forgot that
* tabs
* Belt sprites for the syndie screwdriver and alien tools
Co-authored-by: Ebb-Real <95765134+Ebb-Real@users.noreply.github.com>
* Tool act superpack 2 (#64428)
About The Pull Request
Continuation of #64375, extracting tool behavior from attackby() and moving it into discrete _act procs. This is about as many files as I had in the last version, as I still want this to be reviewable.
As before, I've tested everything in game and it works as it previously did.
Why It's Good For The Game
The more code moved out of attackby, the more modular things become.
Changelog
cl
refactor: Moves more tool behavior out of attackby().
/cl
* Tool act superpack 2
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
* Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed
* Fixing conflicts
* Makes it compile, yeet all the RAD armor from everywhere (thanks RegEx!)
* Removing more lingering rad armor (woo)
* Damnit powerarmors
* Bye bye rad collectors!
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Brings recycling results of advanced tools up to their printing costs (#62092)
Advanced tools have either been using their parent basic tools' custom_materials or their custom_materials were lowered for what I presume was destructive experimentor work. This counts for recycling these items in an autolathe as well. In the first case, alien tools were made out of the same material amount as their basic counterparts, and in the second case - the recycling results were heavily lowered.
Also kills off some single-letter vars since I'm here.
* Brings recycling results of advanced tools up to their printing costs
Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
* Baton refactor. item/melee/baton is now a subtype of item/melee/baton (formerly classic_baton)
* EEEE
* E
* follow the fucking guidelines
* E
* Update CentCom_skyrat.dmm
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Durathread Strangling Bug Fix and Better Feedback (#59572)
* Makes durathread strangling show up on examine
* Better and grammatically accurate feedback
* more grammar fixes
* Makes it work on jaws of life as well
* Make it check tool behavior as well
* Fixes some compile errors
* Durathread Strangling Bug Fix and Better Feedback
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
* Adds a unit test for icon states on GAGS items and fixes some inhand sprites (#59330)
This adds a unit test which goes through all items and makes sure all the icon states needed are in the greyscale configurations, if it has one.
* Adds a unit test for icon states on GAGS items and fixes some inhand sprites
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
* Makes washing machines support GAGS recoloration (#59292)
* Makes washing machines support GAGS recoloration
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#58015)
* Adds explosion SFX to the blastcannon and explosive compressor
- Extracts the explosion SFX and screenshake proc from the SSexplosions explosion handling proc and lets the explosive compressor and blastcannon use it.
* Miscellaneous changes
- Adds defines for the internal explosion arglist keys
- Reverses the values of the explosion severity defines
- Changes almost everything that uses `/proc/explosion` to use named arguments
- Removes a whole bunch of argname = 0 in explosion calls.
* Removes named callback arguments.
* Changes the explosion signals to just use the arguments list
Adds a simple framework to let objects respond to explosions occurring inside of them.
Changes a whole bunch of explosions to use the object being exploded as the origin of the explosion rather than the turf the object is on.
Makes the explosive compressor and blastcannon actually use the TTVs they are given.
Adds support for things responding to internal explosions.
Less snowflake code for the explosive compressor and blastcannon calculating bomb range.*
Less confusing explosion severity defines.
Less opaque explosion arguments
*does not guarantee that the solution to letting them actually use the TTV is any less snowflake.
* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* screwdrivers no longer randomize their pixel_y on initialize (#58707)
removes the 75% chance on screwdrivers initialize to have a random pixel_y between 0 and 16
it looks bad now that the screwdriver is centered on the tile
* screwdrivers no longer randomize their pixel_y on initialize
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Converts screwdrivers to GAS (#58453)
* Basic GAS setup
* Compile fix
* Fixes, inhands, belt icons
* New procs
* New version of GAGS
* Inhand for subtypes
* Typo fix
* Converts screwdrivers to GAS
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>