mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-19 06:03:14 +00:00
## About The Pull Request Replaces spin/flip's uses in mining's style meter and bitrunner's projectile parrying and instead uses a new emote, taunt. It also does not play a sound effect for emoting, only when you successfully block a projectile. The parrying time from the flip was 1.4 seconds, with taunting it is now 0.9 seconds. Taunting also has a cooldown of 1.5 seconds between uses. https://www.youtube.com/watch?v=cJGuEqNhqUs https://github.com/user-attachments/assets/1c6bf8b2-6a0d-4ae2-9b5b-9c6e619e76d6 ## Why It's Good For The Game Spin and flip are emotes that get a little boring and repetitive, which makes its complete overuse quite annoying to see. Compared to spin, taunting is a quick turn, which stacked with the cooldown, makes it a shorter and un-overusable emote. It also has a cooldown of 1.5s between hits, so players now actually have a limit to how much they can parry/style. Currently if you have some way to regenerate stamina damage, you're pretty set to spam parry all projectiles at essentially no cost, since emotes cost nothing to use, removing the limit of having to actually time it. I wouldnt say falling over is necessarily a downside since anyone who uses these items for a while can quickly figure out exactly hwo to maximize parrying time. ## Changelog 🆑 add: Added Taunting, a faster and cooldowned version of the Spin emote. balance: Wizards blocking projectiles with Transparence and the bitrunner matrix skillchip now have a visible effect of deflecting the projectile. balance: The bitrunner skillchip now uses taunt instead of flip. balance: The style meter now uses taunting instead of flips and spins. /🆑
38 lines
1.7 KiB
Plaintext
38 lines
1.7 KiB
Plaintext
#define TAUNT_STAMINA_COST 19
|
|
|
|
/obj/item/skillchip/matrix_taunt
|
|
name = "BULLET_DODGER skillchip"
|
|
skill_name = "Taunt 2 Dodge"
|
|
skill_description = "At the cost of stamina, your taunts can also be used to dodge incoming projectiles."
|
|
skill_icon = FA_ICON_SPINNER
|
|
activate_message = span_notice("You feel the urge to taunt scenically as if you are the 'Chosen One'.")
|
|
deactivate_message = span_notice("The urge to taunt goes away.")
|
|
|
|
/obj/item/skillchip/matrix_taunt/on_activate(mob/living/carbon/user, silent = FALSE)
|
|
. = ..()
|
|
RegisterSignal(user, COMSIG_MOB_EMOTED("taunt"), PROC_REF(on_taunt))
|
|
RegisterSignal(user, COMSIG_MOB_PRE_EMOTED, PROC_REF(check_if_we_can_taunt))
|
|
|
|
/obj/item/skillchip/matrix_taunt/on_deactivate(mob/living/carbon/user, silent=FALSE)
|
|
UnregisterSignal(user, list(COMSIG_MOB_EMOTED("taunt"), COMSIG_MOB_PRE_EMOTED))
|
|
return ..()
|
|
|
|
///Prevent players from stamcritting from INTENTIONAL flips. 1.4s of bullet immunity isn't worth several secs of stun.
|
|
/obj/item/skillchip/matrix_taunt/proc/check_if_we_can_taunt(mob/living/source, key, params, type_override, intentional, datum/emote/emote)
|
|
SIGNAL_HANDLER
|
|
if(key != "taunt" || !intentional)
|
|
return
|
|
if((source.maxHealth - (source.getStaminaLoss() + TAUNT_STAMINA_COST)) <= source.crit_threshold)
|
|
source.balloon_alert(source, "too tired!")
|
|
return COMPONENT_CANT_EMOTE
|
|
|
|
/obj/item/skillchip/matrix_taunt/proc/on_taunt(mob/living/source)
|
|
SIGNAL_HANDLER
|
|
if(HAS_TRAIT_FROM(source, TRAIT_UNHITTABLE_BY_PROJECTILES, SKILLCHIP_TRAIT))
|
|
return
|
|
ADD_TRAIT(source, TRAIT_UNHITTABLE_BY_PROJECTILES, SKILLCHIP_TRAIT)
|
|
source.adjustStaminaLoss(TAUNT_STAMINA_COST)
|
|
addtimer(TRAIT_CALLBACK_REMOVE(source, TRAIT_UNHITTABLE_BY_PROJECTILES, SKILLCHIP_TRAIT), TAUNT_EMOTE_DURATION * 1.5)
|
|
|
|
#undef TAUNT_STAMINA_COST
|