Knives now eyestab (#5922)

All knives (including the trench knife, which was previously a sword, and now has lost its ridiculously low chance to parry) have been moved to the knife datum, which are defined by their ability to eyestab, and be concealed in boots. The butcher's cleaver and the meat hook are no longer considered knives - the cleaver is now a hatchet, and the hook is a regular weapon.
The tactical knife has been buffed, and deals 18 damage, to be superior/equivalent in power to the steel bat, considering that it's an illegal/hidden item.
This commit is contained in:
VTCobaltblood
2019-01-12 00:09:20 +03:00
committed by Erki
parent 74507cae05
commit 5387075b1d
16 changed files with 156 additions and 99 deletions

View File

@@ -388,7 +388,7 @@
/datum/autolathe/recipe/tacknife
name = "tactical knife"
path = /obj/item/weapon/material/hatchet/tacknife
path = /obj/item/weapon/material/knife/tacknife
hidden = 1
category = "Arms and Ammunition"

View File

@@ -600,7 +600,7 @@
/obj/item/weapon/material/kitchen/utensil/knife = 6,
/obj/item/weapon/material/kitchen/utensil/spoon = 6,
/obj/item/weapon/material/knife = 2,
/obj/item/weapon/material/knife/butch = 2,
/obj/item/weapon/material/hatchet/butch = 2,
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,
/obj/item/clothing/suit/chef/classic = 2,
/obj/item/weapon/material/kitchen/rollingpin = 2,
@@ -733,7 +733,7 @@
/obj/item/ammo_magazine/c45x = 6,
/obj/item/ammo_magazine/a556 = 12,
/obj/item/ammo_magazine/a556/ap = 4,
/obj/item/weapon/material/hatchet/tacknife = 4,
/obj/item/weapon/material/knife/tacknife = 4,
/obj/item/device/firing_pin = 12
)
random_itemcount = 0

View File

@@ -9,7 +9,7 @@
/obj/item/weapon/material/butterflyconstruction/attackby(obj/item/W as obj, mob/user as mob)
if(isscrewdriver(W))
user << "You finish the concealed blade weapon."
new /obj/item/weapon/material/butterfly(user.loc, material.name)
new /obj/item/weapon/material/knife/butterfly(user.loc, material.name)
qdel(src)
return

View File

