public void render() {
		Main.m.modeler.clearRGBAOffset();
		if (doesDash && attacking && dashCharge == -1) {
			forward = attackForward;
			double savex = posX;
			double savey = posY;
			for (int i = 0; i < dashEffect.size(); i++) {
				Double[] ghost = dashEffect.get(i);
				posX = ghost[0];
				posY = ghost[1];
				Main.m.modeler.setNegRGBAOffset(new float[] { 0, 0, 0, .5f + .5f * (float) (dashEffect.size() - i / 2) / dashEffect.size() });
				super.render();
			}
			posX = savex;
			posY = savey;
		}

		if (doesDash && dashCharge != -1) {
			boolean red = dashCharge % 10 >= 5;
			Main.m.modeler.setNegRGBAOffset(new float[] { 0, red ? 1 : 0, red ? 1 : 0, 0 });
		}
		super.render();
		Main.m.modeler.clearRGBAOffset();
	}