mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 20:43:10 +01:00
Categorized latejoin menu and made it into VueUI, improved crew manifest logic and made Verb manifest same as VueUI program, Job fixes (#10470)
This commit is contained in:
@@ -2,9 +2,10 @@
|
||||
|
||||
/mob/abstract/new_player
|
||||
var/ready = 0
|
||||
var/spawning = 0//Referenced when you want to delete the new_player later on in the code.
|
||||
var/totalPlayers = 0 //Player counts for the Lobby tab
|
||||
var/spawning = 0 //Referenced when you want to delete the new_player later on in the code
|
||||
var/totalPlayers = 0 //Player counts for the Lobby tab
|
||||
var/totalPlayersReady = 0
|
||||
var/datum/late_choices/late_choices_ui = null
|
||||
universal_speak = 1
|
||||
|
||||
invisibility = 101
|
||||
@@ -22,6 +23,10 @@ INITIALIZE_IMMEDIATE(/mob/abstract/new_player)
|
||||
. = ..()
|
||||
dead_mob_list -= src
|
||||
|
||||
/mob/abstract/new_player/Destroy()
|
||||
QDEL_NULL(late_choices_ui)
|
||||
return ..()
|
||||
|
||||
/mob/abstract/new_player/Stat()
|
||||
..()
|
||||
|
||||
@@ -295,50 +300,11 @@ INITIALIZE_IMMEDIATE(/mob/abstract/new_player)
|
||||
global_announcer.autosay("A new[rank ? " [rank]" : " visitor" ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer")
|
||||
|
||||
/mob/abstract/new_player/proc/LateChoices()
|
||||
var/name = client.prefs.real_name
|
||||
|
||||
var/dat = "<center>"
|
||||
dat += "<b>Welcome, [name].<br></b>"
|
||||
dat += "Round Duration: [get_round_duration_formatted()]<br>"
|
||||
dat += "Alert Level: [capitalize(get_security_level())]<br>"
|
||||
|
||||
if(emergency_shuttle) //In case Nanotrasen decides reposess CentComm's shuttles.
|
||||
if(emergency_shuttle.going_to_centcom()) //Shuttle is going to centcomm, not recalled
|
||||
dat += "<span class='warning'><b>The station has been evacuated.</b></span><br>"
|
||||
if(emergency_shuttle.online())
|
||||
if (emergency_shuttle.evac) // Emergency shuttle is past the point of no recall
|
||||
dat += "<span class='warning'>The station is currently undergoing evacuation procedures.</span><br>"
|
||||
else // Crew transfer initiated
|
||||
dat += "<span class='warning'>The station is currently undergoing crew transfer procedures.</span><br>"
|
||||
|
||||
var/unique_role_available = FALSE
|
||||
for(var/ghost_role in SSghostroles.spawners)
|
||||
var/datum/ghostspawner/G = SSghostroles.spawners[ghost_role]
|
||||
if(!G.show_on_job_select)
|
||||
continue
|
||||
if(G.cant_see(src))
|
||||
continue
|
||||
unique_role_available = TRUE
|
||||
break
|
||||
|
||||
if(unique_role_available)
|
||||
dat += "<font color='[COLOR_BRIGHT_GREEN]'><b>A unique ghost role is available:</b></font><br>"
|
||||
dat += "<a href='byond://?src=\ref[src];ghostspawner=1'>Ghost Spawner Menu</A><br>"
|
||||
|
||||
dat += "Choose from the following open/valid positions:<br>"
|
||||
for(var/datum/job/job in SSjobs.occupations)
|
||||
if(job && IsJobAvailable(job.title))
|
||||
var/active = 0
|
||||
// Only players with the job assigned and AFK for less than 10 minutes count as active
|
||||
for(var/mob/M in player_list) //Added isliving check here, so it won't check ghosts and qualify them as active
|
||||
if(isliving(M) && M.mind && M.client && M.mind.assigned_role == job.title && M.client.inactivity <= 10 MINUTES)
|
||||
active++
|
||||
dat += "<a href='byond://?src=\ref[src];SelectedJob=[job.title]'>[client.prefs.GetPlayerAltTitle(job)] ([job.current_positions]) (Active: [active])</a><br>"
|
||||
|
||||
dat += "</center>"
|
||||
send_theme_resources(src)
|
||||
src << browse(enable_ui_theme(src, dat), "window=latechoices;size=300x640;can_close=1")
|
||||
|
||||
if(!istype(late_choices_ui))
|
||||
late_choices_ui = new(src)
|
||||
else // if the UI exists force refresh it
|
||||
late_choices_ui.ui_refresh()
|
||||
late_choices_ui.ui_open()
|
||||
|
||||
/mob/abstract/new_player/proc/create_character()
|
||||
spawning = 1
|
||||
@@ -408,14 +374,13 @@ INITIALIZE_IMMEDIATE(/mob/abstract/new_player)
|
||||
return new_character
|
||||
|
||||
/mob/abstract/new_player/proc/ViewManifest()
|
||||
open_crew_manifest(src, OOC = TRUE)
|
||||
SSrecords.open_manifest_vueui(src)
|
||||
|
||||
/mob/abstract/new_player/Move()
|
||||
return 0
|
||||
|
||||
/mob/abstract/new_player/proc/close_spawn_windows()
|
||||
src << browse(null, "window=latechoices") //closes late choices window)
|
||||
src << browse(null, "window=playersetup") //closes the player setup window)
|
||||
src << browse(null, "window=playersetup") //closes the player setup window
|
||||
|
||||
/mob/abstract/new_player/proc/has_admin_rights()
|
||||
return check_rights(R_ADMIN, 0, src)
|
||||
|
||||
@@ -221,11 +221,11 @@
|
||||
|
||||
var/list/leftovers = list()
|
||||
var/list/used_slots = list()
|
||||
|
||||
|
||||
if((equip_preview_mob & EQUIP_PREVIEW_LOADOUT) && !(previewJob && (equip_preview_mob & EQUIP_PREVIEW_JOB) && (previewJob.type == /datum/job/ai || previewJob.type == /datum/job/cyborg)))
|
||||
SSjobs.EquipCustom(mannequin, previewJob, src, leftovers, null, used_slots)
|
||||
|
||||
if((equip_preview_mob & EQUIP_PREVIEW_JOB) && previewJob)
|
||||
if((equip_preview_mob & EQUIP_PREVIEW_JOB) && previewJob)
|
||||
previewJob.equip_preview(mannequin, player_alt_titles[previewJob.title])
|
||||
|
||||
if(equip_preview_mob & EQUIP_PREVIEW_LOADOUT && leftovers.len)
|
||||
@@ -237,11 +237,15 @@
|
||||
else
|
||||
mannequin.update_icon()
|
||||
|
||||
/datum/preferences/proc/update_preview_icon()
|
||||
/datum/preferences/proc/update_mannequin()
|
||||
var/mob/living/carbon/human/dummy/mannequin/mannequin = SSmob.get_mannequin(client.ckey)
|
||||
mannequin.delete_inventory(TRUE)
|
||||
mannequin.species.create_organs(mannequin)
|
||||
if(gender)
|
||||
mannequin.change_gender(gender)
|
||||
dress_preview_mob(mannequin)
|
||||
update_character_previews(new /mutable_appearance(mannequin))
|
||||
return mannequin
|
||||
|
||||
/datum/preferences/proc/update_preview_icon()
|
||||
var/mannequin = update_mannequin()
|
||||
update_character_previews(new /mutable_appearance(mannequin))
|
||||
|
||||
@@ -585,7 +585,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
/mob/abstract/observer/verb/view_manifest()
|
||||
set name = "Show Crew Manifest"
|
||||
set category = "Ghost"
|
||||
open_crew_manifest(src, OOC = TRUE)
|
||||
SSrecords.open_manifest_vueui(usr)
|
||||
|
||||
//This is called when a ghost is drag clicked to something.
|
||||
/mob/abstract/observer/MouseDrop(atom/over)
|
||||
|
||||
Reference in New Issue
Block a user