@@ -1,23 +1,90 @@
/obj/item/weapon/material/butterfly
/*
* Knives. They stab your eyes out, and fit into boots. Copypasted the screwdriver code
*/
/obj/item/weapon/material/knife
name = "kitchen knife"
icon = 'icons/obj/kitchen.dmi'
icon_state = "knife"
desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come."
flags = CONDUCT
sharp = 1
edge = 1
var/active = 1 // For butterfly knives
force_divisor = 0.15 // 9 when wielded with hardness 60 (steel)
matter = list(DEFAULT_WALL_MATERIAL = 12000)
origin_tech = list(TECH_MATERIAL = 1)
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
unbreakable = 1
/obj/item/weapon/material/knife/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob, var/target_zone)
if(active == 1)
if(target_zone != "eyes" && target_zone != "head")
return ..()
if((CLUMSY in user.mutations) && prob(50))
M = user
return eyestab(M,user)
/obj/item/weapon/material/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"
applies_material_colour = 0
/obj/item/weapon/material/knife/bayonet
name = "bayonet"
desc = "A sharp military knife, can be attached to a rifle."
icon = 'icons/obj/weapons.dmi'
icon_state = "bayonet"
item_state = "knife"
applies_material_colour = 0
force_divisor = 0.35
can_embed = 0
w_class = 3
/obj/item/weapon/material/knife/tacknife
name = "tactical knife"
desc = "You'd be killing loads of people if this was Medal of Valor: Heroes of Tau Ceti."
icon = 'icons/obj/weapons.dmi'
icon_state = "tacknife"
item_state = "knife"
attack_verb = list("stabbed", "chopped", "cut")
applies_material_colour = 1
force_divisor = 0.3 // 18 with hardness 60 (steel)
/obj/item/weapon/material/knife/trench
name = "trench knife"
desc = "A military knife used to slash and stab enemies in close quarters."
force_divisor = 0.4
icon = 'icons/obj/weapons.dmi'
icon_state = "trench"
item_state = "knife"
w_class = 3
applies_material_colour = 0
slot_flags = SLOT_BELT
//Butterfly knives stab your eyes out too!
/obj/item/weapon/material/knife/butterfly
name = "butterfly knife"
desc = "A basic metal blade concealed in a lightweight plasteel grip. Small enough when folded to fit in a pocket."
icon_state = "butterflyknife"
item_state = null
icon = 'icons/obj/weapons.dmi'
icon_state = "butterfly"
hitsound = null
var/active = 0
active = 0
w_class = 2
attack_verb = list("patted", "tapped")
force_divisor = 0.25 // 15 when wielded with hardness 60 (steel)
thrown_force_divisor = 0.25 // 5 when thrown with weight 20 (steel)
/obj/item/weapon/material/butterfly/update_force()
/obj/item/weapon/material/knife/butterfly/update_force()
if(active)
edge = 1
sharp = 1
..() //Updates force.
throwforce = max(3,force-3)
hitsound = 'sound/weapons/bladeslice.ogg'
icon_state += "_open"
hitsound = 'sound/weapons/bladeslice.ogg'
w_class = 3
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
else
@@ -29,13 +96,14 @@
w_class = initial(w_class)
attack_verb = initial(attack_verb)
/obj/item/weapon/material/butterfly/switchblade
/obj/item/weapon/material/knife/butterfly/switchblade
name = "switchblade"
desc = "A classic switchblade with gold engraving. Just holding it makes you feel like a gangster."
icon = 'icons/obj/weapons.dmi'
icon_state = "switchblade"
unbreakable = 1
/obj/item/weapon/material/butterfly/attack_self(mob/user)
/obj/item/weapon/material/knife/butterfly/attack_self(mob/user)
active = !active
if(active)
user << "<span class='notice'>You flip out \the [src].</span>"
@@ -43,53 +111,4 @@
else
user << "<span class='notice'>\The [src] can now be concealed.</span>"
update_force()
add_fingerprint(user)
/*
* Kitchen knives
*/
/obj/item/weapon/material/knife
name = "kitchen knife"
icon = 'icons/obj/kitchen.dmi'
icon_state = "knife"
desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come."
flags = CONDUCT
sharp = 1
edge = 1
force_divisor = 0.15 // 9 when wielded with hardness 60 (steel)
matter = list(DEFAULT_WALL_MATERIAL = 12000)
origin_tech = list(TECH_MATERIAL = 1)
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
unbreakable = 1
/obj/item/weapon/material/knife/hook
name = "meat hook"
desc = "A sharp, metal hook what sticks into things."
icon_state = "hook_knife"
item_state = "hook_knife"
/obj/item/weapon/material/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"
applies_material_colour = 0
/obj/item/weapon/material/knife/butch
name = "butcher's cleaver"
icon = 'icons/obj/kitchen.dmi'
icon_state = "butch"
desc = "A huge thing used for chopping and chopping up meat."
force_divisor = 0.25 // 15 when wielded with hardness 60 (steel)
attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
/obj/item/weapon/material/knife/bayonet
name = "bayonet"
desc = "A sharp military knife, can be attached to a rifle."
icon = 'icons/obj/weapons.dmi'
icon_state = "bayonet"
item_state = "knife"
applies_material_colour = 0
force_divisor = 0.35
can_embed = 0
w_class = 3
add_fingerprint(user)

View File

