This commit is contained in:
zerothebigboy
2021-05-23 15:29:20 -04:00
189 changed files with 5866 additions and 1941 deletions
+4
View File
@@ -96,6 +96,10 @@ Class Procs:
flags_ricochet = RICOCHET_HARD
ricochet_chance_mod = 0.3
explosion_flags = EXPLOSION_FLAG_DENSITY_DEPENDENT
wave_explosion_block = EXPLOSION_BLOCK_MACHINE
wave_explosion_multiply = EXPLOSION_DAMPEN_MACHINE
anchored = TRUE
interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND | INTERACT_ATOM_UI_INTERACT
@@ -79,10 +79,12 @@
if (obj_flags & EMAGGED)
return
obj_flags |= EMAGGED
SSshuttle.shuttle_purchase_requirements_met |= "emagged"
if (authenticated)
authorize_access = get_all_accesses()
to_chat(user, "<span class='danger'>You scramble the communication routing circuits!</span>")
playsound(src, 'sound/machines/terminal_alert.ogg', 50, FALSE)
SSshuttle.shuttle_purchase_requirements_met["emagged"] = TRUE
return
/obj/machinery/computer/communications/ui_act(action, list/params)
+2
View File
@@ -54,6 +54,8 @@
assemblytype = /obj/structure/door_assembly
normalspeed = 1
explosion_block = 1
wave_explosion_block = EXPLOSION_BLOCK_WALL
wave_explosion_multiply = EXPLOSION_DAMPEN_WALL
hud_possible = list(DIAG_AIRLOCK_HUD)
interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON | INTERACT_MACHINE_REQUIRES_SILICON | INTERACT_MACHINE_OPEN
+10
View File
@@ -16,6 +16,11 @@
interaction_flags_atom = INTERACT_ATOM_UI_INTERACT
wave_explosion_block = EXPLOSION_BLOCK_DENSE_FILLER
wave_explosion_multiply = EXPLOSION_DAMPEN_DENSE_FILLER
explosion_flags = EXPLOSION_FLAG_HARD_OBSTACLE | EXPLOSION_FLAG_DENSITY_DEPENDENT
var/secondsElectrified = 0
var/air_tight = FALSE //TRUE means density will be set as soon as the door begins to close
var/shockedby
@@ -412,3 +417,8 @@
/obj/machinery/door/GetExplosionBlock()
return density ? real_explosion_block : 0
/obj/machinery/door/wave_explosion_damage(power, datum/wave_explosion/explosion)
. = ..()
if(!density)
return . * EXPLOSION_DAMAGE_OPEN_DOOR_FACTOR
@@ -71,3 +71,6 @@
/obj/machinery/door/password/ex_act(severity, target)
return
/obj/machinery/door/password/wave_ex_act(power, datum/wave_explosion/explosion, dir)
return 0 //no.
+2
View File
@@ -8,6 +8,8 @@
closingLayer = CLOSED_BLASTDOOR_LAYER
sub_door = TRUE
explosion_block = 3
wave_explosion_block = EXPLOSION_BLOCK_BLAST_PROOF
wave_explosion_multiply = EXPLOSION_DAMPEN_BLAST_PROOF
heat_proof = TRUE
safe = FALSE
max_integrity = 600
+2
View File
@@ -360,6 +360,8 @@
max_integrity = 300 //Stronger doors for prison (regular window door health is 200)
reinf = 1
explosion_block = 1
wave_explosion_block = EXPLOSION_BLOCK_REINFORCED_WINDOW
wave_explosion_multiply = EXPLOSION_DAMPEN_REINFORCED_WINDOW
/obj/machinery/door/window/brigdoor/security/cell
name = "cell door"
+38
View File
@@ -114,6 +114,44 @@ GLOBAL_LIST_EMPTY(doppler_arrays)
LAZYADD(message_log, messages.Join(" "))
return TRUE
/obj/machinery/doppler_array/proc/sense_wave_explosion(turf/epicenter, power, speed)
if(stat & NOPOWER)
return FALSE
var/turf/zone = get_turf(src)
if(zone.z != epicenter.z)
return FALSE
if(next_announce > world.time)
return FALSE
next_announce = world.time + cooldown
var/distance = get_dist(epicenter, zone)
var/direct = get_dir(zone, epicenter)
if(distance > max_dist)
return FALSE
if(!(direct & dir) && !integrated)
return FALSE
var/list/messages = list("Explosive shockwave detected.", \
"Epicenter at: grid ([epicenter.x],[epicenter.y]). Shockwave expanding at a theoretical speed of [speed] m/s.", \
"Wave energy: [power]MJ.")
if(integrated)
var/obj/item/clothing/head/helmet/space/hardsuit/helm = loc
if(!helm || !istype(helm, /obj/item/clothing/head/helmet/space/hardsuit))
return FALSE
helm.display_visor_message("Waveform explosion detected! Wave energy: [power]MJ.")
else
for(var/message in messages)
say(message)
if(LAZYLEN(message_log) > list_limit)
say("Storage buffer is full! Clearing buffers...")
LAZYCLEARLIST(message_log)
LAZYADD(message_log, messages.Join(" "))
return TRUE
/obj/machinery/doppler_array/examine(mob/user)
. = ..()
. += "<span class='notice'>Its dish is facing to the [dir2text(dir)].</span>"