private static int singleManeuverRoll(Dice d){
		Flags rollFlags = new Flags();
		rollFlags.ManeuverFlag = true;
		d.rollDice();
		if((d.getCurrentFace() instanceof ManeuverIcon)||(d.getCurrentFace() instanceof IDIcon))
			return d.getCurrentFaceValue();
		
		else if(d.getCurrentFace() instanceof SpecialIcons){
			SpecialIcons s = (SpecialIcons) d.getCurrentFace();
			rollFlags = s.resolveEffects(rollFlags);
			if(rollFlags.addFaceValue){
				return (rollFlags.RerollFlag) ? d.getCurrentFaceValue() + singleManeuverRoll(d) : d.getCurrentFaceValue();
			}
		}
		
		return 0;
	}