-
Notifications
You must be signed in to change notification settings - Fork 523
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes humans unable to use vehicle gunner seat #6247
Conversation
reverts seat logic change, grants all humanoids the thumbs trait, fixes a stack-trace from double-buckling
Somewhere in the mess of |
before only humans got checked for thumbs, now all users do
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So looking at this closer, there currently appear to be side effects of us giving this trait to humans that we need to rectify. For example,
Lines 189 to 195 in 1f79350
/datum/action/item_action/can_use_action() | |
if(ishuman(owner) && !owner.is_mob_incapacitated()) | |
var/mob/living/carbon/human/human = owner | |
if(human.body_position == STANDING_UP) | |
return TRUE | |
if((HAS_TRAIT(owner, TRAIT_OPPOSABLE_THUMBS)) && !owner.is_mob_incapacitated()) | |
return TRUE |
body_position
doesn't need to be for a human, its a living mob variable.
To me it seems like we could refactor this proc to below because I don't see much reason why xenos should be able to do this not standing up either (though I don't even know what actions this allows them to do):
if(!HAS_TRAIT(owner, TRAIT_OPPOSABLE_THUMBS))
return FALSE
if(!isliving(owner))
return FALSE
var/mob/living/living_mob = owner
if(living_mob.body_position != STANDING_UP)
return FALSE
return TRUE
So please take a look at the uses of TRAIT_OPPOSABLE_THUMBS
and mitigate situations where a human would then fall into that xeno w/ thumbs case and have less restrictions, or maybe just consider fixing it the opposite way instead.
But maybe this then ought to just be a xeno exclusive trait and we just fix the opposite problems.
Also of note /mob/living/carbon/xenomorph/IsAdvancedToolUser()
will currently return true for xenos w/ thumbs, but that also makes
cmss13/code/modules/projectiles/gun.dm
Line 1528 in 1f79350
if(!user.IsAdvancedToolUser() && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) |
To me it looks like these are currently problematic with the current implementation:
- /datum/action/item_action/can_use_action()
- /obj/structure/machinery/cm_vending/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) // drops squad restriction
- /obj/structure/machinery/cm_vending/proc/can_access_to_vend(mob/user, display = TRUE, ignore_hack = FALSE) // drops all restrictions
seats check unnecessary as un-thumbed xenos are stopped earlier
I agree there are likely more issues stemming from the April Fools' PR and the tangle of What I have right now is:
So currently humans can use the gunner seat, thumbless xenos can't use the gunner seat, thumbed xenos can use the gunner seat. |
About the pull request
Fixes #6246
Explain why it's good for the game
Vehicle gunnery is meant to be used by humans.
Testing Photographs and Procedure
Screenshots & Videos
Put screenshots and videos here with an empty line between the screenshots and the
<details>
tags.Changelog
🆑
fix: humans can use vehicle gunner seats again
/:cl: