mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 01:49:19 +00:00
221 lines
8.1 KiB
Plaintext
221 lines
8.1 KiB
Plaintext
/* Kitchen tools
|
|
* Contains:
|
|
* Fork
|
|
* Kitchen knives
|
|
* Ritual Knife
|
|
* Bloodletter
|
|
* Butcher's cleaver
|
|
* Combat Knife
|
|
* Rolling Pins
|
|
*/
|
|
|
|
/obj/item/kitchen
|
|
icon = 'icons/obj/kitchen.dmi'
|
|
lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
|
|
|
|
/obj/item/kitchen/fork
|
|
name = "fork"
|
|
desc = "Pointy."
|
|
icon_state = "fork"
|
|
force = 5
|
|
w_class = WEIGHT_CLASS_TINY
|
|
throwforce = 0
|
|
throw_speed = 3
|
|
throw_range = 5
|
|
custom_materials = list(/datum/material/iron=80)
|
|
flags_1 = CONDUCT_1
|
|
attack_verb = list("attacked", "stabbed", "poked")
|
|
hitsound = 'sound/weapons/bladeslice.ogg'
|
|
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 30)
|
|
var/datum/reagent/forkload //used to eat omelette
|
|
|
|
/obj/item/kitchen/fork/suicide_act(mob/living/carbon/user)
|
|
user.visible_message("<span class='suicide'>[user] stabs \the [src] into [user.p_their()] chest! It looks like [user.p_theyre()] trying to take a bite out of [user.p_them()]self!</span>")
|
|
playsound(src, 'sound/items/eatfood.ogg', 50, 1)
|
|
return BRUTELOSS
|
|
|
|
/obj/item/kitchen/fork/attack(mob/living/carbon/M, mob/living/carbon/user)
|
|
if(!istype(M))
|
|
return ..()
|
|
|
|
if(forkload)
|
|
if(M == user)
|
|
M.visible_message("<span class='notice'>[user] eats a delicious forkful of omelette!</span>")
|
|
M.reagents.add_reagent(forkload.type, 1)
|
|
else
|
|
M.visible_message("<span class='notice'>[user] feeds [M] a delicious forkful of omelette!</span>")
|
|
M.reagents.add_reagent(forkload.type, 1)
|
|
icon_state = "fork"
|
|
forkload = null
|
|
|
|
else if(user.zone_selected == BODY_ZONE_PRECISE_EYES)
|
|
return eyestab(M,user)
|
|
else
|
|
return ..()
|
|
|
|
|
|
/obj/item/kitchen/knife
|
|
name = "kitchen knife"
|
|
icon_state = "knife"
|
|
desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come."
|
|
flags_1 = CONDUCT_1
|
|
force = 10
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
throwforce = 10
|
|
hitsound = 'sound/weapons/bladeslice.ogg'
|
|
throw_speed = 3
|
|
throw_range = 6
|
|
custom_materials = list(/datum/material/iron=12000)
|
|
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
|
sharpness = IS_SHARP_ACCURATE
|
|
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50)
|
|
var/bayonet = FALSE //Can this be attached to a gun?
|
|
custom_price = PRICE_NORMAL
|
|
|
|
/obj/item/kitchen/knife/Initialize()
|
|
. = ..()
|
|
AddComponent(/datum/component/butchering, 80 - force, 100, force - 10) //bonus chance increases depending on force
|
|
|
|
/obj/item/kitchen/knife/attack(mob/living/carbon/M, mob/living/carbon/user)
|
|
if(user.zone_selected == BODY_ZONE_PRECISE_EYES)
|
|
return eyestab(M,user)
|
|
else
|
|
return ..()
|
|
|
|
/obj/item/kitchen/knife/suicide_act(mob/user)
|
|
user.visible_message(pick("<span class='suicide'>[user] is slitting [user.p_their()] wrists with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.</span>", \
|
|
"<span class='suicide'>[user] is slitting [user.p_their()] throat with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.</span>", \
|
|
"<span class='suicide'>[user] is slitting [user.p_their()] stomach open with the [src.name]! It looks like [user.p_theyre()] trying to commit seppuku.</span>"))
|
|
return (BRUTELOSS)
|
|
|
|
/obj/item/kitchen/knife/ritual
|
|
name = "ritual knife"
|
|
desc = "The unearthly energies that once powered this blade are now dormant."
|
|
icon = 'icons/obj/wizard.dmi'
|
|
icon_state = "render"
|
|
item_state = "knife"
|
|
lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
|
|
/obj/item/kitchen/knife/bloodletter
|
|
name = "bloodletter"
|
|
desc = "An occult looking dagger that is cold to the touch. Somehow, the flawless orb on the pommel is made entirely of liquid blood."
|
|
icon = 'icons/obj/ice_moon/artifacts.dmi'
|
|
icon_state = "bloodletter"
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
/// Bleed stacks applied when an organic mob target is hit
|
|
var/bleed_stacks_per_hit = 3
|
|
|
|
/obj/item/kitchen/knife/bloodletter/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
|
|
. = ..()
|
|
if(!isliving(target) || !proximity_flag)
|
|
return
|
|
var/mob/living/M = target
|
|
if(!(M.mob_biotypes & MOB_ORGANIC))
|
|
return
|
|
var/datum/status_effect/stacking/saw_bleed/bloodletting/B = M.has_status_effect(/datum/status_effect/stacking/saw_bleed/bloodletting)
|
|
if(!B)
|
|
M.apply_status_effect(/datum/status_effect/stacking/saw_bleed/bloodletting, bleed_stacks_per_hit)
|
|
else
|
|
B.add_stacks(bleed_stacks_per_hit)
|
|
|
|
/obj/item/kitchen/knife/butcher
|
|
name = "butcher's cleaver"
|
|
icon_state = "butch"
|
|
desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown by-products."
|
|
flags_1 = CONDUCT_1
|
|
force = 15
|
|
throwforce = 10
|
|
custom_materials = list(/datum/material/iron=18000)
|
|
attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
custom_price = PRICE_EXPENSIVE
|
|
|
|
/obj/item/kitchen/knife/combat
|
|
name = "combat knife"
|
|
icon_state = "buckknife"
|
|
item_state = "knife"
|
|
desc = "A military combat utility survival knife."
|
|
embedding = list("pain_mult" = 4, "embed_chance" = 65, "fall_chance" = 10, "ignore_throwspeed_threshold" = TRUE)
|
|
force = 20
|
|
throwforce = 20
|
|
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut")
|
|
bayonet = TRUE
|
|
|
|
/obj/item/kitchen/knife/combat/survival
|
|
name = "survival knife"
|
|
icon_state = "survivalknife"
|
|
item_state = "knife"
|
|
desc = "A hunting grade survival knife."
|
|
embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10)
|
|
force = 15
|
|
throwforce = 15
|
|
bayonet = TRUE
|
|
|
|
/obj/item/kitchen/knife/combat/bone
|
|
name = "bone dagger"
|
|
item_state = "bone_dagger"
|
|
icon_state = "bone_dagger"
|
|
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
|
|
desc = "A sharpened bone. The bare minimum in survival."
|
|
embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10)
|
|
force = 15
|
|
throwforce = 15
|
|
custom_materials = null
|
|
|
|
/obj/item/kitchen/knife/combat/bone/plastic
|
|
name = "plastic knife"
|
|
desc = "A plastic knife. Rather harmless to anything."
|
|
force = 1
|
|
throwforce = 1
|
|
bayonet = FALSE
|
|
|
|
/obj/item/kitchen/knife/combat/cyborg
|
|
name = "cyborg knife"
|
|
icon = 'icons/obj/items_cyborg.dmi'
|
|
icon_state = "knife"
|
|
desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable."
|
|
|
|
/obj/item/kitchen/knife/carrotshiv
|
|
name = "carrot shiv"
|
|
icon_state = "carrotshiv"
|
|
item_state = "carrotshiv"
|
|
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
|
|
desc = "Unlike other carrots, you should probably keep this far away from your eyes."
|
|
force = 8
|
|
throwforce = 12//fuck git
|
|
custom_materials = null
|
|
attack_verb = list("shanked", "shivved")
|
|
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
|
|
|
|
/obj/item/kitchen/rollingpin
|
|
name = "rolling pin"
|
|
desc = "Used to knock out the Bartender."
|
|
icon_state = "rolling_pin"
|
|
force = 8
|
|
throwforce = 5
|
|
throw_speed = 3
|
|
throw_range = 7
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
custom_materials = list(/datum/material/wood = MINERAL_MATERIAL_AMOUNT * 1.5)
|
|
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked")
|
|
custom_price = PRICE_ALMOST_CHEAP
|
|
|
|
/obj/item/kitchen/rollingpin/suicide_act(mob/living/carbon/user)
|
|
user.visible_message("<span class='suicide'>[user] begins flattening [user.p_their()] head with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
|
return BRUTELOSS
|
|
/* Trays moved to /obj/item/storage/bag */
|
|
|
|
/obj/item/kitchen/knife/scimitar
|
|
name = "Scimitar knife"
|
|
desc = "A knife used to cleanly butcher. Its razor-sharp edge has been honed for butchering, but has been poorly maintained over the years."
|
|
attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
|
|
|
/obj/item/kitchen/knife/scimiar/Initialize()
|
|
. = ..()
|
|
AddComponent(/datum/component/butchering, 90 - force, 100, force - 60) //bonus chance increases depending on force
|