mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-11 16:08:32 +01:00
Merge pull request #711 from ArchieBeepBoop/LETSFUCKINGOOOOOOOOO
Resonance Cascade SM Delam + SM Beam graphic update
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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 |
Reference in New Issue
Block a user