diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm
index c773fe45fde..5d171eb26fe 100644
--- a/code/game/objects/structures/ghost_role_spawners.dm
+++ b/code/game/objects/structures/ghost_role_spawners.dm
@@ -77,7 +77,7 @@
..()
/obj/effect/mob_spawn/human/exile/special(mob/living/new_spawn)
- new_spawn.real_name = "[new_spawn.real_name] ([rand(0,999)])"
+ new_spawn.real_name = "Wish Granter's Victim ([rand(0,999)])"
var/wish = rand(1,4)
switch(wish)
if(1)
@@ -223,6 +223,10 @@
flavour_text = "Good. It seems as though your ship crashed. You're a prisoner, sentenced to hard work in one of Nanotrasen's labor camps, but it seems as \
though fate has other plans for you. You remember that you were convicted of "
+/obj/effect/mob_spawn/human/prisoner_transport/special(mob/living/L)
+ L.real_name = "NTP #LL-0[rand(111,999)]" //Nanotrasen Prisoner #Lavaland-(numbers)
+ L.name = L.real_name
+
/obj/effect/mob_spawn/human/prisoner_transport/New()
var/list/crimes = list("murder", "larceny", "embezzlement", "unionization", "dereliction of duty", "kidnapping", "gross incompetence", "grand theft", "collaboration with the Syndicate", \
"worship of a forbidden deity", "interspecies relations", "mutiny")
diff --git a/code/modules/mining/lavaland/weather.dm b/code/modules/mining/lavaland/weather.dm
index 411d3593c0a..33eb1e4e6b7 100644
--- a/code/modules/mining/lavaland/weather.dm
+++ b/code/modules/mining/lavaland/weather.dm
@@ -42,8 +42,9 @@
if(start_up_sound)
M << start_up_sound
sleep(start_up_time)
- stage = MAIN_STAGE
- weather_main()
+ if(src && stage != MAIN_STAGE)
+ stage = MAIN_STAGE
+ weather_main()
/datum/weather/proc/weather_main()
@@ -63,8 +64,9 @@
storm_act(L)
sleep(10)
- stage = WIND_DOWN_STAGE
- weather_wind_down()
+ if(src && stage != WIND_DOWN_STAGE)
+ stage = WIND_DOWN_STAGE
+ weather_wind_down()
/datum/weather/proc/weather_wind_down()
@@ -76,8 +78,9 @@
M << wind_down_sound
sleep(wind_down)
- stage = END_STAGE
- update_areas()
+ if(src && stage != END_STAGE)
+ stage = END_STAGE
+ update_areas()
/datum/weather/proc/storm_act(mob/living/L)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
index 43cdedbfcd5..c4ae6eefecf 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
@@ -123,7 +123,7 @@
/obj/item/weapon/staff_of_storms/attack_self(mob/user)
if(storm_cooldown > world.time)
- user << "The staff is still recharging."
+ user << "The staff is still recharging!"
return
if(!linked_machine || linked_machine.z != user.z)
@@ -134,18 +134,21 @@
if(linked_machine && linked_machine.ongoing_weather)
if(linked_machine.ongoing_weather.stage == WIND_DOWN_STAGE || linked_machine.ongoing_weather.stage == END_STAGE)
- user << "The storm is already ending. It would be a waste to use the staff now."
+ user << "The storm is already ending. It would be a waste to use the staff now."
return
- linked_machine.ongoing_weather.duration = 0
- user << "With an appropriately dramatic flourish, you dispell the storm."
- playsound(get_turf(src),'sound/magic/Staff_Change.ogg', 200, 1)
+ user.visible_message("[user] holds [src] skywards, causing its orb to flare!", \
+ "With an appropriately dramatic flourish, you dispel the storm!")
+ playsound(get_turf(src),'sound/magic/Staff_Change.ogg', 200, 0)
storm_cooldown = world.time + 600
+ linked_machine.ongoing_weather.stage = WIND_DOWN_STAGE
+ linked_machine.ongoing_weather.weather_wind_down()
else if (linked_machine && !linked_machine.ongoing_weather)
- user << "You lift the staff towards the heavens, calling down a terrible storm."
- linked_machine.weather_cooldown = 0
- playsound(get_turf(src),'sound/magic/Staff_Change.ogg', 200, 1)
+ user.visible_message("[user] holds [src] skywards, causing its orb to flare!", \
+ "You lift your staff skywards, calling down a terrible storm!")
+ playsound(get_turf(src),'sound/magic/Staff_Chaos.ogg', 200, 0)
storm_cooldown = world.time + 600
+ linked_machine.weather_cooldown = 0
else
user << "You can't seem to control the weather here."
diff --git a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
index 10faa35f0ae..ba9ce6555a4 100644
--- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
+++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
@@ -9,8 +9,6 @@
opacity = 1
bound_width = 96
bound_height = 96
- pixel_x = -32
- bound_x = -32
burn_state = LAVA_PROOF
luminosity = 1
var/boss = FALSE
@@ -47,8 +45,7 @@
if(M.z == z)
M << "Discordant whispers flood your mind in a thousand voices. Each one speaks your name, over and over. Something horrible has come."
M << 'sound/creatures/legion_spawn.ogg'
- if(M.client)
- flash_color(M, color = "#FF0000", time = 50)
+ flash_color(M, flash_color = "#FF0000", flash_time = 50)
notify_ghosts("Legion has been summoned in the [get_area(src)]!", source = src, action = NOTIFY_ORBIT)
is_anyone_home = FALSE
new/mob/living/simple_animal/hostile/megafauna/legion(get_step(src.loc, SOUTH))