Files
Bubberstation/code/game/objects/items/knives.dm
SkyratBot f708bb7bc4 [MIRROR] Make glass and bone knives not conduct electricity and shocks from grille [MDB IGNORE] (#19591)
* Make glass and bone knives not conduct electricity and shocks from grille (#73679)

## About The Pull Request
Just making shivs more consistent with what is expected. It's weird when
glass shard allows you to smash grille connected to power while shivs
made out of glass dont. Extended to bone knives for the same reason.
## Why It's Good For The Game
Immersium
## Changelog
🆑 Remuluson2
fix: After pressure from Nanotrasen, Space Wizard Federation made glass
and bone knives non-conductive again.
/🆑

---------

Co-authored-by: san7890 <the@ san7890.com>

* Make glass and bone knives not conduct electricity and shocks from grille

---------

Co-authored-by: remuluson2 <remuluson2@gmail.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-03-01 02:28:05 +00:00

253 lines
8.2 KiB
Plaintext

// Knife Template, should not appear in game normaly //
/obj/item/knife
name = "knife"
icon = 'icons/obj/kitchen.dmi'
icon_state = "knife"
lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
inhand_icon_state = "knife"
worn_icon_state = "knife"
desc = "The original knife, it is said that all other knives are only copies of this one."
flags_1 = CONDUCT_1
force = 10
demolition_mod = 0.75
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_continuous = list("slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts")
attack_verb_simple = list("slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut")
sharpness = SHARP_EDGED
armor_type = /datum/armor/item_knife
var/bayonet = FALSE //Can this be attached to a gun?
wound_bonus = 5
bare_wound_bonus = 15
tool_behaviour = TOOL_KNIFE
/datum/armor/item_knife
fire = 50
acid = 50
/obj/item/knife/Initialize(mapload)
. = ..()
AddElement(/datum/element/eyestab)
set_butchering()
///Adds the butchering component, used to override stats for special cases
/obj/item/knife/proc/set_butchering()
AddComponent(/datum/component/butchering, \
speed = 8 SECONDS - force, \
effectiveness = 100, \
bonus_modifier = force - 10, \
)
//bonus chance increases depending on force
/obj/item/knife/suicide_act(mob/living/user)
user.visible_message(pick(span_suicide("[user] is slitting [user.p_their()] wrists with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide."), \
span_suicide("[user] is slitting [user.p_their()] throat with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide."), \
span_suicide("[user] is slitting [user.p_their()] stomach open with the [src.name]! It looks like [user.p_theyre()] trying to commit seppuku.")))
return BRUTELOSS
/obj/item/knife/ritual
name = "ritual knife"
desc = "The unearthly energies that once powered this blade are now dormant."
icon = 'icons/obj/eldritch.dmi'
icon_state = "bone_blade"
inhand_icon_state = "bone_blade"
worn_icon_state = "bone_blade"
lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi'
righthand_file = 'icons/mob/inhands/64x64_righthand.dmi'
inhand_x_dimension = 64
inhand_y_dimension = 64
w_class = WEIGHT_CLASS_NORMAL
/obj/item/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"
worn_icon_state = "render"
w_class = WEIGHT_CLASS_NORMAL
/// Bleed stacks applied when an organic mob target is hit
var/bleed_stacks_per_hit = 3
/obj/item/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/knife/butcher
name = "butcher's cleaver"
icon_state = "butch"
inhand_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_continuous = list("slices", "dices", "chops", "cubes", "minces", "juliennes", "chiffonades", "batonnets")
attack_verb_simple = list("slice", "dice", "chop", "cube", "mince", "julienne", "chiffonade", "batonnet")
w_class = WEIGHT_CLASS_NORMAL
custom_price = PAYCHECK_CREW * 5
wound_bonus = 15
/obj/item/knife/hunting
name = "hunting knife"
desc = "Despite its name, it's mainly used for cutting meat from dead prey rather than actual hunting."
inhand_icon_state = "huntingknife"
icon_state = "huntingknife"
wound_bonus = 10
/obj/item/knife/hunting/set_butchering()
AddComponent(/datum/component/butchering, \
speed = 8 SECONDS - force, \
effectiveness = 100, \
bonus_modifier = force + 10, \
)
/obj/item/knife/combat
name = "combat knife"
icon_state = "buckknife"
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_continuous = list("slashes", "stabs", "slices", "tears", "lacerates", "rips", "cuts")
attack_verb_simple = list("slash", "stab", "slice", "tear", "lacerate", "rip", "cut")
bayonet = TRUE
/obj/item/knife/combat/survival
name = "survival knife"
icon_state = "survivalknife"
embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10)
desc = "A hunting grade survival knife."
force = 15
throwforce = 15
bayonet = TRUE
/obj/item/knife/combat/bone
name = "bone dagger"
inhand_icon_state = "bone_dagger"
icon_state = "bone_dagger"
worn_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/knife/combat/bone/Initialize(mapload)
flags_1 &= ~CONDUCT_1
return ..()
/obj/item/knife/combat/cyborg
name = "cyborg knife"
icon = 'icons/obj/items_cyborg.dmi'
icon_state = "knife_cyborg"
desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable."
/obj/item/knife/shiv
name = "glass shiv"
icon = 'icons/obj/shards.dmi'
icon_state = "shiv"
inhand_icon_state = "shiv"
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
desc = "A makeshift glass shiv."
force = 8
throwforce = 12
attack_verb_continuous = list("shanks", "shivs")
attack_verb_simple = list("shank", "shiv")
armor_type = /datum/armor/none
custom_materials = list(/datum/material/glass=400)
/obj/item/knife/shiv/Initialize(mapload)
flags_1 &= ~CONDUCT_1
return ..()
/obj/item/knife/shiv/plasma
name = "plasma shiv"
icon_state = "plasmashiv"
inhand_icon_state = "plasmashiv"
desc = "A makeshift plasma glass shiv."
force = 9
throwforce = 13
armor_type = /datum/armor/shiv_plasma
custom_materials = list(/datum/material/glass=400, /datum/material/plasma=200)
/datum/armor/shiv_plasma
melee = 25
bullet = 25
laser = 25
energy = 25
bomb = 25
fire = 50
acid = 50
/obj/item/knife/shiv/titanium
name = "titanium shiv"
icon_state = "titaniumshiv"
inhand_icon_state = "titaniumshiv"
desc = "A makeshift titanium-infused glass shiv."
throwforce = 14
throw_range = 7
wound_bonus = 10
armor_type = /datum/armor/shiv_titanium
custom_materials = list(/datum/material/glass=400, /datum/material/titanium=200)
/datum/armor/shiv_titanium
melee = 25
bullet = 25
laser = 25
energy = 25
bomb = 25
fire = 50
acid = 50
/obj/item/knife/shiv/plastitanium
name = "plastitanium shiv"
icon_state = "plastitaniumshiv"
inhand_icon_state = "plastitaniumshiv"
desc = "A makeshift titanium-infused plasma glass shiv."
force = 10
throwforce = 15
throw_speed = 4
throw_range = 8
wound_bonus = 10
bare_wound_bonus = 20
armor_type = /datum/armor/shiv_plastitanium
custom_materials = list(/datum/material/glass=400, /datum/material/alloy/plastitanium=200)
/datum/armor/shiv_plastitanium
melee = 50
bullet = 50
laser = 50
energy = 50
bomb = 50
fire = 75
acid = 75
/obj/item/knife/shiv/carrot
name = "carrot shiv"
icon_state = "carrotshiv"
inhand_icon_state = "carrotshiv"
icon = 'icons/obj/kitchen.dmi'
desc = "Unlike other carrots, you should probably keep this far away from your eyes."
custom_materials = null
/obj/item/knife/shiv/carrot/suicide_act(mob/living/carbon/user)
user.visible_message(span_suicide("[user] forcefully drives \the [src] into [user.p_their()] eye! It looks like [user.p_theyre()] trying to commit suicide!"))
return BRUTELOSS