@@ -22,6 +22,14 @@
attack_verb = list("chopped", "torn", "cut")
applies_material_colour = 0
/obj/item/weapon/material/hatchet/butch
name = "butcher's cleaver"
icon = 'icons/obj/kitchen.dmi'
icon_state = "butch"
desc = "A huge thing used for chopping and chopping up meat."
force_divisor = 0.25 // 15 when wielded with hardness 60 (steel)
attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
/obj/item/weapon/material/hatchet/unathiknife
name = "duelling knife"
desc = "A length of leather-bound wood studded with razor-sharp teeth. How crude."
@@ -29,14 +37,13 @@
icon_state = "unathiknife"
attack_verb = list("ripped", "torn", "cut")
/obj/item/weapon/material/hatchet/tacknife
name = "tactical knife"
desc = "You'd be killing loads of people if this was Medal of Valor: Heroes of Tau Ceti."
icon = 'icons/obj/weapons.dmi'
icon_state = "tacknife"
item_state = "knife"
attack_verb = list("stabbed", "chopped", "cut")
applies_material_colour = 1
/obj/item/weapon/material/hook
name = "meat hook"
sharp = 1
edge = 1
desc = "A sharp, metal hook that sticks into things."
icon_state = "hook_knife"
item_state = "hook_knife"
/obj/item/weapon/material/minihoe // -- Numbers
name = "mini hoe"

View File

@@ -52,16 +52,6 @@
cleave(user, target)
..()
/obj/item/weapon/material/sword/trench
name = "trench knife"
desc = "A military knife used to slash and stab enemies in close quarters."
force_divisor = 0.4
icon_state = "trench"
item_state = "knife"
w_class = 3
slot_flags = SLOT_BELT
parry_chance = 5
/obj/item/weapon/material/sword/sabre
name = "sabre"
desc = "A sharp curved backsword."

View File

@@ -145,7 +145,7 @@
/obj/item/weapon/melee,
/obj/item/weapon/gun/projectile/sec,
/obj/item/taperoll/police,
/obj/item/weapon/material/sword/trench,
/obj/item/weapon/material/knife/trench,
/obj/item/weapon/shield/energy,
/obj/item/weapon/shield/riot/tact,
/obj/item/device/holowarrant
@@ -235,7 +235,7 @@
/obj/item/weapon/plastique,
/obj/item/weapon/gun/projectile/pistol,
/obj/item/weapon/gun/energy/crossbow,
/obj/item/weapon/material/sword/trench,
/obj/item/weapon/material/knife/trench,
/obj/item/ammo_casing/a145,
/obj/item/device/radio/uplink,
/obj/item/weapon/card/emag,

View File

@@ -183,15 +183,15 @@
/obj/item/weapon/storage/pill_bottle/zoom = 2,
/obj/item/weapon/reagent_containers/glass/beaker/vial/random/toxin = 1,
/obj/item/weapon/contraband/poster = 5,
/obj/item/weapon/material/butterfly = 2,
/obj/item/weapon/material/knife/butterfly = 2,
/obj/item/weapon/material/butterflyblade = 3,
/obj/item/weapon/material/butterflyhandle = 3,
/obj/item/weapon/material/wirerod = 3,
/obj/item/weapon/melee/baton/cattleprod = 1,
/obj/item/weapon/material/hatchet/tacknife = 1,
/obj/item/weapon/material/knife/tacknife = 1,
/obj/item/weapon/material/kitchen/utensil/knife/boot = 2,
/obj/item/weapon/storage/secure/briefcase/money = 1,
/obj/item/weapon/material/butterfly/switchblade = 1,
/obj/item/weapon/material/knife/butterfly/switchblade = 1,
/obj/item/weapon/reagent_containers/syringe/drugs = 1,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap = 2,
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris = 2,
@@ -756,8 +756,8 @@
/obj/item/toy/balloon = 0.4,
/obj/item/weapon/haircomb = 0.5,
/obj/item/weapon/lipstick = 0.6,
/obj/item/weapon/material/knife/hook = 0.3,
/obj/item/weapon/material/hatchet/tacknife = 0.4,
/obj/item/weapon/material/hook = 0.3,
/obj/item/weapon/material/knife/tacknife = 0.4,
/obj/item/weapon/storage/fancy/cigarettes = 1.2,
/obj/item/weapon/storage/fancy/cigarettes/dromedaryco = 0.8,
/obj/item/weapon/storage/fancy/cigarettes/killthroat = 0.3,
@@ -954,7 +954,6 @@
/obj/item/weapon/material/sword/katana,
/obj/item/weapon/material/sword/rapier,
/obj/item/weapon/material/sword/longsword,
/obj/item/weapon/material/sword/trench,
/obj/item/weapon/material/sword/sabre,
/obj/item/weapon/material/sword/axe,
/obj/item/weapon/material/sword/khopesh,

