diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index b8ddadf09e4..f39d416b9df 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -87,19 +87,19 @@ dat += "Activate Biogenerator!
" dat += "Detach Container

" dat += "Food
" - dat += "10 milk (20)
" - dat += "Slab of meat (50)
" + dat += "10 milk (20)
" + dat += "Slab of meat (50)
" dat += "Nutrient
" - dat += "E-Z-Nutrient (10) | x5
" - dat += "Left 4 Zed (20) | x5
" - dat += "Robust Harvest (25) | x5
" + dat += "E-Z-Nutrient (10) | x5
" + dat += "Left 4 Zed (20) | x5
" + dat += "Robust Harvest (25) | x5
" dat += "Leather
" - dat += "Wallet (100)
" - dat += "Botanical gloves (250)
" - dat += "Utility belt (300)
" - dat += "Leather Satchel (400)
" + dat += "Wallet (100)
" + dat += "Botanical gloves (250)
" + dat += "Utility belt (300)
" + dat += "Leather Satchel (400)
" //dat += "Other
" - //dat += "Monkey (500)
" + //dat += "Monkey (500)
" else dat += "
No beaker inside. Please insert a beaker.
" if("nopoints") @@ -146,54 +146,74 @@ menustat = "void" return -/obj/machinery/biogenerator/proc/create_product(var/item,var/cost) - if(cost > points) +/obj/machinery/biogenerator/proc/check_cost(var/cost) + if (cost > points) menustat = "nopoints" + return 1 + else + points -= cost + processing = 1 + update_icon() + updateUsrDialog() + sleep(30) return 0 - processing = 1 - update_icon() - updateUsrDialog() - points -= cost - sleep(30) + +/obj/machinery/biogenerator/proc/create_product(var/item) switch(item) if("milk") - beaker.reagents.add_reagent("milk",10) + if (check_cost(20)) return 0 + else beaker.reagents.add_reagent("milk",10) if("meat") - new/obj/item/weapon/reagent_containers/food/snacks/meat(src.loc) + if (check_cost(50)) return 0 + else new/obj/item/weapon/reagent_containers/food/snacks/meat(src.loc) if("ez") - new/obj/item/nutrient/ez(src.loc) + if (check_cost(10)) return 0 + else new/obj/item/nutrient/ez(src.loc) if("l4z") - new/obj/item/nutrient/l4z(src.loc) + if (check_cost(20)) return 0 + else new/obj/item/nutrient/l4z(src.loc) if("rh") - new/obj/item/nutrient/rh(src.loc) + if (check_cost(25)) return 0 + else new/obj/item/nutrient/rh(src.loc) if("ez5") //It's not an elegant method, but it's safe and easy. -Cheridan - new/obj/item/nutrient/ez(src.loc) - new/obj/item/nutrient/ez(src.loc) - new/obj/item/nutrient/ez(src.loc) - new/obj/item/nutrient/ez(src.loc) - new/obj/item/nutrient/ez(src.loc) + if (check_cost(50)) return 0 + else + new/obj/item/nutrient/ez(src.loc) + new/obj/item/nutrient/ez(src.loc) + new/obj/item/nutrient/ez(src.loc) + new/obj/item/nutrient/ez(src.loc) + new/obj/item/nutrient/ez(src.loc) if("l4z5") - new/obj/item/nutrient/l4z(src.loc) - new/obj/item/nutrient/l4z(src.loc) - new/obj/item/nutrient/l4z(src.loc) - new/obj/item/nutrient/l4z(src.loc) - new/obj/item/nutrient/l4z(src.loc) + if (check_cost(100)) return 0 + else + new/obj/item/nutrient/l4z(src.loc) + new/obj/item/nutrient/l4z(src.loc) + new/obj/item/nutrient/l4z(src.loc) + new/obj/item/nutrient/l4z(src.loc) + new/obj/item/nutrient/l4z(src.loc) if("rh5") - new/obj/item/nutrient/rh(src.loc) - new/obj/item/nutrient/rh(src.loc) - new/obj/item/nutrient/rh(src.loc) - new/obj/item/nutrient/rh(src.loc) - new/obj/item/nutrient/rh(src.loc) + if (check_cost(125)) return 0 + else + new/obj/item/nutrient/rh(src.loc) + new/obj/item/nutrient/rh(src.loc) + new/obj/item/nutrient/rh(src.loc) + new/obj/item/nutrient/rh(src.loc) + new/obj/item/nutrient/rh(src.loc) if("wallet") - new/obj/item/weapon/storage/wallet(src.loc) + if (check_cost(100)) return 0 + else new/obj/item/weapon/storage/wallet(src.loc) if("gloves") - new/obj/item/clothing/gloves/botanic_leather(src.loc) + if (check_cost(250)) return 0 + else new/obj/item/clothing/gloves/botanic_leather(src.loc) if("tbelt") - new/obj/item/weapon/storage/belt/utility(src.loc) + if (check_cost(300)) return 0 + else new/obj/item/weapon/storage/belt/utility(src.loc) if("satchel") - new/obj/item/weapon/storage/backpack/satchel(src.loc) - if("monkey") - new/mob/living/carbon/monkey(src.loc) + if (check_cost(400)) return 0 + else new/obj/item/weapon/storage/backpack/satchel(src.loc) + //if("monkey") + // if (check_cost(500)) return 0 + // else new/mob/living/carbon/monkey(src.loc) processing = 0 menustat = "complete" update_icon() diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 639ff1c485b..964ff592f45 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -276,6 +276,7 @@ if(href_list["amount"]) var/id = href_list["add"] var/amount = text2num(href_list["amount"]) + if (amount < 0) return R.trans_id_to(src, id, amount) else if (href_list["addcustom"]) @@ -290,6 +291,7 @@ if(href_list["amount"]) var/id = href_list["remove"] var/amount = text2num(href_list["amount"]) + if (amount < 0) return if(mode) reagents.trans_id_to(beaker, id, amount) else