mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 15:45:25 +01:00
Parrying Refactor, Adding Parrying to Select Two-handed Weapons: Parry This You Filthy Casual! (#26043)
* Refactors parrying and how parrying is handled. Also gives most of the melee wizard weapons parrying as well as most two handed weapons. * Forgor the blood spear :) * Renames `special_parry_condition` to `requires_two_hands` * Apply suggestions from code review Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Spaghetti-bit <yumyumkillkill@gmail.com> * Update code/datums/components/parry.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: Spaghetti-bit <yumyumkillkill@gmail.com> * Apply suggestions from code review Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: Spaghetti-bit <yumyumkillkill@gmail.com> * applies suggestion from @lewcc * Removes the two handed requirement from cult spear as per @Qwerty's request * Apply suggestions from code review (1/2) from hal Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com> Signed-off-by: Spaghetti-bit <yumyumkillkill@gmail.com> * Apply suggestions from code review (2/2) * ...accidentally removed an icon in `energy_melee_weapons.dm` when I deconflicted stuff. 💀 ready for review. * Again, variable added back during deconflict. issues resolved. * Update code/game/objects/items/weapons/shields.dm Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> --------- Signed-off-by: Spaghetti-bit <yumyumkillkill@gmail.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com>
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
|
||||
/obj/item/kinetic_crusher/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.7, _parryable_attack_types = MELEE_ATTACK, _parry_cooldown = (10 / 3) SECONDS ) // 2.3333 seconds of cooldown for 30% uptime
|
||||
AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.7, _parryable_attack_types = MELEE_ATTACK, _parry_cooldown = (10 / 3) SECONDS, _requires_two_hands = TRUE) // 2.3333 seconds of cooldown for 30% uptime
|
||||
AddComponent(/datum/component/two_handed, force_wielded = force_wielded, force_unwielded = force)
|
||||
|
||||
/obj/item/kinetic_crusher/Destroy()
|
||||
|
||||
@@ -281,13 +281,13 @@ Difficulty: Medium
|
||||
if(time_until_next_transform <= world.time)
|
||||
miner_saw.transform_cooldown = 0
|
||||
miner_saw.transform_weapon(src, TRUE)
|
||||
if(!miner_saw.active)
|
||||
if(!HAS_TRAIT(miner_saw, TRAIT_ITEM_ACTIVE))
|
||||
rapid_melee = 5 // 4 deci cooldown before changes, npcpool subsystem wait is 20, 20/4 = 5
|
||||
else
|
||||
rapid_melee = 3 // same thing but halved (slightly rounded up)
|
||||
transform_stop_attack = TRUE
|
||||
icon_state = "miner[miner_saw.active ? "_transformed":""]"
|
||||
icon_living = "miner[miner_saw.active ? "_transformed":""]"
|
||||
icon_state = "miner[HAS_TRAIT(miner_saw, TRAIT_ITEM_ACTIVE) ? "_transformed":""]"
|
||||
icon_living = "miner[HAS_TRAIT(miner_saw, TRAIT_ITEM_ACTIVE) ? "_transformed":""]"
|
||||
time_until_next_transform = world.time + rand(50, 100)
|
||||
|
||||
/obj/effect/temp_visual/dir_setting/miner_death
|
||||
|
||||
@@ -360,7 +360,7 @@
|
||||
return ..()
|
||||
if(istype(A, /obj/item/melee/energy))
|
||||
var/obj/item/melee/energy/W = A
|
||||
if(W.active)
|
||||
if(HAS_TRAIT(W, TRAIT_ITEM_ACTIVE))
|
||||
sawoff(user)
|
||||
item_state = icon_state
|
||||
if(istype(A, /obj/item/circular_saw) || istype(A, /obj/item/gun/energy/plasmacutter))
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
sawoff(user)
|
||||
if(istype(A, /obj/item/melee/energy))
|
||||
var/obj/item/melee/energy/W = A
|
||||
if(W.active)
|
||||
if(HAS_TRAIT(W, TRAIT_ITEM_ACTIVE))
|
||||
sawoff(user)
|
||||
if(istype(A, /obj/item/pipe))
|
||||
unsaw(A, user)
|
||||
|
||||
Reference in New Issue
Block a user