* makes grilles grill food, not drinks/condiments (#65833)
When food was moved to newfood (and use an edible component), drinks and condiments were left both as subtypes of a no-longer-existant food. (Even worse, one isn't even a subtype of the other).
Grilles were not updated to make the edible component's foodtypes fried, instead they kept making old food (which again, is just drinks and condiments) get the grilled foodtype instead, so it likely just runtimed and didn't work at all.
This most probably wasn't caught because all the vars for the edible food component were all kept the same when they were created off of old food, even the procs. Edible component is a copy paste of drinks/condiments.
Less runtime errors, more grilling!
* makes grilles grill food, not drinks/condiments
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Fixes diggable turfs being diggable with any item (#66099)
Fixes a check for if an item behaved as a shovel in the diggable component where it was returning true regardless of the item used.
* Fixes diggable turfs being diggable with any item
Co-authored-by: GoblinBackwards <22856555+GoblinBackwards@users.noreply.github.com>
* Refactor and improve antimagic to be more robust (#64124)
This refactors the antimagic component to use and have bitflags, documentation, defines, code comments, named arguments, and renames variable names for clarity.
- /obj/effect/proc_holder/spell/aoe_turf/conjure/creature/cult is not used anywhere and has been removed
- /obj/effect/proc_holder/spell/targeted/turf_teleport/blink/cult is not used anywhere and has been removed
- New sound effects are played when magic is blocked. Depending on the type of magic being used it will be either:
- Equipping antimagic now properly updates the magic buttons
- Any magic being blocked or restricting casting now displays a message
- MAGIC_RESISTANCE_MIND now properly blocks telepathy effects
- Removes blood splatter when fireball is blocked
- Magic projectiles for staff of locker no longer spawn lockers when blocked by antimagic
- Fire breath is no longer blocked by antimagic
- Spellcards are now blocked by antimagic
Any antimagic on a mob blocks that magic type from being casted. (certain spells such as mime abilities completely ignore antimagic)
- Foilhats prevent someone from casting mind magic (telepathy, mindswap, etc.)
- Bibles, ritual Totems, nullrods, holymelons, and TRAIT_HOLY prevent someone from casting unholy magic (cult spells, etc.)
- Nullrods, ritual totem, and holymelons prevent someone from casting wizard magic (fireball, magic missile, etc.)
- Immorality talismans, berserker suits, and TRAIT_ANTIMAGIC prevents all types of magic (except stuff like mime abilities)
- Touch of Madness and Mindswap is now blocked with MAGIC_RESISTANCE and MAGIC_RESISTANCE_MIND
- Voice of god is now blocked with MAGIC_RESISTANCE_HOLY and MAGIC_RESISTANCE_MIND
* Refactor and improve antimagic to be more robust
* Update tiedshoes.dm
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* [NO GBP] Resolves Golems not being allowed in the areas they created (#66000)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* [NO GBP] Resolves Golems not being allowed in the areas they created
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fix movement turf changer element to check openspace (#65757)
Fixes#65472 (The movement_turf_changer element allows creatures to step onto open space and fill them in )
This adds an openspace check for the movement_turf_changer element so that whatever mob is using it will fall through openspace properly.
I don't know what a moonicorn is but it sounds cool.
* Fix movement turf changer element to check openspace
Co-authored-by: Tim <timothymtorres@gmail.com>
* Health sensor in chemical grenades fix (#66014)
The health sensor is an assembly part. It contains two vars called 'secured' and 'scanning'.
In order to attach an assembly part to another assembly part (e.g. a health sensor to a signaller), both have to be attachable (meaning 'secured' = FALSE). After they are attached together, 'secured' will be TRUE. When the assembly is triggered, it checks if 'secured' == TRUE. Problem is, that a grenade is not an assembly part. If you use a screwdriver on the sensor to make it attachable, the chemical grenade won't work. The var 'secured' was simply not intended for usage inside a chemical grenade. Further confusion ensues when the now-attachable part is attached to the chemical grenade via an Attach-/Detach menu, which has nothing to do with the sensor being attachable (secured). This fix always secures the sensor when attaching it.
The other var, 'scanning' determines if the health sensor is currently active or not. A potential pitfall is to not activating it before attaching it to a chemical grenade, assuming that you have to activate the grenade itself to arm it (which in this case will just make the grenade go boom, disregarding the sensor). Since it does not make any sense to create a chemical grenade with an inactive sensor, this fix always enables the sensor when attaching it.
* Fix: Health sensors inside chemical grenades
Co-authored-by: LordVollkorn <66637090+LordVollkorn@users.noreply.github.com>
* Revert "Revert "[MIRROR] Moves help menu to end, fixes Hotkeys Help [MDB IGNORE] (#12425)" (#12479)"
This reverts commit 6d44a08156.
* capitalization fix for linux server
* Fixes bug involving random teleporting to toxins test area (#65740)
* Makes platings under windows in toxin test areas airless
* Sets dense_atoms to false for find_safe_turf & is_safe_turf
* Fixes bug involving random teleporting to toxins test area
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
* Fixes issue #65609 -- Can no longer interact with airlock wires after adding shielding (#65821)
closes#65609
Fixing bugs is good for the game, even if its something small like this.
* Fixes issue #65609 -- Can interact with airlock wires after adding shielding
Co-authored-by: Rhials <Datguy33456@gmail.com>
* Feex (#65612)
Splits reagent log string creation to a standard proc and a bespoke stupid proc that takes an external list instead of using its own reagents_list.
* Fix issue with reagent logging where it would sometimes fail to output reagents on reagent transfer.
* Update hyposprays_II.dm
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Fish refactor. (#65785)
Refactors fish into proper paths.
Removes aquarium behaviour intermediary datums.
Moves fish functionality out of aquarium content component.
Fixes flopping animation resetting on dropping.
Simplifies everything. There should be no player facing changes.
The animate signal is kinda weak method of solving the animate queue issue but it seemed least intrusive to me.
Open to any better ideas.
* Fish refactor.
* Update fishing.dm
* Update fishing.dm
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: SkyratBot <skyratcommunity@gmail.com>
* Give space dragon ability to make it's sprite small (#65311)
About The Pull Request
Allows space dragon to replace it's sprite with a carp sprite like the xeno queen can turn it's sprite into a drone.
This means only the dragon sees itself as small. Others still see it as giant.
Why It's Good For The Game
The space dragon sprite is pretty big, so you can't attack stuff directly north of you. This solves that.
Changelog
cl
qol: space dragon can now make it's sprite smaller
/cl
* Give space dragon ability to make it's sprite small
Co-authored-by: ivanmixo <ivanmixo@gmail.com>
* Fish refactor. (#65785)
Refactors fish into proper paths.
Removes aquarium behaviour intermediary datums.
Moves fish functionality out of aquarium content component.
Fixes flopping animation resetting on dropping.
Simplifies everything. There should be no player facing changes.
The animate signal is kinda weak method of solving the animate queue issue but it seemed least intrusive to me.
Open to any better ideas.
* Fish refactor.
* Update fishing.dm
* Update fishing.dm
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Fix plants hurting user when using telekinesis (#65759)
Fixes#65454
Using telekinesis with harmful plants won't harm them anymore since they aren't in physical contact.
* Fix plants to not hurt user while using telekinesis
Co-authored-by: Tim <timothymtorres@gmail.com>
* Cleans up some varedit procs not using strings instead of the proper helper (#65769)
Although these vars are unlikely to ever change, if the vars were ever renamed it would result in these strings not erroring properly if they weren't updated as well.
* Cleans up some varedit procs using strings for var names instead of the proper helper
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* makes vent scrubbers only activate if a gas they filter is on their tile, again! alive edition (#65591)
Alsonce scrubbers only wake up if something they can filter is on the tile an existing bug where scrubbers dont filter very small but non garbage collectable amounts of a gas becomes a big issue, as in without changing scrubbing rates you can breathe once on a tile with a scrubber set to scrub co2 and that co2 wont go away barring any other factors and the scrubber wont go to sleep. so now with the idea of rohesie and permission of lemon i changed how scrubbers removed small molar amounts of gas from their turf. now scrubbers will look through 100% of the turfs air mix for filtering, but will only remove up to
gas moles * (scrubber volume / turf volume) * (gas moles / total filterable moles) moles from each filterable gas in the turfs mix unless that amount is less than either MOLAR_ACCURACY * 100 or the number of moles of that filterable gas, in which case all of the moles of that gas are subtracted from the mix. this is to make it easier for the scrubber to remove very small amounts of gas with filters without changing how fast they scrub large amounts of gas, thus making scrubbers able to go to sleep faster only after a gas has been reduced to near zero
scrubbers are the biggest proportion of SSair's machine processing cost which is a non trivial amount of SSair's total cost. now they will only do most of their work if they can actually scrub anything on the tile which is a minority of the time.
* makes vent scrubbers only activate if a gas they filter is on their tile, again! alive edition
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Adds mob bleeding overlays, tweaks some bleeding balance
* Fixed the various merge conflicts involved with this, added update_wounds_overlay() in hopes that it just works
* Fixed our non-updated slash wounds bleeding values
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Changes how fingerprints are applied to objects through gloves. (#65674)
* Changes how fingerprints are applied to objects through gloves.
* Fixed the issues from transfer_prints
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Can secondary attack (right-click) and fire guns with TK (#65473)
* Can fire guns and secondary attack (right-click) with TK
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
* Fixes nonhuman head of departments showing up as their original species in security records (#65466)
* Fixes xeno -> human head of departments showing up as their original species in security records
`get_flat_human_icon` was passing preferences which chose their
original, so i added a var to `/datum/species` to check if the species
was forcefully changed
* makes it actually work
* review
* Fixes nonhuman head of departments showing up as their original species in security records
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
* Makes the heretic worm use the blood walk element (#65658)
* Makes the heretic worm use the blood walk element
It was using a custom proc for this, but we have an element just for
this.
* Update code/modules/mob/living/simple_animal/heretic_monsters.dm
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* dont need this'
* adds an extra arg the to the element to keep direction
* moves da eement
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* Makes the heretic worm use the blood walk element
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* [NO GPB] Makes GPSes work again (#65623)
Removes the tracking arg from GPSs, which I added because I thougt it'd be a helpful thing to add. Turns out it just makes it turn every GPS off on creation.
* [NO GPB] Makes GPSes work again
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>