mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-08-28 22:46:22 +01:00
Merge branch 'virgoMaster' into virgoPull
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
var/adminobs = null
|
||||
var/area = null
|
||||
var/time_died_as_mouse = null //when the client last died as a mouse
|
||||
var/datum/tooltip/tooltips = null
|
||||
|
||||
var/adminhelped = 0
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ datum/preferences/proc/set_biological_gender(var/gender)
|
||||
if(pref.species)
|
||||
S = all_species[pref.species]
|
||||
else
|
||||
S = all_species["Human"]
|
||||
S = all_species[SPECIES_HUMAN]
|
||||
var/list/possible_genders = S.genders
|
||||
if(!pref.organ_data || pref.organ_data[BP_TORSO] != "cyborg")
|
||||
return possible_genders
|
||||
|
||||
@@ -69,7 +69,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/sanitize_character(var/savefile/S)
|
||||
if(!pref.species || !(pref.species in playable_species))
|
||||
pref.species = "Human"
|
||||
pref.species = SPECIES_HUMAN
|
||||
pref.r_hair = sanitize_integer(pref.r_hair, 0, 255, initial(pref.r_hair))
|
||||
pref.g_hair = sanitize_integer(pref.g_hair, 0, 255, initial(pref.g_hair))
|
||||
pref.b_hair = sanitize_integer(pref.b_hair, 0, 255, initial(pref.b_hair))
|
||||
@@ -591,7 +591,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
pref.rlimb_data[second_limb] = null
|
||||
|
||||
if("Prosthesis")
|
||||
var/tmp_species = pref.species ? pref.species : "Human"
|
||||
var/tmp_species = pref.species ? pref.species : SPECIES_HUMAN
|
||||
var/list/usable_manufacturers = list()
|
||||
for(var/company in chargen_robolimbs)
|
||||
var/datum/robolimb/M = chargen_robolimbs[company]
|
||||
@@ -734,7 +734,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/proc/SetSpecies(mob/user)
|
||||
if(!pref.species_preview || !(pref.species_preview in all_species))
|
||||
pref.species_preview = "Human"
|
||||
pref.species_preview = SPECIES_HUMAN
|
||||
var/datum/species/current_species = all_species[pref.species_preview]
|
||||
var/dat = "<body>"
|
||||
dat += "<center><h2>[current_species.name] \[<a href='?src=\ref[src];show_species=1'>change</a>\]</h2></center><hr/>"
|
||||
@@ -748,7 +748,15 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
dat += "<b>Language:</b> [current_species.species_language]<br/>"
|
||||
dat += "<small>"
|
||||
if(current_species.spawn_flags & SPECIES_CAN_JOIN)
|
||||
dat += "</br><b>Often present on human stations.</b>"
|
||||
switch(current_species.rarity_value)
|
||||
if(1 to 2)
|
||||
dat += "</br><b>Often present on human stations.</b>"
|
||||
if(3 to 4)
|
||||
dat += "</br><b>Rarely present on human stations.</b>"
|
||||
if(5)
|
||||
dat += "</br><b>Unheard of on human stations.</b>"
|
||||
else
|
||||
dat += "</br><b>May be present on human stations.</b>"
|
||||
if(current_species.spawn_flags & SPECIES_IS_WHITELISTED)
|
||||
dat += "</br><b>Whitelist restricted.</b>"
|
||||
if(!current_species.has_organ[O_HEART])
|
||||
|
||||
@@ -7,24 +7,28 @@
|
||||
S["UI_style_color"] >> pref.UI_style_color
|
||||
S["UI_style_alpha"] >> pref.UI_style_alpha
|
||||
S["ooccolor"] >> pref.ooccolor
|
||||
S["tooltipstyle"] >> pref.tooltipstyle
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/ui/save_preferences(var/savefile/S)
|
||||
S["UI_style"] << pref.UI_style
|
||||
S["UI_style_color"] << pref.UI_style_color
|
||||
S["UI_style_alpha"] << pref.UI_style_alpha
|
||||
S["ooccolor"] << pref.ooccolor
|
||||
S["tooltipstyle"] << pref.tooltipstyle
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/ui/sanitize_preferences()
|
||||
pref.UI_style = sanitize_inlist(pref.UI_style, all_ui_styles, initial(pref.UI_style))
|
||||
pref.UI_style_color = sanitize_hexcolor(pref.UI_style_color, initial(pref.UI_style_color))
|
||||
pref.UI_style_alpha = sanitize_integer(pref.UI_style_alpha, 0, 255, initial(pref.UI_style_alpha))
|
||||
pref.ooccolor = sanitize_hexcolor(pref.ooccolor, initial(pref.ooccolor))
|
||||
pref.tooltipstyle = sanitize_inlist(pref.tooltipstyle, all_tooltip_styles, initial(pref.tooltipstyle))
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/ui/content(var/mob/user)
|
||||
. = "<b>UI Style:</b> <a href='?src=\ref[src];select_style=1'><b>[pref.UI_style]</b></a><br>"
|
||||
. += "<b>Custom UI</b> (recommended for White UI):<br>"
|
||||
. += "-Color: <a href='?src=\ref[src];select_color=1'><b>[pref.UI_style_color]</b></a> <table style='display:inline;' bgcolor='[pref.UI_style_color]'><tr><td>__</td></tr></table> <a href='?src=\ref[src];reset=ui'>reset</a><br>"
|
||||
. += "-Alpha(transparency): <a href='?src=\ref[src];select_alpha=1'><b>[pref.UI_style_alpha]</b></a> <a href='?src=\ref[src];reset=alpha'>reset</a><br>"
|
||||
. += "<b>Tooltip Style:</b> <a href='?src=\ref[src];select_tooltip_style=1'><b>[pref.tooltipstyle]</b></a><br>"
|
||||
if(can_select_ooc_color(user))
|
||||
. += "<b>OOC Color:</b> "
|
||||
if(pref.ooccolor == initial(pref.ooccolor))
|
||||
@@ -57,6 +61,12 @@
|
||||
pref.ooccolor = new_ooccolor
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["select_tooltip_style"])
|
||||
var/tooltip_style_new = input(user, "Choose tooltip style.", "Character Preference", pref.tooltipstyle) as null|anything in all_tooltip_styles
|
||||
if(!tooltip_style_new || !CanUseTopic(user)) return TOPIC_NOACTION
|
||||
pref.tooltipstyle = tooltip_style_new
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["reset"])
|
||||
switch(href_list["reset"])
|
||||
if("ui")
|
||||
|
||||
@@ -122,6 +122,12 @@ var/list/_client_preferences_by_type
|
||||
enabled_description = "Show"
|
||||
disabled_description = "Hide"
|
||||
|
||||
/datum/client_preference/mob_tooltips
|
||||
description ="Mob tooltips"
|
||||
key = "MOB_TOOLTIPS"
|
||||
enabled_description = "Show"
|
||||
disabled_description = "Hide"
|
||||
|
||||
/datum/client_preference/attack_icons
|
||||
description ="Attack icons"
|
||||
key = "ATTACK_ICONS"
|
||||
@@ -143,7 +149,7 @@ var/list/_client_preferences_by_type
|
||||
|
||||
/datum/client_preference/show_typing_indicator/toggled(var/mob/preference_mob, var/enabled)
|
||||
if(!enabled)
|
||||
preference_mob.set_typing_indicator(0)
|
||||
preference_mob.set_typing_indicator(FALSE)
|
||||
|
||||
/datum/client_preference/show_ooc
|
||||
description ="OOC chat"
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
// Alien clothing.
|
||||
/datum/gear/suit/zhan_furs
|
||||
display_name = "Zhan-Khazan furs (Tajara)"
|
||||
display_name = "Zhan-Khazan furs (Tajaran)"
|
||||
path = /obj/item/clothing/suit/tajaran/furs
|
||||
sort_category = "Xenowear"
|
||||
|
||||
/datum/gear/head/zhan_scarf
|
||||
display_name = "Zhan headscarf"
|
||||
path = /obj/item/clothing/head/tajaran/scarf
|
||||
whitelisted = "Tajara"
|
||||
whitelisted = SPECIES_TAJ
|
||||
|
||||
/datum/gear/suit/unathi_mantle
|
||||
display_name = "hide mantle (Unathi)"
|
||||
@@ -19,7 +19,7 @@
|
||||
display_name = "headtail chain selection (Skrell)"
|
||||
path = /obj/item/clothing/ears/skrell/chain
|
||||
sort_category = "Xenowear"
|
||||
whitelisted = "Skrell"
|
||||
whitelisted = SPECIES_SKRELL
|
||||
|
||||
/datum/gear/ears/skrell/chains/New()
|
||||
..()
|
||||
@@ -33,7 +33,7 @@
|
||||
display_name = "headtail band selection (Skrell)"
|
||||
path = /obj/item/clothing/ears/skrell/band
|
||||
sort_category = "Xenowear"
|
||||
whitelisted = "Skrell"
|
||||
whitelisted = SPECIES_SKRELL
|
||||
|
||||
/datum/gear/ears/skrell/bands/New()
|
||||
..()
|
||||
@@ -47,7 +47,7 @@
|
||||
display_name = "short headtail cloth (Skrell)"
|
||||
path = /obj/item/clothing/ears/skrell/cloth_male/black
|
||||
sort_category = "Xenowear"
|
||||
whitelisted = "Skrell"
|
||||
whitelisted = SPECIES_SKRELL
|
||||
|
||||
/datum/gear/ears/skrell/cloth/short/New()
|
||||
..()
|
||||
@@ -61,7 +61,7 @@
|
||||
display_name = "long headtail cloth (Skrell)"
|
||||
path = /obj/item/clothing/ears/skrell/cloth_female/black
|
||||
sort_category = "Xenowear"
|
||||
whitelisted = "Skrell"
|
||||
whitelisted = SPECIES_SKRELL
|
||||
|
||||
/datum/gear/ears/skrell/cloth/long/New()
|
||||
..()
|
||||
@@ -75,7 +75,7 @@
|
||||
display_name = "Colored bands (Skrell)"
|
||||
path = /obj/item/clothing/ears/skrell/colored/band
|
||||
sort_category = "Xenowear"
|
||||
whitelisted = "Skrell"
|
||||
whitelisted = SPECIES_SKRELL
|
||||
|
||||
/datum/gear/ears/skrell/colored/band/New()
|
||||
..()
|
||||
@@ -85,7 +85,7 @@
|
||||
display_name = "Colored chain (Skrell)"
|
||||
path = /obj/item/clothing/ears/skrell/colored/chain
|
||||
sort_category = "Xenowear"
|
||||
whitelisted = "Skrell"
|
||||
whitelisted = SPECIES_SKRELL
|
||||
|
||||
/datum/gear/ears/skrell/colored/chain/New()
|
||||
..()
|
||||
@@ -94,7 +94,7 @@
|
||||
/datum/gear/uniform/smock
|
||||
display_name = "smock selection (Teshari)"
|
||||
path = /obj/item/clothing/under/seromi/smock
|
||||
whitelisted = "Teshari"
|
||||
whitelisted = SPECIES_TESHARI
|
||||
sort_category = "Xenowear"
|
||||
|
||||
/datum/gear/uniform/smock/New()
|
||||
@@ -108,7 +108,7 @@
|
||||
/datum/gear/uniform/undercoat
|
||||
display_name = "undercoat selection (Teshari)"
|
||||
path = /obj/item/clothing/under/seromi/undercoat
|
||||
whitelisted = "Teshari"
|
||||
whitelisted = SPECIES_TESHARI
|
||||
sort_category = "Xenowear"
|
||||
|
||||
/datum/gear/uniform/undercoat/New()
|
||||
@@ -122,7 +122,7 @@
|
||||
/datum/gear/suit/cloak
|
||||
display_name = "cloak selection (Teshari)"
|
||||
path = /obj/item/clothing/suit/storage/seromi/cloak
|
||||
whitelisted = "Teshari"
|
||||
whitelisted = SPECIES_TESHARI
|
||||
sort_category = "Xenowear"
|
||||
|
||||
/datum/gear/suit/cloak/New()
|
||||
|
||||
@@ -226,7 +226,7 @@
|
||||
mutually_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
|
||||
/datum/trait/modifier/mental/tajaraphobe
|
||||
name = "Tajara-phobic"
|
||||
name = "Tajaran-phobic"
|
||||
desc = "Boilerplate racism for cats goes here."
|
||||
mutually_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
|
||||
|
||||
@@ -139,9 +139,9 @@
|
||||
if(ear_styles_list[pref.ear_style])
|
||||
var/datum/sprite_accessory/ears/ear = ear_styles_list[pref.ear_style]
|
||||
if (ear.do_colouration)
|
||||
. += "<a href='?src=\ref[src];ear_color=1'>Change Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_ears, 2)][num2hex(pref.g_ears, 2)][num2hex(pref.b_ears, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_ears, 2)][num2hex(pref.g_ears, 2)][num2hex(pref.b_ears)]'><tr><td>__</td></tr></table> </font><br>"
|
||||
. += "<a href='?src=\ref[src];ear_color=1'>Change Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_ears, 2)][num2hex(pref.g_ears, 2)][num2hex(pref.b_ears, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_ears, 2)][num2hex(pref.g_ears, 2)][num2hex(pref.b_ears, 2)]'><tr><td>__</td></tr></table> </font><br>"
|
||||
if (ear.extra_overlay)
|
||||
. += "<a href='?src=\ref[src];ear_color2=1'>Change Secondary Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_ears2, 2)][num2hex(pref.g_ears2, 2)][num2hex(pref.b_ears2, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_ears2, 2)][num2hex(pref.g_ears2, 2)][num2hex(pref.b_ears2)]'><tr><td>__</td></tr></table> </font><br>"
|
||||
. += "<a href='?src=\ref[src];ear_color2=1'>Change Secondary Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_ears2, 2)][num2hex(pref.g_ears2, 2)][num2hex(pref.b_ears2, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_ears2, 2)][num2hex(pref.g_ears2, 2)][num2hex(pref.b_ears2, 2)]'><tr><td>__</td></tr></table> </font><br>"
|
||||
|
||||
var/tail_display = "Normal"
|
||||
if(pref.tail_style && (pref.tail_style in tail_styles_list))
|
||||
@@ -155,9 +155,9 @@
|
||||
if(tail_styles_list[pref.tail_style])
|
||||
var/datum/sprite_accessory/tail/T = tail_styles_list[pref.tail_style]
|
||||
if (T.do_colouration)
|
||||
. += "<a href='?src=\ref[src];tail_color=1'>Change Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_tail, 2)][num2hex(pref.g_tail, 2)][num2hex(pref.b_tail, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_tail, 2)][num2hex(pref.g_tail, 2)][num2hex(pref.b_tail)]'><tr><td>__</td></tr></table> </font><br>"
|
||||
. += "<a href='?src=\ref[src];tail_color=1'>Change Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_tail, 2)][num2hex(pref.g_tail, 2)][num2hex(pref.b_tail, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_tail, 2)][num2hex(pref.g_tail, 2)][num2hex(pref.b_tail, 2)]'><tr><td>__</td></tr></table> </font><br>"
|
||||
if (T.extra_overlay)
|
||||
. += "<a href='?src=\ref[src];tail_color2=1'>Change Secondary Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_tail2, 2)][num2hex(pref.g_tail2, 2)][num2hex(pref.b_tail2, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_tail2, 2)][num2hex(pref.g_tail2, 2)][num2hex(pref.b_tail2)]'><tr><td>__</td></tr></table> </font><br>"
|
||||
. += "<a href='?src=\ref[src];tail_color2=1'>Change Secondary Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_tail2, 2)][num2hex(pref.g_tail2, 2)][num2hex(pref.b_tail2, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_tail2, 2)][num2hex(pref.g_tail2, 2)][num2hex(pref.b_tail2, 2)]'><tr><td>__</td></tr></table> </font><br>"
|
||||
|
||||
var/wing_display = "Normal"
|
||||
if(pref.wing_style && (pref.wing_style in wing_styles_list))
|
||||
@@ -171,7 +171,7 @@
|
||||
if(wing_styles_list[pref.wing_style])
|
||||
var/datum/sprite_accessory/wing/T = wing_styles_list[pref.wing_style]
|
||||
if (T.do_colouration)
|
||||
. += "<a href='?src=\ref[src];wing_color=1'>Change Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_wing, 2)][num2hex(pref.g_wing, 2)][num2hex(pref.b_wing, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_wing, 2)][num2hex(pref.g_wing, 2)][num2hex(pref.b_wing)]'><tr><td>__</td></tr></table> </font><br>"
|
||||
. += "<a href='?src=\ref[src];wing_color=1'>Change Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_wing, 2)][num2hex(pref.g_wing, 2)][num2hex(pref.b_wing, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_wing, 2)][num2hex(pref.g_wing, 2)][num2hex(pref.b_wing, 2)]'><tr><td>__</td></tr></table> </font><br>"
|
||||
|
||||
/datum/category_item/player_setup_item/vore/ears/OnTopic(var/href,var/list/href_list, var/mob/user)
|
||||
if(!CanUseTopic(user))
|
||||
|
||||
@@ -41,12 +41,12 @@
|
||||
pref.size_multiplier = initial(pref.size_multiplier)
|
||||
|
||||
/datum/category_item/player_setup_item/vore/size/copy_to_mob(var/mob/living/carbon/human/character)
|
||||
character.resize(pref.size_multiplier, FALSE)
|
||||
character.weight = pref.weight_vr
|
||||
character.weight_gain = pref.weight_gain
|
||||
character.weight_loss = pref.weight_loss
|
||||
character.fuzzy = pref.fuzzy
|
||||
character.appearance_flags -= pref.fuzzy*PIXEL_SCALE
|
||||
character.resize(pref.size_multiplier, animate = FALSE)
|
||||
|
||||
/datum/category_item/player_setup_item/vore/size/content(var/mob/user)
|
||||
. += "<br>"
|
||||
|
||||
@@ -21,6 +21,7 @@ datum/preferences
|
||||
var/UI_style = "Midnight"
|
||||
var/UI_style_color = "#ffffff"
|
||||
var/UI_style_alpha = 255
|
||||
var/tooltipstyle = "Midnight" //Style for popup tooltips
|
||||
|
||||
//character preferences
|
||||
var/real_name //our character's name
|
||||
@@ -46,7 +47,7 @@ datum/preferences
|
||||
var/r_eyes = 0 //Eye color
|
||||
var/g_eyes = 0 //Eye color
|
||||
var/b_eyes = 0 //Eye color
|
||||
var/species = "Human" //Species datum to use.
|
||||
var/species = SPECIES_HUMAN //Species datum to use.
|
||||
var/species_preview //Used for the species selection window.
|
||||
var/list/alternate_languages = list() //Secondary language(s)
|
||||
var/list/language_prefixes = list() //Kanguage prefix keys
|
||||
@@ -292,11 +293,10 @@ datum/preferences
|
||||
|
||||
if(icon_updates)
|
||||
character.force_update_limbs()
|
||||
character.update_mutations(0)
|
||||
character.update_underwear(0)
|
||||
character.update_hair(0)
|
||||
character.update_eyes(0)
|
||||
character.update_icons_all()
|
||||
character.update_icons_body()
|
||||
character.update_mutations()
|
||||
character.update_underwear()
|
||||
character.update_hair()
|
||||
|
||||
/datum/preferences/proc/open_load_dialog(mob/user)
|
||||
var/dat = "<body>"
|
||||
|
||||
@@ -98,11 +98,11 @@
|
||||
|
||||
toggle_preference(pref_path)
|
||||
|
||||
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] see the speech indicator."
|
||||
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] have the speech indicator."
|
||||
|
||||
prefs.save_preferences()
|
||||
|
||||
feedback_add_details("admin_verb","TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
feedback_add_details("admin_verb","TTIND") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/toggle_ahelp_sound()
|
||||
set name = "Toggle Admin Help Sound"
|
||||
@@ -207,6 +207,19 @@
|
||||
|
||||
feedback_add_details("admin_verb","TFiringMode") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/toggle_mob_tooltips()
|
||||
set name = "Toggle Mob Tooltips"
|
||||
set category = "Preferences"
|
||||
set desc = "Toggles displaying name/species over mobs when moused over."
|
||||
|
||||
var/pref_path = /datum/client_preference/mob_tooltips
|
||||
toggle_preference(pref_path)
|
||||
prefs.save_preferences()
|
||||
|
||||
src << "You will now [(is_preference_enabled(/datum/client_preference/mob_tooltips)) ? "see" : "not see"] mob tooltips."
|
||||
|
||||
feedback_add_details("admin_verb","TMobTooltips") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
//Toggles for Staff
|
||||
//Developers
|
||||
|
||||
|
||||
@@ -20,6 +20,15 @@
|
||||
"Hologram" = 'icons/mob/screen1_robot_minimalist.dmi'
|
||||
)
|
||||
|
||||
var/global/list/all_tooltip_styles = list(
|
||||
"Midnight", //Default for everyone is the first one,
|
||||
"Plasmafire",
|
||||
"Retro",
|
||||
"Slimecore",
|
||||
"Operative",
|
||||
"Clockwork"
|
||||
)
|
||||
|
||||
/proc/ui_style2icon(ui_style)
|
||||
if(ui_style in all_ui_styles)
|
||||
return all_ui_styles[ui_style]
|
||||
|
||||
Reference in New Issue
Block a user