BUTCHER ALL THE THINGA

This commit is contained in:
Aurorablade
2016-03-25 20:08:06 -04:00
parent 4557d17730
commit 8dd0aecac8
5 changed files with 8 additions and 13 deletions
+2 -6
View File
@@ -15,18 +15,14 @@
/mob/living/attackby(obj/item/I, mob/user, params)
user.changeNext_move(CLICK_CD_MELEE)
if(user.a_intent == I_HARM && stat == DEAD && !isnull(butcher_results)) //can we butcher it?
if(stat == DEAD && !isnull(butcher_results)) //can we butcher it?
if(istype(I, /obj/item/weapon/kitchen/knife))
world << "living"
user << "<span class='notice'>You begin to butcher [src]...</span>"
playsound(loc, 'sound/weapons/slice.ogg', 50, 1, -1)
if(do_mob(user, src, 80))
harvest(user)
return
if(istype(I) && ismob(user))
I.attack(src, user)
I.attack(src, user)
// Proximity_flag is 1 if this afterattack was called on something adjacent, in your square, or on your person.
@@ -15,7 +15,6 @@
is_small = 1
has_fine_manipulation = 0
ventcrawler = 1
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/monkey = 5, /obj/item/stack/sheet/animalhide/monkey = 1)
show_ssd = 0
eyes = "blank_eyes"
death_message = "lets out a faint chimper as it collapses and stops moving..."
@@ -78,7 +78,6 @@
var/blood_color = "#A10808" //Red.
var/flesh_color = "#FFC896" //Pink.
var/single_gib_type = /obj/effect/decal/cleanable/blood/gibs
var/list/butcher_results = null
var/base_color //Used when setting species.
//Used in icon caching.
@@ -324,6 +323,8 @@
return
/datum/species/proc/handle_post_spawn(var/mob/living/carbon/C) //Handles anything not already covered by basic species assignment.
if(C.get_species() == "Monkey" || C.get_species() == "Farwa" || C.get_species() == "Stok" || C.get_species() == "Wolpin" || C.get_species() == "Neara")
C.butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/monkey = 5)
grant_abilities(C)
return
@@ -333,6 +334,8 @@
return
/datum/species/proc/handle_pre_change(var/mob/living/carbon/human/H)
if(!H.get_species() == "Monkey" || !H.get_species() == "Farwa" || !H.get_species() == "Stok" || !H.get_species() == "Wolpin" || !H.get_species() == "Neara")
H.butcher_results = null
remove_abilities(H)
return
+1 -1
View File
@@ -961,6 +961,6 @@
for(var/path in butcher_results)
for(var/i = 1, i <= butcher_results[path], i++)
new path(loc)
butcher_results.Remove(path) //In case you want to have things like simple_animals drop their butcher results on gib, so it won't double up below.
butcher_results.Remove(path) //In case you want to have things like simple_animals drop their butcher results on gib, so it won't double up below.
visible_message("<span class='notice'>[user] butchers [src].</span>")
gib()
@@ -447,10 +447,6 @@
name = C.tagname
real_name = C.tagname
return
else if(butcher_results && (stat == DEAD)) //if the animal has a meat, and if it is dead.
if(istype(O, /obj/item/weapon/kitchen/knife))
world << "Simple"
harvest(user)
else
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
@@ -471,6 +467,7 @@
user.visible_message("<span class='warning'>[user] gently taps [src] with [O].</span>",\
"<span class='warning'>This weapon is ineffective, it does no damage.</span>")
adjustBruteLoss(damage)
..()
/mob/living/simple_animal/movement_delay()