diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 675c0478b37..5ad497513cc 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -145,11 +145,8 @@
return 2
/obj/singularity_pull(S, current_size)
- if(anchored)
- if(current_size >= STAGE_FIVE)
- anchored = 0
- step_towards(src,S)
- else step_towards(src,S)
+ if(!anchored || current_size >= STAGE_FIVE)
+ step_towards(src,S)
/obj/proc/Deconstruct()
qdel(src)
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index 1e72ad484a0..355938166f5 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -15,33 +15,52 @@
/obj/structure/girder/attackby(obj/item/W, mob/user, params)
add_fingerprint(user)
- if(istype(W, /obj/item/weapon/screwdriver) && state == GIRDER_DISPLACED)
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
- user.visible_message("[user] disassembles the girder.", \
- "You start to disassemble the girder...", "You hear clanking and banging noises.")
- if(do_after(user, 40, target = src))
- if(state == GIRDER_DISASSEMBLED)
- return
- state = GIRDER_DISASSEMBLED
- user << "You disassemble the girder."
- var/obj/item/stack/sheet/metal/M = new (loc, 2)
- M.add_fingerprint(user)
- qdel(src)
+ if(istype(W, /obj/item/weapon/screwdriver))
+ if(state == GIRDER_DISPLACED)
+ playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
+ user.visible_message("[user] disassembles the girder.", \
+ "You start to disassemble the girder...", "You hear clanking and banging noises.")
+ if(do_after(user, 40, target = src))
+ if(state != GIRDER_DISPLACED)
+ return
+ state = GIRDER_DISASSEMBLED
+ user << "You disassemble the girder."
+ var/obj/item/stack/sheet/metal/M = new (loc, 2)
+ M.add_fingerprint(user)
+ qdel(src)
+ else if(state == GIRDER_REINF)
+ playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
+ user << "You start unsecuring support struts..."
+ if(do_after(user, 40, target = src))
+ if(state != GIRDER_REINF)
+ return
+ user << "You unsecure the support struts."
+ state = GIRDER_REINF_STRUTS
- else if(istype(W, /obj/item/weapon/wrench) && state == GIRDER_DISPLACED)
- if (!istype(src.loc, /turf/simulated/floor))
- user << "A floor must be present to secure the girder!"
- return
- playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
- user << "You start securing the girder..."
- if(do_after(user, 40, target = src))
- user << "You secure the girder."
- var/obj/structure/girder/G = new (loc)
- transfer_fingerprints_to(G)
- qdel(src)
+ else if(istype(W, /obj/item/weapon/wrench))
+ if(state == GIRDER_DISPLACED)
+ if(!istype(loc, /turf/simulated/floor))
+ user << "A floor must be present to secure the girder!"
+ return
+ playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
+ user << "You start securing the girder..."
+ if(do_after(user, 40, target = src))
+ user << "You secure the girder."
+ var/obj/structure/girder/G = new (loc)
+ transfer_fingerprints_to(G)
+ qdel(src)
+ else if(state == GIRDER_NORMAL)
+ playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
+ user << "You start unsecuring the girder..."
+ if(do_after(user, 40, target = src))
+ user << "You unsecure the girder."
+ var/obj/structure/girder/displaced/D = new (loc)
+ transfer_fingerprints_to(D)
+ qdel(src)
else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
user << "You start slicing apart the girder..."
+ playsound(src, 'sound/items/Welder.ogg', 100, 1)
if(do_after(user, 30, target = src))
user << "You slice apart the girder."
var/obj/item/stack/sheet/metal/M = new (loc, 2)
@@ -55,13 +74,6 @@
D.playDigSound()
qdel(src)
- else if(istype(W, /obj/item/weapon/screwdriver) && state == GIRDER_REINF)
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
- user << "You start unsecuring support struts..."
- if(do_after(user, 40, target = src))
- user << "You unsecure the support struts."
- state = GIRDER_REINF_STRUTS
-
else if(istype(W, /obj/item/weapon/wirecutters) && state == GIRDER_REINF_STRUTS)
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
user << "You start removing support struts..."
@@ -72,15 +84,6 @@
transfer_fingerprints_to(G)
qdel(src)
- else if(istype(W, /obj/item/weapon/wrench) && state == GIRDER_NORMAL && anchored )
- playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
- user << "You start unsecuring the girder..."
- if(do_after(user, 40, target = src))
- user << "You unsecure the girder."
- var/obj/structure/girder/displaced/D = new (loc)
- transfer_fingerprints_to(D)
- qdel(src)
-
else if(istype(W, /obj/item/stack/sheet))
if (istype(src.loc, /turf/simulated/wall))
user << "There is already a wall present!"
@@ -96,7 +99,7 @@
switch(S.type)
if(/obj/item/stack/sheet/metal, /obj/item/stack/sheet/metal/cyborg)
- if(!anchored)
+ if(state == GIRDER_DISPLACED)
if(S.get_amount() < 2)
user << "You need two sheets of metal to create a false wall!"
return
@@ -119,16 +122,14 @@
return
S.use(2)
user << "You add the plating."
- var/turf/Tsrc = get_turf(src)
- Tsrc.ChangeTurf(/turf/simulated/wall)
- for(var/turf/simulated/wall/X in Tsrc.loc)
- if(X)
- transfer_fingerprints_to(X)
+ var/turf/T = get_turf(src)
+ T.ChangeTurf(/turf/simulated/wall)
+ transfer_fingerprints_to(T)
qdel(src)
return
if(/obj/item/stack/sheet/plasteel)
- if(!anchored)
+ if(state == GIRDER_DISPLACED)
if(S.amount < 2)
user << "You need at least two sheets to create a false wall!"
return
@@ -142,22 +143,23 @@
transfer_fingerprints_to(FW)
qdel(src)
else
- if (src.icon_state == "reinforced") //I cant believe someone would actually write this line of code...
- if(S.amount < 1) return ..()
+ if(state == GIRDER_REINF)
+ if(S.amount < 1)
+ return
user << "You start finalizing the reinforced wall..."
if(do_after(user, 50, target = src))
if(!src.loc || !S || S.amount < 1)
return
S.use(1)
user << "You fully reinforce the wall."
- var/turf/Tsrc = get_turf(src)
- Tsrc.ChangeTurf(/turf/simulated/wall/r_wall)
- for(var/turf/simulated/wall/r_wall/X in Tsrc.loc)
- if(X) transfer_fingerprints_to(X)
+ var/turf/T = get_turf(src)
+ T.ChangeTurf(/turf/simulated/wall/r_wall)
+ transfer_fingerprints_to(T)
qdel(src)
return
else
- if(S.amount < 1) return ..()
+ if(S.amount < 1)
+ return
user << "You start reinforcing the girder..."
if (do_after(user, 60, target = src))
if(!src.loc || !S || S.amount < 1)
@@ -171,7 +173,7 @@
if(S.sheettype)
var/M = S.sheettype
- if(!anchored)
+ if(state == GIRDER_DISPLACED)
if(S.amount < 2)
user << "You need at least two sheets to create a false wall!"
return
@@ -182,17 +184,18 @@
transfer_fingerprints_to(FW)
qdel(src)
else
- if(S.amount < 2) return ..()
+ if(S.amount < 2)
+ user << "You need at least two sheets to add plating!"
+ return
user << "You start adding plating..."
if (do_after(user, 40, target = src))
if(!src.loc || !S || S.amount < 2)
return
S.use(2)
user << "You add the plating."
- var/turf/Tsrc = get_turf(src)
- Tsrc.ChangeTurf(text2path("/turf/simulated/wall/mineral/[M]"))
- for(var/turf/simulated/wall/mineral/X in Tsrc.loc)
- if(X) transfer_fingerprints_to(X)
+ var/turf/T = get_turf(src)
+ T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[M]"))
+ transfer_fingerprints_to(T)
qdel(src)
return
@@ -224,7 +227,6 @@
if(prob(40))
qdel(src)
-
/obj/structure/girder/ex_act(severity, target)
switch(severity)
if(1.0)
@@ -277,6 +279,9 @@
return
return
+
+//////////////////////////////////////////// cult girder //////////////////////////////////////////////
+
/obj/structure/cultgirder
icon= 'icons/obj/cult.dmi'
icon_state= "cultgirder"
@@ -290,18 +295,18 @@
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user] disassembles the girder.", \
- "You start to disassemble the girder...", "You hear welding and clanking.")
+ user << "You start slicing apart the girder..."
if(do_after(user, 40, target = src))
if( !WT.isOn() )
return
- user << "You disassemble the girder."
+ user << "You slice apart the girder."
var/obj/effect/decal/remains/human/R = new (get_turf(src))
transfer_fingerprints_to(R)
qdel(src)
else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
user << "You start slicing apart the girder..."
+ playsound(src, 'sound/items/Welder.ogg', 100, 1)
if(do_after(user, 30, target = src))
user << "You slice apart the girder."
var/obj/effect/decal/remains/human/R = new (get_turf(src))
diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm
index f58f8fbce8c..48bda2583fd 100644
--- a/code/game/objects/structures/statues.dm
+++ b/code/game/objects/structures/statues.dm
@@ -45,6 +45,7 @@
anchored = 1
else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
+ playsound(src, 'sound/items/Welder.ogg', 100, 1)
user.visible_message("[user] is slicing apart the [name]...", \
"You are slicing apart the [name]...")
if(do_after(user,30, target = src))
@@ -212,7 +213,7 @@
log_game("Plasma statue ignited by [key_name(Proj.firer)] in ([x],[y],[z])")
else
message_admins("Plasma statue ignited by [Proj]. No known firer.(?) (FLW) in ([x],[y],[z] - JMP)",0,1)
- log_game("Plasma statue ignited by [Proj] in ([x],[y],[z]). No known firer.")
+ log_game("Plasma statue ignited by [Proj] in ([x],[y],[z]). No known firer.")
..()
/obj/structure/statue/plasma/attackby(obj/item/weapon/W, mob/user, params)
diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm
index ef0d35fb175..9e8b6c4accc 100644
--- a/code/modules/projectiles/ammunition/energy.dm
+++ b/code/modules/projectiles/ammunition/energy.dm
@@ -121,7 +121,7 @@
/obj/item/ammo_casing/energy/plasma
projectile_type = /obj/item/projectile/plasma
select_name = "plasma burst"
- fire_sound = 'sound/weapons/Laser.ogg'
+ fire_sound = 'sound/weapons/plasma_cutter.ogg'
delay = 15
e_cost = 25