here we go again (#2456)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/am_containment
|
||||
/obj/item/am_containment
|
||||
name = "antimatter containment jar"
|
||||
desc = "Holds antimatter."
|
||||
icon = 'icons/obj/machines/antimatter.dmi'
|
||||
@@ -15,7 +15,7 @@
|
||||
var/stability = 100//TODO: add all the stability things to this so its not very safe if you keep hitting in on things
|
||||
|
||||
|
||||
/obj/item/weapon/am_containment/ex_act(severity, target)
|
||||
/obj/item/am_containment/ex_act(severity, target)
|
||||
switch(severity)
|
||||
if(1)
|
||||
explosion(get_turf(src), 1, 2, 3, 5)//Should likely be larger but this works fine for now I guess
|
||||
@@ -33,7 +33,7 @@
|
||||
//check_stability()
|
||||
return
|
||||
|
||||
/obj/item/weapon/am_containment/proc/usefuel(wanted)
|
||||
/obj/item/am_containment/proc/usefuel(wanted)
|
||||
if(fuel < wanted)
|
||||
wanted = fuel
|
||||
fuel -= wanted
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
var/list/obj/machinery/am_shielding/linked_shielding
|
||||
var/list/obj/machinery/am_shielding/linked_cores
|
||||
var/obj/item/weapon/am_containment/fueljar
|
||||
var/obj/item/am_containment/fueljar
|
||||
var/update_shield_icons = 0
|
||||
var/stability = 100
|
||||
var/exploding = 0
|
||||
@@ -157,7 +157,7 @@
|
||||
|
||||
|
||||
/obj/machinery/power/am_control_unit/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
if(istype(W, /obj/item/wrench))
|
||||
if(!anchored)
|
||||
playsound(src.loc, W.usesound, 75, 1)
|
||||
user.visible_message("[user.name] secures the [src.name] to the floor.", \
|
||||
@@ -175,7 +175,7 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Once bolted and linked to a shielding unit it the [src.name] is unable to be moved!</span>")
|
||||
|
||||
else if(istype(W, /obj/item/weapon/am_containment))
|
||||
else if(istype(W, /obj/item/am_containment))
|
||||
if(fueljar)
|
||||
to_chat(user, "<span class='warning'>There is already a [fueljar] inside!</span>")
|
||||
return
|
||||
|
||||
+12
-12
@@ -53,7 +53,7 @@
|
||||
var/lon_range = 1.5
|
||||
var/area/area
|
||||
var/areastring = null
|
||||
var/obj/item/weapon/stock_parts/cell/cell
|
||||
var/obj/item/stock_parts/cell/cell
|
||||
var/start_charge = 90 // initial cell charge %
|
||||
var/cell_type = 2500 // 0=no cell, 1=regular, 2=high-cap (x5) <- old, now it's just 0=no cell, otherwise dictate cellcapacity by changing this value. 1 used to be 1000, 2 was 2500
|
||||
var/opened = 0 //0=closed, 1=opened, 2=cover removed
|
||||
@@ -170,7 +170,7 @@
|
||||
has_electronics = 2 //installed and secured
|
||||
// is starting with a power cell installed, create it and set its charge level
|
||||
if(cell_type)
|
||||
src.cell = new/obj/item/weapon/stock_parts/cell(src)
|
||||
src.cell = new/obj/item/stock_parts/cell(src)
|
||||
cell.maxcharge = cell_type // cell_type is maximum charge (old default was 1000 or 2500 (values one and two respectively)
|
||||
cell.charge = start_charge * cell.maxcharge / 100 // (convert percentage to actual value)
|
||||
|
||||
@@ -353,7 +353,7 @@
|
||||
|
||||
if(issilicon(user) && get_dist(src,user)>1)
|
||||
return src.attack_hand(user)
|
||||
if (istype(W, /obj/item/weapon/crowbar)) //Using crowbar
|
||||
if (istype(W, /obj/item/crowbar)) //Using crowbar
|
||||
if (opened) // a) on open apc
|
||||
if (has_electronics==1)
|
||||
if (terminal)
|
||||
@@ -388,7 +388,7 @@
|
||||
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/weapon/electronics/apc(loc)
|
||||
new /obj/item/electronics/apc(loc)
|
||||
return
|
||||
else if (opened!=2) //cover isn't removed
|
||||
opened = 0
|
||||
@@ -407,7 +407,7 @@
|
||||
update_icon()
|
||||
return
|
||||
|
||||
else if (istype(W, /obj/item/weapon/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, "<span class='warning'>There is a power cell already installed!</span>")
|
||||
return
|
||||
@@ -425,7 +425,7 @@
|
||||
chargecount = 0
|
||||
update_icon()
|
||||
|
||||
else if (istype(W, /obj/item/weapon/screwdriver)) // haxing
|
||||
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!
|
||||
@@ -507,10 +507,10 @@
|
||||
make_terminal()
|
||||
terminal.connect_to_network()
|
||||
|
||||
else if (istype(W, /obj/item/weapon/wirecutters) && terminal && opened)
|
||||
else if (istype(W, /obj/item/wirecutters) && terminal && opened)
|
||||
terminal.dismantle(user, W)
|
||||
|
||||
else if (istype(W, /obj/item/weapon/electronics/apc) && opened)
|
||||
else if (istype(W, /obj/item/electronics/apc) && 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
|
||||
@@ -528,8 +528,8 @@
|
||||
to_chat(user, "<span class='notice'>You place the power control board inside the frame.</span>")
|
||||
qdel(W)
|
||||
|
||||
else if (istype(W, /obj/item/weapon/weldingtool) && opened && has_electronics==0 && !terminal)
|
||||
var/obj/item/weapon/weldingtool/WT = 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>")
|
||||
return
|
||||
@@ -864,7 +864,7 @@
|
||||
occupier.loc = src.loc
|
||||
occupier.death()
|
||||
occupier.gib()
|
||||
for(var/obj/item/weapon/pinpointer/P in GLOB.pinpointer_list)
|
||||
for(var/obj/item/pinpointer/P in GLOB.pinpointer_list)
|
||||
P.switch_mode_to(TRACK_NUKE_DISK) //Pinpointers go back to tracking the nuke disk
|
||||
P.nuke_warning = FALSE
|
||||
|
||||
@@ -1237,7 +1237,7 @@
|
||||
#undef APC_UPDATE_ICON_COOLDOWN
|
||||
|
||||
/*Power module, used for APC construction*/
|
||||
/obj/item/weapon/electronics/apc
|
||||
/obj/item/electronics/apc
|
||||
name = "power control module"
|
||||
icon_state = "power_mod"
|
||||
desc = "Heavy-duty switching circuits for power control."
|
||||
|
||||
@@ -119,7 +119,7 @@ By design, d1 is the smallest direction and d2 is the highest
|
||||
var/turf/T = get_turf(src)
|
||||
if(T.intact)
|
||||
return
|
||||
if(istype(W, /obj/item/weapon/wirecutters))
|
||||
if(istype(W, /obj/item/wirecutters))
|
||||
if (shock(user, 50))
|
||||
return
|
||||
user.visible_message("[user] cuts the cable.", "<span class='notice'>You cut the cable.</span>")
|
||||
@@ -135,8 +135,8 @@ By design, d1 is the smallest direction and d2 is the highest
|
||||
return
|
||||
coil.cable_join(src, user)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/twohanded/rcl))
|
||||
var/obj/item/weapon/twohanded/rcl/R = W
|
||||
else if(istype(W, /obj/item/twohanded/rcl))
|
||||
var/obj/item/twohanded/rcl/R = W
|
||||
if(R.loaded)
|
||||
R.loaded.cable_join(src, user)
|
||||
R.is_empty(user)
|
||||
@@ -460,7 +460,7 @@ By design, d1 is the smallest direction and d2 is the highest
|
||||
// Definitions
|
||||
////////////////////////////////
|
||||
|
||||
GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restraints", /obj/item/weapon/restraints/handcuffs/cable, 15)))
|
||||
GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restraints", /obj/item/restraints/handcuffs/cable, 15)))
|
||||
|
||||
/obj/item/stack/cable_coil
|
||||
name = "cable coil"
|
||||
|
||||
+50
-50
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/stock_parts/cell
|
||||
/obj/item/stock_parts/cell
|
||||
name = "power cell"
|
||||
desc = "A rechargeable electrochemical power cell."
|
||||
icon = 'icons/obj/power.dmi'
|
||||
@@ -21,10 +21,10 @@
|
||||
var/ratingdesc = TRUE
|
||||
var/grown_battery = FALSE // If it's a grown that acts as a battery, add a wire overlay to it.
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/get_cell()
|
||||
/obj/item/stock_parts/cell/get_cell()
|
||||
return src
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/New()
|
||||
/obj/item/stock_parts/cell/New()
|
||||
..()
|
||||
START_PROCESSING(SSobj, src)
|
||||
charge = maxcharge
|
||||
@@ -32,11 +32,11 @@
|
||||
desc += " This one has a power rating of [maxcharge], and you should not swallow it."
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/Destroy()
|
||||
/obj/item/stock_parts/cell/Destroy()
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/vv_edit_var(var_name, var_value)
|
||||
/obj/item/stock_parts/cell/vv_edit_var(var_name, var_value)
|
||||
switch(var_name)
|
||||
if("self_recharge")
|
||||
if(var_value)
|
||||
@@ -45,13 +45,13 @@
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/process()
|
||||
/obj/item/stock_parts/cell/process()
|
||||
if(self_recharge)
|
||||
give(chargerate * 0.25)
|
||||
else
|
||||
return PROCESS_KILL
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/update_icon()
|
||||
/obj/item/stock_parts/cell/update_icon()
|
||||
cut_overlays()
|
||||
if(grown_battery)
|
||||
add_overlay("grown_wires")
|
||||
@@ -62,11 +62,11 @@
|
||||
else
|
||||
add_overlay("cell-o1")
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/proc/percent() // return % charge of cell
|
||||
/obj/item/stock_parts/cell/proc/percent() // return % charge of cell
|
||||
return 100*charge/maxcharge
|
||||
|
||||
// use power from a cell
|
||||
/obj/item/weapon/stock_parts/cell/proc/use(amount)
|
||||
/obj/item/stock_parts/cell/proc/use(amount)
|
||||
if(rigged && amount > 0)
|
||||
explode()
|
||||
return 0
|
||||
@@ -78,7 +78,7 @@
|
||||
return 1
|
||||
|
||||
// recharge the cell
|
||||
/obj/item/weapon/stock_parts/cell/proc/give(amount)
|
||||
/obj/item/stock_parts/cell/proc/give(amount)
|
||||
if(rigged && amount > 0)
|
||||
explode()
|
||||
return 0
|
||||
@@ -88,28 +88,28 @@
|
||||
charge += power_used
|
||||
return power_used
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/examine(mob/user)
|
||||
/obj/item/stock_parts/cell/examine(mob/user)
|
||||
..()
|
||||
if(rigged)
|
||||
to_chat(user, "<span class='danger'>This power cell seems to be faulty!</span>")
|
||||
else
|
||||
to_chat(user, "The charge meter reads [round(src.percent() )]%.")
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/suicide_act(mob/user)
|
||||
/obj/item/stock_parts/cell/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is licking the electrodes of [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
return (FIRELOSS)
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/attackby(obj/item/W, mob/user, params)
|
||||
/obj/item/stock_parts/cell/attackby(obj/item/W, mob/user, params)
|
||||
..()
|
||||
if(istype(W, /obj/item/weapon/reagent_containers/syringe))
|
||||
var/obj/item/weapon/reagent_containers/syringe/S = W
|
||||
if(istype(W, /obj/item/reagent_containers/syringe))
|
||||
var/obj/item/reagent_containers/syringe/S = W
|
||||
to_chat(user, "<span class='notice'>You inject the solution into the power cell.</span>")
|
||||
if(S.reagents.has_reagent("plasma", 5))
|
||||
rigged = 1
|
||||
S.reagents.clear_reagents()
|
||||
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/proc/explode()
|
||||
/obj/item/stock_parts/cell/proc/explode()
|
||||
var/turf/T = get_turf(src.loc)
|
||||
/*
|
||||
* 1000-cell explosion(T, -1, 0, 1, 1)
|
||||
@@ -131,19 +131,19 @@
|
||||
explosion(T, devastation_range, heavy_impact_range, light_impact_range, flash_range)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/proc/corrupt()
|
||||
/obj/item/stock_parts/cell/proc/corrupt()
|
||||
charge /= 2
|
||||
maxcharge = max(maxcharge/2, chargerate)
|
||||
if (prob(10))
|
||||
rigged = 1 //broken batterys are dangerous
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/emp_act(severity)
|
||||
/obj/item/stock_parts/cell/emp_act(severity)
|
||||
charge -= 1000 / severity
|
||||
if (charge < 0)
|
||||
charge = 0
|
||||
..()
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/ex_act(severity, target)
|
||||
/obj/item/stock_parts/cell/ex_act(severity, target)
|
||||
..()
|
||||
if(!QDELETED(src))
|
||||
switch(severity)
|
||||
@@ -155,53 +155,53 @@
|
||||
corrupt()
|
||||
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/blob_act(obj/structure/blob/B)
|
||||
/obj/item/stock_parts/cell/blob_act(obj/structure/blob/B)
|
||||
ex_act(EXPLODE_DEVASTATE)
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/proc/get_electrocute_damage()
|
||||
/obj/item/stock_parts/cell/proc/get_electrocute_damage()
|
||||
if(charge >= 1000)
|
||||
return Clamp(round(charge/10000), 10, 90) + rand(-5,5)
|
||||
else
|
||||
return 0
|
||||
|
||||
/* Cell variants*/
|
||||
/obj/item/weapon/stock_parts/cell/crap
|
||||
/obj/item/stock_parts/cell/crap
|
||||
name = "\improper Nanotrasen brand rechargeable AA battery"
|
||||
desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT
|
||||
maxcharge = 500
|
||||
materials = list(MAT_GLASS=40)
|
||||
rating = 2
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/crap/empty/New()
|
||||
/obj/item/stock_parts/cell/crap/empty/New()
|
||||
..()
|
||||
charge = 0
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/secborg
|
||||
/obj/item/stock_parts/cell/secborg
|
||||
name = "security borg rechargeable D battery"
|
||||
origin_tech = null
|
||||
maxcharge = 600 //600 max charge / 100 charge per shot = six shots
|
||||
materials = list(MAT_GLASS=40)
|
||||
rating = 2.5
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/secborg/empty/New()
|
||||
/obj/item/stock_parts/cell/secborg/empty/New()
|
||||
..()
|
||||
charge = 0
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/pulse //200 pulse shots
|
||||
/obj/item/stock_parts/cell/pulse //200 pulse shots
|
||||
name = "pulse rifle power cell"
|
||||
maxcharge = 40000
|
||||
rating = 3
|
||||
chargerate = 1500
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/pulse/carbine //25 pulse shots
|
||||
/obj/item/stock_parts/cell/pulse/carbine //25 pulse shots
|
||||
name = "pulse carbine power cell"
|
||||
maxcharge = 5000
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/pulse/pistol //10 pulse shots
|
||||
/obj/item/stock_parts/cell/pulse/pistol //10 pulse shots
|
||||
name = "pulse pistol power cell"
|
||||
maxcharge = 2000
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/high
|
||||
/obj/item/stock_parts/cell/high
|
||||
name = "high-capacity power cell"
|
||||
origin_tech = "powerstorage=2"
|
||||
icon_state = "hcell"
|
||||
@@ -210,18 +210,18 @@
|
||||
rating = 3
|
||||
chargerate = 1500
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/high/plus
|
||||
/obj/item/stock_parts/cell/high/plus
|
||||
name = "high-capacity power cell+"
|
||||
desc = "Where did these come from?"
|
||||
icon_state = "h+cell"
|
||||
maxcharge = 15000
|
||||
chargerate = 2250
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/high/empty/New()
|
||||
/obj/item/stock_parts/cell/high/empty/New()
|
||||
..()
|
||||
charge = 0
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/super
|
||||
/obj/item/stock_parts/cell/super
|
||||
name = "super-capacity power cell"
|
||||
origin_tech = "powerstorage=3;materials=3"
|
||||
icon_state = "scell"
|
||||
@@ -230,11 +230,11 @@
|
||||
rating = 4
|
||||
chargerate = 2000
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/super/empty/New()
|
||||
/obj/item/stock_parts/cell/super/empty/New()
|
||||
..()
|
||||
charge = 0
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/hyper
|
||||
/obj/item/stock_parts/cell/hyper
|
||||
name = "hyper-capacity power cell"
|
||||
origin_tech = "powerstorage=4;engineering=4;materials=4"
|
||||
icon_state = "hpcell"
|
||||
@@ -243,11 +243,11 @@
|
||||
rating = 5
|
||||
chargerate = 3000
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/hyper/empty/New()
|
||||
/obj/item/stock_parts/cell/hyper/empty/New()
|
||||
..()
|
||||
charge = 0
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/bluespace
|
||||
/obj/item/stock_parts/cell/bluespace
|
||||
name = "bluespace power cell"
|
||||
desc = "A rechargeable transdimensional power cell."
|
||||
origin_tech = "powerstorage=5;bluespace=4;materials=4;engineering=4"
|
||||
@@ -257,11 +257,11 @@
|
||||
rating = 6
|
||||
chargerate = 4000
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/bluespace/empty/New()
|
||||
/obj/item/stock_parts/cell/bluespace/empty/New()
|
||||
..()
|
||||
charge = 0
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/infinite
|
||||
/obj/item/stock_parts/cell/infinite
|
||||
name = "infinite-capacity power cell!"
|
||||
icon_state = "icell"
|
||||
origin_tech = "powerstorage=7"
|
||||
@@ -270,10 +270,10 @@
|
||||
rating = 6
|
||||
chargerate = 30000
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/infinite/use()
|
||||
/obj/item/stock_parts/cell/infinite/use()
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/infinite/abductor
|
||||
/obj/item/stock_parts/cell/infinite/abductor
|
||||
name = "void core"
|
||||
desc = "An alien power cell that produces energy seemingly out of nowhere."
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
@@ -283,11 +283,11 @@
|
||||
rating = 12
|
||||
ratingdesc = FALSE
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/infinite/abductor/update_icon()
|
||||
/obj/item/stock_parts/cell/infinite/abductor/update_icon()
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/potato
|
||||
/obj/item/stock_parts/cell/potato
|
||||
name = "potato battery"
|
||||
desc = "A rechargeable starch based power cell."
|
||||
icon = 'icons/obj/hydroponics/harvest.dmi'
|
||||
@@ -299,7 +299,7 @@
|
||||
rating = 1
|
||||
grown_battery = TRUE //it has the overlays for wires
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/high/slime
|
||||
/obj/item/stock_parts/cell/high/slime
|
||||
name = "charged slime core"
|
||||
desc = "A yellow slime core infused with plasma, it crackles with power."
|
||||
origin_tech = "powerstorage=5;biotech=4"
|
||||
@@ -308,31 +308,31 @@
|
||||
materials = list()
|
||||
self_recharge = 1 // Infused slime cores self-recharge, over time
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/emproof
|
||||
/obj/item/stock_parts/cell/emproof
|
||||
name = "\improper EMP-proof cell"
|
||||
desc = "An EMP-proof cell."
|
||||
maxcharge = 500
|
||||
rating = 2
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/emproof/empty/New()
|
||||
/obj/item/stock_parts/cell/emproof/empty/New()
|
||||
..()
|
||||
charge = 0
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/emproof/emp_act(severity)
|
||||
/obj/item/stock_parts/cell/emproof/emp_act(severity)
|
||||
return
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/emproof/corrupt()
|
||||
/obj/item/stock_parts/cell/emproof/corrupt()
|
||||
return
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/beam_rifle
|
||||
/obj/item/stock_parts/cell/beam_rifle
|
||||
name = "beam rifle capacitor"
|
||||
desc = "A high powered capacitor that can provide huge amounts of energy in an instant"
|
||||
maxcharge = 50000
|
||||
chargerate = 5000 //Extremely energy intensive
|
||||
rating = 4
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/beam_rifle/corrupt()
|
||||
/obj/item/stock_parts/cell/beam_rifle/corrupt()
|
||||
return
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/beam_rifle/emp_act(severity)
|
||||
/obj/item/stock_parts/cell/beam_rifle/emp_act(severity)
|
||||
charge = Clamp((charge-(10000/severity)),0,maxcharge)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
var/state = FLOODLIGHT_NEEDS_WRENCHING
|
||||
|
||||
/obj/structure/floodlight_frame/attackby(obj/item/O, mob/user, params)
|
||||
if(istype(O, /obj/item/weapon/wrench) && (state == FLOODLIGHT_NEEDS_WRENCHING))
|
||||
if(istype(O, /obj/item/wrench) && (state == FLOODLIGHT_NEEDS_WRENCHING))
|
||||
to_chat(user, "<span class='notice'>You secure the [src].</span>")
|
||||
anchored = TRUE
|
||||
state = FLOODLIGHT_NEEDS_WIRES
|
||||
@@ -22,12 +22,12 @@
|
||||
desc = "A bare metal frame looking vaguely like a floodlight. Requires securing with a screwdriver."
|
||||
icon_state = "floodlight_c2"
|
||||
state = FLOODLIGHT_NEEDS_SECURING
|
||||
else if(istype(O, /obj/item/weapon/light/tube) && (state == FLOODLIGHT_NEEDS_LIGHTS))
|
||||
else if(istype(O, /obj/item/light/tube) && (state == FLOODLIGHT_NEEDS_LIGHTS))
|
||||
if(user.transferItemToLoc(O))
|
||||
to_chat(user, "<span class='notice'>You put lights in the [src].</span>")
|
||||
new /obj/machinery/power/floodlight(src.loc)
|
||||
qdel(src)
|
||||
else if(istype(O, /obj/item/weapon/screwdriver) && (state == FLOODLIGHT_NEEDS_SECURING))
|
||||
else if(istype(O, /obj/item/screwdriver) && (state == FLOODLIGHT_NEEDS_SECURING))
|
||||
to_chat(user, "<span class='notice'>You fasten the wiring and electronics in [src].</span>")
|
||||
name = "secured [name]"
|
||||
desc = "A bare metal frame that looks like a floodlight. Requires light tubes."
|
||||
@@ -82,7 +82,7 @@
|
||||
to_chat(user, "You set the [src] to [setting_text].")
|
||||
|
||||
/obj/machinery/power/floodlight/attackby(obj/item/O, mob/user, params)
|
||||
if(istype(O, /obj/item/weapon/wrench))
|
||||
if(istype(O, /obj/item/wrench))
|
||||
default_unfasten_wrench(user, O, time = 20)
|
||||
change_setting(1)
|
||||
if(anchored)
|
||||
|
||||
@@ -190,15 +190,15 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne
|
||||
/obj/machinery/gravity_generator/main/attackby(obj/item/I, mob/user, params)
|
||||
switch(broken_state)
|
||||
if(GRAV_NEEDS_SCREWDRIVER)
|
||||
if(istype(I, /obj/item/weapon/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/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = I
|
||||
if(istype(I, /obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/WT = I
|
||||
if(WT.remove_fuel(1, user))
|
||||
to_chat(user, "<span class='notice'>You mend the damaged framework.</span>")
|
||||
playsound(src.loc, 'sound/items/welder2.ogg', 50, 1)
|
||||
@@ -220,7 +220,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne
|
||||
to_chat(user, "<span class='warning'>You need 10 sheets of plasteel!</span>")
|
||||
return
|
||||
if(GRAV_NEEDS_WRENCH)
|
||||
if(istype(I, /obj/item/weapon/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()
|
||||
@@ -401,7 +401,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne
|
||||
|
||||
// Misc
|
||||
|
||||
/obj/item/weapon/paper/guides/jobs/engi/gravity_gen
|
||||
/obj/item/paper/guides/jobs/engi/gravity_gen
|
||||
name = "paper- 'Generate your own gravity!'"
|
||||
info = {"<h1>Gravity Generator Instructions For Dummies</h1>
|
||||
<p>Surprisingly, gravity isn't that hard to make! All you have to do is inject deadly radioactive minerals into a ball of
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// The lighting system
|
||||
//
|
||||
// consists of light fixtures (/obj/machinery/light) and light tube/bulb items (/obj/item/weapon/light)
|
||||
// consists of light fixtures (/obj/machinery/light) and light tube/bulb items (/obj/item/light)
|
||||
|
||||
|
||||
// status values shared between lighting fixtures and items
|
||||
@@ -65,11 +65,11 @@
|
||||
if(3)
|
||||
to_chat(user, "The casing is closed.")
|
||||
|
||||
/obj/structure/light_construct/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/light_construct/attackby(obj/item/W, mob/user, params)
|
||||
add_fingerprint(user)
|
||||
switch(stage)
|
||||
if(1)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
if(istype(W, /obj/item/wrench))
|
||||
playsound(src.loc, W.usesound, 75, 1)
|
||||
to_chat(usr, "<span class='notice'>You begin deconstructing [src]...</span>")
|
||||
if (!do_after(usr, 30*W.toolspeed, target = src))
|
||||
@@ -96,11 +96,11 @@
|
||||
to_chat(user, "<span class='warning'>You need one length of cable to wire [src]!</span>")
|
||||
return
|
||||
if(2)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
if(istype(W, /obj/item/wrench))
|
||||
to_chat(usr, "<span class='warning'>You have to remove the wires first!</span>")
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/wirecutters))
|
||||
if(istype(W, /obj/item/wirecutters))
|
||||
stage = 1
|
||||
switch(fixture_type)
|
||||
if ("tube")
|
||||
@@ -113,7 +113,7 @@
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
if(istype(W, /obj/item/screwdriver))
|
||||
user.visible_message("[user.name] closes [src]'s casing.", \
|
||||
"<span class='notice'>You close [src]'s casing.</span>", "<span class='italics'>You hear screwing.</span>")
|
||||
playsound(loc, W.usesound, 75, 1)
|
||||
@@ -166,7 +166,7 @@
|
||||
var/brightness = 8 // luminosity when on, also used in power calculation
|
||||
var/status = LIGHT_OK // LIGHT_OK, _EMPTY, _BURNED or _BROKEN
|
||||
var/flickering = 0
|
||||
var/light_type = /obj/item/weapon/light/tube // the type of light item
|
||||
var/light_type = /obj/item/light/tube // the type of light item
|
||||
var/fitting = "tube"
|
||||
var/switchcount = 0 // count of number of times switched on/off
|
||||
// this is used to calc the probability the light burns out
|
||||
@@ -181,7 +181,7 @@
|
||||
fitting = "bulb"
|
||||
brightness = 4
|
||||
desc = "A small lighting fixture."
|
||||
light_type = /obj/item/weapon/light/bulb
|
||||
light_type = /obj/item/light/bulb
|
||||
|
||||
|
||||
|
||||
@@ -308,12 +308,12 @@
|
||||
LR.ReplaceLight(src, user)
|
||||
|
||||
// attempt to insert light
|
||||
else if(istype(W, /obj/item/weapon/light))
|
||||
else if(istype(W, /obj/item/light))
|
||||
if(status == LIGHT_OK)
|
||||
to_chat(user, "<span class='warning'>There is a [fitting] already inserted!</span>")
|
||||
else
|
||||
src.add_fingerprint(user)
|
||||
var/obj/item/weapon/light/L = W
|
||||
var/obj/item/light/L = W
|
||||
if(istype(L, light_type))
|
||||
if(!user.drop_item())
|
||||
return
|
||||
@@ -340,7 +340,7 @@
|
||||
|
||||
// attempt to stick weapon into light socket
|
||||
else if(status == LIGHT_EMPTY)
|
||||
if(istype(W, /obj/item/weapon/screwdriver)) //If it's a screwdriver open it.
|
||||
if(istype(W, /obj/item/screwdriver)) //If it's a screwdriver open it.
|
||||
playsound(src.loc, W.usesound, 75, 1)
|
||||
user.visible_message("[user.name] opens [src]'s casing.", \
|
||||
"<span class='notice'>You open [src]'s casing.</span>", "<span class='italics'>You hear a noise.</span>")
|
||||
@@ -478,7 +478,7 @@
|
||||
drop_light_tube(user)
|
||||
|
||||
/obj/machinery/light/proc/drop_light_tube(mob/user)
|
||||
var/obj/item/weapon/light/L = new light_type()
|
||||
var/obj/item/light/L = new light_type()
|
||||
L.status = status
|
||||
L.rigged = rigged
|
||||
L.brightness = brightness
|
||||
@@ -505,7 +505,7 @@
|
||||
|
||||
to_chat(user, "<span class='notice'>You telekinetically remove the light [fitting].</span>")
|
||||
// create a light tube/bulb item and put it in the user's hand
|
||||
var/obj/item/weapon/light/L = drop_light_tube()
|
||||
var/obj/item/light/L = drop_light_tube()
|
||||
L.attack_tk(user)
|
||||
|
||||
|
||||
@@ -562,7 +562,7 @@
|
||||
// can be tube or bulb subtypes
|
||||
// will fit into empty /obj/machinery/light of the corresponding type
|
||||
|
||||
/obj/item/weapon/light
|
||||
/obj/item/light
|
||||
icon = 'icons/obj/lighting.dmi'
|
||||
force = 2
|
||||
throwforce = 5
|
||||
@@ -574,7 +574,7 @@
|
||||
var/rigged = 0 // true if rigged to explode
|
||||
var/brightness = 2 //how much light it gives off
|
||||
|
||||
/obj/item/weapon/light/tube
|
||||
/obj/item/light/tube
|
||||
name = "light tube"
|
||||
desc = "A replacement light tube."
|
||||
icon_state = "ltube"
|
||||
@@ -582,7 +582,7 @@
|
||||
item_state = "c_tube"
|
||||
brightness = 8
|
||||
|
||||
/obj/item/weapon/light/bulb
|
||||
/obj/item/light/bulb
|
||||
name = "light bulb"
|
||||
desc = "A replacement light bulb."
|
||||
icon_state = "lbulb"
|
||||
@@ -590,13 +590,13 @@
|
||||
item_state = "contvapour"
|
||||
brightness = 4
|
||||
|
||||
/obj/item/weapon/light/throw_impact(atom/hit_atom)
|
||||
/obj/item/light/throw_impact(atom/hit_atom)
|
||||
if(!..()) //not caught by a mob
|
||||
shatter()
|
||||
|
||||
// update the icon state and description of the light
|
||||
|
||||
/obj/item/weapon/light/proc/update()
|
||||
/obj/item/light/proc/update()
|
||||
switch(status)
|
||||
if(LIGHT_OK)
|
||||
icon_state = base_state
|
||||
@@ -609,17 +609,17 @@
|
||||
desc = "A broken [name]."
|
||||
|
||||
|
||||
/obj/item/weapon/light/New()
|
||||
/obj/item/light/New()
|
||||
..()
|
||||
update()
|
||||
|
||||
|
||||
// attack bulb/tube with object
|
||||
// if a syringe, can inject plasma to make it explode
|
||||
/obj/item/weapon/light/attackby(obj/item/I, mob/user, params)
|
||||
/obj/item/light/attackby(obj/item/I, mob/user, params)
|
||||
..()
|
||||
if(istype(I, /obj/item/weapon/reagent_containers/syringe))
|
||||
var/obj/item/weapon/reagent_containers/syringe/S = I
|
||||
if(istype(I, /obj/item/reagent_containers/syringe))
|
||||
var/obj/item/reagent_containers/syringe/S = I
|
||||
|
||||
to_chat(user, "<span class='notice'>You inject the solution into \the [src].</span>")
|
||||
|
||||
@@ -632,15 +632,15 @@
|
||||
..()
|
||||
return
|
||||
|
||||
/obj/item/weapon/light/attack(mob/living/M, mob/living/user, def_zone)
|
||||
/obj/item/light/attack(mob/living/M, mob/living/user, def_zone)
|
||||
..()
|
||||
shatter()
|
||||
|
||||
/obj/item/weapon/light/attack_obj(obj/O, mob/living/user)
|
||||
/obj/item/light/attack_obj(obj/O, mob/living/user)
|
||||
..()
|
||||
shatter()
|
||||
|
||||
/obj/item/weapon/light/proc/shatter()
|
||||
/obj/item/light/proc/shatter()
|
||||
if(status == LIGHT_OK || status == LIGHT_BURNED)
|
||||
src.visible_message("<span class='danger'>[name] shatters.</span>","<span class='italics'>You hear a small glass object shatter.</span>")
|
||||
status = LIGHT_BROKEN
|
||||
@@ -656,5 +656,5 @@
|
||||
icon_state = "floor1"
|
||||
brightness = 4
|
||||
layer = 2.5
|
||||
light_type = /obj/item/weapon/light/bulb
|
||||
light_type = /obj/item/light/bulb
|
||||
fitting = "bulb"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
use_power = ACTIVE_POWER_USE
|
||||
idle_power_usage = 20
|
||||
active_power_usage = 100
|
||||
circuit = /obj/item/weapon/circuitboard/computer/powermonitor
|
||||
circuit = /obj/item/circuitboard/computer/powermonitor
|
||||
|
||||
var/obj/structure/cable/attached
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
/obj/machinery/power/port_gen/pacman
|
||||
name = "\improper P.A.C.M.A.N.-type portable generator"
|
||||
circuit = /obj/item/weapon/circuitboard/machine/pacman
|
||||
circuit = /obj/item/circuitboard/machine/pacman
|
||||
var/sheets = 0
|
||||
var/max_sheets = 100
|
||||
var/sheet_name = ""
|
||||
@@ -81,10 +81,10 @@
|
||||
/obj/machinery/power/port_gen/pacman/RefreshParts()
|
||||
var/temp_rating = 0
|
||||
var/consumption_coeff = 0
|
||||
for(var/obj/item/weapon/stock_parts/SP in component_parts)
|
||||
if(istype(SP, /obj/item/weapon/stock_parts/matter_bin))
|
||||
for(var/obj/item/stock_parts/SP in component_parts)
|
||||
if(istype(SP, /obj/item/stock_parts/matter_bin))
|
||||
max_sheets = SP.rating * SP.rating * 50
|
||||
else if(istype(SP, /obj/item/weapon/stock_parts/capacitor))
|
||||
else if(istype(SP, /obj/item/stock_parts/capacitor))
|
||||
temp_rating += SP.rating
|
||||
else
|
||||
consumption_coeff += SP.rating
|
||||
@@ -168,7 +168,7 @@
|
||||
if(exchange_parts(user, O))
|
||||
return
|
||||
|
||||
if(istype(O, /obj/item/weapon/wrench))
|
||||
if(istype(O, /obj/item/wrench))
|
||||
|
||||
if(!anchored && !isinspace())
|
||||
connect_to_network()
|
||||
@@ -181,7 +181,7 @@
|
||||
|
||||
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
|
||||
return
|
||||
else if(istype(O, /obj/item/weapon/screwdriver))
|
||||
else if(istype(O, /obj/item/screwdriver))
|
||||
panel_open = !panel_open
|
||||
playsound(src.loc, O.usesound, 50, 1)
|
||||
if(panel_open)
|
||||
@@ -272,7 +272,7 @@
|
||||
name = "\improper S.U.P.E.R.P.A.C.M.A.N.-type portable generator"
|
||||
icon_state = "portgen1_0"
|
||||
base_icon = "portgen1"
|
||||
circuit = /obj/item/weapon/circuitboard/machine/pacman/super
|
||||
circuit = /obj/item/circuitboard/machine/pacman/super
|
||||
sheet_path = /obj/item/stack/sheet/mineral/uranium
|
||||
power_gen = 15000
|
||||
time_per_sheet = 85
|
||||
@@ -284,7 +284,7 @@
|
||||
name = "\improper M.R.S.P.A.C.M.A.N.-type portable generator"
|
||||
base_icon = "portgen2"
|
||||
icon_state = "portgen2_0"
|
||||
circuit = /obj/item/weapon/circuitboard/machine/pacman/mrs
|
||||
circuit = /obj/item/circuitboard/machine/pacman/mrs
|
||||
sheet_path = /obj/item/stack/sheet/mineral/diamond
|
||||
power_gen = 40000
|
||||
time_per_sheet = 80
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
|
||||
// attach a wire to a power machine - leads from the turf you are standing on
|
||||
//almost never called, overwritten by all power machines but terminal and generator
|
||||
/obj/machinery/power/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/machinery/power/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/stack/cable_coil))
|
||||
var/obj/item/stack/cable_coil/coil = W
|
||||
var/turf/T = user.loc
|
||||
@@ -299,11 +299,11 @@
|
||||
power_source = Cable.powernet
|
||||
|
||||
var/datum/powernet/PN
|
||||
var/obj/item/weapon/stock_parts/cell/cell
|
||||
var/obj/item/stock_parts/cell/cell
|
||||
|
||||
if(istype(power_source, /datum/powernet))
|
||||
PN = power_source
|
||||
else if(istype(power_source, /obj/item/weapon/stock_parts/cell))
|
||||
else if(istype(power_source, /obj/item/stock_parts/cell))
|
||||
cell = power_source
|
||||
else if(istype(power_source, /obj/machinery/power/apc))
|
||||
var/obj/machinery/power/apc/apc = power_source
|
||||
@@ -340,7 +340,7 @@
|
||||
else if (istype(power_source, /datum/powernet))
|
||||
var/drained_power = drained_energy/GLOB.CELLRATE //convert from "joules" to "watts"
|
||||
PN.load+=drained_power
|
||||
else if (istype(power_source, /obj/item/weapon/stock_parts/cell))
|
||||
else if (istype(power_source, /obj/item/stock_parts/cell))
|
||||
cell.use(drained_energy)
|
||||
return drained_energy
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
use_power = NO_POWER_USE
|
||||
circuit = /obj/item/weapon/circuitboard/machine/rtg
|
||||
circuit = /obj/item/circuitboard/machine/rtg
|
||||
|
||||
// You can buckle someone to RTG, then open its panel. Fun stuff.
|
||||
can_buckle = TRUE
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
/obj/machinery/power/rtg/RefreshParts()
|
||||
var/part_level = 0
|
||||
for(var/obj/item/weapon/stock_parts/SP in component_parts)
|
||||
for(var/obj/item/stock_parts/SP in component_parts)
|
||||
part_level += SP.rating
|
||||
|
||||
power_gen = initial(power_gen) * part_level
|
||||
@@ -55,7 +55,7 @@
|
||||
/obj/machinery/power/rtg/advanced
|
||||
desc = "An advanced RTG capable of moderating isotope decay, increasing power output but reducing lifetime. It uses plasma-fueled radiation collectors to increase output even further."
|
||||
power_gen = 1250 // 2500 on T1, 10000 on T4.
|
||||
circuit = /obj/item/weapon/circuitboard/machine/rtg/advanced
|
||||
circuit = /obj/item/circuitboard/machine/rtg/advanced
|
||||
|
||||
// Void Core, power source for Abductor ships and bases.
|
||||
// Provides a lot of power, but tends to explode when mistreated.
|
||||
@@ -65,7 +65,7 @@
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
icon_state = "core"
|
||||
desc = "An alien power source that produces energy seemingly out of nowhere."
|
||||
circuit = /obj/item/weapon/circuitboard/machine/abductor/core
|
||||
circuit = /obj/item/circuitboard/machine/abductor/core
|
||||
power_gen = 20000 // 280 000 at T1, 400 000 at T4. Starts at T4.
|
||||
irradiate = FALSE // Green energy!
|
||||
can_buckle = FALSE
|
||||
|
||||
@@ -12,7 +12,7 @@ GLOBAL_LIST_EMPTY(rad_collectors)
|
||||
// use_power = NO_POWER_USE
|
||||
max_integrity = 350
|
||||
integrity_failure = 80
|
||||
var/obj/item/weapon/tank/internals/plasma/loaded_tank = null
|
||||
var/obj/item/tank/internals/plasma/loaded_tank = null
|
||||
var/last_power = 0
|
||||
var/active = 0
|
||||
var/locked = FALSE
|
||||
@@ -66,7 +66,7 @@ GLOBAL_LIST_EMPTY(rad_collectors)
|
||||
return FAILED_UNFASTEN
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/rad_collector/default_unfasten_wrench(mob/user, obj/item/weapon/wrench/W, time = 20)
|
||||
/obj/machinery/power/rad_collector/default_unfasten_wrench(mob/user, obj/item/wrench/W, time = 20)
|
||||
. = ..()
|
||||
if(. == SUCCESSFUL_UNFASTEN)
|
||||
if(anchored)
|
||||
@@ -80,7 +80,7 @@ GLOBAL_LIST_EMPTY(rad_collectors)
|
||||
return TRUE
|
||||
else if(istype(W, /obj/item/device/analyzer) && loaded_tank)
|
||||
atmosanalyzer_scan(loaded_tank.air_contents, user)
|
||||
else if(istype(W, /obj/item/weapon/tank/internals/plasma))
|
||||
else if(istype(W, /obj/item/tank/internals/plasma))
|
||||
if(!anchored)
|
||||
to_chat(user, "<span class='warning'>The [src] needs to be secured to the floor first!</span>")
|
||||
return TRUE
|
||||
@@ -92,7 +92,7 @@ GLOBAL_LIST_EMPTY(rad_collectors)
|
||||
loaded_tank = W
|
||||
W.forceMove(src)
|
||||
update_icons()
|
||||
else if(istype(W, /obj/item/weapon/crowbar))
|
||||
else if(istype(W, /obj/item/crowbar))
|
||||
if(loaded_tank)
|
||||
if(locked)
|
||||
to_chat(user, "<span class='warning'>The controls are locked!</span>")
|
||||
@@ -102,7 +102,7 @@ GLOBAL_LIST_EMPTY(rad_collectors)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>There isn't a tank loaded!</span>")
|
||||
return TRUE
|
||||
else if(istype(W, /obj/item/weapon/wrench))
|
||||
else if(istype(W, /obj/item/wrench))
|
||||
default_unfasten_wrench(user, W, 0)
|
||||
return TRUE
|
||||
else if(W.GetID())
|
||||
@@ -126,7 +126,7 @@ GLOBAL_LIST_EMPTY(rad_collectors)
|
||||
|
||||
/obj/machinery/power/rad_collector/proc/eject()
|
||||
locked = FALSE
|
||||
var/obj/item/weapon/tank/internals/plasma/Z = src.loaded_tank
|
||||
var/obj/item/tank/internals/plasma/Z = src.loaded_tank
|
||||
if (!Z)
|
||||
return
|
||||
Z.loc = get_turf(src)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
anchored = FALSE
|
||||
density = TRUE
|
||||
req_access = list(ACCESS_ENGINE_EQUIP)
|
||||
circuit = /obj/item/weapon/circuitboard/machine/emitter
|
||||
circuit = /obj/item/circuitboard/machine/emitter
|
||||
|
||||
use_power = NO_POWER_USE
|
||||
idle_power_usage = 10
|
||||
@@ -64,14 +64,14 @@
|
||||
var/firedelay = 120
|
||||
var/min_firedelay = 24
|
||||
var/power_usage = 350
|
||||
for(var/obj/item/weapon/stock_parts/micro_laser/L in component_parts)
|
||||
for(var/obj/item/stock_parts/micro_laser/L in component_parts)
|
||||
max_firedelay -= 20 * L.rating
|
||||
min_firedelay -= 4 * L.rating
|
||||
firedelay -= 20 * L.rating
|
||||
maximum_fire_delay = max_firedelay
|
||||
minimum_fire_delay = min_firedelay
|
||||
fire_delay = firedelay
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||
for(var/obj/item/stock_parts/manipulator/M in component_parts)
|
||||
power_usage -= 50 * M.rating
|
||||
active_power_usage = power_usage
|
||||
|
||||
@@ -265,7 +265,7 @@
|
||||
return FAILED_UNFASTEN
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/emitter/default_unfasten_wrench(mob/user, obj/item/weapon/wrench/W, time = 20)
|
||||
/obj/machinery/power/emitter/default_unfasten_wrench(mob/user, obj/item/wrench/W, time = 20)
|
||||
. = ..()
|
||||
if(. == SUCCESSFUL_UNFASTEN)
|
||||
if(anchored)
|
||||
@@ -274,15 +274,15 @@
|
||||
state = EM_UNSECURED
|
||||
|
||||
/obj/machinery/power/emitter/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
if(istype(W, /obj/item/wrench))
|
||||
if(active)
|
||||
to_chat(user, "<span class='warning'>Turn \the [src] off first!</span>")
|
||||
return
|
||||
default_unfasten_wrench(user, W, 0)
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(istype(W, /obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/WT = W
|
||||
if(active)
|
||||
to_chat(user, "Turn \the [src] off first.")
|
||||
return
|
||||
@@ -368,7 +368,7 @@
|
||||
playsound(src,'sound/mecha/mechmove01.ogg', 50, 1)
|
||||
manual = FALSE
|
||||
for(var/obj/item/I in buckled_mob.held_items)
|
||||
if(istype(I, /obj/item/weapon/turret_control))
|
||||
if(istype(I, /obj/item/turret_control))
|
||||
qdel(I)
|
||||
if(istype(buckled_mob))
|
||||
buckled_mob.pixel_x = 0
|
||||
@@ -419,7 +419,7 @@
|
||||
desc = "The emitter will only fire on your command and at your designated target"
|
||||
button_icon_state = "mech_zoom_on"
|
||||
for(var/obj/item/I in U.held_items)
|
||||
if(istype(I, /obj/item/weapon/turret_control))
|
||||
if(istype(I, /obj/item/turret_control))
|
||||
qdel(I)
|
||||
UpdateButtonIcon()
|
||||
return
|
||||
@@ -433,15 +433,15 @@
|
||||
var/obj/item/I = V
|
||||
if(istype(I))
|
||||
if(U.dropItemToGround(I))
|
||||
var/obj/item/weapon/turret_control/TC = new /obj/item/weapon/turret_control()
|
||||
var/obj/item/turret_control/TC = new /obj/item/turret_control()
|
||||
U.put_in_hands(TC)
|
||||
else //Entries in the list should only ever be items or null, so if it's not an item, we can assume it's an empty hand
|
||||
var/obj/item/weapon/turret_control/TC = new /obj/item/weapon/turret_control()
|
||||
var/obj/item/turret_control/TC = new /obj/item/turret_control()
|
||||
U.put_in_hands(TC)
|
||||
UpdateButtonIcon()
|
||||
|
||||
|
||||
/obj/item/weapon/turret_control
|
||||
/obj/item/turret_control
|
||||
name = "turret controls"
|
||||
icon_state = "offhand"
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
@@ -449,7 +449,7 @@
|
||||
resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF | NOBLUDGEON_1
|
||||
var/delay = 0
|
||||
|
||||
/obj/item/weapon/turret_control/afterattack(atom/targeted_atom, mob/user)
|
||||
/obj/item/turret_control/afterattack(atom/targeted_atom, mob/user)
|
||||
..()
|
||||
var/obj/machinery/power/emitter/E = user.buckled
|
||||
E.setDir(get_dir(E,targeted_atom))
|
||||
|
||||
@@ -83,7 +83,7 @@ field_generator power level display
|
||||
return FAILED_UNFASTEN
|
||||
return ..()
|
||||
|
||||
/obj/machinery/field/generator/default_unfasten_wrench(mob/user, obj/item/weapon/wrench/W, time = 20)
|
||||
/obj/machinery/field/generator/default_unfasten_wrench(mob/user, obj/item/wrench/W, time = 20)
|
||||
. = ..()
|
||||
if(. == SUCCESSFUL_UNFASTEN)
|
||||
if(anchored)
|
||||
@@ -95,11 +95,11 @@ field_generator power level display
|
||||
if(active)
|
||||
to_chat(user, "<span class='warning'>[src] needs to be off!</span>")
|
||||
return
|
||||
else if(istype(W, /obj/item/weapon/wrench))
|
||||
else if(istype(W, /obj/item/wrench))
|
||||
default_unfasten_wrench(user, W, 0)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
else if(istype(W, /obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/WT = W
|
||||
switch(state)
|
||||
if(FG_UNSECURED)
|
||||
to_chat(user, "<span class='warning'>The [name] needs to be wrenched to the floor!</span>")
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
..()
|
||||
|
||||
/obj/machinery/the_singularitygen/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
if(istype(W, /obj/item/wrench))
|
||||
default_unfasten_wrench(user, W, 0)
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
|
||||
switch(construction_state)
|
||||
if(PA_CONSTRUCTION_UNSECURED)
|
||||
if(istype(W, /obj/item/weapon/wrench) && !isinspace())
|
||||
if(istype(W, /obj/item/wrench) && !isinspace())
|
||||
playsound(loc, W.usesound, 75, 1)
|
||||
anchored = TRUE
|
||||
user.visible_message("[user.name] secures the [name] to the floor.", \
|
||||
@@ -105,7 +105,7 @@
|
||||
construction_state = PA_CONSTRUCTION_UNWIRED
|
||||
did_something = TRUE
|
||||
if(PA_CONSTRUCTION_UNWIRED)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
if(istype(W, /obj/item/wrench))
|
||||
playsound(loc, W.usesound, 75, 1)
|
||||
anchored = FALSE
|
||||
user.visible_message("[user.name] detaches the [name] from the floor.", \
|
||||
@@ -120,18 +120,18 @@
|
||||
construction_state = PA_CONSTRUCTION_PANEL_OPEN
|
||||
did_something = TRUE
|
||||
if(PA_CONSTRUCTION_PANEL_OPEN)
|
||||
if(istype(W, /obj/item/weapon/wirecutters))//TODO:Shock user if its on?
|
||||
if(istype(W, /obj/item/wirecutters))//TODO:Shock user if its on?
|
||||
user.visible_message("[user.name] removes some wires from the [name].", \
|
||||
"You remove some wires.")
|
||||
construction_state = PA_CONSTRUCTION_UNWIRED
|
||||
did_something = TRUE
|
||||
else if(istype(W, /obj/item/weapon/screwdriver))
|
||||
else if(istype(W, /obj/item/screwdriver))
|
||||
user.visible_message("[user.name] closes the [name]'s access panel.", \
|
||||
"You close the access panel.")
|
||||
construction_state = PA_CONSTRUCTION_COMPLETE
|
||||
did_something = TRUE
|
||||
if(PA_CONSTRUCTION_COMPLETE)
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
if(istype(W, /obj/item/screwdriver))
|
||||
user.visible_message("[user.name] opens the [name]'s access panel.", \
|
||||
"You open the access panel.")
|
||||
construction_state = PA_CONSTRUCTION_PANEL_OPEN
|
||||
|
||||
@@ -269,7 +269,7 @@
|
||||
|
||||
switch(construction_state)
|
||||
if(PA_CONSTRUCTION_UNSECURED)
|
||||
if(istype(W, /obj/item/weapon/wrench) && !isinspace())
|
||||
if(istype(W, /obj/item/wrench) && !isinspace())
|
||||
playsound(loc, W.usesound, 75, 1)
|
||||
anchored = TRUE
|
||||
user.visible_message("[user.name] secures the [name] to the floor.", \
|
||||
@@ -277,7 +277,7 @@
|
||||
construction_state = PA_CONSTRUCTION_UNWIRED
|
||||
did_something = TRUE
|
||||
if(PA_CONSTRUCTION_UNWIRED)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
if(istype(W, /obj/item/wrench))
|
||||
playsound(loc, W.usesound, 75, 1)
|
||||
anchored = FALSE
|
||||
user.visible_message("[user.name] detaches the [name] from the floor.", \
|
||||
@@ -292,18 +292,18 @@
|
||||
construction_state = PA_CONSTRUCTION_PANEL_OPEN
|
||||
did_something = TRUE
|
||||
if(PA_CONSTRUCTION_PANEL_OPEN)
|
||||
if(istype(W, /obj/item/weapon/wirecutters))//TODO:Shock user if its on?
|
||||
if(istype(W, /obj/item/wirecutters))//TODO:Shock user if its on?
|
||||
user.visible_message("[user.name] removes some wires from the [name].", \
|
||||
"You remove some wires.")
|
||||
construction_state = PA_CONSTRUCTION_UNWIRED
|
||||
did_something = TRUE
|
||||
else if(istype(W, /obj/item/weapon/screwdriver))
|
||||
else if(istype(W, /obj/item/screwdriver))
|
||||
user.visible_message("[user.name] closes the [name]'s access panel.", \
|
||||
"You close the access panel.")
|
||||
construction_state = PA_CONSTRUCTION_COMPLETE
|
||||
did_something = TRUE
|
||||
if(PA_CONSTRUCTION_COMPLETE)
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
if(istype(W, /obj/item/screwdriver))
|
||||
user.visible_message("[user.name] opens the [name]'s access panel.", \
|
||||
"You open the access panel.")
|
||||
construction_state = PA_CONSTRUCTION_PANEL_OPEN
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
/obj/singularity/attack_animal(mob/user)
|
||||
consume(user)
|
||||
|
||||
/obj/singularity/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/singularity/attackby(obj/item/W, mob/user, params)
|
||||
consume(user)
|
||||
return 1
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
use_power = NO_POWER_USE
|
||||
circuit = /obj/item/weapon/circuitboard/machine/smes
|
||||
circuit = /obj/item/circuitboard/machine/smes
|
||||
var/capacity = 5e6 // maximum charge
|
||||
var/charge = 0 // actual charge
|
||||
|
||||
@@ -64,11 +64,11 @@
|
||||
var/IO = 0
|
||||
var/MC = 0
|
||||
var/C
|
||||
for(var/obj/item/weapon/stock_parts/capacitor/CP in component_parts)
|
||||
for(var/obj/item/stock_parts/capacitor/CP in component_parts)
|
||||
IO += CP.rating
|
||||
input_level_max = initial(input_level_max) * IO
|
||||
output_level_max = initial(output_level_max) * IO
|
||||
for(var/obj/item/weapon/stock_parts/cell/PC in component_parts)
|
||||
for(var/obj/item/stock_parts/cell/PC in component_parts)
|
||||
MC += PC.maxcharge
|
||||
C += PC.charge
|
||||
capacity = MC / (15000) * 1e6
|
||||
@@ -149,7 +149,7 @@
|
||||
return
|
||||
|
||||
//disassembling the terminal
|
||||
if(istype(I, /obj/item/weapon/wirecutters) && terminal && panel_open)
|
||||
if(istype(I, /obj/item/wirecutters) && terminal && panel_open)
|
||||
terminal.dismantle(user, I)
|
||||
return
|
||||
|
||||
@@ -160,12 +160,12 @@
|
||||
log_game("[src] has been deconstructed by [key_name(user)]")
|
||||
investigate_log("SMES deconstructed by [key_name(user)]", INVESTIGATE_SINGULO)
|
||||
return
|
||||
else if(panel_open && istype(I, /obj/item/weapon/crowbar))
|
||||
else if(panel_open && istype(I, /obj/item/crowbar))
|
||||
return
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/smes/default_deconstruction_crowbar(obj/item/weapon/crowbar/C)
|
||||
/obj/machinery/power/smes/default_deconstruction_crowbar(obj/item/crowbar/C)
|
||||
if(istype(C) && terminal)
|
||||
to_chat(usr, "<span class='warning'>You must first remove the power terminal!</span>")
|
||||
return FALSE
|
||||
@@ -173,7 +173,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/smes/on_deconstruction()
|
||||
for(var/obj/item/weapon/stock_parts/cell/cell in component_parts)
|
||||
for(var/obj/item/stock_parts/cell/cell in component_parts)
|
||||
cell.charge = (charge / capacity) * cell.maxcharge
|
||||
|
||||
/obj/machinery/power/smes/Destroy()
|
||||
|
||||
+16
-16
@@ -56,8 +56,8 @@
|
||||
obj_integrity = max_integrity
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/power/solar/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/crowbar))
|
||||
/obj/machinery/power/solar/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/crowbar))
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
user.visible_message("[user] begins to take the glass off the solar panel.", "<span class='notice'>You begin to take the glass off the solar panel...</span>")
|
||||
if(do_after(user, 50*W.toolspeed, target = src))
|
||||
@@ -94,8 +94,8 @@
|
||||
S.give_glass(stat & BROKEN)
|
||||
else
|
||||
playsound(src, "shatter", 70, 1)
|
||||
new /obj/item/weapon/shard(src.loc)
|
||||
new /obj/item/weapon/shard(src.loc)
|
||||
new /obj/item/shard(src.loc)
|
||||
new /obj/item/shard(src.loc)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -198,16 +198,16 @@
|
||||
// Give back the glass type we were supplied with
|
||||
/obj/item/solar_assembly/proc/give_glass(device_broken)
|
||||
if(device_broken)
|
||||
new /obj/item/weapon/shard(loc)
|
||||
new /obj/item/weapon/shard(loc)
|
||||
new /obj/item/shard(loc)
|
||||
new /obj/item/shard(loc)
|
||||
else if(glass_type)
|
||||
var/obj/item/stack/sheet/S = new glass_type(loc)
|
||||
S.amount = 2
|
||||
glass_type = null
|
||||
|
||||
|
||||
/obj/item/solar_assembly/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/wrench) && isturf(loc))
|
||||
/obj/item/solar_assembly/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/wrench) && isturf(loc))
|
||||
if(isinspace())
|
||||
to_chat(user, "<span class='warning'>You can't secure [src] here.</span>")
|
||||
return
|
||||
@@ -239,7 +239,7 @@
|
||||
return 1
|
||||
|
||||
if(!tracker)
|
||||
if(istype(W, /obj/item/weapon/electronics/tracker))
|
||||
if(istype(W, /obj/item/electronics/tracker))
|
||||
if(!user.drop_item())
|
||||
return
|
||||
tracker = 1
|
||||
@@ -247,8 +247,8 @@
|
||||
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/weapon/crowbar))
|
||||
new /obj/item/weapon/electronics/tracker(src.loc)
|
||||
if(istype(W, /obj/item/crowbar))
|
||||
new /obj/item/electronics/tracker(src.loc)
|
||||
tracker = 0
|
||||
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
|
||||
@@ -410,14 +410,14 @@
|
||||
. = TRUE
|
||||
|
||||
/obj/machinery/power/solar_control/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
if(istype(I, /obj/item/screwdriver))
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
if(do_after(user, 20*I.toolspeed, target = src))
|
||||
if (src.stat & BROKEN)
|
||||
to_chat(user, "<span class='notice'>The broken glass falls out.</span>")
|
||||
var/obj/structure/frame/computer/A = new /obj/structure/frame/computer( src.loc )
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
var/obj/item/weapon/circuitboard/computer/solar_control/M = new /obj/item/weapon/circuitboard/computer/solar_control( A )
|
||||
new /obj/item/shard( src.loc )
|
||||
var/obj/item/circuitboard/computer/solar_control/M = new /obj/item/circuitboard/computer/solar_control( A )
|
||||
for (var/obj/C in src)
|
||||
C.loc = src.loc
|
||||
A.circuit = M
|
||||
@@ -428,7 +428,7 @@
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You disconnect the monitor.</span>")
|
||||
var/obj/structure/frame/computer/A = new /obj/structure/frame/computer( src.loc )
|
||||
var/obj/item/weapon/circuitboard/computer/solar_control/M = new /obj/item/weapon/circuitboard/computer/solar_control( A )
|
||||
var/obj/item/circuitboard/computer/solar_control/M = new /obj/item/circuitboard/computer/solar_control( A )
|
||||
for (var/obj/C in src)
|
||||
C.loc = src.loc
|
||||
A.circuit = M
|
||||
@@ -495,6 +495,6 @@
|
||||
// MISC
|
||||
//
|
||||
|
||||
/obj/item/weapon/paper/guides/jobs/engi/solars
|
||||
/obj/item/paper/guides/jobs/engi/solars
|
||||
name = "paper- 'Going green! Setup your own solar array instructions.'"
|
||||
info = "<h1>Welcome</h1><p>At greencorps we love the environment, and space. With this package you are able to help mother nature and produce energy without any usage of fossil fuel or plasma! Singularity energy is dangerous while solar energy is safe, which is why it's better. Now here is how you setup your own solar array.</p><p>You can make a solar panel by wrenching the solar assembly onto a cable node. Adding a glass panel, reinforced or regular glass will do, will finish the construction of your solar panel. It is that easy!</p><p>Now after setting up 19 more of these solar panels you will want to create a solar tracker to keep track of our mother nature's gift, the sun. These are the same steps as before except you insert the tracker equipment circuit into the assembly before performing the final step of adding the glass. You now have a tracker! Now the last step is to add a computer to calculate the sun's movements and to send commands to the solar panels to change direction with the sun. Setting up the solar computer is the same as setting up any computer, so you should have no trouble in doing that. You do need to put a wire node under the computer, and the wire needs to be connected to the tracker.</p><p>Congratulations, you should have a working solar array. If you are having trouble, here are some tips. Make sure all solar equipment are on a cable node, even the computer. You can always deconstruct your creations if you make a mistake.</p><p>That's all to it, be safe, be green!</p>"
|
||||
|
||||
@@ -526,7 +526,7 @@
|
||||
/obj/machinery/power/supermatter_shard/attackby(obj/item/W, mob/living/user, params)
|
||||
if(!istype(W) || (W.flags_1 & ABSTRACT_1) || !istype(user))
|
||||
return
|
||||
if(istype(W, /obj/item/weapon/scalpel/supermatter))
|
||||
if(istype(W, /obj/item/scalpel/supermatter))
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>You carefully begin to scrape \the [src] with \the [W]...</span>")
|
||||
if(do_after(user, 60 * W.toolspeed, TRUE, src))
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
|
||||
|
||||
/obj/machinery/power/terminal/attackby(obj/item/W, mob/living/user, params)
|
||||
if(istype(W, /obj/item/weapon/wirecutters))
|
||||
if(istype(W, /obj/item/wirecutters))
|
||||
dismantle(user, W)
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
buckle_lying = FALSE
|
||||
buckle_requires_restraints = TRUE
|
||||
|
||||
circuit = /obj/item/weapon/circuitboard/machine/tesla_coil
|
||||
circuit = /obj/item/circuitboard/machine/tesla_coil
|
||||
|
||||
var/power_loss = 2
|
||||
var/input_power_multiplier = 1
|
||||
@@ -25,12 +25,12 @@
|
||||
/obj/machinery/power/tesla_coil/RefreshParts()
|
||||
var/power_multiplier = 0
|
||||
zap_cooldown = 100
|
||||
for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts)
|
||||
for(var/obj/item/stock_parts/capacitor/C in component_parts)
|
||||
power_multiplier += C.rating
|
||||
zap_cooldown -= (C.rating * 20)
|
||||
input_power_multiplier = power_multiplier
|
||||
|
||||
/obj/machinery/power/tesla_coil/default_unfasten_wrench(mob/user, obj/item/weapon/wrench/W, time = 20)
|
||||
/obj/machinery/power/tesla_coil/default_unfasten_wrench(mob/user, obj/item/wrench/W, time = 20)
|
||||
. = ..()
|
||||
if(. == SUCCESSFUL_UNFASTEN)
|
||||
if(panel_open)
|
||||
@@ -103,9 +103,9 @@
|
||||
buckle_lying = FALSE
|
||||
buckle_requires_restraints = TRUE
|
||||
|
||||
circuit = /obj/item/weapon/circuitboard/machine/grounding_rod
|
||||
circuit = /obj/item/circuitboard/machine/grounding_rod
|
||||
|
||||
/obj/machinery/power/grounding_rod/default_unfasten_wrench(mob/user, obj/item/weapon/wrench/W, time = 20)
|
||||
/obj/machinery/power/grounding_rod/default_unfasten_wrench(mob/user, obj/item/wrench/W, time = 20)
|
||||
. = ..()
|
||||
if(. == SUCCESSFUL_UNFASTEN)
|
||||
if(panel_open)
|
||||
|
||||
@@ -60,9 +60,9 @@
|
||||
if(powernet && (powernet == control.powernet)) //update if we're still in the same powernet
|
||||
control.currentdir = angle
|
||||
|
||||
/obj/machinery/power/tracker/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/machinery/power/tracker/attackby(obj/item/W, mob/user, params)
|
||||
|
||||
if(istype(W, /obj/item/weapon/crowbar))
|
||||
if(istype(W, /obj/item/crowbar))
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
user.visible_message("[user] begins to take the glass off the solar tracker.", "<span class='notice'>You begin to take the glass off the solar tracker...</span>")
|
||||
if(do_after(user, 50*W.toolspeed, target = src))
|
||||
@@ -87,11 +87,11 @@
|
||||
S.give_glass(stat & BROKEN)
|
||||
else
|
||||
playsound(src, "shatter", 70, 1)
|
||||
new /obj/item/weapon/shard(src.loc)
|
||||
new /obj/item/weapon/shard(src.loc)
|
||||
new /obj/item/shard(src.loc)
|
||||
new /obj/item/shard(src.loc)
|
||||
qdel(src)
|
||||
|
||||
// Tracker Electronic
|
||||
|
||||
/obj/item/weapon/electronics/tracker
|
||||
/obj/item/electronics/tracker
|
||||
name = "tracker electronics"
|
||||
@@ -31,7 +31,7 @@
|
||||
density = TRUE
|
||||
resistance_flags = FIRE_PROOF
|
||||
CanAtmosPass = ATMOS_PASS_DENSITY
|
||||
circuit = /obj/item/weapon/circuitboard/machine/power_compressor
|
||||
circuit = /obj/item/circuitboard/machine/power_compressor
|
||||
var/obj/machinery/power/turbine/turbine
|
||||
var/datum/gas_mixture/gas_contained
|
||||
var/turf/inturf
|
||||
@@ -52,7 +52,7 @@
|
||||
density = TRUE
|
||||
resistance_flags = FIRE_PROOF
|
||||
CanAtmosPass = ATMOS_PASS_DENSITY
|
||||
circuit = /obj/item/weapon/circuitboard/machine/power_turbine
|
||||
circuit = /obj/item/circuitboard/machine/power_turbine
|
||||
var/opened = 0
|
||||
var/obj/machinery/power/compressor/compressor
|
||||
var/turf/outturf
|
||||
@@ -64,7 +64,7 @@
|
||||
desc = "A computer to remotely control a gas turbine."
|
||||
icon_screen = "turbinecomp"
|
||||
icon_keyboard = "tech_key"
|
||||
circuit = /obj/item/weapon/circuitboard/computer/turbine_computer
|
||||
circuit = /obj/item/circuitboard/computer/turbine_computer
|
||||
var/obj/machinery/power/compressor/compressor
|
||||
var/id = 0
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
|
||||
/obj/machinery/power/compressor/RefreshParts()
|
||||
var/E = 0
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||
for(var/obj/item/stock_parts/manipulator/M in component_parts)
|
||||
E += M.rating
|
||||
efficiency = E / 6
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
|
||||
/obj/machinery/power/turbine/RefreshParts()
|
||||
var/P = 0
|
||||
for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts)
|
||||
for(var/obj/item/stock_parts/capacitor/C in component_parts)
|
||||
P += C.rating
|
||||
productivity = P / 6
|
||||
|
||||
|
||||
Reference in New Issue
Block a user