mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 04:57:12 +01:00
* coefficient balancing * damage and meltdowns * meltdown stuff * alert stuff * lots of work - whew * some enrichment code * rod encrichmnt * working on enrichment * more fabrication * rod fab * start to the nuke * overload sprites * overload code work * some overload tweaking * small tweak * coolant ejections and QOL things * overheat events + ripley gripper * rebase + venting code * save before rebase * some pre-work for rods * finishing the base rods * fixed my dme * de linting * tiny lint fix * more lint fixes * linting * linting * linting * linting * linting * temp delint * temp delint * undo TM stuff + minor fix * didnt save * some fixes * fixes * fixes and engine repair * fixed broken durability decay * LOTS of things * tgui * lint * linter * linter * minor shit * Update boxstation.dmm * major refactors and fixes * saved this * critical testing tweaks and fixes * fixes and tweaks * smithing start * forgot to save * craftables + grill start * saved * fix * more grill work * Update tgui.bundle.js * linter * linter * fixes * rod fabricator initial * cooking work * push * soundwork * sound work tweak * comments + sounds + toxins gen rework * lots of work * sprite stuff * deconflicting * delinting * bundle rebuild * prettier * feex * fuck you OD * who asked? * update to tgui * another edit to tgui * finish tgui * remove debug metadata button * rod tweaks for tgui * Update code/datums/uplink_items/uplink_traitor.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/game/mecha/equipment/tools/work_tools.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/game/mecha/equipment/tools/work_tools.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/game/objects/items/robot/cyborg_gripper.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/mob/living/simple_animal/parrot.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/mob/living/simple_animal/parrot.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/mob/living/simple_animal/parrot.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/mob/living/simple_animal/parrot.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/power/engines/fission/nuclear_misc.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/power/engines/fission/nuclear_misc.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/power/engines/fission/nuclear_misc.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/power/engines/fission/nuclear_rods.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/power/engines/fission/nuclear_rods.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/power/engines/fission/reactor.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/power/engines/fission/reactor.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/power/engines/fission/nuclear_rods.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/power/engines/fission/nuclear_rods.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/power/engines/fission/nuclear_rods.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/power/engines/fission/reactor.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/smithing/components/misc_components.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/power/engines/fission/nuclear_rods.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update tgui/packages/tgui/interfaces/NuclearRodFabricator.jsx Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Spans * tgui build * rod redo * improve tgui for fabricator * sprites and centrifuge/fab work * tgui update * spritework * cyberiad + hydrogen conversion * kerberos + counter * Update code/modules/power/engines/fission/nuclear_rods.dm Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * sprite + fab tweak * tgui bundle * lintering * bugfixing * linting * linting * event tweak * add missing gases to fission monitor * issue fixing * sprite/overlay fixes * mapping * stations again * space lattice * tine tweak * linter * no rod alerts * buttons * loose wire * make it so you can interact through rod casings and the uhh big thing in the center, what's that called again * fixes * door fix * many bug fixes + crates * fab ghost touch * water convert + maint sprite + fixes * pack changes + neighbor fix * doors rename * didnt save * hydrogen fix * map tweaks * repair fixes + corium LETHALITY * upped broken rad damage * pipe rename + overload icons * more roundstart moderators * rod tree tweaks * tweaks * pack and enrichment fixes * misc tweaks and fixes * fixes: Density, circuits, coolant offline negation * Apply suggestions from code review Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * review changes * linter + fix * reviews and fixes * LOTS of tweaks and changes * supermatter kit * spacematter balance * tgui * fixes and tweaks * didnt save this * mapping + smith fix * cargo rods arnt radioactive til opened * Apply suggestions from code review Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * review items * fixes * linters * moving components out of nullspace * examine fix * Update tgui.bundle.js * explosion nerf and minor fix * Apply suggestions from code review Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * reviews * map fix + ripley rad immune * Apply suggestions from code review Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * review * fix chamber examine * tweaks + rod fab disk drop * Apply suggestions from code review Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * review changes * Update code/modules/power/engines/fission/nuclear_rods.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * fixes * tgui bundle * small rod tweaks * Update code/game/machinery/computer/buildandrepair.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/smithing/components/reactor_components.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/power/engines/fission/reactor_machines.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/power/engines/fission/reactor_machines.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * reviews * Update code/modules/power/engines/fission/reactor_machines.dm Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> --------- Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Co-authored-by: Paul <pmerkamp@gmail.com> Co-authored-by: Pooble <90473506+poobsie@users.noreply.github.com> Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
104 lines
3.7 KiB
Plaintext
104 lines
3.7 KiB
Plaintext
/datum/nuclear_rod_design
|
|
var/type_path
|
|
var/category = "Unknown"
|
|
var/list/metadata
|
|
|
|
/datum/nuclear_rod_design/proc/build_metadata_list(path)
|
|
metadata = list()
|
|
type_path = path
|
|
|
|
var/obj/item/nuclear_rod/T = path
|
|
|
|
metadata["name"] = initial(T.name)
|
|
metadata["desc"] = initial(T.desc)
|
|
metadata["icon"] = initial(T.icon)
|
|
metadata["icon_state"] = initial(T.icon_state)
|
|
metadata["type_path"] = path
|
|
|
|
metadata["max_durability"] = initial(T.max_durability)
|
|
metadata["degradation_speed"] = initial(T.degradation_speed)
|
|
metadata["heat_amount"] = initial(T.heat_amount)
|
|
metadata["heat_amp_mod"] = initial(T.heat_amp_mod)
|
|
metadata["power_amount"] = initial(T.power_amount)
|
|
metadata["power_amp_mod"] = initial(T.power_amp_mod)
|
|
metadata["alpha_rad"] = initial(T.alpha_rad)
|
|
metadata["beta_rad"] = initial(T.beta_rad)
|
|
metadata["gamma_rad"] = initial(T.gamma_rad)
|
|
metadata["minimum_temp_modifier"] = initial(T.minimum_temp_modifier)
|
|
metadata["upgrade_required"] = initial(T.upgrade_required)
|
|
|
|
metadata["required_object"] = initial(T.required_object)
|
|
|
|
// Temp object lets us read in materials and adjacent requirements because you can't initial() a list
|
|
var/obj/item/nuclear_rod/temp_rod = new path()
|
|
var/list/raw_materials = temp_rod.materials
|
|
var/list/requirements = temp_rod.adjacent_requirements
|
|
qdel(temp_rod)
|
|
|
|
if(raw_materials && length(raw_materials))
|
|
var/list/formatted_materials = list()
|
|
for(var/mat_id in raw_materials)
|
|
var/display_name = CallMaterialName(mat_id)
|
|
formatted_materials[display_name] = raw_materials[mat_id]
|
|
metadata["materials"] = formatted_materials
|
|
else
|
|
metadata["materials"] = list()
|
|
|
|
if(ispath(path, /obj/item/nuclear_rod/fuel))
|
|
var/obj/item/nuclear_rod/fuel/F = path
|
|
metadata["craftable"] = initial(F.craftable)
|
|
metadata["enrichment_cycles"] = initial(F.enrichment_cycles)
|
|
metadata["power_enrich_threshold"] = initial(F.power_enrich_threshold)
|
|
metadata["heat_enrich_threshold"] = initial(F.heat_enrich_threshold)
|
|
|
|
// Get enrichment result names
|
|
if(initial(F.power_enrich_result))
|
|
var/obj/item/nuclear_rod/power_result = initial(F.power_enrich_result)
|
|
metadata["power_enrichment"] = initial(power_result.name)
|
|
metadata["power_enrichment_requirement"] = initial(F.power_enrich_threshold)
|
|
else
|
|
metadata["power_enrichment"] = null
|
|
metadata["power_enrichment_requirement"] = null
|
|
|
|
if(initial(F.heat_enrich_result))
|
|
var/obj/item/nuclear_rod/heat_result = initial(F.heat_enrich_result)
|
|
metadata["heat_enrichment"] = initial(heat_result.name)
|
|
metadata["heat_enrichment_requirement"] = initial(F.heat_enrich_threshold)
|
|
else
|
|
metadata["heat_enrichment"] = null
|
|
metadata["heat_enrichment_requirement"] = null
|
|
else if(ispath(path, /obj/item/nuclear_rod/moderator))
|
|
var/obj/item/nuclear_rod/moderator/M = path
|
|
metadata["craftable"] = initial(M.craftable)
|
|
else if(ispath(path, /obj/item/nuclear_rod/coolant))
|
|
var/obj/item/nuclear_rod/coolant/C = path
|
|
metadata["craftable"] = initial(C.craftable)
|
|
else
|
|
metadata["craftable"] = FALSE
|
|
|
|
if(requirements && length(requirements))
|
|
var/list/temp_reqs = list()
|
|
var/list/req_counts = list()
|
|
|
|
// Count occurrences of each requirement type
|
|
for(var/req_path in requirements)
|
|
var/obj/item/nuclear_rod/req = req_path
|
|
var/req_name = initial(req.name)
|
|
if(req_counts[req_name])
|
|
req_counts[req_name]++
|
|
else
|
|
req_counts[req_name] = 1
|
|
|
|
// Format the requirements with counts
|
|
for(var/req_name in req_counts)
|
|
var/count = req_counts[req_name]
|
|
temp_reqs += "[count]x [req_name]"
|
|
|
|
metadata["neighbor_requirements"] = temp_reqs
|
|
metadata["adjacent_requirements_display"] = english_list(temp_reqs, and_text = ", ")
|
|
else
|
|
metadata["neighbor_requirements"] = list()
|
|
metadata["adjacent_requirements_display"] = "None"
|
|
|
|
return TRUE
|