mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-12 00:27:31 +01:00
Explosions severing cable networks cause nearby(ish) connected rooms's lights to flicker. Also reduces cable integrity. (#91263)
## About The Pull Request - If a cable is destroyed by an explosion, all rooms within 64-100 (it's a probability) tiles AND which are connected to the same powernet as the split cable will have their lights flicker 1-3 times. - Also adds a verb for visualizing powernets. - Reduces cable integrity from 300 to 50. - Cables have innate 75% bomb armor when under a floor tile. ## Why It's Good For The Game - A big devastating explosion a few doors down is, usually, not felt at all outside of the screen shake. This adds a bit more ambience to the effect - you hear a big explosion, your screen goes wild, and the lights cut for just a second. - Verb just makes it easier to trace powernets. - I found it a little ridiculous that cables have 300 integrity, the same as most furniture. This ultimately makes them a lot more vulnerable to stuff like acid and fire. - To compensate for their drastically reduced integrity, I gave cables a considerable boost to explosive resistance while concealed under the floor. This prevents bombs from outright shredding all cables in a 50 mile radius. (Devastating explosions will still one-tap them, but heavy explosions will on average take two blasts.) ## Changelog 🆑 Melbert add: If a cable is destroyed by an explosion, all rooms within 64-100 (it's a probability) tiles AND which are connected to the same powernet as the split cable will have their lights flicker 1-3 times. balance: Cable integrity has been reduced from 300 to 50 balance: Cables have an innate 75% bomb resistance while under floor tiles /🆑
This commit is contained in:
@@ -956,6 +956,39 @@ ADMIN_VERB(debug_mc_dependencies, R_DEBUG, "Debug MC Dependencies", "Debug MC de
|
||||
var/datum/mc_dependency_ui/data = new /datum/mc_dependency_ui()
|
||||
data.ui_interact(usr)
|
||||
|
||||
ADMIN_VERB(show_powernets, R_DEBUG, "Color Powernet Runs", "Colors every node and cable of every powernet in a different color.", ADMIN_CATEGORY_DEBUG)
|
||||
var/removing = FALSE
|
||||
for(var/obj/effect/abstract/marker/powernet/marker in GLOB.all_abstract_markers)
|
||||
qdel(marker)
|
||||
removing = TRUE
|
||||
|
||||
if(removing)
|
||||
return
|
||||
|
||||
var/list/colors = GLOB.carp_colors.Copy()
|
||||
|
||||
if(length(colors) < length(SSmachines.powernets))
|
||||
message_admins("[SSmachines.powernets.len] powernets exist - [length(colors)] colors available - Some powernets will be the same color!")
|
||||
|
||||
for(var/datum/powernet/net as anything in SSmachines.powernets)
|
||||
if(!length(colors))
|
||||
colors = GLOB.carp_colors.Copy()
|
||||
|
||||
var/selected_color = pick_n_take(colors)
|
||||
for(var/atom/component as anything in net.nodes + net.cables)
|
||||
var/turf/component_turf = get_turf(component)
|
||||
var/existing = FALSE
|
||||
for(var/obj/effect/abstract/marker/powernet/existing_marker in component_turf)
|
||||
if(existing_marker.powernet_owner != REF(net))
|
||||
continue
|
||||
existing = TRUE
|
||||
break
|
||||
if(existing)
|
||||
continue
|
||||
var/obj/effect/abstract/marker/powernet/marker = new(component_turf)
|
||||
marker.color = selected_color
|
||||
marker.powernet_owner = REF(net)
|
||||
|
||||
ADMIN_VERB(count_instances, R_DEBUG, "Count Atoms/Datums", "Count how many atom or datum instances there are of each type, then output it to a JSON to download.", ADMIN_CATEGORY_DEBUG)
|
||||
var/option = tgui_alert(user, "What type of instances do you wish to count?", "Instance Count", list("Atoms", "Datums"))
|
||||
if(!option)
|
||||
|
||||
Reference in New Issue
Block a user