mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-21 12:04:48 +01:00
Reduce lines by removing blank lines added by PJ's script
This commit is contained in:
@@ -140,10 +140,8 @@ var/global/list/globalBlankCanvases[AMT_OF_CANVASES]
|
||||
if(in_range(user, src) && get_turf(src) && user.client && ishuman(user)) //Let only humans be the robust zoominators. I'm too spooked other mobs trying to use it may get broken huds.
|
||||
if(src.loc == user || get_turf(src) == get_turf(user))
|
||||
to_chat(user, "<span class='notice'>[src] has to be on the ground to focus on it!</span>")
|
||||
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You focus on \the [src].</span>")
|
||||
|
||||
user.client.screen = list() //This is because screen objects go way past the view bounds we set, therefore not allowing stretch to fit to zoom in properly.
|
||||
user.client.reset_stretch = winget(user.client, "mapwindow.map", "icon-size") //Remember previous icon-size
|
||||
user.client.view = 3 //Decrease view
|
||||
@@ -152,5 +150,4 @@ var/global/list/globalBlankCanvases[AMT_OF_CANVASES]
|
||||
else
|
||||
to_chat(user, "<span class='notice'>It is too far away.</span>")
|
||||
|
||||
|
||||
#undef AMT_OF_CANVASES
|
||||
@@ -51,11 +51,9 @@
|
||||
/obj/structure/sign/barsign/attack_hand(mob/user as mob)
|
||||
if (!src.allowed(user))
|
||||
to_chat(user, "<span class = 'info'>Access denied.</span>")
|
||||
|
||||
return
|
||||
if (broken)
|
||||
to_chat(user, "<span class ='danger'>The controls seem unresponsive.</span>")
|
||||
|
||||
return
|
||||
pick_sign()
|
||||
|
||||
@@ -65,17 +63,14 @@
|
||||
/obj/structure/sign/barsign/attackby(var/obj/item/I, var/mob/user)
|
||||
if(!allowed(user))
|
||||
to_chat(user, "<span class = 'info'>Access denied.</span>")
|
||||
|
||||
return
|
||||
if( istype(I, /obj/item/weapon/screwdriver))
|
||||
if(!panel_open)
|
||||
to_chat(user, "<span class='notice'>You open the maintenance panel.</span>")
|
||||
|
||||
set_sign(new /datum/barsign/hiddensigns/signoff)
|
||||
panel_open = 1
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You close the maintenance panel.</span>")
|
||||
|
||||
if(!broken && !emagged)
|
||||
set_sign(pick(barsigns))
|
||||
else if(emagged)
|
||||
@@ -88,23 +83,19 @@
|
||||
var/obj/item/stack/cable_coil/C = I
|
||||
if(emagged) //Emagged, not broken by EMP
|
||||
to_chat(user, "<span class='warning'>Sign has been damaged beyond repair!</span>")
|
||||
|
||||
return
|
||||
else if(!broken)
|
||||
to_chat(user, "<span class='warning'>This sign is functioning properly!</span>")
|
||||
|
||||
return
|
||||
|
||||
if(C.use(2))
|
||||
to_chat(user, "<span class='notice'>You replace the burnt wiring.</span>")
|
||||
|
||||
broken = 0
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need at least two lengths of cable!</span>")
|
||||
|
||||
|
||||
|
||||
|
||||
/obj/structure/sign/barsign/emp_act(severity)
|
||||
set_sign(new /datum/barsign/hiddensigns/empbarsign)
|
||||
broken = 1
|
||||
@@ -115,10 +106,8 @@
|
||||
/obj/structure/sign/barsign/emag_act(mob/user)
|
||||
if(broken || emagged)
|
||||
to_chat(user, "<span class='warning'>Nothing interesting happens!</span>")
|
||||
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You emag the barsign. Takeover in progress...</span>")
|
||||
|
||||
sleep(100) //10 seconds
|
||||
set_sign(new /datum/barsign/hiddensigns/syndibarsign)
|
||||
emagged = 1
|
||||
|
||||
@@ -170,16 +170,13 @@ LINEN BINS
|
||||
..(user)
|
||||
if(amount < 1)
|
||||
to_chat(user, "There are no bed sheets in the bin.")
|
||||
|
||||
return
|
||||
if(amount == 1)
|
||||
to_chat(user, "There is one bed sheet in the bin.")
|
||||
|
||||
return
|
||||
to_chat(user, "There are [amount] bed sheets in the bin.")
|
||||
|
||||
|
||||
|
||||
/obj/structure/bedsheetbin/update_icon()
|
||||
switch(amount)
|
||||
if(0) icon_state = "linenbin-empty"
|
||||
@@ -194,7 +191,6 @@ LINEN BINS
|
||||
sheets.Add(I)
|
||||
amount++
|
||||
to_chat(user, "<span class='notice'>You put [I] in [src].</span>")
|
||||
|
||||
else if(amount && !hidden && I.w_class < 4) //make sure there's sheets to hide it among, make sure nothing else is hidden in there.
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
@@ -203,7 +199,6 @@ LINEN BINS
|
||||
|
||||
|
||||
|
||||
|
||||
/obj/structure/bedsheetbin/attack_hand(mob/user as mob)
|
||||
if(amount >= 1)
|
||||
amount--
|
||||
@@ -220,11 +215,9 @@ LINEN BINS
|
||||
user.put_in_hands(B)
|
||||
to_chat(user, "<span class='notice'>You take [B] out of [src].</span>")
|
||||
|
||||
|
||||
if(hidden)
|
||||
hidden.loc = user.loc
|
||||
to_chat(user, "<span class='notice'>[hidden] falls out of [B]!</span>")
|
||||
|
||||
hidden = null
|
||||
|
||||
|
||||
@@ -245,7 +238,6 @@ LINEN BINS
|
||||
|
||||
B.loc = loc
|
||||
to_chat(user, "<span class='notice'>You telekinetically remove [B] from [src].</span>")
|
||||
|
||||
update_icon()
|
||||
|
||||
if(hidden)
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You cannot hang [W] on [src]</span>")
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/structure/coatrack/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
|
||||
@@ -136,7 +136,6 @@
|
||||
/obj/structure/closet/proc/toggle(mob/user as mob)
|
||||
if(!(src.opened ? src.close() : src.open()))
|
||||
to_chat(user, "<span class='notice'>It won't budge!</span>")
|
||||
|
||||
return
|
||||
|
||||
// this should probably use dump_contents()
|
||||
@@ -195,7 +194,6 @@
|
||||
if(E.rcell && (E.rcell.charge >= E.chargecost))
|
||||
if(!(src.z in config.contact_levels))
|
||||
to_chat(user, "<span class='warning'>The rapid-crate-sender can't locate any telepads!</span>")
|
||||
|
||||
return
|
||||
if(E.mode == 0)
|
||||
if(!E.teleporting)
|
||||
@@ -214,7 +212,6 @@
|
||||
E.pad = L[desc]
|
||||
playsound(E.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
to_chat(user, "\blue Teleporting [src.name]...")
|
||||
|
||||
E.teleporting = 1
|
||||
if(!do_after(user, 50, target = src))
|
||||
E.teleporting = 0
|
||||
@@ -222,7 +219,6 @@
|
||||
E.teleporting = 0
|
||||
if(user in contents)
|
||||
to_chat(user, "<span class='warning'>Error: User located in container--aborting for safety.</span>")
|
||||
|
||||
playsound(E.loc, 'sound/machines/buzz-sigh.ogg', 50, 1)
|
||||
return
|
||||
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
|
||||
@@ -231,7 +227,6 @@
|
||||
do_teleport(src, E.pad, 0)
|
||||
E.rcell.use(E.chargecost)
|
||||
to_chat(user, "<span class='notice'>Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.</span>")
|
||||
|
||||
return
|
||||
else
|
||||
E.rand_x = rand(50,200)
|
||||
@@ -239,7 +234,6 @@
|
||||
var/L = locate(E.rand_x, E.rand_y, 6)
|
||||
playsound(E.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
to_chat(user, "\blue Teleporting [src.name]...")
|
||||
|
||||
E.teleporting = 1
|
||||
if(!do_after(user, 50, target = src))
|
||||
E.teleporting = 0
|
||||
@@ -247,7 +241,6 @@
|
||||
E.teleporting = 0
|
||||
if(user in contents)
|
||||
to_chat(user, "<span class='warning'>Error: User located in container--aborting for safety.</span>")
|
||||
|
||||
playsound(E.loc, 'sound/machines/buzz-sigh.ogg', 50, 1)
|
||||
return
|
||||
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
|
||||
@@ -256,11 +249,9 @@
|
||||
do_teleport(src, L)
|
||||
E.rcell.use(E.chargecost)
|
||||
to_chat(user, "<span class='notice'>Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.</span>")
|
||||
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Out of charges.</span>")
|
||||
|
||||
return
|
||||
|
||||
if(src.opened)
|
||||
@@ -272,7 +263,6 @@
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(!WT.remove_fuel(0,user))
|
||||
to_chat(user, "<span class='notice'>You need more welding fuel to complete this task.</span>")
|
||||
|
||||
return
|
||||
new /obj/item/stack/sheet/metal(src.loc)
|
||||
for(var/mob/M in viewers(src))
|
||||
@@ -291,11 +281,9 @@
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(src == user.loc)
|
||||
to_chat(user, "<span class='notice'>You can not [welded?"unweld":"weld"] the locker from inside.</span>")
|
||||
|
||||
return
|
||||
if(!WT.remove_fuel(0,user))
|
||||
to_chat(user, "<span class='notice'>You need more welding fuel to complete this task.</span>")
|
||||
|
||||
return
|
||||
src.welded = !src.welded
|
||||
src.update_icon()
|
||||
@@ -339,12 +327,10 @@
|
||||
|
||||
if(!src.open())
|
||||
to_chat(user, "<span class='notice'>It won't budge!</span>")
|
||||
|
||||
if(!lastbang)
|
||||
lastbang = 1
|
||||
for (var/mob/M in hearers(src, null))
|
||||
to_chat(M, text("<FONT size=[]>BANG, bang!</FONT>", max(0, 5 - get_dist(src, M))))
|
||||
|
||||
spawn(30)
|
||||
lastbang = 0
|
||||
|
||||
@@ -358,7 +344,6 @@
|
||||
if(!src.toggle())
|
||||
to_chat(usr, "<span class='notice'>It won't budge!</span>")
|
||||
|
||||
|
||||
/obj/structure/closet/verb/verb_toggleopen()
|
||||
set src in oview(1)
|
||||
set category = null
|
||||
@@ -373,7 +358,6 @@
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>This mob type can't use this verb.</span>")
|
||||
|
||||
|
||||
/obj/structure/closet/update_icon()//Putting the welded stuff in updateicon() so it's easy to overwrite for special cases (Fridges, cabinets, and whatnot)
|
||||
overlays.Cut()
|
||||
if(!opened)
|
||||
@@ -406,7 +390,6 @@
|
||||
L.changeNext_move(CLICK_CD_BREAKOUT)
|
||||
L.last_special = world.time + CLICK_CD_BREAKOUT
|
||||
to_chat(L, "<span class='warning'>You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)</span>")
|
||||
|
||||
for(var/mob/O in viewers(usr.loc))
|
||||
O.show_message("<span class='danger'>The [src] begins to shake violently!</span>", 1)
|
||||
|
||||
@@ -424,7 +407,6 @@
|
||||
welded = 0
|
||||
update_icon()
|
||||
to_chat(usr, "<span class='warning'>You successfully break out!</span>")
|
||||
|
||||
for(var/mob/O in viewers(L.loc))
|
||||
O.show_message("<span class='danger'>\the [usr] successfully broke out of \the [src]!</span>", 1)
|
||||
if(istype(src.loc, /obj/structure/bigDelivery)) //nullspace ect.. read the comment above
|
||||
|
||||
@@ -35,7 +35,6 @@
|
||||
L.do_alert_animation(L)
|
||||
egged = 1
|
||||
to_chat(alerted, sound('sound/machines/chime.ogg'))
|
||||
|
||||
..()
|
||||
|
||||
/mob/living/proc/do_alert_animation(atom/A)
|
||||
|
||||
@@ -24,12 +24,10 @@
|
||||
if (isrobot(user) || src.locked)
|
||||
if(istype(O, /obj/item/device/multitool))
|
||||
to_chat(user, "\red Resetting circuitry...")
|
||||
|
||||
playsound(user, 'sound/machines/lockreset.ogg', 50, 1)
|
||||
if(do_after(user, 20, target = src))
|
||||
src.locked = 0
|
||||
to_chat(user, "<span class = 'caution'> You disable the locking modules.</span>")
|
||||
|
||||
update_icon()
|
||||
return
|
||||
else if(istype(O, /obj/item/weapon))
|
||||
@@ -46,7 +44,6 @@
|
||||
playsound(user, 'sound/effects/Glasshit.ogg', 100, 1) //We don't want this playing every time
|
||||
if(W.force < 15)
|
||||
to_chat(user, "\blue The cabinet's protective glass glances off the hit.")
|
||||
|
||||
else
|
||||
src.hitstaken++
|
||||
if(src.hitstaken == 4)
|
||||
@@ -60,13 +57,11 @@
|
||||
if(!fireaxe)
|
||||
if(O:wielded)
|
||||
to_chat(user, "\red Unwield the axe first.")
|
||||
|
||||
return
|
||||
fireaxe = O
|
||||
user.drop_item(O)
|
||||
src.contents += O
|
||||
to_chat(user, "\blue You place the fire axe back in the [src.name].")
|
||||
|
||||
update_icon()
|
||||
else
|
||||
if(src.smashed)
|
||||
@@ -90,16 +85,13 @@
|
||||
return
|
||||
else
|
||||
to_chat(user, "\red Resetting circuitry...")
|
||||
|
||||
sleep(50)
|
||||
src.locked = 1
|
||||
to_chat(user, "\blue You re-enable the locking modules.")
|
||||
|
||||
playsound(user, 'sound/machines/lockenable.ogg', 50, 1)
|
||||
if(do_after(user,20, target = src))
|
||||
src.locked = 1
|
||||
to_chat(user, "<span class = 'caution'> You re-enable the locking modules.</span>")
|
||||
|
||||
return
|
||||
else
|
||||
localopened = !localopened
|
||||
@@ -121,14 +113,12 @@
|
||||
|
||||
if(src.locked)
|
||||
to_chat(user, "\red The cabinet won't budge!")
|
||||
|
||||
return
|
||||
if(localopened)
|
||||
if(fireaxe)
|
||||
user.put_in_hands(fireaxe)
|
||||
fireaxe = null
|
||||
to_chat(user, "\blue You take the fire axe from the [name].")
|
||||
|
||||
src.add_fingerprint(user)
|
||||
update_icon()
|
||||
else
|
||||
@@ -156,7 +146,6 @@
|
||||
if(localopened && fireaxe)
|
||||
fireaxe.forceMove(loc)
|
||||
to_chat(user, "\blue You telekinetically remove the fire axe.")
|
||||
|
||||
fireaxe = null
|
||||
update_icon()
|
||||
return
|
||||
@@ -169,10 +158,8 @@
|
||||
if (isrobot(usr) || src.locked || src.smashed)
|
||||
if(src.locked)
|
||||
to_chat(usr, "\red The cabinet won't budge!")
|
||||
|
||||
else if(src.smashed)
|
||||
to_chat(usr, "\blue The protective glass is broken!")
|
||||
|
||||
return
|
||||
|
||||
localopened = !localopened
|
||||
@@ -190,28 +177,22 @@
|
||||
usr.put_in_hands(fireaxe)
|
||||
fireaxe = null
|
||||
to_chat(usr, "\blue You take the Fire axe from the [name].")
|
||||
|
||||
else
|
||||
to_chat(usr, "\blue The [src.name] is empty.")
|
||||
|
||||
else
|
||||
to_chat(usr, "\blue The [src.name] is closed.")
|
||||
|
||||
update_icon()
|
||||
|
||||
attack_ai(mob/user as mob)
|
||||
if(src.smashed)
|
||||
to_chat(user, "\red The security of the cabinet is compromised.")
|
||||
|
||||
return
|
||||
else
|
||||
locked = !locked
|
||||
if(locked)
|
||||
to_chat(user, "\red Cabinet locked.")
|
||||
|
||||
else
|
||||
to_chat(user, "\blue Cabinet unlocked.")
|
||||
|
||||
return
|
||||
|
||||
update_icon() //Template: fireaxe[has fireaxe][is opened][hits taken][is smashed]. If you want the opening or closing animations, add "opening" or "closing" right after the numbers
|
||||
|
||||
@@ -67,13 +67,11 @@
|
||||
else if(istype(W, /obj/item/weapon/card/id))
|
||||
if(src.broken)
|
||||
to_chat(user, "\red It appears to be broken.")
|
||||
|
||||
return
|
||||
var/obj/item/weapon/card/id/I = W
|
||||
if(!I || !I.registered_name) return
|
||||
if(src == user.loc)
|
||||
to_chat(user, "<span class='notice'>You can't reach the lock from inside.</span>")
|
||||
|
||||
else if(src.allowed(user) || !src.registered_name || (istype(I) && (src.registered_name == I.registered_name)))
|
||||
//they can open all lockers, or nobody owns this, or they own this locker
|
||||
src.locked = !( src.locked )
|
||||
@@ -89,10 +87,8 @@
|
||||
src.desc = "Owned by [I.registered_name]."
|
||||
else
|
||||
to_chat(user, "\red Access Denied")
|
||||
|
||||
else if((istype(W, /obj/item/weapon/card/emag) || istype(W, /obj/item/weapon/melee/energy/blade)) && !broken)
|
||||
emag_act(user)
|
||||
else
|
||||
to_chat(user, "\red Access Denied")
|
||||
|
||||
return
|
||||
|
||||
@@ -49,27 +49,22 @@
|
||||
/obj/structure/closet/secure_closet/proc/togglelock(mob/user as mob)
|
||||
if(src.opened)
|
||||
to_chat(user, "<span class='notice'>Close the locker first.</span>")
|
||||
|
||||
return
|
||||
if(src.broken)
|
||||
to_chat(user, "<span class='warning'>The locker appears to be broken.</span>")
|
||||
|
||||
return
|
||||
if(user.loc == src)
|
||||
to_chat(user, "<span class='notice'>You can't reach the lock from inside.</span>")
|
||||
|
||||
return
|
||||
if(src.allowed(user))
|
||||
src.locked = !src.locked
|
||||
for(var/mob/O in viewers(user, 3))
|
||||
if((O.client && !( O.blinded )))
|
||||
to_chat(O, "<span class='notice'>The locker has been [locked ? null : "un"]locked by [user].</span>")
|
||||
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>Access Denied</span>")
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
if(istype(W, /obj/item/weapon/rcs))
|
||||
return ..()
|
||||
@@ -80,7 +75,6 @@
|
||||
src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
|
||||
else
|
||||
to_chat(user, "<span class='notice'>The locker is too small to stuff [W:affecting] into!</span>")
|
||||
|
||||
if(isrobot(user))
|
||||
return
|
||||
user.drop_item()
|
||||
@@ -102,7 +96,6 @@
|
||||
flick(icon_broken, src)
|
||||
to_chat(user, "<span class='notice'>You unlock \the [src].</span>")
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/attack_hand(mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
if(src.locked)
|
||||
@@ -124,7 +117,6 @@
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>This mob type can't use this verb.</span>")
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/update_icon()//Putting the welded stuff in updateicon() so it's easy to overwrite for special cases (Fridges, cabinets, and whatnot)
|
||||
overlays.Cut()
|
||||
if(!opened)
|
||||
@@ -150,7 +142,6 @@
|
||||
L.changeNext_move(CLICK_CD_BREAKOUT)
|
||||
L.last_special = world.time + CLICK_CD_BREAKOUT
|
||||
to_chat(L, "<span class='warning'>You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)</span>")
|
||||
|
||||
for(var/mob/O in viewers(src))
|
||||
O.show_message("<span class='danger'>The [src] begins to shake violently!</span>", 1)
|
||||
|
||||
@@ -176,7 +167,6 @@
|
||||
welded = 0
|
||||
update_icon()
|
||||
to_chat(usr, "\red You successfully break out!")
|
||||
|
||||
for(var/mob/O in viewers(L.loc))
|
||||
O.show_message("<span class='danger'>\the [usr] successfully broke out of \the [src]!</span>", 1)
|
||||
if(istype(src.loc, /obj/structure/bigDelivery)) //Do this to prevent contents from being opened into nullspace (read: bluespace)
|
||||
|
||||
@@ -68,7 +68,6 @@
|
||||
for(var/mob/M in contents)
|
||||
S.mind.transfer_to(M)
|
||||
to_chat(M, "As the animating magic wears off you feel yourself coming back to your senses. You are yourself again!")
|
||||
|
||||
break
|
||||
qdel(S)
|
||||
|
||||
|
||||
@@ -86,7 +86,6 @@
|
||||
if(E.rcell && (E.rcell.charge >= E.chargecost))
|
||||
if(!(src.z in config.player_levels))
|
||||
to_chat(user, "<span class='warning'>The rapid-crate-sender can't locate any telepads!</span>")
|
||||
|
||||
return
|
||||
if(E.mode == 0)
|
||||
if(!E.teleporting)
|
||||
@@ -105,7 +104,6 @@
|
||||
E.pad = L[desc]
|
||||
playsound(E.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
to_chat(user, "\blue Teleporting [src.name]...")
|
||||
|
||||
E.teleporting = 1
|
||||
if(!do_after(user, 50, target = src))
|
||||
E.teleporting = 0
|
||||
@@ -117,7 +115,6 @@
|
||||
do_teleport(src, E.pad, 0)
|
||||
E.rcell.use(E.chargecost)
|
||||
to_chat(user, "<span class='notice'>Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.</span>")
|
||||
|
||||
return
|
||||
else
|
||||
E.rand_x = rand(50,200)
|
||||
@@ -125,7 +122,6 @@
|
||||
var/L = locate(E.rand_x, E.rand_y, 6)
|
||||
playsound(E.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
to_chat(user, "\blue Teleporting [src.name]...")
|
||||
|
||||
E.teleporting = 1
|
||||
if(!do_after(user, 50, target = src))
|
||||
E.teleporting = 0
|
||||
@@ -137,11 +133,9 @@
|
||||
do_teleport(src, L)
|
||||
E.rcell.use(E.chargecost)
|
||||
to_chat(user, "<span class='notice'>Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.</span>")
|
||||
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Out of charges.</span>")
|
||||
|
||||
return
|
||||
|
||||
if(opened)
|
||||
@@ -149,7 +143,6 @@
|
||||
return
|
||||
if(!user.drop_item()) //couldn't drop the item
|
||||
to_chat(user, "<span class='notice'>\The [W] is stuck to your hand, you cannot put it in \the [src]!</span>")
|
||||
|
||||
return
|
||||
if(W)
|
||||
W.forceMove(loc)
|
||||
@@ -158,10 +151,8 @@
|
||||
else if(istype(W, /obj/item/stack/cable_coil))
|
||||
if(rigged)
|
||||
to_chat(user, "<span class='notice'>[src] is already rigged!</span>")
|
||||
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You rig [src].</span>")
|
||||
|
||||
user.drop_item()
|
||||
qdel(W)
|
||||
rigged = 1
|
||||
@@ -169,14 +160,12 @@
|
||||
else if(istype(W, /obj/item/device/radio/electropack))
|
||||
if(rigged)
|
||||
to_chat(user, "<span class='notice'>You attach [W] to [src].</span>")
|
||||
|
||||
user.drop_item()
|
||||
W.forceMove(src)
|
||||
return
|
||||
else if(istype(W, /obj/item/weapon/wirecutters))
|
||||
if(rigged)
|
||||
to_chat(user, "<span class='notice'>You cut away the wiring.</span>")
|
||||
|
||||
playsound(loc, 'sound/items/Wirecutter.ogg', 100, 1)
|
||||
rigged = 0
|
||||
return
|
||||
@@ -205,7 +194,6 @@
|
||||
/obj/structure/closet/crate/attack_hand(mob/user as mob)
|
||||
if(manifest)
|
||||
to_chat(user, "<span class='notice'>You tear the manifest off of the crate.</span>")
|
||||
|
||||
playsound(src.loc, 'sound/items/poster_ripped.ogg', 75, 1)
|
||||
manifest.forceMove(loc)
|
||||
if(ishuman(user))
|
||||
@@ -266,23 +254,19 @@
|
||||
/obj/structure/closet/crate/secure/proc/togglelock(mob/user as mob)
|
||||
if(src.opened)
|
||||
to_chat(user, "<span class='notice'>Close the crate first.</span>")
|
||||
|
||||
return
|
||||
if(src.broken)
|
||||
to_chat(user, "<span class='warning'>The crate appears to be broken.</span>")
|
||||
|
||||
return
|
||||
if(src.allowed(user))
|
||||
src.locked = !src.locked
|
||||
for(var/mob/O in viewers(user, 3))
|
||||
if((O.client && !( O.blinded )))
|
||||
to_chat(O, "<span class='notice'>The crate has been [locked ? null : "un"]locked by [user].</span>")
|
||||
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>Access Denied</span>")
|
||||
|
||||
|
||||
/obj/structure/closet/crate/secure/verb/verb_togglelock()
|
||||
set src in oview(1) // One square distance
|
||||
set category = null
|
||||
@@ -297,11 +281,9 @@
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>This mob type can't use this verb.</span>")
|
||||
|
||||
|
||||
/obj/structure/closet/crate/secure/attack_hand(mob/user as mob)
|
||||
if(manifest)
|
||||
to_chat(user, "<span class='notice'>You tear the manifest off of the crate.</span>")
|
||||
|
||||
playsound(src.loc, 'sound/items/poster_ripped.ogg', 75, 1)
|
||||
manifest.forceMove(loc)
|
||||
if(ishuman(user))
|
||||
@@ -335,7 +317,6 @@
|
||||
src.broken = 1
|
||||
update_icon()
|
||||
to_chat(user, "<span class='notice'>You unlock \the [src].</span>")
|
||||
|
||||
return
|
||||
|
||||
/obj/structure/closet/crate/secure/emp_act(severity)
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
|
||||
if(src.loc == user.loc)
|
||||
to_chat(user, "<span class='notice'>It won't budge!</span>")
|
||||
|
||||
toggle()
|
||||
else
|
||||
toggle()
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
/obj/structure/largecrate/attack_hand(mob/user as mob)
|
||||
if(manifest)
|
||||
to_chat(user, "<span class='notice'>You tear the manifest off of the crate.</span>")
|
||||
|
||||
playsound(src.loc, 'sound/items/poster_ripped.ogg', 75, 1)
|
||||
manifest.forceMove(loc)
|
||||
if(ishuman(user))
|
||||
@@ -29,7 +28,6 @@
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need a crowbar to pry this open!</span>")
|
||||
|
||||
return
|
||||
|
||||
/obj/structure/largecrate/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
|
||||
@@ -31,11 +31,9 @@
|
||||
return //activate emergency lockers. This fixes that. (Does this make sense, the AI can't call attack_hand, can it? --Mloc)
|
||||
if(!amount)
|
||||
to_chat(usr, "<spawn class='notice'>It's empty.")
|
||||
|
||||
return
|
||||
if(amount)
|
||||
to_chat(usr, "<spawn class='notice'>You take out some items from \the [src].")
|
||||
|
||||
for(var/path in spawnitems)
|
||||
new path(src.loc)
|
||||
amount--
|
||||
|
||||
@@ -33,7 +33,6 @@ var/global/list/captain_display_cases = list()
|
||||
circuit.forceMove(src)
|
||||
state++
|
||||
to_chat(user, "<span class='notice'>You add the airlock electronics to the frame.</span>")
|
||||
|
||||
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
if(istype(W, /obj/item/weapon/crowbar))
|
||||
new /obj/machinery/constructable_frame/machine_frame(T)
|
||||
@@ -41,7 +40,6 @@ var/global/list/captain_display_cases = list()
|
||||
G.amount = 5
|
||||
qdel(src)
|
||||
to_chat(user, "<span class='notice'>You pry the glass out of the frame.</span>")
|
||||
|
||||
playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
|
||||
return
|
||||
|
||||
@@ -67,14 +65,12 @@ var/global/list/captain_display_cases = list()
|
||||
sensor = null
|
||||
state--
|
||||
to_chat(user, "<span class='notice'>You pry the electronics out of the frame.</span>")
|
||||
|
||||
playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
|
||||
if(isprox(W) && !isprox(sensor))
|
||||
user.drop_item()
|
||||
sensor = W
|
||||
sensor.forceMove(src)
|
||||
to_chat(user, "<span class='notice'>You add the proximity sensor to the frame.</span>")
|
||||
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
|
||||
if(pstate != state)
|
||||
@@ -131,14 +127,11 @@ var/global/list/captain_display_cases = list()
|
||||
/obj/structure/displaycase/examine(mob/user)
|
||||
..(user)
|
||||
to_chat(user, "<span class='notice'>Peering through the glass, you see that it contains:</span>")
|
||||
|
||||
if(occupant)
|
||||
to_chat(user, "\icon[occupant] <span class='notice'>\A [occupant].</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "Nothing.")
|
||||
|
||||
|
||||
/obj/structure/displaycase/proc/dump()
|
||||
if(occupant)
|
||||
occupant.forceMove(get_turf(src))
|
||||
@@ -221,15 +214,12 @@ var/global/list/captain_display_cases = list()
|
||||
var/obj/item/weapon/card/id/I = W
|
||||
if(!check_access(I))
|
||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
|
||||
return
|
||||
locked = !locked
|
||||
if(!locked)
|
||||
to_chat(user, "\icon[src] <span class='notice'>\The [src] clicks as locks release, and it slowly opens for you.</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "\icon[src] <span class='notice'>You close \the [src] and swipe your card, locking it.</span>")
|
||||
|
||||
update_icon()
|
||||
return
|
||||
if(istype(W,/obj/item/weapon/crowbar) && (!locked || destroyed))
|
||||
@@ -270,16 +260,13 @@ var/global/list/captain_display_cases = list()
|
||||
else if(!locked)
|
||||
dump()
|
||||
to_chat(user, "<span class='danger'>You smash \the [W] into the delicate electronics at the bottom of the case, and deactivate the hover field.</span>")
|
||||
|
||||
update_icon()
|
||||
else
|
||||
if(locked)
|
||||
to_chat(user, "<span class='warning'>It's locked, you can't put anything into it.</span>")
|
||||
|
||||
return
|
||||
if(!occupant)
|
||||
to_chat(user, "<span class='notice'>You insert \the [W] into \the [src], and it floats as the hoverfield activates.</span>")
|
||||
|
||||
user.drop_item()
|
||||
W.forceMove(src)
|
||||
occupant=W
|
||||
@@ -290,7 +277,6 @@ var/global/list/captain_display_cases = list()
|
||||
if(occupant)
|
||||
dump()
|
||||
to_chat(user, "<span class='danger'>You smash your fist into the delicate electronics at the bottom of the case, and deactivate the hover field.</span>")
|
||||
|
||||
src.add_fingerprint(user)
|
||||
update_icon()
|
||||
else
|
||||
@@ -308,22 +294,18 @@ var/global/list/captain_display_cases = list()
|
||||
var/print = H.get_full_print()
|
||||
if(!ue)
|
||||
to_chat(user, "<span class='notice'>Your press your thumb against the fingerprint scanner, registering your identity with the case.</span>")
|
||||
|
||||
ue = print
|
||||
return
|
||||
if(ue != print)
|
||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
|
||||
return
|
||||
|
||||
if(occupant)
|
||||
to_chat(user, "<span class='notice'>Your press your thumb against the fingerprint scanner, and deactivate the hover field built into the case.</span>")
|
||||
|
||||
dump()
|
||||
update_icon()
|
||||
else
|
||||
to_chat(src, "\icon[src] <span class='warning'>\The [src] is empty!</span>")
|
||||
|
||||
else
|
||||
user.visible_message("[user.name] gently runs his hands over \the [src] in appreciation of its contents.", \
|
||||
"You gently run your hands over \the [src] in appreciation of its contents.", \
|
||||
|
||||
@@ -158,7 +158,6 @@ obj/structure/door_assembly/multi_tile/Move()
|
||||
if(do_after(user, 40, target = src))
|
||||
if(!src || !WT.isOn()) return
|
||||
to_chat(user, "\blue You welded the [glass] plating off!")
|
||||
|
||||
var/M = text2path("/obj/item/stack/sheet/mineral/[glass]")
|
||||
new M(src.loc, 2)
|
||||
glass = 0
|
||||
@@ -167,7 +166,6 @@ obj/structure/door_assembly/multi_tile/Move()
|
||||
if(do_after(user, 40, target = src))
|
||||
if(!src || !WT.isOn()) return
|
||||
to_chat(user, "\blue You welded the glass panel out!")
|
||||
|
||||
new /obj/item/stack/sheet/rglass(src.loc)
|
||||
glass = 0
|
||||
else if(!anchored)
|
||||
@@ -175,12 +173,10 @@ obj/structure/door_assembly/multi_tile/Move()
|
||||
if(do_after(user, 40, target = src))
|
||||
if(!src || !WT.isOn()) return
|
||||
to_chat(user, "\blue You dissasembled the airlock assembly!")
|
||||
|
||||
new /obj/item/stack/sheet/metal(src.loc, 4)
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "\blue You need more welding fuel.")
|
||||
|
||||
return
|
||||
|
||||
else if(istype(W, /obj/item/weapon/wrench) && state == 0)
|
||||
@@ -193,7 +189,6 @@ obj/structure/door_assembly/multi_tile/Move()
|
||||
if(do_after(user, 40, target = src))
|
||||
if(!src) return
|
||||
to_chat(user, "\blue You [anchored? "un" : ""]secured the airlock assembly!")
|
||||
|
||||
anchored = !anchored
|
||||
|
||||
else if(istype(W, /obj/item/stack/cable_coil) && state == 0 && anchored )
|
||||
@@ -205,7 +200,6 @@ obj/structure/door_assembly/multi_tile/Move()
|
||||
src.state = 1
|
||||
to_chat(user, "\blue You wire the Airlock!")
|
||||
|
||||
|
||||
else if(istype(W, /obj/item/weapon/wirecutters) && state == 1 )
|
||||
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
|
||||
user.visible_message("[user] cuts the wires from the airlock assembly.", "You start to cut the wires from airlock assembly.")
|
||||
@@ -213,7 +207,6 @@ obj/structure/door_assembly/multi_tile/Move()
|
||||
if(do_after(user, 40, target = src))
|
||||
if(!src) return
|
||||
to_chat(user, "\blue You cut the airlock wires.!")
|
||||
|
||||
new/obj/item/stack/cable_coil(src.loc, 1)
|
||||
src.state = 0
|
||||
|
||||
@@ -226,7 +219,6 @@ obj/structure/door_assembly/multi_tile/Move()
|
||||
if(do_after(user, 40, target = src))
|
||||
if(!src) return
|
||||
to_chat(user, "\blue You installed the airlock electronics!")
|
||||
|
||||
src.state = 2
|
||||
src.name = "Near finished Airlock Assembly"
|
||||
src.electronics = W
|
||||
@@ -240,7 +232,6 @@ obj/structure/door_assembly/multi_tile/Move()
|
||||
if(do_after(user, 40, target = src))
|
||||
if(!src) return
|
||||
to_chat(user, "\blue You removed the airlock electronics!")
|
||||
|
||||
src.state = 1
|
||||
src.name = "Wired Airlock Assembly"
|
||||
var/obj/item/weapon/airlock_electronics/ae
|
||||
@@ -260,7 +251,6 @@ obj/structure/door_assembly/multi_tile/Move()
|
||||
user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.")
|
||||
if(do_after(user, 40, target = src))
|
||||
to_chat(user, "\blue You installed reinforced glass windows into the airlock assembly!")
|
||||
|
||||
S.use(1)
|
||||
glass = 1
|
||||
else if(istype(S, /obj/item/stack/sheet/mineral) && S.sheettype)
|
||||
@@ -270,7 +260,6 @@ obj/structure/door_assembly/multi_tile/Move()
|
||||
user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.")
|
||||
if(do_after(user, 40, target = src))
|
||||
to_chat(user, "\blue You installed [M] plating into the airlock assembly!")
|
||||
|
||||
S.use(2)
|
||||
glass = "[M]"
|
||||
|
||||
@@ -278,11 +267,9 @@ obj/structure/door_assembly/multi_tile/Move()
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
|
||||
to_chat(user, "\blue Now finishing the airlock.")
|
||||
|
||||
|
||||
if(do_after(user, 40, target = src))
|
||||
if(!src) return
|
||||
to_chat(user, "\blue You finish the airlock!")
|
||||
|
||||
var/path
|
||||
if(istext(glass))
|
||||
path = text2path("/obj/machinery/door/airlock/[glass]")
|
||||
|
||||
@@ -41,10 +41,8 @@
|
||||
return
|
||||
if(last_time + delay_time > world.time)
|
||||
to_chat(usr, "<span class='warning'>\The [src] is not ready yet!</span>")
|
||||
|
||||
return
|
||||
to_chat(usr, "<span class='notice'>You activate \the [src].</span>")
|
||||
|
||||
shock()
|
||||
return
|
||||
|
||||
@@ -81,7 +79,6 @@
|
||||
if(buckled_mob)
|
||||
buckled_mob.burn_skin(90)
|
||||
to_chat(buckled_mob, "<span class='danger'>You feel a deep shock course through your body!</span>")
|
||||
|
||||
sleep(1)
|
||||
buckled_mob.burn_skin(90)
|
||||
sleep(5)
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
I.loc = src
|
||||
updateUsrDialog()
|
||||
to_chat(user, "<span class='notice'>You put [I] into [src].</span>")
|
||||
|
||||
return
|
||||
/obj/structure/engineeringcart/attackby(obj/item/I, mob/user, params)
|
||||
var/fail_msg = "<span class='notice'>There is already one of those in [src].</span>"
|
||||
@@ -31,7 +30,6 @@
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
else if(istype(I, /obj/item/stack/sheet/metal))
|
||||
if(!mymetal)
|
||||
put_in_cart(I, user)
|
||||
@@ -39,7 +37,6 @@
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
else if(istype(I, /obj/item/stack/sheet/plasteel))
|
||||
if(!myplasteel)
|
||||
put_in_cart(I, user)
|
||||
@@ -47,7 +44,6 @@
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
else if(istype(I, /obj/item/device/flashlight))
|
||||
if(!myflashlight)
|
||||
put_in_cart(I, user)
|
||||
@@ -55,7 +51,6 @@
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
else if(istype(I, /obj/item/weapon/storage/toolbox/mechanical))
|
||||
if(!mybluetoolbox)
|
||||
put_in_cart(I, user)
|
||||
@@ -63,7 +58,6 @@
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
else if(istype(I, /obj/item/weapon/storage/toolbox/electrical))
|
||||
if(!myyellowtoolbox)
|
||||
put_in_cart(I, user)
|
||||
@@ -71,7 +65,6 @@
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
else if(istype(I, /obj/item/weapon/storage/toolbox))
|
||||
if(!myredtoolbox)
|
||||
put_in_cart(I, user)
|
||||
@@ -79,7 +72,6 @@
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
else if(istype(I, /obj/item/taperoll/engineering/))
|
||||
if(!myengitape)
|
||||
put_in_cart(I, user)
|
||||
@@ -87,7 +79,6 @@
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
else if(istype(I, /obj/item/weapon/wrench))
|
||||
if (!anchored && !isinspace())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
@@ -106,7 +97,6 @@
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>You cannot interface your modules [src]!</span>")
|
||||
|
||||
|
||||
/obj/structure/engineeringcart/attack_hand(mob/user)
|
||||
user.set_machine(src)
|
||||
var/dat
|
||||
@@ -139,49 +129,41 @@
|
||||
if(myglass)
|
||||
user.put_in_hands(myglass)
|
||||
to_chat(user, "<span class='notice'>You take [myglass] from [src].</span>")
|
||||
|
||||
myglass = null
|
||||
if(href_list["metal"])
|
||||
if(mymetal)
|
||||
user.put_in_hands(mymetal)
|
||||
to_chat(user, "<span class='notice'>You take [mymetal] from [src].</span>")
|
||||
|
||||
mymetal = null
|
||||
if(href_list["plasteel"])
|
||||
if(myplasteel)
|
||||
user.put_in_hands(myplasteel)
|
||||
to_chat(user, "<span class='notice'>You take [myplasteel] from [src].</span>")
|
||||
|
||||
myplasteel = null
|
||||
if(href_list["flashlight"])
|
||||
if(myflashlight)
|
||||
user.put_in_hands(myflashlight)
|
||||
to_chat(user, "<span class='notice'>You take [myflashlight] from [src].</span>")
|
||||
|
||||
myflashlight = null
|
||||
if(href_list["bluetoolbox"])
|
||||
if(mybluetoolbox)
|
||||
user.put_in_hands(mybluetoolbox)
|
||||
to_chat(user, "<span class='notice'>You take [mybluetoolbox] from [src].</span>")
|
||||
|
||||
mybluetoolbox = null
|
||||
if(href_list["redtoolbox"])
|
||||
if(myredtoolbox)
|
||||
user.put_in_hands(myredtoolbox)
|
||||
to_chat(user, "<span class='notice'>You take [myredtoolbox] from [src].</span>")
|
||||
|
||||
myredtoolbox = null
|
||||
if(href_list["yellowtoolbox"])
|
||||
if(myyellowtoolbox)
|
||||
user.put_in_hands(myyellowtoolbox)
|
||||
to_chat(user, "<span class='notice'>You take [myyellowtoolbox] from [src].</span>")
|
||||
|
||||
myyellowtoolbox = null
|
||||
if(href_list["engitape"])
|
||||
if(myengitape)
|
||||
user.put_in_hands(myengitape)
|
||||
to_chat(user, "<span class='notice'>You take [myengitape] from [src].</span>")
|
||||
|
||||
myengitape = null
|
||||
|
||||
update_icon()
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
contents += O
|
||||
has_extinguisher = O
|
||||
to_chat(user, "<span class='notice'>You place [O] in [src].</span>")
|
||||
|
||||
else
|
||||
opened = !opened
|
||||
else
|
||||
@@ -36,12 +35,10 @@
|
||||
temp = H.organs_by_name["l_hand"]
|
||||
if(temp && !temp.is_usable())
|
||||
to_chat(user, "<span class='notice'>You try to move your [temp.name], but cannot!")
|
||||
|
||||
return
|
||||
if(has_extinguisher)
|
||||
user.put_in_hands(has_extinguisher)
|
||||
to_chat(user, "<span class='notice'>You take [has_extinguisher] from [src].</span>")
|
||||
|
||||
has_extinguisher = null
|
||||
opened = 1
|
||||
else
|
||||
@@ -52,7 +49,6 @@
|
||||
if(has_extinguisher)
|
||||
has_extinguisher.loc = loc
|
||||
to_chat(user, "<span class='notice'>You telekinetically remove [has_extinguisher] from [src].</span>")
|
||||
|
||||
has_extinguisher = null
|
||||
opened = 1
|
||||
else
|
||||
|
||||
@@ -78,19 +78,16 @@
|
||||
/obj/structure/falsewall/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(opening)
|
||||
to_chat(user, "<span class='warning'>You must wait until the door has stopped moving.</span>")
|
||||
|
||||
return
|
||||
|
||||
if(density)
|
||||
var/turf/T = get_turf(src)
|
||||
if(T.density)
|
||||
to_chat(user, "<span class='warning'>[src] is blocked!</span>")
|
||||
|
||||
return
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
if (!istype(T, /turf/simulated/floor))
|
||||
to_chat(user, "<span class='warning'>[src] bolts must be tightened on the floor!</span>")
|
||||
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] tightens some bolts on the wall.</span>", "<span class='warning'>You tighten the bolts on the wall.</span>")
|
||||
ChangeToWall()
|
||||
@@ -101,7 +98,6 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You can't reach, close it first!</span>")
|
||||
|
||||
|
||||
if(istype(W, /obj/item/weapon/gun/energy/plasmacutter) || istype(W, /obj/item/weapon/pickaxe/drill/diamonddrill) || istype(W, /obj/item/weapon/pickaxe/drill/jackhammer) || istype(W, /obj/item/weapon/melee/energy/blade))
|
||||
dismantle(user)
|
||||
|
||||
|
||||
@@ -288,13 +288,11 @@
|
||||
if(indestructable)
|
||||
//this bush marks the edge of the map, you can't destroy it
|
||||
to_chat(user, "\red You flail away at the undergrowth, but it's too thick here.")
|
||||
|
||||
else
|
||||
user.visible_message("\red <b>[user] begins clearing away [src].</b>","\red <b>You begin clearing away [src].</b>")
|
||||
spawn(rand(15,30))
|
||||
if(get_dist(user,src) < 2)
|
||||
to_chat(user, "\blue You clear away [src].")
|
||||
|
||||
var/obj/item/stack/sheet/wood/W = new(src.loc)
|
||||
W.amount = rand(3,15)
|
||||
if(prob(50))
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
I.loc = src
|
||||
updateUsrDialog()
|
||||
to_chat(user, "<span class='notice'>You put [I] into [src].</span>")
|
||||
|
||||
return
|
||||
|
||||
/obj/structure/foodcart/attackby(obj/item/I, mob/user, params)
|
||||
@@ -44,7 +43,6 @@
|
||||
break;
|
||||
if(!success)
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
else if(istype(I, /obj/item/weapon/reagent_containers/food/drinks))
|
||||
var/success = 0
|
||||
for(var/s=1,s<=6,s++)
|
||||
@@ -56,7 +54,6 @@
|
||||
break;
|
||||
if(!success)
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
else if(istype(I, /obj/item/weapon/wrench))
|
||||
if (!anchored && !isinspace())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
@@ -75,7 +72,6 @@
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>You cannot interface your modules [src]!</span>")
|
||||
|
||||
|
||||
/obj/structure/foodcart/attack_hand(mob/user)
|
||||
user.set_machine(src)
|
||||
var/dat
|
||||
@@ -117,73 +113,61 @@
|
||||
if(food_slots[1])
|
||||
user.put_in_hands(food_slots[1])
|
||||
to_chat(user, "<span class='notice'>You take [food_slots[1]] from [src].</span>")
|
||||
|
||||
food_slots[1] = null
|
||||
if(href_list["f2"])
|
||||
if(food_slots[2])
|
||||
user.put_in_hands(food_slots[2])
|
||||
to_chat(user, "<span class='notice'>You take [food_slots[2]] from [src].</span>")
|
||||
|
||||
food_slots[2] = null
|
||||
if(href_list["f3"])
|
||||
if(food_slots[3])
|
||||
user.put_in_hands(food_slots[3])
|
||||
to_chat(user, "<span class='notice'>You take [food_slots[3]] from [src].</span>")
|
||||
|
||||
food_slots[3] = null
|
||||
if(href_list["f4"])
|
||||
if(food_slots[4])
|
||||
user.put_in_hands(food_slots[4])
|
||||
to_chat(user, "<span class='notice'>You take [food_slots[4]] from [src].</span>")
|
||||
|
||||
food_slots[4] = null
|
||||
if(href_list["f5"])
|
||||
if(food_slots[5])
|
||||
user.put_in_hands(food_slots[5])
|
||||
to_chat(user, "<span class='notice'>You take [food_slots[5]] from [src].</span>")
|
||||
|
||||
food_slots[5] = null
|
||||
if(href_list["f6"])
|
||||
if(food_slots[6])
|
||||
user.put_in_hands(food_slots[6])
|
||||
to_chat(user, "<span class='notice'>You take [food_slots[6]] from [src].</span>")
|
||||
|
||||
food_slots[6] = null
|
||||
if(href_list["d1"])
|
||||
if(drink_slots[1])
|
||||
user.put_in_hands(drink_slots[1])
|
||||
to_chat(user, "<span class='notice'>You take [drink_slots[1]] from [src].</span>")
|
||||
|
||||
drink_slots[1] = null
|
||||
if(href_list["d2"])
|
||||
if(drink_slots[2])
|
||||
user.put_in_hands(drink_slots[2])
|
||||
to_chat(user, "<span class='notice'>You take [drink_slots[2]] from [src].</span>")
|
||||
|
||||
drink_slots[2] = null
|
||||
if(href_list["d3"])
|
||||
if(drink_slots[3])
|
||||
user.put_in_hands(drink_slots[3])
|
||||
to_chat(user, "<span class='notice'>You take [drink_slots[3]] from [src].</span>")
|
||||
|
||||
drink_slots[3] = null
|
||||
if(href_list["d4"])
|
||||
if(drink_slots[4])
|
||||
user.put_in_hands(drink_slots[4])
|
||||
to_chat(user, "<span class='notice'>You take [drink_slots[4]] from [src].</span>")
|
||||
|
||||
drink_slots[4] = null
|
||||
if(href_list["d5"])
|
||||
if(drink_slots[5])
|
||||
user.put_in_hands(drink_slots[5])
|
||||
to_chat(user, "<span class='notice'>You take [drink_slots[5]] from [src].</span>")
|
||||
|
||||
drink_slots[5] = null
|
||||
if(href_list["d6"])
|
||||
if(drink_slots[6])
|
||||
user.put_in_hands(drink_slots[6])
|
||||
to_chat(user, "<span class='notice'>You take [drink_slots[6]] from [src].</span>")
|
||||
|
||||
drink_slots[6] = null
|
||||
|
||||
update_icon() //Not really needed without overlays, but keeping just in case
|
||||
|
||||
@@ -33,75 +33,61 @@
|
||||
if(anchored && !istype(src,/obj/structure/girder/displaced))
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
to_chat(user, "\blue Now disassembling the girder")
|
||||
|
||||
if(do_after(user,40, target = src))
|
||||
if(!src) return
|
||||
to_chat(user, "\blue You dissasembled the girder!")
|
||||
|
||||
refundMetal(metalUsed)
|
||||
qdel(src)
|
||||
else if(!anchored)
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
to_chat(user, "\blue Now securing the girder")
|
||||
|
||||
if(get_turf(user, 40))
|
||||
to_chat(user, "\blue You secured the girder!")
|
||||
|
||||
new/obj/structure/girder( src.loc )
|
||||
qdel(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
|
||||
to_chat(user, "\blue Now slicing apart the girder")
|
||||
|
||||
if(do_after(user,30, target = src))
|
||||
if(!src) return
|
||||
to_chat(user, "\blue You slice apart the girder!")
|
||||
|
||||
refundMetal(metalUsed)
|
||||
qdel(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/pickaxe/drill/diamonddrill))
|
||||
to_chat(user, "\blue You drill through the girder!")
|
||||
|
||||
refundMetal(metalUsed)
|
||||
qdel(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer))
|
||||
playsound(src.loc, 'sound/weapons/sonic_jackhammer.ogg', 100, 1)
|
||||
to_chat(user, "<span class='notice'>You Disintegrate the girder!</span>")
|
||||
|
||||
refundMetal(metalUsed)
|
||||
qdel(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 && istype(src,/obj/structure/girder/reinforced))
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
|
||||
to_chat(user, "\blue Now unsecuring support struts")
|
||||
|
||||
if(do_after(user,40, target = src))
|
||||
if(!src) return
|
||||
to_chat(user, "\blue You unsecured the support struts!")
|
||||
|
||||
state = 1
|
||||
|
||||
else if(istype(W, /obj/item/weapon/wirecutters) && istype(src,/obj/structure/girder/reinforced) && state == 1)
|
||||
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
|
||||
to_chat(user, "\blue Now removing support struts")
|
||||
|
||||
if(do_after(user,40, target = src))
|
||||
if(!src) return
|
||||
to_chat(user, "\blue You removed the support struts!")
|
||||
|
||||
new/obj/structure/girder( src.loc )
|
||||
qdel(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/crowbar) && state == 0 && anchored )
|
||||
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
|
||||
to_chat(user, "\blue Now dislodging the girder")
|
||||
|
||||
if(do_after(user, 40, target = src))
|
||||
if(!src) return
|
||||
to_chat(user, "\blue You dislodged the girder!")
|
||||
|
||||
new/obj/structure/girder/displaced( src.loc )
|
||||
qdel(src)
|
||||
|
||||
@@ -115,18 +101,15 @@
|
||||
if(S.amount < 2) return
|
||||
S.use(2)
|
||||
to_chat(user, "\blue You create a false wall! Push on it to open or close the passage.")
|
||||
|
||||
new /obj/structure/falsewall (src.loc)
|
||||
qdel(src)
|
||||
else
|
||||
if(S.amount < 2) return ..()
|
||||
to_chat(user, "\blue Now adding plating...")
|
||||
|
||||
if (do_after(user,40, target = src))
|
||||
if(!src || !S || S.amount < 2) return
|
||||
S.use(2)
|
||||
to_chat(user, "\blue You added the plating!")
|
||||
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ChangeTurf(/turf/simulated/wall)
|
||||
for(var/turf/simulated/wall/X in Tsrc.loc)
|
||||
@@ -139,19 +122,16 @@
|
||||
if(S.amount < 2) return
|
||||
S.use(2)
|
||||
to_chat(user, "\blue You create a false wall! Push on it to open or close the passage.")
|
||||
|
||||
new /obj/structure/falsewall/reinforced (src.loc)
|
||||
qdel(src)
|
||||
else
|
||||
if (src.icon_state == "reinforced") //I cant believe someone would actually write this line of code...
|
||||
if(S.amount < 1) return ..()
|
||||
to_chat(user, "\blue Now finalising reinforced wall.")
|
||||
|
||||
if(do_after(user, 50, target = src))
|
||||
if(!src || !S || S.amount < 1) return
|
||||
S.use(1)
|
||||
to_chat(user, "\blue Wall fully reinforced!")
|
||||
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ChangeTurf(/turf/simulated/wall/r_wall)
|
||||
for(var/turf/simulated/wall/r_wall/X in Tsrc.loc)
|
||||
@@ -161,12 +141,10 @@
|
||||
else
|
||||
if(S.amount < 1) return ..()
|
||||
to_chat(user, "\blue Now reinforcing girders")
|
||||
|
||||
if (do_after(user,60, target = src))
|
||||
if(!src || !S || S.amount < 1) return
|
||||
S.use(1)
|
||||
to_chat(user, "\blue Girders reinforced!")
|
||||
|
||||
new/obj/structure/girder/reinforced( src.loc )
|
||||
qdel(src)
|
||||
return
|
||||
@@ -177,19 +155,16 @@
|
||||
if(S.amount < 2) return
|
||||
S.use(2)
|
||||
to_chat(user, "\blue You create a false wall! Push on it to open or close the passage.")
|
||||
|
||||
var/F = text2path("/obj/structure/falsewall/[M]")
|
||||
new F (src.loc)
|
||||
qdel(src)
|
||||
else
|
||||
if(S.amount < 2) return ..()
|
||||
to_chat(user, "\blue Now adding plating...")
|
||||
|
||||
if (do_after(user,40, target = src))
|
||||
if(!src || !S || S.amount < 2) return
|
||||
S.use(2)
|
||||
to_chat(user, "\blue You added 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)
|
||||
@@ -205,7 +180,6 @@
|
||||
user.drop_item()
|
||||
P.loc = src.loc
|
||||
to_chat(user, "\blue You fit the pipe into the [src]!")
|
||||
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -268,23 +242,18 @@
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
to_chat(user, "\blue Now disassembling the girder")
|
||||
|
||||
if(do_after(user,40, target = src))
|
||||
to_chat(user, "\blue You dissasembled the girder!")
|
||||
|
||||
dismantle()
|
||||
|
||||
else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
|
||||
to_chat(user, "\blue Now slicing apart the girder")
|
||||
|
||||
if(do_after(user,30, target = src))
|
||||
to_chat(user, "\blue You slice apart the girder!")
|
||||
|
||||
dismantle()
|
||||
|
||||
else if(istype(W, /obj/item/weapon/pickaxe/drill/diamonddrill))
|
||||
to_chat(user, "\blue You drill through the girder!")
|
||||
|
||||
dismantle()
|
||||
|
||||
/obj/structure/cultgirder/proc/dismantle()
|
||||
|
||||
@@ -171,21 +171,17 @@
|
||||
dir_to_set = 4
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You can't reach.</span>")
|
||||
|
||||
return //Only works for cardinal direcitons, diagonals aren't supposed to work like this.
|
||||
for(var/obj/structure/window/WINDOW in loc)
|
||||
if(WINDOW.dir == dir_to_set)
|
||||
to_chat(user, "<span class='notice'>There is already a window facing this way there.</span>")
|
||||
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You start placing the window.</span>")
|
||||
|
||||
if(do_after(user,20, target = src))
|
||||
if(!src) return //Grille destroyed while waiting
|
||||
for(var/obj/structure/window/WINDOW in loc)
|
||||
if(WINDOW.dir == dir_to_set)//checking this for a 2nd time to check if a window was made while we were waiting.
|
||||
to_chat(user, "<span class='notice'>There is already a window facing this way there.</span>")
|
||||
|
||||
return
|
||||
var/obj/structure/window/WD
|
||||
if(istype(W,/obj/item/stack/sheet/rglass))
|
||||
@@ -203,7 +199,6 @@
|
||||
var/obj/item/stack/ST = W
|
||||
ST.use(1)
|
||||
to_chat(user, "<span class='notice'>You place the [WD] on [src].</span>")
|
||||
|
||||
WD.update_icon()
|
||||
return
|
||||
//window placing end
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
/obj/item/inflatable/attack_self(mob/user)
|
||||
playsound(loc, 'sound/items/zip.ogg', 75, 1)
|
||||
to_chat(user, "\blue You inflate [src].")
|
||||
|
||||
var/obj/structure/inflatable/R = new /obj/structure/inflatable(user.loc)
|
||||
src.transfer_fingerprints_to(R)
|
||||
R.add_fingerprint(user)
|
||||
@@ -152,7 +151,6 @@
|
||||
/obj/item/inflatable/door/attack_self(mob/user)
|
||||
playsound(loc, 'sound/items/zip.ogg', 75, 1)
|
||||
to_chat(user, "\blue You inflate [src].")
|
||||
|
||||
var/obj/structure/inflatable/door/R = new /obj/structure/inflatable/door(user.loc)
|
||||
src.transfer_fingerprints_to(R)
|
||||
R.add_fingerprint(user)
|
||||
@@ -265,7 +263,6 @@
|
||||
|
||||
/obj/item/inflatable/torn/attack_self(mob/user)
|
||||
to_chat(user, "<span class='warning'>The inflatable wall is too torn to be inflated!</span>")
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/item/inflatable/door/torn
|
||||
@@ -276,7 +273,6 @@
|
||||
|
||||
/obj/item/inflatable/door/torn/attack_self(mob/user)
|
||||
to_chat(user, "<span class='warning'>The inflatable door is too torn to be inflated!</span>")
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/item/weapon/storage/briefcase/inflatable
|
||||
|
||||
@@ -35,17 +35,14 @@
|
||||
to_chat(user, "It has been upgraded with a floor buffer.")
|
||||
|
||||
|
||||
|
||||
/obj/structure/stool/bed/chair/janicart/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, keytype))
|
||||
to_chat(user, "Hold [I] in one of your hands while you drive this [callme].")
|
||||
|
||||
else if(istype(I, /obj/item/weapon/storage/bag/trash))
|
||||
if(keytype == /obj/item/key/janitor)
|
||||
if(!user.drop_item())
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You hook the trashbag onto the [callme].</span>")
|
||||
|
||||
I.loc = src
|
||||
mybag = I
|
||||
else if(istype(I, /obj/item/janiupgrade))
|
||||
@@ -53,7 +50,6 @@
|
||||
floorbuffer = 1
|
||||
qdel(I)
|
||||
to_chat(user, "<span class='notice'>You upgrade the [callme] with the floor buffer.</span>")
|
||||
|
||||
update_icon()
|
||||
|
||||
/obj/structure/stool/bed/chair/janicart/update_icon()
|
||||
@@ -95,7 +91,6 @@
|
||||
move_delay = 0
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You'll need the keys in one of your hands to drive this [callme].</span>")
|
||||
|
||||
|
||||
/obj/structure/stool/bed/chair/janicart/Bump(atom/A)
|
||||
if(buckled_mob && istype(A, /obj/machinery/door))
|
||||
@@ -251,11 +246,9 @@
|
||||
/obj/structure/janitorialcart/proc/wet_mop(obj/item/weapon/mop, mob/user)
|
||||
if(reagents.total_volume < 1)
|
||||
to_chat(user, "[src] is out of water!</span>")
|
||||
|
||||
else
|
||||
reagents.trans_to(mop, 5) //
|
||||
to_chat(user, "<span class='notice'>You wet [mop] in [src].</span>")
|
||||
|
||||
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
|
||||
|
||||
/obj/structure/janitorialcart/proc/put_in_cart(obj/item/I, mob/user)
|
||||
@@ -263,7 +256,6 @@
|
||||
I.loc = src
|
||||
updateUsrDialog()
|
||||
to_chat(user, "<span class='notice'>You put [I] into [src].</span>")
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -281,14 +273,12 @@
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
|
||||
else if(istype(I, /obj/item/weapon/storage/bag/trash))
|
||||
if(!mybag)
|
||||
var/obj/item/weapon/storage/bag/trash/t=I
|
||||
t.janicart_insert(user, src)
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
else if(istype(I, /obj/item/weapon/reagent_containers/spray/cleaner))
|
||||
if(!myspray)
|
||||
put_in_cart(I, user)
|
||||
@@ -296,14 +286,12 @@
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
else if(istype(I, /obj/item/device/lightreplacer))
|
||||
if(!myreplacer)
|
||||
var/obj/item/device/lightreplacer/l=I
|
||||
l.janicart_insert(user,src)
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
else if(istype(I, /obj/item/weapon/caution))
|
||||
if(signs < max_signs)
|
||||
put_in_cart(I, user)
|
||||
@@ -311,12 +299,10 @@
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src] can't hold any more signs.</span>")
|
||||
|
||||
else if(istype(I, /obj/item/weapon/crowbar))
|
||||
user.visible_message("<span class='warning'>[user] begins to empty the contents of [src].</span>")
|
||||
if(do_after(user, 30, target = src))
|
||||
to_chat(usr, "<span class='notice'>You empty the contents of [src]'s bucket onto the floor.</span>")
|
||||
|
||||
reagents.reaction(src.loc)
|
||||
src.reagents.clear_reagents()
|
||||
else if(istype(I, /obj/item/weapon/wrench))
|
||||
@@ -339,7 +325,6 @@
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>You cannot interface your modules [src]!</span>")
|
||||
|
||||
|
||||
/obj/structure/janitorialcart/attack_hand(mob/user)
|
||||
user.set_machine(src)
|
||||
var/dat
|
||||
@@ -368,25 +353,21 @@
|
||||
if(mybag)
|
||||
user.put_in_hands(mybag)
|
||||
to_chat(user, "<span class='notice'>You take [mybag] from [src].</span>")
|
||||
|
||||
mybag = null
|
||||
if(href_list["mop"])
|
||||
if(mymop)
|
||||
user.put_in_hands(mymop)
|
||||
to_chat(user, "<span class='notice'>You take [mymop] from [src].</span>")
|
||||
|
||||
mymop = null
|
||||
if(href_list["spray"])
|
||||
if(myspray)
|
||||
user.put_in_hands(myspray)
|
||||
to_chat(user, "<span class='notice'>You take [myspray] from [src].</span>")
|
||||
|
||||
myspray = null
|
||||
if(href_list["replacer"])
|
||||
if(myreplacer)
|
||||
user.put_in_hands(myreplacer)
|
||||
to_chat(user, "<span class='notice'>You take [myreplacer] from [src].</span>")
|
||||
|
||||
myreplacer = null
|
||||
if(href_list["sign"])
|
||||
if(signs)
|
||||
@@ -394,7 +375,6 @@
|
||||
if(Sign)
|
||||
user.put_in_hands(Sign)
|
||||
to_chat(user, "<span class='notice'>You take \a [Sign] from [src].</span>")
|
||||
|
||||
signs--
|
||||
else
|
||||
WARNING("Signs ([signs]) didn't match contents")
|
||||
|
||||
@@ -14,18 +14,15 @@
|
||||
if(istype(I, /obj/item/weapon/wrench))
|
||||
if(anchored)
|
||||
to_chat(user, "<span class='notice'>You unwrench [src] from the floor.</span>")
|
||||
|
||||
anchored = 0
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You wrench [src] into place.</span>")
|
||||
|
||||
anchored = 1
|
||||
else if(istype(I, /obj/item/stack/rods))
|
||||
var/obj/item/stack/rods/R = I
|
||||
if(R.get_amount() >= 4)
|
||||
R.use(4)
|
||||
to_chat(user, "<span class='notice'>You add spikes to the frame.</span>")
|
||||
|
||||
new /obj/structure/kitchenspike(loc)
|
||||
add_fingerprint(user)
|
||||
qdel(src)
|
||||
@@ -49,20 +46,17 @@
|
||||
playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
|
||||
if(do_after(user, 20, target = src))
|
||||
to_chat(user, "<span class='notice'>You pry the spikes out of the frame.</span>")
|
||||
|
||||
new /obj/item/stack/rods(loc, 4)
|
||||
new /obj/structure/kitchenspike_frame(loc)
|
||||
add_fingerprint(user)
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You can't do that while something's on the spike!</span>")
|
||||
|
||||
return
|
||||
if(!istype(G, /obj/item/weapon/grab) || !G.affecting)
|
||||
return
|
||||
if(buckled_mob)
|
||||
to_chat(user, "<span class = 'danger'>The spike already has something on it, finish collecting its meat first!</span>")
|
||||
|
||||
else
|
||||
if(isliving(G.affecting))
|
||||
if(!buckled_mob)
|
||||
@@ -72,7 +66,6 @@
|
||||
qdel(G)
|
||||
return
|
||||
to_chat(user, "<span class='danger'>You can't use that on the spike!</span>")
|
||||
|
||||
return
|
||||
|
||||
/obj/structure/kitchenspike/proc/spike(var/mob/living/victim)
|
||||
@@ -131,7 +124,6 @@
|
||||
if(!do_after(M, 1200, target = src))
|
||||
if(M && M.buckled)
|
||||
to_chat(M, "<span class='warning'>You fail to free yourself!</span>")
|
||||
|
||||
return
|
||||
if(!M.buckled)
|
||||
return
|
||||
|
||||
@@ -70,11 +70,9 @@
|
||||
return
|
||||
else
|
||||
to_chat(usr, text("\blue You kick the lab cage."))
|
||||
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
to_chat(O, text("\red [] kicks the lab cage.", usr))
|
||||
|
||||
src.health -= 2
|
||||
healthcheck()
|
||||
return
|
||||
|
||||
@@ -59,7 +59,6 @@
|
||||
var/obj/item/weapon/weldingtool/WT = C
|
||||
if(WT.remove_fuel(0, user))
|
||||
to_chat(user, "\blue Slicing lattice joints ...")
|
||||
|
||||
new /obj/item/stack/rods(src.loc)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -112,15 +112,12 @@
|
||||
if(istype(W,/obj/item/weapon/pickaxe))
|
||||
var/obj/item/weapon/pickaxe/digTool = W
|
||||
to_chat(user, "You start digging the [name].")
|
||||
|
||||
if(do_after(user,digTool.digspeed*hardness, target = src) && src)
|
||||
to_chat(user, "You finished digging.")
|
||||
|
||||
Dismantle()
|
||||
else if(istype(W,/obj/item/weapon)) //not sure, can't not just weapons get passed to this proc?
|
||||
hardness -= W.force/100
|
||||
to_chat(user, "You hit the [name] with your [W.name]!")
|
||||
|
||||
CheckHardness()
|
||||
else
|
||||
attack_hand(user)
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
attack_hand(mob/user as mob)
|
||||
to_chat(user, "Civilians: NT is recruiting! Please head SOUTH to the NT Recruitment office to join the station's crew!")
|
||||
|
||||
|
||||
/obj/structure/ninjatele
|
||||
|
||||
name = "Long-Distance Teleportation Console"
|
||||
@@ -51,13 +50,10 @@
|
||||
|
||||
to_chat(user, "\blue <b>VOID-Shift</b> translocation successful")
|
||||
|
||||
|
||||
if("No")
|
||||
|
||||
to_chat(user, "\red <b>Process aborted!</b>")
|
||||
|
||||
|
||||
return
|
||||
else
|
||||
to_chat(user, "\red <B>FĆAL �Rr�R</B>: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked.")
|
||||
|
||||
to_chat(user, "\red <B>FĆAL �Rr�R</B>: ŧer nt recgnized, c-cntr-r䣧-ç äcked.")
|
||||
|
||||
@@ -25,17 +25,14 @@
|
||||
if(..(user, 1))
|
||||
to_chat(usr, text("\icon[] [] contains [] units of water left!", src, src.name, src.reagents.total_volume))
|
||||
|
||||
|
||||
/obj/structure/mopbucket/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
if (istype(W, /obj/item/weapon/mop))
|
||||
if (src.reagents.total_volume >= 2)
|
||||
src.reagents.trans_to(W, 2)
|
||||
to_chat(user, "\blue You wet the mop")
|
||||
|
||||
playsound(src.loc, 'sound/effects/slosh.ogg', 25, 1)
|
||||
if (src.reagents.total_volume < 1)
|
||||
to_chat(user, "\blue Out of water!")
|
||||
|
||||
return
|
||||
|
||||
/obj/structure/mopbucket/ex_act(severity)
|
||||
|
||||
@@ -151,7 +151,6 @@
|
||||
return
|
||||
|
||||
to_chat(CM, "<span class='alert'>You attempt to slide yourself out of \the [src]...</span>")
|
||||
|
||||
src.attack_hand(CM)
|
||||
|
||||
|
||||
@@ -194,7 +193,6 @@
|
||||
for(var/mob/B in viewers(user, 3))
|
||||
if ((B.client && !( B.blinded )))
|
||||
to_chat(B, text("\red [] stuffs [] into []!", user, O, src))
|
||||
|
||||
return
|
||||
|
||||
/obj/structure/m_tray/Destroy()
|
||||
@@ -277,7 +275,6 @@
|
||||
/obj/structure/crematorium/attack_hand(mob/user as mob)
|
||||
if (cremating)
|
||||
to_chat(usr, "\red It's locked.")
|
||||
|
||||
return
|
||||
if ((connected) && (locked == 0))
|
||||
for(var/atom/movable/A as mob|obj in connected.loc)
|
||||
@@ -392,7 +389,6 @@
|
||||
return
|
||||
|
||||
to_chat(CM, "<span class='alert'>You attempt to slide yourself out of \the [src]...</span>")
|
||||
|
||||
src.attack_hand(CM)
|
||||
|
||||
/*
|
||||
@@ -434,7 +430,6 @@
|
||||
for(var/mob/B in viewers(user, 3))
|
||||
if ((B.client && !( B.blinded )))
|
||||
to_chat(B, text("\red [] stuffs [] into []!", user, O, src))
|
||||
|
||||
//Foreach goto(99)
|
||||
return
|
||||
|
||||
@@ -452,7 +447,6 @@
|
||||
C.cremate(user)
|
||||
else
|
||||
to_chat(usr, "\red Access denied.")
|
||||
|
||||
return
|
||||
|
||||
/hook/Login/proc/update_morgue(var/client/client, var/mob/L)
|
||||
|
||||
@@ -80,21 +80,17 @@
|
||||
|
||||
for(var/line in lines)
|
||||
// to_chat(world, line)
|
||||
|
||||
for(var/beat in splittext(lowertext(line), ","))
|
||||
// to_chat(world, "beat: [beat]")
|
||||
|
||||
var/list/notes = splittext(beat, "/")
|
||||
for(var/note in splittext(notes[1], "-"))
|
||||
// to_chat(world, "note: [note]")
|
||||
|
||||
if(!playing || shouldStopPlaying(user))//If the instrument is playing, or special case
|
||||
playing = 0
|
||||
return
|
||||
if(lentext(note) == 0)
|
||||
continue
|
||||
// to_chat(world, "Parse: [copytext(note,1,2)]")
|
||||
|
||||
var/cur_note = text2ascii(note) - 96
|
||||
if(cur_note < 1 || cur_note > 7)
|
||||
continue
|
||||
@@ -177,13 +173,11 @@
|
||||
tempo = sanitize_tempo(5) // default 120 BPM
|
||||
if(lines.len > 50)
|
||||
to_chat(usr, "Too many lines!")
|
||||
|
||||
lines.Cut(51)
|
||||
var/linenum = 1
|
||||
for(var/l in lines)
|
||||
if(lentext(l) > 50)
|
||||
to_chat(usr, "Line [linenum] too long!")
|
||||
|
||||
lines.Remove(l)
|
||||
else
|
||||
linenum++
|
||||
@@ -308,7 +302,6 @@
|
||||
if (!anchored && !isinspace())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
to_chat(user, "<span class='notice'> You begin to tighten \the [src] to the floor...</span>")
|
||||
|
||||
if (do_after(user, 20, target = src))
|
||||
user.visible_message( \
|
||||
"[user] tightens \the [src]'s casters.", \
|
||||
@@ -318,7 +311,6 @@
|
||||
else if(anchored)
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
to_chat(user, "<span class='notice'> You begin to loosen \the [src]'s casters...</span>")
|
||||
|
||||
if (do_after(user, 40, target = src))
|
||||
user.visible_message( \
|
||||
"[user] loosens \the [src]'s casters.", \
|
||||
|
||||
@@ -26,11 +26,9 @@
|
||||
notices++
|
||||
icon_state = "nboard0[notices]" //update sprite
|
||||
to_chat(user, "<span class='notice'>You pin the paper to the noticeboard.</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You reach to pin your paper to the board but hesitate. You are certain your paper will not be seen among the many others already attached.</span>")
|
||||
|
||||
|
||||
/obj/structure/noticeboard/attack_hand(user as mob)
|
||||
var/dat = "<B>Noticeboard</B><BR>"
|
||||
for(var/obj/item/weapon/paper/P in src)
|
||||
@@ -69,7 +67,6 @@
|
||||
else
|
||||
to_chat(usr, "<span class='notice'>You'll need something to write with!</span>")
|
||||
|
||||
|
||||
if(href_list["read"])
|
||||
var/obj/item/weapon/paper/P = locate(href_list["read"])
|
||||
if((P && P.loc == src))
|
||||
|
||||
@@ -43,10 +43,8 @@ FLOOR SAFES
|
||||
if(user && canhear)
|
||||
if(tumbler_1_pos == tumbler_1_open)
|
||||
to_chat(user, "<span class='italics'>You hear a [pick("tonk", "krunk", "plunk")] from [src].</span>")
|
||||
|
||||
if(tumbler_2_pos == tumbler_2_open)
|
||||
to_chat(user, "<span class='italics'>You hear a [pick("tink", "krink", "plink")] from [src].</span>")
|
||||
|
||||
if(tumbler_1_pos == tumbler_1_open && tumbler_2_pos == tumbler_2_open)
|
||||
if(user) visible_message("<i><b>[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!</b></i>")
|
||||
return 1
|
||||
@@ -98,14 +96,12 @@ FLOOR SAFES
|
||||
if(href_list["open"])
|
||||
if(check_unlocked())
|
||||
to_chat(user, "<span class='notice'>You [open ? "close" : "open"] [src].</span>")
|
||||
|
||||
open = !open
|
||||
update_icon()
|
||||
updateUsrDialog()
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You can't [open ? "close" : "open"] [src], the lock is engaged!</span>")
|
||||
|
||||
return
|
||||
|
||||
if(href_list["decrement"])
|
||||
@@ -114,12 +110,10 @@ FLOOR SAFES
|
||||
tumbler_1_pos = decrement(tumbler_1_pos)
|
||||
if(canhear)
|
||||
to_chat(user, "<span class='italics'>You hear a [pick("clack", "scrape", "clank")] from [src].</span>")
|
||||
|
||||
if(tumbler_1_pos == tumbler_2_pos + 37 || tumbler_1_pos == tumbler_2_pos - 35)
|
||||
tumbler_2_pos = decrement(tumbler_2_pos)
|
||||
if(canhear)
|
||||
to_chat(user, "<span class='italics'>You hear a [pick("click", "chink", "clink")] from [src].</span>")
|
||||
|
||||
check_unlocked(user, canhear)
|
||||
updateUsrDialog()
|
||||
return
|
||||
@@ -130,12 +124,10 @@ FLOOR SAFES
|
||||
tumbler_1_pos = increment(tumbler_1_pos)
|
||||
if(canhear)
|
||||
to_chat(user, "<span class='italics'>You hear a [pick("clack", "scrape", "clank")] from [src].</span>")
|
||||
|
||||
if(tumbler_1_pos == tumbler_2_pos - 37 || tumbler_1_pos == tumbler_2_pos + 35)
|
||||
tumbler_2_pos = increment(tumbler_2_pos)
|
||||
if(canhear)
|
||||
to_chat(user, "<span class='italics'>You hear a [pick("click", "chink", "clink")] from [src].</span>")
|
||||
|
||||
check_unlocked(user, canhear)
|
||||
updateUsrDialog()
|
||||
return
|
||||
@@ -156,21 +148,17 @@ FLOOR SAFES
|
||||
space += I.w_class
|
||||
if(!user.drop_item())
|
||||
to_chat(user, "<span class='warning'>\The [I] is stuck to your hand, you cannot put it in the safe!</span>")
|
||||
|
||||
return
|
||||
I.loc = src
|
||||
to_chat(user, "<span class='notice'>You put [I] in [src].</span>")
|
||||
|
||||
updateUsrDialog()
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[I] won't fit in [src].</span>")
|
||||
|
||||
return
|
||||
else
|
||||
if(istype(I, /obj/item/clothing/accessory/stethoscope))
|
||||
to_chat(user, "<span class='warning'>Hold [I] in one of your hands while you manipulate the dial!</span>")
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
/obj/structure/sign/attackby(obj/item/tool as obj, mob/user as mob) //deconstruction
|
||||
if(istype(tool, /obj/item/weapon/screwdriver) && !istype(src, /obj/structure/sign/double))
|
||||
to_chat(user, "You unfasten the sign with your [tool].")
|
||||
|
||||
var/obj/item/sign/S = new(src.loc)
|
||||
S.name = name
|
||||
S.desc = desc
|
||||
@@ -63,7 +62,6 @@
|
||||
S.desc = desc
|
||||
S.icon_state = sign_state
|
||||
to_chat(user, "You fasten \the [S] with your [tool].")
|
||||
|
||||
qdel(src)
|
||||
else ..()
|
||||
|
||||
|
||||
@@ -17,12 +17,10 @@
|
||||
if(A)
|
||||
to_chat(O, "\blue <b>Someone has begun playing with a [src.name] in [A.name]!. (<a href='?src=\ref[O];jump=\ref[src]'>Teleport</a>)</b>")
|
||||
|
||||
|
||||
/obj/structure/spirit_board/examine(mob/user)
|
||||
..(user)
|
||||
to_chat(user, "[initial(desc)] The planchette is sitting at \"[planchette]\".")
|
||||
|
||||
|
||||
/obj/structure/spirit_board/attack_hand(mob/user as mob)
|
||||
if(..())
|
||||
return
|
||||
@@ -72,7 +70,6 @@
|
||||
|
||||
if(light_amount > 2)
|
||||
to_chat(M, "<span class='warning'>It's too bright here to use [src.name]!</span>")
|
||||
|
||||
return 0
|
||||
|
||||
//mobs in range check
|
||||
@@ -81,13 +78,11 @@
|
||||
if(L.ckey && L.client)
|
||||
if((world.time - L.client.inactivity) < (world.time - 300) || L.stat != CONSCIOUS || L.restrained())//no playing with braindeads or corpses or handcuffed dudes.
|
||||
to_chat(M, "<span class='warning'>[L] doesn't seem to be paying attention...</span>")
|
||||
|
||||
else
|
||||
users_in_range++
|
||||
|
||||
if(users_in_range < 2)
|
||||
to_chat(M, "<span class='warning'>There aren't enough people to use the [src.name]!</span>")
|
||||
|
||||
return 0
|
||||
|
||||
return 1
|
||||
@@ -35,7 +35,6 @@
|
||||
if(!do_after(M, 1200, target = src))
|
||||
if(M && M.buckled)
|
||||
to_chat(M, "<span class='warning'>You fail to escape \the [src]!</span>")
|
||||
|
||||
return
|
||||
if(!M.buckled)
|
||||
return
|
||||
|
||||
@@ -119,11 +119,9 @@
|
||||
/obj/item/roller_holder/attack_self(mob/user as mob)
|
||||
if(!held)
|
||||
to_chat(user, "<span class='info'> The rack is empty.</span>")
|
||||
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You deploy the roller bed.</span>")
|
||||
|
||||
var/obj/structure/stool/bed/roller/R = new /obj/structure/stool/bed/roller(user.loc)
|
||||
R.add_fingerprint(user)
|
||||
qdel(held)
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
var/obj/item/assembly/shock_kit/SK = W
|
||||
if(!SK.status)
|
||||
to_chat(user, "<span class='notice'>[SK] is not ready to be attached!</span>")
|
||||
|
||||
return
|
||||
user.drop_item()
|
||||
var/obj/structure/stool/bed/chair/e_chair/E = new /obj/structure/stool/bed/chair/e_chair(src.loc)
|
||||
|
||||
@@ -200,11 +200,9 @@
|
||||
var/obj/item/weapon/grab/G = I
|
||||
if(G.affecting.buckled)
|
||||
to_chat(user, "<span class='warning'>[G.affecting] is buckled to [G.affecting.buckled]!</span>")
|
||||
|
||||
return 0
|
||||
if(G.state < GRAB_AGGRESSIVE)
|
||||
to_chat(user, "<span class='warning'>You need a better grip to do that!</span>")
|
||||
|
||||
return 0
|
||||
if(!G.confirm())
|
||||
return 0
|
||||
@@ -224,7 +222,6 @@
|
||||
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
to_chat(user, "\blue Now disassembling table")
|
||||
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
if(do_after(user,50, target = src))
|
||||
destroy()
|
||||
@@ -283,7 +280,6 @@
|
||||
|
||||
if(!flip(get_cardinal_dir(usr,src)))
|
||||
to_chat(usr, "<span class='notice'>It won't budge.</span>")
|
||||
|
||||
return
|
||||
|
||||
usr.visible_message("<span class='warning'>[usr] flips \the [src]!</span>")
|
||||
@@ -301,7 +297,6 @@
|
||||
|
||||
if (!unflip())
|
||||
to_chat(usr, "<span class='notice'>It won't budge.</span>")
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -389,7 +384,6 @@
|
||||
|
||||
if (istype(I, /obj/item/weapon/wrench))
|
||||
to_chat(user, "\blue Now disassembling the wooden table")
|
||||
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
sleep(50)
|
||||
new /obj/item/weapon/table_parts/wood( src.loc )
|
||||
@@ -441,7 +435,6 @@
|
||||
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
to_chat(user, "\blue Now disassembling the wooden table")
|
||||
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
sleep(50)
|
||||
new /obj/item/weapon/table_parts/wood( src.loc )
|
||||
@@ -490,27 +483,22 @@
|
||||
var/obj/item/stack/sheet/glass/G = I
|
||||
if(G.amount >= 2)
|
||||
to_chat(user, "<span class='notice'>You start to add the glass to \the [src].</span>")
|
||||
|
||||
if(do_after(user, 10, target = src))
|
||||
G.use(2)
|
||||
to_chat(user, "<span class='notice'>You add the glass to \the [src].</span>")
|
||||
|
||||
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
new /obj/structure/table/glass(loc)
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You don't have enough glass! You need at least 2 sheets.</span>")
|
||||
|
||||
return
|
||||
|
||||
if(iswrench(I))
|
||||
to_chat(user, "<span class='notice'>You start to deconstruct \the [src].</span>")
|
||||
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
if(do_after(user, 10, target = src))
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 75, 1)
|
||||
to_chat(user, "<span class='notice'>You dismantle \the [src].</span>")
|
||||
|
||||
new /obj/item/stack/sheet/metal(loc)
|
||||
new /obj/item/stack/sheet/metal(loc)
|
||||
qdel(src)
|
||||
@@ -546,7 +534,6 @@
|
||||
|
||||
if (istype(I, /obj/item/weapon/wrench))
|
||||
to_chat(user, "\blue Now disassembling the glass table")
|
||||
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
sleep(50)
|
||||
new /obj/item/weapon/table_parts/glass( src.loc )
|
||||
@@ -609,21 +596,17 @@
|
||||
if(WT.remove_fuel(0, user))
|
||||
if(src.status == 2)
|
||||
to_chat(user, "\blue Now weakening the reinforced table")
|
||||
|
||||
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
|
||||
if (do_after(user, 50, target = src))
|
||||
if(!src || !WT.isOn()) return
|
||||
to_chat(user, "\blue Table weakened")
|
||||
|
||||
src.status = 1
|
||||
else
|
||||
to_chat(user, "\blue Now strengthening the reinforced table")
|
||||
|
||||
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
|
||||
if (do_after(user, 50, target = src))
|
||||
if(!src || !WT.isOn()) return
|
||||
to_chat(user, "\blue Table strengthened")
|
||||
|
||||
src.status = 2
|
||||
return
|
||||
return
|
||||
|
||||
@@ -50,10 +50,8 @@
|
||||
oxytanks.Add(I)
|
||||
oxygentanks++
|
||||
to_chat(user, "<span class='notice'>You put [I] in [src].</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src] is full.</span>")
|
||||
|
||||
updateUsrDialog()
|
||||
return
|
||||
if(istype(I, /obj/item/weapon/tank/plasma))
|
||||
@@ -63,20 +61,16 @@
|
||||
platanks.Add(I)
|
||||
plasmatanks++
|
||||
to_chat(user, "<span class='notice'>You put [I] in [src].</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src] is full.</span>")
|
||||
|
||||
updateUsrDialog()
|
||||
return
|
||||
if(istype(I, /obj/item/weapon/wrench))
|
||||
if(anchored)
|
||||
to_chat(user, "<span class='notice'>You lean down and unwrench [src].</span>")
|
||||
|
||||
anchored = 0
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You wrench [src] into place.</span>")
|
||||
|
||||
anchored = 1
|
||||
return
|
||||
|
||||
@@ -95,7 +89,6 @@
|
||||
O = new /obj/item/weapon/tank/oxygen(loc)
|
||||
O.loc = loc
|
||||
to_chat(usr, "<span class='notice'>You take [O] out of [src].</span>")
|
||||
|
||||
oxygentanks--
|
||||
update_icon()
|
||||
if(href_list["plasma"])
|
||||
@@ -108,7 +101,6 @@
|
||||
P = new /obj/item/weapon/tank/plasma(loc)
|
||||
P.loc = loc
|
||||
to_chat(usr, "<span class='notice'>You take [P] out of [src].</span>")
|
||||
|
||||
plasmatanks--
|
||||
update_icon()
|
||||
add_fingerprint(usr)
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
W.layer = 3.1
|
||||
pinned_target = W
|
||||
to_chat(user, "You slide the target into the stake.")
|
||||
|
||||
return
|
||||
|
||||
attack_hand(mob/user as mob)
|
||||
@@ -46,10 +45,8 @@
|
||||
if(!user.get_active_hand())
|
||||
user.put_in_hands(pinned_target)
|
||||
to_chat(user, "You take the target out of the stake.")
|
||||
|
||||
else
|
||||
pinned_target.loc = get_turf(user)
|
||||
to_chat(user, "You take the target out of the stake.")
|
||||
|
||||
|
||||
pinned_target = null
|
||||
@@ -37,7 +37,6 @@
|
||||
for(var/obj/structure/transit_tube_pod/pod in loc)
|
||||
if(pod.contents.len)
|
||||
to_chat(AM, "<span class=The pod is already occupied.</span>")
|
||||
|
||||
return
|
||||
else if(!pod.moving && pod.dir in directions())
|
||||
AM.forceMove(pod)
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
if(cistern && !open)
|
||||
if(!contents.len)
|
||||
to_chat(user, "<span class='notice'>The cistern is empty.</span>")
|
||||
|
||||
return
|
||||
else
|
||||
var/obj/item/I = pick(contents)
|
||||
@@ -38,7 +37,6 @@
|
||||
else
|
||||
I.loc = get_turf(src)
|
||||
to_chat(user, "<span class='notice'>You find [I] in the cistern.</span>")
|
||||
|
||||
w_items -= I.w_class
|
||||
return
|
||||
|
||||
@@ -53,7 +51,6 @@
|
||||
/obj/structure/toilet/attackby(obj/item/I, mob/living/user, params)
|
||||
if(istype(I, /obj/item/weapon/crowbar))
|
||||
to_chat(user, "<span class='notice'>You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]...</span>")
|
||||
|
||||
playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, 1)
|
||||
if(do_after(user, 30, target = src))
|
||||
user.visible_message("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!", "<span class='notice'>You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!</span>", "<span class='italics'>You hear grinding porcelain.</span>")
|
||||
@@ -68,7 +65,6 @@
|
||||
if(RG.is_open_container())
|
||||
RG.reagents.add_reagent("toiletwater", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this))
|
||||
to_chat(user, "<span class='notice'>You fill [RG] from [src]. Gross.</span>")
|
||||
|
||||
return
|
||||
|
||||
if(istype(I, /obj/item/weapon/grab))
|
||||
@@ -81,7 +77,6 @@
|
||||
if(G.state >= GRAB_AGGRESSIVE)
|
||||
if(GM.loc != get_turf(src))
|
||||
to_chat(user, "<span class='warning'>[GM] needs to be on [src]!</span>")
|
||||
|
||||
return
|
||||
if(!swirlie)
|
||||
if(open)
|
||||
@@ -103,24 +98,19 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need a tighter grip!</span>")
|
||||
|
||||
|
||||
if(cistern)
|
||||
if(I.w_class > 3)
|
||||
to_chat(user, "<span class='warning'>[I] does not fit!</span>")
|
||||
|
||||
return
|
||||
if(w_items + I.w_class > 5)
|
||||
to_chat(user, "<span class='warning'>The cistern is full!</span>")
|
||||
|
||||
return
|
||||
if(!user.drop_item())
|
||||
to_chat(user, "<span class='warning'>\The [I] is stuck to your hand, you cannot put it in the cistern!</span>")
|
||||
|
||||
return
|
||||
I.loc = src
|
||||
w_items += I.w_class
|
||||
to_chat(user, "<span class='notice'>You carefully place [I] into the cistern.</span>")
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -144,7 +134,6 @@
|
||||
if(G.state >= GRAB_AGGRESSIVE)
|
||||
if(GM.loc != get_turf(src))
|
||||
to_chat(user, "<span class='notice'>[GM.name] needs to be on [src].</span>")
|
||||
|
||||
return
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
playsound(src.loc, 'sound/effects/bang.ogg', 25, 1)
|
||||
@@ -154,7 +143,6 @@
|
||||
to_chat(user, "<span class='warning'>You need a tighter grip!</span>")
|
||||
|
||||
|
||||
|
||||
/obj/machinery/shower
|
||||
name = "shower"
|
||||
desc = "The HS-451. Installed in the 2550s by the Nanotrasen Hygiene Division."
|
||||
@@ -194,10 +182,8 @@
|
||||
/obj/machinery/shower/attackby(obj/item/I as obj, mob/user as mob, params)
|
||||
if(I.type == /obj/item/device/analyzer)
|
||||
to_chat(user, "<span class='notice'>The water temperature seems to be [watertemp].</span>")
|
||||
|
||||
if(istype(I, /obj/item/weapon/wrench))
|
||||
to_chat(user, "<span class='notice'>You begin to adjust the temperature valve with the [I].</span>")
|
||||
|
||||
if(do_after(user, 50, target = src))
|
||||
switch(watertemp)
|
||||
if("normal")
|
||||
@@ -267,7 +253,6 @@
|
||||
L.ExtinguishMob()
|
||||
L.fire_stacks = -20 //Douse ourselves with water to avoid fire more easily
|
||||
to_chat(L, "<span class='warning'>You've been drenched in water!</span>")
|
||||
|
||||
if(iscarbon(O))
|
||||
var/mob/living/carbon/M = O
|
||||
if(M.r_hand)
|
||||
@@ -359,13 +344,11 @@
|
||||
if(watertemp == "freezing")
|
||||
//C.bodytemperature = max(80, C.bodytemperature - 80)
|
||||
to_chat(C, "<span class='warning'>The water is freezing!</span>")
|
||||
|
||||
return
|
||||
if(watertemp == "boiling")
|
||||
//C.bodytemperature = min(500, C.bodytemperature + 35)
|
||||
C.adjustFireLoss(5)
|
||||
to_chat(C, "<span class='danger'>The water is searing!</span>")
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -403,12 +386,10 @@
|
||||
temp = H.organs_by_name["l_hand"]
|
||||
if(temp && !temp.is_usable())
|
||||
to_chat(user, "<span class='notice'>You try to move your [temp.name], but cannot!")
|
||||
|
||||
return
|
||||
|
||||
if(busy)
|
||||
to_chat(user, "<span class='notice'>Someone's already washing here.</span>")
|
||||
|
||||
return
|
||||
var/selected_area = parse_zone(user.zone_sel.selecting)
|
||||
var/washing_face = 0
|
||||
@@ -441,7 +422,6 @@
|
||||
/obj/structure/sink/attackby(obj/item/O, mob/user, params)
|
||||
if(busy)
|
||||
to_chat(user, "<span class='warning'>Someone's already washing here!</span>")
|
||||
|
||||
return
|
||||
|
||||
if(!(istype(O)))
|
||||
|
||||
@@ -83,7 +83,6 @@ obj/structure/windoor_assembly/Destroy()
|
||||
if(do_after(user, 40, target = src))
|
||||
if(!src || !WT.isOn()) return
|
||||
to_chat(user, "<span class='notice'>You dissasembled the windoor assembly!</span>")
|
||||
|
||||
var/obj/item/stack/sheet/rglass/RG = new (get_turf(src), 5)
|
||||
RG.add_fingerprint(user)
|
||||
if(secure)
|
||||
@@ -98,7 +97,6 @@ obj/structure/windoor_assembly/Destroy()
|
||||
for(var/obj/machinery/door/window/WD in src.loc)
|
||||
if(WD.dir == src.dir)
|
||||
to_chat(user, "<span class='warning'>There is already a windoor in that location.</span>")
|
||||
|
||||
return
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
user.visible_message("[user] secures the windoor assembly to the floor.", "You start to secure the windoor assembly to the floor.")
|
||||
@@ -109,10 +107,8 @@ obj/structure/windoor_assembly/Destroy()
|
||||
for(var/obj/machinery/door/window/WD in src.loc)
|
||||
if(WD.dir == src.dir)
|
||||
to_chat(user, "<span class='warning'>There is already a windoor in that location.</span>")
|
||||
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You've secured the windoor assembly!</span>")
|
||||
|
||||
src.anchored = 1
|
||||
if(src.secure)
|
||||
src.name = "secure anchored windoor assembly"
|
||||
@@ -128,7 +124,6 @@ obj/structure/windoor_assembly/Destroy()
|
||||
if(!src || !src.anchored)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You've unsecured the windoor assembly!</span>")
|
||||
|
||||
src.anchored = 0
|
||||
if(src.secure)
|
||||
src.name = "secure windoor assembly"
|
||||
@@ -140,18 +135,15 @@ obj/structure/windoor_assembly/Destroy()
|
||||
var/obj/item/stack/sheet/plasteel/P = W
|
||||
if(P.amount < 2)
|
||||
to_chat(user, "<span class='danger'>You need more plasteel to do this.</span>")
|
||||
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You start to reinforce the windoor with plasteel.</span>")
|
||||
|
||||
|
||||
if(do_after(user,40, target = src))
|
||||
if(!src || secure)
|
||||
return
|
||||
|
||||
P.use(2)
|
||||
to_chat(user, "<span class='notice'>You reinforce the windoor.</span>")
|
||||
|
||||
src.secure = 1
|
||||
if(src.anchored)
|
||||
src.name = "secure anchored windoor assembly"
|
||||
@@ -168,7 +160,6 @@ obj/structure/windoor_assembly/Destroy()
|
||||
var/obj/item/stack/cable_coil/CC = W
|
||||
CC.use(1)
|
||||
to_chat(user, "<span class='notice'>You wire the windoor!</span>")
|
||||
|
||||
src.state = "02"
|
||||
if(src.secure)
|
||||
src.name = "secure wired windoor assembly"
|
||||
@@ -189,7 +180,6 @@ obj/structure/windoor_assembly/Destroy()
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You cut the windoor wires!</span>")
|
||||
|
||||
new/obj/item/stack/cable_coil(get_turf(user), 1)
|
||||
src.state = "01"
|
||||
if(src.secure)
|
||||
@@ -209,7 +199,6 @@ obj/structure/windoor_assembly/Destroy()
|
||||
W.loc = src.loc
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You've installed the airlock electronics!</span>")
|
||||
|
||||
src.name = "near finished windoor assembly"
|
||||
src.electronics = W
|
||||
else
|
||||
@@ -227,7 +216,6 @@ obj/structure/windoor_assembly/Destroy()
|
||||
if(!src || !electronics)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You've removed the airlock electronics!</span>")
|
||||
|
||||
src.name = "wired windoor assembly"
|
||||
var/obj/item/weapon/airlock_electronics/ae
|
||||
ae = electronics
|
||||
@@ -249,7 +237,6 @@ obj/structure/windoor_assembly/Destroy()
|
||||
else if(istype(W, /obj/item/weapon/crowbar))
|
||||
if(!src.electronics)
|
||||
to_chat(usr, "<span class='danger'>The assembly is missing electronics.</span>")
|
||||
|
||||
return
|
||||
usr << browse(null, "window=windoor_access")
|
||||
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
|
||||
@@ -262,7 +249,6 @@ obj/structure/windoor_assembly/Destroy()
|
||||
density = 1 //Shouldn't matter but just incase
|
||||
to_chat(user, "<span class='notice'>You finish the windoor!</span>")
|
||||
|
||||
|
||||
if(secure)
|
||||
var/obj/machinery/door/window/brigdoor/windoor = new /obj/machinery/door/window/brigdoor(src.loc)
|
||||
if(src.facing == "l")
|
||||
@@ -323,7 +309,6 @@ obj/structure/windoor_assembly/Destroy()
|
||||
return
|
||||
if (src.anchored)
|
||||
to_chat(usr, "It is fastened to the floor; therefore, you can't rotate it!")
|
||||
|
||||
return 0
|
||||
//if(src.state != "01")
|
||||
//update_nearby_tiles(need_rebuild=1) //Compel updates before
|
||||
@@ -347,12 +332,10 @@ obj/structure/windoor_assembly/Destroy()
|
||||
|
||||
if(src.facing == "l")
|
||||
to_chat(usr, "The windoor will now slide to the right.")
|
||||
|
||||
src.facing = "r"
|
||||
else
|
||||
src.facing = "l"
|
||||
to_chat(usr, "The windoor will now slide to the left.")
|
||||
|
||||
|
||||
update_icon()
|
||||
return
|
||||
|
||||
@@ -211,24 +211,20 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
|
||||
state = 3 - state
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 75, 1)
|
||||
to_chat(user, (state == 1 ? "<span class='notice'>You have unfastened the window from the frame.</span>" : "<span class='notice'>You have fastened the window to the frame.</span>"))
|
||||
|
||||
else if(reinf && state == 0)
|
||||
anchored = !anchored
|
||||
update_nearby_icons()
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 75, 1)
|
||||
to_chat(user, (anchored ? "<span class='notice'>You have fastened the frame to the floor.</span>" : "<span class='notice'>You have unfastened the frame from the floor.</span>"))
|
||||
|
||||
else if(!reinf)
|
||||
anchored = !anchored
|
||||
update_nearby_icons()
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 75, 1)
|
||||
to_chat(user, (anchored ? "<span class='notice'>You have fastened the window to the floor.</span>" : "<span class='notice'>You have unfastened the window.</span>"))
|
||||
|
||||
else if(istype(W, /obj/item/weapon/crowbar) && reinf && state <= 1)
|
||||
state = 1 - state
|
||||
playsound(loc, 'sound/items/Crowbar.ogg', 75, 1)
|
||||
to_chat(user, (state ? "<span class='notice'>You have pried the window into the frame.</span>" : "<span class='notice'>You have pried the window out of the frame.</span>"))
|
||||
|
||||
else if(istype(W, /obj/item/weapon/wrench) && !anchored && health > 7) //Disassemble deconstructed window into parts
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
for(var/i=0;i<sheets;i++)
|
||||
@@ -250,7 +246,6 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
|
||||
R.attackby(NR, user, params)
|
||||
|
||||
to_chat(user, "<span class='notice'>You have disassembled the window.</span>")
|
||||
|
||||
disassembled = 1
|
||||
density = 0
|
||||
air_update_turf(1)
|
||||
@@ -294,7 +289,6 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
|
||||
|
||||
if(anchored)
|
||||
to_chat(usr, "<span class='warning'>It is fastened to the floor therefore you can't rotate it!</span>")
|
||||
|
||||
return 0
|
||||
|
||||
dir = turn(dir, 90)
|
||||
@@ -314,7 +308,6 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
|
||||
|
||||
if(anchored)
|
||||
to_chat(usr, "<span class='warning'>It is fastened to the floor therefore you can't rotate it!</span>")
|
||||
|
||||
return 0
|
||||
|
||||
dir = turn(dir, 270)
|
||||
|
||||
Reference in New Issue
Block a user