private void continuePass(GameState state, int result, boolean execute) throws IllegalActionException {
		
		state.setAwaitReroll(false);
		
		Player passer = state.getCurrentPass().getPasser();
		Player catcher = state.getCurrentPass().getCatcher();
		int success = state.getCurrentPass().getSuccess();
		
		PassRange range = passingRange(state, passer, catcher);
		String rangeStr = range.getName();
		char[] stringArray = rangeStr.toCharArray();
		stringArray[0] = Character.toUpperCase(stringArray[0]);
		rangeStr = new String(stringArray);
		
		if (result >= success){
			
			state.getPitch().getBall().setSquare(catcher.getPosition());
			state.getCurrentPass().setAccurate(true);
			CatchProcess.getInstance().run(state, null, null);
			
			return;
			
		} else {
			
			if (passer.getSkills().contains(Skill.PASS)){
				 
				DiceRoll roll = new DiceRoll();
				roll.addDice(new D6());
				state.setCurrentDiceRoll(roll);
				state.getCurrentDiceRoll().getDices().get(0).roll();
				result = state.getCurrentDiceRoll().getDices().get(0).getResultAsInt();
				state.setCurrentPass(new Pass(passer, catcher, success));
				
				if (result >= success){
					
					Square newSquare = catcher.getPosition();
					state.getPitch().getBall().setSquare(newSquare);
					state.getCurrentPass().setAccurate(true);
					CatchProcess.getInstance().run(state, null, null);
					
					return;
					
				}
				
			} else if (!execute && state.isAbleToReroll(state.owner(passer))){
				
				// Prepare for reroll usage
				state.setCurrentPass(new Pass(passer, catcher, success));
				state.setAwaitReroll(true);
				return;
				
			}
			
		}
		
		// FAIL
		if (result == 1){
			// Fumble
			ScatterBallProcess.getInstance().run(state, null, null);
			EndTurnProcess.getInstance().run(state, null, null);
			
		} else {
			state.getCurrentPass().setAccurate(false);
			state.getPitch().getBall().setSquare(catcher.getPosition());
			ScatterPassProcess.getInstance().run(state, null, null);
			if (state.getPitch().getBall().isUnderControl() && state.getPitch().getBall().getSquare() != null){
				Player ballCarrier = state.getPitch().getPlayerAt(state.getPitch().getBall().getSquare());
				if (state.owner(ballCarrier) != state.owner(passer))
					EndTurnProcess.getInstance().run(state, null, null);
			} else {
				EndTurnProcess.getInstance().run(state, null, null);
			}
		}
		
	}