mr:freeze_globe_spell
Table of Contents
Freeze Globe Spell - Code References
Java Classes
- FreezeGlobe.java - Main implementation class
Class Implementation Details
public class FreezeGlobe extends Spell { FreezeGlobe() { targetingType = SpellHelper.TARGET_CELL; magicAffinity = SpellHelper.AFFINITY_ELEMENTAL; level = 3; image = 3; spellCost = 4; } @Override public boolean cast(@NotNull Char chr, int cell) { if(!Dungeon.level.cellValid(cell)) { return false; } boolean triggered = false; if(Ballistica.cast(chr.getPos(), cell, false, true) == cell) { Char ch = Actor.findChar(cell); if (ch != null) { ch.getSprite().emitter().burst(SnowParticle.FACTORY, 5); ch.getSprite().burst(0xFF99FFFF, 3); Buff.affect(ch, Frost.class, Frost.duration(ch)); Buff.affect(ch, Slow.class, Slow.duration(ch)); Sample.INSTANCE.play(Assets.SND_SHATTER); triggered = true; } if(triggered) { castCallback(chr); } return true; } return false; } @Override public String texture() { return "spellsIcons/elemental.png"; } }
Key Properties
- Targeting Type: TARGET_CELL (targets a specific cell, not a character)
- Magic Affinity: AFFINITY_ELEMENTAL (elemental magic)
- Spell Level: 3 (Advanced spell)
- Image ID: 3 (sprite index in elemental spells atlas)
- Spell Cost: 4 (mana cost to cast)
- Texture: spellsIcons/elemental.png
Effects Applied
- Frost Buff: Applies Frost.class with Frost.duration(ch) - freezes target in place
- Slow Buff: Applies Slow.class with Slow.duration(ch) - reduces movement speed
- Visual Effects:
- Snow particle burst (5 particles)
- Light blue color burst (0xFF99FFFF, 3 particles)
- Sound Effect: Assets.SND_SHATTER (shattering sound)
Targeting Mechanics
- Uses Ballistica.cast() for path validation
- Requires clear line of sight to target cell
- Only affects characters if present on target cell
- Validates cell through Dungeon.level.cellValid()
JSON Configuration
This entity is implemented in Java, no JSON configuration exists.
String Resources
<string name="FreezeGlobe_Name">Freeze Globe</string> <string name="FreezeGlobe_Info">Freezes the selected character, making it unable to perform any actions for a short period of time.</string>
Lua Scripts
This entity is implemented in Java, no Lua script exists.
Related Entities
- Frost Buff - Status effect that freezes target
- Slow Buff - Status effect that reduces speed
- Elemental Magic - Magic affinity type
- Spells Overview - List of all spells
Usage in Code
- Registered in Spell system via SpellFactory
- Cast on cells, affects any character occupying that cell
- Requires line of sight validation via Ballistica
- Part of elemental magic spell family
mr/freeze_globe_spell.txt · Last modified: by 127.0.0.1
