This PR removes some odd quirks in carp and cqc grabbing, and makes them both function the same. Technically a cqc buff as users are able to not aggressive grab now, for quicker body dragging, but I'm not sure that was ever intended behavior.
In addition, the special combos are now properly logged, and added some more informative chat messages for certain moves.
Current behavior:
Carp can perform aggressive grabs while on grab intent, or passive grabs with CTRL+Click on any other intent. Passive grabs drop the targets items, and count towards combo's.
CQC only aggressive grabs, prevents the user from ever passive grabbing. For some reason, CQC aggressive grabs do not disarm the target until a few seconds after the grab.
New behavior:
Both CQC and carp grabs work the same. Grabs on grab intent function the same, and disarm as expected of an aggressive grab. Grabs on other intents do a passive grab, and do not disarm or count towards combo's.
* Combatgovesplus 1
* Combatglovesplus 2
* Combatglovesplus 3
* Combatglovesplus 4
* Combatglovesplus 5
* Combatglovesplus 6
* i have good england grammar I swaer
* fixed a slight english fucky wucky
* Allright done coiax
* I am probably retarded coiax not gonna lie
* you got me convinced GuyonBroadway
cl
code: Adds helpers for finding if a user has a martial art type
/cl
[why]: requested in coderbus, as somebody is making a new martial art or something.
cl Qustinnus / Floyd / Ethereal sprites by Space, is that it? / Alerts and food sprites by MrDroppodBringer
add: Adds Ethereal; a race which lives off of electricity and shines bright. If they are healthy they shine a bright green light, and the more damaged they are, the less they shine and the greyer they become. Their punches do burn damage and they are weak to blunt attacks!
They dont need to eat normal food and dont have nutrition, Instead they gain charge by going into borg rechargers, eating ethereal food or doign specific interactions.
refactor: all nutrition changes now go through a proc so we can override behavior
/cl
Adds Ethereal. A race which is essentialy inspired by Zoltan but then with different mechanics to make it fit with SS13 more. I'm trying to stay away from making them actually provide power but the change from nutrition to electricity seemed kind of fun.
They have the following specifications:
They are walking lights; and shine bright and green if healthy, and get greyer and darker the more damaged they are. When dead they are just a grey unlit corpse.
They do burn punch damage instead of blunt.
They are weaker to blunt; especially when low on charge
They have charge instead of nutrition. Charge is gained by some interactions or by going into a borg charger. or eating new ethereal food.
They are slightly stronger to shock damage, and gain charge from it a bit; however, it is still deadly to them and thus they aren't free insulated gloves.
cl Nervere and subject217
balance: The cook's CQC now only works when in the kitchen or the kitchen backroom.
/cl
[why]: The reason why the cook got CQC, other than it being a meme, was that people would often break into the kitchen and the cook would have a hard time defending himself. There's really no problem with this, except when the cook can also use CQC in the bar, which tends to be a pretty big area that the cook doesn't even need to defend. The bartender has a shotgun for the purpose of defending his bar, after all.
I removed CQC working in the cafeteria for the same reason, but /area/crew_quarters/cafeteria isn't even used as an area in any of the maps so it doesn't even have an effect. Kitchen backroom isn't used as an area, either, but @81Denton plans to change that soon, so I've added it to the list of areas where CQC is able to be used.
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.
Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove
cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
* Refactor several log lines to use datum_info_line and atom_loc_line
* Add default return strings from datum_info_line and atom_loc_line
* Add parentheses around atom_loc_line data
* Change more logs to use atom_loc_line
* Add check in atom_loc_line for turfs to avoid calling get_turf on them
* Re-add removed 'at'
* Replace datum_info_line with key_name and atom_loc_line with loc_name
* Refactor logging functions
* Avoid double-logging self-interactions
* Fallback to simple stringification if all else fails in key_name()
* Rewrite muscle spasm logging to use log_message
* Standardize logging of martial arts
* Tweak individual logging panel look
* Fix individual logging panel source
* When I typed || I really meant &&
* Fix Telecomms logging always showing client logs in the panel
* Reverts addition of buggy ownership log to panel
* Remove colon
* Fix missing log_directed_talk tag
* Add warning for missing type in log_direted_talk
* Change warnings to stack_traces
* Add square brackets around fallthrough key_name() case to help parsing
* Allow atom arguments/src in log_*() functions
* Change log_combat call with null argument to log_message
* Change mecha types' log_message() arguments to match atom and mob version
* Add key_name() case for atoms
* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it
* Fix log_globally logic
* Add logging for hitting objects with items
* Move log_combat() to atoms.dm
* Use utility functions for object stringification in log_combat()
* Use utility functions for object stringification in log_combat()
* Add missing logs for interacting with display cases
* Rewrite log_combat() comment
* Add missing space in log_combat()
* Add logging for hitting grilles barehanded
* Add missing ..()
* HE'S DONE IT
LETS GOOOOOOOOOOOOOOOH
* floyd. floyd. he's the floyd. floyd dude yeah yeah yeah yeah FLOYD
* fireball remarks, the other spells.
* YOU MEAN THE CHAOS FLOYDS
* what is a floyd, but a miserable pile of moodlets
* flflflflfoooaooayoyydd FLOYOYODDD DFFRRURURMPPFF
* FLOYDING LIGHTS LIGHTS LIGHTS LIGHTSSS
* GORGE YOUR MOODLETS, EMBRACE YOUR FLOYD
* no more floydposting, i removed the old spellbooks
* aaaaaaaaaaaaaaaaaaah ALL of the remarks added my fucking god
* 10 days to sunday travis.
* last minute fixes
* 1 fix
* 2 fix
* red fix
* martial granters
* MAMA MIA
* sometimes you just gotta own up to your mistakes :(
* I'm gonna be the best friend you have to ask for yourself to be the most things I can tell
Real shit
* caps fixed, small other fixes and mushpunch
* honey, i fixed the bugs!
* STUPID YORII DUMB GIRL STINK LEAVE
* boolean is such a fun word
* zoinks
* F_XED
* fixes part 2
* TRUEs and FALSEs
* don't drink and code boys unless you're goofball or like maybe kor
* for entirely different reasons i mean
* at what point is goofball too drunk to troll but not drunk enough to shitcode
* cool your jets, travis.
* what a TRAVIS-TY
* mush added to yet another blacklist!
This way you can add/remove traits without fear of other sources overriding them. Now you can add TRAIT_STUNIMMUNE to somebody without what if hulk
Notable changes:
Fakedeath now updates instantly, instead of waiting for the next life tick.
Fakedeath now sets time of death when acquired.
Removed extremely snowflake code in reagents that checked if you had morphine to remove slow immunity and so on.
Hulk no longer overrides status_flag changes, in case there are any.
* Refactors disabilities into lists, allowing for independent disability sources
* defines
* Xhuiiiiissss
* living
* did that
* adjusted for traumas
* Updates pacifism and removed remove_all_disabilities from fully_heal to prevent issues.
* makes antur happy
* Brain Trauma additions
* Adds Aphasia
* Adds the aphasia language
* Short window
* nuke exploits GONE
* fixes draggable portals
* psychobrawl won't just kill you if you use it too much, but stuns longer
* Adds anosognosia, and lowers thresholds
* .
* RANDOM GODWOKEN
* Default brain damage is now 0
* antur
* fix 1
* forcemove and afk friend adjustments
* okay it's ready now
* dead people can hear imaginary friends
* Reworks Brain Damage
* mechanics
* rebalancing
* hulks in wheelchairs
* yup
* bugsquash
* Adds narcolepsy, phobias and agnosia. Not guaranteed 100% bug-free yet, testmerge at your own risk.
* lizard phobia
* Did you know there's a skeleton inside of you RIGHT NOW?
* Fixes for the new stuff
* The issue with those is that in most rounds you won't see them
I'll keep them available so they can be added manually, for example by events and such
* Goof reviews
* Brainloss is based off brain organ integrity
removes brainloss var
* Replaces some getorganslot with defines
* eyes
* put the traumas in the brainnnn
* text
* args
* Adds godwoken, puts split personality in severe, adds brainwashing
* Bluespace prophet special trauma (untested)
* Some minor stuff
* Monophobia, and tweaks
* More fixes
* fix
* a
* new tail
* Discoordination and Muscle Weakness
* thanks for the review!
* [B]oneless
* agnosia fix
* .
* go away agnosia
* pretend it didn't happen
* Shitcode-free-er
* bitwisdom
* psychotic brawling
* i guess this might be important
* latest reviews
* .
* conflict-free
* addresses it
* surgery fix
* a masterpiece
* fix
* fix again
* config
* damage formula reworked
* who needs to test anyway
* fixes some bugs
* fix 2
* proper spookin
* bluespace prophet fixes and improvements
* no bible healing
* .
* normalizes monophobia chances
* Revert "all this wrapping and it's not even christmas (#33035)"
This reverts commit faaf151580.
* Revert "fuck me for forgetting to graph this one"
This reverts commit 45d7acea2f.
* Revert "defines math"
This reverts commit 2817a1737b.
Tick contention is when the mc, sleep()/spawns(), and byond internal processing fight each other for game tick time. Usually in an unproductive way that wastes cpu cycles and reduces the effective amount of game tick to go around.
Tweaked the anti-tick contention heuristics of the MC a touch.
Fixed an incorrect operator in the mc's anti-tick contention heuristics causing it to apply in times of no lag rather then times of lag.
The mc's anti-tick contention heuristics now plays better with the high pop processing mode.
We no longer reserve the tail end of a tick for the mc to have if the mc doesn't plan to run next tick because of high pop mode or anti-tick contention heuristics.
stoplag() can now be given an initial delay allowing it to act like a smarter sleep (in that it sleeps for longer if the server is overwhelmed.
All short sleeps that only existed for performance reason and had no game play, visual/audio, or balance reasons behind their timing were converted to stoplag().
actions.dmi is way too cluttered and messy, and with inhands getting the axe I decided to fix this, too. I separated the major categories of actions into their own files, like antagonist-specific actions and spells. A full list of categories is found here:
actions_AI.dmi contains AI-specific actions;
actions_clockcult.dmi contains clockcult-specific actions, and scripture quickbind icons;
actions_cult.dmi contains cult-specific actions as well as sintouch;
actions_flightsuit.dmi contains flightsuit and flightpack actions;
actions_items.dmi contains minor item-specific actions such as the hierophant club and jetboots;
actions_mecha.dmi contains actions related to mechs;
actions_minor_antag.dmi contains antag-related actions with no other spot, like devils/abductors;
actions_revenant.dmi contains revenant ability icons;
actions_silicon.dmi contains minor silicon and console icons, like pAI and xenobiology consoles;
actions_slime.dmi contains slime actions;
actions_spells.dmi contains icons for all spells;
actions_xeno.dmi contains icons for all xeno actions; and
backgrounds.dmi contains backgrounds for the action buttons.