mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-14 16:44:33 +01:00
The NGCR: Nuclear Fission Reactor (#30493)
* 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>
This commit is contained in:
@@ -110,10 +110,9 @@ RESTRICT_TYPE(/obj/machinery/cooking)
|
||||
return
|
||||
var/datum/cooking_surface/surface = surfaces[surface_idx]
|
||||
|
||||
var/list/surface_options = list(
|
||||
RADIAL_ACTION_SET_ALARM = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_setalarm"),
|
||||
RADIAL_ACTION_ON_OFF = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_onoff"),
|
||||
)
|
||||
var/list/surface_options = list(RADIAL_ACTION_SET_ALARM = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_setalarm"))
|
||||
if(surface.allow_toggling)
|
||||
surface_options[RADIAL_ACTION_ON_OFF] = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_onoff")
|
||||
if(surface.allow_temp_change)
|
||||
surface_options[RADIAL_ACTION_SET_TEMPERATURE] = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_settemp")
|
||||
var/option_choice = show_radial_menu(user, src, surface_options, require_near = TRUE)
|
||||
|
||||
@@ -15,6 +15,7 @@ RESTRICT_TYPE(/datum/cooking_surface)
|
||||
var/on = FALSE
|
||||
var/prob_quality_decrease = 0
|
||||
var/allow_temp_change = TRUE
|
||||
var/allow_toggling = TRUE
|
||||
VAR_PRIVATE/burn_callback
|
||||
VAR_PRIVATE/fire_callback
|
||||
VAR_PRIVATE/alarm_callback
|
||||
|
||||
@@ -60,7 +60,8 @@
|
||||
|
||||
/obj/machinery/cooking/grill/examine(mob/user)
|
||||
. = ..()
|
||||
. += SPAN_NOTICE("It contains [round(stored_wood, 0.01)]/[wood_maximum] units of charcoal.")
|
||||
if(wood_maximum != INFINITY)
|
||||
. += SPAN_NOTICE("It contains [round(stored_wood, 0.01)]/[wood_maximum] units of charcoal.")
|
||||
. += SPAN_NOTICE("<b>Ctrl-Click</b> on a surface to set its timer, temperature, and toggle it on or off.")
|
||||
|
||||
/obj/machinery/cooking/grill/process()
|
||||
@@ -207,3 +208,65 @@
|
||||
surface.container = new /obj/item/reagent_containers/cooking/grill_grate(src)
|
||||
stored_wood = 30
|
||||
update_appearance()
|
||||
|
||||
/obj/machinery/cooking/grill/loaded/reactor
|
||||
icon_state = "blank"
|
||||
wood_maximum = INFINITY
|
||||
active_power_consumption = 0
|
||||
idle_power_consumption = 0
|
||||
flags = INDESTRUCTIBLE
|
||||
/// The reactor that the grill is attached to
|
||||
var/obj/machinery/atmospherics/fission_reactor/linked_reactor
|
||||
|
||||
/obj/machinery/cooking/grill/loaded/reactor/Initialize(mapload)
|
||||
. = ..()
|
||||
stored_wood = INFINITY
|
||||
var/datum/cooking_surface/surface = surfaces[1]
|
||||
surface.container.pixel_x = -16
|
||||
surface.container.pixel_y = 0
|
||||
surface.container.transform = matrix().Scale(1.35, 1.35)
|
||||
surface.allow_toggling = FALSE
|
||||
surface = surfaces[2]
|
||||
surface.container.pixel_x = 16
|
||||
surface.container.pixel_y = 0
|
||||
surface.container.transform = matrix().Scale(1.35, 1.35)
|
||||
surface.allow_toggling = FALSE
|
||||
|
||||
/obj/machinery/cooking/grill/loaded/reactor/attack_hand(mob/user, params)
|
||||
var/mob/living/carbon/human/burn_victim = user
|
||||
if(istype(burn_victim) && !burn_victim.gloves)
|
||||
var/which_hand = "l_hand"
|
||||
if(!burn_victim.hand)
|
||||
which_hand = "r_hand"
|
||||
burn_victim.adjustFireLossByPart(5, which_hand)
|
||||
to_chat(burn_victim, SPAN_WARNING("Your hand is burned as you try to remove the grill grate, but its stuck firmly!"))
|
||||
else if(istype(burn_victim))
|
||||
to_chat(burn_victim, SPAN_WARNING("You try to remove the grill grate, but its stuck firmly!"))
|
||||
|
||||
// We dont want most of the normal proc for shutting off.
|
||||
/obj/machinery/cooking/grill/loaded/reactor/ignite()
|
||||
new /obj/effect/fire(loc, T0C + 300, (roll("2d10+15") SECONDS), 1)
|
||||
|
||||
// Chance of spreading
|
||||
var/spread_count = rand(1, 3)
|
||||
if(prob(30))
|
||||
var/list/dirs = GLOB.alldirs.Copy()
|
||||
while(spread_count && length(dirs))
|
||||
var/direction = pick_n_take(dirs)
|
||||
var/turf/T = get_step(src, direction)
|
||||
if(T.density)
|
||||
continue
|
||||
new /obj/effect/fire(T, T0C + 300, (roll("2d10+15") SECONDS), 1)
|
||||
spread_count--
|
||||
|
||||
// we want our icons in a specific spot
|
||||
/obj/machinery/cooking/grill/loaded/reactor/update_surface_icon(surface_idx)
|
||||
var/datum/cooking_surface/surface = surfaces[surface_idx]
|
||||
|
||||
if(!surface.container)
|
||||
return
|
||||
|
||||
add_to_visible(surface.container, surface_idx)
|
||||
|
||||
/obj/machinery/cooking/grill/loaded/reactor/update_overlays()
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user