Yawrate: add maximum penalty, corect use of minimum.

This commit is contained in:
asofold 2012-10-19 19:05:09 +02:00
parent fc6d15b6fe
commit c05336e3e4
4 changed files with 8 additions and 2 deletions

View File

@ -83,12 +83,14 @@ public class Combined {
if (total > threshold){
// Add time
final float amount = ((total - threshold) / threshold * 1000f);
data.timeFreeze = Math.max(data.timeFreeze, (long) Math.max(cc.yawRatePenaltyFactor * ((float) now + amount) , cc.yawRatePenaltyMin));
data.timeFreeze = Math.max(data.timeFreeze, now + (long) Math.min(Math.max(cc.yawRatePenaltyFactor * amount , cc.yawRatePenaltyMin), cc.yawRatePenaltyMax));
// TODO: balance (100 ... 200 ) ?
if (cc.yawRateImprobable && Improbable.check(player, amount / 100f, now))
cancel = true;
}
if (now < data.timeFreeze) cancel = true;
if (now < data.timeFreeze){
cancel = true;
}
return cancel;
}

View File

@ -62,6 +62,7 @@ public class CombinedConfig extends ACheckConfig {
public final boolean yawRateImprobable;
public final float yawRatePenaltyFactor;
public final int yawRatePenaltyMin;
public final int yawRatePenaltyMax;
public CombinedConfig(final ConfigFile config) {
super(config, ConfPaths.COMBINED);
@ -109,6 +110,7 @@ public class CombinedConfig extends ACheckConfig {
yawRateImprobable = config.getBoolean(ConfPaths.COMBINED_YAWRATE_IMPROBABLE);
yawRatePenaltyFactor = (float) config.getDouble(ConfPaths.COMBINED_YAWRATE_PENALTY_FACTOR);
yawRatePenaltyMin = config.getInt(ConfPaths.COMBINED_YAWRATE_PENALTY_MIN);
yawRatePenaltyMax = config.getInt(ConfPaths.COMBINED_YAWRATE_PENALTY_MAX);
}
@Override

View File

@ -321,6 +321,7 @@ public abstract class ConfPaths {
private static final String COMBINED_YAWRATE_PENALTY = COMBINED_YAWRATE + "penalty.";
public static final String COMBINED_YAWRATE_PENALTY_FACTOR = COMBINED_YAWRATE_PENALTY + "factor";
public static final String COMBINED_YAWRATE_PENALTY_MIN = COMBINED_YAWRATE_PENALTY + "minimum";
public static final String COMBINED_YAWRATE_PENALTY_MAX = COMBINED_YAWRATE_PENALTY + "maximum";
/*
* 888'Y88 ,e, 888 d8

View File

@ -247,6 +247,7 @@ public class DefaultConfig extends ConfigFile {
set(ConfPaths.COMBINED_YAWRATE_RATE , 380);
set(ConfPaths.COMBINED_YAWRATE_PENALTY_FACTOR, 1.0);
set(ConfPaths.COMBINED_YAWRATE_PENALTY_MIN, 250);
set(ConfPaths.COMBINED_YAWRATE_PENALTY_MAX, 2000);
set(ConfPaths.COMBINED_YAWRATE_IMPROBABLE, true);
/*