Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added spider meat, meals, and butchering #2311

Merged
merged 2 commits into from Jan 13, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
37 changes: 36 additions & 1 deletion code/modules/food/recipes_microwave.dm
Expand Up @@ -219,6 +219,18 @@
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread

/datum/recipe/spidermeatbread
reagents = list("flour" = 15)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/spidermeat,
/obj/item/weapon/reagent_containers/food/snacks/spidermeat,
/obj/item/weapon/reagent_containers/food/snacks/spidermeat,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/spidermeatbread

/datum/recipe/bananabread
reagents = list("milk" = 5, "flour" = 15)
items = list(
Expand Down Expand Up @@ -1156,4 +1168,27 @@
items = list(
/obj/item/weapon/reagent_containers/food/snacks/egg,
)
result = /obj/item/weapon/reagent_containers/food/snacks/sugarcookie
result = /obj/item/weapon/reagent_containers/food/snacks/sugarcookie

/datum/recipe/boiledspiderleg
reagents = list("water" = 10)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/spiderleg,
)
result = /obj/item/weapon/reagent_containers/food/snacks/boiledspiderleg

/datum/recipe/spidereggsham
reagents = list("sodiumchloride" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/spidereggs,
/obj/item/weapon/reagent_containers/food/snacks/spidermeat,
)
result = /obj/item/weapon/reagent_containers/food/snacks/spidereggsham

/datum/recipe/sashimi
reagents = list("soysauce" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/spidereggs,
/obj/item/weapon/reagent_containers/food/snacks/carpmeat,
)
result = /obj/item/weapon/reagent_containers/food/snacks/sashimi
17 changes: 16 additions & 1 deletion code/modules/mob/living/simple_animal/hostile/giant_spider.dm
Expand Up @@ -9,14 +9,15 @@
name = "giant spider"
desc = "Furry and black, it makes you shudder to look at it. This one has deep red eyes."
icon_state = "guard"
var/butcher_state = 8 // Icon state for dead spider icons
icon_living = "guard"
icon_dead = "guard_dead"
speak_emote = list("chitters")
emote_hear = list("chitters")
speak_chance = 5
turns_per_move = 5
see_in_dark = 10
meat_type = /obj/item/weapon/reagent_containers/food/snacks/bearmeat
meat_type = /obj/item/weapon/reagent_containers/food/snacks/spidermeat
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "hits"
Expand All @@ -40,6 +41,7 @@
icon_state = "nurse"
icon_living = "nurse"
icon_dead = "nurse_dead"
meat_type = /obj/item/weapon/reagent_containers/food/snacks/spidereggs
maxHealth = 40
health = 40
melee_damage_lower = 5
Expand Down Expand Up @@ -87,6 +89,19 @@
stop_automated_movement = 0
walk(src,0)

// Chops off each leg with a 50/50 chance of harvesting one, until finally calling
// default harvest action
/mob/living/simple_animal/hostile/giant_spider/harvest()
if(butcher_state > 0)
butcher_state--
icon_state = icon_dead + "[butcher_state]"

if(prob(50))
new /obj/item/weapon/reagent_containers/food/snacks/spiderleg(src.loc)
return
else
return ..()

/mob/living/simple_animal/hostile/giant_spider/nurse/proc/GiveUp(var/C)
spawn(100)
if(busy == MOVING_TO_TARGET)
Expand Down
20 changes: 12 additions & 8 deletions code/modules/mob/living/simple_animal/simple_animal.dm
Expand Up @@ -401,12 +401,7 @@
return
else if(meat_type && (stat == DEAD)) //if the animal has a meat, and if it is dead.
if(istype(O, /obj/item/weapon/kitchenknife) || istype(O, /obj/item/weapon/butch))
new meat_type (get_turf(src))
if(prob(95))
del(src)
return
gib()
return
harvest()
else
if(O.force)
var/damage = O.force
Expand Down Expand Up @@ -487,7 +482,7 @@
/mob/living/simple_animal/revive()
health = maxHealth
..()

/mob/living/simple_animal/proc/make_babies() // <3 <3 <3
if(gender != FEMALE || stat || !scan_ready || !childtype || !species)
return
Expand All @@ -509,4 +504,13 @@
alone = 0
continue
if(alone && partner && children < 3)
new childtype(loc)
new childtype(loc)

