mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-05-23 23:27:56 +01:00
0c8488b0ae
* testing makes me feel good * invalid lists * get rid of those boards * show expected mats * oop * error * wip techweb porting * more techweb entries * ported too * disable those for now * okay nevermind i guess * already exists * assemblies * moar * welding helmet * many entries * lol tg * fix test * again * fixagain * more moved * update techweb test * catch that too * screeee * more fixes * missing announcement * orphaned sleevecard * some more fixing * test * more * oops * glasses * illegal icons * non starting * it's starting * messed up * cleanup * more generic stuff * morrrreee * the plastic set * oops * correct value * barbed wires * more cleaning * many more * gone * cleanup * no longer * do not allow duped designs * it's own node * proper order no dupes * last of the broken nodes * fix bad path * cleanup * more test more limits * gone * almost done * these are gone * syringe gun * bioregenerator design * all moved * organized and webbed * more fixes * oops * cleaning up * organization * clean up * organize * organized * didn't save * wrong mat * adds many missing ammo types * svd doesn't exist * 10mm pistol added * magazines not casings * these are pistols * this is used by like, one weapon * m1 is ancient * this is hunting * extremely botched untested lathe * disk junk * rough foundations * slowly converting * slowly building this * local materials * almost * big reorganization * more cleanup * more cleaning * lathe stuff * small fixes * oops * many fixes * mat fix * more fixes * actually isolate the hacked designs * protolathe hacking * imprinter hacking * missing ammos * sheet printing for autolathe * fixs * again * fixed test * test test * fix * fix * WHY * fix it... * here we go * material print * on turf * body disk * consistant name * Many weapons to hacked lathe * missing node * wrong section * fixes * this list should be unified * ammo boxes * don't do single shells anymore * wat * specifics * snowflake * not needed * already available * pickaxe too * tweak * removed unneeded node * missing surgery items * Apply suggestion from @Cameron-The-Raven * Adds RMS * typo * illegal needs hacked * disabled material weapons * circuit testing * STRING TEST * test * fixing some things * huh? * hidden circuits * some flakey boards * grammar * fixes * more hidden * wrong board * security cams * alert consoles * spaceheater is simple enough to not have one * pcus * cargo vendors * tcomms stuff * solar tracker circuit * artifact stuff * SM stuff * illegal machines * med machines * no longer needed * more stuff * these are not standard * moreeee * doppler and more * organized * finishing * oop * use the define * inheret * dopper fixes * space heater * doing some organization * explain the var * some tweaks * wrong one * fixed test * material test too * simple roto gens * use the define * emergency power node * tgui fixes for icons * not needed * color blended material designs * icons for large research * oops * unshit that * use stack here * center math * . * . * . * . * . * unifi * fix these * NO COPYPASTA * ILLEEGGALLL * mandate descriptions * agony * actually lets do this * use macros * description * desc * desc * desc * desc * desc * desc * gps desc * telecomms component desc --------- Co-authored-by: Cameron Lennox <killer65311@gmail.com> Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
60 lines
1.8 KiB
Plaintext
60 lines
1.8 KiB
Plaintext
/obj/item/circuitboard
|
|
name = "circuit board"
|
|
icon = 'icons/obj/module.dmi'
|
|
icon_state = "id_mod"
|
|
origin_tech = list(TECH_DATA = 2)
|
|
density = FALSE
|
|
anchored = FALSE
|
|
w_class = ITEMSIZE_SMALL
|
|
force = 5.0
|
|
throwforce = 5.0
|
|
throw_speed = 3
|
|
throw_range = 15
|
|
matter = RECYCLE_CIRCUIT_MATERIALS
|
|
var/build_path = null
|
|
var/board_type = new /datum/frame/frame_types/computer
|
|
var/list/req_components = null
|
|
var/contain_parts = 1
|
|
drop_sound = 'sound/items/drop/device.ogg'
|
|
pickup_sound = 'sound/items/pickup/device.ogg'
|
|
|
|
/// If true, this board should be ignored during the circuitboard printing unit test, and give an examine hint that the board may be hard to get if so.
|
|
var/hidden = FALSE
|
|
|
|
/obj/item/circuitboard/Destroy()
|
|
if(isobject(board_type)) // Some boards use text instead of an instance...
|
|
QDEL_NULL(board_type)
|
|
return ..()
|
|
|
|
//Called when the circuitboard is used to contruct a new machine.
|
|
/obj/item/circuitboard/proc/construct(var/obj/machinery/M)
|
|
if(istype(M, build_path))
|
|
return 1
|
|
return 0
|
|
|
|
//Called when a computer is deconstructed to produce a circuitboard.
|
|
//Only used by computers, as other machines store their circuitboard instance.
|
|
/obj/item/circuitboard/proc/deconstruct(var/obj/machinery/M)
|
|
if(istype(M, build_path))
|
|
return 1
|
|
return 0
|
|
|
|
//Should be called from the constructor of any machine to automatically populate the default parts
|
|
/obj/item/circuitboard/proc/apply_default_parts(var/obj/machinery/M)
|
|
if(!istype(M))
|
|
return
|
|
if(!req_components)
|
|
return
|
|
M.component_parts = list()
|
|
for(var/comp_path in req_components)
|
|
var/comp_amt = req_components[comp_path]
|
|
if(!comp_amt)
|
|
continue
|
|
|
|
if(ispath(comp_path, /obj/item/stack))
|
|
M.component_parts += new comp_path(contain_parts ? M : null, comp_amt)
|
|
else
|
|
for(var/i in 1 to comp_amt)
|
|
M.component_parts += new comp_path(contain_parts ? M : null)
|
|
return
|