Search in sources :

Example 1 with DC_RuleImpl

use of eidolons.game.battlecraft.rules.DC_RuleImpl in project Eidolons by IDemiurge.

the class DC_StateManager method checkRules.

@Override
public void checkRules(Event e) {
    DequeImpl<DC_RuleImpl> triggerRules = getGame().getRules().getTriggerRules();
    if (triggerRules.size() == 0) {
        return;
    }
    for (Rule rule : triggerRules) {
        if (rule.isOn()) {
            if (rule.check(e)) {
                Ref ref = Ref.getCopy(e.getRef());
                ref.setEvent(e);
                rule.apply(ref);
            }
        }
    }
}
Also used : Ref(main.entity.Ref) DC_RuleImpl(eidolons.game.battlecraft.rules.DC_RuleImpl) RoundRule(eidolons.game.battlecraft.rules.round.RoundRule) Rule(main.game.logic.event.Rule) DC_CounterRule(eidolons.game.battlecraft.rules.counter.DC_CounterRule) DamageCounterRule(eidolons.game.battlecraft.rules.counter.DamageCounterRule)

Aggregations

DC_RuleImpl (eidolons.game.battlecraft.rules.DC_RuleImpl)1 DC_CounterRule (eidolons.game.battlecraft.rules.counter.DC_CounterRule)1 DamageCounterRule (eidolons.game.battlecraft.rules.counter.DamageCounterRule)1 RoundRule (eidolons.game.battlecraft.rules.round.RoundRule)1 Ref (main.entity.Ref)1 Rule (main.game.logic.event.Rule)1