Files
Bubberstation/code/datums/mutations/cold.dm
SkyratBot 5caffe23c0 [MIRROR] Allows for some locs to have spells cast while inside, such as PAI cards (for PAIs), AI cards (for AIs), and mechas [MDB IGNORE] (#22940)
* Allows for some locs to have spells cast while inside, such as PAI cards (for PAIs), AI cards (for AIs), and mechas (#77418)

## About The Pull Request

Spiritual successor to #76716

- Some spells can now be cast while the mob is within the contents of
certain atoms.
  - PAIs can now cast if within a PAI card
  - AIs can now cast if within an AI card
  - People within vehicles (mechas and cars) can now cast their spells

- Repulse and Knock now have unique interactions for being cast within a
locker

## Why It's Good For The Game

Carlac's PR gave me an idea for how to tackle this in a relatively clean
way so I went ahead and adapted the suggestion to something that works
for the cast chain.

This isn't perfect, some spells will need to be updated, but they can be
done piecemeal.

This is something that, IN THEORY, should have already been wholesale
supported by the spell refactor - any atom you pass into the cast chain
should "just work ™️ ", either rejecting if it fails the valid target
check or doing the spell effects as if the atom passed was the caster.

## Changelog

🆑 Melbert
add: PAIs can now cast wizard spells should they have any.
add: AIs located in intellicards can now cast wizard spells should they
have any.
add: Some spells, such as AoE or conjure spells, are now castable from
within Mechas or Clown Cars. To varying degrees of success.
add: Knock will now unlock and open closets you are hiding within.
add: Repulse will now throw open closets you are hiding within.
/🆑

* Allows for some locs to have spells cast while inside, such as PAI cards (for PAIs), AI cards (for AIs), and mechas

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-08-08 08:18:56 -04:00

47 lines
1.5 KiB
Plaintext

/datum/mutation/human/geladikinesis
name = "Geladikinesis"
desc = "Allows the user to concentrate moisture and sub-zero forces into snow."
quality = POSITIVE
text_gain_indication = "<span class='notice'>Your hand feels cold.</span>"
instability = 10
difficulty = 10
synchronizer_coeff = 1
power_path = /datum/action/cooldown/spell/conjure_item/snow
/datum/action/cooldown/spell/conjure_item/snow
name = "Create Snow"
desc = "Concentrates cryokinetic forces to create snow, useful for snow-like construction."
button_icon_state = "snow"
cooldown_time = 5 SECONDS
spell_requirements = NONE
item_type = /obj/item/stack/sheet/mineral/snow
delete_old = FALSE
delete_on_failure = FALSE
/datum/mutation/human/cryokinesis
name = "Cryokinesis"
desc = "Draws negative energy from the sub-zero void to freeze surrounding temperatures at subject's will."
quality = POSITIVE //upsides and downsides
text_gain_indication = "<span class='notice'>Your hand feels cold.</span>"
instability = 30
difficulty = 12
synchronizer_coeff = 1
energy_coeff = 1
power_path = /datum/action/cooldown/spell/pointed/projectile/cryo
/datum/action/cooldown/spell/pointed/projectile/cryo
name = "Cryobeam"
desc = "This power fires a frozen bolt at a target."
button_icon_state = "icebeam"
base_icon_state = "icebeam"
active_overlay_icon_state = "bg_spell_border_active_blue"
cooldown_time = 16 SECONDS
spell_requirements = NONE
antimagic_flags = NONE
active_msg = "You focus your cryokinesis!"
deactive_msg = "You relax."
projectile_type = /obj/projectile/temp/cryo