mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-11 07:03:30 +01:00
Patches up all reagent_machines to not accept beakers
I also patched up formatting and switched all .loc to .forceMove().
This commit is contained in:
@@ -191,7 +191,7 @@
|
||||
if(href_list["ejectBeaker"])
|
||||
if(beaker)
|
||||
var/obj/item/weapon/reagent_containers/glass/B = beaker
|
||||
B.loc = loc
|
||||
B.forceMove(loc)
|
||||
beaker = null
|
||||
overlays.Cut()
|
||||
add_fingerprint(usr)
|
||||
@@ -202,25 +202,27 @@
|
||||
return
|
||||
|
||||
if(broken_requirements.len && B.type == broken_requirements[1])
|
||||
broken_requirements -= broken_requirements[1]
|
||||
user << "<span class='notice'>You fix [src].</span>"
|
||||
if(istype(B,/obj/item/stack))
|
||||
var/obj/item/stack/S = B
|
||||
S.use(1)
|
||||
else
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
user << "<span class='warning'>\The [B] is stuck to you!</span>"
|
||||
return
|
||||
qdel(B)
|
||||
broken_requirements -= broken_requirements[1]
|
||||
user << "<span class='notice'>You fix [src].</span>"
|
||||
return
|
||||
|
||||
if(src.beaker)
|
||||
user << "Something is already loaded into the machine."
|
||||
user << "<span class='warning'>Something is already loaded into the machine.</span>"
|
||||
return
|
||||
|
||||
if(istype(B, /obj/item/weapon/reagent_containers/glass) || istype(B, /obj/item/weapon/reagent_containers/food/drinks))
|
||||
src.beaker = B
|
||||
if(user.drop_item())
|
||||
B.forceMove(src)
|
||||
user << "You set [B] on the machine."
|
||||
user << "<span class='notice'>You set [B] on the machine.</span>"
|
||||
nanomanager.update_uis(src) // update all UIs attached to src
|
||||
if(!icon_beaker)
|
||||
icon_beaker = image('icons/obj/chemical.dmi', src, "disp_beaker") //randomize beaker overlay position.
|
||||
@@ -228,7 +230,7 @@
|
||||
overlays += icon_beaker
|
||||
return
|
||||
else
|
||||
user << "\The [B] is stuck to you!"
|
||||
user << "<span class='warning">\The [B] is stuck to you!</span>"
|
||||
|
||||
/obj/machinery/chem_dispenser/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob, params)
|
||||
..()
|
||||
@@ -358,16 +360,16 @@
|
||||
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
if(anchored)
|
||||
anchored = 0
|
||||
user << "<span class='caution'>The [src] can now be moved.</span>"
|
||||
user << "<span class='caution'>\The [src] can now be moved.</span>"
|
||||
else if(!anchored)
|
||||
anchored = 1
|
||||
user << "<span class='caution'>The [src] is now secured.</span>"
|
||||
user << "<span class='caution'>\The [src] is now secured.</span>"
|
||||
|
||||
if(panel_open)
|
||||
if(istype(I, /obj/item/weapon/crowbar))
|
||||
if(beaker)
|
||||
var/obj/item/weapon/reagent_containers/glass/B = beaker
|
||||
B.loc = loc
|
||||
B.forceMove(loc)
|
||||
beaker = null
|
||||
default_deconstruction_crowbar(I)
|
||||
return 1
|
||||
@@ -427,26 +429,30 @@
|
||||
if(istype(B, /obj/item/weapon/reagent_containers/glass) || istype(B, /obj/item/weapon/reagent_containers/food/drinks/drinkingglass))
|
||||
|
||||
if(src.beaker)
|
||||
user << "A beaker is already loaded into the machine."
|
||||
user << "<span class='warning'>A beaker is already loaded into the machine.</span>"
|
||||
return
|
||||
src.beaker = B
|
||||
user.drop_item()
|
||||
B.loc = src
|
||||
user << "You add the beaker to the machine!"
|
||||
src.updateUsrDialog()
|
||||
icon_state = "mixer1"
|
||||
if(user.drop_item())
|
||||
src.beaker = B
|
||||
B.forceMove(src)
|
||||
user << "<span class='notice'>You add the beaker to the machine!</span>"
|
||||
src.updateUsrDialog()
|
||||
icon_state = "mixer1"
|
||||
else
|
||||
user << "<span class='warning'>\The [B] is stuck to you!</span>"
|
||||
|
||||
else if(istype(B, /obj/item/weapon/storage/pill_bottle))
|
||||
|
||||
if(src.loaded_pill_bottle)
|
||||
user << "A pill bottle is already loaded into the machine."
|
||||
user << "<span class='warning'>A pill bottle is already loaded into the machine.</span>"
|
||||
return
|
||||
|
||||
src.loaded_pill_bottle = B
|
||||
user.drop_item()
|
||||
B.loc = src
|
||||
user << "You add the pill bottle into the dispenser slot!"
|
||||
src.updateUsrDialog()
|
||||
if(user.drop_item())
|
||||
src.loaded_pill_bottle = B
|
||||
B.forceMove(src)
|
||||
user << "<span class='notice'>You add the pill bottle into the dispenser slot!</span>"
|
||||
src.updateUsrDialog()
|
||||
else
|
||||
user << "<span class='warning'>\The [B] is stuck to you!</span>"
|
||||
return
|
||||
|
||||
/obj/machinery/chem_master/Topic(href, href_list)
|
||||
@@ -459,7 +465,7 @@
|
||||
|
||||
if (href_list["ejectp"])
|
||||
if(loaded_pill_bottle)
|
||||
loaded_pill_bottle.loc = src.loc
|
||||
loaded_pill_bottle.forceMove(src.loc)
|
||||
loaded_pill_bottle = null
|
||||
else if(href_list["close"])
|
||||
usr << browse(null, "window=chem_master")
|
||||
@@ -579,7 +585,7 @@
|
||||
reagents.trans_to(P,amount_per_pill)
|
||||
if(src.loaded_pill_bottle)
|
||||
if(loaded_pill_bottle.contents.len < loaded_pill_bottle.storage_slots)
|
||||
P.loc = loaded_pill_bottle
|
||||
P.forceMove(loaded_pill_bottle)
|
||||
src.updateUsrDialog()
|
||||
else
|
||||
var/name = reject_bad_text(input(usr,"Name:","Name your bag!",reagents.get_master_reagent_name()))
|
||||
@@ -816,15 +822,17 @@
|
||||
if (beaker)
|
||||
return 1
|
||||
else
|
||||
src.beaker = O
|
||||
user.drop_item()
|
||||
O.loc = src
|
||||
update_icon()
|
||||
src.updateUsrDialog()
|
||||
return 0
|
||||
if(user.drop_item())
|
||||
src.beaker = O
|
||||
O.forceMove(src)
|
||||
update_icon()
|
||||
src.updateUsrDialog()
|
||||
return 0
|
||||
else
|
||||
user << "<span class='warning'>\The [O] is stuck to you!</span>"
|
||||
|
||||
if(holdingitems && holdingitems.len >= limit)
|
||||
usr << "The machine cannot hold anymore items."
|
||||
usr << "<span class='warning'>The machine cannot hold anymore items.</span>"
|
||||
return 1
|
||||
|
||||
//Fill machine with the plantbag!
|
||||
@@ -832,25 +840,25 @@
|
||||
|
||||
for (var/obj/item/weapon/reagent_containers/food/snacks/grown/G in O.contents)
|
||||
O.contents -= G
|
||||
G.loc = src
|
||||
G.forceMove(src)
|
||||
holdingitems += G
|
||||
if(holdingitems && holdingitems.len >= limit) //Sanity checking so the blender doesn't overfill
|
||||
user << "You fill the All-In-One grinder to the brim."
|
||||
user << "<span class='notice>You fill the All-In-One grinder to the brim.</span>"
|
||||
break
|
||||
|
||||
if(!O.contents.len)
|
||||
user << "You empty the plant bag into the All-In-One grinder."
|
||||
user << "<span class='notice'>You empty the plant bag into the All-In-One grinder.</span>"
|
||||
|
||||
src.updateUsrDialog()
|
||||
return 0
|
||||
|
||||
|
||||
if (!is_type_in_list(O, blend_items) && !is_type_in_list(O, juice_items))
|
||||
user << "Cannot refine into a reagent."
|
||||
user << "<span class='warning'>Cannot refine into a reagent.</span>"
|
||||
return 1
|
||||
|
||||
user.unEquip(O)
|
||||
O.loc = src
|
||||
O.forceMove(src)
|
||||
holdingitems += O
|
||||
src.updateUsrDialog()
|
||||
return 0
|
||||
@@ -929,7 +937,7 @@
|
||||
return
|
||||
if (!beaker)
|
||||
return
|
||||
beaker.loc = src.loc
|
||||
beaker.forceMove(src.loc)
|
||||
beaker = null
|
||||
update_icon()
|
||||
|
||||
@@ -941,7 +949,7 @@
|
||||
return
|
||||
|
||||
for(var/obj/item/O in holdingitems)
|
||||
O.loc = src.loc
|
||||
O.forceMove(src.loc)
|
||||
holdingitems -= O
|
||||
holdingitems = list()
|
||||
|
||||
@@ -1146,4 +1154,4 @@
|
||||
var/amount = O.reagents.total_volume
|
||||
O.reagents.trans_to(beaker, amount)
|
||||
if(!O.reagents.total_volume)
|
||||
remove_object(O)
|
||||
remove_object(O)
|
||||
Reference in New Issue
Block a user