Added spider butchery

Conflicts:
	code/modules/mob/living/simple_animal/simple_animal.dm
	icons/mob/animal.dmi
This commit is contained in:
fleure
2014-01-11 01:36:26 +00:00
committed by ZomgPonies
parent 27c35cfdac
commit f62de1ca2e
3 changed files with 28 additions and 8 deletions
@@ -9,6 +9,7 @@
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")
@@ -16,7 +17,7 @@
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"
@@ -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
@@ -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)
@@ -399,12 +399,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
@@ -509,4 +504,14 @@
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