Search in sources :

Example 31 with Effect

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

the class ClaimRule method initEffects.

@Override
public void initEffects() {
    Conditions conditions = new Conditions();
    conditions.add(new NumericCondition("0", CLAIM_COUNTERS));
    Conditions conditions2 = new Conditions();
    conditions2.add(new OwnershipCondition(KEYS.EVENT_TARGET.name(), true));
    conditions2.add(nOfCounters);
    RemoveBuffEffect removeBuffEffect = new RemoveBuffEffect(buffName);
    Effect effect = new OwnershipChangeEffect(false);
    AddBuffEffect addBuffEffect = new AddBuffEffect(new NumericCondition("{BASIS_CLAIM_COUNTERS}", "0"), buffName, effect);
    effects = new IfElseEffect(removeBuffEffect, conditions, new ConditionalEffect(conditions2, addBuffEffect));
}
Also used : ConditionalEffect(main.ability.effects.container.ConditionalEffect) AddBuffEffect(eidolons.ability.effects.attachment.AddBuffEffect) OwnershipCondition(main.elements.conditions.standard.OwnershipCondition) RemoveBuffEffect(eidolons.ability.effects.oneshot.buff.RemoveBuffEffect) OwnershipChangeEffect(main.ability.effects.common.OwnershipChangeEffect) NumericCondition(main.elements.conditions.NumericCondition) ConditionalEffect(main.ability.effects.container.ConditionalEffect) AddBuffEffect(eidolons.ability.effects.attachment.AddBuffEffect) Effect(main.ability.effects.Effect) OwnershipChangeEffect(main.ability.effects.common.OwnershipChangeEffect) RemoveBuffEffect(eidolons.ability.effects.oneshot.buff.RemoveBuffEffect) IfElseEffect(main.ability.effects.container.IfElseEffect) Conditions(main.elements.conditions.Conditions) IfElseEffect(main.ability.effects.container.IfElseEffect)

Example 32 with Effect

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

the class DC_CounterRule method initEffects.

public void initEffects() {
    effects = new Effects();
    STATUS status = getStatus();
    if (status != null) {
        effects.add(new AddStatusEffect(status.toString()));
    }
    Effect e = getEffect();
    if (e != null) {
        effects.add(e);
    }
    effects.setForcedLayer(getEffectLayer());
}
Also used : STATUS(main.content.enums.entity.UnitEnums.STATUS) AddBuffEffect(eidolons.ability.effects.attachment.AddBuffEffect) ContinuousEffect(main.ability.effects.continuous.ContinuousEffect) Effect(main.ability.effects.Effect) AddStatusEffect(main.ability.effects.common.AddStatusEffect) ModifyCounterEffect(eidolons.ability.effects.oneshot.mechanic.ModifyCounterEffect) CustomTargetEffect(main.ability.effects.continuous.CustomTargetEffect) Effects(main.ability.effects.Effects) AddStatusEffect(main.ability.effects.common.AddStatusEffect)

Example 33 with Effect

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

the class DC_CounterRule method newTurn.

public void newTurn() {
    for (Unit unit : game.getUnits()) {
        if (unit.isDead())
            continue;
        if (!ExplorationMaster.isExplorationOn())
            if (isOutsideCombatIgnored())
                if (game.getState().getManager().checkUnitIgnoresReset(unit))
                    continue;
        if (getNumberOfCounters(unit) <= 0) {
            continue;
        }
        applyCountersInteractions(unit);
        applyCountersConversions(unit);
        applyCountersTranfers(unit);
        // log TODO spread
        int counterMod = getCounterNumberReductionPerTurn(unit);
        if (counterMod != 0) {
            log(getCounterModifiedLogString(counterMod));
            unit.modifyCounter(getCounterName(), -counterMod);
        }
        Effect oneshotEffects = getSpecialRoundEffects();
        if (oneshotEffects != null) {
            oneshotEffects.apply(Ref.getSelfTargetingRefCopy(unit));
        }
    }
}
Also used : AddBuffEffect(eidolons.ability.effects.attachment.AddBuffEffect) ContinuousEffect(main.ability.effects.continuous.ContinuousEffect) Effect(main.ability.effects.Effect) AddStatusEffect(main.ability.effects.common.AddStatusEffect) ModifyCounterEffect(eidolons.ability.effects.oneshot.mechanic.ModifyCounterEffect) CustomTargetEffect(main.ability.effects.continuous.CustomTargetEffect) Unit(eidolons.entity.obj.unit.Unit)

Example 34 with Effect

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

the class Saver method getEffectsNodeXml.

public static String getEffectsNodeXml(DC_GameState state) {
    StringBuilder builder = new StringBuilder(3000);
    builder.append(XML_Converter.openXml(EFECTS_NODE));
    for (Effect sub : state.getEffects()) {
        builder.append(sub.toXml());
    }
    // effect layers?
    builder.append(XML_Converter.closeXml(EFECTS_NODE));
    return builder.toString();
}
Also used : Effect(main.ability.effects.Effect)

Example 35 with Effect

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

the class StateCloner method cloneAbility.

private Ability cloneAbility(Ability abilities) {
    Effects effects = new Effects();
    for (Effect e : abilities.getEffects()) {
        effects.add(cloneEffect(e));
    }
    Ability ability = (abilities instanceof ActiveAbility) ? new ActiveAbility(abilities.getTargeting(), effects) : new PassiveAbility(abilities.getTargeting(), effects);
    return ability;
}
Also used : ActiveAbility(main.ability.ActiveAbility) Ability(main.ability.Ability) PassiveAbility(main.ability.PassiveAbility) ActiveAbility(main.ability.ActiveAbility) ContinuousEffect(main.ability.effects.continuous.ContinuousEffect) Effect(main.ability.effects.Effect) PassiveAbility(main.ability.PassiveAbility) Effects(main.ability.effects.Effects)

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