35 Color flame =
new Color(255, 100, 100, 255);
36 Color core =
new Color(255, 255, 255, 255);
78 float soundVolume =
engineGlow.getLengthMult().getCurr() * 0.5f;
79 if (soundVolume > 0.5f) soundVolume = 0.5f;
84 float f = remaining/1f;
87 engineGlow.getFlickerRateMult().shift(
this, 1f + 25f * f, 0f, 0.1f, 1f);
88 engineGlow.getFlickerMult().shift(
this, f, 0f, 0.1f, 1f);
93 float angleDiff = Misc.getAngleDiff(
movement.getDesiredFacing(),
entity.getFacing());
95 Vector2f dir = Misc.getUnitVectorAtDegreeAngle(
movement.getDesiredFacing());
96 float speedInDesiredDir = Vector2f.dot(dir,
entity.getVelocity());
97 if (
movement.isFaceInOppositeDirection()) {
98 speedInDesiredDir *= -1f;
100 float speed =
entity.getVelocity().length();
102 if (speedInDesiredDir > 10f && speedInDesiredDir > speed * 0.7f) {
103 float speedForMaxEngineLength = 100f;
104 float f = speedInDesiredDir / speedForMaxEngineLength;
108 soundVolume = Math.min(soundVolume + f * 0.5f, 1f);
112 float flickerZone = 0.5f;
113 if (f < flickerZone) {
114 engineGlow.getFlickerRateMult().shift(
this, 5f, 0f, 0.1f, 1f);
115 engineGlow.getFlickerMult().shift(
this, 0.33f - 0.33f * f / flickerZone, 0f, 0.1f, 1f);
118 engineGlow.getGlowMult().shift(
this, 2f, 1f, 1f, f);
119 engineGlow.getLengthMult().shift(
this, 5f, 1f, 1f, f);
120 engineGlow.getWidthMult().shift(
this, 3f, 1f, 1f, f);
127 if (soundVolume > 0) {
128 if (
entity.isInCurrentLocation() &&
entity.isVisibleToPlayerFleet()) {