mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-16 13:11:55 +00:00
* SDQL2 update * fix that verb * cl * fix that * toworld * this is pointless * update info * siiiiick.. * vv edit update * fix that * fix editing vars * fix VV * Port the /TG/ globals controller. * part 1 * part 2 * oops * part 3 * Hollow Purple * sadas * bsbsdb * muda na agaki ta * ids 1-15 * 16-31 * 41-75 * bring me back to how things used to be before i lost it all * the strength of mayhem * final touches * cl * protect some vars * update sdql2 to use glob * stuff? * forgot that is not defined there * whoops * observ * but it never gets better * a --------- Co-authored-by: Matt Atlas <liermattia@gmail.com>
74 lines
2.4 KiB
Plaintext
74 lines
2.4 KiB
Plaintext
|
|
/*
|
|
|
|
Just some quick documentation about how this works
|
|
|
|
Synthckey is the players ckey which is represented under the synths name in the json, this is required to have
|
|
synthicon is just the sprites name in the dmi
|
|
aichassisicon is the ai chassis icon sprite name
|
|
aiholoicon is the ai hologram icon sprite name
|
|
paiicon is the pai icon sprite name
|
|
|
|
*/
|
|
|
|
|
|
|
|
/datum/custom_synth
|
|
var/synthname = ""
|
|
var/synthckey = ""
|
|
var/synthicon = "robot"
|
|
var/aichassisicon = ""
|
|
var/aiholoicon = ""
|
|
var/paiicon = ""
|
|
|
|
|
|
|
|
/proc/loadsynths_from_json()
|
|
var/list/customsynthsprites = list()
|
|
|
|
if(!(rustg_file_exists("config/customsynths.json") == "true"))
|
|
log_config("The file config/customsynths.json was not found, custom synth config will not be loaded.")
|
|
return
|
|
|
|
try
|
|
customsynthsprites = json_decode(return_file_text("config/customsynths.json"))
|
|
catch(var/exception/ej)
|
|
LOG_DEBUG("Error: Warning: Could not load custom synth config, as customsynths.json is missing - [ej]")
|
|
return
|
|
|
|
robot_custom_icons = list()
|
|
customsynthsprites = customsynthsprites["synths"]
|
|
for (var/synthsprite in customsynthsprites)
|
|
var/datum/custom_synth/synth = new()
|
|
synth.synthname = synthsprite
|
|
synth.synthckey = customsynthsprites[synthsprite]["ckey"]
|
|
synth.synthicon = customsynthsprites[synthsprite]["synthicon"]
|
|
synth.aichassisicon = customsynthsprites[synthsprite]["aichassisicon"]
|
|
synth.aiholoicon = customsynthsprites[synthsprite]["aiholoicon"]
|
|
synth.paiicon = customsynthsprites[synthsprite]["paiicon"]
|
|
robot_custom_icons[synthsprite] = synth
|
|
|
|
/proc/loadsynths_from_sql()
|
|
if(!GLOB.config.sql_enabled)
|
|
LOG_DEBUG("Synthsprites: SQL Disabled - Falling back to JSON")
|
|
loadsynths_from_json()
|
|
return
|
|
if(!establish_db_connection(GLOB.dbcon))
|
|
LOG_DEBUG("Synthsprites: SQL ERROR - Failed to connect. - Falling back to JSON")
|
|
loadsynths_from_json()
|
|
return
|
|
|
|
var/DBQuery/customsynthsprites = GLOB.dbcon.NewQuery("SELECT synthname, synthckey, synthicon, aichassisicon, aiholoicon, paiicon FROM ss13_customsynths ORDER BY synthckey ASC")
|
|
customsynthsprites.Execute()
|
|
while(customsynthsprites.NextRow())
|
|
CHECK_TICK
|
|
|
|
var/datum/custom_synth/synth = new()
|
|
synth.synthname = customsynthsprites.item[1]
|
|
synth.synthckey = customsynthsprites.item[2]
|
|
synth.synthicon = customsynthsprites.item[3]
|
|
synth.aichassisicon = customsynthsprites.item[4]
|
|
synth.aiholoicon = customsynthsprites.item[5]
|
|
synth.paiicon = customsynthsprites.item[6]
|
|
robot_custom_icons[synth.synthname] = synth
|