Files
Aurora.3/code/modules/client/preference_setup/loadout/gear_tweaks.dm
Alberyk 54b64c3688 Loadout fix and virus immunity additions (#1804)
-changed some things on the tweak path loadout to avoid runtimes
-fixed some species being affected by virus when they should be immune to them
-fixed being able to miss when firing point blank
-tweaks a bit more the corporate safe contents
-moves some clothing objects to the proper place and fixes some names
2017-02-24 19:12:16 +02:00

115 lines
2.8 KiB
Plaintext

/datum/gear_tweak/proc/get_contents(var/metadata)
return
/datum/gear_tweak/proc/get_metadata(var/user, var/metadata)
return
/datum/gear_tweak/proc/get_default()
return
/datum/gear_tweak/proc/tweak_gear_data(var/metadata, var/datum/gear_data)
return
/datum/gear_tweak/proc/tweak_item(var/obj/item/I, var/metadata)
return
/*
* Path adjustment
*/
/datum/gear_tweak/path
var/list/valid_paths
/datum/gear_tweak/path/New(var/list/valid_paths)
src.valid_paths = valid_paths
..()
/datum/gear_tweak/path/get_contents(var/metadata)
return "(Type: [metadata])"
/datum/gear_tweak/path/get_default()
return valid_paths[1]
/datum/gear_tweak/path/get_metadata(var/user, var/metadata)
return input(user, "Choose a type.", "Character Preference", metadata) as null|anything in valid_paths
/datum/gear_tweak/path/tweak_gear_data(var/metadata, var/datum/gear_data/gear_data)
if(!(metadata in valid_paths))
return
gear_data.path = valid_paths[metadata]
/*
* Content adjustment
*/
/datum/gear_tweak/contents
var/list/valid_contents
/datum/gear_tweak/contents/New()
valid_contents = args
..()
/datum/gear_tweak/contents/get_contents(var/metadata)
return "(Contents)"
/datum/gear_tweak/contents/get_default()
. = list()
for(var/i = 1 to valid_contents.len)
var/list/contents = valid_contents[i]
. += contents[1]
/datum/gear_tweak/contents/get_metadata(var/user, var/list/metadata)
. = list()
for(var/i = 1 to valid_contents.len)
var/entry = input(user, "Choose an entry.", "Character Preference", metadata[i]) as null|anything in (valid_contents[i] + list("Random", "None"))
if(entry)
. += entry
else
return metadata
/datum/gear_tweak/contents/tweak_item(var/obj/item/I, var/list/metadata)
if(metadata.len != valid_contents.len)
return
for(var/i = 1 to valid_contents.len)
var/list/contents = valid_contents[i]
var/path = contents[metadata[i]]
if(path)
if(path == "Random")
path = pick(contents)
path = contents[path]
else if(path == "None")
continue
new path(I)
/*
Reagents adjustment
*/
/datum/gear_tweak/reagents
var/list/valid_reagents
/datum/gear_tweak/reagents/New(var/list/reagents)
valid_reagents = reagents.Copy()
..()
/datum/gear_tweak/reagents/get_contents(var/metadata)
return "Reagents: [metadata]"
/datum/gear_tweak/reagents/get_default()
return "Random"
/datum/gear_tweak/reagents/get_metadata(var/user, var/list/metadata)
. = input(user, "Choose an entry.", "Character Preference", metadata) as null|anything in (valid_reagents + list("Random", "None"))
if(!.)
return metadata
/datum/gear_tweak/reagents/tweak_item(var/obj/item/I, var/list/metadata)
if(metadata == "None")
return
if(metadata == "Random")
. = valid_reagents[pick(valid_reagents)]
else
. = valid_reagents[metadata]
I.reagents.add_reagent(., I.reagents.get_free_space())