Slight stat buffs, adds parries and comments
Should be pretty close to 20tc worthy.
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
|
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
|
||||||
fire_sound = 'sound/weapons/judgementhit.ogg'
|
fire_sound = 'sound/weapons/judgementhit.ogg'
|
||||||
ammo_type = /obj/item/ammo_casing/magic/judgement_cut
|
ammo_type = /obj/item/ammo_casing/magic/judgement_cut
|
||||||
force = 20
|
force = 20 //so it's worth that 20 tc
|
||||||
armour_penetration = 50
|
armour_penetration = 50
|
||||||
w_class = WEIGHT_CLASS_NORMAL
|
w_class = WEIGHT_CLASS_NORMAL
|
||||||
slot_flags = ITEM_SLOT_BELT
|
slot_flags = ITEM_SLOT_BELT
|
||||||
@@ -20,31 +20,37 @@
|
|||||||
max_charges = 3
|
max_charges = 3
|
||||||
recharge_rate = 5
|
recharge_rate = 5
|
||||||
var/datum/action/judgement_cut/judgementcut = new/datum/action/judgement_cut()
|
var/datum/action/judgement_cut/judgementcut = new/datum/action/judgement_cut()
|
||||||
|
block_parry_data = /datum/block_parry_data/motivation
|
||||||
|
|
||||||
|
//to get this to toggle correctly
|
||||||
/obj/item/gun/magic/staff/motivation/Initialize()
|
/obj/item/gun/magic/staff/motivation/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
judgementcut = new(src)
|
judgementcut = new(src)
|
||||||
|
|
||||||
|
//lets the user know that their judgment cuts are recharging
|
||||||
/obj/item/gun/magic/staff/motivation/shoot_with_empty_chamber(mob/living/user as mob|obj)
|
/obj/item/gun/magic/staff/motivation/shoot_with_empty_chamber(mob/living/user as mob|obj)
|
||||||
to_chat(user, "<span class='warning'>Judgment Cut is recharging.</span>")
|
to_chat(user, "<span class='warning'>Judgment Cut is recharging.</span>")
|
||||||
|
|
||||||
|
//action button to toggle judgement cuts on/off
|
||||||
/datum/action/judgement_cut
|
/datum/action/judgement_cut
|
||||||
name = "Judgement Cut - Allows Motivation to slash at a longer distance."
|
name = "Judgement Cut - Allows Motivation to slash at a longer distance."
|
||||||
icon_icon = 'icons/obj/projectiles.dmi'
|
icon_icon = 'icons/obj/projectiles.dmi'
|
||||||
button_icon_state = "judgement_fire"
|
button_icon_state = "judgement_fire"
|
||||||
var/judgement_toggled = TRUE
|
var/judgement_toggled = TRUE
|
||||||
|
|
||||||
|
//lets the user know that you toggled them on/off
|
||||||
/datum/action/judgement_cut/Trigger()
|
/datum/action/judgement_cut/Trigger()
|
||||||
judgement_toggled = !judgement_toggled
|
judgement_toggled = !judgement_toggled
|
||||||
to_chat(owner, "<span class='notice'>You [judgement_toggled ? "enable" : "disable"] Judgement Cuts with Motivation.</span>")
|
to_chat(owner, "<span class='notice'>You [judgement_toggled ? "enable" : "disable"] Judgement Cuts with Motivation.</span>")
|
||||||
|
|
||||||
|
//Prevents "firing" the judgement cuts if toggled off and lets the user know
|
||||||
/obj/item/gun/magic/staff/motivation/can_trigger_gun(mob/living/user)
|
/obj/item/gun/magic/staff/motivation/can_trigger_gun(mob/living/user)
|
||||||
. = ..()
|
. = ..()
|
||||||
if(!judgementcut.judgement_toggled)
|
if(!judgementcut.judgement_toggled)
|
||||||
to_chat(user, "<span class='notice'> Judgment Cut is disabled.</span>")
|
to_chat(user, "<span class='notice'> Judgment Cut is disabled.</span>")
|
||||||
return FALSE
|
return FALSE
|
||||||
|
|
||||||
|
//adds/removes judgement cut and judgement cut end upon pickup/drop
|
||||||
/obj/item/gun/magic/staff/motivation/pickup(mob/living/user)
|
/obj/item/gun/magic/staff/motivation/pickup(mob/living/user)
|
||||||
. = ..()
|
. = ..()
|
||||||
judgementcut.Grant(user, src)
|
judgementcut.Grant(user, src)
|
||||||
@@ -55,3 +61,31 @@
|
|||||||
. = ..()
|
. = ..()
|
||||||
judgementcut.Remove(user)
|
judgementcut.Remove(user)
|
||||||
user.update_icons()
|
user.update_icons()
|
||||||
|
|
||||||
|
//A parry tight enough to stagger, but not to counter attack
|
||||||
|
/datum/block_parry_data/motivation
|
||||||
|
parry_time_windup = 0.5
|
||||||
|
parry_time_active = 5
|
||||||
|
parry_time_spindown = 0
|
||||||
|
parry_attack_types = ALL
|
||||||
|
parry_time_active_visual_override = 3
|
||||||
|
parry_time_spindown_visual_override = 2
|
||||||
|
parry_flags = PARRY_DEFAULT_HANDLE_FEEDBACK | PARRY_LOCK_ATTACKING
|
||||||
|
parry_time_perfect = 0
|
||||||
|
parry_time_perfect_leeway = 3
|
||||||
|
parry_time_perfect_leeway_override = list(
|
||||||
|
TEXT_ATTACK_TYPE_PROJECTILE = 1
|
||||||
|
)
|
||||||
|
parry_imperfect_falloff_percent_override = list(
|
||||||
|
TEXT_ATTACK_TYPE_PROJECTILE = 50 // useless after 3rd decisecond
|
||||||
|
)
|
||||||
|
parry_imperfect_falloff_percent = 30
|
||||||
|
parry_efficiency_to_counterattack = 100
|
||||||
|
parry_efficiency_considered_successful = 1
|
||||||
|
parry_efficiency_perfect = 100
|
||||||
|
parry_data = list(
|
||||||
|
PARRY_STAGGER_ATTACKER = 10
|
||||||
|
)
|
||||||
|
parry_failed_stagger_duration = 2 SECONDS
|
||||||
|
parry_failed_clickcd_duration = CLICK_CD_RANGE
|
||||||
|
parry_cooldown = 0
|
||||||
@@ -9,9 +9,7 @@
|
|||||||
sharpness = SHARP_EDGED
|
sharpness = SHARP_EDGED
|
||||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/judgement_cut
|
impact_effect_type = /obj/effect/temp_visual/impact_effect/judgement_cut
|
||||||
|
|
||||||
|
|
||||||
/obj/item/projectile/judgement_cut/on_hit(atom/target, blocked = FALSE)
|
/obj/item/projectile/judgement_cut/on_hit(atom/target, blocked = FALSE)
|
||||||
. = ..()
|
. = ..()
|
||||||
if(ishuman(target))
|
if(ishuman(target))
|
||||||
var/mob/living/carbon/human/H = target
|
|
||||||
new /obj/effect/temp_visual/impact_effect/judgement_cut(src)
|
new /obj/effect/temp_visual/impact_effect/judgement_cut(src)
|
||||||
Reference in New Issue
Block a user