Skip to content

chore: Removed underscores and boxing of perk functions #104

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from
4 changes: 1 addition & 3 deletions src/abilities/mod.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[derive(Default)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
pub enum AbilityType {
GRENADE,
MELEE,
Expand All @@ -14,7 +13,6 @@ pub enum AbilityType {
UNKNOWN,
}


#[derive(Debug, Clone, Default)]
pub struct AbilityDamageProfile {
impact: f64,
Expand Down
49 changes: 16 additions & 33 deletions src/activity/damage_calc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ pub struct DifficultyData {

const WEAPON_DELTA_EXPONENT: f64 = 0.00672;

#[derive(Debug, Clone)]
#[derive(Default)]
#[derive(Debug, Clone, Default)]
pub enum DifficultyOptions {
#[default]
NORMAL = 1,
Expand Down Expand Up @@ -93,14 +92,14 @@ impl From<i32> for DifficultyOptions {
}
}

pub(super) fn rpl_mult(_rpl: f64) -> f64 {
(1.0 + ((1.0 / 30.0) * _rpl)) / (4.0 / 3.0)
pub(super) fn rpl_mult(rpl: f64) -> f64 {
(1.0 + ((1.0 / 30.0) * rpl)) / (4.0 / 3.0)
}

pub(super) fn get_gear_delta_mult(_activity: &Activity) -> f64 {
let difficulty_data: DifficultyData = _activity.difficulty.get_difficulty_data();
pub(super) fn get_gear_delta_mult(activity: &Activity) -> f64 {
let difficulty_data: DifficultyData = activity.difficulty.get_difficulty_data();

let epl = _activity.player.power as i32 - _activity.rpl as i32;
let epl = activity.player.power as i32 - activity.rpl as i32;

if epl < -99 {
return 0.0;
Expand All @@ -120,16 +119,16 @@ pub(super) fn get_gear_delta_mult(_activity: &Activity) -> f64 {
gear_delta_mult
}

pub(super) fn get_wep_delta_mult(_activity: &Activity) -> f64 {
let difficulty_data: DifficultyData = _activity.difficulty.get_difficulty_data();
pub(super) fn get_wep_delta_mult(activity: &Activity) -> f64 {
let difficulty_data: DifficultyData = activity.difficulty.get_difficulty_data();

let cap = if _activity.cap < difficulty_data.cap {
_activity.cap
let cap = if activity.cap < difficulty_data.cap {
activity.cap
} else {
difficulty_data.cap
};

let epl = (_activity.player.wep_power as i32 - _activity.rpl as i32).clamp(-100, cap);
let epl = (activity.player.wep_power as i32 - activity.rpl as i32).clamp(-100, cap);

if epl < -99 {
return 0.0;
Expand All @@ -150,25 +149,9 @@ pub(super) fn get_wep_delta_mult(_activity: &Activity) -> f64 {
wep_delta_mult
}

// add_remove_pve_bonuses(
// _rpl: f64,
// _pl: u32,
// _combatant_mult: f64,
// _difficulty: DifficultyOptions,
// _damage: f64,
// ) -> f64 {
// let rpl_mult = rpl_mult(_rpl);
// let mut tmp_activity = Activity::default();
// tmp_activity.difficulty = _difficulty;
// tmp_activity.rpl = _rpl as u32;
// let gpl_delta = gpl_delta(tmp_activity, _pl);

// _damage / (gpl_delta * rpl_mult * _combatant_mult)
// }

pub fn remove_pve_bonuses(_damage: f64, _combatant_mult: f64, _activity: &Activity) -> f64 {
let rpl_mult = rpl_mult(_activity.rpl as f64);
let gpl_delta = get_gear_delta_mult(_activity);

_damage / (gpl_delta * rpl_mult * _combatant_mult)
pub fn remove_pve_bonuses(damage: f64, combatant_mult: f64, activity: &Activity) -> f64 {
let rpl_mult = rpl_mult(activity.rpl as f64);
let gpl_delta = get_gear_delta_mult(activity);

damage / (gpl_delta * rpl_mult * combatant_mult)
}
8 changes: 3 additions & 5 deletions src/activity/mod.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
use self::damage_calc::{get_gear_delta_mult, rpl_mult, DifficultyOptions, get_wep_delta_mult};
use self::damage_calc::{get_gear_delta_mult, get_wep_delta_mult, rpl_mult, DifficultyOptions};

pub mod damage_calc;

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[derive(Default)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
pub enum PlayerClass {
#[default]
Unknown = 0,
Expand All @@ -12,7 +11,6 @@ pub enum PlayerClass {
Warlock = 3,
}


#[derive(Debug, Clone, Default)]
pub struct Player {
pub power: u32,
Expand Down Expand Up @@ -46,7 +44,7 @@ impl Default for Activity {
}
impl Activity {
pub fn get_pl_delta(&self) -> f64 {
get_gear_delta_mult(self)*get_wep_delta_mult(self)
get_gear_delta_mult(self) * get_wep_delta_mult(self)
}
pub fn get_rpl_mult(&self) -> f64 {
rpl_mult(self.rpl as f64)
Expand Down
4 changes: 2 additions & 2 deletions src/d2_enums.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ pub enum AmmoType {
UNKNOWN = 0,
}
impl From<u32> for AmmoType {
fn from(_value: u32) -> AmmoType {
match _value {
fn from(value: u32) -> AmmoType {
match value {
1 => AmmoType::PRIMARY,
2 => AmmoType::SPECIAL,
3 => AmmoType::HEAVY,
Expand Down
6 changes: 2 additions & 4 deletions src/enemies/mod.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
use crate::activity::Activity;

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[derive(Default)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
pub enum EnemyType {
MINOR,
ELITE,
Expand All @@ -14,7 +13,6 @@ pub enum EnemyType {
CHAMPION,
}


#[derive(Debug, Clone, Default)]
pub struct Enemy {
pub health: f64,
Expand All @@ -24,7 +22,7 @@ pub struct Enemy {
pub tier: u8,
}
impl Enemy {
pub fn get_adjusted_health(&self, _activity: Activity) -> f64 {
pub fn get_adjusted_health(&self, _: Activity) -> f64 {
self.health * (1.0 - self.damage_resistance)
}
}
Loading
Loading