Search in sources :

Example 6 with SelectiveTargeting

use of main.elements.targeting.SelectiveTargeting in project Eidolons by IDemiurge.

the class PriorityManagerImpl method getZoneSpellPriority.

@Override
public int getZoneSpellPriority(Action action, boolean damage) {
    int base_priority = 0;
    DC_ActiveObj active = action.getActive();
    Targeting targeting = active.getTargeting();
    if (targeting instanceof FixedTargeting || targeting instanceof SelectiveTargeting) {
        targeting = TargetingMaster.getZoneEffect(active);
    }
    // Set<Obj> objects = targeting.getFilter().getObjects(action.getRef());
    Ref REF = action.getRef().getCopy();
    targeting.select(REF);
    List<Obj> objects = (REF.getGroup() != null) ? REF.getGroup().getObjects() : new ArrayList<>(targeting.getFilter().getObjects(action.getRef()));
    for (Obj obj : objects) {
        // TODO
        if (obj instanceof Unit) {
            if (obj.isNeutral() || obj.isDead()) {
                continue;
            }
            Unit target = (Unit) obj;
            int p = (damage) ? getDamagePriority(active, target, false) : getParamModSpellPriority(action);
            Boolean less_or_more_for_health = null;
            if (p == 200) {
                // ?
                less_or_more_for_health = null;
            }
            p = getUnitPriority(target, less_or_more_for_health) * p / 100;
            boolean ally = target.isOwnedBy(getUnit().getOwner());
            if (ally) {
                if (action.getSource().checkAiMod(AI_MODIFIERS.CRUEL)) {
                    p /= 2;
                }
                if (action.getSource().checkAiMod(AI_MODIFIERS.MERCIFUL)) {
                    p *= 2;
                }
                base_priority -= p;
            } else {
                if (action.getSource().checkAiMod(AI_MODIFIERS.TRUE_BRUTE)) {
                    p *= 2;
                }
                base_priority += p;
                base_priority += base_priority / 6;
            }
        }
    }
    return base_priority;
}
Also used : SelectiveTargeting(main.elements.targeting.SelectiveTargeting) Ref(main.entity.Ref) FixedTargeting(main.elements.targeting.FixedTargeting) Targeting(main.elements.targeting.Targeting) SelectiveTargeting(main.elements.targeting.SelectiveTargeting) FixedTargeting(main.elements.targeting.FixedTargeting) DC_WeaponObj(eidolons.entity.item.DC_WeaponObj) DC_SpellObj(eidolons.entity.active.DC_SpellObj) DC_Obj(eidolons.entity.obj.DC_Obj) DC_ActiveObj(eidolons.entity.active.DC_ActiveObj) DC_HeroAttachedObj(eidolons.entity.obj.attach.DC_HeroAttachedObj) Obj(main.entity.obj.Obj) DC_ActiveObj(eidolons.entity.active.DC_ActiveObj) Unit(eidolons.entity.obj.unit.Unit)

Example 7 with SelectiveTargeting

use of main.elements.targeting.SelectiveTargeting in project Eidolons by IDemiurge.

the class TargetingMaster method findTargeting.

public static Targeting findTargeting(ActiveObj active, Class<SelectiveTargeting> CLASS) {
    Targeting t = active.getTargeting();
    if (checkTargeting(CLASS, t)) {
        return t;
    }
    t = findTargetingInAbils(active, CLASS);
    if (t != null) {
        return t;
    }
    for (ActiveObj a : active.getActives()) {
        if (// 2 layers maximum, i hope
        active instanceof DC_ActiveObj) {
            t = findTargeting(a, CLASS);
        }
        if (t != null) {
            return t;
        } else {
            for (ActiveObj a2 : a.getActives()) {
                t = findTargetingInAbils(a2, CLASS);
                if (t != null) {
                    return t;
                }
            }
        }
    }
    return null;
}
Also used : ActiveObj(main.entity.obj.ActiveObj) DC_ActiveObj(eidolons.entity.active.DC_ActiveObj) Targeting(main.elements.targeting.Targeting) SelectiveTargeting(main.elements.targeting.SelectiveTargeting) DC_ActiveObj(eidolons.entity.active.DC_ActiveObj)

Example 8 with SelectiveTargeting

use of main.elements.targeting.SelectiveTargeting in project Eidolons by IDemiurge.

the class DungeonObjMaster method createAction.

