mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-27 17:41:50 +00:00
## About The Pull Request <details> - renamed ai folder to announcer -- announcer -- - moved vox_fem to announcer - moved approachingTG to announcer - separated the ambience folder into ambience and instrumental -- ambience -- - created holy folder moved all related sounds there - created engineering folder and moved all related sounds there - created security folder and moved ambidet there - created general folder and moved ambigen there - created icemoon folder and moved all icebox-related ambience there - created medical folder and moved all medbay-related ambi there - created ruin folder and moves all ruins ambi there - created beach folder and moved seag and shore there - created lavaland folder and moved related ambi there - created aurora_caelus folder and placed its ambi there - created misc folder and moved the rest of the files that don't have a specific category into it -- instrumental -- - moved traitor folder here - created lobby_music folder and placed our songs there (title0 not used anywhere? - server-side modification?) -- items -- - moved secdeath to hailer - moved surgery to handling -- effects -- - moved chemistry into effects - moved hallucinations into effects - moved health into effects - moved magic into effects -- vehicles -- - moved mecha into vehicles created mobs folder -- mobs -- - moved creatures folder into mobs - moved voice into mobs renamed creatures to non-humanoids renamed voice to humanoids -- non-humanoids-- created cyborg folder created hiss folder moved harmalarm.ogg to cyborg -- humanoids -- -- misc -- moved ghostwhisper to misc moved insane_low_laugh to misc I give up trying to document this. </details> - [X] ambience - [x] announcer - [x] effects - [X] instrumental - [x] items - [x] machines - [x] misc - [X] mobs - [X] runtime - [X] vehicles - [ ] attributions ## Why It's Good For The Game This folder is so disorganized that it's vomit inducing, will make it easier to find and add new sounds, providng a minor structure to the sound folder. ## Changelog 🆑 grungussuss refactor: the sound folder in the source code has been reorganized, please report any oddities with sounds playing or not playing server: lobby music has been repathed to sound/music/lobby_music /🆑
311 lines
11 KiB
Plaintext
311 lines
11 KiB
Plaintext
// Knife Template, should not appear in game normaly //
|
|
/obj/item/knife
|
|
name = "knife"
|
|
icon = 'icons/obj/service/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."
|
|
obj_flags = CONDUCTS_ELECTRICITY
|
|
force = 10
|
|
demolition_mod = 0.75
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
throwforce = 10
|
|
hitsound = 'sound/items/weapons/bladeslice.ogg'
|
|
throw_speed = 3
|
|
throw_range = 6
|
|
custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 6)
|
|
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
|
|
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/weapons/khopesh.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
|
|
item_flags = CRUEL_IMPLEMENT //maybe they want to use it in surgery
|
|
force = 15
|
|
throwforce = 15
|
|
wound_bonus = 20
|
|
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/weapons/khopesh.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, click_parameters)
|
|
if(!isliving(target))
|
|
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."
|
|
obj_flags = CONDUCTS_ELECTRICITY
|
|
force = 15
|
|
throwforce = 10
|
|
custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 6)
|
|
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"
|
|
icon = 'icons/obj/weapons/stabby.dmi'
|
|
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 = 'icons/obj/weapons/stabby.dmi'
|
|
icon_state = "buckknife"
|
|
worn_icon_state = "buckknife"
|
|
desc = "A military combat utility survival knife."
|
|
embed_type = /datum/embed_data/combat_knife
|
|
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")
|
|
slot_flags = ITEM_SLOT_MASK
|
|
|
|
/datum/embed_data/combat_knife
|
|
pain_mult = 4
|
|
embed_chance = 65
|
|
fall_chance = 10
|
|
ignore_throwspeed_threshold = TRUE
|
|
|
|
/obj/item/knife/combat/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/knockoff, 90, list(BODY_ZONE_PRECISE_MOUTH), slot_flags) //90% to knock off when wearing a mask
|
|
|
|
/obj/item/knife/combat/dropped(mob/living/user, slot)
|
|
. = ..()
|
|
if(user.get_item_by_slot(ITEM_SLOT_MASK) == src && !user.has_status_effect(/datum/status_effect/choke) && prob(20))
|
|
user.apply_damage(5, BRUTE, BODY_ZONE_HEAD)
|
|
playsound(user, 'sound/items/weapons/slice.ogg', 50, TRUE)
|
|
user.visible_message(span_danger("[user] accidentally cuts [user.p_them()]self while pulling [src] out of [user.p_them()] teeth! What a doofus!"), span_userdanger("You accidentally cut your mouth with [src]!"))
|
|
|
|
/obj/item/knife/combat/equipped(mob/living/user, slot, initial = FALSE)
|
|
. = ..()
|
|
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(20))
|
|
if(user.get_item_by_slot(ITEM_SLOT_MASK) == src)
|
|
user.apply_status_effect(/datum/status_effect/choke, src)
|
|
user.visible_message(span_danger("[user] accidentally swallows [src]!"))
|
|
playsound(user, 'sound/items/eatfood.ogg', 100, TRUE)
|
|
|
|
/obj/item/knife/combat/survival
|
|
name = "survival knife"
|
|
icon = 'icons/obj/weapons/stabby.dmi'
|
|
icon_state = "survivalknife"
|
|
worn_icon_state = "survivalknife"
|
|
embed_type = /datum/embed_data/combat_knife/weak
|
|
desc = "A hunting grade survival knife."
|
|
force = 15
|
|
throwforce = 15
|
|
|
|
/obj/item/knife/combat/root
|
|
name = "cahn'root dagger"
|
|
icon = 'icons/obj/weapons/stabby.dmi'
|
|
icon_state = "rootdagger"
|
|
worn_icon_state = "root_dagger"
|
|
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
|
|
inhand_icon_state = "rootshiv"
|
|
embed_type = /datum/embed_data/combat_knife/weak
|
|
desc = "A root dagger, deceptively sharp. Perfect to hide and stab someone with, or make a couple and throw them at enemies."
|
|
force = 15
|
|
throwforce = 15
|
|
|
|
/obj/item/knife/combat/bone
|
|
name = "bone dagger"
|
|
inhand_icon_state = "bone_dagger"
|
|
icon = 'icons/obj/weapons/stabby.dmi'
|
|
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."
|
|
embed_type = /datum/embed_data/combat_knife/weak
|
|
obj_flags = parent_type::obj_flags & ~CONDUCTS_ELECTRICITY
|
|
force = 15
|
|
throwforce = 15
|
|
custom_materials = null
|
|
|
|
/datum/embed_data/combat_knife/weak
|
|
embed_chance = 35
|
|
|
|
/obj/item/knife/combat/cyborg
|
|
name = "cyborg knife"
|
|
icon = 'icons/obj/items_cyborg.dmi'
|
|
icon_state = "knife_cyborg"
|
|
worn_icon_state = "knife_cyborg" //error sprite - this shouldn't have been dropped
|
|
desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable."
|
|
slot_flags = NONE //you can't put this in your mouth
|
|
|
|
/obj/item/knife/shiv
|
|
name = "glass shiv"
|
|
icon = 'icons/obj/weapons/stabby.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."
|
|
obj_flags = parent_type::obj_flags & ~CONDUCTS_ELECTRICITY
|
|
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 = SMALL_MATERIAL_AMOUNT * 4)
|
|
|
|
/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=SMALL_MATERIAL_AMOUNT *4, /datum/material/plasma=SMALL_MATERIAL_AMOUNT * 2)
|
|
|
|
/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=SMALL_MATERIAL_AMOUNT * 4, /datum/material/titanium=SMALL_MATERIAL_AMOUNT * 2)
|
|
|
|
/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= SMALL_MATERIAL_AMOUNT * 4, /datum/material/alloy/plastitanium= SMALL_MATERIAL_AMOUNT * 2)
|
|
|
|
/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"
|
|
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
|
|
|
|
/obj/item/knife/shiv/parsnip
|
|
name = "parsnip shiv"
|
|
icon_state = "parsnipshiv"
|
|
inhand_icon_state = "parsnipshiv"
|
|
desc = "Truly putting 'snip' in the 'parsnip', and it's not sub-par either!"
|
|
custom_materials = null
|
|
|
|
/obj/item/knife/shiv/root
|
|
name = "cahn'root shiv"
|
|
icon_state = "rootshiv"
|
|
inhand_icon_state = "rootshiv"
|
|
desc = "A root sharpened into a shiv. A root source of someone's stab wounds soon, most likely."
|
|
custom_materials = null
|
|
|