mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-01 04:21:42 +00:00
## About The Pull Request Now the stargazer does more damage to people in the area and prioritizes mobs attacking them instead of random circuit bots 7 tiles away. It will also slowly heal you. Makes some abilities create more carpet fields when ascending. Increases combo times when ascending. Also makes the Star Gazer die only when the owner dies. Star Gazer will explode when it does die. Star Gazer has a damage aura that does heal the owner. ## Why It's Good For The Game I have seen a lot of people complaining that the cosmic ascension isn't good and not worth getting so I thought I would make it a little better. ## Changelog 🆑 balance: Star Gazer now explodes when it dies. balance: Star Gazer will only die when the owner dies. balance: Star Gazer will attack the most recent enemy that attacked him when on autopilot. balance: Star Gazer has an aura that slowly damages people and heals the owner. balance: Cosmic Ascension now buffs some spells. /🆑
38 lines
1.1 KiB
Plaintext
38 lines
1.1 KiB
Plaintext
/**
|
|
* ## death explosion element!
|
|
*
|
|
* Bespoke element that generates an explosion when a mob is killed.
|
|
*/
|
|
/datum/element/death_explosion
|
|
element_flags = ELEMENT_BESPOKE
|
|
argument_hash_start_idx = 3
|
|
///The range at which devastating impact happens
|
|
var/devastation
|
|
///The range at which heavy impact happens
|
|
var/heavy_impact
|
|
///The range at which light impact happens
|
|
var/light_impact
|
|
|
|
/datum/element/death_explosion/Attach(datum/target, devastation = -1, heavy_impact = -1, light_impact = -1)
|
|
. = ..()
|
|
if(!isliving(target))
|
|
return ELEMENT_INCOMPATIBLE
|
|
src.devastation = devastation
|
|
src.heavy_impact = heavy_impact
|
|
src.light_impact = light_impact
|
|
RegisterSignal(target, COMSIG_LIVING_DEATH, PROC_REF(on_death))
|
|
|
|
/datum/element/death_explosion/Detach(datum/target)
|
|
. = ..()
|
|
UnregisterSignal(target, COMSIG_LIVING_DEATH)
|
|
|
|
/// Triggered when target dies, make an explosion.
|
|
/datum/element/death_explosion/proc/on_death(mob/living/target, gibbed)
|
|
SIGNAL_HANDLER
|
|
explosion(
|
|
get_turf(target),
|
|
devastation_range = devastation,
|
|
heavy_impact_range = heavy_impact,
|
|
light_impact_range = light_impact,
|
|
explosion_cause = target)
|