mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-05-18 12:50:29 +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>
75 lines
3.0 KiB
Plaintext
75 lines
3.0 KiB
Plaintext
// Representative icons for each research design
|
|
/datum/asset/spritesheet_batched/research_designs
|
|
name = "design"
|
|
|
|
/datum/asset/spritesheet_batched/research_designs/create_spritesheets()
|
|
for (var/datum/design_techweb/path as anything in subtypesof(/datum/design_techweb))
|
|
if(initial(path.id) == DESIGN_ID_IGNORE)
|
|
continue
|
|
|
|
var/icon_file
|
|
var/icon_state
|
|
var/datum/icon_transformer/transform = null
|
|
|
|
if(initial(path.research_icon) && initial(path.research_icon_state)) //If the design has an icon replacement skip the rest
|
|
icon_file = path::research_icon
|
|
icon_state = path::research_icon_state
|
|
// if (PERFORM_ALL_TESTS(focus_only/invalid_research_designs))
|
|
// if(!icon_exists(icon_file, icon_state))
|
|
// stack_trace("design [path] with icon '[icon_file]' missing state '[icon_state]'")
|
|
// continue
|
|
else
|
|
// construct the icon and slap it into the resource cache
|
|
var/atom/item = initial(path.build_path)
|
|
if (!ispath(item, /atom))
|
|
// biogenerator reagent designs display their default container
|
|
// if(initial(path.make_reagent))
|
|
// var/datum/reagent/reagent = initial(path.make_reagent)
|
|
// item = initial(reagent.default_container)
|
|
// else
|
|
continue // shouldn't happen, but just in case
|
|
|
|
// circuit boards become their resulting machines or computers
|
|
if (ispath(item, /obj/item/circuitboard))
|
|
var/obj/item/circuitboard/C = item
|
|
var/machine = initial(C.build_path)
|
|
if (machine)
|
|
item = machine
|
|
|
|
// GAGS icon short-circuit the rest of the checks
|
|
// if (item::greyscale_config && item::greyscale_colors)
|
|
// insert_icon(path::id, gags_to_universal_icon(item))
|
|
// continue
|
|
// else
|
|
icon_file = item::icon
|
|
|
|
icon_state = item::icon_state
|
|
if(item::color)
|
|
transform = color_transform(item::color)
|
|
// if (PERFORM_ALL_TESTS(focus_only/invalid_research_designs))
|
|
// if(!icon_exists(icon_file, icon_state))
|
|
// stack_trace("design [path] with icon '[icon_file]' missing state '[icon_state]'")
|
|
// continue
|
|
|
|
// computers (and snowflakes) get their screen and keyboard sprites
|
|
if (ispath(item, /obj/machinery/computer) || ispath(item, /obj/machinery/power/solar_control))
|
|
if(!transform)
|
|
transform = new()
|
|
var/obj/machinery/computer/C = item
|
|
var/screen = initial(C.icon_screen)
|
|
var/keyboard = initial(C.icon_keyboard)
|
|
var/all_states = icon_states_fast(icon_file)
|
|
if (screen && (screen in all_states))
|
|
transform.blend_icon(uni_icon(icon_file, screen), ICON_OVERLAY)
|
|
if (keyboard && (keyboard in all_states))
|
|
transform.blend_icon(uni_icon(icon_file, keyboard), ICON_OVERLAY)
|
|
|
|
// Materials are snowflakes that use blended colors for some stacks
|
|
if(ispath(item, /obj/item/stack/material))
|
|
var/obj/item/stack/material/mat = item
|
|
if(mat::apply_colour)
|
|
var/datum/material/material = GET_MATERIAL_REF(mat::default_type)
|
|
transform = color_transform(material::icon_colour)
|
|
|
|
insert_icon(sanitize_css_class_name(initial(path.id)), uni_icon(icon_file, icon_state, transform=transform))
|