From 2153f9ea35be974b71983f9c5ec13437aa1359c0 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 3 Aug 2020 17:36:40 +0100 Subject: [PATCH] i too, want people to be hit their ricochets --- code/modules/clothing/glasses/_glasses.dm | 7 +++++-- code/modules/projectiles/ammunition/_firing.dm | 1 + code/modules/projectiles/projectile.dm | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 5673c2b66c..39c9bcdadb 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -158,12 +158,15 @@ /obj/item/clothing/glasses/eyepatch/syndicate/equipped(mob/living/carbon/human/user, slot) . = ..() if(slot == SLOT_GLASSES) - user.visible_message("The cybernetic eyepatch beeps as you connect it to your eye, its circuitry embedding into your eye.") + user.visible_message("The cybernetic eyepatch's circuitry begins connecting to your eye as you put it on, making it immremovable.") ADD_TRAIT(user, TRAIT_INSANE_AIM, "SYNDICATE_EYEPATCH_AIM") ADD_TRAIT(src, TRAIT_NODROP, "SYNDICATE_EYEPATCH_NODROP") - /obj/item/clothing/glasses/eyepatch/syndicate/dropped(mob/living/carbon/human/user) REMOVE_TRAIT(user, TRAIT_INSANE_AIM, "SYNDICATE_EYEPATCH_AIM") + var/obj/item/organ/eyes/eyes = user.getorganslot(ORGAN_SLOT_EYES) + if(eyes) + eyes.applyOrganDamage(30) + user.visible_message("Your eye stings as the circuitry is removed from your eye!") /obj/item/clothing/glasses/monocle name = "monocle" diff --git a/code/modules/projectiles/ammunition/_firing.dm b/code/modules/projectiles/ammunition/_firing.dm index 3c38f4d783..437b7dcc5a 100644 --- a/code/modules/projectiles/ammunition/_firing.dm +++ b/code/modules/projectiles/ammunition/_firing.dm @@ -42,6 +42,7 @@ BB.ricochet_auto_aim_range = max(BB.ricochet_auto_aim_range, 3) BB.ricochet_auto_aim_angle = max(BB.ricochet_auto_aim_angle, 360) //it can turn full circle and shoot you in the face because our aim? is insane. BB.ricochet_decay_chance = 0 + BB.ricochet_decay_damage = max(BB.ricochet_decay_damage, 0.1) BB.ricochet_incidence_leeway = 0 if(reagents && BB.reagents) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index faa96b3e61..75ae93a83f 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -659,7 +659,8 @@ if(!ignore_source_check && firer) var/mob/M = firer if((target == firer) || ((target == firer.loc) && ismecha(firer.loc)) || (target in firer.buckled_mobs) || (istype(M) && (M.buckled == target))) - return FALSE + if(!ricochets) //if it has ricocheted, it can hit the firer. + return FALSE if(!ignore_loc && (loc != target.loc)) return FALSE if(target in passthrough)