and finally, the modules folder. Now I can publish and take a break
This commit is contained in:
+120
-114
@@ -1,7 +1,3 @@
|
||||
#define STANDARD_CHARGE 1
|
||||
#define CONTRABAND_CHARGE 2
|
||||
#define COIN_CHARGE 3
|
||||
|
||||
/*
|
||||
* Vending machine types - Can be found under /code/modules/vending/
|
||||
*/
|
||||
@@ -21,7 +17,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
|
||||
*/
|
||||
|
||||
/datum/data/vending_product
|
||||
var/product_name = "generic"
|
||||
name = "generic"
|
||||
var/product_path = null
|
||||
var/amount = 0
|
||||
var/max_amount = 0
|
||||
@@ -74,7 +70,6 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
|
||||
var/dish_quants = list() //used by the snack machine's custom compartment to count dishes.
|
||||
|
||||
var/obj/item/vending_refill/refill_canister = null //The type of refill canisters used by this machine.
|
||||
var/refill_count = 3 //The number of canisters the vending machine uses
|
||||
|
||||
/obj/machinery/vending/Initialize()
|
||||
var/build_inv = FALSE
|
||||
@@ -84,9 +79,9 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
|
||||
. = ..()
|
||||
wires = new /datum/wires/vending(src)
|
||||
if(build_inv) //non-constructable vending machine
|
||||
build_inventory(products)
|
||||
build_inventory(contraband, 1)
|
||||
build_inventory(premium, 0, 1)
|
||||
build_inventory(products, product_records)
|
||||
build_inventory(contraband, hidden_records)
|
||||
build_inventory(premium, coin_records)
|
||||
|
||||
slogan_list = splittext(product_slogans, ";")
|
||||
// So not all machines speak at the exact same time.
|
||||
@@ -102,17 +97,17 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/RefreshParts() //Better would be to make constructable child
|
||||
if(component_parts)
|
||||
product_records = list()
|
||||
hidden_records = list()
|
||||
coin_records = list()
|
||||
build_inventory(products, start_empty = 1)
|
||||
build_inventory(contraband, 1, start_empty = 1)
|
||||
build_inventory(premium, 0, 1, start_empty = 1)
|
||||
for(var/obj/item/vending_refill/VR in component_parts)
|
||||
refill_inventory(VR, product_records, STANDARD_CHARGE)
|
||||
refill_inventory(VR, coin_records, COIN_CHARGE)
|
||||
refill_inventory(VR, hidden_records, CONTRABAND_CHARGE)
|
||||
if(!component_parts)
|
||||
return
|
||||
|
||||
product_records = list()
|
||||
hidden_records = list()
|
||||
coin_records = list()
|
||||
build_inventory(products, product_records, start_empty = TRUE)
|
||||
build_inventory(contraband, hidden_records, start_empty = TRUE)
|
||||
build_inventory(premium, coin_records, start_empty = TRUE)
|
||||
for(var/obj/item/vending_refill/VR in component_parts)
|
||||
restock(VR)
|
||||
|
||||
/obj/machinery/vending/deconstruct(disassembled = TRUE)
|
||||
if(!refill_canister) //the non constructable vendors drop metal instead of a machine frame.
|
||||
@@ -124,25 +119,33 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
|
||||
|
||||
/obj/machinery/vending/obj_break(damage_flag)
|
||||
if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
|
||||
var/dump_amount = 0
|
||||
for(var/datum/data/vending_product/R in product_records)
|
||||
if(R.amount <= 0) //Try to use a record that actually has something to dump.
|
||||
continue
|
||||
var/dump_path = R.product_path
|
||||
if(!dump_path)
|
||||
continue
|
||||
|
||||
while(R.amount>0)
|
||||
var/obj/O = new dump_path(loc)
|
||||
step(O, pick(GLOB.alldirs)) //we only drop 20% of the total of each products and spread it
|
||||
R.amount -= 5 //around to not fill the turf with too many objects.
|
||||
dump_amount++
|
||||
if(dump_amount > 15) //so we don't drop too many items (e.g. ClothesMate)
|
||||
break
|
||||
stat |= BROKEN
|
||||
icon_state = "[initial(icon_state)]-broken"
|
||||
|
||||
/obj/machinery/vending/proc/build_inventory(list/productlist, hidden=0, req_coin=0, start_empty = null)
|
||||
var/dump_amount = 0
|
||||
var/found_anything = TRUE
|
||||
while (found_anything)
|
||||
found_anything = FALSE
|
||||
for(var/record in shuffle(product_records))
|
||||
var/datum/data/vending_product/R = record
|
||||
if(R.amount <= 0) //Try to use a record that actually has something to dump.
|
||||
continue
|
||||
var/dump_path = R.product_path
|
||||
if(!dump_path)
|
||||
continue
|
||||
R.amount--
|
||||
// busting open a vendor will destroy some of the contents
|
||||
if(found_anything && prob(80))
|
||||
continue
|
||||
|
||||
var/obj/O = new dump_path(loc)
|
||||
step(O, pick(GLOB.alldirs))
|
||||
found_anything = TRUE
|
||||
dump_amount++
|
||||
if (dump_amount >= 16)
|
||||
return
|
||||
|
||||
/obj/machinery/vending/proc/build_inventory(list/productlist, list/recordlist, start_empty = FALSE)
|
||||
for(var/typepath in productlist)
|
||||
var/amount = productlist[typepath]
|
||||
if(isnull(amount))
|
||||
@@ -150,47 +153,54 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
|
||||
|
||||
var/atom/temp = typepath
|
||||
var/datum/data/vending_product/R = new /datum/data/vending_product()
|
||||
R.product_name = initial(temp.name)
|
||||
R.name = initial(temp.name)
|
||||
R.product_path = typepath
|
||||
if(!start_empty)
|
||||
R.amount = amount
|
||||
R.max_amount = amount
|
||||
R.display_color = pick("red","blue","green")
|
||||
R.display_color = pick("#ff8080","#80ff80","#8080ff")
|
||||
recordlist += R
|
||||
|
||||
if(hidden)
|
||||
hidden_records += R
|
||||
else if(req_coin)
|
||||
coin_records += R
|
||||
else
|
||||
product_records += R
|
||||
/obj/machinery/vending/proc/restock(obj/item/vending_refill/canister)
|
||||
if (!canister.products)
|
||||
canister.products = products.Copy()
|
||||
if (!canister.contraband)
|
||||
canister.contraband = contraband.Copy()
|
||||
if (!canister.premium)
|
||||
canister.premium = premium.Copy()
|
||||
. = 0
|
||||
. += refill_inventory(canister.products, product_records)
|
||||
. += refill_inventory(canister.contraband, hidden_records)
|
||||
. += refill_inventory(canister.premium, coin_records)
|
||||
|
||||
/obj/machinery/vending/proc/refill_inventory(obj/item/vending_refill/refill, datum/data/vending_product/machine, var/charge_type = STANDARD_CHARGE)
|
||||
var/total = 0
|
||||
var/to_restock = 0
|
||||
/obj/machinery/vending/proc/refill_inventory(list/productlist, list/recordlist)
|
||||
. = 0
|
||||
for(var/R in recordlist)
|
||||
var/datum/data/vending_product/record = R
|
||||
var/diff = min(record.max_amount - record.amount, productlist[record.product_path])
|
||||
if (diff)
|
||||
productlist[record.product_path] -= diff
|
||||
record.amount += diff
|
||||
. += diff
|
||||
|
||||
for(var/datum/data/vending_product/machine_content in machine)
|
||||
if(machine_content.amount == 0 && refill.charges[charge_type] > 0)
|
||||
machine_content.amount++
|
||||
refill.charges[charge_type]--
|
||||
total++
|
||||
to_restock += machine_content.max_amount - machine_content.amount
|
||||
if(to_restock <= refill.charges[charge_type])
|
||||
for(var/datum/data/vending_product/machine_content in machine)
|
||||
machine_content.amount = machine_content.max_amount
|
||||
refill.charges[charge_type] -= to_restock
|
||||
total += to_restock
|
||||
else
|
||||
var/tmp_charges = refill.charges[charge_type]
|
||||
for(var/datum/data/vending_product/machine_content in machine)
|
||||
if(refill.charges[charge_type] == 0)
|
||||
break
|
||||
var/restock = CEILING(((machine_content.max_amount - machine_content.amount)/to_restock)*tmp_charges, 1)
|
||||
if(restock > refill.charges[charge_type])
|
||||
restock = refill.charges[charge_type]
|
||||
machine_content.amount += restock
|
||||
refill.charges[charge_type] -= restock
|
||||
total += restock
|
||||
return total
|
||||
/obj/machinery/vending/proc/update_canister()
|
||||
if (!component_parts)
|
||||
return
|
||||
|
||||
var/obj/item/vending_refill/R = locate() in component_parts
|
||||
if (!R)
|
||||
CRASH("Constructible vending machine did not have a refill canister")
|
||||
return
|
||||
|
||||
R.products = unbuild_inventory(product_records)
|
||||
R.contraband = unbuild_inventory(hidden_records)
|
||||
R.premium = unbuild_inventory(coin_records)
|
||||
|
||||
/obj/machinery/vending/proc/unbuild_inventory(list/recordlist)
|
||||
. = list()
|
||||
for(var/R in recordlist)
|
||||
var/datum/data/vending_product/record = R
|
||||
.[record.product_path] += record.amount
|
||||
|
||||
/obj/machinery/vending/crowbar_act(mob/living/user, obj/item/I)
|
||||
if(!component_parts)
|
||||
@@ -248,46 +258,52 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
|
||||
bill = new S.type(src, 1)
|
||||
to_chat(user, "<span class='notice'>You insert [I] into [src].</span>")
|
||||
return
|
||||
else if(istype(I, refill_canister) && refill_canister != null)
|
||||
if(stat & (BROKEN|NOPOWER))
|
||||
to_chat(user, "<span class='notice'>It does nothing.</span>")
|
||||
else if(panel_open)
|
||||
else if(refill_canister && istype(I, refill_canister))
|
||||
if (!panel_open)
|
||||
to_chat(user, "<span class='notice'>You should probably unscrew the service panel first.</span>")
|
||||
else if (stat & (BROKEN|NOPOWER))
|
||||
to_chat(user, "<span class='notice'>[src] does not respond.</span>")
|
||||
else
|
||||
//if the panel is open we attempt to refill the machine
|
||||
var/obj/item/vending_refill/canister = I
|
||||
if(canister.charges[STANDARD_CHARGE] == 0)
|
||||
to_chat(user, "<span class='notice'>This [canister.name] is empty!</span>")
|
||||
if(canister.get_part_rating() == 0)
|
||||
to_chat(user, "<span class='notice'>[canister] is empty!</span>")
|
||||
else
|
||||
var/transfered = refill_inventory(canister,product_records,STANDARD_CHARGE)
|
||||
transfered += refill_inventory(canister,coin_records,COIN_CHARGE)
|
||||
transfered += refill_inventory(canister,hidden_records,CONTRABAND_CHARGE)
|
||||
if(transfered)
|
||||
to_chat(user, "<span class='notice'>You loaded [transfered] items in \the [name].</span>")
|
||||
// instantiate canister if needed
|
||||
var/transferred = restock(canister)
|
||||
if(transferred)
|
||||
to_chat(user, "<span class='notice'>You loaded [transferred] items in [src].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>The [name] is fully stocked.</span>")
|
||||
to_chat(user, "<span class='notice'>There's nothing to restock!</span>")
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You should probably unscrew the service panel first.</span>")
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/exchange_parts(mob/user, obj/item/storage/part_replacer/W)
|
||||
if(!istype(W))
|
||||
return FALSE
|
||||
if((flags_1 & NODECONSTRUCT_1) && !W.works_from_distance)
|
||||
return FALSE
|
||||
if(!component_parts || !refill_canister)
|
||||
return FALSE
|
||||
|
||||
var/moved = 0
|
||||
if(panel_open || W.works_from_distance)
|
||||
if(W.works_from_distance)
|
||||
display_parts(user)
|
||||
for(var/I in W)
|
||||
if(istype(I, refill_canister))
|
||||
moved += restock(I)
|
||||
else
|
||||
display_parts(user)
|
||||
if(moved)
|
||||
to_chat(user, "[moved] items restocked.")
|
||||
W.play_rped_sound()
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/vending/on_deconstruction()
|
||||
var/product_list = list(product_records, hidden_records, coin_records)
|
||||
for(var/i=1, i<=3, i++)
|
||||
for(var/datum/data/vending_product/machine_content in product_list[i])
|
||||
while(machine_content.amount !=0)
|
||||
var/safety = 0 //to avoid infinite loop
|
||||
for(var/obj/item/vending_refill/VR in component_parts)
|
||||
safety++
|
||||
if(VR.charges[i] < VR.init_charges[i])
|
||||
VR.charges[i]++
|
||||
machine_content.amount--
|
||||
if(!machine_content.amount)
|
||||
break
|
||||
else
|
||||
safety--
|
||||
if(safety <= 0) // all refill canisters are full
|
||||
break
|
||||
..()
|
||||
update_canister()
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/vending/emag_act(mob/user)
|
||||
if(obj_flags & EMAGGED)
|
||||
@@ -323,7 +339,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
|
||||
dat += "<a href='byond://?src=[REF(src)];vend=[REF(R)]'>Vend</a> "
|
||||
else
|
||||
dat += "<span class='linkOff'>Sold out</span> "
|
||||
dat += "<font color = '[R.display_color]'><b>[sanitize(R.product_name)]</b>:</font>"
|
||||
dat += "<font color = '[R.display_color]'><b>[sanitize(R.name)]</b>:</font>"
|
||||
dat += " <b>[R.amount]</b>"
|
||||
dat += "</li>"
|
||||
dat += "</ul>"
|
||||
@@ -358,17 +374,11 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
|
||||
to_chat(usr, "<span class='notice'>There is no money in this machine.</span>")
|
||||
return
|
||||
if(coin)
|
||||
if(!usr.get_active_held_item())
|
||||
usr.put_in_hands(coin)
|
||||
else
|
||||
coin.forceMove(get_turf(src))
|
||||
usr.put_in_hands(coin)
|
||||
to_chat(usr, "<span class='notice'>You remove [coin] from [src].</span>")
|
||||
coin = null
|
||||
if(bill)
|
||||
if(!usr.get_active_held_item())
|
||||
usr.put_in_hands(bill)
|
||||
else
|
||||
bill.forceMove(get_turf(src))
|
||||
usr.put_in_hands(bill)
|
||||
to_chat(usr, "<span class='notice'>You remove [bill] from [src].</span>")
|
||||
bill = null
|
||||
|
||||
@@ -545,7 +555,3 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
|
||||
|
||||
/obj/machinery/vending/onTransitZ()
|
||||
return
|
||||
|
||||
#undef STANDARD_CHARGE
|
||||
#undef CONTRABAND_CHARGE
|
||||
#undef COIN_CHARGE
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "A vending machine for costumes."
|
||||
icon_state = "theater"
|
||||
icon_deny = "theater-deny"
|
||||
req_access_txt = "46" //Theatre access needed, unless hacked.
|
||||
req_access = list(ACCESS_THEATRE)
|
||||
product_slogans = "Dress for success!;Suited and booted!;It's show time!;Why leave style up to fate? Use AutoDrobe!"
|
||||
vend_reply = "Thank you for using AutoDrobe!"
|
||||
products = list(/obj/item/clothing/suit/chickensuit = 1,
|
||||
@@ -115,15 +115,17 @@
|
||||
premium = list(/obj/item/clothing/suit/pirate/captain = 2,
|
||||
/obj/item/clothing/head/pirate/captain = 2,
|
||||
/obj/item/clothing/head/helmet/roman/fake = 1,
|
||||
/obj/item/clothing/head/helmet/roman/legionaire/fake = 1,
|
||||
/obj/item/clothing/head/helmet/roman/legionnaire/fake = 1,
|
||||
/obj/item/clothing/under/roman = 1,
|
||||
/obj/item/clothing/shoes/roman = 1,
|
||||
/obj/item/shield/riot/roman/fake = 1,
|
||||
/obj/item/skub = 1)
|
||||
refill_canister = /obj/item/vending_refill/autodrobe
|
||||
|
||||
/obj/machinery/vending/autodrobe/all_access
|
||||
desc = "A vending machine for costumes. This model appears to have no access restrictions."
|
||||
req_access = null
|
||||
|
||||
/obj/item/vending_refill/autodrobe
|
||||
machine_name = "AutoDrobe"
|
||||
icon_state = "refill_costume"
|
||||
charges = list(32, 2, 3)// of 96 standard, 6 contraband, 9 premium
|
||||
init_charges = list(32, 2, 3)
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
/obj/item/reagent_containers/food/drinks/bottle/absinthe = 5,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/grappa = 5,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/sake = 5,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/fernet = 5,
|
||||
/obj/item/reagent_containers/food/drinks/ale = 6,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/orangejuice = 4,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/tomatojuice = 4,
|
||||
@@ -32,13 +31,18 @@
|
||||
/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass = 12,
|
||||
/obj/item/reagent_containers/food/drinks/flask = 3,
|
||||
/obj/item/reagent_containers/food/drinks/beer = 6)
|
||||
contraband = list(/obj/item/reagent_containers/food/drinks/mug/tea = 12)
|
||||
contraband = list(/obj/item/reagent_containers/food/drinks/mug/tea = 12,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/fernet = 5)
|
||||
product_slogans = "I hope nobody asks me for a bloody cup o' tea...;Alcohol is humanity's friend. Would you abandon a friend?;Quite delighted to serve you!;Is nobody thirsty on this station?"
|
||||
product_ads = "Drink up!;Booze is good for you!;Alcohol is humanity's best friend.;Quite delighted to serve you!;Care for a nice, cold beer?;Nothing cures you like booze!;Have a sip!;Have a drink!;Have a beer!;Beer is good for you!;Only the finest alcohol!;Best quality booze since 2053!;Award-winning wine!;Maximum alcohol!;Man loves beer.;A toast for progress!"
|
||||
req_access_txt = "25"
|
||||
req_access = list(ACCESS_BAR)
|
||||
refill_canister = /obj/item/vending_refill/boozeomat
|
||||
|
||||
/obj/machinery/vending/boozeomat/maint
|
||||
/obj/machinery/vending/boozeomat/all_access
|
||||
desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one. This model appears to have no access restrictions."
|
||||
req_access = null
|
||||
|
||||
/obj/machinery/vending/boozeomat/pubby_maint //abandoned bar on Pubbystation
|
||||
products = list(/obj/item/reagent_containers/food/drinks/bottle/whiskey = 1,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/absinthe = 1,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/limejuice = 1,
|
||||
@@ -48,10 +52,17 @@
|
||||
/obj/item/reagent_containers/food/drinks/ice = 3,
|
||||
/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass = 6,
|
||||
/obj/item/reagent_containers/food/drinks/flask = 1)
|
||||
req_access_txt = "0"
|
||||
req_access = null
|
||||
|
||||
/obj/machinery/vending/boozeomat/pubby_captain //Captain's quarters on Pubbystation
|
||||
products = list(/obj/item/reagent_containers/food/drinks/bottle/rum = 1,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/wine = 1,
|
||||
/obj/item/reagent_containers/food/drinks/ale = 1,
|
||||
/obj/item/reagent_containers/food/drinks/drinkingglass = 6,
|
||||
/obj/item/reagent_containers/food/drinks/ice = 1,
|
||||
/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass = 4);
|
||||
req_access = list(ACCESS_CAPTAIN)
|
||||
|
||||
/obj/item/vending_refill/boozeomat
|
||||
machine_name = "Booze-O-Mat"
|
||||
icon_state = "refill_booze"
|
||||
charges = list(61, 4, 0)//of 182 standard, 12 contraband
|
||||
init_charges = list(61, 4, 0)
|
||||
|
||||
@@ -41,8 +41,6 @@
|
||||
/obj/item/vending_refill/cigarette
|
||||
machine_name = "ShadyCigs Deluxe"
|
||||
icon_state = "refill_smoke"
|
||||
charges = list(12, 3, 2)// of 36 standard, 9 contraband, 6 premium
|
||||
init_charges = list(12, 3, 2)
|
||||
|
||||
/obj/machinery/vending/cigarette/pre_throw(obj/item/I)
|
||||
if(istype(I, /obj/item/lighter))
|
||||
|
||||
@@ -119,5 +119,3 @@
|
||||
/obj/item/vending_refill/clothing
|
||||
machine_name = "ClothesMate"
|
||||
icon_state = "refill_clothes"
|
||||
charges = list(38, 4, 4)// of 112 standard, 12 contraband, 10 premium(?)
|
||||
init_charges = list(38, 4, 4)
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
product_ads = "Have a drink!;Drink up!;It's good for you!;Would you like a hot joe?;I'd kill for some coffee!;The best beans in the galaxy.;Only the finest brew for you.;Mmmm. Nothing like a coffee.;I like coffee, don't you?;Coffee helps you work!;Try some tea.;We hope you like the best!;Try our new chocolate!;Admin conspiracies"
|
||||
icon_state = "coffee"
|
||||
icon_vend = "coffee-vend"
|
||||
products = list(/obj/item/reagent_containers/food/drinks/coffee = 25,
|
||||
/obj/item/reagent_containers/food/drinks/mug/tea = 25,
|
||||
products = list(/obj/item/reagent_containers/food/drinks/coffee = 25,
|
||||
/obj/item/reagent_containers/food/drinks/mug/tea = 25,
|
||||
/obj/item/reagent_containers/food/drinks/mug/coco = 25)
|
||||
contraband = list(/obj/item/reagent_containers/food/drinks/ice = 12)
|
||||
refill_canister = /obj/item/vending_refill/coffee
|
||||
@@ -13,5 +13,3 @@
|
||||
/obj/item/vending_refill/coffee
|
||||
machine_name = "Solar's Best Hot Drinks"
|
||||
icon_state = "refill_joe"
|
||||
charges = list(25, 4, 0)//of 75 standard, 12 contraband
|
||||
init_charges = list(25, 4, 0)
|
||||
|
||||
@@ -22,8 +22,6 @@
|
||||
/obj/item/vending_refill/cola
|
||||
machine_name = "Robust Softdrinks"
|
||||
icon_state = "refill_cola"
|
||||
charges = list(30, 4, 1)//of 90 standard, 12 contraband, 1 premium
|
||||
init_charges = list(30, 4, 1)
|
||||
|
||||
/obj/machinery/vending/cola/random
|
||||
name = "\improper Random Drinkies"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
desc = "Everything you need for do-it-yourself station repair."
|
||||
icon_state = "engi"
|
||||
icon_deny = "engi-deny"
|
||||
req_access_txt = "11"
|
||||
req_access = list(ACCESS_ENGINE_EQUIP)
|
||||
products = list(/obj/item/clothing/under/rank/chief_engineer = 4,
|
||||
/obj/item/clothing/under/rank/engineer = 4,
|
||||
/obj/item/clothing/shoes/sneakers/orange = 4,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Spare tool vending. What? Did you expect some witty description?"
|
||||
icon_state = "engivend"
|
||||
icon_deny = "engivend-deny"
|
||||
req_access_txt = "11" //Engineering Equipment access
|
||||
req_access = list(ACCESS_ENGINE_EQUIP)
|
||||
products = list(/obj/item/clothing/glasses/meson/engine = 2,
|
||||
/obj/item/clothing/glasses/welding = 3,
|
||||
/obj/item/multitool = 4,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/machinery/vending/games
|
||||
name = "\improper Good Clean Fun"
|
||||
desc = "Vends things that the Captain and Head of Personnel are probably not going to appreciate you fiddling with instead of your job..."
|
||||
product_ads = "Escape to a fantasy world!;Fuel your gambling addiction!;Ruin your friendships!;Roll for initative!;Elves and dwarves!;Paranoid computers!;Totally not satanic!;Fun times forever!"
|
||||
product_ads = "Escape to a fantasy world!;Fuel your gambling addiction!;Ruin your friendships!;Roll for initiative!;Elves and dwarves!;Paranoid computers!;Totally not satanic!;Fun times forever!"
|
||||
icon_state = "games"
|
||||
products = list(/obj/item/toy/cards/deck = 5,
|
||||
/obj/item/storage/pill_bottle/dice = 10,
|
||||
@@ -13,5 +13,3 @@
|
||||
/obj/item/vending_refill/games
|
||||
machine_name = "\improper Good Clean Fun"
|
||||
icon_state = "refill_games"
|
||||
charges = list(7, 3, 0) //of 21 standard, 9 contraband
|
||||
init_charges = list(7, 3, 0)
|
||||
|
||||
@@ -2,11 +2,14 @@
|
||||
name = "\improper Liberation Station"
|
||||
desc = "An overwhelming amount of <b>ancient patriotism</b> washes over you just by looking at the machine."
|
||||
icon_state = "liberationstation"
|
||||
req_access_txt = "1"
|
||||
product_slogans = "Liberation Station: Your one-stop shop for all things second ammendment!;Be a patriot today, pick up a gun!;Quality weapons for cheap prices!;Better dead than red!"
|
||||
product_ads = "Float like an astronaut, sting like a bullet!;Express your second ammendment today!;Guns don't kill people, but you can!;Who needs responsibilities when you have guns?"
|
||||
vend_reply = "Remember the name: Liberation Station!"
|
||||
products = list(/obj/item/gun/ballistic/automatic/pistol/deagle/gold = 2,
|
||||
products = list(/obj/item/reagent_containers/food/snacks/burger/plain = 5, //O say can you see, by the dawn's early light
|
||||
/obj/item/reagent_containers/food/snacks/burger/baseball = 3, //What so proudly we hailed at the twilight's last gleaming
|
||||
/obj/item/reagent_containers/food/snacks/fries = 5, //Whose broad stripes and bright stars through the perilous fight
|
||||
/obj/item/reagent_containers/food/drinks/beer/light = 10, //O'er the ramparts we watched, were so gallantly streaming?
|
||||
/obj/item/gun/ballistic/automatic/pistol/deagle/gold = 2,
|
||||
/obj/item/gun/ballistic/automatic/pistol/deagle/camo = 2,
|
||||
/obj/item/gun/ballistic/automatic/pistol/m1911 = 2,
|
||||
/obj/item/gun/ballistic/automatic/proto/unrestricted = 2,
|
||||
@@ -17,8 +20,11 @@
|
||||
premium = list(/obj/item/ammo_box/magazine/smgm9mm = 2,
|
||||
/obj/item/ammo_box/magazine/m50 = 4,
|
||||
/obj/item/ammo_box/magazine/m45 = 2,
|
||||
/obj/item/ammo_box/magazine/m75 = 2)
|
||||
contraband = list(/obj/item/clothing/under/patriotsuit = 1,
|
||||
/obj/item/bedsheet/patriot = 3)
|
||||
/obj/item/ammo_box/magazine/m75 = 2,
|
||||
/obj/item/reagent_containers/food/snacks/cheesyfries = 5,
|
||||
/obj/item/reagent_containers/food/snacks/burger/baconburger = 5) //Premium burgers for the premium section
|
||||
contraband = list(/obj/item/clothing/under/patriotsuit = 3,
|
||||
/obj/item/bedsheet/patriot = 5,
|
||||
/obj/item/reagent_containers/food/snacks/burger/superbite = 3) //U S A
|
||||
armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
name = "\improper Syndicate Donksoft Toy Vendor"
|
||||
desc = "An ages 8 and up approved vendor that dispenses toys. If you were to find the right wires, you can unlock the adult mode setting!"
|
||||
icon_state = "syndi"
|
||||
req_access_txt = "1"
|
||||
product_slogans = "Get your cool toys today!;Trigger a valid hunter today!;Quality toy weapons for cheap prices!;Give them to HoPs for all access!;Give them to HoS to get perma briged!"
|
||||
product_slogans = "Get your cool toys today!;Trigger a valid hunter today!;Quality toy weapons for cheap prices!;Give them to HoPs for all access!;Give them to HoS to get permabrigged!"
|
||||
product_ads = "Feel robust with your toys!;Express your inner child today!;Toy weapons don't kill people, but valid hunters do!;Who needs responsibilities when you have toy weapons?;Make your next murder FUN!"
|
||||
vend_reply = "Come back for more!"
|
||||
circuit = /obj/item/circuitboard/machine/vending/syndicatedonksofttoyvendor
|
||||
|
||||
@@ -4,25 +4,25 @@
|
||||
icon_state = "med"
|
||||
icon_deny = "med-deny"
|
||||
product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!"
|
||||
req_access_txt = "5"
|
||||
products = list(/obj/item/reagent_containers/syringe = 12,
|
||||
/obj/item/reagent_containers/dropper = 3,
|
||||
/obj/item/healthanalyzer = 4,
|
||||
/obj/item/sensor_device = 2,
|
||||
req_access = list(ACCESS_MEDICAL)
|
||||
products = list(/obj/item/reagent_containers/syringe = 12,
|
||||
/obj/item/reagent_containers/dropper = 3,
|
||||
/obj/item/healthanalyzer = 4,
|
||||
/obj/item/sensor_device = 2,
|
||||
/obj/item/pinpointer/crew = 2,
|
||||
/obj/item/reagent_containers/medspray/sterilizine = 1,
|
||||
/obj/item/stack/medical/gauze = 8,
|
||||
/obj/item/reagent_containers/pill/patch/styptic = 5,
|
||||
/obj/item/reagent_containers/medspray/styptic = 2,
|
||||
/obj/item/reagent_containers/pill/patch/silver_sulf = 5,
|
||||
/obj/item/stack/medical/gauze = 8,
|
||||
/obj/item/reagent_containers/pill/patch/styptic = 5,
|
||||
/obj/item/reagent_containers/medspray/styptic = 2,
|
||||
/obj/item/reagent_containers/pill/patch/silver_sulf = 5,
|
||||
/obj/item/reagent_containers/medspray/silver_sulf = 2,
|
||||
/obj/item/reagent_containers/pill/insulin = 10,
|
||||
/obj/item/reagent_containers/pill/salbutamol = 2,
|
||||
/obj/item/reagent_containers/glass/bottle/charcoal = 4,
|
||||
/obj/item/reagent_containers/glass/bottle/epinephrine = 4,
|
||||
/obj/item/reagent_containers/pill/salbutamol = 2,
|
||||
/obj/item/reagent_containers/glass/bottle/charcoal = 4,
|
||||
/obj/item/reagent_containers/glass/bottle/epinephrine = 4,
|
||||
/obj/item/reagent_containers/glass/bottle/salglu_solution = 3,
|
||||
/obj/item/reagent_containers/glass/bottle/morphine = 4,
|
||||
/obj/item/reagent_containers/glass/bottle/toxin = 3,
|
||||
/obj/item/reagent_containers/glass/bottle/morphine = 4,
|
||||
/obj/item/reagent_containers/glass/bottle/toxin = 3,
|
||||
/obj/item/reagent_containers/syringe/antiviral = 6)
|
||||
contraband = list(/obj/item/reagent_containers/pill/tox = 3,
|
||||
/obj/item/reagent_containers/pill/morphine = 4,
|
||||
@@ -36,7 +36,5 @@
|
||||
refill_canister = /obj/item/vending_refill/medical
|
||||
|
||||
/obj/item/vending_refill/medical
|
||||
machine_name = "NanoMed"
|
||||
machine_name = "NanoMed Plus"
|
||||
icon_state = "refill_medical"
|
||||
charges = list(26, 5, 3)// of 76 standard, 13 contraband, 8 premium
|
||||
init_charges = list(26, 5, 3)
|
||||
|
||||
@@ -15,5 +15,8 @@
|
||||
/obj/item/reagent_containers/pill/morphine = 2)
|
||||
armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
|
||||
resistance_flags = FIRE_PROOF
|
||||
refill_canister = /obj/item/vending_refill/medical
|
||||
refill_count = 1
|
||||
refill_canister = /obj/item/vending_refill/wallmed
|
||||
|
||||
/obj/item/vending_refill/wallmed
|
||||
machine_name = "NanoMed"
|
||||
icon_state = "refill_medical"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
desc = "All the tools you need to create your own robot army."
|
||||
icon_state = "robotics"
|
||||
icon_deny = "robotics-deny"
|
||||
req_access_txt = "29"
|
||||
req_access = list(ACCESS_ROBOTICS)
|
||||
products = list(/obj/item/clothing/suit/toggle/labcoat = 4,
|
||||
/obj/item/clothing/under/rank/roboticist = 4,
|
||||
/obj/item/stack/cable_coil = 4,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
product_ads = "Crack capitalist skulls!;Beat some heads in!;Don't forget - harm is good!;Your weapons are right here.;Handcuffs!;Freeze, scumbag!;Don't tase me bro!;Tase them, bro.;Why not have a donut?"
|
||||
icon_state = "sec"
|
||||
icon_deny = "sec-deny"
|
||||
req_access_txt = "1"
|
||||
req_access = list(ACCESS_SECURITY)
|
||||
products = list(/obj/item/restraints/handcuffs = 8,
|
||||
/obj/item/restraints/handcuffs/cable/zipties = 10,
|
||||
/obj/item/grenade/flashbang = 4,
|
||||
|
||||
@@ -13,12 +13,10 @@
|
||||
/obj/item/reagent_containers/food/snacks/cheesiehonkers = 6)
|
||||
contraband = list(/obj/item/reagent_containers/food/snacks/syndicake = 6)
|
||||
refill_canister = /obj/item/vending_refill/snack
|
||||
var/chef_compartment_access = "28"
|
||||
var/chef_compartment_access = "28" //ACCESS_KITCHEN
|
||||
|
||||
/obj/item/vending_refill/snack
|
||||
machine_name = "Getmore Chocolate Corp"
|
||||
charges = list(12, 2, 0)//of 36 standard, 6 contraband
|
||||
init_charges = list(12, 2, 0)
|
||||
|
||||
/obj/machinery/vending/snack/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/reagent_containers/food/snacks))
|
||||
@@ -44,7 +42,7 @@
|
||||
if(iscompartmentfull(user))
|
||||
break
|
||||
if(!S.junkiness)
|
||||
T.SendSignal(COMSIG_TRY_STORAGE_TAKE, S, src, TRUE)
|
||||
SEND_SIGNAL(T, COMSIG_TRY_STORAGE_TAKE, S, src, TRUE)
|
||||
food_load(S)
|
||||
loaded++
|
||||
else
|
||||
|
||||
@@ -2,24 +2,26 @@
|
||||
name = "\improper Donksoft Toy Vendor"
|
||||
desc = "Ages 8 and up approved vendor that dispenses toys."
|
||||
icon_state = "syndi"
|
||||
product_slogans = "Get your cool toys today!;Trigger a valid hunter today!;Quality toy weapons for cheap prices!;Give them to HoPs for all access!;Give them to HoS to get perma briged!"
|
||||
product_slogans = "Get your cool toys today!;Trigger a valid hunter today!;Quality toy weapons for cheap prices!;Give them to HoPs for all access!;Give them to HoS to get permabrigged!"
|
||||
product_ads = "Feel robust with your toys!;Express your inner child today!;Toy weapons don't kill people, but valid hunters do!;Who needs responsibilities when you have toy weapons?;Make your next murder FUN!"
|
||||
vend_reply = "Come back for more!"
|
||||
circuit = /obj/item/circuitboard/machine/vending/donksofttoyvendor
|
||||
products = list(/obj/item/gun/ballistic/automatic/toy/unrestricted = 10,
|
||||
/obj/item/gun/ballistic/automatic/toy/pistol/unrestricted = 10,
|
||||
/obj/item/gun/ballistic/shotgun/toy/unrestricted = 10,
|
||||
/obj/item/toy/sword = 10,
|
||||
/obj/item/ammo_box/foambox = 20,
|
||||
/obj/item/toy/foamblade = 10,
|
||||
/obj/item/toy/syndicateballoon = 10,
|
||||
/obj/item/clothing/suit/syndicatefake = 5,
|
||||
/obj/item/clothing/head/syndicatefake = 5)
|
||||
contraband = list(/obj/item/gun/ballistic/shotgun/toy/crossbow = 10,
|
||||
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted = 10,
|
||||
/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted = 10,
|
||||
/obj/item/toy/katana = 10,
|
||||
/obj/item/twohanded/dualsaber/toy = 5)
|
||||
products = list(
|
||||
/obj/item/gun/ballistic/automatic/toy/unrestricted = 10,
|
||||
/obj/item/gun/ballistic/automatic/toy/pistol/unrestricted = 10,
|
||||
/obj/item/gun/ballistic/shotgun/toy/unrestricted = 10,
|
||||
/obj/item/toy/sword = 10,
|
||||
/obj/item/ammo_box/foambox = 20,
|
||||
/obj/item/toy/foamblade = 10,
|
||||
/obj/item/toy/syndicateballoon = 10,
|
||||
/obj/item/clothing/suit/syndicatefake = 5,
|
||||
/obj/item/clothing/head/syndicatefake = 5)
|
||||
contraband = list(
|
||||
/obj/item/gun/ballistic/shotgun/toy/crossbow = 10,
|
||||
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted = 10,
|
||||
/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted = 10,
|
||||
/obj/item/toy/katana = 10,
|
||||
/obj/item/twohanded/dualsaber/toy = 5)
|
||||
armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
|
||||
resistance_flags = FIRE_PROOF
|
||||
refill_canister = /obj/item/vending_refill/donksoft
|
||||
@@ -27,5 +29,3 @@
|
||||
/obj/item/vending_refill/donksoft
|
||||
machine_name = "Donksoft Toy Vendor"
|
||||
icon_state = "refill_donksoft"
|
||||
charges = list(32,28,0)// of 90 standard, 75 contraband, 0 premium
|
||||
init_charges = list(32,28,0)
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
/obj/item/clothing/head/soft/sec = 3,
|
||||
/obj/item/clothing/mask/bandana/red = 3,
|
||||
/obj/item/clothing/under/rank/security/skirt = 3,
|
||||
/obj/item/clothing/under/rank/security/grey = 3)
|
||||
/obj/item/clothing/under/rank/security/grey = 3,
|
||||
/obj/item/clothing/under/pants/khaki = 3)
|
||||
premium = list(/obj/item/clothing/under/rank/security/navyblue = 3,
|
||||
/obj/item/clothing/suit/security/officer = 3,
|
||||
/obj/item/clothing/head/beret/sec/navyofficer = 3)
|
||||
@@ -25,8 +26,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/sec_wardrobe
|
||||
machine_name = "SecDrobe"
|
||||
charges = list(10, 0, 3)
|
||||
init_charges = list(10, 0, 3)
|
||||
|
||||
/obj/machinery/vending/wardrobe/medi_wardrobe
|
||||
name = "\improper MediDrobe"
|
||||
@@ -55,8 +54,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/medi_wardrobe
|
||||
machine_name = "MediDrobe"
|
||||
charges = list(10, 0, 0)
|
||||
init_charges = list(10, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/engi_wardrobe
|
||||
name = "EngiDrobe"
|
||||
@@ -77,8 +74,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/engi_wardrobe
|
||||
machine_name = "EngiDrobe"
|
||||
charges = list(7, 0, 0)
|
||||
init_charges = list(7, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/atmos_wardrobe
|
||||
name = "AtmosDrobe"
|
||||
@@ -97,8 +92,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/atmos_wardrobe
|
||||
machine_name = "AtmosDrobe"
|
||||
charges = list(5, 0, 0)
|
||||
init_charges = list(5, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/cargo_wardrobe
|
||||
name = "CargoDrobe"
|
||||
@@ -116,8 +109,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/cargo_wardrobe
|
||||
machine_name = "CargoDrobe"
|
||||
charges = list(5, 0, 0)
|
||||
init_charges = list(5, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/robo_wardrobe
|
||||
name = "RoboDrobe"
|
||||
@@ -136,8 +127,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/robo_wardrobe
|
||||
machine_name = "RoboDrobe"
|
||||
charges = list(4, 0, 0)
|
||||
init_charges = list(4, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/science_wardrobe
|
||||
name = "SciDrobe"
|
||||
@@ -158,8 +147,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/science_wardrobe
|
||||
machine_name = "SciDrobe"
|
||||
charges = list(8, 0, 0)
|
||||
init_charges = list(8, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/hydro_wardrobe
|
||||
name = "Hydrobe"
|
||||
@@ -178,8 +165,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/hydro_wardrobe
|
||||
machine_name = "HyDrobe"
|
||||
charges = list(6, 0, 0)
|
||||
init_charges = list(6, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/curator_wardrobe
|
||||
name = "CuraDrobe"
|
||||
@@ -197,8 +182,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/curator_wardrobe
|
||||
machine_name = "CuraDrobe"
|
||||
charges = list(3, 0, 0)
|
||||
init_charges = list(3, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/bar_wardrobe
|
||||
name = "BarDrobe"
|
||||
@@ -226,8 +209,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/bar_wardrobe
|
||||
machine_name = "BarDrobe"
|
||||
charges = list(8, 0, 0)
|
||||
init_charges = list(8, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/chef_wardrobe
|
||||
name = "ChefDrobe"
|
||||
@@ -250,8 +231,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/chef_wardrobe
|
||||
machine_name = "ChefDrobe"
|
||||
charges = list(6, 0, 0)
|
||||
init_charges = list(6, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/jani_wardrobe
|
||||
name = "JaniDrobe"
|
||||
@@ -278,8 +257,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/jani_wardrobe
|
||||
machine_name = "JaniDrobe"
|
||||
charges = list(7, 0, 0)
|
||||
init_charges = list(7, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/law_wardrobe
|
||||
name = "LawDrobe"
|
||||
@@ -302,8 +279,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/law_wardrobe
|
||||
machine_name = "LawDrobe"
|
||||
charges = list(5, 0, 0)
|
||||
init_charges = list(5, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/chap_wardrobe
|
||||
name = "ChapDrobe"
|
||||
@@ -324,8 +299,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/chap_wardrobe
|
||||
machine_name = "ChapDrobe"
|
||||
charges = list(6, 0, 0)
|
||||
init_charges = list(6, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/chem_wardrobe
|
||||
name = "ChemDrobe"
|
||||
@@ -343,8 +316,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/chem_wardrobe
|
||||
machine_name = "ChemDrobe"
|
||||
charges = list(4, 0, 0)
|
||||
init_charges = list(4, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/gene_wardrobe
|
||||
name = "GeneDrobe"
|
||||
@@ -361,8 +332,6 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/gene_wardrobe
|
||||
machine_name = "GeneDrobe"
|
||||
charges = list(4, 0, 0)
|
||||
init_charges = list(4, 0, 0)
|
||||
|
||||
/obj/machinery/vending/wardrobe/viro_wardrobe
|
||||
name = "ViroDrobe"
|
||||
@@ -380,5 +349,3 @@
|
||||
|
||||
/obj/item/vending_refill/wardrobe/viro_wardrobe
|
||||
machine_name = "ViroDrobe"
|
||||
charges = list(4, 0, 0)
|
||||
init_charges = list(4, 0, 0)
|
||||
@@ -3,7 +3,6 @@
|
||||
desc = "Tools for tools."
|
||||
icon_state = "tool"
|
||||
icon_deny = "tool-deny"
|
||||
//req_access_txt = "12" //Maintenance access
|
||||
products = list(/obj/item/stack/cable_coil/random = 10,
|
||||
/obj/item/crowbar = 5,
|
||||
/obj/item/weldingtool = 3,
|
||||
|
||||
Reference in New Issue
Block a user