mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Robotic flavour texts.
This commit is contained in:
@@ -112,6 +112,7 @@ datum/preferences
|
|||||||
var/list/player_alt_titles = new() // the default name of a job like "Medical Doctor"
|
var/list/player_alt_titles = new() // the default name of a job like "Medical Doctor"
|
||||||
|
|
||||||
var/list/flavor_texts = list()
|
var/list/flavor_texts = list()
|
||||||
|
var/list/flavour_texts_robot = list()
|
||||||
|
|
||||||
var/med_record = ""
|
var/med_record = ""
|
||||||
var/sec_record = ""
|
var/sec_record = ""
|
||||||
@@ -395,6 +396,7 @@ datum/preferences
|
|||||||
dat += "\t<a href=\"byond://?src=\ref[user];preference=skills\"><b>Set Skills</b> (<i>[GetSkillClass(used_skillpoints)][used_skillpoints > 0 ? " [used_skillpoints]" : "0"])</i></a><br>"
|
dat += "\t<a href=\"byond://?src=\ref[user];preference=skills\"><b>Set Skills</b> (<i>[GetSkillClass(used_skillpoints)][used_skillpoints > 0 ? " [used_skillpoints]" : "0"])</i></a><br>"
|
||||||
|
|
||||||
dat += "<a href='byond://?src=\ref[user];preference=flavor_text;task=open'><b>Set Flavor Text</b></a><br>"
|
dat += "<a href='byond://?src=\ref[user];preference=flavor_text;task=open'><b>Set Flavor Text</b></a><br>"
|
||||||
|
dat += "<a href='byond://?src=\ref[user];preference=flavour_text_robot;task=open'><b>Set Robot Flavour Text</b></a><br>"
|
||||||
|
|
||||||
dat += "<a href='byond://?src=\ref[user];preference=pAI'><b>pAI Configuration</b></a><br>"
|
dat += "<a href='byond://?src=\ref[user];preference=pAI'><b>pAI Configuration</b></a><br>"
|
||||||
dat += "<br>"
|
dat += "<br>"
|
||||||
@@ -650,6 +652,25 @@ datum/preferences
|
|||||||
user << browse(HTML, "window=flavor_text;size=430x300")
|
user << browse(HTML, "window=flavor_text;size=430x300")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
/datum/preferences/proc/SetFlavourTextRobot(mob/user)
|
||||||
|
var/HTML = "<body>"
|
||||||
|
HTML += "<tt><center>"
|
||||||
|
HTML += "<b>Set Robot Flavour Text</b> <hr />"
|
||||||
|
HTML += "<br></center>"
|
||||||
|
HTML += "<a href ='byond://?src=\ref[user];preference=flavour_text_robot;task=Default'>Default:</a> "
|
||||||
|
HTML += TextPreview(flavour_texts_robot["Default"])
|
||||||
|
HTML += "<hr />"
|
||||||
|
for(var/module in robot_module_types)
|
||||||
|
HTML += "<a href='byond://?src=\ref[user];preference=flavour_text_robot;task=[module]'>[module]:</a> "
|
||||||
|
HTML += TextPreview(flavour_texts_robot[module])
|
||||||
|
HTML += "<br>"
|
||||||
|
HTML += "<hr />"
|
||||||
|
HTML +="<a href='?src=\ref[user];preference=flavour_text_robot;task=done'>\[Done\]</a>"
|
||||||
|
HTML += "<tt>"
|
||||||
|
user << browse(null, "window=preferences")
|
||||||
|
user << browse(HTML, "window=flavour_text_robot;size=430x300")
|
||||||
|
return
|
||||||
|
|
||||||
/datum/preferences/proc/GetPlayerAltTitle(datum/job/job)
|
/datum/preferences/proc/GetPlayerAltTitle(datum/job/job)
|
||||||
return player_alt_titles.Find(job.title) > 0 \
|
return player_alt_titles.Find(job.title) > 0 \
|
||||||
? player_alt_titles[job.title] \
|
? player_alt_titles[job.title] \
|
||||||
@@ -916,6 +937,30 @@ datum/preferences
|
|||||||
SetFlavorText(user)
|
SetFlavorText(user)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
else if(href_list["preference"] == "flavour_text_robot")
|
||||||
|
switch(href_list["task"])
|
||||||
|
if("open")
|
||||||
|
SetFlavourTextRobot(user)
|
||||||
|
return
|
||||||
|
if("done")
|
||||||
|
user << browse(null, "window=flavour_text_robot")
|
||||||
|
ShowChoices(user)
|
||||||
|
return
|
||||||
|
if("Default")
|
||||||
|
var/msg = input(usr,"Set the default flavour text for your robot. It will be used for any module without individual setting.","Flavour Text",html_decode(flavour_texts_robot["Default"])) as message
|
||||||
|
if(msg != null)
|
||||||
|
msg = copytext(msg, 1, MAX_MESSAGE_LEN)
|
||||||
|
msg = html_encode(msg)
|
||||||
|
flavour_texts_robot[href_list["task"]] = msg
|
||||||
|
else
|
||||||
|
var/msg = input(usr,"Set the flavour text for your robot with [href_list["task"]] module. If you leave this empty, default flavour text will be used for this module.","Flavour Text",html_decode(flavour_texts_robot[href_list["task"]])) as message
|
||||||
|
if(msg != null)
|
||||||
|
msg = copytext(msg, 1, MAX_MESSAGE_LEN)
|
||||||
|
msg = html_encode(msg)
|
||||||
|
flavour_texts_robot[href_list["task"]] = msg
|
||||||
|
SetFlavourTextRobot(user)
|
||||||
|
return
|
||||||
|
|
||||||
else if(href_list["preference"] == "pAI")
|
else if(href_list["preference"] == "pAI")
|
||||||
paiController.recruitWindow(user, 0)
|
paiController.recruitWindow(user, 0)
|
||||||
return 1
|
return 1
|
||||||
@@ -1575,8 +1620,8 @@ datum/preferences
|
|||||||
|
|
||||||
for(var/name in organ_data)
|
for(var/name in organ_data)
|
||||||
|
|
||||||
var/status = organ_data[name]
|
var/status = organ_data[name]
|
||||||
var/datum/organ/external/O = character.organs_by_name[name]
|
var/datum/organ/external/O = character.organs_by_name[name]
|
||||||
if(O)
|
if(O)
|
||||||
if(status == "amputated")
|
if(status == "amputated")
|
||||||
O.amputated = 1
|
O.amputated = 1
|
||||||
@@ -1584,7 +1629,7 @@ datum/preferences
|
|||||||
O.destspawn = 1
|
O.destspawn = 1
|
||||||
else if(status == "cyborg")
|
else if(status == "cyborg")
|
||||||
O.status |= ORGAN_ROBOT
|
O.status |= ORGAN_ROBOT
|
||||||
else
|
else
|
||||||
var/datum/organ/internal/I = character.internal_organs_by_name[name]
|
var/datum/organ/internal/I = character.internal_organs_by_name[name]
|
||||||
if(I)
|
if(I)
|
||||||
if(status == "assisted")
|
if(status == "assisted")
|
||||||
@@ -1632,4 +1677,4 @@ datum/preferences
|
|||||||
user << browse(dat, "window=saves;size=300x390")
|
user << browse(dat, "window=saves;size=300x390")
|
||||||
|
|
||||||
/datum/preferences/proc/close_load_dialog(mob/user)
|
/datum/preferences/proc/close_load_dialog(mob/user)
|
||||||
user << browse(null, "window=saves")
|
user << browse(null, "window=saves")
|
||||||
@@ -154,6 +154,11 @@
|
|||||||
S["flavor_texts_legs"] >> flavor_texts["legs"]
|
S["flavor_texts_legs"] >> flavor_texts["legs"]
|
||||||
S["flavor_texts_feet"] >> flavor_texts["feet"]
|
S["flavor_texts_feet"] >> flavor_texts["feet"]
|
||||||
|
|
||||||
|
//Flavour text for robots.
|
||||||
|
S["flavour_texts_robot_Default"] >> flavour_texts_robot["Default"]
|
||||||
|
for(var/module in robot_module_types)
|
||||||
|
S["flavour_texts_robot_[module]"] >> flavour_texts_robot[module]
|
||||||
|
|
||||||
//Miscellaneous
|
//Miscellaneous
|
||||||
S["med_record"] >> med_record
|
S["med_record"] >> med_record
|
||||||
S["sec_record"] >> sec_record
|
S["sec_record"] >> sec_record
|
||||||
@@ -298,6 +303,11 @@
|
|||||||
S["flavor_texts_legs"] << flavor_texts["legs"]
|
S["flavor_texts_legs"] << flavor_texts["legs"]
|
||||||
S["flavor_texts_feet"] << flavor_texts["feet"]
|
S["flavor_texts_feet"] << flavor_texts["feet"]
|
||||||
|
|
||||||
|
//Flavour text for robots.
|
||||||
|
S["flavour_texts_robot_Default"] << flavour_texts_robot["Default"]
|
||||||
|
for(var/module in robot_module_types)
|
||||||
|
S["flavour_texts_robot_[module]"] << flavour_texts_robot[module]
|
||||||
|
|
||||||
//Miscellaneous
|
//Miscellaneous
|
||||||
S["med_record"] << med_record
|
S["med_record"] << med_record
|
||||||
S["sec_record"] << sec_record
|
S["sec_record"] << sec_record
|
||||||
@@ -328,4 +338,4 @@
|
|||||||
|
|
||||||
|
|
||||||
#undef SAVEFILE_VERSION_MAX
|
#undef SAVEFILE_VERSION_MAX
|
||||||
#undef SAVEFILE_VERSION_MIN
|
#undef SAVEFILE_VERSION_MIN
|
||||||
@@ -177,7 +177,8 @@ var/list/robot_verbs_default = list(
|
|||||||
/mob/living/silicon/robot/proc/pick_module()
|
/mob/living/silicon/robot/proc/pick_module()
|
||||||
if(module)
|
if(module)
|
||||||
return
|
return
|
||||||
var/list/modules = list("Standard", "Engineering", "Construction", "Surgeon", "Crisis", "Miner", "Janitor", "Service", "Clerical", "Security")
|
var/list/modules = list()
|
||||||
|
modules.Add(robot_module_types)
|
||||||
if((crisis && security_level == SEC_LEVEL_RED) || crisis_override) //Leaving this in until it's balanced appropriately.
|
if((crisis && security_level == SEC_LEVEL_RED) || crisis_override) //Leaving this in until it's balanced appropriately.
|
||||||
src << "\red Crisis mode active. Combat module available."
|
src << "\red Crisis mode active. Combat module available."
|
||||||
modules+="Combat"
|
modules+="Combat"
|
||||||
@@ -358,6 +359,14 @@ var/list/robot_verbs_default = list(
|
|||||||
if(icon_state == "robot")
|
if(icon_state == "robot")
|
||||||
icon_state = "[src.ckey]-Standard"
|
icon_state = "[src.ckey]-Standard"
|
||||||
|
|
||||||
|
//Flavour text.
|
||||||
|
if(client)
|
||||||
|
var/module_flavour = client.prefs.flavour_texts_robot[modtype]
|
||||||
|
if(module_flavour)
|
||||||
|
flavor_text = module_flavour
|
||||||
|
else
|
||||||
|
flavor_text = client.prefs.flavour_texts_robot["Default"]
|
||||||
|
|
||||||
/mob/living/silicon/robot/verb/Namepick()
|
/mob/living/silicon/robot/verb/Namepick()
|
||||||
set category = "Robot Commands"
|
set category = "Robot Commands"
|
||||||
if(custom_name)
|
if(custom_name)
|
||||||
@@ -1267,4 +1276,4 @@ var/list/robot_verbs_default = list(
|
|||||||
if(2) //New Module
|
if(2) //New Module
|
||||||
connected_ai << "<br><br><span class='notice'>NOTICE - Cyborg module change detected: [name] has loaded the [module.name] module.</span><br>"
|
connected_ai << "<br><br><span class='notice'>NOTICE - Cyborg module change detected: [name] has loaded the [module.name] module.</span><br>"
|
||||||
if(3) //New Name
|
if(3) //New Name
|
||||||
connected_ai << "<br><br><span class='notice'>NOTICE - Cyborg reclassification detected: [oldname] is now designated as [newname].</span><br>"
|
connected_ai << "<br><br><span class='notice'>NOTICE - Cyborg reclassification detected: [oldname] is now designated as [newname].</span><br>"
|
||||||
@@ -567,6 +567,8 @@ var/list/liftable_structures = list(\
|
|||||||
#define BORGTHERM 2
|
#define BORGTHERM 2
|
||||||
#define BORGXRAY 4
|
#define BORGXRAY 4
|
||||||
|
|
||||||
|
var/list/robot_module_types = list("Standard", "Engineering", "Construction", "Surgeon", "Crisis", "Miner", "Janitor", "Service", "Clerical", "Security"/*, "Combat"*/)
|
||||||
|
|
||||||
//some arbitrary defines to be used by self-pruning global lists. (see master_controller)
|
//some arbitrary defines to be used by self-pruning global lists. (see master_controller)
|
||||||
#define PROCESS_KILL 26 //Used to trigger removal from a processing list
|
#define PROCESS_KILL 26 //Used to trigger removal from a processing list
|
||||||
|
|
||||||
@@ -860,4 +862,4 @@ var/list/hit_appends = list("-OOF", "-ACK", "-UGH", "-HRNK", "-HURGH", "-GLORF")
|
|||||||
|
|
||||||
//Chemistry
|
//Chemistry
|
||||||
|
|
||||||
#define CHEM_SYNTH_ENERGY 500 //How much energy does it take to synthesize 1 unit of chemical, in J
|
#define CHEM_SYNTH_ENERGY 500 //How much energy does it take to synthesize 1 unit of chemical, in J
|
||||||
Reference in New Issue
Block a user