mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 23:53:47 +01:00
BUTCHER ALL THE THINGA
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user