new public static QuickSpellAction fromJSON(ObjectJSON json) { QuickSpellAction output = new QuickSpellAction(); output.entityId = json.getInt("entityId"); output.spellId = json.getString("spellId"); output.targetCellId = json.getInt("targetCellId"); return(output); }
public static MapData buildMap(ObjectJSON map) { MapData output = new MapData(); output.id = map.getString("id"); output.name = map.getString("name"); output.width = map.getInt("width"); output.height = map.getInt("height"); output.cells = buildMapCells(map.getArrayJSON("cells")); output.spawns = buildMapSpawns(map.getArrayJSON("spawns")); output.buildCellDataIdList(); return(output); }
new public static MovementAction fromJSON(ObjectJSON json) { MovementAction output = new MovementAction(); output.entityId = json.getInt("entityId"); ArrayJSON path = json.getArrayJSON("path"); output.path = new int[path.Length]; for (int i = 0; i < path.Length; i++) { output.path[i] = path.getIntAt(i); } return(output); }
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); }
public static EffectHandler buildEffectHandler(ObjectJSON effectHandler) { EffectHandler output; if (effectHandler != null && effectHandler.containsValue("class")) // should always contain it { string className = effectHandler.getString("class"); if (className == "EffectHandlerDirectDamage") { output = new EffectHandlerDirectDamage(); ((EffectHandlerDirectDamage)output).damage = effectHandler.getInt("damage"); } else if (className == "EffectHandlerIndirectDamage") { output = new EffectHandlerIndirectDamage(); ((EffectHandlerIndirectDamage)output).damage = effectHandler.getInt("damage"); } else if (className == "EffectHandlerHeal") { output = new EffectHandlerHeal(); ((EffectHandlerHeal)output).heal = effectHandler.getInt("heal"); } else if (className == "EffectHandlerBuff") { output = new EffectHandlerBuff(); ((EffectHandlerBuff)output).buffId = effectHandler.getString("buffId"); ((EffectHandlerBuff)output).duration = effectHandler.getInt("duration"); } else if (className == "EffectHandlerModMP") { output = new EffectHandlerModMP(); ((EffectHandlerModMP)output).MP = effectHandler.getInt("MP"); ((EffectHandlerModMP)output).direction = effectHandler.getInt("direction"); } else if (className == "EffectHandlerModAP") { output = new EffectHandlerModAP(); ((EffectHandlerModAP)output).AP = effectHandler.getInt("AP"); ((EffectHandlerModAP)output).direction = effectHandler.getInt("direction"); } else if (className == "EffectHandlerModRange") { output = new EffectHandlerModRange(); ((EffectHandlerModRange)output).range = effectHandler.getInt("range"); } else if (className == "EffectHandlerStun") { output = new EffectHandlerStun(); } else if (className == "EffectHandlerUnstun") { output = new EffectHandlerUnstun(); } else if (className == "EffectHandlerPush") { output = new EffectHandlerPush(); ((EffectHandlerPush)output).distance = effectHandler.getInt("distance"); } else if (className == "EffectHandlerPull") { output = new EffectHandlerPull(); ((EffectHandlerPull)output).distance = effectHandler.getInt("distance"); } else if (className == "EffectHandlerDash") { output = new EffectHandlerDash(); } else if (className == "EffectHandlerWarp") { output = new EffectHandlerWarp(); } else { output = null; } return(output); } else { return(null); } }
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); } }