private boolean doAttack(JSONObject action) { Champion c1 = board.getChampionById((String) action.get("actor1")); Champion c2 = board.getChampionById((String) action.get("actor2")); if (c1 != null) { if (c1.doAttack((String) action.get("attack"))) { Attack a = c1.getAttackById((String) action.get("attack")); if (a == null) { errorString = "Attack Doesn't exist!"; return false; } int damage = a.getDamage(); if (c2 != null && c2.takeDamage(damage)) { return true; } else { errorString = "Champion 2 Not Found!"; return false; } } else { errorString = "Not a valid move"; return false; } } else { errorString = "Champion Not Found!"; return false; } }