Search in sources :

Example 6 with Effect

use of main.ability.effects.Effect in project Eidolons by IDemiurge.

the class ActivesConstructor method setAnimForEffects.

public static void setAnimForEffects(DC_ActiveObj entity) {
    List<ActiveObj> list = new ArrayList<>(entity.getActives());
    for (Active active : list) {
        for (Ability abil : ((AbilityObj) active).getAbilities().getAbils()) {
            for (Effect effect : abil.getEffects().getEffects()) {
                if (effect instanceof EffectImpl) {
                    EffectImpl effect2 = (EffectImpl) effect;
                    effect2.setAnimationActive(entity);
                }
            }
        }
    }
}
Also used : Active(main.entity.obj.Active) DC_ActiveObj(eidolons.entity.active.DC_ActiveObj) ActiveObj(main.entity.obj.ActiveObj) EffectImpl(main.ability.effects.EffectImpl) ArrayList(java.util.ArrayList) DC_Effect(eidolons.ability.effects.DC_Effect) AddBuffEffect(eidolons.ability.effects.attachment.AddBuffEffect) RollEffect(eidolons.ability.effects.oneshot.mechanic.RollEffect) Effect(main.ability.effects.Effect) RayEffect(eidolons.ability.effects.containers.customtarget.RayEffect) WaveEffect(eidolons.ability.effects.containers.customtarget.WaveEffect) ZoneEffect(eidolons.ability.effects.containers.customtarget.ZoneEffect)

Example 7 with Effect

use of main.ability.effects.Effect in project Eidolons by IDemiurge.

the class ActivesConstructor method wrapInSaveRollEffect.

public static void wrapInSaveRollEffect(Effects effects, String saveRoll) {
    // TODO
    ArrayList<ROLL_TYPES> rolls = new ArrayList<>();
    ArrayList<String> vars = new ArrayList<>();
    for (String roll : StringMaster.open(saveRoll, StringMaster.AND_SEPARATOR)) {
        String varArgs = VariableManager.getVarPart(roll);
        roll = roll.replace(varArgs, "");
        rolls.add(new EnumMaster<ROLL_TYPES>().retrieveEnumConst(ROLL_TYPES.class, roll));
        vars.add(varArgs);
    }
    int i = 0;
    for (Effect e : effects) {
        for (ROLL_TYPES roll : rolls) {
            String args = StringMaster.cropParenthesises(vars.get(i));
            e = wrapInRoll(e, roll, args);
            i++;
        }
    }
}
Also used : EnumMaster(main.system.auxiliary.EnumMaster) ArrayList(java.util.ArrayList) ROLL_TYPES(main.content.enums.GenericEnums.ROLL_TYPES) DC_Effect(eidolons.ability.effects.DC_Effect) AddBuffEffect(eidolons.ability.effects.attachment.AddBuffEffect) RollEffect(eidolons.ability.effects.oneshot.mechanic.RollEffect) Effect(main.ability.effects.Effect) RayEffect(eidolons.ability.effects.containers.customtarget.RayEffect) WaveEffect(eidolons.ability.effects.containers.customtarget.WaveEffect) ZoneEffect(eidolons.ability.effects.containers.customtarget.ZoneEffect)

Example 8 with Effect

use of main.ability.effects.Effect in project Eidolons by IDemiurge.

the class TrapEffect method initEffects.

@Override
protected void initEffects() {
    if (effects == null) {
        Effect e = ActivesConstructor.getEffectsFromAbilityType(abilName);
        this.effects = new Effects(e);
    }
}
Also used : Effect(main.ability.effects.Effect) AddStatusEffect(main.ability.effects.common.AddStatusEffect) TriggerEffect(eidolons.ability.effects.continuous.triggered.TriggerEffect) Effects(main.ability.effects.Effects)

Example 9 with Effect

use of main.ability.effects.Effect in project Eidolons by IDemiurge.

the class TrapEffect method applyThis.

