Welcome,"
output +="
[(client.prefs && client.prefs.real_name) ? client.prefs.real_name : client.key]"
output +="
[xeno_text]"
+ output += "
Tutorial
"
output += "
Setup Character
"
output += "
View Playtimes
"
@@ -63,7 +64,7 @@
output += "
"
if (refresh)
close_browser(src, "playersetup")
- show_browser(src, output, null, "playersetup", "size=240x[round_start ? 360 : 460];can_close=0;can_minimize=0")
+ show_browser(src, output, null, "playersetup", "size=240x[round_start ? 500 : 610];can_close=0;can_minimize=0")
return
/mob/new_player/Topic(href, href_list[])
@@ -162,6 +163,11 @@
to_chat(src, SPAN_WARNING("Sorry, you cannot late join during [SSticker.mode.name]. You have to start at the beginning of the round. You may observe or try to join as an alien, if possible."))
return
+ if(client.player_data?.playtime_loaded && (client.get_total_human_playtime() < CONFIG_GET(number/notify_new_player_age)) && !length(client.prefs.completed_tutorials))
+ if(tgui_alert(src, "You have little playtime and haven't completed any tutorials. Would you like to go to the tutorial menu?", "Tutorial", list("Yes", "No")) == "Yes")
+ tutorial_menu()
+ return
+
if(client.prefs.species != "Human")
if(!is_alien_whitelisted(src, client.prefs.species) && CONFIG_GET(flag/usealienwhitelist))
to_chat(src, "You are currently not whitelisted to play [client.prefs.species].")
@@ -224,9 +230,28 @@
AttemptLateSpawn(href_list["job_selected"])
return
+ if("tutorial")
+ tutorial_menu()
+
else
new_player_panel()
+/mob/new_player/proc/tutorial_menu()
+ if(SSticker.current_state <= GAME_STATE_SETTING_UP)
+ to_chat(src, SPAN_WARNING("Please wait for the round to start before entering a tutorial."))
+ return
+
+ if(SSticker.current_state == GAME_STATE_FINISHED)
+ to_chat(src, SPAN_WARNING("The round has ended. Please wait for the next round to enter a tutorial."))
+ return
+
+ if(SSticker.tutorial_disabled)
+ to_chat(src, SPAN_WARNING("Tutorials are currently disabled because something broke, sorry!"))
+ return
+
+ var/datum/tutorial_menu/menu = new(src)
+ menu.ui_interact(src)
+
/mob/new_player/proc/AttemptLateSpawn(rank)
var/datum/job/player_rank = GLOB.RoleAuthority.roles_for_mode[rank]
if (src != usr)
@@ -280,7 +305,7 @@
var/client/client = character.client
if(client.player_data && client.player_data.playtime_loaded && length(client.player_data.playtimes) == 0)
msg_admin_niche("NEW PLAYER: