mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 23:27:34 +01:00
Merge pull request #17185 from phil235/FixBundle48
Fix Bundle: holosign creator, status procs, teleporter hub, timestop effect
This commit is contained in:
@@ -237,7 +237,7 @@
|
||||
|
||||
/obj/machinery/teleport
|
||||
name = "teleport"
|
||||
icon = 'icons/obj/stationobjs.dmi'
|
||||
icon = 'icons/obj/machines/teleporter.dmi'
|
||||
density = 1
|
||||
anchored = 1
|
||||
|
||||
@@ -297,6 +297,9 @@
|
||||
|
||||
/obj/machinery/teleport/hub/attackby(obj/item/W, mob/user, params)
|
||||
if(default_deconstruction_screwdriver(user, "tele-o", "tele0", W))
|
||||
if(power_station && power_station.engaged)
|
||||
power_station.engaged = 0 //hub with panel open is off, so the station must be informed.
|
||||
update_icon()
|
||||
return
|
||||
if(exchange_parts(user, W))
|
||||
return
|
||||
@@ -450,9 +453,12 @@
|
||||
if(stat & (BROKEN|NOPOWER) || !teleporter_hub || !teleporter_console )
|
||||
return
|
||||
if (teleporter_console.target)
|
||||
src.engaged = !src.engaged
|
||||
use_power(5000)
|
||||
visible_message("<span class='notice'>Teleporter [engaged ? "" : "dis"]engaged!</span>")
|
||||
if(teleporter_hub.panel_open || teleporter_hub.stat & (BROKEN|NOPOWER))
|
||||
visible_message("<span class='alert'>The teleporter hub isn't responding.</span>")
|
||||
else
|
||||
src.engaged = !src.engaged
|
||||
use_power(5000)
|
||||
visible_message("<span class='notice'>Teleporter [engaged ? "" : "dis"]engaged!</span>")
|
||||
else
|
||||
visible_message("<span class='alert'>No target detected.</span>")
|
||||
src.engaged = 0
|
||||
@@ -469,7 +475,7 @@
|
||||
/obj/machinery/teleport/station/update_icon()
|
||||
if(panel_open)
|
||||
icon_state = "controller-o"
|
||||
else if(stat & NOPOWER)
|
||||
else if(stat & (BROKEN|NOPOWER))
|
||||
icon_state = "controller-p"
|
||||
else
|
||||
icon_state = "controller"
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
var/obj/effect/overlay/holograph/H = locate(holosign_type) in T
|
||||
if(H)
|
||||
user << "<span class='notice'>You use [src] to deactivate [H].</span>"
|
||||
signs.Remove(H)
|
||||
qdel(H)
|
||||
else
|
||||
if(!is_blocked_turf(T)) //can't put holograms on a tile that has dense stuff
|
||||
@@ -44,8 +43,7 @@
|
||||
return
|
||||
if(is_blocked_turf(T)) //don't try to sneak dense stuff on our tile during the wait.
|
||||
return
|
||||
H = new holosign_type(get_turf(target))
|
||||
signs += H
|
||||
H = new holosign_type(get_turf(target), src)
|
||||
user << "<span class='notice'>You create \a [H] with [src].</span>"
|
||||
else
|
||||
user << "<span class='notice'>[src] is projecting at max capacity!</span>"
|
||||
@@ -55,10 +53,8 @@
|
||||
|
||||
/obj/item/weapon/holosign_creator/attack_self(mob/user)
|
||||
if(signs.len)
|
||||
var/list/L = signs.Copy()
|
||||
for(var/sign in L)
|
||||
qdel(sign)
|
||||
signs -= sign
|
||||
for(var/H in signs)
|
||||
qdel(H)
|
||||
user << "<span class='notice'>You clear all active holograms.</span>"
|
||||
|
||||
|
||||
@@ -83,6 +79,19 @@
|
||||
icon = 'icons/effects/effects.dmi'
|
||||
anchored = 1
|
||||
var/holo_integrity = 1
|
||||
var/obj/item/weapon/holosign_creator/projector
|
||||
|
||||
/obj/effect/overlay/holograph/New(loc, source_projector)
|
||||
if(source_projector)
|
||||
projector = source_projector
|
||||
projector.signs += src
|
||||
..()
|
||||
|
||||
/obj/effect/overlay/holograph/Destroy()
|
||||
if(projector)
|
||||
projector.signs -= src
|
||||
projector = null
|
||||
return ..()
|
||||
|
||||
/obj/effect/overlay/holograph/attacked_by(obj/item/I, mob/user)
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user