Files
VOREStation/code/modules/projectiles/targeting/targeting_gun.dm
T
Kashargul 55a61bc38f up ports incorp and proximity handling (#17106)
* up ports inCorp and proximity handling

* anim size

* bullets no longer hit shadekin

* fix throwing and clicking

* use the proc

* and add the proc

* .

* No moving when you can't move

* fixes portal runtime

* No bonk when throwing at incorporeal entities

* MAR

- I coded in picking yourself up years ago and someone broke it (by adding a lying check). This unbreaks it. Additionally, picking yourself up was made immediate instead of a 0.5 delay since before hitting the U key was slow and doing it this way was quicker. That's not the case anymore.

- Makes attack_hand not happen if the person is incorporeal
- Makes you not  contract touch spread viruses when you click one someone and don't do an interaction (you will now always do an interaction)
- Makes it so you can't mousedrop items while phased.

* no more spreading viruses while phased  / to phased

* F

---------

Co-authored-by: C.L. <killer65311@gmail.com>
2025-03-01 12:09:35 -05:00

24 lines
679 B
Plaintext

//Removing the lock and the buttons.
/obj/item/gun/dropped(var/mob/living/user)
if(istype(user))
user.stop_aiming(src)
return ..()
/obj/item/gun/equipped(var/mob/living/user, var/slot)
if(istype(user) && (slot != slot_l_hand && slot != slot_r_hand))
user.stop_aiming(src)
return ..()
//Compute how to fire.....
//Return 1 if a target was found, 0 otherwise.
/obj/item/gun/proc/PreFire(var/atom/A, var/mob/living/user, var/params)
if(!user.aiming)
user.aiming = new(user)
user.face_atom(A)
if(ismob(A) && user.aiming)
user.aiming.aim_at(A, src)
if(!isliving(A) || A.is_incorporeal()) // Phase out can't be targetted when phased
return 0
return 1
return 0