mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 21:18:37 +01:00
[IT'S READY NOW!] [MODULAR] Razor Claws Augment (#23050)
* initial * god i hate byond * there we go * oh right * Apply suggestions from code review Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * wew * Manual map merge * wew * Apply suggestions from code review Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> --------- Co-authored-by: Snakebittenn <12636964+Snakebittenn@users.noreply.github.com> Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
This commit is contained in:
co-authored by
GoldenAlpharex
Snakebittenn
Giz
parent
0ebf6deeda
commit
5f9e018543
@@ -0,0 +1,7 @@
|
||||
/obj/item/scratching_stone
|
||||
name = "scratching stone"
|
||||
icon = 'modular_skyrat/master_files/icons/obj/kitchen.dmi'
|
||||
icon_state = "scratchingstone"
|
||||
desc = "A specialized kind of whetstone, made of unknown alloys to hone a cyborg mercenary's claws to the best they can be. This one looks like a shitty second-hand sold by razorkids. It's got like, what, maybe one use left?"
|
||||
force = 5
|
||||
throwforce = 10 //Hey, you can at least use it as a brick.
|
||||
+3
-1
@@ -31,7 +31,9 @@
|
||||
"stomach" = "Stomach",
|
||||
"eyes" = "Eyes",
|
||||
"tongue" = "Tongue",
|
||||
"Mouth implant" = "Mouth implant"
|
||||
"Mouth implant" = "Mouth implant",
|
||||
"Left Arm implant" = "Left Arm implant",
|
||||
"Right Arm implant" = "Right Arm implant",
|
||||
)
|
||||
|
||||
var/list/aug_support = list(
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 367 B |
Binary file not shown.
|
After Width: | Height: | Size: 482 B |
@@ -77,6 +77,13 @@
|
||||
cost = CARGO_CRATE_VALUE * 6 // 1200 credits
|
||||
contains = list(/obj/item/gravity_harness)
|
||||
|
||||
/datum/supply_pack/goody/scratching_stone
|
||||
name = "Scratching Stone"
|
||||
desc = "A high-grade sharpening stone made of specialized alloys, meant to sharpen razor-claws. Unfortunately, this particular one has by far seen better days."
|
||||
cost = CARGO_CRATE_VALUE * 4 //800 credits
|
||||
contains = list(/obj/item/scratching_stone)
|
||||
contraband = TRUE
|
||||
|
||||
/*
|
||||
* CARPET PACKS
|
||||
*/
|
||||
|
||||
@@ -19,10 +19,20 @@
|
||||
/datum/augment_item/implant/l_arm
|
||||
slot = AUGMENT_SLOT_LEFT_ARM_IMPLANT
|
||||
|
||||
/datum/augment_item/implant/l_arm/razor_claws
|
||||
name = "Left Razor Claws"
|
||||
cost = 4
|
||||
path = /obj/item/organ/internal/cyberimp/arm/razor_claws/left_arm
|
||||
|
||||
//RIGHT ARM IMPLANTS
|
||||
/datum/augment_item/implant/r_arm
|
||||
slot = AUGMENT_SLOT_RIGHT_ARM_IMPLANT
|
||||
|
||||
/datum/augment_item/implant/r_arm/razor_claws
|
||||
name = "Right Razor Claws"
|
||||
cost = 4
|
||||
path = /obj/item/organ/internal/cyberimp/arm/razor_claws/right_arm
|
||||
|
||||
//EYES IMPLANTS
|
||||
/datum/augment_item/implant/eyes
|
||||
slot = AUGMENT_SLOT_EYES_IMPLANT
|
||||
|
||||
@@ -1,3 +1,19 @@
|
||||
#define KNIFE_HITSOUND 'sound/weapons/bladeslice.ogg'
|
||||
#define KNIFE_USESOUND 'sound/weapons/bladeslice.ogg'
|
||||
#define KNIFE_ATTACK_VERB_CONTINUOUS list("slashes", "tears", "slices", "tears", "lacerates", "rips", "dices", "cuts", "rends")
|
||||
#define KNIFE_ATTACK_VERB_SIMPLE list("slash", "tear", "slice", "tear", "lacerate", "rip", "dice", "cut", "rend")
|
||||
#define KNIFE_SHARPNESS SHARP_EDGED
|
||||
#define KNIFE_BARE_WOUND_BONUS 15
|
||||
#define CUTTER_HITSOUND 'sound/items/wirecutter.ogg'
|
||||
#define CUTTER_USESOUND 'sound/items/wirecutter.ogg'
|
||||
#define CUTTER_ATTACK_VERB_CONTINUOUS list("bashes", "batters", "bludgeons", "thrashes", "whacks")
|
||||
#define CUTTER_ATTACK_VERB_SIMPLE list("bash", "batter", "bludgeon", "thrash", "whack")
|
||||
#define CUTTER_FORCE 6
|
||||
#define CUTTER_WOUND_BONUS 0
|
||||
#define ENHANCED_KNIFE_FORCE 15
|
||||
#define ENHANCED_KNIFE_WOUND_BONUS 15
|
||||
#define ENHANCED_KNIFE_ARMOR_PENETRATION 10
|
||||
|
||||
/obj/item/melee/implantarmblade
|
||||
name = "implanted arm blade"
|
||||
desc = "A long, sharp, mantis-like blade implanted into someones arm. Cleaves through flesh like its particularly strong butter."
|
||||
@@ -36,6 +52,98 @@
|
||||
items_list += WEAKREF(new /obj/item/melee/implantarmblade/energy(src))
|
||||
return TRUE
|
||||
|
||||
/obj/item/knife/razor_claws
|
||||
name = "implanted razor claws"
|
||||
desc = "A set of sharp, retractable claws built into the fingertips, five double-edged blades sure to turn people into mincemeat. Capable of shifting into 'Precision' mode to act similar to wirecutters."
|
||||
icon = 'modular_skyrat/modules/implants/icons/razorclaws.dmi'
|
||||
righthand_file = 'modular_skyrat/modules/implants/icons/razorclaws_righthand.dmi'
|
||||
lefthand_file = 'modular_skyrat/modules/implants/icons/razorclaws_lefthand.dmi'
|
||||
icon_state = "wolverine"
|
||||
inhand_icon_state = "wolverine"
|
||||
var/knife_force = 10
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
var/knife_wound_bonus = 5
|
||||
var/cutter_force = CUTTER_FORCE
|
||||
var/cutter_wound_bonus = CUTTER_WOUND_BONUS
|
||||
var/cutter_bare_wound_bonus = CUTTER_WOUND_BONUS
|
||||
tool_behaviour = TOOL_KNIFE
|
||||
toolspeed = 1
|
||||
item_flags = NEEDS_PERMIT //Beepers gets angry if you get caught with this.
|
||||
|
||||
/obj/item/knife/razor_claws/attack_self(mob/user)
|
||||
playsound(get_turf(user), 'sound/items/change_drill.ogg', 50, TRUE)
|
||||
if(tool_behaviour != TOOL_WIRECUTTER)
|
||||
tool_behaviour = TOOL_WIRECUTTER
|
||||
to_chat(user, span_notice("You shift [src] into Precision mode, for wirecutting."))
|
||||
icon_state = "precision_wolverine"
|
||||
inhand_icon_state = "precision_wolverine"
|
||||
force = cutter_force
|
||||
wound_bonus = cutter_wound_bonus
|
||||
bare_wound_bonus = cutter_bare_wound_bonus
|
||||
sharpness = NONE
|
||||
hitsound = CUTTER_HITSOUND
|
||||
usesound = CUTTER_USESOUND
|
||||
attack_verb_continuous = CUTTER_ATTACK_VERB_CONTINUOUS
|
||||
attack_verb_simple = CUTTER_ATTACK_VERB_SIMPLE
|
||||
else
|
||||
tool_behaviour = TOOL_KNIFE
|
||||
to_chat(user, span_notice("You shift [src] into Killing mode, for slicing."))
|
||||
icon_state = "wolverine"
|
||||
inhand_icon_state = "wolverine"
|
||||
force = knife_force
|
||||
sharpness = KNIFE_SHARPNESS
|
||||
wound_bonus = knife_wound_bonus
|
||||
bare_wound_bonus = KNIFE_BARE_WOUND_BONUS
|
||||
hitsound = KNIFE_HITSOUND
|
||||
usesound = KNIFE_USESOUND
|
||||
attack_verb_continuous = KNIFE_ATTACK_VERB_CONTINUOUS
|
||||
attack_verb_simple = KNIFE_ATTACK_VERB_SIMPLE
|
||||
|
||||
/obj/item/knife/razor_claws/attackby(obj/item/stone, mob/user, param)
|
||||
if(!istype(stone, /obj/item/scratching_stone))
|
||||
return ..()
|
||||
|
||||
knife_force = ENHANCED_KNIFE_FORCE
|
||||
knife_wound_bonus = ENHANCED_KNIFE_WOUND_BONUS
|
||||
armour_penetration = ENHANCED_KNIFE_ARMOR_PENETRATION //Let's give them some AP for the trouble.
|
||||
|
||||
if(tool_behaviour == TOOL_KNIFE)
|
||||
force = knife_force
|
||||
wound_bonus = knife_wound_bonus
|
||||
|
||||
name = "enhanced razor claws"
|
||||
desc += span_warning("\n\nThese have undergone a special honing process; they'll kill people even faster than they used to.")
|
||||
user.visible_message(span_warning("[user] sharpens [src], [stone] disintegrating!"), span_warning("You sharpen [src], making it much more deadly than before, but [stone] disintegrates under the stress."))
|
||||
playsound(src, 'sound/items/unsheath.ogg', 25, TRUE)
|
||||
qdel(stone)
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/razor_claws
|
||||
name = "razor claws implant"
|
||||
desc = "A set of hidden, retractable blades built into the fingertips; cyborg mercenary approved."
|
||||
items_to_create = list(/obj/item/knife/razor_claws)
|
||||
actions_types = list(/datum/action/item_action/organ_action/toggle/razor_claws)
|
||||
icon = 'modular_skyrat/modules/implants/icons/razorclaws.dmi'
|
||||
icon_state = "wolverine"
|
||||
extend_sound = 'sound/items/unsheath.ogg'
|
||||
retract_sound = 'sound/items/sheath.ogg'
|
||||
|
||||
/// bespoke subtypes for augs menu since it's a bit wonky
|
||||
/obj/item/organ/internal/cyberimp/arm/razor_claws/right_arm
|
||||
zone = BODY_ZONE_R_ARM
|
||||
slot = ORGAN_SLOT_RIGHT_ARM_AUG
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/razor_claws/left_arm
|
||||
zone = BODY_ZONE_L_ARM
|
||||
slot = ORGAN_SLOT_LEFT_ARM_AUG
|
||||
|
||||
|
||||
/datum/action/item_action/organ_action/toggle/razor_claws
|
||||
name = "Extend Claws"
|
||||
desc = "You can also activate the claws in your hand to change their mode."
|
||||
button_icon = 'modular_skyrat/master_files/icons/hud/actions.dmi'
|
||||
button_icon_state = "wolverine"
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/hacker
|
||||
name = "hacking arm implant"
|
||||
desc = "An small arm implant containing an advanced screwdriver, wirecutters, and multitool designed for engineers and on-the-field machine modification. Actually legal, despite what the name may make you think."
|
||||
@@ -110,3 +218,19 @@
|
||||
items_list += WEAKREF(new /obj/item/lighter(src)) //Now you can choose between bad and worse!
|
||||
obj_flags |= EMAGGED
|
||||
return TRUE
|
||||
|
||||
#undef KNIFE_HITSOUND
|
||||
#undef KNIFE_USESOUND
|
||||
#undef KNIFE_ATTACK_VERB_CONTINUOUS
|
||||
#undef KNIFE_ATTACK_VERB_SIMPLE
|
||||
#undef KNIFE_SHARPNESS
|
||||
#undef KNIFE_BARE_WOUND_BONUS
|
||||
#undef CUTTER_HITSOUND
|
||||
#undef CUTTER_USESOUND
|
||||
#undef CUTTER_ATTACK_VERB_CONTINUOUS
|
||||
#undef CUTTER_ATTACK_VERB_SIMPLE
|
||||
#undef CUTTER_FORCE
|
||||
#undef CUTTER_WOUND_BONUS
|
||||
#undef ENHANCED_KNIFE_FORCE
|
||||
#undef ENHANCED_KNIFE_WOUND_BONUS
|
||||
#undef ENHANCED_KNIFE_ARMOR_PENETRATION
|
||||
|
||||
@@ -11,6 +11,23 @@
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
|
||||
/datum/design/cyberimp_claws
|
||||
name = "Razor Claws Implant"
|
||||
desc = "Long, sharp, double-edged razors installed within the fingers, functional for cutting. All kinds of cutting."
|
||||
id = "ci-razor"
|
||||
build_type = PROTOLATHE | AWAY_LATHE | MECHFAB
|
||||
materials = list (
|
||||
/datum/material/iron = SHEET_MATERIAL_AMOUNT,
|
||||
/datum/material/glass = HALF_SHEET_MATERIAL_AMOUNT,
|
||||
/datum/material/silver = HALF_SHEET_MATERIAL_AMOUNT
|
||||
)
|
||||
construction_time = 20 SECONDS
|
||||
build_path = /obj/item/organ/internal/cyberimp/arm/razor_claws
|
||||
category = list(
|
||||
RND_CATEGORY_CYBERNETICS + RND_SUBCATEGORY_CYBERNETICS_IMPLANTS_TOOLS
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_SECURITY
|
||||
|
||||
/datum/design/cyberimp_hacker
|
||||
name = "Hacking Hand Implant"
|
||||
desc = "An advanced hacking and machine modification toolkit fitted into an arm implant, designed to be installed on a subject's arm."
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
/datum/techweb_node/cyber_implants
|
||||
design_ids = list("ci-nutriment", "ci-scanner", "ci-breather", "ci-gloweyes", "ci-welding", "ci-medhud", "ci-sechud", "ci-diaghud", "ci-botany", "ci-janitor", "ci-lighter")
|
||||
design_ids = list(
|
||||
"ci-nutriment",
|
||||
"ci-scanner",
|
||||
"ci-breather",
|
||||
"ci-gloweyes",
|
||||
"ci-welding",
|
||||
"ci-medhud",
|
||||
"ci-sechud",
|
||||
"ci-diaghud",
|
||||
"ci-botany",
|
||||
"ci-janitor",
|
||||
"ci-lighter",
|
||||
"ci-razor",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
||||
|
||||
/datum/techweb_node/adv_cyber_implants
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 452 B |
Binary file not shown.
|
After Width: | Height: | Size: 354 B |
Binary file not shown.
|
After Width: | Height: | Size: 356 B |
@@ -5741,6 +5741,7 @@
|
||||
#include "modular_skyrat\master_files\code\game\objects\items\oxygen_candle.dm"
|
||||
#include "modular_skyrat\master_files\code\game\objects\items\RCD.dm"
|
||||
#include "modular_skyrat\master_files\code\game\objects\items\religion.dm"
|
||||
#include "modular_skyrat\master_files\code\game\objects\items\scratchingstone.dm"
|
||||
#include "modular_skyrat\master_files\code\game\objects\items\devices\anomaly_neutralizer.dm"
|
||||
#include "modular_skyrat\master_files\code\game\objects\items\stacks\sheets\sheet_types.dm"
|
||||
#include "modular_skyrat\master_files\code\game\objects\items\storage\backpack.dm"
|
||||
|
||||
Reference in New Issue
Block a user