From fb1a2facc328be4e804ad1ec299597ae1f472866 Mon Sep 17 00:00:00 2001 From: "johnsonmt88@gmail.com" Date: Tue, 10 Apr 2012 20:38:16 +0000 Subject: [PATCH] Late-join features and bug fixes: - Merged 'Game' and 'Lobby' tabs during pre-game into one tab. - Late-joiners now see round duration. - Late-joiners are warned if the shuttle is not recallable or has already left to Centcomm. - Added the little red X to the top corner of the late-join job list window - Supply shuttle derp fix - Removed duplicate mining shuttle code that was inside atmos computer stuff - - This should fix the player seeing both the 'Shuttle has been sent' and 'The shuttle is already moving' messages. - Updated changelog git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3433 316c924e-a436-60f5-8080-3fe189b3f50e --- .../atmoalter/area_atmos_computer.dm | 29 +---------------- code/game/supplyshuttle.dm | 14 +++++---- code/modules/mob/new_player/new_player.dm | 31 +++++++++++++++---- code/modules/mob/new_player/preferences.dm | 2 +- html/changelog.html | 9 ++++++ 5 files changed, 44 insertions(+), 41 deletions(-) diff --git a/code/game/machinery/atmoalter/area_atmos_computer.dm b/code/game/machinery/atmoalter/area_atmos_computer.dm index d254f6bd1d5..d0efba6c0e1 100644 --- a/code/game/machinery/atmoalter/area_atmos_computer.dm +++ b/code/game/machinery/atmoalter/area_atmos_computer.dm @@ -39,31 +39,4 @@ var/area/A2 = T2.loc if ( istype(A2) && A2.master && A2.master == A ) SCRUBBER.on = scrubber_state - SCRUBBER.update_icon() - - - - -/obj/machinery/computer/mining_shuttle/attack_hand(user as mob) - src.add_fingerprint(usr) - var/dat - dat = text("
Mining shuttle:
Send
") - user << browse("[dat]", "window=miningshuttle;size=200x100") - -/obj/machinery/computer/mining_shuttle/Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - if(href_list["move"]) - if(ticker.mode.name == "blob") - if(ticker.mode:declared) - usr << "Under directive 7-10, [station_name()] is quarantined until further notice." - return - - if (!mining_shuttle_moving) - usr << "\blue Shuttle recieved message and will be sent shortly." - move_mining_shuttle() - else - usr << "\blue Shuttle is already moving." - + SCRUBBER.update_icon() \ No newline at end of file diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 998fd1f5ba3..82b7689a720 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -154,24 +154,26 @@ var/ordernum=0 //Check for mobs for(var/mob/living/M in world) var/area/A = get_area(M) - if(!A.type) continue - if(A && A.type == /area/supply/station) + if(!A || !A.type) continue + if(A.type == /area/supply/station) return 0 //Check for beacons for(var/obj/item/device/radio/beacon/B in world) var/area/A = get_area(B) - if(!A.type) continue - if(A && A.type == /area/supply/station) + if(!A || !A.type) continue + if(A.type == /area/supply/station) return 0 //Check for mechs. I think this was added because people were somehow on centcomm and bringing back centcomm mechs. for(var/obj/mecha/Mech in world) var/area/A = get_area(Mech) - if(A && A.type == /area/supply/station) + if(!A || !A.type) continue + if(A.type == /area/supply/station) return 0 //Check for nuke disk This also prevents multiple nuke disks from being made -Nodrak for(var/obj/item/weapon/disk/nuclear/N) var/area/A = get_area(N) - if(A && A.type == /area/supply/station) + if(!A || !A.type) continue + if(A.type == /area/supply/station) return 0 return 1 /* diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 82a5de69434..548dae189ec 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -3,6 +3,8 @@ datum/preferences/preferences = null ready = 0 spawning = 0//Referenced when you want to delete the new_player later on in the code. + totalPlayers = 0 //Player counts for the Lobby tab + totalPlayersReady = 0 invisibility = 101 @@ -147,8 +149,8 @@ Stat() ..() - statpanel("Game") - if(client.statpanel=="Game" && ticker) + statpanel("Lobby") + if(client.statpanel=="Lobby" && ticker) if(ticker.hide_mode) stat("Game Mode:", "Secret") else @@ -159,11 +161,14 @@ if((ticker.current_state == GAME_STATE_PREGAME) && !going) stat("Time To Start:", "DELAYED") - statpanel("Lobby") - if(client.statpanel=="Lobby" && ticker) if(ticker.current_state == GAME_STATE_PREGAME) + stat("Players: [totalPlayers]", "Players Ready: [totalPlayersReady]") + totalPlayers = 0 + totalPlayersReady = 0 for(var/mob/new_player/player in world) stat("[player.key]", (player.ready)?("(Playing)"):(null)) + totalPlayers++ + if(player.ready)totalPlayersReady++ Topic(href, href_list[]) if(!client) return 0 @@ -344,13 +349,27 @@ proc/LateChoices() - var/dat = "" + var/mills = world.time // 1/10 of a second, not real milliseconds but whatever + //var/secs = ((mills % 36000) % 600) / 10 //Not really needed, but I'll leave it here for refrence.. or something + var/mins = (mills % 36000) / 600 + var/hours = mills / 36000 + + var/dat = "
" + dat += "Round Duration: [round(hours)]h [round(mins)]m
" + + if(emergency_shuttle) //In case Nanotrasen decides reposess CentComm's shuttles. + if(emergency_shuttle.direction == 2) //Shuttle is going to centcomm, not recalled + dat += "The station has been evacuated.
" + if(emergency_shuttle.direction == 1 && emergency_shuttle.timeleft() < 300) //Shuttle is past the point of no recall + dat += "The station is currently undergoing evacuation procedures.
" + dat += "Choose from the following open positions:
" for(var/datum/job/job in job_master.occupations) if(job && IsJobAvailable(job.title)) dat += "[job.title]
" - src << browse(dat, "window=latechoices;size=300x640;can_close=0") + dat += "
" + src << browse(dat, "window=latechoices;size=300x640;can_close=1") proc/create_character() diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm index ba290f2207e..3a64bc04516 100644 --- a/code/modules/mob/new_player/preferences.dm +++ b/code/modules/mob/new_player/preferences.dm @@ -146,7 +146,7 @@ datum/preferences dat += "Ghost sight: [ghost_sight == 0 ? "Nearest Creatures" : "All Emotes"]
" if(config.allow_Metadata) - dat += "OOC Notes/ERP Preferences: Edit
" + dat += "OOC Notes: Edit
" if((user.client) && (user.client.holder) && (user.client.holder.rank) && (user.client.holder.level >= 5)) dat += "
OOC
" diff --git a/html/changelog.html b/html/changelog.html index 646399d29f5..9d1cdd524fc 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -106,6 +106,15 @@ should be listed in the changelog upon commit tho. Thanks. -->

•How they're classified: They're contraband, so it's perfectly okay for security officers to confiscate them. Punishment for contraband-providers (or end-users, if you want to go full nazi) is up to the situational commanding officers. +

Nodrak updated:

+ +