mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 19:22:56 +00:00
Removed mob/var/original_name. Totally replaced by datum/mind/var/name now. Fixed round-end reports. They're now sort of follow the same format as each-other. Not sure how the ew format will work out on high-pop servers. if it's too spammy I'll tone it down a bit. Fixed pais. Their life.dm got unticked. Resolves issue 759 Known issues: Borgs keep their human objectives when borged. I'll try playing with the way minds work for silicon mobs whe the freeze is over. No way to edit minds when they are not attached to a mob. Need some sort of debugging tool. datum/mind/var/mob/living/original isn't realy used for much. I could probably replace it with something more useful. Changeling stuff is messy. The changeling object should be referenced by the mind not the mob (or something) Part 4 on hold will try to address some of these known issues. Taking a break from minds to fix some issues on the tracker now (like lighting) git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4355 316c924e-a436-60f5-8080-3fe189b3f50e
65 lines
2.0 KiB
Plaintext
65 lines
2.0 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/text
|
|
var/survivors = 0
|
|
for(var/mob/living/player in player_list)
|
|
if(player.stat != DEAD)
|
|
var/turf/location = get_turf(player.loc)
|
|
if(!location) continue
|
|
switch(location.loc.type)
|
|
if( /area/shuttle/escape/centcom )
|
|
text += "<br><b><font size=2>[player.real_name] escaped on the emergency shuttle</font></b>"
|
|
if( /area/shuttle/escape_pod1/centcom, /area/shuttle/escape_pod2/centcom, /area/shuttle/escape_pod3/centcom, /area/shuttle/escape_pod5/centcom )
|
|
text += "<br><font size=2>[player.real_name] escaped in a life pod.</font>"
|
|
else
|
|
text += "<br><font size=1>[player.real_name] survived but is stranded without any hope of rescue.</font>"
|
|
survivors++
|
|
|
|
if(survivors)
|
|
world << "\blue <B>The following survived the meteor storm</B>:[text]"
|
|
else
|
|
world << "\blue <B>Nobody survived the meteor storm!</B>"
|
|
|
|
feedback_set_details("round_end_result","end - evacuation")
|
|
feedback_set("round_end_result",survivors)
|
|
|
|
..()
|
|
return 1
|