Files
Bubberstation/code/game/objects/items/weapons/implants/implanter.dm
Hornygranny 9d3f8f6a2d second pass
2014-02-15 20:11:12 -08:00

74 lines
1.7 KiB
Plaintext

/obj/item/weapon/implanter
name = "implanter"
icon = 'icons/obj/items.dmi'
icon_state = "implanter0"
item_state = "syringe_0"
throw_speed = 3
throw_range = 5
w_class = 2.0
var/obj/item/weapon/implant/imp = null
/obj/item/weapon/implanter/update_icon()
if(imp)
icon_state = "implanter1"
else
icon_state = "implanter0"
/obj/item/weapon/implanter/attack(mob/M, mob/user)
if(!iscarbon(M))
return
if(user && imp)
M.visible_message("<span class='warning'>[user] is attemping to implant [M].</span>")
var/turf/T = get_turf(M)
if(T && (M == user || do_after(user, 50)))
if(user && M && (get_turf(M) == T) && src && imp)
M.visible_message("<span class='warning'>[M] has been implanted by [user].</span>")
add_logs(user, M, "implanted", object="[name]")
user << "<span class='notice'>You implanted the implant into [M].</span>"
if(imp.implanted(M))
imp.loc = M
imp.imp_in = M
imp.implanted = 1
imp = null
update_icon()
/obj/item/weapon/implanter/loyalty
name = "implanter-loyalty"
/obj/item/weapon/implanter/loyalty/New()
imp = new /obj/item/weapon/implant/loyalty(src)
..()
update_icon()
/obj/item/weapon/implanter/explosive
name = "implanter-explosive"
/obj/item/weapon/implanter/explosive/New()
imp = new /obj/item/weapon/implant/explosive(src)
..()
update_icon()
/obj/item/weapon/implanter/adrenalin
name = "implanter-adrenalin"
/obj/item/weapon/implanter/adrenalin/New()
imp = new /obj/item/weapon/implant/adrenalin(src)
..()
update_icon()
/obj/item/weapon/implanter/emp
name = "implanter-EMP"
/obj/item/weapon/implanter/emp/New()
imp = new /obj/item/weapon/implant/emp(src)
..()
update_icon()