mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-18 02:25:06 +01:00
Merge pull request #1442 from Yoshax/drinksloadout
Loadout (vacuum-)flask contents now configurable.
This commit is contained in:
@@ -111,3 +111,34 @@ var/datum/gear_tweak/color/gear_tweak_free_color_choice = new()
|
||||
else
|
||||
path = contents[metadata[i]]
|
||||
new path(I)
|
||||
|
||||
/*
|
||||
* Ragent 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())
|
||||
|
||||
@@ -30,10 +30,18 @@
|
||||
display_name = "flask"
|
||||
path = /obj/item/weapon/reagent_containers/food/drinks/flask/barflask
|
||||
|
||||
/datum/gear/flask/New()
|
||||
..()
|
||||
gear_tweaks += new/datum/gear_tweak/reagents(lunchables_ethanol_reagents())
|
||||
|
||||
/datum/gear/vacflask
|
||||
display_name = "vacuum-flask"
|
||||
path = /obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask
|
||||
|
||||
/datum/gear/vacflask/New()
|
||||
..()
|
||||
gear_tweaks += new/datum/gear_tweak/reagents(lunchables_drink_reagents())
|
||||
|
||||
/datum/gear/comb
|
||||
display_name = "purple comb"
|
||||
path = /obj/item/weapon/haircomb
|
||||
|
||||
@@ -51,6 +51,28 @@ var/list/lunchables_drinks_ = list(/obj/item/weapon/reagent_containers/food/drin
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/tonic,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater)
|
||||
|
||||
// This default list is a bit different, it contains items we don't want
|
||||
var/list/lunchables_drink_reagents_ = list(/datum/reagent/drink/nothing,
|
||||
/datum/reagent/drink/doctor_delight,
|
||||
/datum/reagent/drink/dry_ramen,
|
||||
/datum/reagent/drink/hell_ramen,
|
||||
/datum/reagent/drink/hot_ramen,
|
||||
/datum/reagent/drink/nuka_cola,)
|
||||
|
||||
// This default list is a bit different, it contains items we don't want
|
||||
var/list/lunchables_ethanol_reagents_ = list(/datum/reagent/ethanol/acid_spit,
|
||||
/datum/reagent/ethanol/atomicbomb,
|
||||
/datum/reagent/ethanol/beepsky_smash,
|
||||
/datum/reagent/ethanol/coffee,
|
||||
/datum/reagent/ethanol/hippies_delight,
|
||||
/datum/reagent/ethanol/hooch,
|
||||
/datum/reagent/ethanol/thirteenloko,
|
||||
/datum/reagent/ethanol/manhattan_proj,
|
||||
/datum/reagent/ethanol/neurotoxin,
|
||||
/datum/reagent/ethanol/pwine,
|
||||
/datum/reagent/ethanol/threemileisland,
|
||||
/datum/reagent/ethanol/toxins_special)
|
||||
|
||||
/proc/lunchables_lunches()
|
||||
if(!(lunchables_lunches_[lunchables_lunches_[1]]))
|
||||
lunchables_lunches_ = init_lunchable_list(lunchables_lunches_)
|
||||
@@ -66,9 +88,28 @@ var/list/lunchables_drinks_ = list(/obj/item/weapon/reagent_containers/food/drin
|
||||
lunchables_drinks_ = init_lunchable_list(lunchables_drinks_)
|
||||
return lunchables_drinks_
|
||||
|
||||
/proc/lunchables_drink_reagents()
|
||||
if(!(lunchables_drink_reagents_[lunchables_drink_reagents_[1]]))
|
||||
lunchables_drink_reagents_ = init_lunchable_reagent_list(lunchables_drink_reagents_, /datum/reagent/drink)
|
||||
return lunchables_drink_reagents_
|
||||
|
||||
/proc/lunchables_ethanol_reagents()
|
||||
if(!(lunchables_ethanol_reagents_[lunchables_ethanol_reagents_[1]]))
|
||||
lunchables_ethanol_reagents_ = init_lunchable_reagent_list(lunchables_ethanol_reagents_, /datum/reagent/ethanol)
|
||||
return lunchables_ethanol_reagents_
|
||||
|
||||
/proc/init_lunchable_list(var/list/lunches)
|
||||
var/list/unsorted_lunches = list()
|
||||
. = list()
|
||||
for(var/lunch in lunches)
|
||||
var/obj/O = lunch
|
||||
unsorted_lunches[initial(O.name)] = lunch
|
||||
return sortAssoc(unsorted_lunches)
|
||||
.[initial(O.name)] = lunch
|
||||
return sortAssoc(.)
|
||||
|
||||
/proc/init_lunchable_reagent_list(var/list/banned_reagents, var/reagent_types)
|
||||
. = list()
|
||||
for(var/reagent_type in subtypes(reagent_types))
|
||||
if(reagent_type in banned_reagents)
|
||||
continue
|
||||
var/datum/reagent/reagent = reagent_type
|
||||
.[initial(reagent.name)] = initial(reagent.id)
|
||||
return sortAssoc(.)
|
||||
|
||||
Reference in New Issue
Block a user