Files
Ghom 75e7ef6def Mutation code cleanup, mutations now have sources to avoid concurrency problems. (#91346)
This PR aims to clean or bring up to date portions of code about dna,
the dna console and mutations. This includes taking care of or removing
some of the awful choices like the pratically useless
`datum/mutation/human` pathing, or the class variable, in favor of using
sources to avoid potential issues with extraneous sources of a mutation.

The files changed are over a hundred just because I removed the
`datum/mutation/human` path, but the actual bulk of the code is mainly
shared between the datum/dna.dm, _mutations.dm and dna_console.dm.

Mutation shitcode is hurting my future plans for infusions a little.
Also it's a much needed refactor. Drafted 'till I'm sure it works
without issues.

🆑
refactor: Refactored mutation code backend. Report any issue.
/🆑
2025-06-15 15:50:31 -04:00

50 lines
1.6 KiB
Plaintext

/datum/mutation/cindikinesis
name = "Cindikinesis"
desc = "Allows the user to concentrate nearby heat into a pile of ash. Wow. Very interesting."
quality = POSITIVE
text_gain_indication = span_notice("Your hand feels warm.")
instability = POSITIVE_INSTABILITY_MINOR
difficulty = 10
synchronizer_coeff = 1
locked = TRUE
power_path = /datum/action/cooldown/spell/conjure_item/ash
/datum/action/cooldown/spell/conjure_item/ash
name = "Create Ash"
desc = "Concentrates pyrokinetic forces to create ash, useful for basically nothing."
button_icon_state = "ash"
cooldown_time = 5 SECONDS
spell_requirements = NONE
item_type = /obj/effect/decal/cleanable/ash
delete_old = FALSE
delete_on_failure = FALSE
/datum/mutation/pyrokinesis
name = "Pyrokinesis"
desc = "Draws positive energy from the surroundings to heat surrounding temperatures at subject's will."
quality = POSITIVE
text_gain_indication = span_notice("Your hand feels hot!")
instability = POSITIVE_INSTABILITY_MODERATE
difficulty = 12
synchronizer_coeff = 1
energy_coeff = 1
locked = TRUE
power_path = /datum/action/cooldown/spell/pointed/projectile/pyro
/datum/action/cooldown/spell/pointed/projectile/pyro
name = "Pyrobeam"
desc = "This power fires a heated bolt at a target."
button_icon_state = "firebeam"
base_icon_state = "firebeam"
active_overlay_icon_state = "bg_spell_border_active_blue"
cast_range = 9
cooldown_time = 30 SECONDS
spell_requirements = NONE
antimagic_flags = NONE
active_msg = "You focus your pyrokinesis!"
deactive_msg = "You cool down."
projectile_type = /obj/projectile/temp/pyro