From 92b97e1d2d9d6dba657377e7b3abef00952804d0 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 24 May 2016 10:21:38 +0200 Subject: [PATCH] Mapped tape rolls can now apply themselves. Can be applied to anything as long as it's airlocks. Ensures proper layering, icon state, etc. Fixes #13058 --- code/game/objects/items/weapons/policetape.dm | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/policetape.dm b/code/game/objects/items/weapons/policetape.dm index e3c1268ea08..4ddd60526cb 100644 --- a/code/game/objects/items/weapons/policetape.dm +++ b/code/game/objects/items/weapons/policetape.dm @@ -9,6 +9,20 @@ var/tape_type = /obj/item/tape var/icon_base + var/apply_tape = FALSE + +/obj/item/taperoll/initialize() + ..() + if(apply_tape) + var/turf/T = get_turf(src) + if(!T) + return + var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in T + if(airlock) + afterattack(airlock, null, TRUE) + qdel(src) + + var/list/image/hazard_overlays var/list/tape_roll_applications = list() @@ -63,6 +77,9 @@ var/list/tape_roll_applications = list() tape_type = /obj/item/tape/engineering icon_base = "engineering" +/obj/item/taperoll/engineering/applied + apply_tape = TRUE + /obj/item/tape/engineering name = "engineering tape" desc = "A length of engineering tape. Better not cross it." @@ -220,8 +237,7 @@ var/list/tape_roll_applications = list() if (istype(A, /obj/machinery/door/airlock)) var/turf/T = get_turf(A) - var/obj/item/tape/P = new tape_type(T.x,T.y,T.z) - P.loc = locate(T.x,T.y,T.z) + var/obj/item/tape/P = new tape_type(T) P.update_icon() P.layer = 3.2 user << "You finish placing \the [src]."