mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-18 19:44:58 +01:00
Cleans up godclash code (#28939)
* Cleans up clash code, adds sound_to_playing_players * Removes some debug code * z-level check * Removes an old thing * Cyberboss changes * changes @ maintainer request
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
O.ratvar_act()
|
||||
START_PROCESSING(SSobj, src)
|
||||
send_to_playing_players("<span class='ratvar'>\"[text2ratvar("ONCE AGAIN MY LIGHT SHALL SHINE ACROSS THIS PATHETIC REALM")]!!\"</span>")
|
||||
send_to_playing_players('sound/effects/ratvar_reveal.ogg')
|
||||
sound_to_playing_players('sound/effects/ratvar_reveal.ogg')
|
||||
var/mutable_appearance/alert_overlay = mutable_appearance('icons/effects/clockwork_effects.dmi', "ratvar_alert")
|
||||
var/area/A = get_area(src)
|
||||
notify_ghosts("The Justiciar's light calls to you! Reach out to Ratvar in [A.name] to be granted a shell to spread his glory!", null, source = src, alert_overlay = alert_overlay)
|
||||
@@ -69,16 +69,19 @@
|
||||
for(var/mob/living/L in GLOB.living_mob_list) //we want to know who's alive so we don't lose and retarget a single person
|
||||
if(L.z == z && !is_servant_of_ratvar(L) && L.mind)
|
||||
meals += L
|
||||
if(GLOB.cult_narsie && GLOB.cult_narsie.z == z)
|
||||
meals = list(GLOB.cult_narsie) //if you're in the way, handy for him, but ratvar only cares about nar-sie!
|
||||
prey = GLOB.cult_narsie
|
||||
if(get_dist(src, prey) <= 10)
|
||||
clash()
|
||||
return
|
||||
if(!prey)
|
||||
for(var/obj/singularity/narsie/N in GLOB.singularities)
|
||||
if(N.z == z)
|
||||
prey = N
|
||||
break
|
||||
if(!prey && LAZYLEN(meals))
|
||||
var/mob/living/L = prey
|
||||
prey = pick(meals)
|
||||
to_chat(prey, "<span class='heavy_brass'><font size=5>\"You will do, heretic.\"</font></span>\n\
|
||||
<span class='userdanger'>You feel something massive turn its crushing focus to you...</span>")
|
||||
prey << 'sound/effects/ratvar_reveal.ogg'
|
||||
L.playsound_local(prey, 'sound/effects/ratvar_reveal.ogg', 100, FALSE, pressure_affected = FALSE)
|
||||
else
|
||||
if((!istype(prey, /obj/singularity/narsie) && prob(10) && LAZYLEN(meals) > 1) || prey.z != z || !(prey in meals))
|
||||
if(is_servant_of_ratvar(prey))
|
||||
@@ -92,18 +95,14 @@
|
||||
dir_to_step_in = get_dir(src, prey) //Unlike Nar-Sie, Ratvar ruthlessly chases down his target
|
||||
step(src, dir_to_step_in)
|
||||
|
||||
/obj/structure/destructible/clockwork/massive/ratvar/narsie_act()
|
||||
if(clashing)
|
||||
return FALSE
|
||||
/obj/structure/destructible/clockwork/massive/ratvar/proc/clash()
|
||||
if(clashing || prey != GLOB.cult_narsie)
|
||||
return
|
||||
clashing = TRUE
|
||||
GLOB.cult_narsie.clashing = TRUE
|
||||
to_chat(world, "<span class='heavy_brass'><font size=5>\"[pick("BLOOD GOD!!!", "NAR-SIE!!!", "AT LAST, YOUR TIME HAS COME!")]\"</font></span>")
|
||||
to_chat(world, "<span class='cult'><font size=5>\"<b>Ratvar?! How?!</b>\"</font></span>")
|
||||
for(var/obj/singularity/narsie/N in range(15, src))
|
||||
if(N.clashing)
|
||||
continue
|
||||
N.clashing = TRUE
|
||||
clash_of_the_titans(N) //IT'S TIME FOR THE BATTLE OF THE AGES
|
||||
break
|
||||
clash_of_the_titans(GLOB.cult_narsie) //IT'S TIME FOR THE BATTLE OF THE AGES
|
||||
return TRUE
|
||||
|
||||
//Put me in Reebe, will you? Ratvar has found and is going to fucking murder Nar-Sie
|
||||
@@ -111,7 +110,7 @@
|
||||
var/winner = "Undeclared"
|
||||
var/base_victory_chance = 1
|
||||
while(src && narsie)
|
||||
send_to_playing_players('sound/magic/clockwork/ratvar_attack.ogg')
|
||||
sound_to_playing_players('sound/magic/clockwork/ratvar_attack.ogg')
|
||||
sleep(5.2)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(!isnewplayer(M))
|
||||
@@ -125,7 +124,7 @@
|
||||
winner = "Ratvar"
|
||||
break
|
||||
sleep(rand(2,5))
|
||||
send_to_playing_players('sound/magic/clockwork/narsie_attack.ogg')
|
||||
sound_to_playing_players('sound/magic/clockwork/narsie_attack.ogg')
|
||||
sleep(7.4)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(!isnewplayer(M))
|
||||
@@ -139,13 +138,13 @@
|
||||
if("Ratvar")
|
||||
send_to_playing_players("<span class='heavy_brass'><font size=5>\"[pick("DIE! DIE! DIE!", "FILTH!!!", "SUFFER!!!", text2ratvar("ROT FOR CENTURIES AS I HAVE!!"))]\"</font></span>\n\
|
||||
<span class='cult'><font size=5>\"<b>[pick("Nooooo...", "Not die. To y-", "Die. Ratv-", "Sas tyen re-")]\"</b></font></span>") //nar-sie get out
|
||||
send_to_playing_players('sound/magic/clockwork/anima_fragment_attack.ogg')
|
||||
send_to_playing_players('sound/magic/demon_dies.ogg')
|
||||
sound_to_playing_players('sound/magic/clockwork/anima_fragment_attack.ogg')
|
||||
sound_to_playing_players('sound/magic/demon_dies.ogg', 50)
|
||||
clashing = FALSE
|
||||
qdel(narsie)
|
||||
if("Nar-Sie")
|
||||
send_to_playing_players("<span class='cult'><font size=5>\"<b>[pick("Ha.", "Ra'sha fonn dest.", "You fool. To come here.")]</b>\"</font></span>") //Broken English
|
||||
send_to_playing_players('sound/magic/demon_attack1.ogg')
|
||||
send_to_playing_players('sound/magic/clockwork/anima_fragment_death.ogg')
|
||||
sound_to_playing_players('sound/magic/demon_attack1.ogg')
|
||||
sound_to_playing_players('sound/magic/clockwork/anima_fragment_death.ogg', 50)
|
||||
narsie.clashing = FALSE
|
||||
qdel(src)
|
||||
|
||||
@@ -80,6 +80,13 @@
|
||||
|
||||
src << S
|
||||
|
||||
/proc/sound_to_playing_players(sound, volume = 100, vary)
|
||||
sound = get_sfx(sound)
|
||||
for(var/M in GLOB.player_list)
|
||||
if(ismob(M) && !isnewplayer(M))
|
||||
var/mob/MO = M
|
||||
MO.playsound_local(get_turf(MO), sound, volume, vary, pressure_affected = FALSE)
|
||||
|
||||
/proc/open_sound_channel()
|
||||
var/static/next_channel = 1 //loop through the available 1024 - (the ones we reserve) channels and pray that its not still being used
|
||||
. = ++next_channel
|
||||
@@ -133,6 +140,8 @@
|
||||
'sound/machines/terminal_button07.ogg', 'sound/machines/terminal_button08.ogg')
|
||||
if ("desceration")
|
||||
soundin = pick('sound/misc/desceration-01.ogg', 'sound/misc/desceration-02.ogg', 'sound/misc/desceration-03.ogg')
|
||||
if ("im_here")
|
||||
soundin = pick('sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg')
|
||||
if ("can_open")
|
||||
soundin = pick('sound/effects/can_open1.ogg', 'sound/effects/can_open2.ogg', 'sound/effects/can_open3.ogg')
|
||||
return soundin
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
/obj/singularity/narsie/large/Initialize()
|
||||
. = ..()
|
||||
send_to_playing_players("<span class='narsie'>NAR-SIE HAS RISEN</span>")
|
||||
send_to_playing_players(pick('sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg'))
|
||||
sound_to_playing_players("im_here")
|
||||
|
||||
var/area/A = get_area(src)
|
||||
if(A)
|
||||
|
||||
Reference in New Issue
Block a user