mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 11:07:12 +01:00
Makes food not a subtype of reagent holders (#23379)
* I am suffering * Alright this should be all now * Fixes CI * I hate the online merge resolver. * This got lost in the merge master * Updatepaths fixed + new added * Contra review * Fixes desserts * Oops * This should fix it * Maybe? * Attempt 3 * Missed conflict * Update code/modules/reagents/chemistry/machinery/reagentgrinder.dm Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> * Update code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> * Update code/modules/food_and_drinks/food/foods/pizza.dm Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> * Fixes grinders * Adds comment * Warrior review * Warrior + Sirryan review * Update code/modules/food_and_drinks/food_base.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> --------- Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
name = "alien"
|
||||
icon_state = "alien_s"
|
||||
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat= 5, /obj/item/stack/sheet/animalhide/xeno = 1)
|
||||
butcher_results = list(/obj/item/food/snacks/monstermeat/xenomeat = 5, /obj/item/stack/sheet/animalhide/xeno = 1)
|
||||
var/obj/item/r_store = null
|
||||
var/obj/item/l_store = null
|
||||
var/caste = ""
|
||||
|
||||
@@ -1158,26 +1158,22 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
|
||||
/mob/living/carbon/proc/can_eat(flags = 255)
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/proc/eat(obj/item/reagent_containers/to_eat, mob/user, bitesize_override)
|
||||
if(ispill(to_eat) || ispatch(to_eat))
|
||||
/mob/living/carbon/proc/eat(obj/item/food/to_eat, mob/user, bitesize_override)
|
||||
if(ispill(to_eat) || ispatch(to_eat)) // We first have to know if it's either a pill or a patch, only then can we check if it's a food item
|
||||
return consume_patch_or_pill(to_eat, user)
|
||||
|
||||
if(!isfood(to_eat)) // We first have to know if it's either a pill or a patch, only then can we check if it's a food item
|
||||
if(!isfood(to_eat))
|
||||
return FALSE
|
||||
|
||||
var/obj/item/reagent_containers/food/food = to_eat // It's not a patch or a pill so it must be food
|
||||
var/obj/item/food/food = to_eat // It's not a patch or a pill so it must be food
|
||||
var/fullness = nutrition + 10
|
||||
if(istype(food, /obj/item/reagent_containers/food/snacks))
|
||||
if(istype(food, /obj/item/food/snacks))
|
||||
for(var/datum/reagent/consumable/C in reagents.reagent_list) //we add the nutrition value of what we're currently digesting
|
||||
fullness += C.nutriment_factor * C.volume / (C.metabolization_rate * metabolism_efficiency)
|
||||
|
||||
if(user == src)
|
||||
if(istype(food, /obj/item/reagent_containers/food/drinks))
|
||||
if(!selfDrink(food))
|
||||
return FALSE
|
||||
else
|
||||
if(!selfFeed(food, fullness))
|
||||
return FALSE
|
||||
if(!selfFeed(food, fullness))
|
||||
return FALSE
|
||||
else
|
||||
if(!forceFed(food, user, fullness))
|
||||
return FALSE
|
||||
@@ -1186,7 +1182,27 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
|
||||
SSticker.score.score_food_eaten++
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/proc/selfFeed(obj/item/reagent_containers/food/to_eat, fullness)
|
||||
/mob/living/carbon/proc/drink(obj/item/reagent_containers/drinks/to_eat, mob/user)
|
||||
if(user == src)
|
||||
if(!selfDrink(to_eat))
|
||||
return FALSE
|
||||
else if(!forceFed(to_eat, user, nutrition))
|
||||
return FALSE
|
||||
|
||||
if(to_eat.consume_sound)
|
||||
playsound(loc, to_eat.consume_sound, rand(10, 50), TRUE)
|
||||
if(to_eat.reagents.total_volume)
|
||||
taste(to_eat.reagents)
|
||||
var/fraction = min(1 / to_eat.reagents.total_volume, 1)
|
||||
var/drink_size = to_eat.amount_per_transfer_from_this > 5 ? 5 : to_eat.amount_per_transfer_from_this
|
||||
if(fraction)
|
||||
to_eat.reagents.reaction(src, REAGENT_INGEST, fraction)
|
||||
to_eat.reagents.trans_to(src, drink_size)
|
||||
|
||||
SSticker.score.score_food_eaten++
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/proc/selfFeed(obj/item/food/to_eat, fullness)
|
||||
if(ispill(to_eat))
|
||||
to_chat(src, "<span class='notify'>You swallow [to_eat].</span>")
|
||||
else if(ispatch(to_eat))
|
||||
@@ -1208,7 +1224,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/proc/selfDrink(obj/item/reagent_containers/food/drinks/toDrink, mob/user)
|
||||
/mob/living/carbon/proc/selfDrink(obj/item/reagent_containers/drinks/toDrink, mob/user)
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/proc/forceFed(obj/item/reagent_containers/to_eat, mob/user, fullness)
|
||||
@@ -1228,7 +1244,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
|
||||
|
||||
/*TO DO - If/when stomach organs are introduced, override this at the human level sending the item to the stomach
|
||||
so that different stomachs can handle things in different ways VB*/
|
||||
/mob/living/carbon/proc/consume(obj/item/reagent_containers/food/to_eat, bitesize_override)
|
||||
/mob/living/carbon/proc/consume(obj/item/food/to_eat, bitesize_override)
|
||||
var/this_bite = bitesize_override ? bitesize_override : to_eat.bitesize
|
||||
if(!to_eat.reagents)
|
||||
return
|
||||
|
||||
@@ -455,7 +455,7 @@ emp_act
|
||||
return FALSE
|
||||
|
||||
if(HAS_TRAIT(I, TRAIT_BUTCHERS_HUMANS) && stat == DEAD && user.a_intent == INTENT_HARM)
|
||||
var/obj/item/reagent_containers/food/snacks/meat/human/newmeat = new /obj/item/reagent_containers/food/snacks/meat/human(get_turf(loc))
|
||||
var/obj/item/food/snacks/meat/human/newmeat = new /obj/item/food/snacks/meat/human(get_turf(loc))
|
||||
newmeat.name = real_name + newmeat.name
|
||||
newmeat.subjectname = real_name
|
||||
newmeat.subjectjob = job
|
||||
|
||||
@@ -1867,20 +1867,20 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
|
||||
/mob/living/carbon/human/can_eat(flags = 255)
|
||||
return dna.species && (dna.species.dietflags & flags)
|
||||
|
||||
/mob/living/carbon/human/selfFeed(obj/item/reagent_containers/food/toEat, fullness)
|
||||
/mob/living/carbon/human/selfFeed(obj/item/food/toEat, fullness)
|
||||
if(!check_has_mouth())
|
||||
to_chat(src, "Where do you intend to put \the [toEat]? You don't have a mouth!")
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
/mob/living/carbon/human/forceFed(obj/item/reagent_containers/food/toEat, mob/user, fullness)
|
||||
/mob/living/carbon/human/forceFed(obj/item/food/toEat, mob/user, fullness)
|
||||
if(!check_has_mouth())
|
||||
if(!((istype(toEat, /obj/item/reagent_containers/food/drinks) && (ismachineperson(src)))))
|
||||
if(!((istype(toEat, /obj/item/reagent_containers/drinks) && (ismachineperson(src)))))
|
||||
to_chat(user, "Where do you intend to put \the [toEat]? \The [src] doesn't have a mouth!")
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
/mob/living/carbon/human/selfDrink(obj/item/reagent_containers/food/drinks/toDrink)
|
||||
/mob/living/carbon/human/selfDrink(obj/item/reagent_containers/drinks/toDrink)
|
||||
if(!check_has_mouth())
|
||||
if(!ismachineperson(src))
|
||||
to_chat(src, "Where do you intend to put \the [src]? You don't have a mouth!")
|
||||
|
||||
@@ -572,7 +572,7 @@
|
||||
..()
|
||||
last_banana = world.time
|
||||
last_honk = world.time
|
||||
H.equip_to_slot_or_del(new /obj/item/reagent_containers/food/drinks/bottle/bottleofbanana(H), SLOT_HUD_RIGHT_STORE)
|
||||
H.equip_to_slot_or_del(new /obj/item/reagent_containers/drinks/bottle/bottleofbanana(H), SLOT_HUD_RIGHT_STORE)
|
||||
H.equip_to_slot_or_del(new /obj/item/bikehorn(H), SLOT_HUD_LEFT_STORE)
|
||||
H.AddElement(/datum/element/waddling)
|
||||
|
||||
@@ -651,7 +651,7 @@
|
||||
/datum/species/golem/tranquillite/on_species_gain(mob/living/carbon/human/H)
|
||||
..()
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/head/beret(H), SLOT_HUD_HEAD)
|
||||
H.equip_to_slot_or_del(new /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing(H), SLOT_HUD_RIGHT_STORE)
|
||||
H.equip_to_slot_or_del(new /obj/item/reagent_containers/drinks/bottle/bottleofnothing(H), SLOT_HUD_RIGHT_STORE)
|
||||
H.equip_to_slot_or_del(new /obj/item/cane(H), SLOT_HUD_LEFT_HAND)
|
||||
if(H.mind)
|
||||
H.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe/conjure/build/mime_wall(null))
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
..()
|
||||
H.real_name = "[lowertext(name)] ([rand(100,999)])"
|
||||
H.name = H.real_name
|
||||
H.butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/monkey = 5)
|
||||
H.butcher_results = list(/obj/item/food/snacks/meat/monkey = 5)
|
||||
|
||||
/datum/species/monkey/handle_dna(mob/living/carbon/human/H, remove)
|
||||
..()
|
||||
|
||||
@@ -522,22 +522,22 @@
|
||||
/obj/item/reagent_containers/dropper/cyborg,
|
||||
/obj/item/lighter/zippo,
|
||||
/obj/item/storage/bag/tray/cyborg,
|
||||
/obj/item/reagent_containers/food/drinks/shaker
|
||||
/obj/item/reagent_containers/drinks/shaker
|
||||
)
|
||||
emag_override_modules = list(/obj/item/reagent_containers/food/drinks/cans/beer/sleepy_beer)
|
||||
emag_override_modules = list(/obj/item/reagent_containers/drinks/cans/beer/sleepy_beer)
|
||||
emag_modules = list(/obj/item/restraints/handcuffs/cable/zipties/cyborg)
|
||||
special_rechargables = list(
|
||||
/obj/item/reagent_containers/food/condiment/enzyme,
|
||||
/obj/item/reagent_containers/food/drinks/cans/beer/sleepy_beer
|
||||
/obj/item/reagent_containers/condiment/enzyme,
|
||||
/obj/item/reagent_containers/drinks/cans/beer/sleepy_beer
|
||||
)
|
||||
|
||||
|
||||
// This is a special type of beer given when emagged, one sip and the target falls asleep.
|
||||
/obj/item/reagent_containers/food/drinks/cans/beer/sleepy_beer
|
||||
/obj/item/reagent_containers/drinks/cans/beer/sleepy_beer
|
||||
name = "Mickey Finn's Special Brew"
|
||||
list_reagents = list("beer2" = 50)
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/cans/beer/sleepy_beer/cyborg_recharge(coeff, emagged)
|
||||
/obj/item/reagent_containers/drinks/cans/beer/sleepy_beer/cyborg_recharge(coeff, emagged)
|
||||
if(emagged)
|
||||
reagents.check_and_add("beer2", volume, 5)
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
/mob/living/simple_animal/bot/secbot/beepsky/explode()
|
||||
var/turf/Tsec = get_turf(src)
|
||||
new /obj/item/stock_parts/cell/potato(Tsec)
|
||||
var/obj/item/reagent_containers/food/drinks/drinkingglass/S = new(Tsec)
|
||||
var/obj/item/reagent_containers/drinks/drinkingglass/S = new(Tsec)
|
||||
S.reagents.add_reagent("whiskey", 15)
|
||||
S.on_reagent_change()
|
||||
..()
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
pressure_resistance = 100
|
||||
universal_speak = TRUE
|
||||
AIStatus = AI_OFF //normal constructs don't have AI
|
||||
loot = list(/obj/item/reagent_containers/food/snacks/ectoplasm)
|
||||
loot = list(/obj/item/food/snacks/ectoplasm)
|
||||
del_on_death = TRUE
|
||||
deathmessage = "collapses in a shattered heap."
|
||||
var/construct_type = "shade"
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
see_in_dark = 6
|
||||
maxHealth = 10
|
||||
health = 10
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 1)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 1)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
ventcrawler = VENTCRAWLER_ALWAYS
|
||||
mob_size = MOB_SIZE_TINY
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BUG
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 0)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 0)
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
|
||||
/mob/living/simple_animal/butterfly/Initialize(mapload) //Not the poor butterfly!
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
mob_size = MOB_SIZE_SMALL
|
||||
animal_species = /mob/living/simple_animal/pet/cat
|
||||
childtype = list(/mob/living/simple_animal/pet/cat/kitten)
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 3)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 3)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
@@ -233,8 +233,8 @@
|
||||
butcher_results = list(
|
||||
/obj/item/organ/internal/brain = 1,
|
||||
/obj/item/organ/internal/heart = 1,
|
||||
/obj/item/reagent_containers/food/snacks/birthdaycakeslice = 3,
|
||||
/obj/item/reagent_containers/food/snacks/meat/slab = 2
|
||||
/obj/item/food/snacks/birthdaycakeslice = 3,
|
||||
/obj/item/food/snacks/meat/slab = 2
|
||||
)
|
||||
response_harm = "takes a bite out of"
|
||||
attacked_sound = "sound/items/eatfood.ogg"
|
||||
@@ -247,7 +247,7 @@
|
||||
return
|
||||
if(health < maxHealth)
|
||||
adjustBruteLoss(-4)
|
||||
for(var/obj/item/reagent_containers/food/snacks/donut/D in range(1, src))
|
||||
for(var/obj/item/food/snacks/donut/D in range(1, src))
|
||||
if(D.icon_state != "donut2")
|
||||
D.name = "frosted donut"
|
||||
D.icon_state = "donut2"
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
emote_see = list("clacks")
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 1)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 1)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "stomps"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
see_in_dark = 0 //I'm so funny
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 4)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 4)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
|
||||
@@ -210,7 +210,7 @@
|
||||
return TRUE
|
||||
|
||||
// Consumes plant matter other than weeds to evolve
|
||||
/mob/living/simple_animal/diona/proc/consume(obj/item/reagent_containers/food/snacks/grown/G)
|
||||
/mob/living/simple_animal/diona/proc/consume(obj/item/food/snacks/grown/G)
|
||||
if(nutrition >= nutrition_need) // Prevents griefing by overeating plant items without evolving.
|
||||
to_chat(src, "<span class='warning'>You're too full to consume this! Perhaps it's time to grow bigger...</span>")
|
||||
else
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
icon_state = "corgi"
|
||||
icon_living = "corgi"
|
||||
icon_dead = "corgi_dead"
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/corgi = 3, /obj/item/stack/sheet/animalhide/corgi = 1)
|
||||
butcher_results = list(/obj/item/food/snacks/meat/corgi = 3, /obj/item/stack/sheet/animalhide/corgi = 1)
|
||||
childtype = list(/mob/living/simple_animal/pet/dog/corgi/puppy = 95, /mob/living/simple_animal/pet/dog/corgi/puppy/void = 5)
|
||||
animal_species = /mob/living/simple_animal/pet/dog
|
||||
collar_type = "corgi"
|
||||
@@ -555,7 +555,7 @@
|
||||
stop_automated_movement = FALSE
|
||||
var/obj/item/possible_target = null
|
||||
for(var/I in snack_range)
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks)) // Noms
|
||||
if(istype(I, /obj/item/food/snacks)) // Noms
|
||||
possible_target = I
|
||||
break
|
||||
else if(istype(I, /obj/item/paper)) // Important noms
|
||||
@@ -590,7 +590,7 @@
|
||||
else if(prob(30) && ishuman(movement_target.loc)) // mean hooman has stolen it
|
||||
custom_emote(EMOTE_VISIBLE, "stares at [movement_target.loc]'s [movement_target] with a sad puppy-face.")
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/corgi
|
||||
/obj/item/food/snacks/meat/corgi
|
||||
name = "Corgi meat"
|
||||
desc = "Tastes like... well you know..."
|
||||
|
||||
@@ -782,7 +782,7 @@
|
||||
icon_state = "pug"
|
||||
icon_living = "pug"
|
||||
icon_dead = "pug_dead"
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/pug = 3)
|
||||
butcher_results = list(/obj/item/food/snacks/meat/pug = 3)
|
||||
collar_type = "pug"
|
||||
|
||||
/mob/living/simple_animal/pet/dog/pug/handle_automated_movement()
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
see_in_dark = 6
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 4)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 4)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
@@ -122,7 +122,7 @@
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
see_in_dark = 6
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 6)
|
||||
butcher_results = list(/obj/item/food/snacks/meat/slab = 6)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
@@ -202,7 +202,7 @@
|
||||
density = FALSE
|
||||
speak_chance = 2
|
||||
turns_per_move = 2
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 1)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 1)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
@@ -255,9 +255,9 @@ GLOBAL_VAR_INIT(chicken_count, 0)
|
||||
density = FALSE
|
||||
speak_chance = 2
|
||||
turns_per_move = 3
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 2)
|
||||
var/egg_type = /obj/item/reagent_containers/food/snacks/egg
|
||||
var/food_type = /obj/item/reagent_containers/food/snacks/grown/wheat
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 2)
|
||||
var/egg_type = /obj/item/food/snacks/egg
|
||||
var/food_type = /obj/item/food/snacks/grown/wheat
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
@@ -329,8 +329,7 @@ GLOBAL_VAR_INIT(chicken_count, 0)
|
||||
if(GLOB.chicken_count < MAX_CHICKENS && prob(25))
|
||||
START_PROCESSING(SSobj, E)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/egg/var/amount_grown = 0
|
||||
/obj/item/reagent_containers/food/snacks/egg/process()
|
||||
/obj/item/food/snacks/egg/process()
|
||||
if(isturf(loc))
|
||||
amount_grown += rand(1,2)
|
||||
if(amount_grown >= 100)
|
||||
@@ -381,7 +380,7 @@ GLOBAL_VAR_INIT(chicken_count, 0)
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
see_in_dark = 6
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/ham = 6)
|
||||
butcher_results = list(/obj/item/food/snacks/meat/ham = 6)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
@@ -407,7 +406,7 @@ GLOBAL_VAR_INIT(chicken_count, 0)
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
see_in_dark = 6
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 4)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 4)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
@@ -432,7 +431,7 @@ GLOBAL_VAR_INIT(chicken_count, 0)
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
see_in_dark = 6
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 6)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 6)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
@@ -457,7 +456,7 @@ GLOBAL_VAR_INIT(chicken_count, 0)
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
see_in_dark = 6
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 6)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 6)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
@@ -482,7 +481,7 @@ GLOBAL_VAR_INIT(chicken_count, 0)
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
see_in_dark = 6
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 6)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 6)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
see_in_dark = 6
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 3)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 3)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
mob_size = MOB_SIZE_SMALL
|
||||
can_hide = TRUE
|
||||
pass_door_while_hidden = TRUE
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 1)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 1)
|
||||
can_collar = TRUE
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST | MOB_REPTILE
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
see_in_dark = 6
|
||||
maxHealth = 5
|
||||
health = 5
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 1)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 1)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "stamps on"
|
||||
@@ -92,7 +92,7 @@
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/mouse/start_pulling(atom/movable/AM, state, force = pull_force, show_message = FALSE)//Prevents mouse from pulling things
|
||||
if(istype(AM, /obj/item/reagent_containers/food/snacks/cheesewedge))
|
||||
if(istype(AM, /obj/item/food/snacks/cheesewedge))
|
||||
return ..() // Get dem
|
||||
if(show_message)
|
||||
to_chat(src, "<span class='warning'>You are too small to pull anything except cheese.</span>")
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
faction = list("neutral", "jungle")
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 3)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 3)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
response_disarm = "shoves"
|
||||
response_harm = "hits"
|
||||
speed = 0
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat= 3, /obj/item/stack/sheet/animalhide/xeno = 1)
|
||||
butcher_results = list(/obj/item/food/snacks/monstermeat/xenomeat= 3, /obj/item/stack/sheet/animalhide/xeno = 1)
|
||||
maxHealth = 125
|
||||
health = 125
|
||||
harm_intent_damage = 5
|
||||
@@ -83,7 +83,7 @@
|
||||
retreat_distance = 5
|
||||
minimum_distance = 5
|
||||
move_to_delay = 4
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat= 4, /obj/item/stack/sheet/animalhide/xeno = 1)
|
||||
butcher_results = list(/obj/item/food/snacks/monstermeat/xenomeat= 4, /obj/item/stack/sheet/animalhide/xeno = 1)
|
||||
projectiletype = /obj/item/projectile/neurotox
|
||||
projectilesound = 'sound/weapons/pierce.ogg'
|
||||
status_flags = 0
|
||||
@@ -131,7 +131,7 @@
|
||||
move_to_delay = 4
|
||||
maxHealth = 400
|
||||
health = 400
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat= 10, /obj/item/stack/sheet/animalhide/xeno = 2)
|
||||
butcher_results = list(/obj/item/food/snacks/monstermeat/xenomeat= 10, /obj/item/stack/sheet/animalhide/xeno = 2)
|
||||
mob_size = MOB_SIZE_LARGE
|
||||
|
||||
/obj/item/projectile/neurotox
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
speak_chance = 0
|
||||
turns_per_move = 3
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 1)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 1)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
see_in_dark = 6
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/bearmeat= 5, /obj/item/clothing/head/bearpelt = 1)
|
||||
butcher_results = list(/obj/item/food/snacks/monstermeat/bearmeat = 5, /obj/item/clothing/head/bearpelt = 1)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/carpmeat = 2)
|
||||
butcher_results = list(/obj/item/food/snacks/carpmeat = 2)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
see_in_dark = 6
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2)
|
||||
butcher_results = list(/obj/item/food/snacks/meat/slab = 2)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
see_in_dark = 8
|
||||
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE
|
||||
footstep_type = FOOTSTEP_MOB_CLAW
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/spidermeat= 2, /obj/item/reagent_containers/food/snacks/monstermeat/spiderleg= 8)
|
||||
butcher_results = list(/obj/item/food/snacks/monstermeat/spidermeat = 2, /obj/item/food/snacks/monstermeat/spiderleg = 8)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
@@ -70,7 +70,7 @@
|
||||
icon_state = "nurse"
|
||||
icon_living = "nurse"
|
||||
icon_dead = "nurse_dead"
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/spidermeat= 2, /obj/item/reagent_containers/food/snacks/monstermeat/spiderleg= 8, /obj/item/reagent_containers/food/snacks/monstermeat/spidereggs= 4)
|
||||
butcher_results = list(/obj/item/food/snacks/monstermeat/spidermeat= 2, /obj/item/food/snacks/monstermeat/spiderleg= 8, /obj/item/food/snacks/monstermeat/spidereggs= 4)
|
||||
|
||||
maxHealth = 40
|
||||
health = 40
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
speak_chance = 80
|
||||
maxHealth = 220
|
||||
health = 220
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/gorilla = 4)
|
||||
butcher_results = list(/obj/item/food/snacks/meat/slab/gorilla = 4)
|
||||
response_help = "prods"
|
||||
response_disarm = "challenges"
|
||||
response_harm = "thumps"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
speak_chance = 0
|
||||
turns_per_move = 3
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 3)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 3)
|
||||
faction = list("hostile", "jungle")
|
||||
response_help = "pets the"
|
||||
response_disarm = "gently pushes aside the"
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
maxHealth = 30
|
||||
health = 30
|
||||
see_in_dark = 3
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/tomatomeat = 2)
|
||||
butcher_results = list(/obj/item/food/snacks/meat/tomatomeat = 2)
|
||||
response_help = "prods"
|
||||
response_disarm = "pushes aside"
|
||||
response_harm = "smacks"
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
throw_message = "does nothing to the tough hide of the"
|
||||
pre_attack_icon = "goliath2"
|
||||
crusher_loot = /obj/item/crusher_trophy/goliath_tentacle
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/goliath= 2, /obj/item/stack/sheet/animalhide/goliath_hide = 1, /obj/item/stack/sheet/bone = 2)
|
||||
butcher_results = list(/obj/item/food/snacks/monstermeat/goliath = 2, /obj/item/stack/sheet/animalhide/goliath_hide = 1, /obj/item/stack/sheet/bone = 2)
|
||||
loot = list()
|
||||
stat_attack = UNCONSCIOUS
|
||||
robust_searching = TRUE
|
||||
@@ -110,7 +110,7 @@
|
||||
pre_attack_icon = "Goliath_preattack"
|
||||
throw_message = "does nothing to the rocky hide of the"
|
||||
loot = list(/obj/item/stack/sheet/animalhide/goliath_hide) //A throwback to the asteroid days
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/goliath= 2, /obj/item/stack/sheet/bone = 2)
|
||||
butcher_results = list(/obj/item/food/snacks/monstermeat/goliath= 2, /obj/item/stack/sheet/bone = 2)
|
||||
crusher_loot = /obj/item/crusher_trophy/goliath_tentacle/ancient
|
||||
crusher_drop_mod = 30
|
||||
wander = FALSE
|
||||
|
||||
@@ -386,7 +386,7 @@
|
||||
belt = null
|
||||
backpack_contents = list()
|
||||
if(prob(70))
|
||||
backpack_contents += pick(list(/obj/item/stamp/clown = 1, /obj/item/reagent_containers/spray/waterflower = 1, /obj/item/reagent_containers/food/snacks/grown/banana = 1, /obj/item/megaphone = 1))
|
||||
backpack_contents += pick(list(/obj/item/stamp/clown = 1, /obj/item/reagent_containers/spray/waterflower = 1, /obj/item/food/snacks/grown/banana = 1, /obj/item/megaphone = 1))
|
||||
if(prob(30))
|
||||
backpack_contents += list(/obj/item/stack/sheet/mineral/bananium = pickweight(list( 1 = 3, 2 = 2, 3 = 1)))
|
||||
if(prob(10))
|
||||
@@ -430,6 +430,6 @@
|
||||
suit_store = /obj/item/melee/cultblade
|
||||
l_pocket = /obj/item/melee/cultblade/dagger
|
||||
if(prob(60))
|
||||
r_pocket = /obj/item/reagent_containers/food/drinks/bottle/unholywater
|
||||
r_pocket = /obj/item/reagent_containers/drinks/bottle/unholywater
|
||||
backpack_contents = list(/obj/item/tome = 1, /obj/item/restraints/legcuffs/bola/cult = 1, /obj/item/stack/sheet/runed_metal = 15)
|
||||
. = ..()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
turns_per_move = 1
|
||||
maxHealth = 10
|
||||
health = 10
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/hugemushroomslice = 1)
|
||||
butcher_results = list(/obj/item/food/snacks/hugemushroomslice = 1)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "whacks"
|
||||
@@ -152,7 +152,7 @@
|
||||
bruised = 1
|
||||
|
||||
/mob/living/simple_animal/hostile/mushroom/attackby(obj/item/I as obj, mob/user as mob, params)
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks/grown/mushroom))
|
||||
if(istype(I, /obj/item/food/snacks/grown/mushroom))
|
||||
if(stat == DEAD && !recovery_cooldown)
|
||||
Recover()
|
||||
qdel(I)
|
||||
@@ -182,7 +182,7 @@
|
||||
/mob/living/simple_animal/hostile/mushroom/harvest()
|
||||
var/counter
|
||||
for(counter=0, counter<=powerlevel, counter++)
|
||||
var/obj/item/reagent_containers/food/snacks/hugemushroomslice/S = new /obj/item/reagent_containers/food/snacks/hugemushroomslice(src.loc)
|
||||
var/obj/item/food/snacks/hugemushroomslice/S = new (src.loc)
|
||||
S.reagents.add_reagent("psilocybin", powerlevel)
|
||||
S.reagents.add_reagent("omnizine", powerlevel)
|
||||
S.reagents.add_reagent("synaptizine", powerlevel)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/carpmeat = 1)
|
||||
butcher_results = list(/obj/item/food/snacks/carpmeat = 1)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
@@ -68,7 +68,7 @@
|
||||
melee_damage_lower = 2
|
||||
melee_damage_upper = 2
|
||||
speak_emote = list("blurps")
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/salmonmeat = 1)
|
||||
butcher_results = list(/obj/item/food/snacks/salmonmeat = 1)
|
||||
|
||||
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
||||
minbodytemp = 0
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
pressure_resistance = 300
|
||||
gold_core_spawnable = NO_SPAWN //too spooky for science
|
||||
faction = list("undead") // did I mention ghost
|
||||
loot = list(/obj/item/reagent_containers/food/snacks/ectoplasm)
|
||||
loot = list(/obj/item/food/snacks/ectoplasm)
|
||||
del_on_death = TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/ghost/Process_Spacemove(check_drift = 0)
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
icon_state = "reindeer"
|
||||
icon_living = "reindeer"
|
||||
icon_dead = "reindeer-dead"
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 3)
|
||||
butcher_results = list(/obj/item/food/snacks/meat = 3)
|
||||
maxHealth = 80
|
||||
health = 80
|
||||
melee_damage_lower = 5
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
speak_chance = 1//1% (1 in 100) chance every tick; So about once per 150 seconds, assuming an average tick is 1.5s
|
||||
turns_per_move = 5
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/cracker = 3)
|
||||
butcher_results = list(/obj/item/food/snacks/cracker = 3)
|
||||
|
||||
response_help = "pets"
|
||||
response_disarm = "gently moves aside"
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
faction = list("cult")
|
||||
status_flags = CANPUSH
|
||||
flying = TRUE
|
||||
loot = list(/obj/item/reagent_containers/food/snacks/ectoplasm)
|
||||
loot = list(/obj/item/food/snacks/ectoplasm)
|
||||
del_on_death = TRUE
|
||||
deathmessage = "lets out a contented sigh as their form unwinds."
|
||||
var/holy = FALSE
|
||||
|
||||
Reference in New Issue
Block a user