Beispiel #1
0
        public static CellData buildCellType(ObjectJSON cellType)
        {
            CellData output = new CellData();

            output.id               = cellType.getString("id");
            output.name             = cellType.getString("name");
            output.modelPath        = cellType.getString("modelPath");
            output.blockMovement    = cellType.getBool("blockMovement");
            output.blockLineOfSight = cellType.getBool("blockLineOfSight");
            return(output);
        }
Beispiel #2
0
        public static EffectBuff buildEffectBuff(ObjectJSON effect)
        {
            EffectBuff output = new EffectBuff();

            output.affectAlly         = effect.getBool("affectAlly");
            output.affectEnemy        = effect.getBool("affectEnemy");
            output.affectSelf         = effect.getBool("affectSelf");
            output.affectCell         = effect.getBool("affectCell");
            output.minArea            = effect.getInt("minArea", 0);
            output.maxArea            = effect.getInt("maxArea", 0);
            output.areaType           = SpellData.stringToRangeAreaType(effect.getString("areaType", ""));
            output.onGainedHandler    = buildEffectHandler(effect.getObjectJSON("onGainedHandler"));
            output.onLostHandler      = buildEffectHandler(effect.getObjectJSON("onLostHandler"));
            output.onDamageHandler    = buildEffectHandler(effect.getObjectJSON("onDamageHandler"));
            output.onHealHandler      = buildEffectHandler(effect.getObjectJSON("onHealHandler"));
            output.onSpellHandler     = buildEffectHandler(effect.getObjectJSON("onSpellHandler"));
            output.onBuffedHandler    = buildEffectHandler(effect.getObjectJSON("onBuffedHandler"));
            output.onEnterHandler     = buildEffectHandler(effect.getObjectJSON("onEnterHandler"));
            output.onLeaveHandler     = buildEffectHandler(effect.getObjectJSON("onLeaveHandler"));
            output.onTurnStartHandler = buildEffectHandler(effect.getObjectJSON("onTurnStartHandler"));
            output.onTurnEndHandler   = buildEffectHandler(effect.getObjectJSON("onTurnEndHandler"));
            output.conditions         = buildEffectConditions(effect.getArrayJSON("conditions"));
            return(output);
        }
Beispiel #3
0
        public static EffectCondition buildEffectCondition(ObjectJSON condition)
        {
            EffectCondition output;

            if (condition != null && condition.containsValue("class"))   // should always contain it
            {
                string className = condition.getString("class");
                if (className == "EffectConditionTurnNumberAbove")
                {
                    output = new EffectConditionTurnNumberAbove();
                    ((EffectConditionTurnNumberAbove)output).turnNumber = condition.getInt("turnNumber");
                }
                else if (className == "EffectConditionTurnNumberBelow")
                {
                    output = new EffectConditionTurnNumberBelow();
                    ((EffectConditionTurnNumberBelow)output).turnNumber = condition.getInt("turnNumber");
                }
                else if (className == "EffectConditionHealthAbove")
                {
                    output = new EffectConditionHealthAbove();
                    ((EffectConditionHealthAbove)output).target  = EffectConditionTarget.stringToConditionTarget(condition.getString("target"));
                    ((EffectConditionHealthAbove)output).health  = condition.getInt("health");
                    ((EffectConditionHealthAbove)output).percent = condition.getBool("percent");
                }
                else if (className == "EffectConditionHealthBelow")
                {
                    output = new EffectConditionHealthBelow();
                    ((EffectConditionHealthBelow)output).target  = EffectConditionTarget.stringToConditionTarget(condition.getString("target"));
                    ((EffectConditionHealthBelow)output).health  = condition.getInt("health");
                    ((EffectConditionHealthBelow)output).percent = condition.getBool("percent");
                }
                else if (className == "EffectConditionAPAbove")
                {
                    output = new EffectConditionAPAbove();
                    ((EffectConditionAPAbove)output).target  = EffectConditionTarget.stringToConditionTarget(condition.getString("target"));
                    ((EffectConditionAPAbove)output).AP      = condition.getInt("AP");
                    ((EffectConditionAPAbove)output).percent = condition.getBool("percent");
                }
                else if (className == "EffectConditionAPBelow")
                {
                    output = new EffectConditionAPBelow();
                    ((EffectConditionAPBelow)output).target  = EffectConditionTarget.stringToConditionTarget(condition.getString("target"));
                    ((EffectConditionAPBelow)output).AP      = condition.getInt("AP");
                    ((EffectConditionAPBelow)output).percent = condition.getBool("percent");
                }
                else if (className == "EffectConditionMPAbove")
                {
                    output = new EffectConditionMPAbove();
                    ((EffectConditionMPAbove)output).target  = EffectConditionTarget.stringToConditionTarget(condition.getString("target"));
                    ((EffectConditionMPAbove)output).MP      = condition.getInt("MP");
                    ((EffectConditionMPAbove)output).percent = condition.getBool("percent");
                }
                else if (className == "EffectConditionMPBelow")
                {
                    output = new EffectConditionMPBelow();
                    ((EffectConditionMPBelow)output).target  = EffectConditionTarget.stringToConditionTarget(condition.getString("target"));
                    ((EffectConditionMPBelow)output).MP      = condition.getInt("MP");
                    ((EffectConditionMPBelow)output).percent = condition.getBool("percent");
                }
                else if (className == "EffectConditionHasBuff")
                {
                    output = new EffectConditionHasBuff();
                    ((EffectConditionHasBuff)output).target = EffectConditionTarget.stringToConditionTarget(condition.getString("target"));
                    ((EffectConditionHasBuff)output).buffId = condition.getString("buffId");
                }
                else if (className == "EffectConditionHasNotBuff")
                {
                    output = new EffectConditionHasNotBuff();
                    ((EffectConditionHasNotBuff)output).target = EffectConditionTarget.stringToConditionTarget(condition.getString("target"));
                    ((EffectConditionHasNotBuff)output).buffId = condition.getString("buffId");
                }
                else
                {
                    output = null;
                }
                return(output);
            }
            else
            {
                return(null);
            }
        }