// Harvest an animal's delicious byproducts
/mob/living/simple_animal/proc/harvest()
new meat_type (get_turf(src))
if(prob(95))
del(src)
return
gib()
return
85 changes: 85 additions & 0 deletions code/modules/reagents/reagent_containers/food/snacks.dm
Expand Up @@ -570,6 +570,26 @@
reagents.add_reagent("nutriment", 3)
src.bitesize = 6

/obj/item/weapon/reagent_containers/food/snacks/spidermeat
name = "spider meat"
desc = "A slab of spider meat."
icon_state = "spidermeat"
New()
..()
reagents.add_reagent("nutriment", 3)
reagents.add_reagent("toxin", 3)
bitesize = 3

/obj/item/weapon/reagent_containers/food/snacks/spiderleg
name = "spider leg"
desc = "A still twitching leg of a giant spider... you don't really want to eat this, do you?"
icon_state = "spiderleg"
New()
..()
reagents.add_reagent("nutriment", 2)
reagents.add_reagent("toxin", 2)
bitesize = 2

/obj/item/weapon/reagent_containers/food/snacks/faggot
name = "faggot"
desc = "A great meal all round. Not a cord of wood."
Expand Down Expand Up @@ -1808,6 +1828,28 @@
trash = /obj/item/trash/plate
bitesize = 2

/obj/item/weapon/reagent_containers/food/snacks/sliceable/spidermeatbread
name = "spider meat loaf"
desc = "Reassuringly green meatloaf made from spider meat."
icon_state = "spidermeatbread"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/spidermeatbreadslice
slices_num = 5
New()
..()
reagents.add_reagent("nutriment", 30)
reagents.add_reagent("toxin", 15)
bitesize = 2

/obj/item/weapon/reagent_containers/food/snacks/spidermeatbreadslice
name = "spider meat bread slice"
desc = "A slice of meatloaf made from an animal that most likely still wants you dead."
icon_state = "xenobreadslice"
trash = /obj/item/trash/plate
bitesize = 2
New()
..()
reagents.add_reagent("toxin", 2)

/obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread
name = "banana-nut bread"
desc = "A heavenly and filling treat."
Expand Down Expand Up @@ -2423,3 +2465,46 @@
reagents.add_reagent("nutriment", 2)
reagents.add_reagent("sugar", 5)
bitesize = 2

/obj/item/weapon/reagent_containers/food/snacks/boiledspiderleg
name = "boiled spider leg"
desc = "A giant spider's leg that's still twitching after being cooked. Gross!"
icon_state = "spiderlegcooked"
trash = /obj/item/trash/plate
New()
..()
reagents.add_reagent("nutriment", 3)
reagents.add_reagent("toxin", 2)
bitesize = 3

/obj/item/weapon/reagent_containers/food/snacks/spidereggs
name = "spider eggs"
desc = "A cluster of juicy spider eggs. A great side dish for when you care not for your health."
icon_state = "spidereggs"
New()
..()
reagents.add_reagent("nutriment", 2)
reagents.add_reagent("toxin", 3)
bitesize = 2

/obj/item/weapon/reagent_containers/food/snacks/spidereggsham
name = "green eggs and ham"
desc = "Would you eat them on a train? Would you eat them on a plane? Would you eat them on a state of the art corporate deathtrap floating through space?"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, Sam-I-am! I do not like them on a train. I do not like them on a plane. I do not like them even in your metal deathtrap, Sam-I-am!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good Old Dr seuss

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FLEEEEEEEEUREEEEEEEEEEEEEEEEEEEEEE

icon_state = "spidereggsham"
trash = /obj/item/trash/plate
New()
..()
reagents.add_reagent("nutriment", 6)
reagents.add_reagent("sodiumchloride", 1)
reagents.add_reagent("toxin", 3)
bitesize = 4

/obj/item/weapon/reagent_containers/food/snacks/sashimi
name = "carp sashimi"
desc = "Celebrate surviving attack from hostile alien lifeforms by hospitalising yourself."
icon_state = "sashimi"
New()
..()
reagents.add_reagent("nutriment", 6)
reagents.add_reagent("toxin", 5)
bitesize = 3
Binary file modified icons/mob/animal.dmi
Binary file not shown.
Binary file modified icons/obj/food.dmi
Binary file not shown.