diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index 124dd2f9795..f6ee3fd7e1f 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -6,57 +6,62 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - var - obj/item/weapon/implant/imp = null - proc - update() + var/obj/item/weapon/implant/imp = null + +/obj/item/weapon/implanter/proc/update() - update() - if (src.imp) - src.icon_state = "implanter1" - else - src.icon_state = "implanter0" +/obj/item/weapon/implanter/update() + if (src.imp) + src.icon_state = "implanter1" + else + src.icon_state = "implanter0" + return + + +/obj/item/weapon/implanter/attack(mob/M as mob, mob/user as mob) + if (!istype(M, /mob/living/carbon)) return + if (user && src.imp) + for (var/mob/O in viewers(M, null)) + O.show_message("\red [user] is attemping to implant [M].", 1) + var/turf/T1 = get_turf(M) + if (T1 && ((M == user) || do_after(user, 50))) + if(user && M && (get_turf(M) == T1) && src && src.imp) + for (var/mob/O in viewers(M, null)) + O.show_message("\red [M] has been implanted by [user].", 1) + M.attack_log += text("\[[time_stamp()]\] Implanted with [src.name] ([src.imp.name]) by [user.name] ([user.ckey])") + user.attack_log += text("\[[time_stamp()]\] Used the [src.name] ([src.imp.name]) to implant [M.name] ([M.ckey])") + log_attack("[user.name] ([user.ckey]) implanted [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])") - attack(mob/M as mob, mob/user as mob) - if (!istype(M, /mob/living/carbon)) - return - if (user && src.imp) - for (var/mob/O in viewers(M, null)) - O.show_message("\red [M] has been implanted by [user].", 1) - M.attack_log += text("\[[time_stamp()]\] Implanted with [src.name] ([src.imp.name]) by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] ([src.imp.name]) to implant [M.name] ([M.ckey])") - log_attack("[user.name] ([user.ckey]) implanted [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])") - - src.imp.loc = M - src.imp.imp_in = M - src.imp.implanted = 1 - src.imp.implanted(M) - src.imp = null - user.show_message("\red You implanted the implant into [M].") - src.icon_state = "implanter0" - return + src.imp.loc = M + src.imp.imp_in = M + src.imp.implanted = 1 + src.imp.implanted(M) + src.imp = null + user.show_message("\red You implanted the implant into [M].") + src.icon_state = "implanter0" + return /obj/item/weapon/implanter/loyalty name = "implanter-loyalty" - New() - src.imp = new /obj/item/weapon/implant/loyalty( src ) - ..() - update() - return +/obj/item/weapon/implanter/loyalty/New() + src.imp = new /obj/item/weapon/implant/loyalty( src ) + ..() + update() + return /obj/item/weapon/implanter/explosive name = "implanter-explosive" - New() - src.imp = new /obj/item/weapon/implant/explosive( src ) - ..() - update() - return \ No newline at end of file +/obj/item/weapon/implanter/explosive/New() + src.imp = new /obj/item/weapon/implant/explosive( src ) + ..() + update() + return \ No newline at end of file