@Override
public boolean applyThis() {
    Effect effect = new AddStatusEffect(UnitEnums.STATUS.TRAPPED.name());
    new AddBuffEffect(effect).apply(ref);
    return super.applyThis();
}
Also used : Effect(main.ability.effects.Effect) AddStatusEffect(main.ability.effects.common.AddStatusEffect) TriggerEffect(eidolons.ability.effects.continuous.triggered.TriggerEffect) AddStatusEffect(main.ability.effects.common.AddStatusEffect)

Example 10 with Effect

use of main.ability.effects.Effect in project Eidolons by IDemiurge.

the class DamageCalculator method precalculateRawDamageForDisplay.

/**
 * Calculates and creates Damage Objects of each DAMAGE_TYPE present for PhaseAnimations
 *
 * @param attack
 * @return
 */
public static List<Damage> precalculateRawDamageForDisplay(Attack attack) {
    List<Damage> list = new ArrayList<>();
    list.add(DamageFactory.getDamageFromAttack(attack));
    List<Effect> effects = new ArrayList<>();
    if (attack.getWeapon().getSpecialEffects() != null) {
        if (attack.getWeapon().getSpecialEffects().get(SPECIAL_EFFECTS_CASE.ON_ATTACK) != null) {
            effects.add(attack.getWeapon().getSpecialEffects().get(SPECIAL_EFFECTS_CASE.ON_ATTACK));
        }
    }
    if (attack.getAttacker().getSpecialEffects() != null) {
        if (attack.getAttacker().getSpecialEffects().get(SPECIAL_EFFECTS_CASE.ON_ATTACK) != null) {
            effects.add(attack.getAttacker().getSpecialEffects().get(SPECIAL_EFFECTS_CASE.ON_ATTACK));
        }
    }
    for (Effect e : effects) {
        // TODO ++ PARAM MOD
        for (Effect dmgEffect : EffectFinder.getEffectsOfClass(e, DealDamageEffect.class)) {
            int amount = dmgEffect.getFormula().getInt(attack.getRef());
            list.add(DamageFactory.getDamageFromEffect((DealDamageEffect) dmgEffect, amount));
        }
    }
    return list;
}
Also used : ArrayList(java.util.ArrayList) DealDamageEffect(eidolons.ability.effects.oneshot.DealDamageEffect) Effect(main.ability.effects.Effect) DealDamageEffect(eidolons.ability.effects.oneshot.DealDamageEffect)

Aggregations

Effect (main.ability.effects.Effect)55 AddBuffEffect (eidolons.ability.effects.attachment.AddBuffEffect)31 ModifyValueEffect (eidolons.ability.effects.common.ModifyValueEffect)18 Effects (main.ability.effects.Effects)17 DealDamageEffect (eidolons.ability.effects.oneshot.DealDamageEffect)16 RollEffect (eidolons.ability.effects.oneshot.mechanic.RollEffect)16 ModifyCounterEffect (eidolons.ability.effects.oneshot.mechanic.ModifyCounterEffect)15 OwnershipChangeEffect (main.ability.effects.common.OwnershipChangeEffect)14 BehaviorModeEffect (eidolons.ability.effects.continuous.BehaviorModeEffect)13 AttackEffect (eidolons.ability.effects.oneshot.attack.AttackEffect)13 InstantDeathEffect (main.ability.effects.oneshot.InstantDeathEffect)13 DrainEffect (eidolons.ability.effects.oneshot.mechanic.DrainEffect)12 RaiseEffect (eidolons.ability.effects.oneshot.unit.RaiseEffect)12 SummonEffect (eidolons.ability.effects.oneshot.unit.SummonEffect)12 ArrayList (java.util.ArrayList)10 WaveEffect (eidolons.ability.effects.containers.customtarget.WaveEffect)8 DC_Effect (eidolons.ability.effects.DC_Effect)7 Ref (main.entity.Ref)7 DC_ActiveObj (eidolons.entity.active.DC_ActiveObj)6 SpecialTargetingEffect (main.ability.effects.container.SpecialTargetingEffect)6