package com.nisovin.magicspells.spells.instant;
import org.bukkit.entity.Player;
import com.nisovin.magicspells.MagicSpells;
import com.nisovin.magicspells.mana.ManaChangeReason;
import com.nisovin.magicspells.spelleffects.EffectPosition;
import com.nisovin.magicspells.spells.InstantSpell;
import com.nisovin.magicspells.util.MagicConfig;
public class ManaSpell extends InstantSpell {
private int mana;
public ManaSpell(MagicConfig config, String spellName) {
super(config, spellName);
mana = getConfigInt("mana", 25);
}
@Override
public PostCastAction castSpell(Player player, SpellCastState state, float power, String[] args) {
if (state == SpellCastState.NORMAL) {
int amount = Math.round(mana*power);
boolean added = MagicSpells.getManaHandler().addMana(player, amount, ManaChangeReason.OTHER);
if (!added) {
return PostCastAction.ALREADY_HANDLED;
} else {
playSpellEffects(EffectPosition.CASTER, player);
}
}
return PostCastAction.HANDLE_NORMALLY;
}
}