Skip to content

Commit

Permalink
Merge pull request #2311 from fleure/spider
Browse files Browse the repository at this point in the history
Added spider meat, meals, and butchering
  • Loading branch information
Cheridan committed Jan 13, 2014
2 parents 84ee1ca + aa8b5c8 commit a3760df
Show file tree
Hide file tree
Showing 6 changed files with 149 additions and 10 deletions.
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?"
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.

0 comments on commit a3760df

Please sign in to comment.