static int statusAndDir(Hockeyist hockeyist, World world, Game game,  int swingStart, int swingCt, int kdStart, int kdCount) {
        int nr = direction(hockeyist.getAngle());
        if (hockeyist.getState() == HockeyistState.SWINGING) {
            nr = nr + (swingStart + (swingCt * hockeyist.getSwingTicks() / game.getMaxEffectiveSwingTicks()))*8;
        }
        else if (hockeyist.getState() == HockeyistState.KNOCKED_DOWN) {
            nr = -(kdStart + (kdCount - Math.abs(hockeyist.getRemainingKnockdownTicks() - 20)*kdCount/20));
        }
        else if ((hockeyist.getLastAction() == ActionType.STRIKE) && world.getTick() - hockeyist.getLastActionTick() < 20) {
            nr = nr + 8*(swingStart + swingCt-1);
        }
        else if (hockeyist.getState() == HockeyistState.RESTING) {
            nr = direction(hockeyist.getAngle() + hockeyist.getAngleTo(world.getPuck()));
        }
        return nr;
    }