public DC_UnitAction createAction(T sub, Unit unit, String typeName, DungeonObj obj) {
    // TODO CACHE
    DC_UnitAction action = unit.getGame().getActionManager().getOrCreateAction(typeName, unit);
    action.setTargeting(new SelectiveTargeting(new Conditions(new DistanceCondition("1", true), new FacingCondition(FACING_SINGLE.IN_FRONT))));
    action.setConstructed(true);
    action.getTargeter().setTargetingInitialized(true);
    action.setTargetingCachingOff(true);
    action.setActionTypeGroup(ACTION_TYPE_GROUPS.STANDARD);
    action.setAbilities(null);
    List<ActiveObj> actives = new ArrayList<>();
    actives.add(new ActiveAbilityObj((AbilityType) DataManager.getType("Dummy Ability", DC_TYPE.ABILS), unit.getRef(), unit.getOwner(), unit.getGame()) {

        @Override
        public boolean activatedOn(Ref ref) {
            return actionActivated(sub, unit, obj);
        }
    });
    action.setActives(actives);
    action.setActionTypeGroup(ACTION_TYPE_GROUPS.DUNGEON);
    return action;
}
Also used : SelectiveTargeting(main.elements.targeting.SelectiveTargeting) Ref(main.entity.Ref) ActiveObj(main.entity.obj.ActiveObj) DC_ActiveObj(eidolons.entity.active.DC_ActiveObj) AbilityType(main.ability.AbilityType) DistanceCondition(main.elements.conditions.DistanceCondition) ArrayList(java.util.ArrayList) ActiveAbilityObj(main.ability.ActiveAbilityObj) FacingCondition(eidolons.ability.conditions.FacingCondition) DC_UnitAction(eidolons.entity.active.DC_UnitAction) Conditions(main.elements.conditions.Conditions)

Example 9 with SelectiveTargeting

use of main.elements.targeting.SelectiveTargeting in project Eidolons by IDemiurge.

the class DebugMaster method summon.

private void summon(Boolean me, DC_TYPE units, Ref ref) {
    Player player = Player.NEUTRAL;
    if (me != null) {
        player = game.getPlayer(me);
        if (!me) {
            if (ALT_AI_PLAYER) {
                if (altAiPlayer == null) {
                    altAiPlayer = new DC_Player("", null, false);
                }
                player = altAiPlayer;
            }
        }
    }
    /*
         * alt mode: >> random >> preset >> last
		 */
    ref.setPlayer(player);
    String typeName;
    if (arg instanceof Unit) {
        Obj obj = arg;
        typeName = (obj.getType().getName());
    }
    if (altMode) {
        typeName = lastType;
    // RandomWizard.getRandomType(units).getName();
    } else {
        typeName = ListChooser.chooseType(units);
    }
    if (!DataManager.isTypeName(typeName)) {
        typeName = DialogMaster.inputText("Then enter it yourself...");
    }
    if (typeName == null) {
        return;
    }
    if (!DataManager.isTypeName(typeName)) {
        ObjType foundType = DataManager.findType(typeName, units);
        if (foundType == null) {
            return;
        }
        typeName = foundType.getName();
    }
    if (arg instanceof Obj) {
        Obj obj = arg;
        ref.setTarget(game.getCellByCoordinate(obj.getCoordinates()).getId());
    } else if (!new SelectiveTargeting(new Conditions(ConditionMaster.getTYPECondition(DC_TYPE.TERRAIN))).select(ref)) {
        return;
    }
    lastType = typeName;
    SummonEffect effect = (me == null) ? new CreateObjectEffect(typeName, true) : new SummonEffect(typeName);
    if (units == DC_TYPE.UNITS) {
        if (checkAddXp()) {
            Formula xp = new Formula("" + (DC_Formulas.getTotalXpForLevel(DataManager.getType(typeName, DC_TYPE.UNITS).getIntParam(PARAMS.LEVEL) + DialogMaster.inputInt()) - DC_Formulas.getTotalXpForLevel(DataManager.getType(typeName, DC_TYPE.UNITS).getIntParam(PARAMS.LEVEL))));
            effect = new SummonEffect(typeName, xp);
        }
    }
    effect.setOwner(player);
    effect.apply(ref);
    if (player.isAi()) {
        game.getAiManager().getCustomUnitGroup((Unit) effect.getUnit()).add(effect.getUnit());
    }
    game.getManager().refreshAll();
}
Also used : SelectiveTargeting(main.elements.targeting.SelectiveTargeting) SummonEffect(eidolons.ability.effects.oneshot.unit.SummonEffect) CreateObjectEffect(eidolons.ability.effects.oneshot.unit.CreateObjectEffect) Formula(main.system.math.Formula) DC_Player(eidolons.game.battlecraft.logic.battle.universal.DC_Player) Player(main.game.logic.battle.player.Player) ObjType(main.entity.type.ObjType) DC_QuickItemObj(eidolons.entity.item.DC_QuickItemObj) DC_SpellObj(eidolons.entity.active.DC_SpellObj) DC_Obj(eidolons.entity.obj.DC_Obj) ActiveObj(main.entity.obj.ActiveObj) Obj(main.entity.obj.Obj) DC_HeroItemObj(eidolons.entity.item.DC_HeroItemObj) Unit(eidolons.entity.obj.unit.Unit) DC_Player(eidolons.game.battlecraft.logic.battle.universal.DC_Player) Conditions(main.elements.conditions.Conditions)

