dofus_dmg_calculator/
lib.rs1pub fn compute_dmg_estimation(
2 base_damage: u64,
3 fixed_damage: u64,
4 stat_points: u64,
5 power: u64,
6) -> u64 {
7 let multiplier = 1.0 + (stat_points + power) as f64 / 100.0;
8 let total = base_damage as f64 * multiplier + fixed_damage as f64;
9 total.floor() as u64
10}
11
12#[cfg(test)]
13mod tests {
14 use super::*;
15
16 #[test]
17 fn it_computes_dmg_estimation_with_null_values() {
18 let expected = 0;
19 let actual = compute_dmg_estimation(0, 0, 0, 0);
20 assert_eq!(actual, expected);
21 }
22
23 #[test]
24 fn it_computes_dmg_estimation_with_positive_values() {
25 let expected = 56;
26 let actual = compute_dmg_estimation(9, 34, 128, 23);
27 assert_eq!(actual, expected);
28 }
29}