* 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>
* Fix missing SIGNAL_HANDLER (#59826)
Adds SIGNAL_HANDLER to everywhere that didn't have it that was picked up by dm-lua, which is now ready enough to catch these.
* Fix missing SIGNAL_HANDLER
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Borg apparatus now can use hotkeys to drop items; Right click to spill. (#58494)
* scrapped out
* Update code/game/objects/items/robot/robot_items.dm
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Update code/game/objects/items/robot/robot_items.dm
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Update code/game/objects/items/robot/robot_items.dm
Co-authored-by: AnturK <AnturK@ users.noreply.github.com>
* review changes
* small mistake
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: AnturK <AnturK@ users.noreply.github.com>
* Borg apparatus now can use hotkeys to drop items; Right click to spill.
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: AnturK <AnturK@ users.noreply.github.com>
* Refactor /obj/item/food/chewable into a chewable element (#58243)
* Refactor /obj/item/food/chewable into a chewable component
* Element, always process
* Refactor /obj/item/food/chewable into a chewable element
* Update maint_loot_trash.dm
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Fixes the borg hug module being able to harm and shove simple mobs (#58175)
* Fixes the borg hug module being able to harm and shove simple mobs
Co-authored-by: Seth Scherer <supernovaa41@protonmail.com>
* cyborg lollipop launchers can no longer spam timers (#57786)
About The Pull Request
Cyborg treat dispensers now have a maximum treat storage capacity of 5 treats instead of 30 treats, and recharge their treats at a rate of one treat per 10 seconds instead of one treat per second.
To compensate for this, the damage of gumballs and lollipops that have been launched from an emagged cyborg has been increased from 3 to 10.
Launched gumballs and lollipops will no longer delete themselves after 2 minutes (if not equipped).
The 2u of omnizine in each cyborg lollipop has been replaced by 2u of psicodine. The contents of normal lollipops have not been modified.
Cyborg cookie dispensers can now only dispense a cookie once every 10 seconds (instead of once per second). Non-cyborg cookie dispensers no longer self-recharge, but can now accept compressed matter cartirdges for reloading purposes. Support has been added for other types of RSFs to have use cooldowns.
Why It's Good For The Game
The self-deletion mechanism was apparently causing timer spam, so I reduced the amount of treats that cyborgs could spam out (and the rate of that spamming) so that the mechanism would no longer be necessary. I increased the damage of launched treats to compensate to keep the emagged treat launcher from becoming a very sad joke of a weapon.
Floyd threw a fit when he learned that cyborgs could freely dispense lollipops that contained omnizine, so I replaced the omnizine with psicodine, a chem that is perhaps more appropriate for lollipops (it calms people down), doesn't do much of importance, and can't react to form any rare or interesting chems.
The cookie dispenser thing is also an attempt to appease Floyd, since he doesn't like cyborgs being able to spam food everywhere.
Changelog
cl ATHATH
balance: Cyborg treat dispensers now have a maximum treat storage capacity of 5 treats instead of 30 treats, and recharge their treats at a rate of one treat per 10 seconds instead of one treat per second. To compensate for this, the damage of gumballs and lollipops that have been launched from an emagged cyborg has been increased from 3 to 10.
del: Launched gumballs and lollipops will no longer delete themselves after 2 minutes (if not equipped).
balance: The 2u of omnizine in each cyborg lollipop has been replaced by 2u of psicodine. The contents of normal lollipops have not been modified.
balance: Cyborg cookie dispensers can now only dispense a cookie once every 10 seconds (instead of once per second). Non-cyborg cookie dispensers no longer self-recharge, but can now accept compressed matter cartirdges for reloading purposes. Support has been added for other types of RSFs to have use cooldowns.
/cl
* cyborg lollipop launchers can no longer spam timers
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
* Ice cream revamp: Ice cream is a component and cones can hold multiple servings of ice cream now. (#57415)
* Ice cream rework WIP
* I'm done!
* i'll deal with my verbose engrish at a later date. I'm dead tired.
* linter aaaaaa
* Take a bite!
* FINALLY, A COMPONENT!
* ghost macro.
* Review, typos, beheading of a lame comsig.
* Typo. Now I'm self-obliged to test it again.
* It works.
* Ice cream revamp: Ice cream is a component and cones can hold multiple servings of ice cream now.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* moves gun related icons to guns folder (#57077)
moves ammo icons, projectile icons and hitscan effect icons to guns folder
renames projectile.dmi to ballistic.dmi so its less confusing
moves rcd ammo from ammo.dmi to tools.dmi with the rcd
* moves gun related icons to guns folder
Co-authored-by: Fikou <piotrbryla@onet.pl>
* replaces all instances of ammo_casing/BB to loaded_projectile again without crashing this time
* a
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Refactor on_mob_death, death implants, implant permission (#55862)
* Refactor on_mob_death and death implants
There is a proc on `/obj/item` called `on_mob_death` called on all
items in the contents of a mob on that mob's death. It is currently used
for explosive implant detonation, and the deactivation of the
Peaceborg's projectile dampener.
Instead of using this old proc, both of them now instad use the
COMSIG_LIVING_DEATH signal, already emitted when their owner dies.
The activation of an explosive implant will now occur after the rest of
the death code has run, since it activates with an async applied
function, since some other implants may still want the mob's body
intact, and you shouldn't use `sleep()` (which it does in the "slow
explosion mode") in signal handlers.
In addition, the "can_be_implanted" proc for /mob/living (and overriden
for silicons, slimes and simple animals) has been folded into the
`/obj/item/implant/proc/can_be_implanted_to` proc. Some future implants
may want to be more permissive than the current permissions, but that
isn't possible when checking both procs.
* Refactor on_mob_death, death implants, implant permission
Co-authored-by: coiax <yellowbounder@gmail.com>
* Foam darts and other unembeddable bullets will no longer leave ghost shrapnel (#54994)
Projectiles are assigned the ability to try embedding by the presence of a shrapnel_type variable being set on them, whether or not they actually have a set of embedding stats in their embedding var. By default, children of /obj/projectile/bullet have a shrapnel type set to a generic embedded bullet item, including things like foam darts and lollypop projectiles which shouldn't be able to embed (and certainly not embed as a bullet). While they had their embedding vars set to null, they still had their shrapnel_type set to the embedded bullet type, meaning shooting a person with a dart gun or whatever would leave a failed shrapnel item on the ground where they weren't supposed to.
This fixes that by requiring both a defined shrapnel_type AND a defined embedding var for the embedding stats. Any projectiles without both won't be able to try embedding. I also manually put 'shrapnel_type = null' on any bullet subtypes with embedding = null just to be safe and for consistency.
* Foam darts and other unembeddable bullets will no longer leave ghost shrapnel
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* moves misc food to newfood code (#54788)
misc food is now using newfood code
* moves misc food to newfood code
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)
* Process procs now properly use deltatime when implementing rates, timers and probabilities
* Review fixes
* Geiger counters cleanup
Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now
* Moved SS*_DT defines to subsystems.dm
* Rebase fix
* Redefined the SS*_DT defines to use the subsystem wait vars
* Implemented suggested changes by @AnturK
* Commented /datum/proc/process about the deltatime stuff
* Send delta_time as a process parameter instead of the defines
Also DTfied acid_processing
* Dtfied new acid component
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities
Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
* Janiborgs can now repair damaged hull platings (#53183)
The "plating repair tool" has been added to the game in the form of a
printable upgrade for janiborgs. It's a subtype of the cautery that can
repair burnt or damaged hull platings, allowing floor tiles to be
placed over them once again.
The upgrade that adds it to a janiborg's list of tools can be printed
once the Cyborg Upgrades: Utility tech node is researched.
Janiborgs get floor tiles (and a crowbar), but have no way of dealing
with burnt platings. Thus, what ends up happening is that, after fixing
some flooring after a minor explosion, you'll often be left with one or
two ugly, OCD-triggering untiled spots on the floor that you can't put
a floor tile over because you don't have a welder. What makes these
spots even more infuriating is that it would actually be BETTER if they
had been broken down to just being space-exposed rods, because then you
COULD place a floor tile on their tile.
* Janiborgs can now repair damaged hull platings
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
* Petting more animals now causes floating hearts and a moodlet, borgs can now pet animals. (#52594)
* Petting.
* Oops.
* Update code/modules/mob/living/simple_animal/friendly/penguin.dm
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Working on underlying redo.
* More.
* Fixing to work with new emote system.
* Move proc and defines to living instead of mob.
* ...Moves it to simple_animal instead.
* Revert cat crate fix (other PR handling), fixes emote thing.
* Appveyor did not care for that.
* Comment typo.
* Very descriptive var name.
* Borgs can now commit pet.
* sweeps up missing manual_emotes, adds a hop to link for ghosts, and moves the name preface to ghost only
* More descriptive vars and proc name.
* Better descriptive vars.
* Making the borg code slightly nicer.
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Petting more animals now causes floating hearts and a moodlet, borgs can now pet animals.
Co-authored-by: uomo <51800976+uomo91@users.noreply.github.com>
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Confusion will no longer continue to confuse after being cured (#52286)
* Confusion will no longer continue to confuse after being cured
* Grammar comment fix
* Move to status effect
* Remove test per request
* Make confusion a status effect, confusion curing now completely neuters the confusion
* set_confusion changes, get_confusion
* Fix confusion going down twice per tick
* Change strength = to proc
* Move procs to status_procs
* Confusion will no longer continue to confuse after being cured
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Case of lower
* More changes
* Ruins the nice 420 diff, brainfart when doing the second batch of conversions
* More changes
* Next batch. I think
* Converts even more paths
* Restarts bots
* Capital Free Zone
* Come on travis, do something
* Renames areas
* Bots, please stop dying
* Updates CONTRIBUTING.md and updates a few paths I missed.
* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
* Gumballs and spider lollipops can now be put in your mouth and chewed/sucked!
fixes inconsistencies with gumballs and lollipops
* Update recipes_misc.dm
Living and machine stat vars are pretty different, one uses flags and other number-defines.
This should make some other mass-replacements and searches a bit easier.
* update_icon() improvements
Fixes some update_icon() calls to properly call parent and use update_overlays() and update_icon_state().
The rest of obj/item fuck it
* Suggested fixes, also passes the linter
* I always forget . = ..() is faster than return ..() FOR SOME FUCKING REASON
* Actually this is better
* Signilzes datum/action to update its icon when its connected item does.
* Refactors screen object update_icon to call parent
And makes update_icon an /atom proc
* Cleans up some missed null checks
The student teaches the master
* Nanotrasen fires the Wave Motion Gun at the Clock Cult
* Fixes a random changelog appearing from the reebe void.
* Fixes a wrong type reference regarding the bronze sheets in the Lavaland Ruin for it.
* Fixes redundant cells after CC removal in ruin by populating them with varied ore chunks, or destruction clutter.
* why is it /obj/item/stack/sheet/metal but not /obj/item/stack/sheet/iron
* Fixes the lavaland ratvar ruin to have fluff variant structures of deleted shit it referenced instead what I thought was reasonable.
* Switches out the three billion args of electrocute act for flags
* Adds autodoc to electrocute flags, sets the boolean I removed and tries to fix the ed209 file
* tries to fix ed209 again
* Fixes 209 hopefully
* Finally fixes that darn file
* one final one to fix the diff
* Or i guess i'll just do it myself