mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-13 09:05:11 +01:00
Being drunk or having a broken arm hurts accuracy with ranged weapons. Also cleans up a fair bit of hand handling to be more readable (#87904)
## About The Pull Request 1. Having a broken arm will affect your accuracy when firing a weapon with that arm, even potentially causing damage to you if it's a weapon with recoil. This effect is not applied under the effects of a painkiller. 2. The sister effect of this (punching someone with a broken arm) now also has an interact with painkillers (it can no longer block your attack). 3. Being drunk heavily affects ranged weapon accuracy, unless you're the bartender 4. A lot of hand handling cleanup, using new macros to make it a lot more readable at a glance ## Why It's Good For The Game We have this system for modifying firearm accuracy but we don't really use it commonly, and I feel like it slots in well with a lot of places For broken arms, it adds some more depth to the wound system, in the same way that trying to punch someone with a broken arm causes pain. (I actually want to expand this to melee weapon accuracy and attacking with melee weapons in general, but that's for a later time) For drunkenness, it just adds to the drunk shenanigans. It also slightly reduces the effectiveness of drinks as combat healing chemicals, such as quadsec - makes it a bit more of a trade off. ## Changelog 🆑 Melbert balance: Having a broken arm affects your accuracy with ranged weapons fired with that arm. Utilizing a painkiller will nullify this effect, however. balance: Painkillers will prevent your punches from being cancelled due to having a broken arm. You'll still take damage, though. balance: Being drunk now affects your accuracy with ranged weapon. The bartender is immune to this effect via their skillchip. code: A lot of code involving left and right hand handling has been cleaned up, easier to read. Report any oddities, like left and rights being flipped /🆑
This commit is contained in:
@@ -38,7 +38,7 @@
|
||||
|
||||
/datum/tutorial/switch_hands/proc/create_hand_preview(initial_screen_loc)
|
||||
hand_preview = animate_ui_element(
|
||||
"hand_[hand_to_watch % 2 == 0 ? "r" : "l"]",
|
||||
"hand_[user.held_index_to_dir(hand_to_watch)]",
|
||||
initial_screen_loc,
|
||||
ui_hand_position(hand_to_watch),
|
||||
TIME_TO_START_MOVING_HAND_ICON,
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
switch (stage)
|
||||
if (STAGE_SHOULD_SWAP_HAND)
|
||||
var/hand_name = hand_to_watch % 2 == 0 ? "right" : "left"
|
||||
var/hand_name = IS_RIGHT_INDEX(hand_to_watch) ? "right" : "left"
|
||||
show_instruction(keybinding_message(
|
||||
/datum/keybinding/mob/swap_hands,
|
||||
"Press '%KEY%' to use your [hand_name] hand",
|
||||
|
||||
Reference in New Issue
Block a user