Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into powernet

Conflicts:
	_maps/map_files/cyberiad/cyberiad.dmm
	code/game/machinery/alarm.dm
	code/modules/power/smes.dm
This commit is contained in:
Markolie
2015-08-01 21:44:47 +02:00
36 changed files with 483 additions and 474 deletions
+4 -4
View File
@@ -162,10 +162,10 @@
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/hydroponics(src)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/console_screen(src)
component_parts += new /obj/item/weapon/circuitboard/hydroponics(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
RefreshParts()
temp_chem_holder = new()
+2 -2
View File
@@ -177,6 +177,7 @@
T.affecting_lights += src
effect_turf += T
END_FOR_DVIEW
/datum/light_source/proc/remove_lum()
applied = 0
@@ -201,11 +202,10 @@
var/list/view[0]
FOR_DVIEW(var/turf/T, light_range, source_turf, INVISIBILITY_LIGHTING)
view += T //Filter out turfs.
END_FOR_DVIEW
//This is the part where we calculate new turfs (if any)
var/list/new_turfs = view - effect_turf //This will result with all the tiles that are added.
for(var/turf/T in new_turfs)
//Big huge copy paste from apply_lum() incoming because screw unreadable defines and screw proc call overhead.
if(T.lighting_overlay)
LUM_FALLOFF(., T, source_turf)
. *= light_power
+11
View File
@@ -31,6 +31,17 @@
component_parts += new /obj/item/device/assembly/igniter(null)
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
RefreshParts()
/obj/machinery/mineral/ore_redemption/upgraded/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/ore_redemption(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin/super(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator/pico(null)
component_parts += new /obj/item/weapon/stock_parts/micro_laser/ultra(null)
component_parts += new /obj/item/device/assembly/igniter(null)
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
RefreshParts()
/obj/machinery/mineral/ore_redemption/RefreshParts()
var/ore_pickup_rate_temp = 15
@@ -405,8 +405,7 @@
src.modules += new /obj/item/weapon/reagent_containers/spray/cleaner/drone(src)
src.modules += new /obj/item/weapon/soap(src)
src.emag = new /obj/item/weapon/gun/energy/plasmacutter(src)
src.emag.name = "Plasma Cutter"
src.emag = new /obj/item/weapon/pickaxe/drill/cyborg/diamond(src)
for(var/T in stacktypes)
var/obj/item/stack/sheet/W = new T(src)
-178
View File
@@ -1,178 +0,0 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
//Baseline portable generator. Has all the default handling. Not intended to be used on it's own (since it generates unlimited power).
/obj/machinery/power/port_gen/pacman2
name = "Pacman II"
desc = "P.A.C.M.A.N. type II portable generator. Uses liquid plasma as a fuel source."
power_gen = 4500
var/obj/item/weapon/tank/plasma/P = null
var/board_path = "/obj/item/weapon/circuitboard/pacman2"
var/emagged = 0
var/heat = 0
/*
process()
if(P)
if(P.air_contents.toxins <= 0)
P.air_contents.toxins = 0
eject()
else
P.air_contents.toxins -= 0.001
return
*/
HasFuel()
if(P.air_contents.toxins >= 0.1)
return 1
return 0
UseFuel()
P.air_contents.toxins -= 0.01
return
New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/micro_laser(src)
component_parts += new /obj/item/stack/cable_coil(src)
component_parts += new /obj/item/stack/cable_coil(src)
component_parts += new /obj/item/weapon/stock_parts/capacitor(src)
component_parts += new board_path(src)
RefreshParts()
RefreshParts()
var/temp_rating = 0
var/temp_reliability = 0
for(var/obj/item/weapon/stock_parts/SP in component_parts)
if(istype(SP, /obj/item/weapon/stock_parts/matter_bin))
//max_coins = SP.rating * SP.rating * 1000
else if(istype(SP, /obj/item/weapon/stock_parts/micro_laser) || istype(SP, /obj/item/weapon/stock_parts/capacitor))
temp_rating += SP.rating
for(var/obj/item/weapon/CP in component_parts)
temp_reliability += CP.reliability
reliability = min(round(temp_reliability / 4), 100)
power_gen = round(initial(power_gen) * (max(2, temp_rating) / 2))
examine()
..()
usr << "\blue The generator has [P.air_contents.toxins] units of fuel left, producing [power_gen] per cycle."
if(crit_fail) usr << "\red The generator seems to have broken down."
handleInactive()
heat -= 2
if (heat < 0)
heat = 0
else
for(var/mob/M in viewers(1, src))
if (M.client && M.machine == src)
src.updateUsrDialog()
proc
overheat()
explosion(get_turf(src), 2, 5, 2, -1)
attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/tank/plasma))
if(P)
user << "\red The generator already has a plasma tank loaded!"
return
P = O
user.drop_item()
O.loc = src
user << "\blue You add the plasma tank to the generator."
else if(!active)
if(istype(O, /obj/item/weapon/wrench))
anchored = !anchored
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
if(anchored)
user << "\blue You secure the generator to the floor."
else
user << "\blue You unsecure the generator from the floor."
makepowernets()
else if(istype(O, /obj/item/weapon/screwdriver))
open = !open
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
if(open)
user << "\blue You open the access panel."
else
user << "\blue You close the access panel."
else if(istype(O, /obj/item/weapon/crowbar) && !open)
var/obj/machinery/constructable_frame/machine_frame/new_frame = new /obj/machinery/constructable_frame/machine_frame(src.loc)
for(var/obj/item/I in component_parts)
if(I.reliability < 100)
I.crit_fail = 1
I.loc = src.loc
new_frame.state = 2
new_frame.icon_state = "box_1"
del(src)
emag_act(user as mob)
if(!emagged)
emagged = 1
emp_act(1)
attack_hand(mob/user as mob)
..()
if (!anchored)
return
interact(user)
attack_ai(mob/user as mob)
interact(user)
attack_paw(mob/user as mob)
interact(user)
proc
interact(mob/user)
if (get_dist(src, user) > 1 )
if (!istype(user, /mob/living/silicon/ai))
user.machine = null
user << browse(null, "window=port_gen")
return
user.machine = src
var/dat = text("<b>[name]</b><br>")
if (active)
dat += text("Generator: <A href='?src=\ref[src];action=disable'>On</A><br>")
else
dat += text("Generator: <A href='?src=\ref[src];action=enable'>Off</A><br>")
if(P)
dat += text("Currently loaded plasma tank: [P.air_contents.toxins]<br>")
else
dat += text("No plasma tank currently loaded.<br>")
dat += text("Power output: <A href='?src=\ref[src];action=lower_power'>-</A> [power_gen * power_output] <A href='?src=\ref[src];action=higher_power'>+</A><br>")
dat += text("Heat: [heat]<br>")
dat += "<br><A href='?src=\ref[src];action=close'>Close</A>"
user << browse("[dat]", "window=port_gen")
Topic(href, href_list)
if(..())
return
src.add_fingerprint(usr)
if(href_list["action"])
if(href_list["action"] == "enable")
if(!active && HasFuel() && !crit_fail)
active = 1
icon_state = "portgen1"
src.updateUsrDialog()
if(href_list["action"] == "disable")
if (active)
active = 0
icon_state = "portgen0"
src.updateUsrDialog()
if(href_list["action"] == "lower_power")
if (power_output > 1)
power_output--
src.updateUsrDialog()
if (href_list["action"] == "higher_power")
if (power_output < 4 || emagged)
power_output++
src.updateUsrDialog()
if (href_list["action"] == "close")
usr << browse(null, "window=port_gen")
usr.machine = null
+39 -6
View File
@@ -116,12 +116,23 @@
/obj/machinery/power/port_gen/pacman/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/micro_laser(src)
component_parts += new /obj/item/stack/cable_coil(src, 1)
component_parts += new /obj/item/stack/cable_coil(src, 1)
component_parts += new /obj/item/weapon/stock_parts/capacitor(src)
component_parts += new board_path(src)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
component_parts += new /obj/item/weapon/stock_parts/micro_laser(null)
component_parts += new /obj/item/stack/cable_coil(null, 1)
component_parts += new /obj/item/stack/cable_coil(null, 1)
component_parts += new /obj/item/weapon/stock_parts/capacitor(null)
component_parts += new board_path(null)
RefreshParts()
/obj/machinery/power/port_gen/pacman/upgraded/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/stock_parts/matter_bin/super(null)
component_parts += new /obj/item/weapon/stock_parts/micro_laser/ultra(null)
component_parts += new /obj/item/stack/cable_coil(null, 1)
component_parts += new /obj/item/stack/cable_coil(null, 1)
component_parts += new /obj/item/weapon/stock_parts/capacitor/super(null)
component_parts += new board_path(null)
RefreshParts()
/obj/machinery/power/port_gen/pacman/Destroy()
@@ -370,6 +381,17 @@
sheet_name = "Uranium Sheets"
time_per_sheet = 576 //same power output, but a 50 sheet stack will last 2 hours at max safe power
board_path = /obj/item/weapon/circuitboard/pacman/super
/obj/machinery/power/port_gen/pacman/super/upgraded/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/stock_parts/matter_bin/super(null)
component_parts += new /obj/item/weapon/stock_parts/micro_laser/ultra(null)
component_parts += new /obj/item/stack/cable_coil(null, 1)
component_parts += new /obj/item/stack/cable_coil(null, 1)
component_parts += new /obj/item/weapon/stock_parts/capacitor/super(null)
component_parts += new board_path(null)
RefreshParts()
/obj/machinery/power/port_gen/pacman/super/UseFuel()
//produces a tiny amount of radiation when in use
@@ -405,6 +427,17 @@
max_temperature = 800
temperature_gain = 90
board_path = /obj/item/weapon/circuitboard/pacman/mrs
/obj/machinery/power/port_gen/pacman/mrs/upgraded/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/stock_parts/matter_bin/super(null)
component_parts += new /obj/item/weapon/stock_parts/micro_laser/ultra(null)
component_parts += new /obj/item/stack/cable_coil(null, 1)
component_parts += new /obj/item/stack/cable_coil(null, 1)
component_parts += new /obj/item/weapon/stock_parts/capacitor/super(null)
component_parts += new board_path(null)
RefreshParts()
/obj/machinery/power/port_gen/pacman/mrs/explode()
//no special effects, but the explosion is pretty big (same as a supermatter shard).
+19 -7
View File
@@ -295,13 +295,25 @@
/obj/machinery/chem_dispenser/constructable/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/chem_dispenser(src)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/manipulator(src)
component_parts += new /obj/item/weapon/stock_parts/capacitor(src)
component_parts += new /obj/item/weapon/stock_parts/console_screen(src)
component_parts += new /obj/item/weapon/stock_parts/cell/super(src)
component_parts += new /obj/item/weapon/circuitboard/chem_dispenser(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
component_parts += new /obj/item/weapon/stock_parts/capacitor(null)
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
component_parts += new /obj/item/weapon/stock_parts/cell/super(null)
RefreshParts()
/obj/machinery/chem_dispenser/constructable/upgraded/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/chem_dispenser(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin/super(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin/super(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator/pico(null)
component_parts += new /obj/item/weapon/stock_parts/capacitor/super(null)
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
component_parts += new /obj/item/weapon/stock_parts/cell/hyper(null)
RefreshParts()
/obj/machinery/chem_dispenser/constructable/RefreshParts()
+11 -3
View File
@@ -14,9 +14,17 @@
/obj/machinery/chem_heater/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/chem_heater(src)
component_parts += new /obj/item/weapon/stock_parts/micro_laser(src)
component_parts += new /obj/item/weapon/stock_parts/console_screen(src)
component_parts += new /obj/item/weapon/circuitboard/chem_heater(null)
component_parts += new /obj/item/weapon/stock_parts/micro_laser(null)
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
RefreshParts()
/obj/machinery/chem_heater/upgraded/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/chem_heater(null)
component_parts += new /obj/item/weapon/stock_parts/micro_laser/ultra(null)
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
RefreshParts()
/obj/machinery/chem_heater/RefreshParts()
+17 -6
View File
@@ -34,13 +34,24 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
/obj/machinery/r_n_d/circuit_imprinter/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/circuit_imprinter(src)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/manipulator(src)
component_parts += new /obj/item/weapon/reagent_containers/glass/beaker(src)
component_parts += new /obj/item/weapon/reagent_containers/glass/beaker(src)
component_parts += new /obj/item/weapon/circuitboard/circuit_imprinter(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
component_parts += new /obj/item/weapon/reagent_containers/glass/beaker(null)
component_parts += new /obj/item/weapon/reagent_containers/glass/beaker(null)
RefreshParts()
reagents.my_atom = src
reagents.my_atom = null
/obj/machinery/r_n_d/circuit_imprinter/upgraded/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/circuit_imprinter(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin/super(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator/pico(null)
component_parts += new /obj/item/weapon/reagent_containers/glass/beaker/large(null)
component_parts += new /obj/item/weapon/reagent_containers/glass/beaker/large(null)
RefreshParts()
reagents.my_atom = null
/obj/machinery/r_n_d/circuit_imprinter/RefreshParts()
var/T = 0
@@ -9,7 +9,7 @@
build_type = PROTOLATHE
materials = list("$metal" = 3000, "$glass" = 1000, "$diamond" = 3750) //Yes, a whole diamond is needed.
reliability_base = 79
build_path = /obj/item/weapon/pickaxe/diamonddrill
build_path = /obj/item/weapon/pickaxe/drill/diamonddrill
category = list("Mining")
/datum/design/pick_diamond
@@ -22,6 +22,15 @@ Note: Must be placed within 3 tiles of the R&D Console
component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
component_parts += new /obj/item/weapon/stock_parts/micro_laser(null)
RefreshParts()
/obj/machinery/r_n_d/destructive_analyzer/upgraded/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/destructive_analyzer(null)
component_parts += new /obj/item/weapon/stock_parts/scanning_module/phasic(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator/pico(null)
component_parts += new /obj/item/weapon/stock_parts/micro_laser/ultra(null)
RefreshParts()
/obj/machinery/r_n_d/destructive_analyzer/RefreshParts()
var/T = 0
+21 -7
View File
@@ -42,13 +42,27 @@ Note: Must be placed west/left of and R&D console to function.
/obj/machinery/r_n_d/protolathe/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/protolathe(src)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/manipulator(src)
component_parts += new /obj/item/weapon/stock_parts/manipulator(src)
component_parts += new /obj/item/weapon/reagent_containers/glass/beaker(src)
component_parts += new /obj/item/weapon/reagent_containers/glass/beaker(src)
component_parts += new /obj/item/weapon/circuitboard/protolathe(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
component_parts += new /obj/item/weapon/reagent_containers/glass/beaker/large(null)
component_parts += new /obj/item/weapon/reagent_containers/glass/beaker/large(null)
RefreshParts()
reagents.my_atom = src
/obj/machinery/r_n_d/protolathe/upgraded/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/protolathe(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin/super(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin/super(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator/pico(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator/pico(null)
component_parts += new /obj/item/weapon/reagent_containers/glass/beaker/large(null)
component_parts += new /obj/item/weapon/reagent_containers/glass/beaker/large(null)
RefreshParts()
reagents.my_atom = src
+14 -5
View File
@@ -17,12 +17,21 @@
/obj/machinery/r_n_d/server/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/rdserver(src)
component_parts += new /obj/item/weapon/stock_parts/scanning_module(src)
component_parts += new /obj/item/stack/cable_coil(src,1)
component_parts += new /obj/item/stack/cable_coil(src,1)
component_parts += new /obj/item/weapon/circuitboard/rdserver(null)
component_parts += new /obj/item/weapon/stock_parts/scanning_module(null)
component_parts += new /obj/item/stack/cable_coil(null,1)
component_parts += new /obj/item/stack/cable_coil(null,1)
RefreshParts()
initialize(); //Agouri
/obj/machinery/r_n_d/server/upgraded/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/rdserver(null)
component_parts += new /obj/item/weapon/stock_parts/scanning_module/phasic(null)
component_parts += new /obj/item/stack/cable_coil(null,1)
component_parts += new /obj/item/stack/cable_coil(null,1)
RefreshParts()
src.initialize(); //Agouri
/obj/machinery/r_n_d/server/Destroy()
griefProtection()
+11
View File
@@ -20,6 +20,17 @@
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
component_parts += new /obj/item/stack/cable_coil(null, 1)
RefreshParts()
/obj/machinery/telepad/upgraded/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/telesci_pad(null)
component_parts += new /obj/item/bluespace_crystal/artificial(null)
component_parts += new /obj/item/bluespace_crystal/artificial(null)
component_parts += new /obj/item/weapon/stock_parts/capacitor/super(null)
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
component_parts += new /obj/item/stack/cable_coil(null, 1)
RefreshParts()
/obj/machinery/telepad/RefreshParts()
var/E