Table of Contents

Freeze Globe Spell - Code References

Java Classes

Class Implementation Details

package com.nyrds.pixeldungeon.mechanics.spells;
 
import com.nyrds.platform.audio.Sample;
import com.watabou.pixeldungeon.Assets;
import com.watabou.pixeldungeon.Dungeon;
import com.watabou.pixeldungeon.actors.Actor;
import com.watabou.pixeldungeon.actors.Char;
import com.watabou.pixeldungeon.actors.buffs.Buff;
import com.watabou.pixeldungeon.actors.buffs.Frost;
import com.watabou.pixeldungeon.actors.buffs.Slow;
import com.watabou.pixeldungeon.effects.particles.SnowParticle;
import com.watabou.pixeldungeon.mechanics.Ballistica;
 
import org.jetbrains.annotations.NotNull;
 
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

Effects Applied

Targeting Mechanics

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.

Usage in Code