diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index 42e9e5cbde6..7a740854635 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -127,6 +127,7 @@ #define COMPONENT_NO_ATTACK_OBJ 1 #define COMSIG_ITEM_PRE_ATTACK "item_pre_attack" //from base of obj/item/pre_attack(): (atom/target, mob/user, params) #define COMPONENT_NO_ATTACK 1 +#define COMSIG_ITEM_AFTERATTACK "item_afterattack" //from base of obj/item/afterattack(): (atom/target, mob/user, params) #define COMSIG_ITEM_EQUIPPED "item_equip" //from base of obj/item/equipped(): (/mob/equipper, slot) #define COMSIG_ITEM_DROPPED "item_drop" //from base of obj/item/dropped(): (mob/user) #define COMSIG_ITEM_PICKUP "item_pickup" //from base of obj/item/pickup(): (/mob/taker) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 4265f064cc5..1bc72b1b34c 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -117,7 +117,7 @@ // Proximity_flag is 1 if this afterattack was called on something adjacent, in your square, or on your person. // Click parameters is the params string from byond Click() code, see that documentation. /obj/item/proc/afterattack(atom/target, mob/user, proximity_flag, click_parameters) - return + SEND_SIGNAL(src, COMSIG_ITEM_AFTERATTACK, target, user, proximity_flag, click_parameters) /obj/item/proc/get_clamped_volume() diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 85e7958b531..12b1ca2784f 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -120,6 +120,7 @@ update_icon() /obj/item/tk_grab/afterattack(atom/target, mob/living/carbon/user, proximity, params)//TODO: go over this + . = ..() if(!target || !user) return diff --git a/code/datums/wires/explosive.dm b/code/datums/wires/explosive.dm index d8b256d3625..b31ace5dc04 100644 --- a/code/datums/wires/explosive.dm +++ b/code/datums/wires/explosive.dm @@ -23,7 +23,7 @@ /datum/wires/explosive/c4/explode() var/obj/item/grenade/plastic/c4/P = holder - P.explode() + P.prime() /datum/wires/explosive/pizza diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 03225102c26..627ce360f45 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -373,6 +373,7 @@ RLD return FALSE /obj/item/construction/rcd/afterattack(atom/A, mob/user, proximity) + . = ..() if(!prox_check(proximity)) return rcd_create(A, user) @@ -479,6 +480,7 @@ RLD has_ammobar = FALSE /obj/item/construction/rcd/arcd/afterattack(atom/A, mob/user) + . = ..() if(!range_check(A,user)) return if(target_check(A,user)) @@ -549,6 +551,7 @@ RLD /obj/item/construction/rld/afterattack(atom/A, mob/user) + . = ..() if(!range_check(A,user)) return var/turf/start = get_turf(src) diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm index 95638ad5e2f..f0d15cc3a2c 100644 --- a/code/game/objects/items/RSF.dm +++ b/code/game/objects/items/RSF.dm @@ -62,6 +62,7 @@ RSF // Change mode /obj/item/rsf/afterattack(atom/A, mob/user, proximity) + . = ..() if(!proximity) return if (!(istype(A, /obj/structure/table) || isfloorturf(A))) @@ -159,6 +160,7 @@ RSF matter++ /obj/item/cookiesynth/afterattack(atom/A, mob/user, proximity) + . = ..() if(cooldown > world.time) return if(!proximity) diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index 4e2b0baf75a..d0b732cf420 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -11,6 +11,7 @@ deploy_bodybag(user, user.loc) /obj/item/bodybag/afterattack(atom/target, mob/user, proximity) + . = ..() if(proximity) if(isopenturf(target)) deploy_bodybag(user, target) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 7f750855f10..2ff9d1e850f 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -91,6 +91,7 @@ return /obj/item/card/emag/afterattack(atom/target, mob/user, proximity) + . = ..() var/atom/A = target if(!proximity && prox_check) return diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index e28d86e7e67..d8fef9ec6e1 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -144,6 +144,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM return ..() /obj/item/clothing/mask/cigarette/afterattack(obj/item/reagent_containers/glass/glass, mob/user, proximity) + . = ..() if(!proximity || lit) //can't dip if cigarette is lit (it will heat the reagents in the glass instead) return if(istype(glass)) //you can dip cigarettes into beakers @@ -681,6 +682,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM w_class = WEIGHT_CLASS_TINY /obj/item/rollingpaper/afterattack(atom/target, mob/user, proximity) + . = ..() if(!proximity) return if(istype(target, /obj/item/reagent_containers/food/snacks/grown)) @@ -696,8 +698,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM R.desc = "Dried [target.name] rolled up in a thin piece of paper." else to_chat(user, "You need to dry this first!") - else - ..() /////////////// //VAPE NATION// diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm index 70b0d933446..6ed265c403b 100644 --- a/code/game/objects/items/clown_items.dm +++ b/code/game/objects/items/clown_items.dm @@ -57,6 +57,7 @@ return (TOXLOSS) /obj/item/soap/afterattack(atom/target, mob/user, proximity) + . = ..() if(!proximity || !check_allowed_items(target)) return //I couldn't feasibly fix the overlay bugs caused by cleaning items we are wearing. diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm index d389679e2bf..c9dc8c6c167 100644 --- a/code/game/objects/items/control_wand.dm +++ b/code/game/objects/items/control_wand.dm @@ -32,6 +32,7 @@ // Airlock remote works by sending NTNet packets to whatever it's pointed at. /obj/item/door_remote/afterattack(atom/A, mob/user) + . = ..() GET_COMPONENT_FROM(target_interface, /datum/component/ntnet_interface, A) if(!target_interface) diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index a9b5924a71c..69d5eeabb20 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -241,6 +241,7 @@ return jointext(out,"") /obj/item/toy/crayon/afterattack(atom/target, mob/user, proximity, params) + . = ..() if(!proximity || !check_allowed_items(target)) return diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 389934b778d..f94cdc241ed 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -835,6 +835,7 @@ GLOBAL_LIST_EMPTY(PDAs) user.show_message("No radiation detected.") /obj/item/pda/afterattack(atom/A as mob|obj|turf|area, mob/user, proximity) + . = ..() if(!proximity) return switch(scanmode) diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index 740f22edb47..5177cb2159d 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -17,7 +17,7 @@ return BRUTELOSS /obj/item/aicard/afterattack(atom/target, mob/user, proximity) - ..() + . = ..() if(!proximity || !target) return if(AI) //AI is on the card, implies user wants to upload it. diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index 6544a883f3c..eff75e224ea 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -36,6 +36,7 @@ to_chat(user, "You can't use [src] while inside something!") /obj/item/chameleon/afterattack(atom/target, mob/user , proximity) + . = ..() if(!proximity) return if(!check_sprite(target)) diff --git a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm index 2341a78bbad..b909e7a1e81 100644 --- a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm +++ b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm @@ -47,6 +47,7 @@ return TRUE //The actual circuit magic itself is done on a per-object basis /obj/item/electroadaptive_pseudocircuit/afterattack(atom/target, mob/living/user, proximity) + . = ..() if(!proximity) return if(!is_type_in_typecache(target, recycleable_circuits)) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index fee24617603..0a6c3b4e421 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -168,6 +168,7 @@ var/holo_cooldown = 0 /obj/item/flashlight/pen/afterattack(atom/target, mob/user, proximity_flag) + . = ..() if(!proximity_flag) if(holo_cooldown > world.time) to_chat(user, "[src] is not ready yet!") @@ -177,7 +178,6 @@ new /obj/effect/temp_visual/medical_holosign(T,user) //produce a holographic glow holo_cooldown = world.time + 100 return - ..() /obj/effect/temp_visual/medical_holosign name = "medical holosign" @@ -380,6 +380,7 @@ return /obj/item/flashlight/emp/afterattack(atom/movable/A, mob/user, proximity) + . = ..() if(!proximity) return diff --git a/code/game/objects/items/devices/forcefieldprojector.dm b/code/game/objects/items/devices/forcefieldprojector.dm index d8dce7c4277..0792c7c193d 100644 --- a/code/game/objects/items/devices/forcefieldprojector.dm +++ b/code/game/objects/items/devices/forcefieldprojector.dm @@ -17,6 +17,7 @@ var/field_distance_limit = 7 /obj/item/forcefield/afterattack(atom/target, mob/user, proximity_flag) + . = ..() if(!check_allowed_items(target, 1)) return if(istype(target, /obj/structure/projected_forcefield)) diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index fb4f4f85664..439c8957890 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -132,6 +132,7 @@ to_chat(user, "[icon2html(src, user)] You switch [scanning ? "on" : "off"] [src].") /obj/item/geiger_counter/afterattack(atom/target, mob/user) + . = ..() if(user.a_intent == INTENT_HELP) if(!(obj_flags & EMAGGED)) user.visible_message("[user] scans [target] with [src].", "You scan [target]'s radiation levels with [src]...") @@ -141,7 +142,6 @@ target.rad_act(radiation_count) radiation_count = 0 return TRUE - return ..() /obj/item/geiger_counter/proc/scan(atom/A, mob/user) var/rad_strength = 0 diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index f9ea6a6be4a..b00cff95cb1 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -57,6 +57,7 @@ return ..() /obj/item/laser_pointer/afterattack(atom/target, mob/living/user, flag, params) + . = ..() laser_act(target, user, params) /obj/item/laser_pointer/proc/laser_act(atom/target, mob/living/user, params) diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index a59fa11fa6d..6615ebe8a87 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -239,6 +239,7 @@ return 0 /obj/item/lightreplacer/afterattack(atom/T, mob/U, proximity) + . = ..() if(!proximity) return if(!isturf(T)) diff --git a/code/game/objects/items/devices/pipe_painter.dm b/code/game/objects/items/devices/pipe_painter.dm index 6415b105b5d..567cb0c73d6 100644 --- a/code/game/objects/items/devices/pipe_painter.dm +++ b/code/game/objects/items/devices/pipe_painter.dm @@ -9,6 +9,7 @@ materials = list(MAT_METAL=5000, MAT_GLASS=2000) /obj/item/pipe_painter/afterattack(atom/A, mob/user, proximity_flag) + . = ..() //Make sure we only paint adjacent items if(!proximity_flag) return diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index 6b8b96364ca..67fe9ba138f 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -120,6 +120,7 @@ return 0 /obj/item/extinguisher/afterattack(atom/target, mob/user , flag) + . = ..() // Make it so the extinguisher doesn't spray yourself when you click your inventory items if (target.loc == user) return @@ -201,9 +202,6 @@ break sleep(2) - else - return ..() - /obj/item/extinguisher/AltClick(mob/user) if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user))) return diff --git a/code/game/objects/items/flamethrower.dm b/code/game/objects/items/flamethrower.dm index 375b6336b5e..116d0d34cae 100644 --- a/code/game/objects/items/flamethrower.dm +++ b/code/game/objects/items/flamethrower.dm @@ -66,6 +66,7 @@ return /obj/item/flamethrower/afterattack(atom/target, mob/user, flag) + . = ..() if(flag) return // too close if(ishuman(user)) diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index 37dc206099b..ffe61ee5fa0 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -99,6 +99,7 @@ to_chat(user, "Timer set for [det_time] seconds.") /obj/item/grenade/plastic/afterattack(atom/movable/AM, mob/user, flag) + . = ..() aim_dir = get_dir(user,AM) if(!flag) return @@ -171,7 +172,6 @@ name = "C4" desc = "Used to put holes in specific areas without too much extra hole. A saboteur's favorite." gender = PLURAL - var/timer = 10 var/open_panel = 0 can_attach_mob = TRUE @@ -192,7 +192,7 @@ message_admins("[ADMIN_LOOKUPFLW(user)] suicided with [name] at [ADMIN_VERBOSEJMP(src)]") log_game("[key_name(user)] suicided with [name] at [AREACOORD(user)]") sleep(10) - explode(get_turf(user)) + prime() user.gib(1, 1) /obj/item/grenade/plastic/c4/attackby(obj/item/I, mob/user, params) @@ -204,41 +204,7 @@ else return ..() -/obj/item/grenade/plastic/c4/attack_self(mob/user) - var/newtime = input(usr, "Please set the timer.", "Timer", 10) as num - if(user.get_active_held_item() == src) - newtime = CLAMP(newtime, 10, 60000) - timer = newtime - to_chat(user, "Timer set for [timer] seconds.") - -/obj/item/grenade/plastic/c4/afterattack(atom/movable/AM, mob/user, flag) - if (!flag) - return - if(ismob(AM) && !can_attach_mob) - return - if(loc == AM) - return - if(SEND_SIGNAL(AM, COMSIG_CONTAINS_STORAGE) && !SEND_SIGNAL(AM, COMSIG_IS_STORAGE_LOCKED)) - return - - to_chat(user, "You start planting the bomb...") - - if(do_after(user, 30, target = AM)) - if(!user.temporarilyRemoveItemFromInventory(src)) - return - src.target = AM - moveToNullspace() - - var/message = "[ADMIN_LOOKUPFLW(user)] planted [name] on [target.name] at [ADMIN_VERBOSEJMP(target)] with [timer] second fuse" - GLOB.bombers += message - message_admins(message,0,1) - log_game("[key_name(user)] planted [name] on [target.name] at [AREACOORD(target)] with [timer] second fuse") - - target.add_overlay(plastic_overlay, TRUE) - to_chat(user, "You plant the bomb. Timer counting down from [timer].") - addtimer(CALLBACK(src, .proc/explode), timer * 10) - -/obj/item/grenade/plastic/c4/proc/explode() +/obj/item/grenade/plastic/c4/prime() if(QDELETED(src)) return var/turf/location diff --git a/code/game/objects/items/holosign_creator.dm b/code/game/objects/items/holosign_creator.dm index 654afba29df..2549c85a7d7 100644 --- a/code/game/objects/items/holosign_creator.dm +++ b/code/game/objects/items/holosign_creator.dm @@ -19,6 +19,7 @@ var/holocreator_busy = FALSE //to prevent placing multiple holo barriers at once /obj/item/holosign_creator/afterattack(atom/target, mob/user, flag) + . = ..() if(flag) if(!check_allowed_items(target, 1)) return diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 4c38752e283..07c566f44b2 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -503,6 +503,7 @@ hitsound = 'sound/weapons/blade1.ogg' /obj/item/nullrod/pride_hammer/afterattack(atom/A as mob|obj|turf|area, mob/user, proximity) + . = ..() if(!proximity) return if(prob(30) && ishuman(A)) diff --git a/code/game/objects/items/hot_potato.dm b/code/game/objects/items/hot_potato.dm index eefa302032f..c24a84a6236 100644 --- a/code/game/objects/items/hot_potato.dm +++ b/code/game/objects/items/hot_potato.dm @@ -91,8 +91,9 @@ to_chat(user, "You have a really bad feeling about [src]!") /obj/item/hot_potato/afterattack(atom/target, mob/user, adjacent, params) + . = ..() if(!adjacent || !ismob(target)) - return ..() + return force_onto(target, user) /obj/item/hot_potato/proc/force_onto(mob/living/victim, mob/user) diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index c9e1e2811a2..39e7c95b99d 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -281,11 +281,11 @@ consume_turf(T) /obj/item/melee/supermatter_sword/afterattack(target, mob/user, proximity_flag) + . = ..() if(user && target == user) user.dropItemToGround(src) if(proximity_flag) consume_everything(target) - ..() /obj/item/melee/supermatter_sword/throw_impact(target) ..() @@ -355,11 +355,11 @@ hitsound = 'sound/weapons/chainhit.ogg' /obj/item/melee/curator_whip/afterattack(target, mob/user, proximity_flag) + . = ..() if(ishuman(target) && proximity_flag) var/mob/living/carbon/human/H = target H.drop_all_held_items() H.visible_message("[user] disarms [H]!", "[user] disarmed you!") - ..() /obj/item/melee/roastingstick name = "advanced roasting stick" @@ -441,6 +441,7 @@ update_icon() /obj/item/melee/roastingstick/afterattack(atom/target, mob/user, proximity) + . = ..() if (!on) return if (is_type_in_typecache(target, ovens)) diff --git a/code/game/objects/items/mop.dm b/code/game/objects/items/mop.dm index 3601c43651f..c5e92c47062 100644 --- a/code/game/objects/items/mop.dm +++ b/code/game/objects/items/mop.dm @@ -35,6 +35,7 @@ /obj/item/mop/afterattack(atom/A, mob/user, proximity) + . = ..() if(!proximity) return diff --git a/code/game/objects/items/paint.dm b/code/game/objects/items/paint.dm index dd6fc77906a..c81fd082745 100644 --- a/code/game/objects/items/paint.dm +++ b/code/game/objects/items/paint.dm @@ -79,6 +79,7 @@ /obj/item/paint/afterattack(turf/target, mob/user, proximity) + . = ..() if(!proximity) return if(paintleft <= 0) @@ -96,6 +97,7 @@ icon_state = "paint_neutral" /obj/item/paint/paint_remover/afterattack(turf/target, mob/user, proximity) + . = ..() if(!proximity) return if(istype(target) && target.color != initial(target.color)) diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index 54fa046019b..752859143b5 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -126,6 +126,7 @@ return TRUE /obj/item/pneumatic_cannon/afterattack(atom/target, mob/living/user, flag, params) + . = ..() if(flag && user.a_intent == INTENT_HARM) //melee attack return if(!istype(user)) diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index 696168d69d0..316298296f5 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -288,6 +288,7 @@ /obj/item/godstaff/afterattack(atom/target, mob/user, proximity_flag, click_parameters) + . = ..() if(staffcooldown + staffwait > world.time) return user.visible_message("[user] chants deeply and waves [user.p_their()] staff!") diff --git a/code/game/objects/items/robot/ai_upgrades.dm b/code/game/objects/items/robot/ai_upgrades.dm index 63906ff5bad..7f7780d3a4c 100644 --- a/code/game/objects/items/robot/ai_upgrades.dm +++ b/code/game/objects/items/robot/ai_upgrades.dm @@ -10,6 +10,7 @@ /obj/item/malf_upgrade/afterattack(mob/living/silicon/ai/AI, mob/user) + . = ..() if(!istype(AI)) return if(AI.malf_picker) @@ -30,6 +31,7 @@ icon_state = "datadisk3" /obj/item/surveillance_upgrade/afterattack(mob/living/silicon/ai/AI, mob/user) + . = ..() if(!istype(AI)) return if(AI.eyeobj) diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index ecf7abe1d38..e98b7984943 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -172,6 +172,7 @@ update_icon() /obj/item/borg/charger/afterattack(obj/item/target, mob/living/silicon/robot/user, proximity_flag) + . = ..() if(!proximity_flag || !iscyborg(user)) return if(mode == "draw") @@ -448,6 +449,7 @@ check_amount() /obj/item/borg/lollipop/afterattack(atom/target, mob/living/user, proximity, click_params) + . = ..() check_amount() if(iscyborg(user)) var/mob/living/silicon/robot/R = user diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index 11248aad50c..1fe57d151f0 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -57,6 +57,7 @@ return /obj/item/twohanded/singularityhammer/afterattack(atom/A as mob|obj|turf|area, mob/user, proximity) + . = ..() if(!proximity) return if(wielded) diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index a6e2d255fbe..77b669ec527 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -268,6 +268,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( pixel_y = rand(-5, 5) /obj/item/shard/afterattack(atom/A as mob|obj, mob/user, proximity) + . = ..() if(!proximity || !(src in user)) return if(isturf(A)) diff --git a/code/game/objects/items/stacks/telecrystal.dm b/code/game/objects/items/stacks/telecrystal.dm index ec1e7b87736..c1fb3965293 100644 --- a/code/game/objects/items/stacks/telecrystal.dm +++ b/code/game/objects/items/stacks/telecrystal.dm @@ -21,6 +21,7 @@ return ..() /obj/item/stack/telecrystal/afterattack(obj/item/I, mob/user, proximity) + . = ..() if(istype(I, /obj/item/cartridge/virus/frame)) var/obj/item/cartridge/virus/frame/cart = I if(!cart.charges) @@ -29,8 +30,6 @@ cart.telecrystals += amount use(amount) to_chat(user, "You slot [src] into [cart]. The next time it's used, it will also give telecrystals.") - else - return ..() /obj/item/stack/telecrystal/five amount = 5 diff --git a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm index 3e5c9c2ba99..1225998a2cd 100644 --- a/code/game/objects/items/stacks/wrap.dm +++ b/code/game/objects/items/stacks/wrap.dm @@ -61,6 +61,7 @@ return 0 /obj/item/stack/packageWrap/afterattack(obj/target, mob/user, proximity) + . = ..() if(!proximity) return if(!istype(target)) diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index 1066e1394c1..50e943fe1e6 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -153,6 +153,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", playsound(src.loc, "punch", 25, 1, -1) /obj/item/storage/book/bible/afterattack(atom/A, mob/user, proximity) + . = ..() if(!proximity) return if(isfloorturf(A)) diff --git a/code/game/objects/items/taster.dm b/code/game/objects/items/taster.dm index 5f88f06af43..8363c63c2cd 100644 --- a/code/game/objects/items/taster.dm +++ b/code/game/objects/items/taster.dm @@ -12,6 +12,7 @@ return list() /obj/item/taster/afterattack(atom/O, mob/user, proximity) + . = ..() if(!proximity) return diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index c343abaa686..0c74f610df4 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -229,6 +229,7 @@ icon_state = "supermatter_tongs" /obj/item/hemostat/supermatter/afterattack(atom/O, mob/user, proximity) + . = ..() if(!sliver) return if(ismovableatom(O) && O != sliver) diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 4707ba9b474..db517ddb666 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -120,6 +120,7 @@ /obj/item/weldingtool/afterattack(atom/O, mob/user, proximity) + . = ..() if(!proximity) return if(!status && O.is_refillable()) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 94ce5d96a5d..fd41b80bdb9 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -51,6 +51,7 @@ return /obj/item/toy/balloon/afterattack(atom/A as mob|obj, mob/user, proximity) + . = ..() if(!proximity) return if (istype(A, /obj/structure/reagent_dispensers)) @@ -176,6 +177,7 @@ return ..() /obj/item/toy/gun/afterattack(atom/target as mob|obj|turf|area, mob/user, flag) + . = ..() if (flag) return if (!user.IsAdvancedToolUser()) @@ -1033,6 +1035,7 @@ throwforce = 12 //pelt your enemies to death with lumps of snow /obj/item/toy/snowball/afterattack(atom/target as mob|obj|turf|area, mob/user) + . = ..() if(user.dropItemToGround(src)) throw_at(target, throw_range, throw_speed) @@ -1052,6 +1055,7 @@ w_class = WEIGHT_CLASS_BULKY //Stops people from hiding it in their bags/pockets /obj/item/toy/beach_ball/afterattack(atom/target as mob|obj|turf|area, mob/user) + . = ..() if(user.dropItemToGround(src)) throw_at(target, throw_range, throw_speed) diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index f1c766e90c6..267411a39a4 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -247,6 +247,7 @@ return (BRUTELOSS) /obj/item/twohanded/fireaxe/afterattack(atom/A, mob/user, proximity) + . = ..() if(!proximity) return if(wielded) //destroys windows and grilles in one hit @@ -505,6 +506,7 @@ icon_state = "spearglass[wielded]" /obj/item/twohanded/spear/afterattack(atom/movable/AM, mob/user, proximity) + . = ..() if(!proximity) return if(isopenturf(AM)) //So you can actually melee with it @@ -635,7 +637,7 @@ attack_verb = list("gored") /obj/item/twohanded/spear/grey_tide/afterattack(atom/movable/AM, mob/living/user, proximity) - ..() + . = ..() if(!proximity) return user.faction |= "greytide([REF(user)])" @@ -716,6 +718,7 @@ ..() /obj/item/twohanded/pitchfork/demonic/ascended/afterattack(atom/target, mob/user, proximity) + . = ..() if(!proximity || !wielded) return if(iswallturf(target)) @@ -725,7 +728,6 @@ W.break_wall() W.ScrapeAway() return - ..() //HF blade diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 9ee281e62dc..e8242118692 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -579,6 +579,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/melee/flyswatter/afterattack(atom/target, mob/user, proximity_flag) + . = ..() if(proximity_flag) if(is_type_in_typecache(target, strong_against)) new /obj/effect/decal/cleanable/insectguts(target.drop_location()) diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index e8f326856af..12dcb979037 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -127,6 +127,7 @@ deploy_roller(user, user.loc) /obj/item/roller/afterattack(obj/target, mob/user , proximity) + . = ..() if(!proximity) return if(isopenturf(target)) diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index 47278179454..f75ae912fac 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -307,7 +307,7 @@ return 0 /obj/item/chair/afterattack(atom/target, mob/living/carbon/user, proximity) - ..() + . = ..() if(!proximity) return if(prob(break_chance)) diff --git a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm index df145baf940..aa55cd81b1e 100644 --- a/code/game/objects/structures/manned_turret.dm +++ b/code/game/objects/structures/manned_turret.dm @@ -208,7 +208,7 @@ add_fingerprint(user) /obj/item/gun_control/afterattack(atom/targeted_atom, mob/user, flag, params) - ..() + . = ..() var/obj/machinery/manned_turret/E = user.buckled E.calculated_projectile_vars = calculate_projectile_angle_and_pixel_offsets(user, params) E.direction_track(user, targeted_atom) diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm index ad943ff9fc4..56b43a289b3 100644 --- a/code/game/objects/structures/signs/_signs.dm +++ b/code/game/objects/structures/signs/_signs.dm @@ -103,6 +103,7 @@ var/sign_path = /obj/structure/sign/basic //the type of sign that will be created when placed on a turf /obj/item/sign_backing/afterattack(atom/target, mob/user, proximity) + . = ..() if(isturf(target) && proximity) var/turf/T = target user.visible_message("[user] fastens [src] to [T].", \ @@ -111,8 +112,6 @@ var/obj/structure/sign/S = new sign_path(T) S.setDir(dir) qdel(src) - else - return ..() /obj/item/sign_backing/Move(atom/new_loc, direct = 0) // pulling, throwing, or conveying a sign backing does not rotate it diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index f19521e8216..75bff75b62e 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -190,6 +190,7 @@ /obj/item/abductor/gizmo/afterattack(atom/target, mob/living/user, flag, params) + . = ..() if(flag) return if(!ScientistCheck(user)) @@ -251,6 +252,7 @@ radio_off(M, user) /obj/item/abductor/silencer/afterattack(atom/target, mob/living/user, flag, params) + . = ..() if(flag) return if(!AbductorCheck(user)) @@ -303,6 +305,7 @@ to_chat(user, "You switch the device to [mode==MIND_DEVICE_MESSAGE? "TRANSMISSION": "COMMAND"] MODE") /obj/item/abductor/mind_device/afterattack(atom/target, mob/living/user, flag, params) + . = ..() if(!ScientistCheck(user)) return diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index 08fe6bd0cec..091e75b0754 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -159,6 +159,7 @@ attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharpness = IS_SHARP var/can_drop = FALSE + var/fake = FALSE /obj/item/melee/arm_blade/Initialize(mapload,silent,synthetic) . = ..() @@ -169,6 +170,7 @@ AddComponent(/datum/component/butchering, 60, 80) /obj/item/melee/arm_blade/afterattack(atom/target, mob/user, proximity) + . = ..() if(!proximity) return if(istype(target, /obj/structure/table)) diff --git a/code/modules/antagonists/changeling/powers/tiny_prick.dm b/code/modules/antagonists/changeling/powers/tiny_prick.dm index a801c87ac20..757d69a3848 100644 --- a/code/modules/antagonists/changeling/powers/tiny_prick.dm +++ b/code/modules/antagonists/changeling/powers/tiny_prick.dm @@ -119,9 +119,7 @@ /obj/item/melee/arm_blade/false desc = "A grotesque mass of flesh that used to be your arm. Although it looks dangerous at first, you can tell it's actually quite dull and useless." force = 5 //Basically as strong as a punch - -/obj/item/melee/arm_blade/false/afterattack(atom/target, mob/user, proximity) - return + fake = TRUE /obj/effect/proc_holder/changeling/sting/false_armblade/can_sting(mob/user, mob/target) if(!..()) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 847b49c354c..441d08bcd94 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -383,6 +383,7 @@ M.lastattackerckey = user.ckey /obj/item/melee/blood_magic/afterattack(atom/target, mob/living/carbon/user, proximity) + . = ..() if(invocation) user.whisper(invocation, language = /datum/language/common) if(health_cost) diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index e1710dae96a..337375c5054 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -804,6 +804,7 @@ /obj/item/blood_beam/afterattack(atom/A, mob/living/user, flag, params) + . = ..() if(firing || charging) return var/C = user.client diff --git a/code/modules/cargo/export_scanner.dm b/code/modules/cargo/export_scanner.dm index 2113696e908..25a2fd21b27 100644 --- a/code/modules/cargo/export_scanner.dm +++ b/code/modules/cargo/export_scanner.dm @@ -17,6 +17,7 @@ to_chat(user, "[src] is not currently linked to a cargo console.") /obj/item/export_scanner/afterattack(obj/O, mob/user, proximity) + . = ..() if(!istype(O) || !proximity) return diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index 59f7a1c3873..dc866977777 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -219,7 +219,7 @@ icon_state = "electricity2" /obj/item/wizard_armour_charge/afterattack(obj/item/clothing/suit/space/hardsuit/shielded/wizard/W, mob/user) - ..() + . = ..() if(!istype(W)) to_chat(user, "The rune can only be used on battlemage armour!") return diff --git a/code/modules/detectivework/evidence.dm b/code/modules/detectivework/evidence.dm index a97758e2948..a3b17a4c1f5 100644 --- a/code/modules/detectivework/evidence.dm +++ b/code/modules/detectivework/evidence.dm @@ -9,6 +9,7 @@ w_class = WEIGHT_CLASS_TINY /obj/item/evidencebag/afterattack(obj/item/I, mob/user,proximity) + . = ..() if(!proximity || loc == I) return evidencebagEquip(I, user) diff --git a/code/modules/detectivework/footprints_and_rag.dm b/code/modules/detectivework/footprints_and_rag.dm index 50a845a6892..6c684c4ecad 100644 --- a/code/modules/detectivework/footprints_and_rag.dm +++ b/code/modules/detectivework/footprints_and_rag.dm @@ -24,6 +24,7 @@ return (OXYLOSS) /obj/item/reagent_containers/glass/rag/afterattack(atom/A as obj|turf|area, mob/user,proximity) + . = ..() if(!proximity) return if(iscarbon(A) && A.reagents && reagents.total_volume) diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index e8847adb118..38ec885a504 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -59,6 +59,7 @@ scanning = 0 /obj/item/detective_scanner/afterattack(atom/A, mob/user, params) + . = ..() scan(A, user) return FALSE diff --git a/code/modules/events/wizard/rpgloot.dm b/code/modules/events/wizard/rpgloot.dm index d94ee0e2120..420582ddabe 100644 --- a/code/modules/events/wizard/rpgloot.dm +++ b/code/modules/events/wizard/rpgloot.dm @@ -34,6 +34,7 @@ var/one_use = TRUE /obj/item/upgradescroll/afterattack(obj/item/target, mob/user , proximity) + . = ..() if(!proximity || !istype(target)) return diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index d84deb81324..38e78d16bc6 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -56,6 +56,7 @@ return 1 /obj/item/reagent_containers/food/drinks/afterattack(obj/target, mob/user , proximity) + . = ..() if(!proximity) return @@ -93,8 +94,6 @@ var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) to_chat(user, "You fill [src] with [trans] units of the contents of [target].") - else - /obj/item/reagent_containers/food/drinks/attackby(obj/item/I, mob/user, params) var/hotness = I.is_hot() if(hotness && reagents) diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index faafcdf7762..927cd3d36c0 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -115,6 +115,7 @@ ..() /obj/item/reagent_containers/food/drinks/drinkingglass/afterattack(obj/target, mob/user, proximity) + . = ..() if((!proximity) || !check_allowed_items(target,target_self=1)) return @@ -124,5 +125,4 @@ reagents.reaction(target, TOUCH) reagents.clear_reagents() return - ..() diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm index 53a0c2fb5b7..dff175e9e71 100644 --- a/code/modules/food_and_drinks/food/condiment.dm +++ b/code/modules/food_and_drinks/food/condiment.dm @@ -58,6 +58,7 @@ return 1 /obj/item/reagent_containers/food/condiment/afterattack(obj/target, mob/user , proximity) + . = ..() if(!proximity) return if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. @@ -146,6 +147,7 @@ return (TOXLOSS) /obj/item/reagent_containers/food/condiment/saltshaker/afterattack(obj/target, mob/living/user, proximity) + . = ..() if(!proximity) return if(isturf(target)) @@ -156,7 +158,6 @@ reagents.remove_reagent("sodiumchloride", 2) new/obj/effect/decal/cleanable/salt(target) return - ..() /obj/item/reagent_containers/food/condiment/peppermill name = "pepper mill" @@ -241,6 +242,7 @@ return /obj/item/reagent_containers/food/condiment/pack/afterattack(obj/target, mob/user , proximity) + . = ..() if(!proximity) return diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index a74c7c6f697..53389837a37 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -120,11 +120,6 @@ return 0 - -/obj/item/reagent_containers/food/snacks/afterattack(obj/target, mob/user , proximity) - return - - /obj/item/reagent_containers/food/snacks/examine(mob/user) ..() if(bitecount == 0) diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm index 62c3c0b0643..c2698c13672 100644 --- a/code/modules/hydroponics/grown/flowers.dm +++ b/code/modules/hydroponics/grown/flowers.dm @@ -199,6 +199,7 @@ log_game("[key_name(user)] set [key_name(M)] on fire with [src] at [AREACOORD(user)]") /obj/item/grown/novaflower/afterattack(atom/A as mob|obj, mob/user,proximity) + . = ..() if(!proximity) return if(force > 0) diff --git a/code/modules/hydroponics/grown/nettle.dm b/code/modules/hydroponics/grown/nettle.dm index bb1a0d2f23e..962fa86d4d1 100644 --- a/code/modules/hydroponics/grown/nettle.dm +++ b/code/modules/hydroponics/grown/nettle.dm @@ -67,6 +67,7 @@ return TRUE /obj/item/grown/nettle/afterattack(atom/A as mob|obj, mob/user,proximity) + . = ..() if(!proximity) return if(force > 0) diff --git a/code/modules/integrated_electronics/core/analyzer.dm b/code/modules/integrated_electronics/core/analyzer.dm index 89b990f352a..7e30529bf4a 100644 --- a/code/modules/integrated_electronics/core/analyzer.dm +++ b/code/modules/integrated_electronics/core/analyzer.dm @@ -7,6 +7,7 @@ w_class = WEIGHT_CLASS_SMALL /obj/item/integrated_electronics/analyzer/afterattack(var/atom/A, var/mob/living/user) + . = ..() if(istype(A, /obj/item/electronic_assembly)) var/saved = "[A.name] analyzed! On circuit printers with cloning enabled, you may use the code below to clone the circuit:

[SScircuit.save_electronic_assembly(A)]" if(saved) @@ -14,5 +15,3 @@ user << browse(saved, "window=circuit_scan;size=500x600;border=1;can_resize=1;can_close=1;can_minimize=1") else to_chat(user, "[A] is not complete enough to be encoded!") - else - ..() diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm index d39163b5474..b8aabb88517 100644 --- a/code/modules/integrated_electronics/core/assemblies.dm +++ b/code/modules/integrated_electronics/core/assemblies.dm @@ -420,6 +420,7 @@ /obj/item/electronic_assembly/afterattack(atom/target, mob/user, proximity) + . = ..() for(var/obj/item/integrated_circuit/input/S in assembly_components) if(S.sense(target,user,proximity)) visible_message(" [user] waves [src] around [target].") diff --git a/code/modules/integrated_electronics/core/debugger.dm b/code/modules/integrated_electronics/core/debugger.dm index d6f6a551ad6..ceaee08fa15 100644 --- a/code/modules/integrated_electronics/core/debugger.dm +++ b/code/modules/integrated_electronics/core/debugger.dm @@ -38,14 +38,13 @@ to_chat(user, "You set \the [src]'s memory to absolutely nothing.") /obj/item/integrated_electronics/debugger/afterattack(atom/target, mob/living/user, proximity) + . = ..() if(accepting_refs && proximity) data_to_write = WEAKREF(target) visible_message("[user] slides \a [src]'s over \the [target].") to_chat(user, "You set \the [src]'s memory to a reference to [target.name] \[Ref\]. The ref scanner is \ now off.") accepting_refs = FALSE - else - return ..() /obj/item/integrated_electronics/debugger/proc/write_data(var/datum/integrated_io/io, mob/user) if(io.io_type == DATA_CHANNEL) diff --git a/code/modules/integrated_electronics/subtypes/memory.dm b/code/modules/integrated_electronics/subtypes/memory.dm index fe746575325..93d800807a7 100644 --- a/code/modules/integrated_electronics/subtypes/memory.dm +++ b/code/modules/integrated_electronics/subtypes/memory.dm @@ -129,6 +129,7 @@ to_chat(user, "You set \the [src]'s memory to absolutely nothing.") /obj/item/integrated_circuit/memory/constant/afterattack(atom/target, mob/living/user, proximity) + . = ..() if(accepting_refs && proximity) var/datum/integrated_io/O = outputs[1] O.data = WEAKREF(target) diff --git a/code/modules/library/soapstone.dm b/code/modules/library/soapstone.dm index e51103937f6..88d1248a281 100644 --- a/code/modules/library/soapstone.dm +++ b/code/modules/library/soapstone.dm @@ -19,6 +19,7 @@ to_chat(user, "It has [remaining_uses] uses left.") /obj/item/soapstone/afterattack(atom/target, mob/user, proximity) + . = ..() var/turf/T = get_turf(target) if(!proximity) return diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 5b1110acab8..7a9c8f7103f 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -72,6 +72,7 @@ C.total_damage += target_health - target.health //we did some damage, but let's not assume how much we did /obj/item/twohanded/required/kinetic_crusher/afterattack(atom/target, mob/living/user, proximity_flag, clickparams) + . = ..() if(!proximity_flag && charged)//Mark a target, or mine a tile. var/turf/proj_turf = user.loc if(!isturf(proj_turf)) diff --git a/code/modules/mining/equipment/lazarus_injector.dm b/code/modules/mining/equipment/lazarus_injector.dm index 6947b5b23f4..b2a2e3357d3 100644 --- a/code/modules/mining/equipment/lazarus_injector.dm +++ b/code/modules/mining/equipment/lazarus_injector.dm @@ -16,6 +16,7 @@ var/revive_type = SENTIENCE_ORGANIC //So you can't revive boss monsters or robots with it /obj/item/lazarus_injector/afterattack(atom/target, mob/user, proximity_flag) + . = ..() if(!loaded) return if(isliving(target) && proximity_flag) diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index 43be61dd779..cbff942fc43 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -7,6 +7,7 @@ w_class = WEIGHT_CLASS_TINY /obj/item/hivelordstabilizer/afterattack(obj/item/organ/M, mob/user) + . = ..() var/obj/item/organ/regenerative_core/C = M if(!istype(C, /obj/item/organ/regenerative_core)) to_chat(user, "The stabilizer only works on certain types of monster organs, generally regenerative in nature.") @@ -66,6 +67,7 @@ ui_action_click() /obj/item/organ/regenerative_core/afterattack(atom/target, mob/user, proximity_flag) + . = ..() if(proximity_flag && ishuman(target)) var/mob/living/carbon/human/H = target if(inert) @@ -83,7 +85,6 @@ SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self")) H.revive(full_heal = 1) qdel(src) - ..() /obj/item/organ/regenerative_core/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) . = ..() diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm index d6ea55855df..f97d3612a85 100644 --- a/code/modules/mining/fulton.dm +++ b/code/modules/mining/fulton.dm @@ -38,6 +38,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) to_chat(user, "You link the extraction pack to the beacon system.") /obj/item/extraction_pack/afterattack(atom/movable/A, mob/living/carbon/human/user, flag, params) + . = ..() if(!beacon) to_chat(user, "[src] is not linked to a beacon, and cannot be used.") return diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 79adcdf9d83..157fb5dc934 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -899,7 +899,7 @@ var/static/list/banned_turfs = typecacheof(list(/turf/open/space/transit, /turf/closed)) /obj/item/lava_staff/afterattack(atom/target, mob/user, proximity_flag, click_parameters) - ..() + . = ..() if(timer > world.time) return @@ -1097,7 +1097,7 @@ qdel(user) /obj/item/hierophant_club/afterattack(atom/target, mob/user, proximity_flag, click_parameters) - ..() + . = ..() var/turf/T = get_turf(target) if(!T || timer > world.time) return diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index a9230195ac4..d225eee17f1 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -259,6 +259,7 @@ icon_state = "data" /obj/item/card/mining_access_card/afterattack(atom/movable/AM, mob/user, proximity) + . = ..() if(istype(AM, /obj/item/card/id) && proximity) var/obj/item/card/id/I = AM I.access |= ACCESS_MINING @@ -267,7 +268,6 @@ I.access |= ACCESS_CARGO to_chat(user, "You upgrade [I] with mining access.") qdel(src) - ..() /obj/item/storage/backpack/duffelbag/mining_conscript name = "mining conscription kit" diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index 3809514f024..15ff372c47f 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -270,6 +270,7 @@ icon = 'icons/obj/module.dmi' /obj/item/mine_bot_upgrade/afterattack(mob/living/simple_animal/hostile/mining_drone/M, mob/user, proximity) + . = ..() if(!istype(M) || !proximity) return upgrade_bot(M, user) diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index 22a44e3fa77..3d42fb32cff 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -180,6 +180,7 @@ AddComponent(/datum/component/butchering, 80, 70) /obj/item/light_eater/afterattack(atom/movable/AM, mob/user, proximity) + . = ..() if(!proximity) return if(isopenturf(AM)) //So you can actually melee with it diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm index 8573c3b7cb5..b09b3e768b2 100644 --- a/code/modules/mob/living/simple_animal/hostile/bear.dm +++ b/code/modules/mob/living/simple_animal/hostile/bear.dm @@ -81,6 +81,7 @@ icon_state = "bear_armor_upgrade" /obj/item/bear_armor/afterattack(atom/target, mob/user, proximity_flag) + . = ..() if(istype(target, /mob/living/simple_animal/hostile/bear) && proximity_flag) var/mob/living/simple_animal/hostile/bear/A = target if(A.armored) diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm index d262725d7ba..ec7451dc2ec 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -127,6 +127,7 @@ var/list/banned_mobs /obj/item/fugu_gland/afterattack(atom/target, mob/user, proximity_flag) + . = ..() if(proximity_flag && isanimal(target)) var/mob/living/simple_animal/A = target if(A.buffed || (A.type in banned_mobs) || A.stat) diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index 2943dde559e..97c41faf128 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -33,6 +33,7 @@ to_chat(user, "You [dash_toggled ? "enable" : "disable"] the dash function on [src].") /obj/item/energy_katana/afterattack(atom/target, mob/user, proximity_flag, click_parameters) + . = ..() if(dash_toggled) jaunt.Teleport(user, target) if(proximity_flag && (isobj(target) || issilicon(target))) diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index ea68899eb3d..574fa1f98b4 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -36,6 +36,7 @@ return OXYLOSS /obj/item/hand_labeler/afterattack(atom/A, mob/user,proximity) + . = ..() if(!proximity) return if(!mode) //if it's off, give up. @@ -89,7 +90,7 @@ name = "cyborg-hand labeler" /obj/item/hand_labeler/borg/afterattack(atom/A, mob/user, proximity) - ..(A, user, proximity) + . = ..(A, user, proximity) if(!iscyborg(user)) return diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 9b7d3ae8846..4bc006efbd0 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -123,6 +123,7 @@ . = ..() /obj/item/pen/afterattack(obj/O, mob/living/user, proximity) + . = ..() //Changing Name/Description of items. Only works if they have the 'unique_rename' flag set if(isobj(O) && proximity && (O.obj_flags & UNIQUE_RENAME)) var/penchoice = input(user, "What would you like to edit?", "Rename or change description?") as null|anything in list("Rename","Change description") diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 0fa3a36d194..a5644171b27 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -459,6 +459,7 @@ viewpichelper(Ainfo) /obj/item/camera/afterattack(atom/target, mob/user, flag) + . = ..() if(!on || !pictures_left || !isturf(target.loc)) return if (disk) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index bf032562191..e3b2bf59caf 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -405,7 +405,7 @@ var/delay = 0 /obj/item/turret_control/afterattack(atom/targeted_atom, mob/user, proxflag, clickparams) - ..() + . = ..() var/obj/machinery/power/emitter/E = user.buckled E.setDir(get_dir(E,targeted_atom)) user.setDir(E.dir) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index d9c62f79f89..837c65a7c17 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -130,6 +130,7 @@ O.emp_act(severity) /obj/item/gun/afterattack(atom/target, mob/living/user, flag, params) + . = ..() if(firing_burst) return if(flag) //It's adjacent, is the user, or is on the user's person diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 420e6c78cec..c3206a6a028 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -104,7 +104,7 @@ update_icon() /obj/item/gun/ballistic/automatic/c20r/afterattack() - ..() + . = ..() empty_alarm() return @@ -167,7 +167,7 @@ if(select == 2) underbarrel.afterattack(target, user, flag, params) else - ..() + . = ..() return /obj/item/gun/ballistic/automatic/m90/attackby(obj/item/A, mob/user, params) if(istype(A, /obj/item/ammo_casing)) @@ -264,7 +264,7 @@ icon_state = "bulldog[chambered ? "" : "-e"]" /obj/item/gun/ballistic/automatic/shotgun/bulldog/afterattack() - ..() + . = ..() empty_alarm() return @@ -317,7 +317,7 @@ if(cover_open) to_chat(user, "[src]'s cover is open! Close it before firing!") else - ..() + . = ..() update_icon() //ATTACK HAND IGNORING PARENT RETURN VALUE diff --git a/code/modules/projectiles/guns/ballistic/laser_gatling.dm b/code/modules/projectiles/guns/ballistic/laser_gatling.dm index db5beb21ed6..49ced8ff399 100644 --- a/code/modules/projectiles/guns/ballistic/laser_gatling.dm +++ b/code/modules/projectiles/guns/ballistic/laser_gatling.dm @@ -141,7 +141,7 @@ /obj/item/gun/ballistic/minigun/afterattack(atom/target, mob/living/user, flag, params) if(!ammo_pack || ammo_pack.loc != user) to_chat(user, "You need the backpack power source to fire the gun!") - ..() + . = ..() /obj/item/gun/ballistic/minigun/dropped(mob/living/user) ammo_pack.attach_gun(user) diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index cd115223421..c9658818e2d 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -191,6 +191,7 @@ ..() /obj/item/gun/ballistic/revolver/russian/afterattack(atom/target, mob/living/user, flag, params) + . = ..() if(flag) if(!(target in user.contents) && ismob(target)) if(user.a_intent == INTENT_HARM) // Flogging action diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index ef705263c20..9dd25bf3e3f 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -31,7 +31,7 @@ return else no_den_usage = 0 - ..() + . = ..() /obj/item/gun/magic/can_shoot() return charges diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index 9c9d253439c..ae20720a440 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -43,7 +43,7 @@ no_den_usage = 0 zap_self(user) else - ..() + . = ..() update_icon() diff --git a/code/modules/projectiles/guns/misc/grenade_launcher.dm b/code/modules/projectiles/guns/misc/grenade_launcher.dm index e51c3573e31..eb36438a6c0 100644 --- a/code/modules/projectiles/guns/misc/grenade_launcher.dm +++ b/code/modules/projectiles/guns/misc/grenade_launcher.dm @@ -28,16 +28,10 @@ else to_chat(usr, "The grenade launcher cannot hold more grenades.") -/obj/item/gun/grenadelauncher/afterattack(obj/target, mob/user , flag) - if(target == user) - return +/obj/item/gun/grenadelauncher/can_shoot() + return grenades.len - if(grenades.len) - fire_grenade(target,user) - else - to_chat(user, "The grenade launcher is empty.") - -/obj/item/gun/grenadelauncher/proc/fire_grenade(atom/target, mob/user) +/obj/item/gun/grenadelauncher/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) user.visible_message("[user] fired a grenade!", \ "You fire the grenade launcher!") var/obj/item/grenade/F = grenades[1] //Now with less copypasta! diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm index f132d62b27c..2f33fcad211 100644 --- a/code/modules/projectiles/pins.dm +++ b/code/modules/projectiles/pins.dm @@ -19,6 +19,7 @@ gun = newloc /obj/item/firing_pin/afterattack(atom/target, mob/user, proximity_flag) + . = ..() if(proximity_flag) if(istype(target, /obj/item/gun)) var/obj/item/gun/G = target @@ -156,7 +157,7 @@ var/unique_enzymes = null /obj/item/firing_pin/dna/afterattack(atom/target, mob/user, proximity_flag) - ..() + . = ..() if(proximity_flag && iscarbon(target)) var/mob/living/carbon/M = target if(M.dna && M.dna.unique_enzymes) diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 4a40addc5d1..fc2fed3a21b 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -45,9 +45,6 @@ if(user.a_intent == INTENT_HARM) return ..() -/obj/item/reagent_containers/afterattack(obj/target, mob/user , flag) - return - /obj/item/reagent_containers/proc/canconsume(mob/eater, mob/user) if(!iscarbon(eater)) return 0 diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 911571a3bda..61ed1ef61e6 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -197,6 +197,7 @@ Borg Shaker RG.add_reagent(reagent_ids[valueofi], 5) /obj/item/reagent_containers/borghypo/borgshaker/afterattack(obj/target, mob/user, proximity) + . = ..() if(!proximity) return diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 144db32a6cb..092a89a6851 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -9,6 +9,7 @@ container_type = TRANSPARENT /obj/item/reagent_containers/dropper/afterattack(obj/target, mob/user , proximity) + . = ..() if(!proximity) return if(!target.reagents) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 596973a2c44..8da31a7ba1a 100755 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -53,6 +53,7 @@ playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) /obj/item/reagent_containers/glass/afterattack(obj/target, mob/user, proximity) + . = ..() if((!proximity) || !check_allowed_items(target,target_self=1)) return diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm index ac064c9c151..b11ef878b6d 100644 --- a/code/modules/reagents/reagent_containers/patch.dm +++ b/code/modules/reagents/reagent_containers/patch.dm @@ -9,9 +9,7 @@ apply_type = PATCH apply_method = "apply" self_delay = 30 // three seconds - -/obj/item/reagent_containers/pill/patch/afterattack(obj/target, mob/user , proximity) - return // thanks inheritance again + dissolvable = FALSE /obj/item/reagent_containers/pill/patch/attack(mob/living/L, mob/user) if(ishuman(L)) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index d2f840cda33..d0da035a9f0 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -13,6 +13,7 @@ var/apply_method = "swallow" var/roundstart = 0 var/self_delay = 0 //pills are instant, this is because patches inheret their aplication from pills + var/dissolvable = TRUE /obj/item/reagent_containers/pill/Initialize() . = ..() @@ -55,22 +56,24 @@ /obj/item/reagent_containers/pill/afterattack(obj/target, mob/user , proximity) + . = ..() if(!proximity) return - if(target.is_refillable()) - if(target.is_drainable() && !target.reagents.total_volume) - to_chat(user, "[target] is empty! There's nothing to dissolve [src] in.") - return + if(!dissolvable || !target.is_refillable()) + return + if(target.is_drainable() && !target.reagents.total_volume) + to_chat(user, "[target] is empty! There's nothing to dissolve [src] in.") + return - if(target.reagents.holder_full()) - to_chat(user, "[target] is full.") - return + if(target.reagents.holder_full()) + to_chat(user, "[target] is full.") + return - to_chat(user, "You dissolve [src] in [target].") - for(var/mob/O in viewers(2, user)) //viewers is necessary here because of the small radius - to_chat(O, "[user] slips something into [target]!") - reagents.trans_to(target, reagents.total_volume) - qdel(src) + to_chat(user, "You dissolve [src] in [target].") + for(var/mob/O in viewers(2, user)) //viewers is necessary here because of the small radius + to_chat(O, "[user] slips something into [target]!") + reagents.trans_to(target, reagents.total_volume) + qdel(src) /obj/item/reagent_containers/pill/tox name = "toxins pill" diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 91a22ff1fb1..e3576b36250 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -24,6 +24,7 @@ possible_transfer_amounts = list(5,10,15,20,25,30,50,100) /obj/item/reagent_containers/spray/afterattack(atom/A, mob/user) + . = ..() if(istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart) || istype(A, /obj/machinery/hydroponics)) return @@ -195,7 +196,7 @@ /obj/item/reagent_containers/spray/pepper/afterattack(atom/A as mob|obj, mob/user) if (A.loc == user) return - ..() + . = ..() //water flower /obj/item/reagent_containers/spray/waterflower @@ -273,7 +274,7 @@ // Make it so the bioterror spray doesn't spray yourself when you click your inventory items if (A.loc == user) return - ..() + . = ..() /obj/item/reagent_containers/spray/chemsprayer/spray(atom/A) var/direction = get_dir(src, A) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 3e7cd539d02..0ba781d9624 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -48,6 +48,7 @@ return /obj/item/reagent_containers/syringe/afterattack(atom/target, mob/user , proximity) + . = ..() if(busy) return if(!proximity) diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index 8acecf25a1d..5875e821a3f 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -343,6 +343,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) id = C.id /obj/item/conveyor_construct/afterattack(atom/A, mob/user, proximity) + . = ..() if(!proximity || user.stat || !isfloorturf(A) || istype(A, /area/shuttle)) return var/cdir = get_dir(A, user) @@ -366,6 +367,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) id = "[rand()]" //this couldn't possibly go wrong /obj/item/conveyor_switch_construct/afterattack(atom/A, mob/user, proximity) + . = ..() if(!proximity || user.stat || !isfloorturf(A) || istype(A, /area/shuttle)) return var/found = 0 diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm index ba50229d9c1..48f822f7ca6 100644 --- a/code/modules/research/xenobiology/crossbreeding/burning.dm +++ b/code/modules/research/xenobiology/crossbreeding/burning.dm @@ -300,7 +300,7 @@ Burning extracts: if(!on || !pictures_left || !isturf(target.loc)) return new /obj/effect/timestop(get_turf(target), 2, 50, list(user)) - ..() + . = ..() var/text = "The camera fades away" if(disk) text += ", leaving the disk behind!" diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm index 8ae7bf8d540..c95b892dde6 100644 --- a/code/modules/research/xenobiology/crossbreeding/charged.dm +++ b/code/modules/research/xenobiology/crossbreeding/charged.dm @@ -315,7 +315,7 @@ Charged extracts: var/uses = 2 /obj/item/slimepotion/spaceproof/afterattack(obj/item/clothing/C, mob/user, proximity) - ..() + . = ..() if(!uses) qdel(src) return @@ -352,7 +352,7 @@ Charged extracts: var/uses = 2 /obj/item/slimepotion/lavaproof/afterattack(obj/item/C, mob/user, proximity) - ..() + . = ..() if(!uses) qdel(src) return ..() diff --git a/code/modules/research/xenobiology/crossbreeding/prismatic.dm b/code/modules/research/xenobiology/crossbreeding/prismatic.dm index 41063de3d1d..65e66aa0e2b 100644 --- a/code/modules/research/xenobiology/crossbreeding/prismatic.dm +++ b/code/modules/research/xenobiology/crossbreeding/prismatic.dm @@ -22,6 +22,7 @@ Prismatic extracts: desc = "It's constantly wet with a pungent-smelling, clear chemical." /obj/item/slimecross/prismatic/grey/afterattack(turf/target, mob/user, proximity) + . = ..() if(!proximity) return if(istype(target) && target.color != initial(target.color)) diff --git a/code/modules/research/xenobiology/crossbreeding/regenerative.dm b/code/modules/research/xenobiology/crossbreeding/regenerative.dm index 7c8d8fa78ff..a0ccdf15498 100644 --- a/code/modules/research/xenobiology/crossbreeding/regenerative.dm +++ b/code/modules/research/xenobiology/crossbreeding/regenerative.dm @@ -16,6 +16,7 @@ Regenerative extracts: /obj/item/slimecross/regenerative/afterattack(atom/target,mob/user,prox) + . = ..() if(!prox || !isliving(target)) return var/mob/living/H = target diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index b8cc61df978..59718eee8a7 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -615,6 +615,7 @@ w_class = WEIGHT_CLASS_TINY /obj/item/slimepotion/afterattack(obj/item/reagent_containers/target, mob/user , proximity) + . = ..() if (istype(target)) to_chat(user, "You cannot transfer [src] to [target]! It appears the potion must be given directly to a slime to absorb." ) return @@ -833,7 +834,7 @@ icon_state = "potyellow" /obj/item/slimepotion/speed/afterattack(obj/C, mob/user) - ..() + . = ..() if(!istype(C)) to_chat(user, "The potion can only be used on items or vehicles!") return @@ -866,7 +867,7 @@ var/uses = 3 /obj/item/slimepotion/fireproof/afterattack(obj/item/clothing/C, mob/user) - ..() + . = ..() if(!uses) qdel(src) return diff --git a/code/modules/ruins/objects_and_mobs/sin_ruins.dm b/code/modules/ruins/objects_and_mobs/sin_ruins.dm index 7ad8a136f96..caa2ca7adff 100644 --- a/code/modules/ruins/objects_and_mobs/sin_ruins.dm +++ b/code/modules/ruins/objects_and_mobs/sin_ruins.dm @@ -129,7 +129,7 @@ hitsound = 'sound/weapons/bladeslice.ogg' /obj/item/kitchen/knife/envy/afterattack(atom/movable/AM, mob/living/carbon/human/user, proximity) - ..() + . = ..() if(!proximity) return if(!istype(user)) diff --git a/code/modules/spells/spell_types/godhand.dm b/code/modules/spells/spell_types/godhand.dm index 27cfc9208ba..5d07b88ca7b 100644 --- a/code/modules/spells/spell_types/godhand.dm +++ b/code/modules/spells/spell_types/godhand.dm @@ -24,6 +24,7 @@ ..() /obj/item/melee/touch_attack/afterattack(atom/target, mob/user, proximity) + . = ..() user.say(catchphrase) playsound(get_turf(user), on_use_sound,50,1) charges-- @@ -63,10 +64,9 @@ var/obj/item/bodypart/part = user.get_holding_bodypart_of_item(src) if(part) part.dismember() - ..() - return + return ..() M.gib() - ..() + return ..() /obj/item/melee/touch_attack/fleshtostone name = "\improper petrifying touch" @@ -93,4 +93,4 @@ return M.Stun(40) M.petrify() - ..() + return ..() diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm index 0601ff28e14..e97627f16fc 100644 --- a/code/modules/station_goals/dna_vault.dm +++ b/code/modules/station_goals/dna_vault.dm @@ -78,7 +78,7 @@ dna = list() /obj/item/dna_probe/afterattack(atom/target, mob/user, proximity) - ..() + . = ..() if(!proximity || !target) return //tray plants diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index 7afee36543e..e71403a9217 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -198,6 +198,7 @@ icon_state = "evidenceobj" /obj/item/organ_storage/afterattack(obj/item/I, mob/user, proximity) + . = ..() if(!proximity) return if(contents.len)