Skip to content

Commit

Permalink
Replaced "Damage per second (including reload)" with damage per secon…
Browse files Browse the repository at this point in the history
…d, as (previously implemented) damage per second sustained is a much more accurate version of the former.
  • Loading branch information
Jacusaurus committed Nov 30, 2020
1 parent cb934cd commit 6cfab5a
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,9 @@ private void updateWeapon() {

protected void updateTextViews() {
double dpsSustained = Math.round(mWeapon.getDPSSustained() * 100.0) / 100.0;
double dps = Math.round(mWeapon.getDamagePerSecond() * 100.0) / 100.0;
mTextViewDPSSustained.setText(String.valueOf(dpsSustained));
mTextViewDamagePerSecond.setText(String.valueOf(mWeapon.getDamagePerSecond()));
mTextViewDamagePerSecond.setText(String.valueOf(dps));
mTextViewTimeToEmptyMagazine.setText(String.valueOf(mWeapon.getTimeToEmptyMagazine()));
mTextViewDamagePerMagazine.setText(String.valueOf(mWeapon.getDamagePerMagazine()));
mTextViewTimeSpentReloading.setText(String.valueOf(mWeapon.getTimeSpentReloading()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,25 +97,10 @@ public float getTimeToEmptyMagazine() {
}

/**
* @return damage per second (over a 60 second period)
* @return damage per second
*/
public int getDamagePerSecond () {
float fireAndReloadTime = getTimeToEmptyMagazine() + mReloadTime;
if (getTimeToEmptyMagazine() <= 0 || mReloadTime <= 0) {
return 0;
}
float numberOfFullCycles = DAMAGE_PERIOD / fireAndReloadTime;

// Get numbers after the decimal point : unfinishedCycle
double unfinishedCyclePercentage = numberOfFullCycles - Math.floor(numberOfFullCycles);

// At which point in the cycle the reloading starts
double cycleReloadStart = getTimeToEmptyMagazine() / fireAndReloadTime;

// Min value because we do not want the time spent reloading at the end to matter
double unfinishedCycle = Math.min(unfinishedCyclePercentage, cycleReloadStart);

return (int)((numberOfFullCycles + unfinishedCycle) * getDamagePerMagazine()) / DAMAGE_PERIOD;
public float getDamagePerSecond () {
return mDamage * mFireRate;
}

public int getTimeSpentReloading() {
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="3"
android:labelFor="@id/textViewDamagePerSecond"
android:labelFor="@id/textViewDamagePerSecondSustained"
android:text="@string/damage_per_second_sustained" />

<TextView
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/values-fr/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<string name="magazine_size">Taille du chargeur</string>
<string name="shots_to_break">Tirs avant casse</string>
<string name="time_to_empty_magazine">Temps pour vider le chargeur (en secondes)</string>
<string name="damage_per_second">Dégâts par seconde (rechargement inclus)</string>
<string name="damage_per_second">Dégâts par seconde</string>
<string name="damage_per_magazine">Dégâts par chargeur</string>
<string name="time_spent_shooting">Temps passé à tirer (en %)</string>
<string name="time_spent_reloading">Temps passé à recharger (en %)</string>
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<string name="magazine_size">Magazine size</string>
<string name="shots_to_break">Shots to break</string>
<string name="time_to_empty_magazine">Time to empty magazine (in seconds)</string>
<string name="damage_per_second">Damage per second (reload included)</string>
<string name="damage_per_second">Damage per second</string>
<string name="damage_per_magazine">Damage per magazine</string>
<string name="time_spent_shooting">Percentage of time spent shooting</string>
<string name="time_spent_reloading">Percentage of time spent reloading</string>
Expand Down

0 comments on commit 6cfab5a

Please sign in to comment.