mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-29 10:31:34 +00:00
* Refactors speech impeding effects (drunken slurring / suttering) into status effects. Adds heretic slurring in addition to the existing cult slurring. Removes 4 vars from /living in return, which slightly optimizes Life() (wink) * fex Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
36 lines
957 B
Plaintext
36 lines
957 B
Plaintext
#define BSA_CHANCE_TO_BREAK_TILE_TO_PLATING 80
|
|
#define BSA_MAX_DAMAGE 99
|
|
#define BSA_PARALYZE_TIME 40 SECONDS
|
|
#define BSA_STUTTER_TIME 40 SECONDS
|
|
|
|
/// Fires the BSA at the target
|
|
/datum/smite/bsa
|
|
name = "Bluespace Artillery Device"
|
|
|
|
/datum/smite/bsa/effect(client/user, mob/living/target)
|
|
. = ..()
|
|
|
|
explosion(target.loc, explosion_cause = src)
|
|
|
|
var/turf/open/floor/target_turf = get_turf(target)
|
|
if (istype(target_turf))
|
|
if (prob(BSA_CHANCE_TO_BREAK_TILE_TO_PLATING))
|
|
target_turf.break_tile_to_plating()
|
|
else
|
|
target_turf.break_tile()
|
|
|
|
if (target.health <= 1)
|
|
target.gib(
|
|
/* no_brain = */ TRUE,
|
|
/* no_organs = */ TRUE,
|
|
)
|
|
else
|
|
target.adjustBruteLoss(min(BSA_MAX_DAMAGE, target.health - 1))
|
|
target.Paralyze(BSA_PARALYZE_TIME)
|
|
target.set_timed_status_effect(BSA_STUTTER_TIME, /datum/status_effect/speech/stutter)
|
|
|
|
#undef BSA_CHANCE_TO_BREAK_TILE_TO_PLATING
|
|
#undef BSA_MAX_DAMAGE
|
|
#undef BSA_PARALYZE_TIME
|
|
#undef BSA_STUTTER_TIME
|