mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +01:00
Adds some bit running construction qol (#92217)
## About The Pull Request - Closes #92210 1) Bit Forge can be deconstructed with a screwdriver & crowbar like a normal machine 2) Adds examines & screentips for netpod, bitforge(icon for panel open state added) & quantum server on how to deconstruct them. New icon state for when bitforge has its panel open is shown below <img width="210" height="103" alt="Screenshot (497)" src="https://github.com/user-attachments/assets/bb44c78d-1f0e-468f-9a79-ebc5800edd09" /> 3) Moved bitrunning machine designs into files that exist to hold that type of code ## Changelog 🆑 code: moved designs & circuitboards for bitrunning into their correct files qol: adds examines & screentips for bitrunning netpod, bitforge & server on how to deconstruct them fix: bitforge can be deconstructed with a screwdriver & crowbar /🆑
This commit is contained in:
@@ -51,6 +51,9 @@
|
||||
/// Cooldown for how often you're allowed to harass deadchat for PVP domains
|
||||
COOLDOWN_DECLARE(polling_cooldown)
|
||||
|
||||
/obj/machinery/quantum_server/Initialize(mapload)
|
||||
. = ..()
|
||||
register_context()
|
||||
|
||||
/obj/machinery/quantum_server/post_machine_initialize()
|
||||
. = ..()
|
||||
@@ -58,7 +61,6 @@
|
||||
RegisterSignals(src, list(COMSIG_MACHINERY_BROKEN, COMSIG_MACHINERY_POWER_LOST), PROC_REF(on_broken))
|
||||
RegisterSignal(src, COMSIG_QDELETING, PROC_REF(on_delete))
|
||||
|
||||
|
||||
/obj/machinery/quantum_server/Destroy(force)
|
||||
mutation_candidate_refs.Cut()
|
||||
avatar_connection_refs.Cut()
|
||||
@@ -67,11 +69,27 @@
|
||||
QDEL_NULL(generated_domain)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/quantum_server/add_context(atom/source, list/context, obj/item/held_item, mob/user)
|
||||
. = NONE
|
||||
if(isnull(held_item))
|
||||
return
|
||||
|
||||
if(held_item.tool_behaviour == TOOL_SCREWDRIVER)
|
||||
context[SCREENTIP_CONTEXT_LMB] = "[panel_open ? "Close" : "Open"] Panel"
|
||||
return CONTEXTUAL_SCREENTIP_SET
|
||||
else if(held_item.tool_behaviour == TOOL_CROWBAR && panel_open)
|
||||
context[SCREENTIP_CONTEXT_LMB] = "Deconstruct"
|
||||
return CONTEXTUAL_SCREENTIP_SET
|
||||
|
||||
/obj/machinery/quantum_server/examine(mob/user)
|
||||
. = ..()
|
||||
|
||||
. += span_infoplain("Can be resource intensive to run. Ensure adequate power supply.")
|
||||
|
||||
. += span_notice("Its maintainance panel can be [EXAMINE_HINT("screwed")] [panel_open ? "close" : "open"].")
|
||||
if(panel_open)
|
||||
. += span_notice("It can be [EXAMINE_HINT("pried")] apart.")
|
||||
|
||||
var/upgraded = FALSE
|
||||
if(capacitor_coefficient < 1)
|
||||
. += span_infoplain("- Its coolant capacity reduces cooldown time by [(1 - capacitor_coefficient) * 100]%.")
|
||||
@@ -138,29 +156,23 @@
|
||||
|
||||
|
||||
/obj/machinery/quantum_server/crowbar_act(mob/living/user, obj/item/crowbar)
|
||||
. = ..()
|
||||
|
||||
. = NONE
|
||||
if(!is_ready)
|
||||
balloon_alert(user, "it's scalding hot!")
|
||||
return TRUE
|
||||
return ITEM_INTERACT_FAILURE
|
||||
if(length(avatar_connection_refs))
|
||||
balloon_alert(user, "all clients must disconnect!")
|
||||
return TRUE
|
||||
return ITEM_INTERACT_FAILURE
|
||||
if(default_deconstruction_crowbar(crowbar))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
return ITEM_INTERACT_SUCCESS
|
||||
|
||||
/obj/machinery/quantum_server/screwdriver_act(mob/living/user, obj/item/screwdriver)
|
||||
. = ..()
|
||||
|
||||
. = NONE
|
||||
if(!is_ready)
|
||||
balloon_alert(user, "it's scalding hot!")
|
||||
return TRUE
|
||||
if(default_deconstruction_screwdriver(user, "[base_icon_state]_panel", icon_state, screwdriver))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
return ITEM_INTERACT_FAILURE
|
||||
if(default_deconstruction_screwdriver(user, "[base_icon_state]_panel", base_icon_state, screwdriver))
|
||||
return ITEM_INTERACT_SUCCESS
|
||||
|
||||
/obj/machinery/quantum_server/RefreshParts()
|
||||
var/capacitor_rating = 1.15
|
||||
|
||||
Reference in New Issue
Block a user