mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
@@ -20,6 +20,17 @@
|
||||
world << "<B>The current game mode is - Meteor!</B>"
|
||||
world << "<B>The space station has been stuck in a major meteor shower. You must escape from the station or at least live.</B>"
|
||||
|
||||
/datum/universal_state/meteor_storm
|
||||
name = "Meteor Storm"
|
||||
desc = "Meteors are currently running havoc around this sector. Better get out of here quickly"
|
||||
|
||||
decay_rate = 0 // Just to make sure
|
||||
|
||||
/datum/universal_state/meteor_storm/OnShuttleCall(var/mob/user)
|
||||
if(user)
|
||||
user << "<span class='notice'>You hear an automatic dispatch from Nanostraten. It states that Centcomm is being shielded due to the incoming meteor storm and regular shuttle service has been interrupted.</span>"
|
||||
return 0
|
||||
|
||||
/datum/game_mode/meteor/post_setup()
|
||||
defer_powernet_rebuild = 2//Might help with the lag
|
||||
|
||||
@@ -38,6 +49,7 @@
|
||||
emergency_shuttle.incall(meteorshuttlemultiplier)
|
||||
captain_announce("A backup emergency shuttle has been called. It will arrive in [round((emergency_shuttle.timeleft())/60)] minutes.")
|
||||
world << sound('sound/AI/shuttlecalled.ogg')
|
||||
SetUniversalState(/datum/universal_state/meteor_storm)
|
||||
|
||||
spawn(supplydelay)
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
max_i--
|
||||
if(max_i<=0) return
|
||||
|
||||
while(!istype(pickedstart, /turf/space) || pickedstart.loc.name != "Space" || (pickedstart.loc.name == "Emergency Shuttle Transit" && emergency_shuttle.direction != -1))
|
||||
while(!istype(pickedstart, /turf/space) || pickedstart.loc.name != "Space")
|
||||
|
||||
var/obj/effect/meteor/M
|
||||
switch(rand(1, 100))
|
||||
@@ -101,7 +101,7 @@
|
||||
if(A)
|
||||
A.meteorhit(src)
|
||||
playsound(get_turf(src), "explosion", 40, 1) //Medium boom
|
||||
explosion(src.loc, 1, 2, 4, 8) //Medium meteor, medium boom
|
||||
explosion(src.loc, 1, 2, 4, 8, 0) //Medium meteor, medium boom
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/meteor/ex_act(severity)
|
||||
@@ -123,7 +123,7 @@
|
||||
if(A)
|
||||
A.meteorhit(src)
|
||||
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 30, 1)
|
||||
explosion(src.loc, -1, 1, 2, 4) //Tiny meteor doesn't cause too much damage
|
||||
explosion(src.loc, -1, 1, 2, 4, 0) //Tiny meteor doesn't cause too much damage
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -141,11 +141,11 @@
|
||||
if(!M.stat && !istype(M, /mob/living/silicon/ai)) //bad idea to shake an ai's view
|
||||
shake_camera(M, 7, 3) //Massive shellshock
|
||||
if(A)
|
||||
explosion(src.loc, 4, 6, 8, 8) //You have been visited by the nuclear meteor
|
||||
explosion(src.loc, 4, 6, 8, 8, 0) //You have been visited by the nuclear meteor
|
||||
playsound(get_turf(src), "explosion", 100, 1) //Deafening boom, default is 50
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/meteor/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/pickaxe))
|
||||
qdel(src)
|
||||
..()
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user