mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-21 23:52:48 +00:00
This means items now spawn in your hand if possible, items are sorted into categories, and only items you have enough telecrystals to purchase will be displayed. Also, the same basic code is now used for PDA, headset and nuke- round uplinks, and it should be easier to add new items. Revision: r3216 Author: musketstgstation
74 lines
2.3 KiB
Plaintext
74 lines
2.3 KiB
Plaintext
/datum/game_mode/meteor
|
|
name = "meteor"
|
|
config_tag = "meteor"
|
|
var/const/waittime_l = 600 //lower bound on time before intercept arrives (in tenths of seconds)
|
|
var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds)
|
|
var/const/meteordelay = 2000
|
|
var/nometeors = 1
|
|
required_players = 0
|
|
|
|
uplink_welcome = "EVIL METEOR Uplink Console:"
|
|
uplink_uses = 10
|
|
|
|
|
|
/datum/game_mode/meteor/announce()
|
|
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/game_mode/meteor/post_setup()
|
|
defer_powernet_rebuild = 2//Might help with the lag
|
|
spawn (rand(waittime_l, waittime_h))
|
|
send_intercept()
|
|
spawn(meteordelay)
|
|
nometeors = 0
|
|
..()
|
|
|
|
|
|
/datum/game_mode/meteor/process()
|
|
if(nometeors) return
|
|
/*if(prob(80))
|
|
spawn()
|
|
dust_swarm("norm")
|
|
else
|
|
spawn()
|
|
dust_swarm("strong")*/
|
|
spawn() spawn_meteors(6)
|
|
|
|
|
|
/datum/game_mode/meteor/declare_completion()
|
|
var/list/survivors = list()
|
|
var/area/escape_zone = locate(/area/shuttle/escape/centcom)
|
|
var/area/pod_zone = list( /area/shuttle/escape_pod1/centcom, /area/shuttle/escape_pod2/centcom, /area/shuttle/escape_pod3/centcom, /area/shuttle/escape_pod5/centcom )
|
|
|
|
for(var/mob/living/player in world)
|
|
if (player.client)
|
|
if (player.stat != 2)
|
|
var/turf/location = get_turf(player.loc)
|
|
if (location in escape_zone)
|
|
survivors[player.real_name] = "shuttle"
|
|
else if (location.loc.type in pod_zone)
|
|
survivors[player.real_name] = "pod"
|
|
else
|
|
survivors[player.real_name] = "alive"
|
|
|
|
//feedback_set_details("round_end_result","end - evacuation")
|
|
//feedback_set("round_end_result",survivors.len)
|
|
|
|
if (survivors.len)
|
|
world << "\blue <B>The following survived the meteor attack!</B>"
|
|
for(var/survivor in survivors)
|
|
var/condition = survivors[survivor]
|
|
switch(condition)
|
|
if("shuttle")
|
|
world << "\t <B><FONT size = 2>[survivor] escaped on the shuttle!</FONT></B>"
|
|
if("pod")
|
|
world << "\t <FONT size = 2>[survivor] escaped on an escape pod!</FONT>"
|
|
if("alive")
|
|
world << "\t <FONT size = 1>[survivor] stayed alive. Whereabouts unknown.</FONT>"
|
|
else
|
|
world << "\blue <B>No one survived the meteor attack!</B>"
|
|
|
|
..()
|
|
return 1
|