* Mob stays vertical while in cryo (#54800)
Currently, mobs in cryo will turn horizontal in the cryotube when they fall unconscious. This should stop that.
* Mob stays vertical while in cryo
Co-authored-by: prodirus <44090982+prodirus@users.noreply.github.com>
* Handful of minor text fixes#54774
Space Dragons used a visible_message when the user renamed themselves, and touch spells messaged the wrong person about disappearing when destroyed. This PR fixes those two issues.
Edit: Also fixes an extra space in bodies slamming into bodies and admin edited shuttle timers showing the wrong value (setting the timer to 30 seconds would show 3 seconds, 300 would show 30, etc)
* Handful of minor text fixes
Co-authored-by: Rohesie <rohesie@gmail.com>
* Syndrones no longer have references to eating weaker drones for health. (#54744)
Turns out that syndrones had an issue in 2 parts.
Previously they had a feature where they spawned with 30 health, and then if they found another drone, they would heal several points to health to get to their maximum of 120 points. However, due to an issue, they were spawning with 120 health regardless, and since they could just screwdriver themselves to full anyway, there wasn't any mechanical backing on that feature, and it was removed at some point.
In addition, when you rejoin as a syndrone if you went offline, you still got a line about being able to eat other drones for health.
The drone vore line has been removed, and their health has been set to 120 as is expected from them in modern balance.
* Syndrones no longer have references to eating weaker drones for health.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* Fix pai emitter regen rate that was incorrectly modified by delta_time changes. (#54764)
Personal AI emitters now regenerate at their properly intended speed instead of 1/10th of that speed.
Feex coding oversight from delta_time changes, restore previous behaviour with delta_time support.
Old behaviour - 0.25 regen 5 times per second for 1.25 per second.
delta_time PR behaviour - 0.125 regen multiplied by delta_time value of 0.2 per processing tick, intended to be run 5 times per second, for 0.125 regen per second.
Fixed behaviour - 1.25 regen multiplied by delta_time value of 0.2 per processing tick, intended to be run 5 times per second, for 1.25 per second.
* Fix pai emitter regen rate that was incorrectly modified by delta_time changes.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* [READY] Space Ninja Rework (#53492)
* Automatic changelog compile [ci skip]
* Automatic changelog compile [ci skip]
* Revert "Automatic changelog compile [ci skip]"
This reverts commit 48a63defa644ec9826ee5eb1736e5158d2a636d4.
* Revert "Automatic changelog compile [ci skip]"
This reverts commit cb68f4988edd9d841c4203eecee2067a49ce75c5.
* Revert "Revert "Automatic changelog compile [ci skip]""
This reverts commit e6e1f1ef53ee6611c334efcae6ca7c102edaf351.
* Revert "Revert "Automatic changelog compile [ci skip]""
This reverts commit 1782210527b9819772c0781122bec35b7979bf7d.
* Update changelog.html
* Automatic changelog compile [ci skip]
* Automatic changelog compile [ci skip]
* Move suit_initialization into better location
* Clean up cost check
* Clean up net using
* Clean up Ninja Star
* Clean Up Ninja Stealth
* Clean Up Sword Recall
* Move the event file
* Re-Merge the Changes
* Get your ninja code out of my human.dm
* Move the event into events folder and clean it up
* Can the old space ninja antagonist file
* Roll in the shiny new bad boy
* Get rid of actions/ninja.dm and move its info into respective ability files
* Update one_click_antag with new ninja
* Move proc out of ninja code into proper location
* Update the dme properly this time
* Update code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm
Co-authored-by: Fikou <piotrbryla@ onet.pl>
* Update code/modules/ninja/suit/gloves.dm
Co-authored-by: Fikou <piotrbryla@ onet.pl>
* Update the antagonist file
* Update ninjaDrainAct
* Re-Add MGS Voice Lines
* Up the Katana Damage Back Up to 30
* Attempting a Risky Manuever
* Adjusting some numbers to fit the delta time PR
* Fix Var Names and do a return ..()
* Remove Unused Defines, Update qdels to QDEL_NULLs
* Update code/modules/antagonists/space_ninja/space_ninja.dm
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Update code/modules/antagonists/space_ninja/space_ninja.dm
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Update code/modules/events/space_ninja.dm
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Update code/modules/ninja/energy_katana.dm
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Update code/modules/ninja/ninja_explosive.dm
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Update code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Remove Unnecessary Condition Checks
* I'll show you what A stands for!
* Turn some things into defines
* Remove is_ninja()
* Gives the SN roles on Antag Gain, not on event spawn
* Clean up mind/key code to be efficient and modern
* Have Deactivated Suit Gloves use default black sprite
* Add the new clothing sprites
* Add new inventory sprites for alternate sprites
* Get Rid of These Again
* Re-add suit changes
* Implement all the suggestions for the antag file
* And then everything else
* Updating the Weight for purpose of testmerge
* Balance Updates
* Update the Objective Definitions
* Remove Now Unreachable Cyborg Interaction Code
* Get That Shit Out of My Forest
* Re-Add Cowl Wearing Sprite
* Re-Add Cowl Inventory Sprite
* Adapt to the new thing?.thing changes
* Re-add New Katana Inhand Sprites
* Re-Add glove's shock but have it do knockdown instead
* Get rid of the these stupid changelog changes
* Update sounds
* Re-add New Mask Sprite
* Re-update katana inventory sprite
* Revert Event Weight
* Update code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
* Re-Add Dynamic Ninja
* Revert Changelog thing
* Update Mob Sprites
* Add files via upload
Co-authored-by: Changelogs <action@ github.com>
Co-authored-by: Fikou <piotrbryla@ onet.pl>
Co-authored-by: Rohesie <rohesie@ gmail.com>
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
* [READY] Space Ninja Rework
Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Co-authored-by: Changelogs <action@ github.com>
Co-authored-by: Fikou <piotrbryla@ onet.pl>
Co-authored-by: Rohesie <rohesie@ gmail.com>
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
* Tweaks Floorbot pathfinding to prevent dogpiles and help prevent duplicate tile placements. (#54786)
This pr adjusts floorbots behaviors in order to attempt to fix any of the following issues:
#54159, #54196, #37421.
More or less the issue appears to have been that floorbots would place floor platings on top of where another floorbot would already be repairing a tile, and since they don't check for each other's work, they were stacking floor turfs ontop of each other, creating either A: Infinite piles of floor tiles, or B: Multiple floor tiles stacked on top of each other. The former I think may have been fixed in the previous changes to how shuttlecode turfs were stacking on-top of each other, but the multiple stacks of floor tiles overlaying was not resolved.
This adds a check to the beginning of floorbots repair proc which determines if another floorbot is there and repairing the turf already. If so, it begins to ignore the turf until it is reset next, which it tends to go over the course of a single job. This helps split up and divide multiple floorbots working on the same tile at a time, in order to prevent infinite floorstacks.
If 2 floorbots are on the same tile and conflicting, then a little whistle effect will play to indicate that they're moving to a new worksite.
* Tweaks Floorbot pathfinding to prevent dogpiles and help prevent duplicate tile placements.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* Non-human mobs can now benefit from held id cards and economy. (#54647)
* Non-human mobs can now benefit from held id cards and economy.
* Moved these getters toward the upper end.
* oui?
...
dump eet.
* .tee pump
...
?iuo
* Non-human mobs can now benefit from held id cards and economy.
Co-authored-by: Rohesie <rohesie@gmail.com>
* No more clickdragging one to another that isn't you doesn't opening inventory windows. (#54756)
* No more clickdragging one person to another that isn't you opening inventory windows.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes gondolas turning invisible when given a pet collar. (#54791)
Gondolas exist as a composite of overlays with a null icon_state.
When you put a pet collar on a gondola, it deletes all the existing overlays, rendering the gondola invisible.
I just overrode the regenerate_icons proc to do nothing for gondolas, because the parent proc is utterly useless to us and we don't need its functionality.
* Fixes gondolas turning invisible when given a pet collar.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Test basic attacks along with the attack chain (#54769)
Tests shoving (as well as the knock down and dropping your item), harming (both with and without an item), and the attack chain.
I can think of a few cases in very recent memory that these have been broken (devil removal breaking melee damage, attack chain breaking due to something else).
Also adds `TRAIT_PERFECT_ATTACKER` which makes your punches always hit. This is currently only used for tests, as they are meant to be reliable.
* Test basic attacks along with the attack chain
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Fly people eating fixed up (#54526)
About The Pull Request
When a fly person vomited up food the nutrition was not added properly.
Also the amount of nutrition that was lost to the vomit was 90%, this changes flyperson vomit to transfer ~67% of the nutrition to the vomit, this changes fly people from eating 10 hotdogs to just 1-2 for the same nutrition. Fly people were a drain on the food supply.
This also fixed the issue that fly people would loss nutrition on vomit where that was not intended.
Fixes#54510
Why It's Good For The Game
Fly people can now eat.
Vomiting now transfers reagents as expected.
* Fly people eating fixed up
Co-authored-by: NightRed <nightred@gmail.com>
* Merge pull request #54714 from Timberpoes/borgo-hat-fix
You can once again place hats on cyborgs without having to treat it as a party game.
* You can once again place hats on cyborgs without having to treat it as a party game.
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Removes changeling teams and hivemind channel (#54054)
* Removes changeling teams and hivemind channel.
* More cleanup
* some more stuff
* Removes changeling teams and hivemind channel
* Update horror_form.dm
* Update horror_form.dm
* Update horror_form.dm
Co-authored-by: skoglol <33292112+kriskog@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Removes capitalism and communism golems [the sun sets on freedom] [fall of the iron curtain] (#54637)
About The Pull Request
Removes commie and cappy golems, and all connected parts and features.
Why It's Good For The Game
You're downloading 5 mb of capitalist and communist songs and talk sounds every time you log into a server, which makes it take much longer to actually join the game. While this was a good meme and became even better when cappy golems would fight the communist ones, they are:
Really really underused for what they are
Really really boring and simple without all the special sounds
Really really not worth keeping gutted
Changelog
🆑
del: Capitalism (golem) and Communism (golem) are dead.
/🆑
* Removes capitalism and communism golems [the sun sets on freedom] [fall of the iron curtain]
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Converting the EMP protection component into an element. (#54617)
* Converting the EMP protection component into an element.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Megafauna once again gibs immortal miners (#54495)
Memento Mori + Megafauna no longer equals softlocking the game.
* Megafauna once again gibs immortal miners
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
* Directional lighting component + light system (#54520)
Adds in a new type for the lighting system, the directional one. It piggybacks on the overlay lighting to create a directional effect + adds a nice visual cone mask to make the effect feel really directional.
Also: made the static light system respect the light_on variable.
It feels really nice to shine AT things you're looking at with flashlights and the such, it makes maintenance scouring much more immersive too.
Adds more paranoia as you dont see light behind yourself when you've got a flashlight. Plus makes ambushes more fun
* [READY]Directional lighting component + light system
Co-authored-by: Azarak <azarak10@gmail.com>
* Removes shoe stealing shortcut (#54583)
Intent combos suck ass as it is and we don't need to make them worse by having obscure shortcuts for gimmicks that can be done with the strip menu, I've seen this used accidentally dozens of times and maybe once on purpose
* Removes shoe stealing shortcut
Co-authored-by: Mickyan <38563876+Mickyan@users.noreply.github.com>
* Pacifists now taunt secbots when attempting attacks with harm or disarm intent. (#54570)
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
* Pacifists now taunt secbots when attempting attacks with harm or disarm intent.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
* Adds 👏 High 👏 Fives 👏 (#54516)
This PR lets you post up for high-fives with your buds so you can slap some skin and show off how well you vibe together. To initiate a high-five, simply stand next to another person with a slapper (the *slap emote one) in hand, and hit the offer item button (default G) to let the people adjacent to you know you're available. They'll get an alert that you're offering a high-five, and clicking it will follow through and award you both a small positive moodlet, or they can just walk away and leave you hanging, earning you a negative moodlet.
Is a high-five not enough to show the world how tight your crew is? Double the fun! If whoever initiates the high-five has a slapper in both hands, and the taker has two hands free, you'll go for the mythical high-ten for a louder slap and extra emphasis! Woo!
* Adds 👏 High 👏 Fives 👏
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* [Performance] Makes bot salute not do thousands of hearers_in_view calls (#54498)
It now uses view() instead, and is cooldowned per each check, instead of per each successful salute
EDIT: I've changed so the commmissioned bots invoke salutes for even more performance, as AnturK suggested.
* [Performance] Makes bot salute not do thousands of hearers_in_view calls
Co-authored-by: Azarak <azarak10@gmail.com>
* Standardizes attack chain signal returns and fixes a tk bug (#54475)
The attack chain is a bit of a mess, and the introduction of signals hasn't helped in simplifying it.
In order to take a step into untangling this, I re-ordered the attack signals to no longer be by source type and instead to be grouped more modularly, as they are all members of the attack chain and function similarly. They all share the trait of potentially ending the attack chain via a return, but had several different names for it. I joined it into one.
Additionally, fixed a tk bug reported by @ Timberpoes by adding a signal return check at the base of /mob/proc/RangedAttack
Lastly, removed the async call of /datum/mutation/human/telekinesis/proc/on_ranged_attack, which was added as a lazy patch to appease the linter complaining about a sleep on a signal handler (namely in /obj/singularity/attack_tk). Fixed the problem using timers.
Also cleaned some code here and there.
* Standardizes attack chain signal returns and fixes a tk bug
Co-authored-by: Rohesie <rohesie@gmail.com>
* Implements timed_action_flags for do_after-like procs (#54409)
Originally I wanted to fix an issue where the `get_up()` `do_after()` would ignore the callback checks, because it was `uninterruptible`, so that made me refactor these procs to allow for higher granularity on checks and standardize behavior a bit more.
There's more work to be done for them, but one thing at a time.
* Removes the `uninterruptible` check in favor of the more granular `timed_action_flags`
* Cleans code on the `do_atom`, `do_after_mob`, `do_mob` and `do_after` procs to standardize them a little better.
* Implements timed_action_flags for do_after-like procs
* Update horror_form.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Merge pull request #54423 from Jared-Fogle/ai-flip
AIs can now flip again
* AIs can now flip again
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Improves VV-related code (#54416)
VV-related code cleanup
Added code to trigger the proper setters for several variables that have them.
Added some admin logging for var-edit teleports.
Cleaned-up some code all around.
* Improves VV-related code
Co-authored-by: Rohesie <rohesie@gmail.com>
* [READY] Fixes being able to use items while inside a mech (#54302)
* [READY] Fixes being able to use items while inside a mech
Co-authored-by: Rohesie <rohesie@gmail.com>
* Activate Held Object and Drop hotkeys (Z and Q by default) now activate and store arm implant tools (#53893)
* Self_attack for arms if the hand is empty
* Oops
* Light runtime fix
This is not my runtime, but I will fix it all the same
* return better good
* How about a variable name that actually fits
* asdf
* Activate Held Object and Drop hotkeys (Z and Q by default) now activate and store arm implant tools
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
* Buckling cleanup and documentation. Borg buckle time tweak. (#54402)
Added / improved documentation for buckling procs and variables
Removed / moved some unused things (removed 'buckling' var on mob, moved can_unbuckle() and can_buckle() from mob to living, removed can_unbuckle() and can_buckle() from slimes because they were ignoring everywhere it was checked anyways)
Moved can_buckle() check to is_buckle_possible() with the rest of the checks
Allowed mobs to buckle other mobs to things on the same turf as them ( I don't see why this was blocked in the first place. We have mobs on the same turf as each other all the time)
Changed silicons to use user_buckle_mob() instead of their own do_after system - now slightly longer to buckle mobs from another turf but instant to buckle mobs from the same turf. This means that borgs can't combatspin people who are still standing but have a slight slowdown, but can load people even faster if they're stunned/incapacitated and lying down. (But honestly, I did it for consistency, not balance)
* Buckling cleanup and documentation. Borg buckle time tweak.
Co-authored-by: Yenwodyah <yenwodyah@gmail.com>
* Moves screen objects from mob to hud (#54400)
This moves screen images from icons/mob to icons/hud
Makes more sense and it is easier to find
* Moves screen objects from mob to hud
* Update radial.dm
Co-authored-by: nicbn <nicolas.nattis@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>