Commit Graph

758 Commits

Author SHA1 Message Date
SkyratBot
b8cea2209f [MIRROR] Improves VV-related code (#1374)
* 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>
2020-10-19 17:22:19 +01:00
SkyratBot
3745007f18 [MIRROR] Activate Held Object and Drop hotkeys (Z and Q by default) now activate and store arm implant tools (#1349)
* 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>
2020-10-17 01:56:22 +01:00
SkyratBot
3af51e0f6b [MIRROR] Buckling cleanup and documentation. Borg buckle time tweak. (#1338)
* 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>
2020-10-16 17:28:12 +01:00
SkyratBot
b8d9874c27 [MIRROR] Converts all A && A.B into A?.B (#1292)
* Converts A && A.B into A?.B (#54342)

Implements the ?. operator, replacing code like A && A.B with A?.B

BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.

* Converts all A && A.B into A?.B

Co-authored-by: ZeWaka <zewakagamer@gmail.com>
2020-10-13 23:19:25 +02:00
SkyratBot
fb51202dda [MIRROR] changes your cursor to an eye when you are holding shift to indicate you will examine (#1124)
* changes your cursor to an eye when you are holding shift to indicate you will examine (#54083)

* changes your cursor to an eye when you are holding shift to indicate you will examine

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-10-03 02:31:19 +02:00
SkyratBot
9be3a7b8f6 [MIRROR] Moblity refactor: hands blocked and restrained edition. (#1051)
* Moblity refactor: hands blocked and restrained edition.

* Update carbon_defense.dm

* Update emotes.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-29 13:57:02 +02:00
SkyratBot
ec28f27bf8 [MIRROR] Fix broken dmdoc crosslinks (#933)
* Fix broken dmdoc crosslinks

* Update species.dm

Co-authored-by: Tad Hardesty <tad@platymuus.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-23 15:14:45 +02:00
SkyratBot
512d21d7af [MIRROR] Fixes oversight with "tactical combat spinning" and flashes (#897)
* Fixes oversight with "tactical combat spinning" and flashes (#53823)

Using the spin emote can no longer let you RNG your way out of new flash mechanics.

Mobs have a new flag that is set to when they start spinning and unset when they stop.

Flashes now use this new flag when calcing deviation.

Tactical combat spinning using the spin emote now results in a full deviation flash when it may previously have resulted in a failure or half-deviation flash.

Emotes should either not influence combat at all (spin on floor when both players share the same loc, this was already handled by same-loc code), or negatively influence combat for the emote user (spin in all other circumtances, which is what this PR addresses).

* Fixes oversight with "tactical combat spinning" and flashes

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-20 17:32:35 +02:00
Gandalf
2a9c68a733 hud fix. (#871) 2020-09-18 21:27:43 +01:00
SkyratBot
92eabd4de7 [MIRROR] Makes visible messages not be obstructed by darkness if you're next to the source (#843)
* Makes visible messages not be obstructed by darkness if you're next to the source (#53706)

If you're doing emotes in full darkness right next to someone, then the person won't see them, despite seeing your mob, which is counter-intuitive. This fixes that issue

* Makes visible messages not be obstructed by darkness if you're next to the source

Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-17 06:10:03 +02:00
SkyratBot
6d4bdb7776 [MIRROR] Minor bugfixing/QoL for blind examining (#607)
* Minor bugfixing/QoL for blind examining (#53313)

Allows blind people to examine things they're directly holding in their hands, so they don't need to swap hands back and forth between empty hands to check their ID or whatever

Slightly lowered the recent examine delay to make it easier to trigger examine_more

attack_hands that waited for input or slept (such as apiaries or airlocks) delayed the examination until after the attack_hand input or sleep was finished, so it is now called async to prevent the weird pause.

Blind people could previously examine things with disabled/detached limbs, that's fixed as well, and replaced a range check with adjacent, cause shoving your arm through windoors is bad.

* Minor bugfixing/QoL for blind examining

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2020-09-02 03:03:35 +02:00
SkyratBot
cd0d700a85 [MIRROR] Mecha refactor 2020 (#579)
* Mecha refactor 2020

* Update effects.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-02 02:16:51 +02:00
SkyratBot
ec09510459 Bools and returns super-pr (#53221) (#565)
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
2020-08-30 05:12:59 +02:00
SkyratBot
1c1ce7b055 [MIRROR] Browser Status Panel (#548)
* Browser Status Panel (#53112)

* Browser Status Panel

Co-authored-by: Couls <coul422@gmail.com>
2020-08-29 20:26:27 +01:00
SkyratBot
2cd8f8c083 [MIRROR] Fixes quickswap letting you keep clothing traits (#542)
* Fixes quickswap letting you keep clothing traits (#52790)

Unequipping clothing via quickswap now properly calls dropped(), so you lose any traits you get for wearing them. This fixes being able to use the quickswap hotkey to keep traits and other properties like krav maga, sec/med/diagnostic hud's, and whatever else without actually wearing the clothing.

Fixes: #52788
Fixes: #50798

Why It's Good For The Game

Honestly for my money, a quickswap hotkey is lame and overly gamey, which is funny because the kind of player who would be into that is exactly the kind of player I'd suspect of quietly abusing a bug like this bug for the last several months, but I digress.
Changelog

cl Ryll/Shaps
fix: Quickswapping clothing now properly unequips the swapped-out clothing, removing any traits they granted while worn
/cl

* Fixes quickswap letting you keep clothing traits

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2020-08-27 09:38:21 -04:00
SkyratBot
dc3663a8d1 [MIRROR] Adds an action speed modifier system (#522)
* Adds an action speed modifier system (#53023)

* Adds an action speed modifier system

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-08-26 01:40:42 +02:00
SkyratBot
f733bc21a8 [MIRROR] Mobility refactor and code cleanup - lacking appendages edition (#509)
* mobility refactor (#52929)

* Mobility refactor and code cleanup - lacking appendages edition

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-25 01:34:46 +02:00
SkyratBot
12cd35c594 Crit status refactor (#53117) (#500)
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-25 00:11:20 +02:00
SkyratBot
e65a48e91f [MIRROR] Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#430)
* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#52761)

Adds SIGNAL_HANDLER, a macro that sets SHOULD_NOT_SLEEP(TRUE). This should ideally be required on all new signal callbacks.

Adds BLOCKING_SIGNAL_HANDLER, a macro that does nothing except symbolize "this is an older signal that didn't necessitate a code rewrite". It should not be allowed for new work.

This comes from discussion around #52735, which yields by calling input, and (though it sets the return type beforehand) will not properly return the flag to prevent attack from slapping.

To fix 60% of the yielding cases, WrapAdminProcCall no longer waits for another admin's proc call to finish. I'm not an admin, so I don't know how many behinds this has saved, but if this is problematic for admins I can just make it so that it lets you do it anyway. I'm not sure what the point of this babysitting was anyway.

Requested by @optimumtact.
Changelog

cl
admin: Calling a proc while another admin is calling one will no longer wait for the first to finish. You will simply just have to call it again.
/cl

* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-19 20:17:28 -04:00
SkyratBot
fdfa5ee253 [MIRROR] Update stat panel to give round time days. (#395)
* Update stat panel to give round time days. (#52986)

* Update stat panel to give round time days.

Co-authored-by: WarlockD <warlockd@gmail.com>
2020-08-19 03:15:19 +02:00
SkyratBot
5246c4cd65 [MIRROR] Messages sent by yourself no longer highlight (#377)
* Messages sent by yourself no longer highlight (#52991)

* Messages sent by yourself no longer highlight

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-18 15:47:11 +01:00
SkyratBot
015b5a8247 [MIRROR] Telekinesis works on interacting with items. (#301)
* Telekinesis works on interacting with items. (#52834)

Rolls TK checks into baseline mob can_interact_with code.

TK check code unashamedly stolen from /mob/living/carbon/human/shared_living_ui_distance

This change touches every single can_interact interaction involving a mob and an atom, except /obj/machine which overrides can_interact without calling the parent and thus is unaffected by this change.

It enables any functionality that would require a can_interact() check to return TRUE. It effectively works alongside the adjacency check and comes into play if the adjacency check would fail.

* Telekinesis works on interacting with items.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-08-12 11:29:19 +01:00
SkyratBot
a00c65aad6 [MIRROR] Lazylists some /mob and /living stuff (#238)
* Lazylists some /mob and /living stuff (#52750)

* lazy

* Apply suggestions from code review

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Rohesie <rohesie@gmail.com>

* Lazylists some /mob and /living stuff

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-07 18:44:40 +01:00
SkyratBot
ee324ab3c2 [MIRROR] Cleanup up all instances of using var/ definitions in proc parameters. (#240)
* Cleanup up all instances of using var/ definitions in proc parameters. (#52728)

* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.

* Cleanup up all instances of using var/ definitions in proc parameters.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-08-07 18:26:21 +01:00
SkyratBot
b5ce584906 [MIRROR] Allows blind people to touch things to examine them (#231)
* Merge pull request #52727 from MrMelbert/touchyfeely

Allows blind people to touch things to examine them

* Allows blind people to touch things to examine them

Co-authored-by: skoglol <33292112+kriskog@users.noreply.github.com>
2020-08-07 11:08:02 +02:00
Gandalf
26eb610173 Blueshield [READY] [SEMI-MODULAR] (#127)
* Blueshield

* MODULAR NEXT

* MODULAR NEXT

Full modularisation complete.

* Update readme.md

* Update traitor_bro.dm

* Update blueshield.dm
2020-08-05 15:21:25 +01:00
SkyratBot
f6e0d4b92a [MIRROR] Fixes seeing audible emotes on runechat while deaf (#196)
* Fixes seeing audible emotes on runechat while deaf (#52584)

* deaf folk

* no blind

* Fixes seeing audible emotes on runechat while deaf

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-04 12:21:12 +02:00
SkyratBot
aac0a0626c [MIRROR] Admins can respawn (#139)
* Admins can respawn (#52567)

* respawn

* changes

* spawn

* R_ADMIN

* Admins can respawn

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-31 00:31:56 +02:00
skoglol
dd18f9efce Merge pull request #52479 from Wayland-Smithy/runechat_pref_fix
Fixes the "See runechat emotes" pref doing nothing
2020-07-26 11:31:13 -04:00
skoglol
f93e63f7d6 Merge pull request #52207 from Jared-Fogle/stasis-in-dorms-4
You can now take off clothes while on stasis
2020-07-23 12:02:39 -04:00
L
c55025a50f rename 2020-07-19 22:11:44 -03:00
L
9ee2907a68 runechat emotes 2020-07-19 22:11:44 -03:00
Ryll-Ryll
7f15be7f68 Merge branch 'master' into who-named-this-damned-proc 2020-07-11 23:30:49 -04:00
Ryll-Ryll
fc0b247738 rename 2020-07-11 23:23:23 -04:00
Ryll Ryll
4a481bc861 Adds eye contact (#52108)
* doesn't do it for me

* signal and hijinx

* creep stare

* less lazy code
2020-07-12 03:39:57 +10:00
ShizCalev
7503d6be47 Fixes buckled mobs sometimes z fighting with what they're buckled too 2020-07-04 04:04:00 -04:00
Rohesie
62802b2ba0 mobs no longer hard delete by default (#51887)
* hard delete

* doc
2020-06-30 10:43:06 -04:00
Jared-Fogle
3f893c4ba4 Animate pointing (#51751) 2020-06-20 13:30:38 +02:00
nemvar
b87f65d95e Converts ALL typepaths to lowercase (#51642)
* 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
2020-06-17 20:47:57 -03:00
Ryll Ryll
0f6496a55c [READY] Adds Medical Wounds: Bamboo Bones and the Skin of Your Teeth (#50558)
About The Pull Request

This PR adds medical wounds, new forms of injuries that people can suffer that cause debilitation and complications, and often require more than what can be found in a medkit to treat. But let's be honest, big complicated walls of text about medical changes make people's eyes glaze over easily- so I created a handy infograph to explain the basics!

Also there's a full guide here!

dreamseeker_2020-04-18_20-42-19.png

The infograph may not be fully up to date with the specifics of the PR's status, but it'll be updated along with major changes so people have something to use as a crash course for familiarizing themselves with how wounds function. I also have another infograph with all 9 of the possible initial wounds coming, and will be up soon. You can also find the longform design doc here with more info on the broad details, including descriptions of treatments: hackmd whee
What this does

There's a lot to cover, but here's the bullet points of the main features and changes:

    Getting lots of damage on a limb can result in wounds, with more damage causing worse wounds. These can range from dislocated joints and minor cuts to compound fractures and fourth degree burns, and can affect you in different ways depending on what bodypart they're applied to (namely with broken bones).
    You can damage individual bodyparts on clothing (only jumpsuits for now) through the use of lasers and sharp weapons. Bodyparts that reach max damage are considered "shredded" and will not apply any protection for that zone until it is repaired with cloth. If all zones are disabled, the entire piece of clothing is shredded and unwearable until repaired with 3 cloth. Jumpsuits give a small amount of wound protection, and since sharp weapons and lasers generally get extra wound bonuses against bare flesh, even a plain jumpsuit provides decent protection from a few laser shots or scalpel stabs.
    Lasers gain a powerful niche versus unarmored/lightly armored carbons! As noted above, lasers can shred clothing and burn away zones of jumpsuits in 2 shots each, after which the target's bare flesh is exposed (barring other clothing), and lasers excel at dealing burn wounds against uncovered skin. Think big, nasty charring!
    Bleeding is now totally limb based, and gauze is as well. Bleeding is also 95% cut wound based, meaning sharp weapons make you bleed rather than just having 40+ brute on a limb.
    The more wounds and damage you get on a bodypart, the easier it'll be to gain more severe wounds. Wounds are arranged from Moderate, to Severe, to Critical in increasing severity, and you'll generally have to suffer the lesser ones before getting the worse ones.

dreamseeker_2020-05-15_03-15-59.png
Above: Someone having an incredibly bad day from bloodloss

dreamseeker_2020-05-04_22-29-29.png
Above: Scars from healed wounds

ShareX_2020-05-15_06-55-20.png
Above: Actual combat involving someone's head getting cracked

Here's a quick, if non-exhaustive, list of things I have left to do before I consider it feature complete

Finish adding treatments for each wound type/severity (mostly surgeries/triage for critical wounds)
Add second winds for bad injuries to give the victim a chance to get away
Flesh out severe & critical injuries in general
Find sprites for the bonesetter, bone gel, and anything else that might be needed
Add the medical items for treating the less severe wounds to the station
Polish code and remove any redundancies I left behind

    Quick balance pass to make sure nothing is horribly abuseable

Why It's Good For The Game

Adds a flexible new system for representing damage on carbons with injuries that can be treated in different ways. Moderate wounds from getting toolboxed or sliced with a scalpel can usually be treated by a buddy or even by yourself with the right tools, but getting flayed with a fireaxe or a laser gun emptied into your bare skin may require extra attention or even surgery in bad cases! Also makes laser guns cooler and more like 40k lasguns that can flash fry people (cool!)

This should also make spessmen more resilient and harder to kill outright, while still adding consequences and complications to getting hurt. Wounds aren't immediately fatal, but they can do things like slow down interactions, deal damage over time through infections, and generally make you more fragile until fixed. They can also give you a "second wind" on being applied that gives you a small adrenaline boost (or whatever) to help disengage and escape immediate danger.
Changelog

🆑 Ryll/Shaps
add: Introduces medical wounds, new injuries that can happen to fleshy carbons when they sustain lots of damage on a bodypart. There's quite a lot of change here, but you can read the guide at: https://tgstation13.org/wiki/Guide_to_wounds and an extended changelog is available here: https://hackmd.io/l_FI9b3tSqa_woDadewJXA
add: Introduces scars and temporal scarring! Healing a wound leaves a scar behind that can be seen by examining someone twice rapidly, and if Temporal Scarring is enabled in character prefs, surviving a round with scars will save them to be granted at roundstart another round! Let your body tell stories!
tweak: Bleeding is now fully bodypart-focused, and 95% of bleeding comes from cut wounds from sharp weapons. Gauze is applied on a limb-by-limb basis, and helps staunch bloodflow rather than totally stop it. Notably, you no longer bleed just from having 40+ brute damage on a limb.
del: Organic bodyparts are no longer disabled at maximum damage, but are easier to cause wounds to
add: O2 medkits in emergency lockers have been replaced with new emergency medkits with basic tools for diagnosing and treating wounds and basic damage
tweak: Herapin now rapidly increases bleeding on all open cuts, rather than causing bleeding by itself. The more cuts on the target, the more it will affect them.
tweak: Neckgrab table slams now hit the targeted limb rather than just the head, with a large chance to dislocate or break a bone
tweak: Sharp weapons and burning weapons can now shred zones on jumpsuits, disabling protection on that limb. Damaged clothes can be repaired with cloth.
tweak: Slaughter demons now deal less raw damage, but gain the ability to cause cut wounds, which becomes more powerful with each attack on a humanoid but resets when bloodcrawling.
/🆑
2020-06-12 23:47:33 +12:00
Couls
c3c81454f5 Give a little (#50710)
Co-Authored-By: Jordan Brown <Cyberboss@users.noreply.github.com>
2020-05-08 19:41:25 -07:00
Akrilla
8b69eba77c Equipment Swapping (#50294)
About The Pull Request

Adds a new hotkey, defaulted to V, which allows for swapping out equipment after a small delay. After the delay, you'll equip the currently held item into it's most preferred slot, and swapping out what was worn/equipped currently. This also allows for swapping out jumpsuits without dropping your pocket contents, belt, etc.
Why It's Good For The Game

QoL change that feels intuitive, and helps equipping feel more fluid.
Changelog

🆑
add: Equipment swapping, defaulted to V. Allows you to equip items while swapping out what you're already wearing after a small delay.
/🆑
2020-04-17 20:33:05 +12:00
Cruix
e129b731ed Bug fixes (#50334)
* Fixed pointing runtime

* Fixed runtime allowing abductors to speak out loud

* Fixed being able to get two monkeys from each monkey cube

* Fixed being able to use camera consoles with the mech teleporter to teleport further than intended

* Fixed ninja suit never copying data from tech disk

* Fixed being able to tackle things not on a turf

* Rearranged ifs
2020-04-04 12:34:08 -07:00
Rohesie
b940ce3ff9 progressbar refactor (#50316) 2020-04-01 14:38:55 +08:00
Rohesie
0cf8f7cd9d Dynamic current_players lists rework (#50013)
* current player lists

* Docs
2020-03-21 17:05:13 +01:00
kevinz000
1b985a5d88 oh shit u right 2020-03-17 09:47:27 -07:00
kevinz000
2c25b2cdfd Merge branch 'master' into movespeed_modifiers_take_two 2020-03-10 00:59:01 -07:00
nightred
15452cac44 [READY] Two Handed Component (#49422)
About The Pull Request

For an item to be two handed just add this handy component.

All existing two handed items have been converted to use this component.
Why It's Good For The Game

It has components and signals, and now you can make items two handed so simply.

/obj/item/shockpaddles/ComponentInitialize()
	. = ..()
	AddComponent(/datum/component/two_handed)
2020-03-04 11:26:01 +13:00
kevinz000
350b9b7a29 Merge remote-tracking branch 'tgstation/master' into movespeed_modifiers_take_two 2020-03-01 06:50:37 -07:00
ShizCalev
df81c5be4a Fixes blindfolds not properly counting as being blind 2020-02-24 01:10:34 -05:00