mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 15:08:02 +01:00
robotic fabricator
This commit is contained in:
@@ -37,7 +37,7 @@
|
||||
"aK" = (/turf/space,/area/awaymission/syndishuttle)
|
||||
"aL" = (/obj/machinery/recharge_station,/turf/simulated/floor/plasteel,/area/awaymission/northblock)
|
||||
"aM" = (/obj/structure/table,/turf/simulated/floor/plasteel,/area/awaymission/northblock)
|
||||
"aN" = (/obj/machinery/robotic_fabricator,/turf/simulated/floor/plasteel,/area/awaymission/northblock)
|
||||
"aN" = (/obj/machinery/mecha_part_fabricator/robot,/turf/simulated/floor/plasteel,/area/awaymission/northblock)
|
||||
"aO" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (EAST)"; icon_state = "propulsion_r"; dir = 4},/turf/space,/area/awaymission/syndishuttle)
|
||||
"aP" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/turf/simulated/floor/plating/airless,/area/awaymission/syndishuttle)
|
||||
"aQ" = (/turf/simulated/floor/plating/airless,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
|
||||
|
||||
@@ -1,146 +0,0 @@
|
||||
/obj/machinery/robotic_fabricator
|
||||
name = "Robotic Fabricator"
|
||||
icon = 'icons/obj/robotics.dmi'
|
||||
icon_state = "fab-idle"
|
||||
density = 1
|
||||
anchored = 1
|
||||
var/metal_amount = 0
|
||||
var/operating = 0
|
||||
var/obj/item/robot_parts/being_built = null
|
||||
use_power = 1
|
||||
idle_power_usage = 20
|
||||
active_power_usage = 5000
|
||||
|
||||
/obj/machinery/robotic_fabricator/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
|
||||
if(istype(O, /obj/item/stack/sheet/metal))
|
||||
if(src.metal_amount < 150000.0)
|
||||
var/count = 0
|
||||
src.overlays += "fab-load-metal"
|
||||
spawn(15)
|
||||
if(O)
|
||||
if(!O:amount)
|
||||
return
|
||||
while(metal_amount < 150000 && O:amount)
|
||||
src.metal_amount += O:materials[MAT_METAL] /*O:height * O:width * O:length * 100000.0*/
|
||||
O:amount--
|
||||
count++
|
||||
|
||||
if(O:amount < 1)
|
||||
qdel(O)
|
||||
|
||||
to_chat(user, "You insert [count] metal sheet\s into the fabricator.")
|
||||
src.overlays -= "fab-load-metal"
|
||||
updateDialog()
|
||||
else
|
||||
to_chat(user, "The robot part maker is full. Please remove metal from the robot part maker in order to insert more.")
|
||||
|
||||
/obj/machinery/robotic_fabricator/power_change()
|
||||
if(powered())
|
||||
stat &= ~NOPOWER
|
||||
else
|
||||
stat |= NOPOWER
|
||||
|
||||
/obj/machinery/robotic_fabricator/attack_hand(user as mob)
|
||||
var/dat
|
||||
if(..())
|
||||
return
|
||||
|
||||
if(src.operating)
|
||||
dat = {"
|
||||
<TT>Building [src.being_built.name].<BR>
|
||||
Please wait until completion...</TT><BR>
|
||||
<BR>
|
||||
"}
|
||||
else
|
||||
dat = {"
|
||||
<B>Metal Amount:</B> [min(150000, src.metal_amount)] cm<sup>3</sup> (MAX: 150,000)<BR><HR>
|
||||
<BR>
|
||||
<A href='?src=[UID()];make=1'>Left Arm (25,000 cc metal.)<BR>
|
||||
<A href='?src=[UID()];make=2'>Right Arm (25,000 cc metal.)<BR>
|
||||
<A href='?src=[UID()];make=3'>Left Leg (25,000 cc metal.)<BR>
|
||||
<A href='?src=[UID()];make=4'>Right Leg (25,000 cc metal).<BR>
|
||||
<A href='?src=[UID()];make=5'>Chest (50,000 cc metal).<BR>
|
||||
<A href='?src=[UID()];make=6'>Head (50,000 cc metal).<BR>
|
||||
<A href='?src=[UID()];make=7'>Robot Frame (75,000 cc metal).<BR>
|
||||
"}
|
||||
|
||||
user << browse("<HEAD><TITLE>Robotic Fabricator Control Panel</TITLE></HEAD><TT>[dat]</TT>", "window=robot_fabricator")
|
||||
onclose(user, "robot_fabricator")
|
||||
return
|
||||
|
||||
/obj/machinery/robotic_fabricator/Topic(href, href_list)
|
||||
if(..())
|
||||
return
|
||||
|
||||
usr.set_machine(src)
|
||||
src.add_fingerprint(usr)
|
||||
|
||||
if(href_list["make"])
|
||||
if(!src.operating)
|
||||
var/part_type = text2num(href_list["make"])
|
||||
|
||||
var/build_type = ""
|
||||
var/build_time = 200
|
||||
var/build_cost = 25000
|
||||
|
||||
switch(part_type)
|
||||
if(1)
|
||||
build_type = "/obj/item/robot_parts/l_arm"
|
||||
build_time = 200
|
||||
build_cost = 10000
|
||||
|
||||
if(2)
|
||||
build_type = "/obj/item/robot_parts/r_arm"
|
||||
build_time = 200
|
||||
build_cost = 10000
|
||||
|
||||
if(3)
|
||||
build_type = "/obj/item/robot_parts/l_leg"
|
||||
build_time = 200
|
||||
build_cost = 10000
|
||||
|
||||
if(4)
|
||||
build_type = "/obj/item/robot_parts/r_leg"
|
||||
build_time = 200
|
||||
build_cost = 10000
|
||||
|
||||
if(5)
|
||||
build_type = "/obj/item/robot_parts/chest"
|
||||
build_time = 350
|
||||
build_cost = 40000
|
||||
|
||||
if(6)
|
||||
build_type = "/obj/item/robot_parts/head"
|
||||
build_time = 350
|
||||
build_cost = 5000
|
||||
|
||||
if(7)
|
||||
build_type = "/obj/item/robot_parts/robot_suit"
|
||||
build_time = 600
|
||||
build_cost = 15000
|
||||
|
||||
var/building = text2path(build_type)
|
||||
if(!isnull(building))
|
||||
if(src.metal_amount >= build_cost)
|
||||
src.operating = 1
|
||||
src.use_power = 2
|
||||
|
||||
src.metal_amount = max(0, src.metal_amount - build_cost)
|
||||
|
||||
src.being_built = new building(src)
|
||||
|
||||
src.overlays += "fab-active"
|
||||
src.updateUsrDialog()
|
||||
|
||||
spawn (build_time)
|
||||
if(!isnull(src.being_built))
|
||||
src.being_built.loc = get_turf(src)
|
||||
src.being_built = null
|
||||
src.use_power = 1
|
||||
src.operating = 0
|
||||
src.overlays -= "fab-active"
|
||||
return
|
||||
|
||||
for(var/mob/M in viewers(1, src))
|
||||
if(M.client && M.machine == src)
|
||||
src.attack_hand(M)
|
||||
@@ -454,11 +454,14 @@
|
||||
|
||||
/obj/machinery/mecha_part_fabricator/spacepod
|
||||
name = "spacepod fabricator"
|
||||
desc = "Nothing is being built."
|
||||
fabricator_type = PODFAB
|
||||
part_sets = list( "Pod_Weaponry",
|
||||
"Pod_Armor",
|
||||
"Pod_Cargo",
|
||||
"Pod_Parts",
|
||||
"Pod_Frame",
|
||||
"Misc")
|
||||
"Misc")
|
||||
|
||||
/obj/machinery/mecha_part_fabricator/robot
|
||||
name = "Robotic Fabricator"
|
||||
part_sets = list("Cyborg")
|
||||
@@ -586,7 +586,6 @@
|
||||
#include "code\game\machinery\rechargestation.dm"
|
||||
#include "code\game\machinery\recycler.dm"
|
||||
#include "code\game\machinery\requests_console.dm"
|
||||
#include "code\game\machinery\robot_fabricator.dm"
|
||||
#include "code\game\machinery\shieldgen.dm"
|
||||
#include "code\game\machinery\Sleeper.dm"
|
||||
#include "code\game\machinery\slotmachine.dm"
|
||||
|
||||
Reference in New Issue
Block a user