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);
}
}
}
}
}
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++;
}
}
}
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);
}
}
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();
}
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;
}
Aggregations