-
-
Notifications
You must be signed in to change notification settings - Fork 681
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
Adds the ability to hold people at gunpoint. #9952
Adds the ability to hold people at gunpoint. #9952
Conversation
code/datums/components/aiming.dm
Outdated
UnregisterSignal(src.target, COMSIG_MOVABLE_NO_LONGER_PULLED) | ||
|
||
|
||
/datum/component/aiming/proc/shoot(var/damage_multiplier = 1) |
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.
The new parameter here doesn't seem to do anything, since the damage is handled by GUN_AIMED or GUN_AIMED_POINTBLANK being being passed to the gun.
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.
Yeah I was trying to do something else but forgot to remove this.
code/modules/projectiles/gun.dm
Outdated
process_fire(user, user, FALSE, params, shot_leg) | ||
user.dropItemToGround(src, TRUE) | ||
if(aimed == GUN_AIMED_POINTBLANK) | ||
to_chat(user, "<span class='userdanger>In a cruel twist of fate you fumble your grip and accidentally shoot yourself in the head!</span>") |
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.
You might want to consider checking for non-lethal weapons (although blowing your brain out with a disabler would be pretty funny).
code/datums/components/aiming.dm
Outdated
/datum/component/aiming/proc/setup_pointblank() | ||
holding_at_gunpoint = TRUE | ||
RegisterSignal(target, COMSIG_MOB_EQUIPPED_ITEM, PROC_REF(on_equip)) | ||
RegisterSignal(target, COMSIG_MOB_DROPPED_ITEM, PROC_REF(on_drop)) |
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.
Is there any particular reason you're re-registering EQUIPPED_ITEM and DROPPED_ITEM here? They're registered on proc/aim, and I can't see any way in which this gets called before aim does.
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.
Hmm yeah, since they're registered on aim() there's no point in registering them here.
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.
This might be too difficult in game to use effectively (people just walk away from the person doing it) but we will see how it goes. It can be made easier if need be or given special interactions like pushovers can always be held at gunpoint.
About The Pull Request
Adds the ability to hold people at gunpoint by pointing at them with a gun in hand.
To activate gunpoint you must be within 1 tile of someone. If you're not grabbing them you can press the button to grab them after a delay, then aggressive grab after another button press and delay.
While you're holding someone at gunpoint, you'll know if they'll equip/drop anything in hand or try to resist your grab.
If you shoot someone while holding them at a gunpoint, the bullet will do 4 times the damage. Clumsy people have a 40% chance of blowing their own brains out instead.
Why It's Good For The Game
Allows for more RP situations where an antagonist holds someone hostage, or interrogates someone while "persuading" them with a gun.
Testing Photographs and Procedure
Screenshots&Videos
https://cdn.discordapp.com/attachments/801432004058939422/1158835808502030396/bandicam_2023-10-03_21-33-27-232.mp4?ex=651db172&is=651c5ff2&hm=342fcc739bd45962f7cbc78dfa99e74d1c93f9c284171e720489831cd8b7083f&
Grabbing and upgrading grabs through the pointing menu.
bandicam.2023-10-03.22-28-47-113.mp4
Changelog
🆑
add: Added the ability to hold someone at gunpoint by pointing at them with a gun while they're aggressively grabbed by you. Shooting someone while holding them at a gunpoint will deal 4x the normal damage.
/:cl: