diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 135262c9..334b7fb8 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -87,6 +87,12 @@ if(href_list["warnview"]) warnings_check() + if(href_list["preference"]) + if(istype(mob, /mob/new_player)) + var/mob/new_player/P = mob + if(P.ready) + return + prefs.process_link(src, href_list) ..() //redirect to hsrc.Topic() /client/proc/handle_spam_prevention(var/message, var/mute_type) @@ -333,3 +339,9 @@ 'icons/spideros_icons/sos_13.png', 'icons/spideros_icons/sos_14.png' ) + +/client/verb/edit_character() + set name = "Edit Character" + set category = "Preferences" + set desc = "Allows you to edit your character and preferences" + prefs.ShowChoices(src) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index cea406ad..9590702f 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -203,7 +203,7 @@ datum/preferences if(24 to 1000) return "God" -/datum/preferences/proc/SetSkills(mob/user) +/datum/preferences/proc/SetSkills(client/user) if(SKILLS == null) setup_skills() @@ -239,8 +239,8 @@ datum/preferences user << browse(HTML, "window=show_skills;size=600x800") return -/datum/preferences/proc/ShowChoices(mob/user) - if(!user || !user.client) return +/datum/preferences/proc/ShowChoices(client/user) + if(!user) return update_preview_icon() user << browse_rsc(preview_icon_side, "previewicon2.png") user << browse_rsc(preview_icon_front, "previewicon1.png") @@ -437,7 +437,7 @@ datum/preferences banned = jobban_isbanned(user, "pAI") if (banned == "Age Restricted") - var/time = config.age_restrictions[i] - user.client.player_age + var/time = config.age_restrictions[i] - user.player_age dat += "Be [i]: \[IN [time] DAYS]
" else if (banned) dat += "Be [i]: \[BANNED]
" @@ -455,7 +455,7 @@ datum/preferences user << browse(dat, "window=preferences;size=560x736") -/datum/preferences/proc/SetChoices(mob/user, limit = 16, list/splitJobs = list("Chief Medical Officer"), width = 550, height = 660) +/datum/preferences/proc/SetChoices(client/user, limit = 16, list/splitJobs = list("Chief Medical Officer"), width = 550, height = 660) if(!job_master) return @@ -497,8 +497,8 @@ datum/preferences else if(jobban_isbanned(user, rank)) HTML += "[rank] \[BANNED]" continue - if(!job.player_old_enough(user.client)) - var/available_in_days = job.available_in_days(user.client) + if(!job.player_old_enough(user)) + var/available_in_days = job.available_in_days(user) HTML += "[rank] \[IN [(available_in_days)] DAYS]" continue if((job_civilian_low & ASSISTANT) && (rank != "Assistant")) @@ -552,7 +552,7 @@ datum/preferences user << browse(HTML, "window=mob_occupation;size=[width]x[height]") return -/datum/preferences/proc/SetDisabilities(mob/user) +/datum/preferences/proc/SetDisabilities(client/user) var/HTML = "" HTML += "
" HTML += "Choose disabilities
" @@ -572,7 +572,7 @@ datum/preferences user << browse(HTML, "window=disabil;size=350x300") return -/datum/preferences/proc/SetRecords(mob/user) +/datum/preferences/proc/SetRecords(client/user) var/HTML = "" HTML += "
" HTML += "Set Character Records
" @@ -597,7 +597,7 @@ datum/preferences user << browse(HTML, "window=records;size=350x300") return -/datum/preferences/proc/SetAntagoptions(mob/user) +/datum/preferences/proc/SetAntagoptions(client/user) if(uplinklocation == "" || !uplinklocation) uplinklocation = "PDA" var/HTML = "" @@ -615,7 +615,7 @@ datum/preferences user << browse(HTML, "window=antagoptions") return -/datum/preferences/proc/SetFlavorText(mob/user) +/datum/preferences/proc/SetFlavorText(client/user) var/HTML = "" HTML += "
" HTML += "Set Flavour Text
" @@ -667,7 +667,7 @@ datum/preferences if(job.title != new_title) player_alt_titles[job.title] = new_title -/datum/preferences/proc/SetJob(mob/user, role) +/datum/preferences/proc/SetJob(client/user, role) var/datum/job/job = job_master.GetJob(role) if(!job) user << browse(null, "window=mob_occupation") @@ -786,10 +786,10 @@ datum/preferences job_engsec_low |= job.flag return 1 -/datum/preferences/proc/process_link(mob/user, list/href_list) +/datum/preferences/proc/process_link(client/user, list/href_list) if(!user) return - if(!istype(user, /mob/new_player)) return + //if(!istype(user, /mob/new_player)) return //WE CAN EDIT CHARACTER WHENEVER if(href_list["preference"] == "job") switch(href_list["task"]) if("close") @@ -1554,7 +1554,7 @@ datum/preferences message_admins("[character] ([character.ckey]) has spawned with their gender as plural or neuter. Please notify coders.") character.gender = MALE -/datum/preferences/proc/open_load_dialog(mob/user) +/datum/preferences/proc/open_load_dialog(client/user) var/dat = "" dat += "
" @@ -1576,7 +1576,7 @@ datum/preferences user << browse(dat, "window=saves;size=300x390") -/datum/preferences/proc/close_load_dialog(mob/user) +/datum/preferences/proc/close_load_dialog(client/user) user << browse(null, "window=saves") @@ -1596,7 +1596,7 @@ datum/preferences return temp.hair_species -/datum/preferences/proc/custom_robot_limb(mob/user,) +/datum/preferences/proc/custom_robot_limb(client/user,) var/covering_name = input(user, "What kind of covering do you want?") as null|anything in get_limb_covering_names() if (!covering_name) return @@ -1637,7 +1637,7 @@ var/list/limb_connection_data return limb_connection_data -/datum/preferences/proc/pick_organ_to_customize(mob/user,var/is_organic_species) +/datum/preferences/proc/pick_organ_to_customize(client/user,var/is_organic_species) var/list/valid_targets = list("Left Leg","Right Leg","Left Arm","Right Arm","Left Foot","Right Foot","Left Hand","Right Hand") if (!is_organic_species) valid_targets.Add(list("Head","Chest","Groin")) @@ -1648,7 +1648,7 @@ var/list/limb_connection_data return limb_info[limb_name] -/datum/preferences/proc/customize_limbs(mob/user,var/is_organic_species) +/datum/preferences/proc/customize_limbs(client/user,var/is_organic_species) var/list/limb_info = pick_organ_to_customize(user,is_organic_species) if (!limb_info) return diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 5032ffae..6363f462 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -219,10 +219,7 @@ usr << "Thank you for your vote!" usr << browse(null,"window=privacypoll") - if(!ready && href_list["preference"]) - if(client) - client.prefs.process_link(src, href_list) - else if(!href_list["late_join"]) + if(!href_list["late_join"]) new_player_panel() if(href_list["showpoll"])