From 55b830f39dd55b563061e931634a6e9ec00a1121 Mon Sep 17 00:00:00 2001 From: Incoming Date: Wed, 27 Apr 2016 21:44:53 -0400 Subject: [PATCH] buffs the staff/wand of door creation: Doors created start open, it can also be used on airlocks to open them akin to the knock spell. --- code/modules/projectiles/guns/magic/wand.dm | 4 +++- code/modules/projectiles/projectile/magic.dm | 14 ++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index ec6f2fee6d9..13e0c7ee6fa 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -143,7 +143,9 @@ no_den_usage = 1 /obj/item/weapon/gun/magic/wand/door/zap_self() - return + user << "You feel vaguely more open with your feelings." + charges-- + ..() ///////////////////////////////////// //WAND OF FIREBALL diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 82646434ca9..944e412752f 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -94,9 +94,7 @@ damage = 0 damage_type = OXY nodamage = 1 - var/list/door_types = list(/obj/structure/mineral_door/wood,/obj/structure/mineral_door/iron,/obj/structure/mineral_door/silver,\ - /obj/structure/mineral_door/gold,/obj/structure/mineral_door/uranium,/obj/structure/mineral_door/sandstone,/obj/structure/mineral_door/transparent/plasma,\ - /obj/structure/mineral_door/transparent/diamond) + var/list/door_types = list(subtypesof(/obj/structure/mineral_door)) /obj/item/projectile/magic/door/on_hit(atom/target) . = ..() @@ -105,12 +103,20 @@ CreateDoor(target) else if (isturf(T) && T.density) CreateDoor(T) + else if(istype(target, /obj/machinery/door)) + OpenDoor(target) /obj/item/projectile/magic/door/proc/CreateDoor(turf/T) var/door_type = pick(door_types) - new door_type(T) + var/obj/structure/mineral_door/D = new door_type(T) T.ChangeTurf(/turf/open/floor/plating) + D.open() +/obj/item/projectile/magic/door/proc/OpenDoor(/obj/machinery/door/D) + if(istype(D,/obj/machinery/door/airlock)) + var/obj/machinery/door/airlock/A = D + A.locked = 0 + D.open() /obj/item/projectile/magic/change name = "bolt of change"