Table of Contents

Root Spell - Code References

Root Spell Icon

Root is an elemental spell that immobilizes targets by rooting them in place.

Entity Type

Spell (Java implementation)

Java Classes

JSON Configuration

This entity is implemented in Java, no JSON configuration exists

String Resources

English (values/strings_all.xml):

<string name="RootSpell_Name">Root</string>
<string name="RootSpell_Info">Roots the selected character, making it unable for him to move for a short period of time.</string>

Russian (values-ru/strings_all.xml):

<string name="RootSpell_Name">Корни</string>
<string name="RootSpell_Info">Опутывает выбранного персонажа, не позволяя тому двигаться в течение короткого промежутка времени.</string>

Spanish (values-es/strings_all.xml):

<string name="RootSpell_Name">Raíces</string>
<string name="RootSpell_Info">Raíces que sujetan a un personaje/enemigo y hacen imposible su movimiento por un corto tiempo.</string>

French (values-fr/strings_all.xml):

<string name="RootSpell_Name">Enraciner</string>
<string name="RootSpell_Info">Enracine le personnage sélectionné le rendant incapable de bouger pour un court laps de temps.</string>

German (values-de/strings_all.xml):

<string name="RootSpell_Name">Verwurzeln</string>
<string name="RootSpell_Info">Verwurzelt ausgewählten Charakter und macht es ihm unmöglich für eine kurze Weile sich zu Bewegen.</string>

Lua Scripts

This entity is implemented in Java, no Lua script exists

Game Mechanics

Code Fragments

// RootSpell.java constructor
RootSpell() {
    targetingType = SpellHelper.TARGET_CHAR_NOT_SELF;
    magicAffinity = SpellHelper.AFFINITY_ELEMENTAL;
    level = 2;
    image = 2;
    spellCost = 2;
}
 
// Cast method
@Override
public boolean cast(@NotNull Char chr, @NotNull Char target){
    if(target.valid()) {
        target.getSprite().emitter().burst( EarthParticle.FACTORY, 5 );
        target.getSprite().burst( 0xFF99FFFF, 3 );
        Buff.prolong( target, Roots.class, 10 );
        Sample.INSTANCE.play( Assets.SND_PUFF );
        castCallback(chr);
        return true;
    }
    return false;
}