// • ▌ ▄ ·.  ▄▄▄·  ▄▄ • ▪   ▄▄· ▄▄▄▄·  ▄▄▄·  ▐▄▄▄  ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀  █▪▀▀▀ ▀  ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀  ▀  ▀ ▀▀  █▪ ▀▀▀
//      Magicbane Emulator Project © 2013 - 2022
//                www.magicbane.com


package engine.powers.effectmodifiers;

import engine.jobs.AbstractEffectJob;
import engine.objects.AbstractCharacter;
import engine.objects.AbstractWorldObject;
import engine.objects.Building;
import engine.objects.Item;

import java.sql.ResultSet;
import java.sql.SQLException;

public class WeaponSpeedEffectModifier extends AbstractEffectModifier {

    public WeaponSpeedEffectModifier(ResultSet rs) throws SQLException {
        super(rs);
    }

    @Override
    protected void _applyEffectModifier(AbstractCharacter source, AbstractWorldObject awo, int trains, AbstractEffectJob effect) {

    }

    @Override
    public void applyBonus(AbstractCharacter ac, int trains) {

        Float amount = 0f;

        if (this.useRampAdd)
            amount = this.percentMod + (this.ramp * trains);
        else
            amount = this.percentMod * (1 + (this.ramp * trains));

        amount = amount / 100;

        ac.getBonuses().addFloat(this, amount);
    }

    @Override
    public void applyBonus(Item item, int trains) {
        Float amount = 0f;
        if (this.useRampAdd)
            amount = this.percentMod + (this.ramp * trains);
        else
            amount = this.percentMod * (1 + (this.ramp * trains));
        amount = amount / 100;
        item.addBonus(this, amount);
    }

    @Override
    public void applyBonus(Building building, int trains) {
    }
}
