diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index 154d2df563..406e142a25 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -213,6 +213,9 @@ Credit where due: var/list/slots = list("In your left pocket" = SLOT_L_STORE, "In your right pocket" = SLOT_R_STORE, "In your backpack" = SLOT_IN_BACKPACK) if(ishuman(L)) var/mob/living/carbon/human/H = L + var/obj/item/clockwork/replica_fabricator/F = new + if(H.equip_to_slot_or_del(F, SLOT_IN_BACKPACK)) + to_chat(H, "You have been equipped with a replica fabricator, an advanced tool that can convert objects like doors, tables or even coats into clockwork equivalents.") slot = H.equip_in_one_of_slots(S, slots) if(slot == "In your backpack") slot = "In your [H.back.name]" diff --git a/code/modules/antagonists/clockcult/clock_items/clock_augments.dm b/code/modules/antagonists/clockcult/clock_items/clock_augments.dm new file mode 100644 index 0000000000..9957840c44 --- /dev/null +++ b/code/modules/antagonists/clockcult/clock_items/clock_augments.dm @@ -0,0 +1,30 @@ +//This file is for snowflakey clock augmentations and clock-themed cybernetic implants. + +//The base clockie arm implant, which only clock cultist can use unless it is emagged. THIS SHOULD NEVER ACTUALLY EXIST +/obj/item/organ/cyberimp/arm/clockwork + name = "clock-themed arm-mounted implant" + var/clockwork_desc = "According to Ratvar, this really shouldn't exist. Tell Him about this immediately." + +/obj/item/organ/cyberimp/arm/clockwork/ui_action_click() + if(is_servant_of_ratvar(owner) || (obj_flags & EMAGGED)) //If you somehow manage to steal a clockie's implant AND have an emag AND manage to get it implanted for yourself, good on ya! + return ..() + to_chat(owner, "The implant refuses to activate..") + +/obj/item/organ/cyberimp/arm/clockwork/examine(mob/user) + if((is_servant_of_ratvar(user) || isobserver(user)) && clockwork_desc) + desc = clockwork_desc + . = ..() + desc = initial(desc) + +/obj/item/organ/cyberimp/arm/clockwork/emag_act() + if(obj_flags & EMAGGED) + return + obj_flags |= EMAGGED + to_chat(usr, "You swipe the emag on [src], hoping it'll achieve something..") + +//Brass claw implant. Holds the brass claw from brass_claw.dm and can extend / retract it at will. +/obj/item/organ/cyberimp/arm/clockwork/claw + name = "brass claw implant" + desc = "Yikes, the claw attached to this looks pretty darn sharp." + clockwork_desc = "This implant, when added to a servant's arm, allows them to extend and retract a claw at will. It will refuse to work for any non-servants." + contents = newlist(/obj/item/clockwork/brass_claw) diff --git a/code/modules/antagonists/clockcult/clock_items/clock_weapons/brass_claw.dm b/code/modules/antagonists/clockcult/clock_items/clock_weapons/brass_claw.dm new file mode 100644 index 0000000000..e96ba62ac6 --- /dev/null +++ b/code/modules/antagonists/clockcult/clock_items/clock_weapons/brass_claw.dm @@ -0,0 +1,23 @@ +//Brass claw, a armbladelike weapon used by an clock implant. Stealthy if retracted, very obvious if active. Simillar to an armblade strength-wise but has some funky stuff + +/obj/item/clockwork/brass_claw + name = "brass claw" + desc = "A highly sharp claw made out of brass." + clockwork_desc = "A incredibly sharp claw made out of brass. It is quite effective at crippling enemies, though incredibly obvious aswell." + icon_state = "brass_claw" //TODO + item_state = "brass_claw" //TODO + lefthand_file = 'icons/mob/inhands/antag/clockwork_lefthand.dmi' //TODO + righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi' //TODO + //item_flags = NEEDS_PERMIT | ABSTRACT | DROPDEL + w_class = WEIGHT_CLASS_HUGE + force = 15 //Doesn't generate vitality like the spear does / has somewhat less damage, but quite good at wounding and gets through armor pretty well. + throwforce = 0 //haha yes lets be safe about this + throw_range = 0 + throw_speed = 0 + armour_penetration = 20 + hitsound = 'sound/weapons/bladeslice.ogg' //POSSIBLY TODO + attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + sharpness = IS_SHARP + wound_bonus = 5 + bare_wound_bonus = 15 + total_mass = TOTAL_MASS_HAND_REPLACEMENT diff --git a/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_spear.dm b/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_spear.dm index 527745b81a..22b0913b2f 100644 --- a/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_spear.dm +++ b/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_spear.dm @@ -12,6 +12,8 @@ attack_verb = list("stabbed", "poked", "slashed") hitsound = 'sound/weapons/bladeslice.ogg' w_class = WEIGHT_CLASS_BULKY + block_parry_data = /datum/block_parry_data/ratvarian_spear + item_flags = ITEM_CAN_PARRY var/bonus_burn = 5 /obj/item/clockwork/weapon/ratvarian_spear/ratvar_act() @@ -80,3 +82,15 @@ new /obj/effect/temp_visual/ratvar/spearbreak(T) action.weapon_reset(RATVARIAN_WEAPON_COOLDOWN) +//A very short, very effective parry that counts on you predicting when the enemy will attack. +/datum/block_parry_data/ratvarian_spear + parry_time_windup = 0 //Very good for predicting + parry_time_active = 3 //Very short + parry_time_spindown = 1 + parry_time_perfect = 2 + parry_efficiency_perfect = 110 //Very low leeway for counterattacks... + parry_efficiency_considered_successful = 0.8 + parry_efficiency_to_counterattack = 1 + parry_cooldown = 15 //But also very low cooldown.. + parry_failed_stagger_duration = 2 SECONDS //And relatively small penalties for failing. + parry_failed_clickcd_duration = 1 SECONDS diff --git a/icons/mob/inhands/antag/clockwork_lefthand.dmi b/icons/mob/inhands/antag/clockwork_lefthand.dmi index 88bd8ab710..ff8d6aafe4 100644 Binary files a/icons/mob/inhands/antag/clockwork_lefthand.dmi and b/icons/mob/inhands/antag/clockwork_lefthand.dmi differ diff --git a/icons/mob/inhands/antag/clockwork_righthand.dmi b/icons/mob/inhands/antag/clockwork_righthand.dmi index 20190e4add..efc69e7261 100644 Binary files a/icons/mob/inhands/antag/clockwork_righthand.dmi and b/icons/mob/inhands/antag/clockwork_righthand.dmi differ diff --git a/icons/obj/clockwork_objects.dmi b/icons/obj/clockwork_objects.dmi index ae919d85a4..156d4fa0c6 100644 Binary files a/icons/obj/clockwork_objects.dmi and b/icons/obj/clockwork_objects.dmi differ diff --git a/tgstation.dme b/tgstation.dme index b33277b4c0..05154aad92 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1526,6 +1526,7 @@ #include "code\modules\antagonists\clockcult\clock_helpers\ratvarian_language.dm" #include "code\modules\antagonists\clockcult\clock_helpers\scripture_checks.dm" #include "code\modules\antagonists\clockcult\clock_helpers\slab_abilities.dm" +#include "code\modules\antagonists\clockcult\clock_items\clock_augments.dm" #include "code\modules\antagonists\clockcult\clock_items\clock_components.dm" #include "code\modules\antagonists\clockcult\clock_items\clockwork_armor.dm" #include "code\modules\antagonists\clockcult\clock_items\clockwork_slab.dm" @@ -1537,6 +1538,7 @@ #include "code\modules\antagonists\clockcult\clock_items\soul_vessel.dm" #include "code\modules\antagonists\clockcult\clock_items\wraith_spectacles.dm" #include "code\modules\antagonists\clockcult\clock_items\clock_weapons\_call_weapon.dm" +#include "code\modules\antagonists\clockcult\clock_items\clock_weapons\brass_claw.dm" #include "code\modules\antagonists\clockcult\clock_items\clock_weapons\ratvarian_shield.dm" #include "code\modules\antagonists\clockcult\clock_items\clock_weapons\ratvarian_spear.dm" #include "code\modules\antagonists\clockcult\clock_mobs\_eminence.dm"