mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-18 10:34:10 +01:00
@@ -26,7 +26,6 @@
|
||||
edge = TRUE
|
||||
sharp = TRUE
|
||||
|
||||
|
||||
/obj/item/weapon/material/twohanded/saber/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
|
||||
if (src.wielded == 1)
|
||||
if(unique_parry_check(user, attacker, damage_source) && prob(50))
|
||||
@@ -34,3 +33,47 @@
|
||||
playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/material/twohanded/staff
|
||||
w_class = ITEMSIZE_LARGE
|
||||
default_material = MAT_WOOD
|
||||
name = "staff"
|
||||
desc = "A sturdy length of metal or wood. A common traveler's aid mostly used for support or probing unstable ground, but also a fairly effective weapon in a pinch."
|
||||
description_info = "When wielded with two hands, staves can be used to parry incoming attacks. Being on disarm intent also grants them an added chance to stun or knock down opponents, and increases your chances of parrying an attack."
|
||||
icon = 'icons/obj/weapons_vr.dmi'
|
||||
icon_state = "mat_staff"
|
||||
base_icon = "mat_staff"
|
||||
item_state = "mat_staff"
|
||||
item_icons = list(
|
||||
slot_l_hand_str = 'icons/mob/items/lefthand_melee_vr.dmi',
|
||||
slot_r_hand_str = 'icons/mob/items/righthand_melee_vr.dmi',
|
||||
)
|
||||
force_wielded = 18 //a bit stronger than a stun baton
|
||||
force_divisor = 0.45
|
||||
unwielded_force_divisor = 0.1
|
||||
var/base_parry_chance = 20
|
||||
var/disarm_defense = 1.5 //bonus multiplier to parry rate when in disarm stance
|
||||
var/stun_chance = 25 //chance to weaken an opponent when used in disarm stance only, remembering that disarm also halves damage dealt
|
||||
var/stun_duration = 2
|
||||
attack_verb = list("struck","smashed","thumped","thrashed","beaten","slammed","battered")
|
||||
edge = FALSE
|
||||
sharp = FALSE
|
||||
|
||||
/obj/item/weapon/material/twohanded/staff/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
|
||||
var/parry_chance
|
||||
if(src.wielded == 1)
|
||||
if(user.a_intent == I_DISARM)
|
||||
parry_chance = base_parry_chance * disarm_defense
|
||||
else
|
||||
parry_chance = base_parry_chance
|
||||
if(unique_parry_check(user, attacker, damage_source) && prob(parry_chance))
|
||||
user.visible_message("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
|
||||
playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/material/twohanded/staff/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone)
|
||||
. = ..()
|
||||
if(src.wielded == 1 && user.a_intent == I_DISARM && prob(stun_chance))
|
||||
target.Weaken(stun_duration)
|
||||
user.visible_message("<span class='danger'>\The [user] trips [target] with \the [src]!</span>")
|
||||
Reference in New Issue
Block a user