View File

@@ -13,7 +13,7 @@
/datum/export/weapon/knife
cost = 100
unit_name = "tactical knife"
export_types = list(/obj/item/weapon/material/hatchet/tacknife )
export_types = list(/obj/item/weapon/material/knife/tacknife )
/datum/export/weapon/laser
cost = 200

View File

@@ -288,14 +288,14 @@ STOCK_ITEM_UNCOMMON(briefcase, 2)
STOCK_ITEM_UNCOMMON(blade, 1.2)
var/list/blades = list(
/obj/item/weapon/material/butterfly = 1,
/obj/item/weapon/material/butterfly/switchblade = 1,
/obj/item/weapon/material/knife/hook = 1.5,
/obj/item/weapon/material/knife/butterfly = 1,
/obj/item/weapon/material/knife/butterfly/switchblade = 1,
/obj/item/weapon/material/hook = 1.5,
/obj/item/weapon/material/knife/ritual = 1.5,
/obj/item/weapon/material/knife/butch = 1,
/obj/item/weapon/material/hatchet/butch = 1,
/obj/item/weapon/material/hatchet = 1.5,
/obj/item/weapon/material/hatchet/unathiknife = 0.75,
/obj/item/weapon/material/hatchet/tacknife = 1
/obj/item/weapon/material/knife/tacknife = 1
)
var/type = pickweight(blades)

View File

@@ -679,7 +679,7 @@
/obj/item/clothing/shoes/attackby(var/obj/item/I, var/mob/user)
if(can_hold_knife && is_type_in_list(I, list(/obj/item/weapon/material/shard, /obj/item/weapon/material/butterfly, /obj/item/weapon/material/kitchen/utensil, /obj/item/weapon/material/hatchet/tacknife, /obj/item/weapon/material/sword/trench)))
if(can_hold_knife && is_type_in_list(I, list(/obj/item/weapon/material/shard, /obj/item/weapon/material/kitchen/utensil, /obj/item/weapon/material/knife)))
if(holding)
user << "<span class='warning'>\The [src] is already holding \a [holding].</span>"
return

View File

@@ -7,7 +7,7 @@
/obj/item/weapon/material/kitchen
worth_multiplier = 1.1
/obj/item/weapon/material/butterfly
/obj/item/weapon/material/knife/butterfly
worth_multiplier = 8
/obj/item/weapon/material/harpoon

View File

@@ -44,7 +44,7 @@
/obj/item/weapon/autopsy_scanner,\
/obj/item/weapon/bikehorn,\
/obj/item/weapon/bonesetter,\
/obj/item/weapon/material/knife/butch,\
/obj/item/weapon/material/hatchet/butch,\
/obj/item/weapon/caution,\
/obj/item/weapon/caution/cone,\
/obj/item/weapon/crowbar,\

View File

@@ -21,7 +21,7 @@
/datum/surgery_step/generic/prepare_face
allowed_tools = list(
/obj/item/weapon/retractor = 100,
/obj/item/weapon/material/hatchet/tacknife = 75
/obj/item/weapon/material/knife/tacknife = 75
)
min_duration = 90
@@ -167,7 +167,7 @@
/datum/surgery_step/robotics/face/prepare_face
allowed_tools = list(
/obj/item/weapon/retractor = 100,
/obj/item/weapon/material/hatchet/tacknife = 75
/obj/item/weapon/material/knife/tacknife = 75
)
min_duration = 90

View File

@@ -0,0 +1,42 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
# balance
# admin
# backend
# security
# refactor
#################################
# Your name.
author: VTCobaltblood
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "All knives can now eyestab! Knife enthusiasts rejoice!"
- bugfix: "Trench knives are no longer swords, and will not appear where a sword would appear."

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB