Resprites gibber, food processor, grinder, bottler. (#20583)

* more sprites!

* gr

* Update code/modules/food_and_drinks/kitchen_machinery/gibber.dm

Co-authored-by: Farie82 <farie82@users.noreply.github.com>

---------

Co-authored-by: Farie82 <farie82@users.noreply.github.com>
This commit is contained in:
S34N
2023-03-15 19:46:21 +00:00
committed by GitHub
parent d19e8dfb0f
commit 9a11a8ef92
3 changed files with 31 additions and 15 deletions
@@ -25,7 +25,7 @@
/obj/machinery/gibber/Initialize(mapload)
. = ..()
add_overlay("grjam")
add_overlay("grinder_jam")
component_parts = list()
component_parts += new /obj/item/circuitboard/gibber(null)
component_parts += new /obj/item/stock_parts/matter_bin(null)
@@ -45,23 +45,29 @@
user.Stun(20 SECONDS)
user.forceMove(src)
occupant = user
update_icon(UPDATE_OVERLAYS)
update_icon(UPDATE_OVERLAYS | UPDATE_ICON_STATE)
feedinTopanim()
addtimer(CALLBACK(src, PROC_REF(startgibbing), user), 33)
return OBLITERATION
/obj/machinery/gibber/update_icon_state()
if(operating && !(stat & (NOPOWER|BROKEN)))
icon_state = "grinder_on"
return
icon_state = initial(icon_state)
/obj/machinery/gibber/update_overlays()
. = ..()
if(dirty)
. += "grbloody"
. += "grinder_bloody"
if(stat & (NOPOWER|BROKEN))
return
if(!occupant)
. += "grjam"
. += "grinder_jam"
else if(operating)
. += "gruse"
. += "grinder_use"
else
. += "gridle"
. += "grinder_idle"
/obj/machinery/gibber/relaymove(mob/user)
if(locked)
@@ -145,7 +151,7 @@
victim.forceMove(src)
occupant = victim
update_icon(UPDATE_OVERLAYS)
update_icon(UPDATE_OVERLAYS | UPDATE_ICON_STATE)
INVOKE_ASYNC(src, PROC_REF(feedinTopanim))
/obj/machinery/gibber/verb/eject()
@@ -172,7 +178,7 @@
occupant.forceMove(get_turf(src))
occupant = null
update_icon(UPDATE_OVERLAYS)
update_icon(UPDATE_OVERLAYS | UPDATE_ICON_STATE)
return
@@ -184,8 +190,9 @@
var/image/gibberoverlay = new //used to simulate 3D effects
gibberoverlay.icon = icon
gibberoverlay.icon_state = "grinderoverlay"
gibberoverlay.overlays += image('icons/obj/kitchen.dmi', "gridle")
gibberoverlay.icon_state = "grinder_overlay"
gibberoverlay.overlays += image('icons/obj/kitchen.dmi', "grinder_idle")
icon_state = "grinder_on"
var/image/feedee = new
occupant.dir = 2
@@ -195,7 +202,6 @@
holder.name = null //make unclickable
holder.overlays += feedee //add occupant to holder overlays
holder.pixel_y = 25 //above the gibber
holder.pixel_x = 2
holder.loc = get_turf(src)
holder.layer = MOB_LAYER //simulate mob-like layering
holder.anchored = TRUE
@@ -221,6 +227,7 @@
qdel(holder) //get rid of holder object
qdel(holder2) //get rid of holder object
locked = FALSE //unlock
dirty = TRUE //dirty gibber
/obj/machinery/gibber/proc/startgibbing(mob/user, UserOverride=0)
if(!istype(user) && !UserOverride)
@@ -242,7 +249,7 @@
visible_message("<span class='danger'>You hear a loud squelchy grinding sound.</span>")
operating = TRUE
update_icon(UPDATE_OVERLAYS)
update_icon(UPDATE_OVERLAYS | UPDATE_ICON_STATE)
var/offset = prob(50) ? -2 : 2
animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = gibtime * 5) //start shaking
@@ -304,7 +311,7 @@
pixel_x = initial(pixel_x) //return to it's spot after shaking
operating = FALSE
update_icon(UPDATE_OVERLAYS)
update_icon(UPDATE_OVERLAYS | UPDATE_ICON_STATE)
@@ -334,7 +341,7 @@
RefreshParts()
/obj/machinery/gibber/autogibber/process()
if(!lturf || occupant || locked || dirty || operating || victim_targets.len)
if(!lturf || occupant || locked || operating || victim_targets.len)
return
if(acceptdir != lastacceptdir)
@@ -368,7 +375,7 @@
victim.forceMove(src)
occupant = victim
update_icon(UPDATE_OVERLAYS)
update_icon(UPDATE_OVERLAYS | UPDATE_ICON_STATE)
feedinTopanim()
return 1
@@ -20,6 +20,13 @@
component_parts += new /obj/item/stock_parts/manipulator(null)
RefreshParts()
/obj/machinery/processor/update_icon_state()
. = ..()
if(processing)
icon_state = "processor_on"
return
icon_state = initial(icon_state)
/obj/machinery/processor/RefreshParts()
for(var/obj/item/stock_parts/matter_bin/B in component_parts)
rating_amount = B.rating
@@ -207,6 +214,7 @@
to_chat(user, "<span class='warning'>\the [src] is empty.</span>")
return 1
processing = TRUE
update_icon(UPDATE_ICON_STATE)
user.visible_message("[user] turns on [src].", \
"<span class='notice'>You turn on [src].</span>", \
"<span class='italics'>You hear a food processor.</span>")
@@ -228,6 +236,7 @@
continue
P.process_food(loc, O, src)
processing = FALSE
update_icon(UPDATE_ICON_STATE)
visible_message("<span class='notice'>\the [src] has finished processing.</span>", \
"<span class='notice'>\the [src] has finished processing.</span>", \