mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 21:19:00 +01:00
Merge branch 'master' of git@github.com:CIB/Baystation12
This commit is contained in:
@@ -390,3 +390,7 @@
|
||||
proc/close_spawn_windows()
|
||||
src << browse(null, "window=latechoices") //closes late choices window
|
||||
src << browse(null, "window=playersetup") //closes the player setup window
|
||||
|
||||
verb/ShowPreferences()
|
||||
set category = "OOC"
|
||||
preferences.ShowChoices(src)
|
||||
@@ -125,6 +125,10 @@ datum/preferences
|
||||
var/skill_specialization = null
|
||||
var/list/skills = list() // skills can range from 0 to 3
|
||||
|
||||
// maps each organ to either null(intact), "cyborg" or "amputated"
|
||||
// will probably not be able to do this for head and torso ;)
|
||||
var/list/organ_data = list()
|
||||
|
||||
// OOC Metadata:
|
||||
var/metadata = ""
|
||||
|
||||
@@ -279,7 +283,34 @@ datum/preferences
|
||||
dat += "Blood Type: <a href='byond://?src=\ref[user];preferences=1;b_type=input'>[b_type]</a><br>"
|
||||
dat += "Skin Tone: <a href='byond://?src=\ref[user];preferences=1;s_tone=input'>[-s_tone + 35]/220<br></a>"
|
||||
|
||||
// if(!IsGuestKey(user.key))//Seeing as it doesn't do anything, it may as well not show up.
|
||||
dat += "Limbs: <a href='byond://?src=\ref[user];preferences=1;limbs=input'>Adjust Limbs</a><br>"
|
||||
for(var/name in organ_data)
|
||||
var/status = organ_data[name]
|
||||
var/organ_name = null
|
||||
switch(name)
|
||||
if("l_arm")
|
||||
organ_name = "left arm"
|
||||
if("r_arm")
|
||||
organ_name = "right arm"
|
||||
if("l_leg")
|
||||
organ_name = "left leg"
|
||||
if("r_leg")
|
||||
organ_name = "right leg"
|
||||
if("l_foot")
|
||||
organ_name = "left foot"
|
||||
if("r_foot")
|
||||
organ_name = "right foot"
|
||||
if("l_hand")
|
||||
organ_name = "left hand"
|
||||
if("r_hand")
|
||||
organ_name = "right hand"
|
||||
|
||||
if(status == "cyborg")
|
||||
dat += "\tRobotical [organ_name] prothesis<br>"
|
||||
if(status == "amputated")
|
||||
dat += "\tAmputated [organ_name]<br>"
|
||||
dat+="<br>"
|
||||
|
||||
if(gender == MALE)
|
||||
dat += "Underwear: <a href =\"byond://?src=\ref[user];preferences=1;underwear=inputmale\"><b>[underwear_m[underwear]]</b></a><br>"
|
||||
else
|
||||
@@ -915,6 +946,40 @@ datum/preferences
|
||||
if(species == "Skrell")
|
||||
hair_style = new/datum/sprite_accessory/hair/alien/skrell/male/tentacle
|
||||
|
||||
if(link_tags["limbs"])
|
||||
var/limb_name = input(user, "Which limb do you want to change?") as null|anything in list("Left Leg","Right Leg","Left Arm","Right Arm","Left Foot","Right Foot","Left Hand","Right Hand")
|
||||
if(!limb_name) return
|
||||
|
||||
var/limb = null
|
||||
switch(limb_name)
|
||||
if("Left Leg")
|
||||
limb = "l_leg"
|
||||
if("Right Leg")
|
||||
limb = "r_leg"
|
||||
if("Left Arm")
|
||||
limb = "l_arm"
|
||||
if("Right Arm")
|
||||
limb = "r_arm"
|
||||
if("Left Foot")
|
||||
limb = "l_foot"
|
||||
if("Right Foot")
|
||||
limb = "r_foot"
|
||||
if("Left Hand")
|
||||
limb = "l_hand"
|
||||
if("Right Hand")
|
||||
limb = "r_hand"
|
||||
|
||||
var/new_state = input(user, "What state do you wish the limb to be in?") as null|anything in list("Normal","Amputated","Prothesis")
|
||||
if(!new_state) return
|
||||
|
||||
switch(new_state)
|
||||
if("Normal")
|
||||
organ_data[limb] = null
|
||||
if("Amputated")
|
||||
organ_data[limb] = "amputated"
|
||||
if("Prothesis")
|
||||
organ_data[limb] = "cyborg"
|
||||
|
||||
if(link_tags["UI"])
|
||||
switch(UI_style)
|
||||
if("Midnight")
|
||||
@@ -1135,6 +1200,17 @@ datum/preferences
|
||||
character.h_style = h_style
|
||||
character.f_style = f_style
|
||||
|
||||
// Destroy/cyborgize organs
|
||||
for(var/name in organ_data)
|
||||
var/datum/organ/external/O = character.organs[name]
|
||||
if(!O) continue
|
||||
|
||||
var/status = organ_data[name]
|
||||
if(status == "amputated")
|
||||
del O
|
||||
else if(status == "cyborg")
|
||||
O.status |= ROBOT
|
||||
|
||||
switch(UI_style)
|
||||
if("Midnight")
|
||||
character.UI = 'screen1_Midnight.dmi'
|
||||
|
||||
@@ -219,7 +219,24 @@ datum/preferences
|
||||
else if(g == "f")
|
||||
preview_icon = new /icon('genetics.dmi', "skrell_female_s", "dir" = preview_dir)
|
||||
else
|
||||
preview_icon = new /icon('human.dmi', "body_[g]_s", "dir" = preview_dir)
|
||||
preview_icon = new /icon('human.dmi', "torso_[g]_s", "dir" = preview_dir)
|
||||
|
||||
preview_icon.Blend(new /icon('human.dmi', "chest_[g]_s"), ICON_OVERLAY)
|
||||
|
||||
if(organ_data["head"] != "amputated")
|
||||
preview_icon.Blend(new /icon('human.dmi', "head_[g]_s"), ICON_OVERLAY)
|
||||
|
||||
for(var/name in organ_data)
|
||||
if(organ_data[name] == "amputated") continue
|
||||
|
||||
var/icon/temp = new /icon('human.dmi', "[name]_s")
|
||||
if(organ_data[name] == "cyborg")
|
||||
temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
|
||||
|
||||
preview_icon.Blend(temp, ICON_OVERLAY)
|
||||
|
||||
preview_icon.Blend(new /icon('human.dmi', "groin_[g]_s"), ICON_OVERLAY)
|
||||
|
||||
|
||||
// Skin tone
|
||||
if (s_tone >= 0)
|
||||
|
||||
@@ -157,6 +157,8 @@ datum/preferences/proc/savefile_save(mob/user, slot)
|
||||
F["skills"] << src.skills
|
||||
F["skill_specialization"] << src.skill_specialization
|
||||
|
||||
F["organ_data"] << src.organ_data
|
||||
|
||||
F["OOC_Notes"] << src.metadata
|
||||
|
||||
return 1
|
||||
@@ -250,6 +252,9 @@ datum/preferences/proc/savefile_load(mob/user, slot)
|
||||
if(!src.skills) src.skills = list()
|
||||
if(!src.used_skillpoints) src.used_skillpoints= 0
|
||||
|
||||
F["organ_data"] >> src.organ_data
|
||||
if(!src.organ_data) src.organ_data = list()
|
||||
|
||||
F["job_engsec_high"] >> src.job_engsec_high
|
||||
F["job_engsec_med"] >> src.job_engsec_med
|
||||
F["job_engsec_low"] >> src.job_engsec_low
|
||||
|
||||
Reference in New Issue
Block a user