Example 10 with SelectiveTargeting

use of main.elements.targeting.SelectiveTargeting in project Eidolons by IDemiurge.

the class DebugMaster method executeDebugFunction.

public Object executeDebugFunction(DEBUG_FUNCTIONS func) {
    executedFunctions.push(func.toString());
    boolean transmitted = false;
    if (game.isOnline()) {
        if (func.transmitted) {
            transmitted = true;
        }
    }
    if (target != null) {
        arg = target;
    }
    Unit infoObj = target instanceof Unit ? (Unit) target : null;
    Ref ref = null;
    if (infoObj == null) {
        try {
            infoObj = (Unit) getObj();
        } catch (Exception e) {
        }
    }
    if (infoObj == null) {
        infoObj = game.getManager().getActiveObj();
    }
    if (game.getManager().getActiveObj() != null) {
        ref = new Ref(game, game.getManager().getActiveObj().getId());
    } else {
        ref = new Ref(game);
    }
    ref.setDebug(true);
    Coordinates coordinate = null;
    String data = null;
    DC_TYPE TYPE;
    debugFunctionRunning = true;
    try {
        switch(func) {
            case SET_GLOBAL_ILLUMINATION:
                game.getVisionMaster().getIlluminationMaster().setGlobalIllumination(DialogMaster.inputInt("SET_GLOBAL_ILLUMINATION", game.getVisionMaster().getIlluminationMaster().getGlobalIllumination()));
                break;
            case SET_GLOBAL_CONCEALMENT:
                game.getVisionMaster().getIlluminationMaster().setGlobalConcealment(DialogMaster.inputInt("SET_GLOBAL_CONCEALMENT", game.getVisionMaster().getIlluminationMaster().getGlobalConcealment()));
                break;
            case TEST_CLONE_STATE:
                StateCloner.test();
                break;
            case TEST_LOAD_STATE:
                StatesKeeper.testLoad();
                return null;
            case RUN_AUTO_TESTS:
                AutoTestMaster.runTests();
                break;
            case AUTO_TEST_INPUT:
                WaitMaster.receiveInput(WAIT_OPERATIONS.AUTO_TEST_INPUT, true);
                break;
            case SET_OPTION:
                OptionsMaster.promptSetOption();
                break;
            case ADD_GROUP:
                File groupFile = ListChooser.chooseFile(PathFinder.getUnitGroupPath());
                if (groupFile == null) {
                    break;
                }
                if (arg instanceof DC_Cell) {
                    coordinate = arg.getCoordinates();
                } else {
                    coordinate = getGame().getBattleFieldManager().pickCoordinate();
                }
                if (coordinate == null) {
                    break;
                }
                data = FileManager.readFile(groupFile);
                UnitGroupMaster.setCurrentGroupHeight(MathMaster.getMaxY(data));
                UnitGroupMaster.setCurrentGroupWidth(MathMaster.getMaxX(data));
                UnitGroupMaster.setMirror(isAltMode());
                // UnitGroupMaster.setFlip(null);
                try {
                    DC_ObjInitializer.createUnits(game.getPlayer(isAltMode()), data, coordinate);
                } catch (Exception e) {
                    main.system.ExceptionMaster.printStackTrace(e);
                } finally {
                    UnitGroupMaster.setMirror(false);
                }
                break;
            case TOGGLE_DUMMY:
                game.setDummyMode(!game.isDummyMode());
                TestMasterContent.setForceFree(game.isDummyMode());
                break;
            case TOGGLE_DUMMY_PLUS:
                game.setDummyPlus(!game.isDummyPlus());
                TestMasterContent.setForceFree(game.isDummyMode());
                break;
            case PRESET:
                PresetMaster.handlePreset(isAltMode());
                break;
            case TOGGLE_DUNGEON_DEBUG:
                {
                    mapDebugOn = !mapDebugOn;
                    break;
                }
            case HIDDEN_FUNCTION:
                {
                    int i = DialogMaster.optionChoice(HIDDEN_DEBUG_FUNCTIONS.values(), "...");
                    if (i != -1) {
                        executeHiddenDebugFunction(HIDDEN_DEBUG_FUNCTIONS.values()[i]);
                    }
                    break;
                }
            case TOGGLE_AUTO_UNIT:
                if (!infoObj.isOwnedBy(game.getPlayer(true))) {
                    infoObj.setOriginalOwner(game.getPlayer(true));
                    infoObj.setOwner(game.getPlayer(true));
                } else {
                    infoObj.setAiControlled(!infoObj.isAiControlled());
                }
                WaitMaster.receiveInput(WAIT_OPERATIONS.ACTION_COMPLETE, true);
                break;
            case EDIT_AI:
                break;
            case SAVE:
                Saver.save("test");
                break;
            case LOAD:
                Loader.loadGame("test.xml");
                break;
            case PAUSE:
                DC_Game.game.getLoop().setPaused(!DC_Game.game.getLoop().isPaused());
                break;
            case TOGGLE_OMNIVISION:
                omnivision = !omnivision;
                break;
            case AUTO_COMBAT:
                game.getPlayer(true).setAi(!game.getPlayer(true).isAi());
                WaitMaster.receiveInput(WAIT_OPERATIONS.ACTION_COMPLETE, true);
                break;
            case ADD_TEST_SPELLS:
                TestMasterContent.addTestActives(false, infoObj.getType(), true);
                break;
            case ADD_ALL_SPELLS:
                TestMasterContent.addTestActives(true, infoObj.getType(), true);
                break;
            case TOGGLE_GRAPHICS_TEST:
                DrawMasterStatic.GRAPHICS_TEST_MODE = !DrawMasterStatic.GRAPHICS_TEST_MODE;
                if (DrawMasterStatic.GRAPHICS_TEST_MODE) {
                    DrawMasterStatic.FULL_GRAPHICS_TEST_MODE = DialogMaster.confirm("Full test on?");
                } else {
                    DrawMasterStatic.FULL_GRAPHICS_TEST_MODE = false;
                }
                break;
            case TOGGLE_LOG:
                {
                    String e = ListChooser.chooseEnum(LOG_CHANNEL.class);
                    LogMaster.toggle(e);
                    break;
                }
            case TOGGLE_QUIET:
                quiet = !quiet;
                break;
            case TOGGLE_FREE_ACTIONS:
                TestMasterContent.toggleFree();
                break;
            case GOD_MODE:
                TestMasterContent.toggleImmortal();
                // game.getManager().refreshAll();
                break;
            case RESTART:
                // if (!altMode) {
                // if (DialogMaster.confirm("Select anew?")) {
                // FAST_DC.getLauncher().selectiveInit();
                // }
                // }
                game.getManager().getDeathMaster().killAllUnits(true, false, quiet);
                game.getBattleMaster().getSpawner().spawnCustomParty(true);
                game.getBattleMaster().getSpawner().spawnCustomParty(false);
                game.getManager().refreshAll();
                WaitMaster.receiveInput(WAIT_OPERATIONS.ACTION_COMPLETE, true);
                return func;
            case CLEAR:
                boolean respawn = isAltMode();
                game.getManager().getDeathMaster().killAllUnits(!isAltMode());
                if (respawn) {
                    // /respawn!
                    game.getBattleMaster().getSpawner().spawnCustomParty(true);
                    game.getBattleMaster().getSpawner().spawnCustomParty(false);
                }
                game.getManager().refreshAll();
                break;
            case KILL_ALL_UNITS:
                game.getManager().getDeathMaster().killAll(isAltMode());
                break;
            case ACTIVATE_UNIT:
                if (isAltMode()) {
                    getObj().modifyParameter(PARAMS.C_N_OF_ACTIONS, 100);
                }
                if (getObj().isMine()) {
                    game.getManager().setActivatingAction(null);
                    game.getManager().activeSelect(getObj());
                } else {
                    WaitMaster.receiveInput(WAIT_OPERATIONS.ACTION_COMPLETE, true);
                    WaitMaster.WAIT(1234);
                    getObj().modifyParameter(PARAMS.C_N_OF_ACTIONS, 100);
                }
                game.getVisionMaster().refresh();
                break;
            case ADD_ITEM:
                if (isAltMode()) {
                    TYPE = DC_TYPE.WEAPONS;
                } else {
                    TYPE = (DC_TYPE) DialogMaster.getChosenOption("Choose item type...", DC_TYPE.WEAPONS, DC_TYPE.ARMOR, DC_TYPE.ITEMS, DC_TYPE.JEWELRY);
                }
                if (isAltMode()) {
                    if (!selectWeaponType()) {
                        break;
                    }
                } else if (!selectType(TYPE)) {
                    break;
                }
                if (!selectTarget(ref)) {
                    selectedTarget = infoObj;
                }
                if (selectedTarget == null) {
                    break;
                }
                boolean quick = false;
                if (isAltMode()) {
                    quick = false;
                } else if (TYPE == DC_TYPE.ITEMS) {
                    quick = true;
                } else if (TYPE == DC_TYPE.WEAPONS) {
                    quick = DialogMaster.confirm("quick slot item?");
                }
                DC_HeroItemObj item = ItemFactory.createItemObj(selectedType, selectedTarget.getOwner(), game, ref, quick);
                if (!quick) {
                    if (TYPE != DC_TYPE.JEWELRY) {
                        selectedTarget.equip(item, TYPE == DC_TYPE.ARMOR ? ItemEnums.ITEM_SLOT.ARMOR : ItemEnums.ITEM_SLOT.MAIN_HAND);
                    }
                } else {
                    selectedTarget.addQuickItem((DC_QuickItemObj) item);
                }
                // selectedTarget.addItemToInventory(item);
                game.getManager().refreshGUI();
                break;
            case ADD_SPELL:
                if (!selectType(DC_TYPE.SPELLS)) {
                    break;
                }
                if (!selectTarget(ref)) {
                    selectedTarget = infoObj;
                }
                if (selectedTarget == null) {
                    break;
                }
                TestMasterContent.setTEST_LIST(TestMasterContent.getTEST_LIST() + selectedType.getName() + ";");
                selectedTarget.getSpells().add(new DC_SpellObj(selectedType, selectedTarget.getOwner(), game, selectedTarget.getRef()));
                game.getManager().refreshGUI();
                break;
            case ADD_SKILL:
            case ADD_ACTIVE:
                PROPERTY prop = G_PROPS.ACTIVES;
                DC_TYPE T = DC_TYPE.ACTIONS;
                if (func == DEBUG_FUNCTIONS.ADD_SKILL) {
                    prop = PROPS.SKILLS;
                    T = DC_TYPE.SKILLS;
                }
                String type = ListChooser.chooseType(T);
                if (type == null) {
                    break;
                }
                if (!new SelectiveTargeting(new Conditions(ConditionMaster.getTYPECondition(C_OBJ_TYPE.BF_OBJ))).select(ref)) {
                    break;
                }
                lastType = type;
                new AddBuffEffect(type + " hack", new ModifyPropertyEffect(prop, MOD_PROP_TYPE.ADD, type), new Formula("1")).apply(ref);
                if (func == DEBUG_FUNCTIONS.ADD_ACTIVE) {
                    infoObj.getActives().add(game.getActionManager().getAction(type, infoObj));
                    game.getActionManager().constructActionMaps(infoObj);
                }
                // instead of toBase()
                break;
            case ADD_PASSIVE:
                // same method
                infoObj.getPassives().add(AbilityConstructor.getPassive(ListChooser.chooseType(DC_TYPE.ABILS), infoObj));
                infoObj.activatePassives();
                break;
            case CHANGE_OWNER:
                // if already has, make permanent
                new AddBuffEffect("ownership hack", new OwnershipChangeEffect(), new Formula("1")).apply(ref);
                break;
            case END_TURN:
                game.getManager().setActivatingAction(null);
                WaitMaster.receiveInput(WAIT_OPERATIONS.ACTION_INPUT, null);
                return func;
            case KILL_UNIT:
                if (arg != null) {
                    arg.kill(infoObj, !isAltMode(), isAltMode());
                } else {
                    infoObj.kill(infoObj, !isAltMode(), isAltMode());
                }
                // .getInfoObj());
                break;
            case ADD_CHAR:
                summon(true, DC_TYPE.CHARS, ref);
                break;
            case ADD_OBJ:
                summon(null, DC_TYPE.BF_OBJ, new Ref(game));
                break;
            case ADD_UNIT:
                summon(true, DC_TYPE.UNITS, ref);
                break;
            case SET_WAVE_POWER:
                Integer forcedPower;
                forcedPower = DialogMaster.inputInt();
                if (forcedPower < 0) {
                    forcedPower = null;
                }
                ArenaBattleMaster a = (ArenaBattleMaster) game.getBattleMaster();
                a.getWaveAssembler().setForcedPower(forcedPower);
                break;
            case SPAWN_CUSTOM_WAVE:
                coordinate = getGame().getBattleFieldManager().pickCoordinate();
                ObjType waveType = ListChooser.chooseType_(DC_TYPE.ENCOUNTERS);
                Wave wave = new Wave(coordinate, waveType, game, ref, game.getPlayer(!isAltMode()));
                String value = new ListChooser(SELECTION_MODE.MULTIPLE, StringMaster.openContainer(wave.getProperty(PROPS.UNIT_TYPES)), DC_TYPE.UNITS).choose();
                wave.setProperty(PROPS.UNIT_TYPES, value);
                // PROPS.EXTENDED_PRESET_GROUP
                break;
            case SPAWN_PARTY:
                coordinate = getGame().getBattleFieldManager().pickCoordinate();
                ObjType party = ListChooser.chooseType_(DC_TYPE.PARTY);
                game.getBattleMaster().getSpawner().spawnCustomParty(coordinate, null, party);
                break;
            case SPAWN_WAVE:
                if (!isAltMode()) {
                    coordinate = getGame().getBattleFieldManager().pickCoordinate();
                } else {
                // FACING_DIRECTION side = new EnumChooser<FACING_DIRECTION>()
                // .choose(FACING_DIRECTION.class);
                // if (side== FACING_DIRECTION.NONE)
                // game.getBattleMaster().getSpawner().getPositioner().setForcedSide(side);
                }
                String typeName = ListChooser.chooseType(DC_TYPE.ENCOUNTERS);
                if (typeName == null) {
                    return func;
                }
                try {
                    game.getBattleMaster().getSpawner().spawnWave(typeName, game.getPlayer(ALT_AI_PLAYER), coordinate);
                } catch (Exception e) {
                    main.system.ExceptionMaster.printStackTrace(e);
                } finally {
                // game.getBattleMaster().getSpawner().getPositioner().setForcedSide(null);
                }
                game.getManager().refreshAll();
                break;
            case ADD_ENEMY_UNIT:
                summon(false, DC_TYPE.UNITS, new Ref(game));
                // game.getManager().refreshAll();
                break;
            case TOGGLE_ALT_AI:
                {
                    game.getPlayer(true).setAi(!game.getPlayer(true).isAi());
                    ALT_AI_PLAYER = !ALT_AI_PLAYER;
                    break;
                }
            case TOGGLE_DEBUG:
                {
                    game.setDebugMode(!game.isDebugMode());
                    Launcher.setDEBUG_MODE(!Launcher.isDEBUG_MODE_DEFAULT());
                    break;
                }
            case WAITER_INPUT:
                {
                    String input = DialogMaster.inputText("operation");
                    WAIT_OPERATIONS operation = new EnumMaster<WAIT_OPERATIONS>().retrieveEnumConst(WAIT_OPERATIONS.class, input);
                    if (operation == null) {
                        operation = new EnumMaster<WAIT_OPERATIONS>().retrieveEnumConst(WAIT_OPERATIONS.class, input, true);
                    }
                    if (operation == null) {
                        DialogMaster.error("no such operation");
                        return func;
                    }
                    input = DialogMaster.inputText("input");
                    WaitMaster.receiveInput(operation, input);
                }
            case REMOVE_HACKS:
                break;
            // break;
            case TOGGLE_LIGHTING:
                break;
            case TOGGLE_FOG:
                break;
            case GUI_EVENT:
                EmitterController.getInstance();
                String string = ListChooser.chooseEnum(GuiEventType.class);
                GuiEventManager.trigger(new EnumMaster<GuiEventType>().retrieveEnumConst(GuiEventType.class, string), null);
                break;
            case SFX_PLAY_LAST:
                EmitterController.getInstance();
                GuiEventManager.trigger(GuiEventType.SFX_PLAY_LAST, null);
                break;
            case SFX_ADD:
                EmitterController.getInstance();
                GuiEventManager.trigger(GuiEventType.CREATE_EMITTER, null);
                break;
            case SFX_ADD_RANDOM:
                EmitterController.getInstance().getInstance();
                GuiEventManager.trigger(GuiEventType.CREATE_EMITTER, true);
                break;
            case SFX_MODIFY:
                EmitterController.getInstance().modify();
                break;
            case SFX_SET:
                EmitterController.getInstance().setForActive();
                break;
            case SFX_SAVE:
                EmitterController.getInstance().save();
                break;
        }
    } catch (Exception e) {
        main.system.ExceptionMaster.printStackTrace(e);
    } finally {
        debugFunctionRunning = false;
    }
    if (isResetRequired(func))
        reset();
    if (transmitted) {
    // String transmittedData = lastType + StringMaster.NET_DATA_SEPARATOR + infoObj
    // + StringMaster.NET_DATA_SEPARATOR + data + StringMaster.NET_DATA_SEPARATOR
    // + ref;
    // game.getCommunicator().transmitDebugFunction(func, transmittedData);
    }
    return func;
}
Also used : DC_HeroItemObj(eidolons.entity.item.DC_HeroItemObj) ListChooser(main.swing.generic.components.editors.lists.ListChooser) Unit(eidolons.entity.obj.unit.Unit) Conditions(main.elements.conditions.Conditions) AddBuffEffect(eidolons.ability.effects.attachment.AddBuffEffect) Formula(main.system.math.Formula) DC_Cell(eidolons.entity.obj.DC_Cell) DC_SpellObj(eidolons.entity.active.DC_SpellObj) ArenaBattleMaster(eidolons.game.battlecraft.logic.battle.arena.ArenaBattleMaster) ModifyPropertyEffect(eidolons.ability.effects.common.ModifyPropertyEffect) GuiEventType(main.system.GuiEventType) DC_TYPE(main.content.DC_TYPE) PROPERTY(main.content.values.properties.PROPERTY) WAIT_OPERATIONS(main.system.threading.WaitMaster.WAIT_OPERATIONS) Coordinates(main.game.bf.Coordinates) SelectiveTargeting(main.elements.targeting.SelectiveTargeting) Wave(eidolons.game.battlecraft.logic.battle.arena.Wave) Ref(main.entity.Ref) ObjType(main.entity.type.ObjType) EnumMaster(main.system.auxiliary.EnumMaster) LOG_CHANNEL(main.system.auxiliary.log.LogMaster.LOG_CHANNEL) OwnershipChangeEffect(main.ability.effects.common.OwnershipChangeEffect) File(java.io.File)

