* You can now pull tails, it makes the person happy! (#62763)
About The Pull Request
You can now pull on tails and it makes the person happy! It was supposed to just be felinid but it changed when mothblocks requested I check for tails!
Why It's Good For The Game
Cute interaction with our cat friends. And Lizards. And anything with a tail.
Changelog
cl
add: You can now pull on a felinid's tail to make them happy!
/cl
* You can now pull tails, it makes the person happy!
* no
Co-authored-by: Cimika/Lessie/KathyRyals <65850818+KathyRyals@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Felinids don't like getting sprayed with water. (#59506)
This PR is an ode to @ Ryll-Ryll, who inspired me to try and find fun, silly things to PR to try and make people smile.
About The Pull Request
Felinids now get a SMALL and SHORT mood debuff when getting sprayed with water. The intent of this PR is not to provide content to grief felinid (flashback to the "Felinids hate water" pr), but rather to provide a funny interaction.
Bonus point (Suggested by Ninja) : Getting sprayed with water interrupts do_after. Felinid climbing on your table ? Pssshttt. Straight in the face.
PR with permission from @ ninjanomnom
Why It's Good For The Game
Light-hearted fun and a bit of flavour to felinids.
Changelog
cl
add: Felinids don't like getting sprayed with water.
code: Adds a new status effect, incapacitated, which causes your do_afters to stop.
/cl
* Felinids don't like getting sprayed with water.
* Yes
Co-authored-by: Cimika/Lessie/KathyRyals <65850818+KathyRyals@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Overhauls job eligibility checking and improves job debug logging.
* Fixing conflicts
* Makes Veteran the first check since it's the most likely.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Gonna start by enabling it, but we're not done
* Now it works
* Even better
* Makes it better for one level (which is what you will see 99% of the time)
* Chimps no longer get grumpy when you hug them or throw things with no throw force at them. (#62685)
* Chimps no longer get pissed when you hug them.
* Pun Pun no longer hates hat throwing.
* Chimps no longer get grumpy when you hug them or throw things with no throw force at them.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* 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>
* Locker Shoving Re-Reloaded (#62618)
* Locker Shoving Re-Reloaded
The signals here were weird, converted them to connect loc. I did my best to make sure behavior matched what
existed pre arcane pr
Unshat shove code considerably, believe it or not it used to be worse.
* Locker Shoving Re-Reloaded
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* yeet
* goddamn fucking trailing newline
* edit: I reread the bounty
* leftover from: I reread the bounty
* *more* leftover from: I reread the bounty
* speedup
* here too
* empty commit for linter reruns
* there
* remembered the newline this time
* okay I forgot that
* Adds logging for all Silicon rather than just Laws (#62500)
I find stuffing everything in game.log is a real problem when you need to actually find useful information about what happened to a specific Silicon. It's hard to tell what happened to Silicon throughout a round, even when crossreferencing attack/game logs, so having a Silicon log for all the information related to them would be really useful.
For example, a Cyborg can spawn unlinked on Robocop, go Janitor and crowbar someone to death with a Robodoctor AI. When looking through logs, an Admin can easily assume it was a rogue Engineering cyborg who disobeyed their laws to kill someone.
This also isn't adding a whole new log file, more than it is just renaming the law log file to silicon and adding more useful things into it, so it isn't logging bloat (if that's even a concern)
* Adds logging for all Silicon rather than just Laws
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Adminwho and the status panel now shows when fellow admins are readied up in pre-game lobby (#62670)
* Adminwho and the status panel now shows when fellow admins are readied up in pre-game lobby
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* initial fix (IT DONT WORK AND PROBABLY BREAKS EVERYTHING)
* shit's fucking broken. see dev-discuss
* bleh
* reverts the last commit (i think im new to this)
* haha whoops
* initial
* FIXED IT OH GOD
* hopefully removes all references to alt titles
* fuck
* it would be funny if i stopped fucking it up
* migration, initial
* STREAMLINED EVERYTHING AAAAAAAAA
* organizes da text boxes
* adds a few things i changed in the last rendition
* edit formating,,,,
* i did a oopsie
* Update code/datums/datacore.dm
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* fhuujawduj
* hahaha... yes! YES!
* FIXES. EVERYTHING
* fomratting
* Update modular_skyrat/modules/records_on_examine/code/modules/mob/verbs/view_exploitables.dm
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* refactors how it works and tidies up code
* rogue comment
* fixed a potential bug
* modularize
* readme
* i did a FUCKY WUCKY.
* merges the suggestion (but with another tiny change)
* makes it just a little more obvious
* return
* erronous comment
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* FUCKIN WOOO
* much better
* yesssssss
* yeetus deletus the merge conflictus dies
* fug that was an oops
* better
* linters are weird
* woops I erased tesh tails
* better
* wingfix
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Deletes unused spookoween file and the related sound folder. Saves what can be saved. (#62518)
* Deletes a unused spookoween file and the related sound folder. Saves a few features off of it.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Locker based combat, evolved. (#60000)
* Locker bullying, reloaded.
* Start work on refactoring the whole gosh damn thing
* I'm stuck.
* Checkpoint
* Restart work: Lets get this scrap to compile
* Workin on it, having to swtich back to walls project
* Revert "Restart work: Lets get this scrap to compile"
This reverts commit baa1814fd1ed2c86f2009a54a90d9306264762fc.
* Compiles (Check), Signals are backwards (Fix)
* 90% complete yet again I have grown powerful
* I HAVE GOT IT WORKING PERFECTLY
* Removes a small part of commented code
* Perfection*
* Locker based combat, evolved.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* Shapeshift code improvement (+vent gib fix) (#62444)
* fuck
* Update shapeshift.dm
* fuck it, just check if the old body is in the vents before swapping.
* Shapeshift code improvement (+vent gib fix)
Co-authored-by: John Willard <53777086+JohnFulpWillard@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>
* brain washing now cures up to lobotomy tier traumas (#62426)
About The Pull Request
brain washing cures up to lobotomy tier traumas, instead of surgery
Why It's Good For The Game
if you wash a brain you already surgeried it so its kinda pointless, now the funny very rare item can also be useful and it encourages doing brain washing, leading to more rp opportunities
Changelog
cl
balance: brain washing now cures up to lobotomy tier traumas
/cl
* brain washing now cures up to lobotomy tier traumas
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Allows pAI's to print photographs for 10 ram (#62462)
## About The Pull Request
Allows PAI to access a newly inbuilt bluespace printer at the cost of some processing power being diverted to mine for cryptocurrency.
## Why It's Good For The Game
Pai's are perfect travel buddies, but its a shame they cant print out their memories to share with their master. Well now they can! Simply take a picture, select the "Printer" button, and (optionally select an image if multiple are available) Presto! Instant picture. No toner required, its ported directly from an automatic nanotransen printer! Of course, some ram is actually being used for crypto mining for pure NT profit, but who cares? Pictures!
* Allows pAI's to print photographs for 10 ram
Co-authored-by: Len Kagamine <xboxmaster2000@hotmail.com>
* stops aheal from deleting all restraints in target's inventory (#62476)
fixes a corner case with an often used admin command
* stops aheal from deleting all restraints in target's inventory
Co-authored-by: phasenoisepon <82134074+phasenoisepon@users.noreply.github.com>
* changes vampire and dullahan to be config enableable (#62357)
Dullahan and Vampire had some trace of old shitcode that the other Halloween races didn't, preventing them from being added to the config for cases like early Halloween
* Vampire and Dullahan can be config enabled
Co-authored-by: RaveRadbury <3204033+RaveRadbury@users.noreply.github.com>
* Tackles various problems with keyed_list config entries, fixing broken roundstart races and more! (#62359)
While helping RaveRadbury debug some issues with enabling Halloween species early via the brute force method of enabling them in the config rather than the gentleman's solution of testmerging a PR that changes the Halloween date, we discovered something dreadful.
Cloth golems cannot be enabled! Infact, any species with a space in the ID cannot be enabled.
It uses the splitter despite VALUE_MODE_FLAG being set. So a key entry like ROUNDSTART_RACES cloth golem would get parsed as cloth = golem, then entered into the config as cloth = TRUE
NEW AND IMPROVED PART HERE
I've re-written how keyed_list config entries are parsed, splitting it into a number of procs to do some discrete block of logic.
Based on feedback from MSO, he expected that VALUE_MODE_FLAG keyed_list entries could have elements overridden. However, this functionality was not present in the code.
I have implemented it. We now support 3 methods of setting VALUE_MODE_FLAGS.
Implicitly enable the config entry: CONFIG_ENTRY config_key_goes_here
Explicitly enable the config entry: CONFIG_ENTRY config_key_goes_here 1
Explicitly disable the config entry: CONFIG_ENTRY config_key_goes_here 0
There have been functionality changes too. Previously, everything before the first splitter was the key and everything after was the value. However, in ambiguous config entries (Such as ROUNDSTART_RACES cloth golem 0) it would be unclear if the intent was (cloth, golem 0) or (cloth golem, 0) or indeed if the intent was (cloth golem 0, 1).
As a result, there is now the following paradigm in place: Everything after the LAST splitter is the value, everything before is the key and a log_config warning is now given explaining the problem and showing how it was resolved.
[2021-10-27 19:48:12.840] WARNING: Multiple splitter characters (" ") found. Using "cloth golem" as config key and "1" as config value.
This warning will trigger if multiple splitters are present for any keyed_list config entry, and will trigger on implicit VALUE_MODE_FLAGS entries that have splitters. The example above is it triggering on ROUNDSTART_RACES cloth golem - It has detected that there is potential ambiguity between (cloth, golem) or (cloth golem, 1), has picked a sensible option for the data type and has warned about it.
The intent is that no config entry should be ambiguous. It should be clear what is key and what is value when dealing with keyed_list config entries.
There's probably more work to do on other config entries to bring them up to this standard, but this is the thing I'm hitting in this PR.
Similarly, I have improved the validation aspect of keyed_list config entries with additional logging in general.
[2021-10-27 19:47:53.135] ERROR: Invalid KEY_MODE_TYPE typepath. Is not a valid typepath: /mob/living/carbon/monkey
I have added a unit test to make sure species IDs do not contain splitters from the two keyed_list subtypes relating to species.
I have added sanity checking to the race config subtypes since we have a big dick global list of all races sorted by ID, so a race not existing will fail validation and output a meaningful config log entry.
I have removed /datum/config_entry/keyed_list/probability from the code as it is unused with the removal of all game modes except Dynamic.
The config change necessitated the renaming of all golem species IDs. Doing so and renaming the clothgolem.ts file to match has fixed the broken cloth golem page too.
* Tackles various problems with keyed_list config entries, fixing broken roundstart races and more!
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Refactor /turf/var/intact (#62331)
Turfs have a variable, intact, which conflates three meanings:
Determining whether there's something that can be pried out, such as directly with a crowbar or indirectly with a tile stack and a crowbar off-hand.
Determining whether underfloor pieces are visible.
Determining whether underfloor pieces can be interacted with - by players with tools, through interaction with effects like chemical acid, or foam.
When plating is hit with a stack of tiles, /turf/open/floor/attackby checks whether the turf is intact, and if so, ends the attack chain regardless of whether or not the attempt to hotswap a turf (with a crowbar) is successful or not. However, turfs which want the underfloor to be visible - such as catwalks and glass - set the intact variable to FALSE, and so can be repeatedly placed over one another, as if they were the first tile to be placed over the plating.
This refactors /turf/var/intact into two distinct variables:
/turf/var/overfloor_placed, for whether or not there is something over plating.
/turf/var/underfloor_visible, for whether or not the various underfloor pieces should be invisible, visible, or both visible and interactable.
All references to /turf/var/intact have been replaced with an equivalent overfloor_placed or underfloor_visible reference, depending on which check is appropriate. underfloor_accessibility can take one of UNDERFLOOR_HIDDEN, UNDERFLOOR_VISIBLE, or UNDERFLOOR_INTERACTABLE. This prevents cases such as acid foam or tools phasing through glass floors to affect the underfloor pieces underneath, and covers all kinds of unusual, not-wiring-visiblity usage such as Holodeck completeness, Revenant interaction, or station integrity checking.
* Refactor /turf/var/intact
* Thank
Co-authored-by: esainane <esainane+github@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
* removes double spaces before symbols (#62397)
This can apparently cause some bugs on occasions, so I thought I might as well try to kill them all.
* removes double spaces before symbols
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Shooting specific wizard staffs as a non-wizard or non-magician now backfires in different ways. (#62257)
About The Pull Request
If you try using the staff of change, the staff of chaos, the spellblade or the staff of healing as a crewmember, then it'll backfire.
People who can use the staff normally: Apprentices, Wizards, Amateur Magician (from Summon Magic event)
Backfiring is different depending on the staff, each effect is listed below and happens when you try firing the staff.
Staff of change - Wabbajacks the imposter, although they can't become a xeno or a borg.
Staff of chaos - 5% chance to fire the staff at the imposter using it.
Staff of healing - Acts as a medibeam gun to the imposter.
Why It's Good For The Game
Crew getting access to the Staff of Change tends to end in a lot of people becoming xenomorphs or syndicate borgs. It forces the round into a turn for the worse for all antags as xenomorphs have hardstuns, syndicate borgs have emag, greatly improved healing chemicals and powerful weaponary.
Crew getting access to the Staff of Healing results in death being irrelevant. Killing people is no longer a viable tactic as an antagonist because anyone killed, no matter how damaged their body is, can be instantly healed with this staff.
Crew getting access to the Staff of Chaos is like crew getting access to the staff of change and the staff of healing at the same time, only more unpredictable. It's better if they can't reliably use it to get the spells they want as chaos is implied in the name, it becomes russian roulette trying to get the correct bolt as you can also get shot by a bolt of death, instantly killing you.
This is a better alternative to outright removing the staffs or making them usable only by wizards as it gives a quirky use to trying to use them as a crewmember. Maybe not the staff of healing, but fuck the staff of healing.
Changelog
cl
balance: If you try using the staff of change, the staff of chaos or the staff of healing as a crewmember, then it'll backfire. The Staff of change wabbajacks the user, like the pool of change; this means you can't become a xenomorph or a syndicate borg. The Staff of chaos has a 5% chance of firing the bolt directly at the user using it. The Staff of healing now behaves like a medibeam gun to non-wizards trying to use it.
/cl
* Shooting specific wizard staffs as a non-wizard or non-magician now backfires in different ways.
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
* Fixes emag ethereals, also ensures mutcolor is used properly (#62088)
* Fixes emagged ethereals not working
* Ensures mutcolor is properly treated as something without # ahead of it
* gI take it all back (Someone else went in a different direction then me wth mutcolor, adding the sharp instead
of removing it. Just gonna roll back my unneeded stuff. Oh also I found an issue in spraytans, cleaning that up too
* Fixes emag ethereals, also ensures mutcolor is used properly
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Fixes corgi hats stuck to them forever & SAVES HALLOWEEN (#62318)
About The Pull Request
Corgi hats used to resist any attempts at removing them from the corgi wearing said hat. This fixes that.
Also fixes#62297 by giving carved pumpkins and blumpkins their own dog_fashion datums.
Why It's Good For The Game
Corgis are now no longer stuck to wearing one hat. Spookifies Ian for Halloween with two amazing pumpkin hats.
image
Changelog
cl
expansion: Spooky headless corgi spirits have been sighted across the Sector!
fix: fixes hats glued to corgis' heads when dressing corgis up
/cl
* Fixes corgi hats stuck to them forever & SAVES HALLOWEEN
Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
* Ethereals now have their own lungs and electrolyze breathed water vapor (#62197)
* Ethereals now have their own lungs and electrolyze breathed water vapor
Co-authored-by: Capsandi <38051413+Capsandi@users.noreply.github.com>
* Don't remove stamcrit on stronger stat (#62335)
Any time update_stamina was called, such as being reduced by 0.3 while
unconscious, it would check to see if stat was set. If so, it would then
immediately remove all stamcrit traits, even if these traits were not set
to expire before whatever was causing the stat did.
This allowed players to enter a very brief unconscious period with
the *collapse emote, which would immediately override and remove stamcrit
traits, and be able to move around and act freely as soon as the very
short emote induced unconsciousness finished.
Don't ask how long it took to track this down.
Fixes#61890.
* Don't remove stamcrit on stronger stat
Co-authored-by: esainane <esainane+github@gmail.com>
* Allows ethereals to have beards (#62321)
Adds the FACEHAIR species_trait to code\modules\mob\living\carbon\human\species_types\ethereal.dm
Tested, works as intended.
* Allows ethereals to have beards
Co-authored-by: Likteer <68878861+Likteer@users.noreply.github.com>
* Initial commit, first PR added, small sprite tweaks done myself
* hardsuit tail sprite and more modifications
* Language and stuff, most of second PR
* idk what I did here because I slept between commits but probably a lot
* Adds many many matrix coloured earsprites fuck me this was a lot of work
* Species page, body markings and final cosmetic changes
* Small tail tweak
* Small clothing sprite tweak
* Linter: trailing newline
* schechi icon made, code clothing moved to modular/master file
* Some suggestions implemented
* Comments etc
* snake_case
* Changes var names, rejects body size modification
* again but properly this time
* Moves clothing pixel stuff into defines
* Quirks can be restricted for some species now
* And now it actually works
* Move to modular file
* removes species quirk stuff
* Fixed Schechi
* Fixes 0 damage punch, made a husk sprite
* improves clothing sprites, fixes offsets of 'certain' bodyparts... :/
* Nevermind, it just doesn't work, no dicks for you
Co-authored-by: Ranged <nickvanderkroon@gmail.com>
* Re-organizes robot defines file (#62223)
It currently looks like a mess, I tried to mess with it locally and it bugged me how jumbled up everything is.
I moved all the main defines that affects all bots at the top, and the rest organized by bot.
* Re-organizes robot defines file
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>