Merge pull request #711 from ArchieBeepBoop/LETSFUCKINGOOOOOOOOO

Resonance Cascade SM Delam + SM Beam graphic update
This commit is contained in:
QuoteFox
2020-11-25 04:20:56 +00:00
committed by GitHub
6 changed files with 52 additions and 10 deletions
+29 -2
View File
@@ -21,6 +21,27 @@
hostile_types = list(/mob/living/simple_animal/hostile/construct/armored/hostile = 8,\
/mob/living/simple_animal/hostile/construct/wraith/hostile = 6)
/datum/round_event_control/portal_storm_mesa
name = "Portal Storm: Mesa"
typepath = /datum/round_event/portal_storm/portal_storm_mesa
weight = 0
max_occurrences = 0
/datum/round_event/portal_storm/portal_storm_mesa
boss_types = list(/mob/living/simple_animal/hostile/jungle/leaper = 4, \
/mob/living/simple_animal/hostile/jungle/mega_arachnid = 6, \
/mob/living/simple_animal/hostile/asteroid/hivelord = 5)
hostile_types = list(/mob/living/carbon/alien/larva = 2, \
/mob/living/simple_animal/hostile/netherworld = 8, \
/mob/living/simple_animal/hostile/asteroid/fugu = 7, \
/mob/living/simple_animal/hostile/asteroid/basilisk = 8, \
/mob/living/simple_animal/hostile/asteroid/gutlunch = 7, \
/mob/living/simple_animal/hostile/statue = 6, \
/mob/living/simple_animal/hostile/zombie = 12, \
/mob/living/simple_animal/hostile/netherworld/migo = 10, \
/mob/living/simple_animal/hostile/netherworld/blankbody = 6
)
/datum/round_event/portal_storm
startWhen = 7
endWhen = 999
@@ -35,6 +56,12 @@
var/number_of_hostiles
var/mutable_appearance/storm
/datum/round_event/portal_storm/portal_storm_mesa/setup()
. = ..()
storm = mutable_appearance('hyperstation/icons/obj/stationobjs.dmi', "fart_hole", FLY_LAYER)//Why do I do these things??
for(var/mob/M in GLOB.player_list)
SEND_SOUND(M, 'sound/music/half-life07.ogg')
/datum/round_event/portal_storm/setup()
storm = mutable_appearance('icons/obj/tesla_engine/energy_ball.dmi', "energy_ball_fast", FLY_LAYER)
storm.color = "#00FF00"
@@ -48,10 +75,10 @@
number_of_hostiles += hostile_types[hostile]
while(number_of_bosses > boss_spawn.len)
boss_spawn += get_random_station_turf()
boss_spawn += get_safe_random_station_turf()
while(number_of_hostiles > hostiles_spawn.len)
hostiles_spawn += get_random_station_turf()
hostiles_spawn += get_safe_random_station_turf()
next_boss_spawn = startWhen + CEILING(2 * number_of_hostiles / number_of_bosses, 1)
+23 -8
View File
@@ -66,6 +66,9 @@
#define SUPERMATTER_COUNTDOWN_TIME 30 SECONDS
#define DEFAULT_ZAP_STATE "sm_arc"
#define MESA_ZAP_STATE "sm_arc_mesa" //You know what this is
GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
/obj/machinery/power/supermatter_crystal
@@ -284,12 +287,18 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
SEND_SOUND(M, 'sound/magic/charge.ogg')
to_chat(M, "<span class='boldannounce'>You feel reality distort for a moment...</span>")
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "delam", /datum/mood_event/delam)
if(combined_gas > MOLE_PENALTY_THRESHOLD)
if(QDELETED(src))//If something fucks up we just end it.
return
if(combined_gas > MOLE_PENALTY_THRESHOLD && power > CRITICAL_POWER_PENALTY_THRESHOLD)
investigate_log("has collapsed into a resonance cascade.", INVESTIGATE_SUPERMATTER)
var/datum/round_event_control/portal_storm_mesa/cascade = new()
cascade.runEvent()
else if(combined_gas > MOLE_PENALTY_THRESHOLD)
investigate_log("has collapsed into a singularity.", INVESTIGATE_SUPERMATTER)
if(T)
var/obj/singularity/S = new(T)
S.energy = 800
S.consume(src)
var/obj/singularity/S = new(T)
S.energy = 800
S.consume(src)
return //No boom for me sir
else
investigate_log("has exploded.", INVESTIGATE_SUPERMATTER)
explosion(get_turf(T), explosion_power * max(gasmix_power_ratio, 0.205) * 0.5 , explosion_power * max(gasmix_power_ratio, 0.205) + 2, explosion_power * max(gasmix_power_ratio, 0.205) + 4 , explosion_power * max(gasmix_power_ratio, 0.205) + 6, 1, 1)
@@ -460,7 +469,11 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
if(power > SEVERE_POWER_PENALTY_THRESHOLD)
supermatter_zap(src, 5, min(power*2, 20000))
if(power > CRITICAL_POWER_PENALTY_THRESHOLD)
supermatter_zap(src, 5, min(power*2, 20000))
if(combined_gas >= MOLE_PENALTY_THRESHOLD)
playsound(src.loc, 'hyperstation/sound/halflife/beamstart5.ogg', 100, 1, extrarange = 10)
supermatter_zap(src, 5, min(power*2, 20000), MESA_ZAP_STATE)
else
supermatter_zap(src, 5, min(power*2, 20000))
else if (damage > damage_penalty_point && prob(20))
playsound(src.loc, 'sound/weapons/emitter2.ogg', 100, 1, extrarange = 10)
supermatter_zap(src, 5, CLAMP(power*2, 4000, 20000))
@@ -500,6 +513,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
if(combined_gas > MOLE_PENALTY_THRESHOLD)
radio.talk_into(src, "Warning: Critical coolant mass reached.", engineering_channel)
if(power > CRITICAL_POWER_PENALTY_THRESHOLD)
radio.talk_into(src, "Warning: Anti-mass spectrometer showing a five percent gain.", engineering_channel)
if(damage > explosion_point)
countdown()
@@ -775,7 +790,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
if(PYRO_ANOMALY)
new /obj/effect/anomaly/pyro(L, 200)
/obj/machinery/power/supermatter_crystal/proc/supermatter_zap(atom/zapstart, range = 3, power)
/obj/machinery/power/supermatter_crystal/proc/supermatter_zap(atom/zapstart, range = 3, power, zap_state = DEFAULT_ZAP_STATE)
. = zapstart.dir
if(power < 1000)
return
@@ -816,7 +831,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
target_atom = A
if(target_atom)
zapstart.Beam(target_atom, icon_state="nzcrentrs_power", time=5)
zapstart.Beam(target_atom, icon_state=zap_state, time=5)
var/zapdir = get_dir(zapstart, target_atom)
if(zapdir)
. = zapdir
Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 119 KiB