Aggregations

SelectiveTargeting (main.elements.targeting.SelectiveTargeting)11 Unit (eidolons.entity.obj.unit.Unit)5 Conditions (main.elements.conditions.Conditions)5 Ref (main.entity.Ref)5 DC_ActiveObj (eidolons.entity.active.DC_ActiveObj)4 Targeting (main.elements.targeting.Targeting)4 DC_SpellObj (eidolons.entity.active.DC_SpellObj)3 DC_HeroItemObj (eidolons.entity.item.DC_HeroItemObj)3 DC_Obj (eidolons.entity.obj.DC_Obj)3 ActiveObj (main.entity.obj.ActiveObj)3 Obj (main.entity.obj.Obj)3 TemplateSelectiveTargeting (eidolons.ability.targeting.TemplateSelectiveTargeting)2 DC_QuickItemObj (eidolons.entity.item.DC_QuickItemObj)2 DistanceCondition (main.elements.conditions.DistanceCondition)2 FixedTargeting (main.elements.targeting.FixedTargeting)2 MultiTargeting (main.elements.targeting.MultiTargeting)2 ObjType (main.entity.type.ObjType)2 Coordinates (main.game.bf.Coordinates)2 Formula (main.system.math.Formula)2 FacingCondition (eidolons.ability.conditions.FacingCondition)1