private void updateWaveModifiers(WaveAttender wave) { float waveHealth = wave.getWaveDefaultHealth(this.mEnemyDefaultHealth); float damagePossible = mDifficultyLinear * mScoreBoard.getCreditsEarned() + mDifficultyModifier * (float) Math.pow(mScoreBoard.getCreditsEarned(), mDifficultyExponent); float healthModifier = damagePossible / waveHealth; healthModifier = Math.max(healthModifier, mMinHealthModifier); float rewardModifier = mRewardModifier * (float) Math.pow(healthModifier, mRewardExponent); rewardModifier = Math.max(rewardModifier, mMinRewardModifier); wave.modifyEnemyHealth(healthModifier); wave.modifyEnemyReward(rewardModifier); wave.modifyWaveReward(getIterationNumber()); Log.i(TAG, String.format("waveNumber=%d", getWaveNumber())); Log.i(TAG, String.format("waveHealth=%f", waveHealth)); Log.i(TAG, String.format("creditsEarned=%d", mScoreBoard.getCreditsEarned())); Log.i(TAG, String.format("damagePossible=%f", damagePossible)); Log.i(TAG, String.format("healthModifier=%f", healthModifier)); Log.i(TAG, String.format("rewardModifier=%f", rewardModifier)); }