mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-28 23:59:40 +01:00
Merge remote-tracking branch 'upstream/release'
This commit is contained in:
@@ -59,7 +59,7 @@
|
||||
switch(href_list["flavor_text"])
|
||||
if("open")
|
||||
if("general")
|
||||
var/msg = sanitize(input(usr,"Give a general description of your character. This will be shown regardless of clothing, and may include OOC notes and preferences.","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]])) as message, extra = 0)
|
||||
var/msg = sanitize(input(usr,"Give a general description of your character. This will be shown regardless of clothings.","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]])) as message, extra = 0) //VOREStation Edit: separating out OOC notes
|
||||
if(CanUseTopic(user))
|
||||
pref.flavor_texts[href_list["flavor_text"]] = msg
|
||||
else
|
||||
|
||||
@@ -140,3 +140,300 @@
|
||||
else
|
||||
. = valid_reagents[metadata]
|
||||
I.reagents.add_reagent(., I.reagents.get_free_space())
|
||||
|
||||
|
||||
/datum/gear_tweak/tablet
|
||||
var/list/ValidProcessors = list(/obj/item/weapon/computer_hardware/processor_unit/small)
|
||||
var/list/ValidBatteries = list(/obj/item/weapon/computer_hardware/battery_module/nano, /obj/item/weapon/computer_hardware/battery_module/micro, /obj/item/weapon/computer_hardware/battery_module)
|
||||
var/list/ValidHardDrives = list(/obj/item/weapon/computer_hardware/hard_drive/micro, /obj/item/weapon/computer_hardware/hard_drive/small, /obj/item/weapon/computer_hardware/hard_drive)
|
||||
var/list/ValidNetworkCards = list(/obj/item/weapon/computer_hardware/network_card, /obj/item/weapon/computer_hardware/network_card/advanced)
|
||||
var/list/ValidNanoPrinters = list(null, /obj/item/weapon/computer_hardware/nano_printer)
|
||||
var/list/ValidCardSlots = list(null, /obj/item/weapon/computer_hardware/card_slot)
|
||||
var/list/ValidTeslaLinks = list(null, /obj/item/weapon/computer_hardware/tesla_link)
|
||||
|
||||
/datum/gear_tweak/tablet/get_contents(var/list/metadata)
|
||||
var/list/names = list()
|
||||
var/obj/O = ValidProcessors[metadata[1]]
|
||||
if(O)
|
||||
names += initial(O.name)
|
||||
O = ValidBatteries[metadata[2]]
|
||||
if(O)
|
||||
names += initial(O.name)
|
||||
O = ValidHardDrives[metadata[3]]
|
||||
if(O)
|
||||
names += initial(O.name)
|
||||
O = ValidNetworkCards[metadata[4]]
|
||||
if(O)
|
||||
names += initial(O.name)
|
||||
O = ValidNanoPrinters[metadata[5]]
|
||||
if(O)
|
||||
names += initial(O.name)
|
||||
O = ValidCardSlots[metadata[6]]
|
||||
if(O)
|
||||
names += initial(O.name)
|
||||
O = ValidTeslaLinks[metadata[7]]
|
||||
if(O)
|
||||
names += initial(O.name)
|
||||
return "[english_list(names, and_text = ", ")]"
|
||||
|
||||
/datum/gear_tweak/tablet/get_metadata(var/user, var/metadata)
|
||||
. = list()
|
||||
|
||||
var/list/names = list()
|
||||
var/counter = 1
|
||||
for(var/i in ValidProcessors)
|
||||
if(i)
|
||||
var/obj/O = i
|
||||
names[initial(O.name)] = counter++
|
||||
else
|
||||
names["None"] = counter++
|
||||
|
||||
var/entry = input(user, "Choose a processor.", "Character Preference") in names
|
||||
. += names[entry]
|
||||
|
||||
names = list()
|
||||
counter = 1
|
||||
for(var/i in ValidBatteries)
|
||||
if(i)
|
||||
var/obj/O = i
|
||||
names[initial(O.name)] = counter++
|
||||
else
|
||||
names["None"] = counter++
|
||||
|
||||
entry = input(user, "Choose a battery.", "Character Preference") in names
|
||||
. += names[entry]
|
||||
|
||||
names = list()
|
||||
counter = 1
|
||||
for(var/i in ValidHardDrives)
|
||||
if(i)
|
||||
var/obj/O = i
|
||||
names[initial(O.name)] = counter++
|
||||
else
|
||||
names["None"] = counter++
|
||||
|
||||
entry = input(user, "Choose a hard drive.", "Character Preference") in names
|
||||
. += names[entry]
|
||||
|
||||
names = list()
|
||||
counter = 1
|
||||
for(var/i in ValidNetworkCards)
|
||||
if(i)
|
||||
var/obj/O = i
|
||||
names[initial(O.name)] = counter++
|
||||
else
|
||||
names["None"] = counter++
|
||||
|
||||
entry = input(user, "Choose a network card.", "Character Preference") in names
|
||||
. += names[entry]
|
||||
|
||||
names = list()
|
||||
counter = 1
|
||||
for(var/i in ValidNanoPrinters)
|
||||
if(i)
|
||||
var/obj/O = i
|
||||
names[initial(O.name)] = counter++
|
||||
else
|
||||
names["None"] = counter++
|
||||
|
||||
entry = input(user, "Choose a nanoprinter.", "Character Preference") in names
|
||||
. += names[entry]
|
||||
|
||||
names = list()
|
||||
counter = 1
|
||||
for(var/i in ValidCardSlots)
|
||||
if(i)
|
||||
var/obj/O = i
|
||||
names[initial(O.name)] = counter++
|
||||
else
|
||||
names["None"] = counter++
|
||||
|
||||
entry = input(user, "Choose a card slot.", "Character Preference") in names
|
||||
. += names[entry]
|
||||
|
||||
names = list()
|
||||
counter = 1
|
||||
for(var/i in ValidTeslaLinks)
|
||||
if(i)
|
||||
var/obj/O = i
|
||||
names[initial(O.name)] = counter++
|
||||
else
|
||||
names["None"] = counter++
|
||||
|
||||
entry = input(user, "Choose a tesla link.", "Character Preference") in names
|
||||
. += names[entry]
|
||||
|
||||
/datum/gear_tweak/tablet/get_default()
|
||||
return list(1, 1, 1, 1, 1, 1, 1)
|
||||
|
||||
/datum/gear_tweak/tablet/tweak_item(var/obj/item/modular_computer/tablet/I, var/list/metadata)
|
||||
if(ValidProcessors[metadata[1]])
|
||||
var/t = ValidProcessors[metadata[1]]
|
||||
I.processor_unit = new t(I)
|
||||
if(ValidBatteries[metadata[2]])
|
||||
var/t = ValidBatteries[metadata[2]]
|
||||
I.battery_module = new t(I)
|
||||
I.battery_module.charge_to_full()
|
||||
if(ValidHardDrives[metadata[3]])
|
||||
var/t = ValidHardDrives[metadata[3]]
|
||||
I.hard_drive = new t(I)
|
||||
if(ValidNetworkCards[metadata[4]])
|
||||
var/t = ValidNetworkCards[metadata[4]]
|
||||
I.network_card = new t(I)
|
||||
if(ValidNanoPrinters[metadata[5]])
|
||||
var/t = ValidNanoPrinters[metadata[5]]
|
||||
I.nano_printer = new t(I)
|
||||
if(ValidCardSlots[metadata[6]])
|
||||
var/t = ValidCardSlots[metadata[6]]
|
||||
I.card_slot = new t(I)
|
||||
if(ValidTeslaLinks[metadata[7]])
|
||||
var/t = ValidTeslaLinks[metadata[7]]
|
||||
I.tesla_link = new t(I)
|
||||
|
||||
/datum/gear_tweak/laptop
|
||||
var/list/ValidProcessors = list(/obj/item/weapon/computer_hardware/processor_unit/small, /obj/item/weapon/computer_hardware/processor_unit)
|
||||
var/list/ValidBatteries = list(/obj/item/weapon/computer_hardware/battery_module, /obj/item/weapon/computer_hardware/battery_module/advanced, /obj/item/weapon/computer_hardware/battery_module/super)
|
||||
var/list/ValidHardDrives = list(/obj/item/weapon/computer_hardware/hard_drive, /obj/item/weapon/computer_hardware/hard_drive/advanced, /obj/item/weapon/computer_hardware/hard_drive/super)
|
||||
var/list/ValidNetworkCards = list(/obj/item/weapon/computer_hardware/network_card, /obj/item/weapon/computer_hardware/network_card/advanced)
|
||||
var/list/ValidNanoPrinters = list(null, /obj/item/weapon/computer_hardware/nano_printer)
|
||||
var/list/ValidCardSlots = list(null, /obj/item/weapon/computer_hardware/card_slot)
|
||||
var/list/ValidTeslaLinks = list(null, /obj/item/weapon/computer_hardware/tesla_link)
|
||||
|
||||
/datum/gear_tweak/laptop/get_contents(var/list/metadata)
|
||||
var/list/names = list()
|
||||
var/obj/O = ValidProcessors[metadata[1]]
|
||||
if(O)
|
||||
names += initial(O.name)
|
||||
O = ValidBatteries[metadata[2]]
|
||||
if(O)
|
||||
names += initial(O.name)
|
||||
O = ValidHardDrives[metadata[3]]
|
||||
if(O)
|
||||
names += initial(O.name)
|
||||
O = ValidNetworkCards[metadata[4]]
|
||||
if(O)
|
||||
names += initial(O.name)
|
||||
O = ValidNanoPrinters[metadata[5]]
|
||||
if(O)
|
||||
names += initial(O.name)
|
||||
O = ValidCardSlots[metadata[6]]
|
||||
if(O)
|
||||
names += initial(O.name)
|
||||
O = ValidTeslaLinks[metadata[7]]
|
||||
if(O)
|
||||
names += initial(O.name)
|
||||
return "[english_list(names, and_text = ", ")]"
|
||||
|
||||
/datum/gear_tweak/laptop/get_metadata(var/user, var/metadata)
|
||||
. = list()
|
||||
|
||||
var/list/names = list()
|
||||
var/counter = 1
|
||||
for(var/i in ValidProcessors)
|
||||
if(i)
|
||||
var/obj/O = i
|
||||
names[initial(O.name)] = counter++
|
||||
else
|
||||
names["None"] = counter++
|
||||
|
||||
var/entry = input(user, "Choose a processor.", "Character Preference") in names
|
||||
. += names[entry]
|
||||
|
||||
names = list()
|
||||
counter = 1
|
||||
for(var/i in ValidBatteries)
|
||||
if(i)
|
||||
var/obj/O = i
|
||||
names[initial(O.name)] = counter++
|
||||
else
|
||||
names["None"] = counter++
|
||||
|
||||
entry = input(user, "Choose a battery.", "Character Preference") in names
|
||||
. += names[entry]
|
||||
|
||||
names = list()
|
||||
counter = 1
|
||||
for(var/i in ValidHardDrives)
|
||||
if(i)
|
||||
var/obj/O = i
|
||||
names[initial(O.name)] = counter++
|
||||
else
|
||||
names["None"] = counter++
|
||||
|
||||
entry = input(user, "Choose a hard drive.", "Character Preference") in names
|
||||
. += names[entry]
|
||||
|
||||
names = list()
|
||||
counter = 1
|
||||
for(var/i in ValidNetworkCards)
|
||||
if(i)
|
||||
var/obj/O = i
|
||||
names[initial(O.name)] = counter++
|
||||
else
|
||||
names["None"] = counter++
|
||||
|
||||
entry = input(user, "Choose a network card.", "Character Preference") in names
|
||||
. += names[entry]
|
||||
|
||||
names = list()
|
||||
counter = 1
|
||||
for(var/i in ValidNanoPrinters)
|
||||
if(i)
|
||||
var/obj/O = i
|
||||
names[initial(O.name)] = counter++
|
||||
else
|
||||
names["None"] = counter++
|
||||
|
||||
entry = input(user, "Choose a nanoprinter.", "Character Preference") in names
|
||||
. += names[entry]
|
||||
|
||||
names = list()
|
||||
counter = 1
|
||||
for(var/i in ValidCardSlots)
|
||||
if(i)
|
||||
var/obj/O = i
|
||||
names[initial(O.name)] = counter++
|
||||
else
|
||||
names["None"] = counter++
|
||||
|
||||
entry = input(user, "Choose a card slot.", "Character Preference") in names
|
||||
. += names[entry]
|
||||
|
||||
names = list()
|
||||
counter = 1
|
||||
for(var/i in ValidTeslaLinks)
|
||||
if(i)
|
||||
var/obj/O = i
|
||||
names[initial(O.name)] = counter++
|
||||
else
|
||||
names["None"] = counter++
|
||||
|
||||
entry = input(user, "Choose a tesla link.", "Character Preference") in names
|
||||
. += names[entry]
|
||||
|
||||
/datum/gear_tweak/laptop/get_default()
|
||||
return list(1, 1, 1, 1, 1, 1, 1)
|
||||
|
||||
/datum/gear_tweak/laptop/tweak_item(var/obj/item/modular_computer/laptop/preset/I, var/list/metadata)
|
||||
if(ValidProcessors[metadata[1]])
|
||||
var/t = ValidProcessors[metadata[1]]
|
||||
I.processor_unit = new t(I)
|
||||
if(ValidBatteries[metadata[2]])
|
||||
var/t = ValidBatteries[metadata[2]]
|
||||
I.battery_module = new t(I)
|
||||
I.battery_module.charge_to_full()
|
||||
if(ValidHardDrives[metadata[3]])
|
||||
var/t = ValidHardDrives[metadata[3]]
|
||||
I.hard_drive = new t(I)
|
||||
if(ValidNetworkCards[metadata[4]])
|
||||
var/t = ValidNetworkCards[metadata[4]]
|
||||
I.network_card = new t(I)
|
||||
if(ValidNanoPrinters[metadata[5]])
|
||||
var/t = ValidNanoPrinters[metadata[5]]
|
||||
I.nano_printer = new t(I)
|
||||
if(ValidCardSlots[metadata[6]])
|
||||
var/t = ValidCardSlots[metadata[6]]
|
||||
I.card_slot = new t(I)
|
||||
if(ValidTeslaLinks[metadata[7]])
|
||||
var/t = ValidTeslaLinks[metadata[7]]
|
||||
I.tesla_link = new t(I)
|
||||
|
||||
@@ -36,11 +36,11 @@
|
||||
|
||||
/datum/gear/accessory/brown_vest
|
||||
display_name = "webbing, brown"
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic","Pathfinder")
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic","Pathfinder","Shaft Miner")
|
||||
|
||||
/datum/gear/accessory/black_vest
|
||||
display_name = "webbing, black"
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic","Pathfinder")
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic","Pathfinder","Shaft Miner")
|
||||
|
||||
/datum/gear/accessory/white_vest
|
||||
display_name = "webbing, white (Medical)"
|
||||
@@ -48,16 +48,19 @@
|
||||
|
||||
/datum/gear/accessory/brown_drop_pouches
|
||||
display_name = "drop pouches, brown"
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic","Pathfinder")
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic","Pathfinder","Shaft Miner")
|
||||
|
||||
/datum/gear/accessory/black_drop_pouches
|
||||
display_name = "drop pouches, black"
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic","Pathfinder")
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic","Pathfinder","Shaft Miner")
|
||||
|
||||
/datum/gear/accessory/white_drop_pouches
|
||||
display_name = "drop pouches, white (Medical)"
|
||||
allowed_roles = list("Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic")
|
||||
|
||||
/datum/gear/accessory/webbing
|
||||
cost = 1
|
||||
|
||||
/datum/gear/accessory/stethoscope
|
||||
allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Psychiatrist","Paramedic", "Field Medic")
|
||||
|
||||
@@ -78,4 +81,4 @@
|
||||
|
||||
/datum/gear/accessory/flops/New()
|
||||
..()
|
||||
gear_tweaks = list(gear_tweak_free_color_choice)
|
||||
gear_tweaks = list(gear_tweak_free_color_choice)
|
||||
|
||||
@@ -159,3 +159,48 @@
|
||||
/datum/gear/utility/umbrella/New()
|
||||
..()
|
||||
gear_tweaks = list(gear_tweak_free_color_choice)
|
||||
|
||||
/****************
|
||||
modular computers
|
||||
****************/
|
||||
|
||||
/datum/gear/utility/cheaptablet
|
||||
display_name = "tablet computer: cheap"
|
||||
display_name = "tablet computer, cheap"
|
||||
path = /obj/item/modular_computer/tablet/preset/custom_loadout/cheap
|
||||
cost = 3
|
||||
|
||||
/datum/gear/utility/normaltablet
|
||||
display_name = "tablet computer: advanced"
|
||||
display_name = "tablet computer, advanced"
|
||||
path = /obj/item/modular_computer/tablet/preset/custom_loadout/advanced
|
||||
cost = 4
|
||||
|
||||
/datum/gear/utility/customtablet
|
||||
display_name = "tablet computer: custom"
|
||||
display_name = "tablet computer, custom"
|
||||
path = /obj/item/modular_computer/tablet
|
||||
cost = 4
|
||||
|
||||
/datum/gear/utility/customtablet/New()
|
||||
..()
|
||||
gear_tweaks += new /datum/gear_tweak/tablet()
|
||||
|
||||
/datum/gear/utility/cheaplaptop
|
||||
display_name = "laptop computer, cheap"
|
||||
path = /obj/item/modular_computer/laptop/preset/custom_loadout/cheap
|
||||
cost = 4
|
||||
|
||||
/datum/gear/utility/normallaptop
|
||||
display_name = "laptop computer, advanced"
|
||||
path = /obj/item/modular_computer/laptop/preset/custom_loadout/advanced
|
||||
cost = 5
|
||||
|
||||
/datum/gear/utility/customlaptop
|
||||
display_name = "laptop computer, custom"
|
||||
path = /obj/item/modular_computer/laptop/preset/
|
||||
cost = 6
|
||||
|
||||
/datum/gear/utility/customlaptop/New()
|
||||
..()
|
||||
gear_tweaks += new /datum/gear_tweak/laptop()
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
if(alt_title && !(alt_title in job.alt_titles))
|
||||
pref.player_alt_titles -= job.title
|
||||
|
||||
/datum/category_item/player_setup_item/occupation/content(mob/user, limit = 19, list/splitJobs = list("Chief Engineer")) //VOREStation Edit
|
||||
/datum/category_item/player_setup_item/occupation/content(mob/user, limit = 20, list/splitJobs = list("Pathfinder")) //VOREStation Edit
|
||||
if(!job_master)
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user