mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 15:45:25 +01:00
eating refactor (#3733) + bugfixes
Ok, messed up resolving the merge conflicts (first try), so doing a fresh pr. This turned out to be a good thing, as after I put the changes back I tested again, and found 2 bugs (not due to my code) Firstly, the organ refactor had introduced a bug when taking liver damage from being drunk. It wasn't getting the liver correctly, leaving it with null, and was then trying to damage it. The second was related to the amount you took in when drinking
This commit is contained in:
@@ -7,13 +7,13 @@
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/happy/New()
|
||||
..()
|
||||
new /obj/item/weapon/reagent_containers/pill/happy( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/happy( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/happy( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/happy( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/happy( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/happy( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/happy( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/happy( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/happy( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/happy( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/happy( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/happy( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/happy( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/happy( src )
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/zoom
|
||||
name = "Zoom pills"
|
||||
@@ -21,20 +21,20 @@
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/zoom/New()
|
||||
..()
|
||||
new /obj/item/weapon/reagent_containers/pill/zoom( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/zoom( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/zoom( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/zoom( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/zoom( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/zoom( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/zoom( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/zoom( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/zoom( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/zoom( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/zoom( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/zoom( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/zoom( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/zoom( src )
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/random_drugs
|
||||
/obj/item/weapon/reagent_containers/food/pill/random_drugs
|
||||
name = "pill"
|
||||
desc = ""
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/random_drugs/New()
|
||||
/obj/item/weapon/reagent_containers/food/pill/random_drugs/New()
|
||||
..()
|
||||
icon_state = "pill" + pick("2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20")
|
||||
|
||||
@@ -52,12 +52,12 @@
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/random_drug_bottle/New()
|
||||
..()
|
||||
new /obj/item/weapon/reagent_containers/pill/random_drugs( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/random_drugs( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/random_drugs( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/random_drugs( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/random_drugs( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/random_drugs( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/random_drugs( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/random_drugs( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/random_drugs( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/random_drugs( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/random_drugs( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/random_drugs( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/random_drugs( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/random_drugs( src )
|
||||
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
R = pick(standard_medicines + rare_medicines)
|
||||
else
|
||||
R = pick(standard_medicines)
|
||||
var/obj/item/weapon/reagent_containers/pill/P = new(src)
|
||||
var/obj/item/weapon/reagent_containers/food/pill/P = new(src)
|
||||
|
||||
if(rare_medicines.Find(R))
|
||||
P.reagents.add_reagent(R,10)
|
||||
|
||||
@@ -27,8 +27,7 @@
|
||||
attack_verb = list("attacked", "stabbed", "poked")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
sharp = 0
|
||||
|
||||
var/loaded //Descriptive string for currently loaded food object.
|
||||
var/max_contents = 1
|
||||
|
||||
/obj/item/weapon/kitchen/utensil/New()
|
||||
if (prob(60))
|
||||
@@ -49,25 +48,17 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
if (reagents.total_volume > 0)
|
||||
// Mouthless people cannot eat
|
||||
if(!M.can_eat())
|
||||
user << "<span class=warning>[M] cannot eat with a fork!</span>"
|
||||
return
|
||||
if (contents.len)
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/toEat = contents[1]
|
||||
if(istype(toEat))
|
||||
if(M.eat(toEat, user))
|
||||
toEat.On_Consume(M)
|
||||
spawn(0)
|
||||
if(toEat)
|
||||
qdel(toEat)
|
||||
overlays.Cut()
|
||||
return
|
||||
|
||||
if(M == user)
|
||||
M.visible_message("<span class='notice'>\The [user] eats some [loaded] from \the [src].</span>")
|
||||
reagents.trans_to(M, reagents.total_volume)
|
||||
else
|
||||
M.visible_message("<span class='warning'>\The [user] attempts to feed some [loaded] to \the [M] with \the [src].</span>")
|
||||
if(!do_mob(user, M)) return
|
||||
M.visible_message("<span class='warning'>\The [user] feeds some [loaded] to \the [M] with \the [src].</span>")
|
||||
reagents.trans_to(M, reagents.total_volume)
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been utensil fed by [user.name] ([user.ckey]) with [src.name]</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Utensil fed [M.name] ([M.ckey]) with [src.name]</font>")
|
||||
playsound(M.loc,'sound/items/eatfood.ogg', rand(10,40), 1)
|
||||
overlays.Cut()
|
||||
return
|
||||
|
||||
/obj/item/weapon/kitchen/utensil/fork
|
||||
name = "fork"
|
||||
|
||||
@@ -483,7 +483,7 @@
|
||||
storage_slots = 50
|
||||
max_combined_w_class = 200
|
||||
w_class = 1
|
||||
can_hold = list("/obj/item/weapon/reagent_containers/pill","/obj/item/weapon/reagent_containers/glass/beaker","/obj/item/weapon/reagent_containers/glass/bottle")
|
||||
can_hold = list("/obj/item/weapon/reagent_containers/food/pill","/obj/item/weapon/reagent_containers/glass/beaker","/obj/item/weapon/reagent_containers/glass/bottle")
|
||||
|
||||
/*
|
||||
* Biowaste bag (mostly for xenobiologists)
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
"/obj/item/weapon/reagent_containers/dropper",
|
||||
"/obj/item/weapon/reagent_containers/glass/beaker",
|
||||
"/obj/item/weapon/reagent_containers/glass/bottle",
|
||||
"/obj/item/weapon/reagent_containers/pill",
|
||||
"/obj/item/weapon/reagent_containers/food/pill",
|
||||
"/obj/item/weapon/reagent_containers/syringe",
|
||||
"/obj/item/weapon/reagent_containers/glass/dispenser",
|
||||
"/obj/item/weapon/lighter/zippo",
|
||||
@@ -106,13 +106,13 @@
|
||||
|
||||
/obj/item/weapon/storage/belt/medical/response_team/New()
|
||||
..()
|
||||
new /obj/item/weapon/reagent_containers/pill/salbutamol(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/salbutamol(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/charcoal(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/charcoal(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salbutamol(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salbutamol(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/charcoal(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/charcoal(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
|
||||
|
||||
|
||||
/obj/item/weapon/storage/belt/botany
|
||||
|
||||
@@ -35,13 +35,13 @@
|
||||
|
||||
icon_state = pick("ointment","firefirstaid")
|
||||
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf( src )
|
||||
new /obj/item/device/healthanalyzer( src )
|
||||
new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/salicylic( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salicylic( src )
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/firstaid/fire/empty
|
||||
@@ -54,11 +54,11 @@
|
||||
New()
|
||||
..()
|
||||
if (empty) return
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/styptic( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/styptic( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/salicylic( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/patch/styptic( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/patch/styptic( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salicylic( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf( src )
|
||||
new /obj/item/device/healthanalyzer( src )
|
||||
new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src )
|
||||
return
|
||||
@@ -78,9 +78,9 @@
|
||||
new /obj/item/weapon/reagent_containers/syringe/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/syringe/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/syringe/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/device/healthanalyzer( src )
|
||||
return
|
||||
|
||||
@@ -96,10 +96,10 @@
|
||||
New()
|
||||
..()
|
||||
if (empty) return
|
||||
new /obj/item/weapon/reagent_containers/pill/salbutamol( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/salbutamol( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/salbutamol( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/salbutamol( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salbutamol( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salbutamol( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salbutamol( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salbutamol( src )
|
||||
new /obj/item/device/healthanalyzer( src )
|
||||
return
|
||||
|
||||
@@ -118,10 +118,10 @@
|
||||
|
||||
icon_state = pick("brute","brute2")
|
||||
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/patch/styptic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/patch/styptic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/patch/styptic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/patch/styptic(src)
|
||||
new /obj/item/device/healthanalyzer(src)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/autoinjector(src)
|
||||
new /obj/item/stack/medical/bruise_pack(src)
|
||||
@@ -168,8 +168,8 @@
|
||||
new /obj/item/clothing/accessory/stethoscope( src )
|
||||
new /obj/item/weapon/defibrillator/compact/combat/loaded(src)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/combat(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/patch/styptic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf(src)
|
||||
new /obj/item/weapon/reagent_containers/ld50_syringe/lethal(src)
|
||||
new /obj/item/clothing/glasses/hud/health/night(src)
|
||||
return
|
||||
@@ -210,7 +210,7 @@
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
item_state = "contsolid"
|
||||
w_class = 2.0
|
||||
can_hold = list("/obj/item/weapon/reagent_containers/pill","/obj/item/weapon/dice","/obj/item/weapon/paper")
|
||||
can_hold = list("/obj/item/weapon/reagent_containers/food/pill","/obj/item/weapon/dice","/obj/item/weapon/paper")
|
||||
allow_quick_gather = 1
|
||||
use_to_pickup = 1
|
||||
storage_slots = 14
|
||||
@@ -245,13 +245,13 @@
|
||||
|
||||
New()
|
||||
..()
|
||||
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/dice
|
||||
name = "pack of dice"
|
||||
@@ -269,11 +269,11 @@
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/painkillers/New()
|
||||
..()
|
||||
new /obj/item/weapon/reagent_containers/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
|
||||
|
||||
@@ -121,10 +121,10 @@
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/psychiatrist/New()
|
||||
..()
|
||||
new /obj/item/weapon/reagent_containers/pill/haloperidol(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/haloperidol(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/methamphetamine(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/methamphetamine(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/haloperidol(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/haloperidol(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/methamphetamine(src)
|
||||
new /obj/item/weapon/reagent_containers/food/pill/methamphetamine(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/psychiatrist
|
||||
name = "psychiatrist's locker"
|
||||
|
||||
Reference in New Issue
Block a user