Ratvar will now proselytize stuff that happens to be in space (#21340)

* Ratvar will now proselytize stuff that happens to be in space

* do you hear ratvar singing

* no narsie in ooc

* "

* don't need that

* heir

* bigger stronger more filled with brass
This commit is contained in:
Joan Lung
2016-11-04 09:06:57 +01:00
committed by AnturK
parent 0e5b69fa1f
commit 1a26cf9aa5
10 changed files with 47 additions and 50 deletions
+5
View File
@@ -472,6 +472,11 @@
return new_character
/proc/send_to_playing_players(thing) //sends a whatever to all playing players; use instead of world << where needed
for(var/M in player_list)
if(M && !isnewplayer(M))
M << thing
/proc/window_flash(var/client_or_usr)
if (!client_or_usr)
return
@@ -32,7 +32,7 @@
if(!purpose_fulfilled)
var/area/gate_area = get_area(src)
hierophant_message("<span class='large_brass'><b>A gateway to the Celestial Derelict has fallen at [gate_area.map_name]!</b></span>")
world << sound(null, 0, channel = 8)
send_to_playing_players(sound(null, 0, channel = 8))
if(glow)
qdel(glow)
glow = null
@@ -46,7 +46,7 @@
if(!disassembled)
countdown.stop()
visible_message("<span class='userdanger'>The [src] begins to pulse uncontrollably... you might want to run!</span>")
world << sound('sound/effects/clockcult_gateway_disrupted.ogg', 0, channel = 8, volume = 50)
send_to_playing_players(sound('sound/effects/clockcult_gateway_disrupted.ogg', 0, channel = 8, volume = 50))
make_glow()
glow.icon_state = "clockwork_gateway_disrupted"
resistance_flags |= INDESTRUCTIBLE
@@ -94,27 +94,28 @@
/obj/structure/destructible/clockwork/massive/celestial_gateway/process()
if(!progress_in_seconds || prob(7))
for(var/M in mob_list)
M << "<span class='warning'><b>You hear otherworldly sounds from the [dir2text(get_dir(get_turf(M), get_turf(src)))]...</span>"
for(var/M in player_list)
if(M && !isnewplayer(M))
M << "<span class='warning'><b>You hear otherworldly sounds from the [dir2text(get_dir(get_turf(M), get_turf(src)))]...</span>"
if(!obj_integrity)
return 0
progress_in_seconds += GATEWAY_SUMMON_RATE
switch(progress_in_seconds)
if(-INFINITY to GATEWAY_REEBE_FOUND)
if(!first_sound_played)
world << sound('sound/effects/clockcult_gateway_charging.ogg', 1, channel = 8, volume = 30)
send_to_playing_players(sound('sound/effects/clockcult_gateway_charging.ogg', 1, channel = 8, volume = 30))
first_sound_played = TRUE
make_glow()
glow.icon_state = "clockwork_gateway_charging"
if(GATEWAY_REEBE_FOUND to GATEWAY_RATVAR_COMING)
if(!second_sound_played)
world << sound('sound/effects/clockcult_gateway_active.ogg', 1, channel = 8, volume = 35)
send_to_playing_players(sound('sound/effects/clockcult_gateway_active.ogg', 1, channel = 8, volume = 35))
second_sound_played = TRUE
make_glow()
glow.icon_state = "clockwork_gateway_active"
if(GATEWAY_RATVAR_COMING to GATEWAY_RATVAR_ARRIVAL)
if(!third_sound_played)
world << sound('sound/effects/clockcult_gateway_closing.ogg', 1, channel = 8, volume = 40)
send_to_playing_players(sound('sound/effects/clockcult_gateway_closing.ogg', 1, channel = 8, volume = 40))
third_sound_played = TRUE
make_glow()
glow.icon_state = "clockwork_gateway_closing"
@@ -125,7 +126,7 @@
purpose_fulfilled = TRUE
make_glow()
animate(glow, transform = matrix() * 1.5, alpha = 255, time = 125)
world << sound('sound/effects/ratvar_rises.ogg', 0, channel = 8) //End the sounds
send_to_playing_players(sound('sound/effects/ratvar_rises.ogg', 0, channel = 8)) //End the sounds
sleep(125)
make_glow()
animate(glow, transform = matrix() * 3, alpha = 0, time = 5)
@@ -138,10 +139,10 @@
else
addtimer(SSshuttle.emergency, "request", 0, FALSE, null, 0) //call the shuttle immediately
sleep(3)
world << "<span class='ratvar'>\"[text2ratvar("Behold")]!\"</span>\n<span class='inathneq_large'>\"[text2ratvar("See Engine's mercy")]!\"</span>\n\
send_to_playing_players("<span class='ratvar'>\"[text2ratvar("Behold")]!\"</span>\n<span class='inathneq_large'>\"[text2ratvar("See Engine's mercy")]!\"</span>\n\
<span class='sevtug_large'>\"[text2ratvar("Observe Engine's design skills")]!\"</span>\n<span class='nezbere_large'>\"[text2ratvar("Behold Engine's light")]!!\"</span>\n\
<span class='nzcrentr_large'>\"[text2ratvar("Gaze upon Engine's power")]!\"</span>"
world << 'sound/magic/clockwork/invoke_general.ogg'
<span class='nzcrentr_large'>\"[text2ratvar("Gaze upon Engine's power")]!\"</span>")
send_to_playing_players('sound/magic/clockwork/invoke_general.ogg')
var/x0 = startpoint.x
var/y0 = startpoint.y
for(var/I in spiral_range_turfs(255, startpoint))
@@ -149,7 +150,7 @@
if(!T)
continue
var/dist = cheap_hypotenuse(T.x, T.y, x0, y0)
if(dist < 60)
if(dist < 100)
dist = TRUE
else
dist = FALSE
@@ -19,8 +19,8 @@
for(var/obj/item/clockwork/ratvarian_spear/R in all_clockwork_objects)
R.update_force()
START_PROCESSING(SSobj, src)
world << "<span class='ratvar'>\"[text2ratvar("ONCE AGAIN MY LIGHT SHALL SHINE ACROSS THIS PATHETIC REALM")]!!\"</span>"
world << 'sound/effects/ratvar_reveal.ogg'
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')
var/image/alert_overlay = image('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)
@@ -31,7 +31,7 @@
for(var/obj/item/clockwork/ratvarian_spear/R in all_clockwork_objects)
R.update_force()
STOP_PROCESSING(SSobj, src)
world << "<span class='heavy_brass'><font size=6>\"NO! I will not... be...</font> <font size=5>banished...</font> <font size=4>again...\"</font></span>"
send_to_playing_players("<span class='heavy_brass'><font size=6>\"NO! I will not... be...</font> <font size=5>banished...</font> <font size=4>again...\"</font></span>")
return ..()
/obj/structure/destructible/clockwork/massive/ratvar/attack_ghost(mob/dead/observer/O)
@@ -103,11 +103,12 @@
var/winner = "Undeclared"
var/base_victory_chance = 1
while(src && narsie)
world << 'sound/magic/clockwork/ratvar_attack.ogg'
send_to_playing_players('sound/magic/clockwork/ratvar_attack.ogg')
sleep(5.2)
for(var/mob/M in mob_list)
flash_color(M, flash_color="#966400", flash_time=1)
shake_camera(M, 4, 3)
if(!isnewplayer(M))
flash_color(M, flash_color="#966400", flash_time=1)
shake_camera(M, 4, 3)
var/ratvar_chance = min(ticker.mode.servants_of_ratvar.len, 50)
var/narsie_chance = ticker.mode.cult.len
for(var/mob/living/simple_animal/hostile/construct/harvester/C in player_list)
@@ -118,26 +119,27 @@
winner = "Ratvar"
break
sleep(rand(2,5))
world << 'sound/magic/clockwork/narsie_attack.ogg'
send_to_playing_players('sound/magic/clockwork/narsie_attack.ogg')
sleep(7.4)
for(var/mob/M in mob_list)
flash_color(M, flash_color="#C80000", flash_time=1)
shake_camera(M, 4, 3)
if(!isnewplayer(M))
flash_color(M, flash_color="#C80000", flash_time=1)
shake_camera(M, 4, 3)
if(narsie_chance > ratvar_chance)
winner = "Nar-Sie"
break
base_victory_chance *= 2 //The clash has a higher chance of resolving each time both gods attack one another
switch(winner)
if("Ratvar")
world << "<span class='heavy_brass'><font size=5>\"[pick("DIE! DIE! DIE!", "FILTH!!!", "SUFFER!!!", text2ratvar("ROT FOR CENTURIES AS I HAVE!!"))]\"</font></span>" //nar-sie get out
world << "<span class='cult'><font size=5>\"<b>[pick("Nooooo...", "Not die. To y-", "Die. Ratv-", "Sas tyen re-")]\"</b></font></span>"
world << 'sound/magic/clockwork/anima_fragment_attack.ogg'
world << 'sound/magic/demon_dies.ogg'
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')
clashing = FALSE
qdel(narsie)
if("Nar-Sie")
world << "<span class='cult'><font size=5>\"<b>[pick("Ha.", "Ra'sha fonn dest.", "You fool. To come here.")]</b>\"</font></span>" //Broken English
world << 'sound/magic/demon_attack1.ogg'
world << 'sound/magic/clockwork/anima_fragment_death.ogg'
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')
narsie.clashing = FALSE
qdel(src)
+1 -1
View File
@@ -500,7 +500,7 @@ var/list/teleport_runes = list()
//BEGIN THE SUMMONING
used = 1
..()
world << 'sound/effects/dimensional_rend.ogg' //There used to be a message for this but every time it was changed it got edgier so I removed it
send_to_playing_players('sound/effects/dimensional_rend.ogg') //There used to be a message for this but every time it was changed it got edgier so I removed it
var/turf/T = get_turf(src)
sleep(40)
if(src)
+1 -4
View File
@@ -174,10 +174,7 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
var/converted = (prob(40) || force)
if(converted)
ChangeTurf(/turf/open/floor/clockwork)
for(var/I in src)
var/atom/A = I
if(ismob(A) || converted)
A.ratvar_act()
..(converted)
/turf/open/floor/initialize()
..()
@@ -148,10 +148,6 @@
new/obj/item/clockwork/alloy_shards/medium(src)
return ..()
/turf/open/floor/clockwork/ratvar_act()
for(var/mob/M in src)
M.ratvar_act()
/turf/open/floor/clockwork/narsie_act()
..()
if(istype(src, /turf/open/floor/clockwork)) //if we haven't changed type
@@ -94,10 +94,6 @@
return 1
return ..()
/turf/closed/wall/clockwork/ratvar_act()
for(var/mob/M in src)
M.ratvar_act()
/turf/closed/wall/clockwork/narsie_act()
..()
if(istype(src, /turf/closed/wall/clockwork)) //if we haven't changed type
+1 -4
View File
@@ -259,10 +259,7 @@
var/converted = (prob(40) || force)
if(converted)
ChangeTurf(/turf/closed/wall/clockwork)
for(var/I in src)
var/atom/A = I
if(ismob(A) || converted)
A.ratvar_act()
..(converted)
/turf/closed/wall/storage_contents_dump_act(obj/item/weapon/storage/src_object, mob/user)
return 0
+6 -3
View File
@@ -286,9 +286,12 @@
if(A.level >= affecting_level)
A.ex_act(severity, target)
/turf/ratvar_act()
for(var/mob/M in src)
M.ratvar_act()
/turf/ratvar_act(force)
var/converted = (prob(40) || force)
for(var/I in src)
var/atom/A = I
if(ismob(A) || converted)
A.ratvar_act()
/turf/proc/add_blueprints(atom/movable/AM)
var/image/I = new
+2 -2
View File
@@ -25,8 +25,8 @@
/obj/singularity/narsie/large/New()
..()
world << "<span class='narsie'>NAR-SIE HAS RISEN</span>"
world << pick('sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg')
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'))
var/area/A = get_area(src)
if(A)