mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 13:10:02 +01:00
## About The Pull Request Instead of forcing the player to dual wield it, Cain & Abel can now be held with one hand, although doing so prohibits you from using it to attack, throw/spin daggers or send out wisps. ## Why It's Good For The Game Forcing dual wielding on a small pocketable item is a bit weird and feels bad in gameplay, as it essentially prohibits you from being able to use any healing items unless you keep an empty pocket, in which case quick storage on all other items will default to it which is rather impractical. Requiring an empty offhand essentially keeps the wielding requirement without UX issues coming from inhand usage swapping modes or inventory jank. ## Changelog 🆑 balance: Cain & Abel no longer forces dual-wielding and instead requires an empty offhand /🆑
38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
/datum/action/cooldown/dagger_swing
|
|
name = "Dagger swing"
|
|
desc = "Swing your daggers around."
|
|
button_icon = 'icons/obj/mining_zones/artefacts.dmi'
|
|
button_icon_state = "cain_and_abel"
|
|
background_icon_state = "bg_default"
|
|
overlay_icon_state = "bg_default_border"
|
|
cooldown_time = 20 SECONDS
|
|
check_flags = AB_CHECK_INCAPACITATED | AB_CHECK_HANDS_BLOCKED | AB_CHECK_CONSCIOUS
|
|
|
|
/datum/action/cooldown/dagger_swing/Activate(atom/target_atom)
|
|
var/mob/living/living_owner = owner
|
|
var/obj/item/cain_and_abel/cain_and_abel = target
|
|
|
|
if(!living_owner.is_holding(cain_and_abel))
|
|
owner.balloon_alert(owner, "must be held")
|
|
return FALSE
|
|
|
|
if(!cain_and_abel.check_wield(owner))
|
|
owner.balloon_alert(owner, "offhand busy!")
|
|
return TRUE
|
|
|
|
living_owner.apply_status_effect(/datum/status_effect/dagger_swinging)
|
|
|
|
var/static/list/possible_sounds = list(
|
|
'sound/items/weapons/cain_and_abel/dagger_slash_1.ogg',
|
|
'sound/items/weapons/cain_and_abel/dagger_slash_2.ogg',
|
|
'sound/items/weapons/cain_and_abel/dagger_slash_3.ogg',
|
|
'sound/items/weapons/cain_and_abel/dagger_slash_4.ogg',
|
|
'sound/items/weapons/cain_and_abel/dagger_slash_5.ogg',
|
|
'sound/items/weapons/cain_and_abel/dagger_slash_6.ogg',
|
|
)
|
|
|
|
var/list/sounds_to_pick_from = possible_sounds.Copy()
|
|
for(var/index in 0 to 5)
|
|
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), owner, pick_n_take(sounds_to_pick_from), 65, TRUE), 0.15 SECONDS * index)
|
|
StartCooldown()
|