mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-13 16:13:19 +01:00
for-the-strength-from-which-he-gives-is-unerring
This commit is contained in:
@@ -76,9 +76,11 @@
|
||||
var/obj/item/stack/spacecash/C = O
|
||||
if(pay_with_cash(C, user))
|
||||
tokens += 1
|
||||
return
|
||||
return
|
||||
if(panel_open && component_parts && istype(O, /obj/item/crowbar))
|
||||
default_deconstruction_crowbar(O)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/arcade/update_icon()
|
||||
return
|
||||
|
||||
@@ -54,6 +54,8 @@
|
||||
/obj/machinery/computer/mob_battle_terminal/attackby(obj/item/O, mob/user)
|
||||
if(istype(O, /obj/item/nanomob_card))
|
||||
insert_card(O, user)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/computer/mob_battle_terminal/proc/insert_card(obj/item/nanomob_card/new_card, mob/user)
|
||||
if(!new_card)
|
||||
@@ -287,6 +289,8 @@
|
||||
/obj/machinery/computer/mob_healer_terminal/attackby(obj/item/O, mob/user)
|
||||
if(istype(O, /obj/item/nanomob_card))
|
||||
heal_card(O, user)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/computer/mob_healer_terminal/proc/heal_card(obj/item/nanomob_card/patient, mob/user)
|
||||
if(!patient)
|
||||
|
||||
@@ -53,6 +53,8 @@
|
||||
if(tickets) //save the tickets!
|
||||
print_tickets()
|
||||
default_deconstruction_crowbar(O)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/prize_counter/attack_hand(mob/user as mob)
|
||||
if(..())
|
||||
|
||||
@@ -115,14 +115,14 @@
|
||||
var/obj/item/assembly/A = W
|
||||
if(!A.secured && !secured)
|
||||
attach_assembly(A, user)
|
||||
return
|
||||
return
|
||||
if(isscrewdriver(W))
|
||||
if(toggle_secure())
|
||||
to_chat(user, "<span class='notice'>[src] is ready!</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src] can now be attached!</span>")
|
||||
return
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/obj/item/assembly/process()
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
|
||||
@@ -162,6 +162,7 @@ var/obj/machinery/gateway/centerstation/the_gateway = null
|
||||
if(istype(W,/obj/item/multitool))
|
||||
to_chat(user, "The gate is already calibrated, there is no work for you to do here.")
|
||||
return
|
||||
return ..()
|
||||
|
||||
/////////////////////////////////////Away////////////////////////
|
||||
|
||||
@@ -290,4 +291,5 @@ var/obj/machinery/gateway/centerstation/the_gateway = null
|
||||
else
|
||||
to_chat(user, "<span class='boldnotice'>Recalibration successful!</span><span class='notice'>: This gate's systems have been fine tuned. Travel to this gate will now be on target.</span>")
|
||||
calibrated = 1
|
||||
return
|
||||
return
|
||||
return ..()
|
||||
@@ -256,4 +256,5 @@
|
||||
to_chat(user, "<span class='danger'>Activating the machine has unlocked a way forward!</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>Your ID card already has all the access this machine can give.</span>")
|
||||
. = 1
|
||||
return
|
||||
return ..()
|
||||
|
||||
@@ -276,7 +276,7 @@ BLIND // can't see anything
|
||||
to_chat(user, "<span class='notice'>[src] have already been clipped!</span>")
|
||||
return
|
||||
else
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/under/proc/set_sensors(mob/user as mob)
|
||||
var/mob/M = user
|
||||
@@ -474,9 +474,9 @@ BLIND // can't see anything
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src] have already had [p_their()] toes cut open!</span>")
|
||||
return
|
||||
return
|
||||
else
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/shoes/proc/step_action(var/mob/living/carbon/human/H) //squeek squeek
|
||||
SEND_SIGNAL(src, COMSIG_SHOES_STEP_ACTION)
|
||||
|
||||
@@ -105,7 +105,7 @@ log transactions
|
||||
SSnanoui.update_uis(src)
|
||||
C.use(C.amount)
|
||||
else
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/atm/attack_hand(mob/user)
|
||||
if(..())
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
else
|
||||
to_chat(user, "[bicon(src)]<span class='warning'>Unable to connect to accounts database.</span>")
|
||||
else
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/obj/item/eftpos/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
|
||||
ui = SSnanoui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
|
||||
@@ -533,4 +533,5 @@ var/const/POS_HEADER = {"<html>
|
||||
if(credits_held)
|
||||
new /obj/item/stack/spacecash(loc, credits_held)
|
||||
credits_held=0
|
||||
..()
|
||||
return
|
||||
return ..()
|
||||
@@ -108,7 +108,9 @@
|
||||
if(default_unfasten_wrench(user, P))
|
||||
return
|
||||
|
||||
default_deconstruction_crowbar(P)
|
||||
if(default_deconstruction_crowbar(P))
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/gibber/MouseDrop_T(mob/target, mob/user)
|
||||
if(user.incapacitated() || !ishuman(user))
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
I.desc += ". This also has sprinkles."
|
||||
else
|
||||
to_chat(user, "<span class='notice'>This [I] already has sprinkles.</span>")
|
||||
return
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/machinery/icemachine/proc/validexchange(reag)
|
||||
|
||||
@@ -137,7 +137,7 @@ var/list/ingredients_source = list(
|
||||
R.reagents.clear_reagents()
|
||||
return 1
|
||||
else
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/icecream_vat/proc/add(var/add_type, var/amount)
|
||||
if(add_type <= ingredients.len)
|
||||
|
||||
@@ -54,7 +54,8 @@ GLOBAL_LIST_EMPTY(monkey_recyclers)
|
||||
power_change()
|
||||
return
|
||||
|
||||
default_deconstruction_crowbar(O)
|
||||
if(default_deconstruction_crowbar(O))
|
||||
return
|
||||
|
||||
if(istype(O, /obj/item/multitool))
|
||||
if(!panel_open)
|
||||
@@ -76,6 +77,7 @@ GLOBAL_LIST_EMPTY(monkey_recyclers)
|
||||
var/obj/item/multitool/M = O
|
||||
M.buffer = src
|
||||
to_chat(user, "<span class='notice'>You log [src] in the [M]'s buffer.</span>")
|
||||
return
|
||||
if(stat != 0) //NOPOWER etc
|
||||
return
|
||||
if(istype(O, /obj/item/grab))
|
||||
@@ -102,7 +104,8 @@ GLOBAL_LIST_EMPTY(monkey_recyclers)
|
||||
to_chat(user, "<span class='warning'>The machine only accepts monkeys!</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>The machine only accepts monkeys!</span>")
|
||||
return
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/monkey_recycler/attack_hand(mob/user)
|
||||
if(stat != 0) //NOPOWER etc
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
to_chat(user, "<span class='notice'>You add [I] to the machine.</span>")
|
||||
interact(user)
|
||||
else
|
||||
..()
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/machinery/plantgenes/attack_hand(mob/user)
|
||||
|
||||
@@ -1023,4 +1023,4 @@
|
||||
to_chat(user, "<span class='notice'>You clear up [src]!</span>")
|
||||
qdel(src)
|
||||
else
|
||||
..()
|
||||
return ..()
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
if(default_unfasten_wrench(user, W))
|
||||
power_change()
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/computer/library/public/interact(var/mob/user)
|
||||
if(interact_check(user))
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
S.toggle_secure()
|
||||
to_chat(user, "<span class='notice'>You unsecure and detach \the [S] from the I/O connection port.</span>")
|
||||
return
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/logic_gate/convert/multitool_menu(var/mob/user, var/obj/item/multitool/P)
|
||||
var/logic_state_string
|
||||
|
||||
@@ -212,6 +212,7 @@
|
||||
if(panel_open && istype(O, /obj/item/crowbar))
|
||||
default_deconstruction_crowbar(O)
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
//////////////////////////////////////
|
||||
// Attack procs //
|
||||
|
||||
@@ -49,6 +49,7 @@ GLOBAL_LIST(labor_sheet_values)
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>There's an ID inserted already.</span>")
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/mineral/labor_claim_console/attack_hand(mob/user)
|
||||
@@ -154,6 +155,7 @@ GLOBAL_LIST(labor_sheet_values)
|
||||
if(istype(I, /obj/item/stack/sheet) && user.canUnEquip(I))
|
||||
var/obj/item/stack/sheet/inp = I
|
||||
points += inp.point_value * inp.amount
|
||||
return
|
||||
return ..()
|
||||
|
||||
/**********************Point Lookup Console**************************/
|
||||
@@ -180,5 +182,5 @@ GLOBAL_LIST(labor_sheet_values)
|
||||
to_chat(user, "<span class='notice'>Collect points by bringing smelted minerals to the Labor Shuttle stacking machine. Reach your quota to earn your release.</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Error: Invalid ID</span>")
|
||||
else
|
||||
return ..()
|
||||
return
|
||||
return ..()
|
||||
@@ -138,7 +138,7 @@
|
||||
|
||||
/obj/machinery/anomalous_crystal/attackby(obj/item/I, mob/user, params)
|
||||
ActivationReaction(user,"weapon")
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/anomalous_crystal/bullet_act(obj/item/projectile/P, def_zone)
|
||||
..()
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
return
|
||||
else
|
||||
RedeemVoucher(I, user)
|
||||
return
|
||||
return
|
||||
if(istype(I,/obj/item/card/id))
|
||||
if(!powered())
|
||||
return
|
||||
@@ -206,8 +206,8 @@
|
||||
C.forceMove(src)
|
||||
inserted_id = C
|
||||
interact(user)
|
||||
return
|
||||
..()
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/proc/RedeemVoucher(obj/item/mining_voucher/voucher, mob/redeemer)
|
||||
var/items = list("Survival Capsule and Explorer's Webbing", "Resonator Kit", "Minebot Kit", "Extraction and Rescue Kit", "Crusher Kit", "Mining Conscription Kit")
|
||||
|
||||
@@ -10,10 +10,7 @@
|
||||
pressure_resistance = 5 * ONE_ATMOSPHERE
|
||||
|
||||
/obj/structure/ore_box/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/t_scanner/adv_mining_scanner))
|
||||
attack_hand(user)
|
||||
return
|
||||
else if(istype(W, /obj/item/stack/ore))
|
||||
if(istype(W, /obj/item/stack/ore))
|
||||
if(!user.drop_item())
|
||||
return
|
||||
W.forceMove(src)
|
||||
@@ -30,6 +27,8 @@
|
||||
if(do_after(user, 50 * C.toolspeed, target = src))
|
||||
user.visible_message("<span class='notice'>[user] pries [src] apart.</span>", "<span class='notice'>You pry apart [src].</span>", "<span class='italics'>You hear splitting wood.</span>")
|
||||
deconstruct(TRUE, user)
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/structure/ore_box/attack_hand(mob/user)
|
||||
if(Adjacent(user))
|
||||
|
||||
@@ -50,8 +50,10 @@
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
anchored = !anchored
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "wrench" : "unwrench"] \the [src].</span>")
|
||||
else if(user.a_intent != INTENT_HARM)
|
||||
to_chat(user, "<span class='warning'>You can't put [P] in [src]!</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You can't put [P] in [src]!</span>")
|
||||
return ..()
|
||||
|
||||
/obj/structure/filingcabinet/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
|
||||
@@ -182,6 +182,8 @@
|
||||
copyitem.forceMove(get_turf(src))
|
||||
copyitem = null
|
||||
updateUsrDialog()
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/photocopier/proc/copy(var/obj/item/paper/copy)
|
||||
var/obj/item/paper/c = new /obj/item/paper (loc)
|
||||
|
||||
+171
-156
@@ -149,7 +149,7 @@
|
||||
terminal.connect_to_network()
|
||||
|
||||
/obj/machinery/power/apc/New(turf/loc, ndir, building = 0)
|
||||
if (!armor)
|
||||
if(!armor)
|
||||
armor = list("melee" = 20, "bullet" = 20, "laser" = 10, "energy" = 100, "bomb" = 30, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50)
|
||||
..()
|
||||
GLOB.apcs += src
|
||||
@@ -435,227 +435,242 @@
|
||||
//attack with an item - open/close cover, insert cell, or (un)lock interface
|
||||
/obj/machinery/power/apc/attackby(obj/item/W, mob/living/user, params)
|
||||
|
||||
if(istype(user, /mob/living/silicon) && get_dist(src,user)>1)
|
||||
if(issilicon(user) && get_dist(src,user)>1)
|
||||
return src.attack_hand(user)
|
||||
if(istype(W, /obj/item/crowbar) && opened)
|
||||
if(has_electronics==1)
|
||||
if(terminal)
|
||||
to_chat(user, "<span class='warning'>Disconnect wires first.</span>")
|
||||
if(istype(W, /obj/item/crowbar)) //Using crowbar
|
||||
if(opened) // a) on open apc
|
||||
if(has_electronics==1)
|
||||
if(terminal)
|
||||
to_chat(user, "<span class='warning'>Disconnect the wires first!</span>")
|
||||
return
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You are trying to remove the power control board...</span>" )
|
||||
if(do_after(user, 50*W.toolspeed, target = src))
|
||||
if(has_electronics==1)
|
||||
has_electronics = 0
|
||||
if(stat & BROKEN)
|
||||
user.visible_message(\
|
||||
"[user.name] has broken the power control board inside [src.name]!",
|
||||
"<span class='notice'>You break the charred power control board and remove the remains.</span>",
|
||||
"<span class='italics'>You hear a crack.</span>")
|
||||
return
|
||||
//SSticker.mode:apcs-- //XSI said no and I agreed. -rastaf0
|
||||
else if(emagged) // We emag board, not APC's frame
|
||||
emagged = FALSE
|
||||
user.visible_message(
|
||||
"[user.name] has discarded emaged power control board from [src.name]!",
|
||||
"<span class='notice'>You discarded shorten board.</span>")
|
||||
return
|
||||
else if(malfhack) // AI hacks board, not APC's frame
|
||||
user.visible_message(\
|
||||
"[user.name] has discarded strangely programmed power control board from [src.name]!",
|
||||
"<span class='notice'>You discarded strangely programmed board.</span>")
|
||||
malfai = null
|
||||
malfhack = 0
|
||||
return
|
||||
else
|
||||
user.visible_message(\
|
||||
"[user.name] has removed the power control board from [src.name]!",
|
||||
"<span class='notice'>You remove the power control board.</span>")
|
||||
new /obj/item/apc_electronics(loc)
|
||||
return
|
||||
else if(opened!=2) //cover isn't removed
|
||||
opened = 0
|
||||
coverlocked = TRUE //closing cover relocks it
|
||||
update_icon()
|
||||
return
|
||||
else if(!(stat & BROKEN)) // b) on closed and not broken APC
|
||||
if(coverlocked && !(stat & MAINT)) // locked...
|
||||
to_chat(user, "<span class='warning'>The cover is locked and cannot be opened!</span>")
|
||||
return
|
||||
else if(panel_open) // wires are exposed
|
||||
to_chat(user, "<span class='warning'>Exposed wires prevents you from opening it!</span>")
|
||||
return
|
||||
else
|
||||
opened = 1
|
||||
update_icon()
|
||||
return
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
to_chat(user, "You are trying to remove the power control board...")//lpeters - fixed grammar issues
|
||||
|
||||
if(do_after(user, 50 * W.toolspeed, target = src))
|
||||
if(has_electronics==1)
|
||||
has_electronics = 0
|
||||
if((stat & BROKEN) || malfhack)
|
||||
user.visible_message(\
|
||||
"<span class='warning'>[user.name] has broken the power control board inside [src.name]!</span>",\
|
||||
"<span class='notice'>You broke the charred power control board and remove the remains.</span>",
|
||||
"You hear a crack!")
|
||||
//ticker.mode:apcs-- //XSI said no and I agreed. -rastaf0
|
||||
else
|
||||
user.visible_message(\
|
||||
"<span class='warning'>[user.name] has removed the power control board from [src.name]!</span>",\
|
||||
"<span class='notice'>You remove the power control board.</span>")
|
||||
new /obj/item/apc_electronics(loc)
|
||||
else if(opened!=2) //cover isn't removed
|
||||
opened = 0
|
||||
update_icon()
|
||||
else if(istype(W, /obj/item/crowbar) && !((stat & BROKEN) || malfhack) )
|
||||
if(coverlocked && !(stat & MAINT))
|
||||
to_chat(user, "<span class='warning'>The cover is locked and cannot be opened.</span>")
|
||||
return
|
||||
else
|
||||
opened = 1
|
||||
update_icon()
|
||||
else if(istype(W, /obj/item/stock_parts/cell) && opened) // trying to put a cell inside
|
||||
else if (istype(W, /obj/item/stock_parts/cell) && opened) // trying to put a cell inside
|
||||
if(cell)
|
||||
to_chat(user, "There is a power cell already installed.")
|
||||
to_chat(user, "<span class='warning'>There is a power cell already installed!</span>")
|
||||
return
|
||||
else
|
||||
if(stat & MAINT)
|
||||
to_chat(user, "<span class='warning'>There is no connector for your power cell.</span>")
|
||||
to_chat(user, "<span class='warning'>There is no connector for your power cell!</span>")
|
||||
return
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
if(!user.drop_item())
|
||||
return
|
||||
W.forceMove(src)
|
||||
cell = W
|
||||
user.visible_message(\
|
||||
"<span class='warning'>[user.name] has inserted the power cell to [src.name]!</span>",\
|
||||
"You insert the power cell.")
|
||||
playsound(loc, W.usesound, 50, 1)
|
||||
"[user.name] has inserted the power cell to [src.name]!",\
|
||||
"<span class='notice'>You insert the power cell.</span>")
|
||||
chargecount = 0
|
||||
update_icon()
|
||||
|
||||
else if(istype(W, /obj/item/screwdriver)) // haxing
|
||||
if(opened)
|
||||
if(cell)
|
||||
to_chat(user, "<span class='warning'>Close the APC first.</span>")//Less hints more mystery!
|
||||
|
||||
to_chat(user, "<span class='warning'>Close the APC first!</span>") //Less hints more mystery!
|
||||
return
|
||||
else
|
||||
if(has_electronics==1 && terminal)
|
||||
if(has_electronics==1)
|
||||
has_electronics = 2
|
||||
stat &= ~MAINT
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
to_chat(user, "You screw the circuit electronics into place.")
|
||||
to_chat(user, "<span class='notice'>You screw the circuit electronics into place.</span>")
|
||||
else if(has_electronics==2)
|
||||
has_electronics = 1
|
||||
stat |= MAINT
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
to_chat(user, "You unfasten the electronics.")
|
||||
to_chat(user, "<span class='notice'>You unfasten the electronics.</span>")
|
||||
else /* has_electronics==0 */
|
||||
to_chat(user, "<span class='warning'>There is nothing to secure.</span>")
|
||||
to_chat(user, "<span class='warning'>There is nothing to secure!</span>")
|
||||
return
|
||||
update_icon()
|
||||
else if(emagged)
|
||||
to_chat(user, "The interface is broken.")
|
||||
to_chat(user, "<span class='warning'>The interface is broken!</span>")
|
||||
else if((stat & MAINT) && !opened)
|
||||
..() //its an empty closed frame... theres no wires to expose!
|
||||
else
|
||||
wiresexposed = !wiresexposed
|
||||
to_chat(user, "The wires have been [wiresexposed ? "exposed" : "unexposed"].")
|
||||
panel_open = !panel_open
|
||||
to_chat(user, "The wires have been [panel_open ? "exposed" : "unexposed"]")
|
||||
update_icon()
|
||||
|
||||
else if(istype(W, /obj/item/card/id)||istype(W, /obj/item/pda)) // trying to unlock the interface with an ID card
|
||||
if(emagged)
|
||||
to_chat(user, "The interface is broken.")
|
||||
else if(opened)
|
||||
to_chat(user, "You must close the cover to swipe an ID card.")
|
||||
else if(wiresexposed)
|
||||
to_chat(user, "You must close the panel.")
|
||||
else if(stat & (BROKEN|MAINT))
|
||||
to_chat(user, "Nothing happens.")
|
||||
else
|
||||
if(src.allowed(usr) && !isWireCut(APC_WIRE_IDSCAN))
|
||||
locked = !locked
|
||||
to_chat(user, "You [ locked ? "lock" : "unlock"] the APC interface.")
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
else if(istype(W, /obj/item/stack/cable_coil) && !terminal && opened && has_electronics!=2)
|
||||
if(src.loc:intact)
|
||||
to_chat(user, "<span class='warning'>You must remove the floor plating in front of the APC first.</span>")
|
||||
else if(W.GetID()) // trying to unlock the interface with an ID card
|
||||
togglelock(user)
|
||||
|
||||
else if(istype(W, /obj/item/stack/cable_coil) && opened)
|
||||
var/turf/host_turf = get_turf(src)
|
||||
if(!host_turf)
|
||||
throw EXCEPTION("attackby on APC when it's not on a turf")
|
||||
return
|
||||
if(host_turf.intact)
|
||||
to_chat(user, "<span class='warning'>You must remove the floor plating in front of the APC first!</span>")
|
||||
return
|
||||
else if(terminal) // it already have terminal
|
||||
to_chat(user, "<span class='warning'>This APC is already wired!</span>")
|
||||
return
|
||||
else if(has_electronics == 0)
|
||||
to_chat(user, "<span class='warning'>There is nothing to wire!</span>")
|
||||
return
|
||||
|
||||
var/obj/item/stack/cable_coil/C = W
|
||||
if(C.amount < 10)
|
||||
to_chat(user, "<span class='warning'>You need more wires.</span>")
|
||||
if(C.get_amount() < 10)
|
||||
to_chat(user, "<span class='warning'>You need ten lengths of cable for APC!</span>")
|
||||
return
|
||||
to_chat(user, "You start adding cables to the APC frame...")
|
||||
playsound(src.loc, C.usesound, 50, 1)
|
||||
if(do_after(user, 20 * C.toolspeed, target = src))
|
||||
if(C.amount >= 10 && !terminal && opened && has_electronics != 2)
|
||||
user.visible_message("[user.name] adds cables to the APC frame.", \
|
||||
"<span class='notice'>You start adding cables to the APC frame...</span>")
|
||||
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
|
||||
if(do_after(user, 20, target = src))
|
||||
if(C.get_amount() < 10 || !C)
|
||||
return
|
||||
if(C.get_amount() >= 10 && !terminal && opened && has_electronics > 0)
|
||||
var/turf/T = get_turf(src)
|
||||
var/obj/structure/cable/N = T.get_cable_node()
|
||||
if(prob(50) && electrocute_mob(usr, N, N, 1, TRUE))
|
||||
do_sparks(5, 1, src)
|
||||
do_sparks(5, TRUE, src)
|
||||
return
|
||||
C.use(10)
|
||||
user.visible_message(\
|
||||
"<span class='warning'>[user.name] has added cables to the APC frame!</span>",\
|
||||
"You add cables to the APC frame.")
|
||||
to_chat(user, "<span class='notice'>You add cables to the APC frame.</span>")
|
||||
make_terminal()
|
||||
terminal.connect_to_network()
|
||||
else if(istype(W, /obj/item/wirecutters) && terminal && opened && has_electronics!=2)
|
||||
if(src.loc:intact)
|
||||
to_chat(user, "<span class='warning'>You must remove the floor plating in front of the APC first.</span>")
|
||||
|
||||
else if(istype(W, /obj/item/wirecutters) && terminal && opened)
|
||||
terminal.dismantle(user, W)
|
||||
|
||||
else if(istype(W, /obj/item/apc_electronics) && opened)
|
||||
if(has_electronics!=0) // there are already electronicks inside
|
||||
to_chat(user, "<span class='warning'>You cannot put the board inside, there already is one!</span>")
|
||||
return
|
||||
to_chat(user, "You begin to cut the cables...")
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
if(do_after(user, 50 * W.toolspeed, target = src))
|
||||
if(terminal && opened && has_electronics!=2)
|
||||
if(prob(50) && electrocute_mob(usr, terminal.powernet, terminal))
|
||||
do_sparks(5, 1, src)
|
||||
return
|
||||
new /obj/item/stack/cable_coil(loc,10)
|
||||
to_chat(user, "<span class='notice'>You cut the cables and dismantle the power terminal.</span>")
|
||||
qdel(terminal) // qdel
|
||||
else if(istype(W, /obj/item/apc_electronics) && opened && has_electronics==0 && !((stat & BROKEN) || malfhack))
|
||||
to_chat(user, "You trying to insert the power control board into the frame...")
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
if(do_after(user, 10 * W.toolspeed, target = src))
|
||||
else if(stat & BROKEN)
|
||||
to_chat(user, "<span class='warning'>You cannot put the board inside, the frame is damaged!</span>")
|
||||
return
|
||||
|
||||
user.visible_message("[user.name] inserts the power control board into [src].", \
|
||||
"<span class='notice'>You start to insert the power control board into the frame...</span>")
|
||||
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
|
||||
if(do_after(user, 10, target = src))
|
||||
if(has_electronics==0)
|
||||
has_electronics = 1
|
||||
locked = 0
|
||||
locked = FALSE
|
||||
to_chat(user, "<span class='notice'>You place the power control board inside the frame.</span>")
|
||||
qdel(W) // qdel
|
||||
else if(istype(W, /obj/item/apc_electronics) && opened && has_electronics==0 && ((stat & BROKEN) || malfhack))
|
||||
to_chat(user, "<span class='warning'>You cannot put the board inside, the frame is damaged.</span>")
|
||||
return
|
||||
qdel(W)
|
||||
|
||||
else if(istype(W, /obj/item/weldingtool) && opened && has_electronics==0 && !terminal)
|
||||
var/obj/item/weldingtool/WT = W
|
||||
if(WT.get_fuel() < 3)
|
||||
to_chat(user, "<span class='warning'>You need more welding fuel to complete this task.</span>")
|
||||
to_chat(user, "<span class='warning'>You need more welding fuel to complete this task!</span>")
|
||||
return
|
||||
user.visible_message("<span class='warning'>[user.name] welds [src].</span>", \
|
||||
"You start welding the APC frame...", \
|
||||
"You hear welding.")
|
||||
user.visible_message("[user.name] welds [src].", \
|
||||
"<span class='notice'>You start welding the APC frame...</span>", \
|
||||
"<span class='italics'>You hear welding.</span>")
|
||||
playsound(src.loc, WT.usesound, 50, 1)
|
||||
if(do_after(user, 50 * WT.toolspeed, target = src))
|
||||
if(!src || !WT.remove_fuel(3, user)) return
|
||||
if(emagged || malfhack || (stat & BROKEN) || opened==2)
|
||||
if(do_after(user, 50*W.toolspeed, target = src))
|
||||
if(!src || !WT.remove_fuel(3, user))
|
||||
return
|
||||
if((stat & BROKEN) || opened==2)
|
||||
new /obj/item/stack/sheet/metal(loc)
|
||||
user.visible_message(\
|
||||
"<span class='warning'>[src] has been cut apart by [user.name] with the weldingtool.</span>",\
|
||||
"<span class='notice'>You disassembled the broken APC frame.</span>",\
|
||||
"You hear welding.")
|
||||
"[user.name] has cut [src] apart with [W].",\
|
||||
"<span class='notice'>You disassembled the broken APC frame.</span>")
|
||||
else
|
||||
new /obj/item/mounted/frame/apc_frame(loc)
|
||||
user.visible_message(\
|
||||
"<span class='warning'>[src] has been cut from the wall by [user.name] with the weldingtool.</span>",\
|
||||
"<span class='notice'>You cut the APC frame from the wall.</span>",\
|
||||
"You hear welding.")
|
||||
qdel(src) // qdel
|
||||
"[user.name] has cut [src] from the wall with [W].",\
|
||||
"<span class='notice'>You cut the APC frame from the wall.</span>")
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
else if(istype(W, /obj/item/mounted/frame/apc_frame) && opened)
|
||||
if(!(stat & BROKEN || opened==2 || obj_integrity < max_integrity)) // There is nothing to repair
|
||||
to_chat(user, "<span class='warning'>You found no reason for repairing this APC</span>")
|
||||
return
|
||||
if(!(stat & BROKEN) && opened==2) // Cover is the only thing broken, we do not need to remove elctronicks to replace cover
|
||||
user.visible_message("[user.name] replaces missing APC's cover.",\
|
||||
"<span class='notice'>You begin to replace APC's cover...</span>")
|
||||
if(do_after(user, 20, target = src)) // replacing cover is quicker than replacing whole frame
|
||||
to_chat(user, "<span class='notice'>You replace missing APC's cover.</span>")
|
||||
qdel(W)
|
||||
opened = 1
|
||||
update_icon()
|
||||
return
|
||||
else if(istype(W, /obj/item/mounted/frame/apc_frame) && opened && emagged)
|
||||
emagged = 0
|
||||
if(opened==2)
|
||||
opened = 1
|
||||
user.visible_message(\
|
||||
"<span class='warning'>[user.name] has replaced the damaged APC frontal panel with a new one.</span>",\
|
||||
"You replace the damaged APC frontal panel with a new one.")
|
||||
qdel(W)
|
||||
update_icon()
|
||||
else if(istype(W, /obj/item/mounted/frame/apc_frame) && opened && ((stat & BROKEN) || malfhack))
|
||||
if(has_electronics)
|
||||
to_chat(user, "You cannot repair this APC until you remove the electronics still inside.")
|
||||
to_chat(user, "<span class='warning'>You cannot repair this APC until you remove the electronics still inside!</span>")
|
||||
return
|
||||
to_chat(user, "You begin to replace the damaged APC frame...")
|
||||
if(do_after(user, 50 * W.toolspeed, target = src))
|
||||
user.visible_message(\
|
||||
"<span class='notice'>[user.name] has replaced the damaged APC frame with new one.</span>",\
|
||||
"You replace the damaged APC frame with new one.")
|
||||
user.visible_message("[user.name] replaces the damaged APC frame with a new one.",\
|
||||
"<span class='notice'>You begin to replace the damaged APC frame...</span>")
|
||||
if(do_after(user, 50, target = src))
|
||||
to_chat(user, "<span class='notice'>You replace the damaged APC frame with a new one.</span>")
|
||||
qdel(W)
|
||||
stat &= ~BROKEN
|
||||
malfai = null
|
||||
malfhack = 0
|
||||
obj_integrity = max_integrity
|
||||
if(opened==2)
|
||||
opened = 1
|
||||
update_icon()
|
||||
return
|
||||
else if(panel_open && !opened && is_wire_tool(W))
|
||||
wires.Interact(user)
|
||||
else
|
||||
if(((stat & BROKEN) || malfhack) \
|
||||
&& !opened \
|
||||
&& ( \
|
||||
(W.force >= 5 && W.w_class >= WEIGHT_CLASS_NORMAL) \
|
||||
|| istype(W,/obj/item/crowbar) \
|
||||
) \
|
||||
&& prob(20) )
|
||||
opened = 2
|
||||
user.visible_message("<span class='danger'>The APC cover was knocked down with the [W.name] by [user.name]!</span>", \
|
||||
"<span class='danger'>You knock down the APC cover with your [W.name]!</span>", \
|
||||
"You hear a bang.")
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/apc/proc/togglelock(mob/living/user)
|
||||
if(emagged)
|
||||
to_chat(user, "<span class='warning'>The interface is broken!</span>")
|
||||
else if(opened)
|
||||
to_chat(user, "<span class='warning'>You must close the cover to swipe an ID card!</span>")
|
||||
else if(panel_open)
|
||||
to_chat(user, "<span class='warning'>You must close the panel!</span>")
|
||||
else if(stat & (BROKEN|MAINT))
|
||||
to_chat(user, "<span class='warning'>Nothing happens!</span>")
|
||||
else
|
||||
if(allowed(usr) && !isWireCut(APC_WIRE_IDSCAN) && !malfhack)
|
||||
locked = !locked
|
||||
to_chat(user, "<span class='notice'>You [ locked ? "lock" : "unlock"] the APC interface.</span>")
|
||||
update_icon()
|
||||
else
|
||||
if(istype(user, /mob/living/silicon))
|
||||
return src.attack_hand(user)
|
||||
if(!opened && wiresexposed && \
|
||||
(istype(W, /obj/item/multitool) || \
|
||||
istype(W, /obj/item/wirecutters) || istype(W, /obj/item/assembly/signaler)))
|
||||
return src.attack_hand(user)
|
||||
if(W.flags & NOBLUDGEON)
|
||||
return
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.do_attack_animation(src)
|
||||
user.visible_message("<span class='warning'>The [src.name] has been hit with the [W.name] by [user.name]!</span>", \
|
||||
"<span class='warning'>You hit the [src.name] with your [W.name]!</span>", \
|
||||
"You hear a bang.")
|
||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
|
||||
/obj/machinery/power/apc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
|
||||
if((!(stat & BROKEN) || malfai))
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
to_chat(user, "<span class='notice'>You reverse the generator's circulator settings. The cold circulator is now on the [dir2text(cold_dir)] side, and the heat circulator is now on the [dir2text(hot_dir)] side.</span>")
|
||||
update_desc()
|
||||
else
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/generator/proc/get_menu(include_link = 1)
|
||||
var/t = ""
|
||||
|
||||
@@ -179,13 +179,14 @@ var/const/GRAV_NEEDS_WRENCH = 3
|
||||
|
||||
// Fixing the gravity generator.
|
||||
/obj/machinery/gravity_generator/main/attackby(obj/item/I as obj, mob/user as mob, params)
|
||||
var/old_broken_state = broken_state
|
||||
switch(broken_state)
|
||||
if(GRAV_NEEDS_SCREWDRIVER)
|
||||
if(istype(I, /obj/item/screwdriver))
|
||||
to_chat(user, "<span class='notice'>You secure the screws of the framework.</span>")
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
broken_state++
|
||||
update_icon()
|
||||
return
|
||||
if(GRAV_NEEDS_WELDING)
|
||||
if(istype(I, /obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/WT = I
|
||||
@@ -193,6 +194,8 @@ var/const/GRAV_NEEDS_WRENCH = 3
|
||||
to_chat(user, "<span class='notice'>You mend the damaged framework.</span>")
|
||||
playsound(src.loc, WT.usesound, 50, 1)
|
||||
broken_state++
|
||||
update_icon()
|
||||
return
|
||||
if(GRAV_NEEDS_PLASTEEL)
|
||||
if(istype(I, /obj/item/stack/sheet/plasteel))
|
||||
var/obj/item/stack/sheet/plasteel/PS = I
|
||||
@@ -201,17 +204,17 @@ var/const/GRAV_NEEDS_WRENCH = 3
|
||||
to_chat(user, "<span class='notice'>You add the plating to the framework.</span>")
|
||||
playsound(src.loc, PS.usesound, 75, 1)
|
||||
broken_state++
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need 10 sheets of plasteel.</span>")
|
||||
return
|
||||
if(GRAV_NEEDS_WRENCH)
|
||||
if(istype(I, /obj/item/wrench))
|
||||
to_chat(user, "<span class='notice'>You secure the plating to the framework.</span>")
|
||||
playsound(src.loc, I.usesound, 75, 1)
|
||||
set_fix()
|
||||
else
|
||||
..()
|
||||
if(old_broken_state != broken_state)
|
||||
update_icon()
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/gravity_generator/main/attack_hand(mob/user as mob)
|
||||
if(!..())
|
||||
|
||||
@@ -307,6 +307,8 @@
|
||||
return
|
||||
else if(istype(O, /obj/item/crowbar) && panel_open)
|
||||
default_deconstruction_crowbar(O)
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/port_gen/pacman/attack_hand(mob/user as mob)
|
||||
..()
|
||||
|
||||
@@ -95,8 +95,7 @@ var/global/list/rad_collectors = list()
|
||||
to_chat(user, "<span class='warning'>Access denied!</span>")
|
||||
return 1
|
||||
else
|
||||
..()
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/rad_collector/obj_break(damage_flag)
|
||||
if(!(stat & BROKEN) && !(flags & NODECONSTRUCT))
|
||||
|
||||
@@ -342,10 +342,10 @@
|
||||
if(exchange_parts(user, W))
|
||||
return
|
||||
|
||||
default_deconstruction_crowbar(W)
|
||||
if(default_deconstruction_crowbar(W))
|
||||
return
|
||||
|
||||
..()
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/emitter/emag_act(var/mob/living/user as mob)
|
||||
if(!emagged)
|
||||
|
||||
@@ -140,8 +140,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
if(istool(W))
|
||||
if(process_tool_hit(W,user))
|
||||
return
|
||||
..()
|
||||
return
|
||||
return..()
|
||||
|
||||
/obj/structure/particle_accelerator/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
@@ -310,7 +309,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
if(istool(W))
|
||||
if(process_tool_hit(W,user))
|
||||
return
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/particle_accelerator/proc/update_state()
|
||||
return 0
|
||||
|
||||
@@ -224,7 +224,9 @@
|
||||
return
|
||||
|
||||
//crowbarring it !
|
||||
default_deconstruction_crowbar(I)
|
||||
if(default_deconstruction_crowbar(I))
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/smes/disconnect_terminal()
|
||||
if(terminal)
|
||||
|
||||
@@ -243,14 +243,14 @@
|
||||
qdel(W)
|
||||
user.visible_message("[user] inserts the electronics into the solar assembly.", "<span class='notice'>You insert the electronics into the solar assembly.</span>")
|
||||
return 1
|
||||
else if(istype(W, /obj/item/crowbar))
|
||||
new /obj/item/tracker_electronics(src.loc)
|
||||
tracker = 0
|
||||
playsound(loc, W.usesound, 50, 1)
|
||||
user.visible_message("[user] takes out the electronics from the solar assembly.", "<span class='notice'>You take out the electronics from the solar assembly.</span>")
|
||||
return 1
|
||||
else
|
||||
if(istype(W, /obj/item/crowbar))
|
||||
new /obj/item/tracker_electronics(src.loc)
|
||||
tracker = 0
|
||||
playsound(loc, W.usesound, 50, 1)
|
||||
user.visible_message("[user] takes out the electronics from the solar assembly.", "<span class='notice'>You take out the electronics from the solar assembly.</span>")
|
||||
return 1
|
||||
..()
|
||||
return ..()
|
||||
|
||||
//
|
||||
// Solar Control Computer
|
||||
@@ -425,8 +425,7 @@
|
||||
A.anchored = 1
|
||||
qdel(src)
|
||||
else
|
||||
src.attack_hand(user)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/solar_control/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
|
||||
switch(damage_type)
|
||||
|
||||
@@ -33,3 +33,44 @@
|
||||
invisibility = 0
|
||||
icon_state = "term"
|
||||
|
||||
/obj/machinery/power/proc/can_terminal_dismantle()
|
||||
. = 0
|
||||
|
||||
/obj/machinery/power/apc/can_terminal_dismantle()
|
||||
. = 0
|
||||
if(opened)
|
||||
. = 1
|
||||
|
||||
/obj/machinery/power/smes/can_terminal_dismantle()
|
||||
. = 0
|
||||
if(panel_open)
|
||||
. = 1
|
||||
|
||||
|
||||
/obj/machinery/power/terminal/proc/dismantle(mob/living/user, obj/item/W)
|
||||
if(isturf(loc))
|
||||
var/turf/T = loc
|
||||
if(T.intact)
|
||||
to_chat(user, "<span class='warning'>You must first expose the power terminal!</span>")
|
||||
return
|
||||
|
||||
if(!master || master.can_terminal_dismantle())
|
||||
user.visible_message("[user.name] dismantles the power terminal from [master].", \
|
||||
"<span class='notice'>You begin to cut the cables...</span>")
|
||||
|
||||
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
|
||||
if(do_after(user, 50*W.toolspeed, target = src))
|
||||
if(!master || master.can_terminal_dismantle())
|
||||
if(prob(50) && electrocute_mob(user, powernet, src, 1, TRUE))
|
||||
do_sparks(5, TRUE, master)
|
||||
return
|
||||
new /obj/item/stack/cable_coil(loc, 10)
|
||||
to_chat(user, "<span class='notice'>You cut the cables and dismantle the power terminal.</span>")
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/machinery/power/terminal/attackby(obj/item/W, mob/living/user, params)
|
||||
if(istype(W, /obj/item/wirecutters))
|
||||
dismantle(user, W)
|
||||
else
|
||||
return ..()
|
||||
@@ -54,7 +54,7 @@
|
||||
wires.Interact(user)
|
||||
|
||||
else
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/tesla_coil/tesla_act(var/power)
|
||||
if(anchored && !panel_open)
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
speed = 0
|
||||
update_icon()
|
||||
return
|
||||
..()
|
||||
return ..()
|
||||
|
||||
#undef BASE_MOVE_DELAY
|
||||
#undef MAX_SPEED
|
||||
|
||||
@@ -128,7 +128,9 @@
|
||||
if(exchange_parts(user, I))
|
||||
return
|
||||
|
||||
default_deconstruction_crowbar(I)
|
||||
if(default_deconstruction_crowbar(I))
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/compressor/CanAtmosPass(turf/T)
|
||||
return !density
|
||||
@@ -283,7 +285,9 @@
|
||||
if(exchange_parts(user, I))
|
||||
return
|
||||
|
||||
default_deconstruction_crowbar(I)
|
||||
if(default_deconstruction_crowbar(I))
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/turbine/interact(mob/user)
|
||||
|
||||
|
||||
@@ -87,6 +87,8 @@
|
||||
eject_beaker()
|
||||
default_deconstruction_crowbar(I)
|
||||
return 1
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/chem_heater/attack_hand(mob/user)
|
||||
ui_interact(user)
|
||||
|
||||
@@ -343,8 +343,6 @@
|
||||
|
||||
else if(istype(I, /obj/item/screwdriver))
|
||||
if(beaker)
|
||||
beaker.loc = get_turf(src)
|
||||
..()
|
||||
return
|
||||
beaker.forceMove(get_turf(src))
|
||||
else
|
||||
..()
|
||||
return ..()
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
/obj/structure/reagent_dispensers/attackby(obj/item/I, mob/user, params)
|
||||
if(I.is_refillable())
|
||||
return FALSE //so we can refill them via their afterattack.
|
||||
. = ..()
|
||||
return ..()
|
||||
|
||||
/obj/structure/reagent_dispensers/New()
|
||||
create_reagents(tank_volume)
|
||||
@@ -260,6 +260,8 @@
|
||||
user.visible_message("[user] has secured [src]'s floor casters.", \
|
||||
"<span class='notice'>You have secured [src]'s floor casters.</span>")
|
||||
anchored = 1
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/structure/reagent_dispensers/beerkeg
|
||||
name = "beer keg"
|
||||
|
||||
@@ -76,6 +76,8 @@
|
||||
new /obj/item/c_tube( get_turf(user) )
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need more paper.</span>")
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/smallDelivery
|
||||
name = "small parcel"
|
||||
@@ -141,6 +143,8 @@
|
||||
new /obj/item/c_tube( get_turf(user) )
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need more paper.</span>")
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/stack/packageWrap
|
||||
name = "package wrapper"
|
||||
|
||||
@@ -148,6 +148,8 @@
|
||||
griefProtection()
|
||||
default_deconstruction_crowbar(O)
|
||||
return 1
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/r_n_d/server/attack_hand(mob/user as mob)
|
||||
if(disabled)
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
monkeys++
|
||||
to_chat(user, "<span class='notice'>You feed [O] to [src]. It now has [monkeys] monkey cubes stored.</span>")
|
||||
qdel(O)
|
||||
return
|
||||
return
|
||||
else if(istype(O, /obj/item/slimepotion/slime))
|
||||
var/replaced = FALSE
|
||||
if(user.drop_item())
|
||||
@@ -140,7 +140,7 @@
|
||||
replaced = TRUE
|
||||
current_potion = O
|
||||
to_chat(user, "<span class='notice'>You load [O] in the console's potion slot[replaced ? ", replacing the one that was there before" : ""].</span>")
|
||||
return
|
||||
return
|
||||
else if(istype(O, /obj/item/storage/bag))
|
||||
var/obj/item/storage/P = O
|
||||
var/loaded = 0
|
||||
@@ -159,7 +159,7 @@
|
||||
connected_recycler = I.buffer
|
||||
connected_recycler.connected += src
|
||||
return
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/datum/action/innate/slime_place
|
||||
name = "Place Slimes"
|
||||
|
||||
@@ -48,6 +48,8 @@
|
||||
broadcast_request() //This is the device making the initial event request. It needs to broadcast to other devices
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/keycard_auth/power_change()
|
||||
if(powered(ENVIRON))
|
||||
|
||||
@@ -25,8 +25,7 @@
|
||||
|
||||
/obj/structure/spacepod_frame/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
if(!construct || !construct.action(W, user))
|
||||
..()
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/structure/spacepod_frame/attack_hand()
|
||||
return
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
enabled = 1
|
||||
user.show_message("<span class='notice'>You enable \the [src]'s power.</span>")
|
||||
else
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/*
|
||||
///////////////////////////////////////
|
||||
@@ -272,4 +272,4 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>This key is already ground!</span>")
|
||||
else
|
||||
..()
|
||||
return ..()
|
||||
|
||||
@@ -45,11 +45,14 @@
|
||||
var/obj/item/multitool/M = I
|
||||
M.buffer = src
|
||||
to_chat(user, "<span class = 'caution'>You save the data in the [I.name]'s buffer.</span>")
|
||||
return
|
||||
|
||||
if(exchange_parts(user, I))
|
||||
return
|
||||
|
||||
default_deconstruction_crowbar(I)
|
||||
if(default_deconstruction_crowbar(I))
|
||||
return
|
||||
return ..()
|
||||
|
||||
|
||||
//CARGO TELEPAD//
|
||||
@@ -87,6 +90,8 @@
|
||||
new /obj/item/stack/sheet/metal(get_turf(src))
|
||||
new /obj/item/stack/sheet/glass(get_turf(src))
|
||||
qdel(src)
|
||||
else
|
||||
return ..()
|
||||
|
||||
///TELEPAD CALLER///
|
||||
/obj/item/telepad_beacon
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
to_chat(user, "<span class = 'caution'>You upload the data from the [W.name]'s buffer.</span>")
|
||||
updateUsrDialog()
|
||||
else
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/computer/telescience/emag_act(user as mob)
|
||||
if(!emagged)
|
||||
|
||||
Reference in New Issue
Block a user