butchering is still broke....

This commit is contained in:
Aurorablade
2016-03-24 00:07:41 -04:00
parent 0821cb6ca2
commit 40a1086f14
7 changed files with 27 additions and 26 deletions
+4 -4
View File
@@ -6,6 +6,7 @@
// No comment
/atom/proc/attackby(obj/item/W, mob/living/user, params)
return
/atom/movable/attackby(obj/item/W, mob/living/user, params)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
@@ -15,12 +16,11 @@
/mob/living/attackby(obj/item/I, mob/user, params)
user.changeNext_move(CLICK_CD_MELEE)
if((butcher_results) && (stat == DEAD))
var/sharpness = is_sharp(I)
if(sharpness)
if(user.a_intent == I_HARM && stat == DEAD && butcher_results) //can we butcher it?
if(is_sharp(I))
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/sharpness))
if(do_mob(user, src, 80))
harvest(user)
return
@@ -32,7 +32,7 @@
melee_damage_lower = 15
melee_damage_upper = 15
AIStatus = AI_OFF
butcher_results = list(/obj/item/weapon/ectoplasm = 1)
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/ectoplasm = 1)
var/summoned = FALSE
var/cooldown = 0
var/damage_transfer = 1 //how much damage from each attack we transfer to the owner
+1 -1
View File
@@ -250,7 +250,7 @@
occupant.reagents.trans_to(new_meat, round(occupant.reagents.total_volume/slab_count,1))
if(occupant.get_species() == "Human")
new /obj/item/stack/sheet/animalhide/human
new /obj/item/stack/sheet/animalhide/human(src)
new /obj/effect/decal/cleanable/blood/gibs(src)
if(!UserOverride)
+10 -9
View File
@@ -23,7 +23,7 @@
if(R.get_amount() >= 4)
R.use(4)
user << "<span class='notice'>You add spikes to the frame.</span>"
new /obj/structure/kitchenspike(src.loc,)
new /obj/structure/kitchenspike(loc)
add_fingerprint(user)
qdel(src)
@@ -42,12 +42,12 @@
/obj/structure/kitchenspike/attackby(obj/item/weapon/grab/G as obj, mob/user as mob)
if(istype(G, /obj/item/weapon/crowbar))
if(!src.buckled_mob)
if(!buckled_mob)
playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
if(do_after(user, 20, target = src))
user << "<span class='notice'>You pry the spikes out of the frame.</span>"
new /obj/item/stack/rods(loc, 4)
new /obj/structure/kitchenspike_frame(src.loc,)
new /obj/structure/kitchenspike_frame(loc)
add_fingerprint(user)
qdel(src)
else
@@ -58,11 +58,13 @@
if(buckled_mob)
user << "<span class = 'danger'>The spike already has something on it, finish collecting its meat first!</span>"
else
if(istype(G.affecting, /mob/living/))
if(isliving(G.affecting))
if(!buckled_mob)
if(do_mob(src, src, 120))
if(do_mob(user, src, 120))
if(spike(G.affecting))
G.affecting.visible_message("<span class='danger'>[user] slams [G.affecting] onto the meat spike!</span>", "<span class='userdanger'>[user] slams you onto the meat spike!</span>", "<span class='italics'>You hear a squishy wet noise.</span>")
qdel(G)
return
user << "<span class='danger'>You can't use that on the spike!</span>"
return
@@ -77,9 +79,8 @@
if(victim.buckled)
return 0
var/mob/living/H = victim
playsound(src.loc, "sound/effects/splat.ogg", 25, 1)
H.visible_message("<span class='danger'>[src] slams [victim] onto the meat spike!</span>", "<span class='userdanger'>[src] slams you onto the meat spike!</span>", "<span class='italics'>You hear a squishy wet noise.</span>")
H.loc = src.loc
playsound(loc, "sound/effects/splat.ogg", 25, 1)
H.forceMove(loc)
H.emote("scream")
if(istype(H, /mob/living/carbon/human)) //So you don't get human blood when you spike a giant spidere
var/turf/simulated/pos = get_turf(H)
@@ -131,7 +132,7 @@
animate(M, transform = m180, time = 3)
M.pixel_y = M.get_standard_pixel_y_offset(180)
M.adjustBruteLoss(30)
src.visible_message(text("<span class='danger'>[M] falls free of the [src]!</span>"))
visible_message("<span class='danger'>[M] falls free of the [src]!</span>")
unbuckle_mob()
M.emote("scream")
M.AdjustWeakened(10)
+9 -9
View File
@@ -955,12 +955,12 @@
return 0
/mob/living/proc/harvest(mob/living/user)
//if(qdeleted(src))
// return//Replace with what?
if(butcher_results)
for(var/path in butcher_results)
for(var/i = 1; i <= butcher_results[path];i++)
new path(src.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.
visible_message("<span class='notice'>[user] butchers [src].</span>")
gib()
if(qdeleted(src))
return
if(butcher_results)
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.
visible_message("<span class='notice'>[user] butchers [src].</span>")
gib()
@@ -17,7 +17,7 @@
density = 0
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
ventcrawler = 2
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat = 1)
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat = 0)
/mob/living/simple_animal/butterfly/New()
..()
@@ -8,7 +8,7 @@
turns_per_move = 5
maxHealth = 15
health = 15
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/tomatomeat = 2)
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/tomatomeat = 3)
response_help = "prods the"
response_disarm = "pushes aside the"
response_harm = "smacks the"