Cyborgs can now choose what type of brain they spawn with. (#23954)

* choose your own brainventure

* i kinda remember sql

* lets try on Login() instead

* wait its actually here

* Revert "lets try on Login() instead"

This reverts commit 6fd26912b1.

* hold on i gotta sort this out

* lol, lmao even

* i apparently do not remember sql

* Actually remember to switch to varchar

* aaaaaaaaaaaaaaaaaaaa

* does the comma fix it

* i am so fucking stupid lmao

* lmao i REALLY dont know sql, thanks AA

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>

* the other place to fix a string

* sql is now 54, happy  birthday sql

* autodoc whitespace fix

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>

* maybe using the defines i made is a good idea

* AA's changes

---------

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
This commit is contained in:
BiancaWilkson
2024-03-26 21:23:33 +00:00
committed by GitHub
co-authored by AffectedArc07 Luc
parent 048dfecd06
commit f9e30f8e78
10 changed files with 39 additions and 12 deletions
+10 -5
View File
@@ -38,7 +38,8 @@
var/species = "Human"
var/language = "None" //Secondary language
var/autohiss_mode = AUTOHISS_OFF //Species autohiss level. OFF, BASIC, FULL.
/// If a spawned cyborg should have an MMI, a positronic, or a robobrain. MMI by default
var/cyborg_brain_type = MMI_BORG
/// The body accessory name of the mob (e.g. wings, tail).
var/body_accessory = null
@@ -191,7 +192,8 @@
hair_gradient_offset=:h_grad_offset,
hair_gradient_colour=:h_grad_colour,
hair_gradient_alpha=:h_grad_alpha,
custom_emotes=:custom_emotes
custom_emotes=:custom_emotes,
cyborg_brain_type=:cyborg_brain_type
WHERE ckey=:ckey
AND slot=:slot"}, list(
// OH GOD SO MANY PARAMETERS
@@ -251,6 +253,7 @@
"h_grad_colour" = h_grad_colour,
"h_grad_alpha" = h_grad_alpha,
"custom_emotes" = json_encode(custom_emotes),
"cyborg_brain_type" = cyborg_brain_type,
"ckey" = C.ckey,
"slot" = slot_number
))
@@ -291,7 +294,7 @@
player_alt_titles,
disabilities, organ_data, rlimb_data, nanotrasen_relation, physique, height, speciesprefs,
socks, body_accessory, gear, autohiss,
hair_gradient, hair_gradient_offset, hair_gradient_colour, hair_gradient_alpha, custom_emotes)
hair_gradient, hair_gradient_offset, hair_gradient_colour, hair_gradient_alpha, custom_emotes, cyborg_brain_type)
VALUES
(:ckey, :slot, :metadata, :name, :be_random_name, :gender,
:age, :species, :language,
@@ -318,7 +321,7 @@
:playertitlelist,
:disabilities, :organ_list, :rlimb_list, :nanotrasen_relation, :physique, :height, :speciesprefs,
:socks, :body_accessory, :gearlist, :autohiss_mode,
:h_grad_style, :h_grad_offset, :h_grad_colour, :h_grad_alpha, :custom_emotes)
:h_grad_style, :h_grad_offset, :h_grad_colour, :h_grad_alpha, :custom_emotes, :cyborg_brain_type)
"}, list(
// This has too many params for anyone to look at this without going insae
"ckey" = C.ckey,
@@ -379,6 +382,7 @@
"h_grad_colour" = h_grad_colour,
"h_grad_alpha" = h_grad_alpha,
"custom_emotes" = json_encode(custom_emotes),
"cyborg_brain_type" = cyborg_brain_type
))
if(!query.warn_execute())
@@ -466,6 +470,7 @@
var/custom_emotes_tmp = query.item[55]
physique = query.item[56]
height = query.item[57]
cyborg_brain_type = query.item[58]
//Sanitize
var/datum/species/SP = GLOB.all_species[species]
@@ -551,7 +556,7 @@
loadout_gear = sanitize_json(loadout_gear)
custom_emotes_tmp = sanitize_json(custom_emotes_tmp)
custom_emotes = init_custom_emotes(custom_emotes_tmp)
cyborg_brain_type = sanitize_inlist(cyborg_brain_type, GLOB.borg_brain_choices, initial(cyborg_brain_type))
if(!player_alt_titles)
player_alt_titles = new()
if(!organ_data)
@@ -862,7 +862,9 @@
active_character.organ_data[organ] = null
if("Cybernetic")
active_character.organ_data[organ] = "cybernetic"
if("cyborg_brain_type")
var/brain_type = tgui_input_list(user, "What type of brain would you like to have as a cyborg?", "Cyborg Brain Type", GLOB.borg_brain_choices)
active_character.cyborg_brain_type = brain_type
if("clientfps")
var/version_message
if(user.client && user.client.byond_version < 511)
@@ -373,6 +373,8 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
if(!ind) dat += "\[...\]<br>"
else dat += "<br>"
dat += "<h2>Cyborg Brain Type</h2>"
dat += "<a href= '?_src_=prefs;preference=cyborg_brain_type;task=input'>[active_character.cyborg_brain_type]</a><BR>"
dat += "<h2>Clothing</h2>"
if(S.clothing_flags & HAS_UNDERWEAR)
dat += "<b>Underwear:</b> <a href ='?_src_=prefs;preference=underwear;task=input'>[active_character.underwear]</a><BR>"