diff --git a/Cargo.lock b/Cargo.lock index 457cec0..c13a22a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -839,7 +839,7 @@ dependencies = [ [[package]] name = "oracle_engine" -version = "8.2.0" +version = "8.2.5" dependencies = [ "built", "console_error_panic_hook", diff --git a/Cargo.toml b/Cargo.toml index 03bd590..e3cd606 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "oracle_engine" edition = "2021" -version = "8.2.0" +version = "8.2.5" rust-version = "1.65" repository = "https://github.com/d2foundry/oracle_engine/" build = "build.rs" diff --git a/build_resources/cached_build.ron b/build_resources/cached_build.ron index 023c7da..99d53e9 100644 --- a/build_resources/cached_build.ron +++ b/build_resources/cached_build.ron @@ -1,5 +1,5 @@ ( - last_manifest_version: "231697.25.02.19.2000-2-bnet.58583", + last_manifest_version: "232730.25.04.02.2001-2-bnet.59085", dim_perk_mappings: [ (23371658, 2551157718), (64332393, 2428997981), @@ -497,6 +497,7 @@ 485640313694577333: 1736988848, 493023904928987938: 1712898526, 531962313230060982: 1730590632, + 544872376661133636: 1743385036, 592777914046834360: 1680496635, 607066149012376452: 1712942748, 729727116400300520: 1710479452, @@ -543,6 +544,7 @@ 3138242711524099245: 1712954145, 3139500059912092432: 1712954145, 3186246771228159269: 1738697919, + 3390508203598542589: 1743384461, 3634363343471877770: 1736987995, 3656318235229422293: 1684379160, 3986689097416667537: 1680496635, @@ -771,7 +773,6 @@ 17115307512459561417: 1711327049, 17200727046280595283: 1730590632, 17283189678931478183: 1684377413, - 17312898679998679286: 1736988639, 17510475912938301460: 1680496635, 17549300852572264387: 1684295508, 17557903845863085098: 1684377413, diff --git a/build_resources/weapon_formulas.json b/build_resources/weapon_formulas.json index 7772ef3..5ecbd13 100644 --- a/build_resources/weapon_formulas.json +++ b/build_resources/weapon_formulas.json @@ -259,7 +259,7 @@ "Jotunn": {"damage": 326.0, "crit_mult": -25.5, "pve_damage": 348.82, "pve_crit_mult": -25.5, "burst_delay": 24.5, "burst_size": 1, "inner_burst_delay": 0 }, "Bastion": {"damage": 31.231, "crit_mult": -25.5, "pve_damage": 27.745, "pve_crit_mult": -25.5, "burst_delay": 22, "burst_size": 21,"inner_burst_delay": 0, "one_ammo": true}, "Vex": {"damage": 21.923, "crit_mult": 5, "pve_damage": 23.54, "pve_crit_mult": 5, "burst_delay": 5, "burst_size": 1, "inner_burst_delay": 0 }, - "1KV": {"damage": 0, "crit_mult": -25.5, "pve_damage": 0, "pve_crit_mult": -25.5, "burst_delay": 0, "burst_size": 0, "inner_burst_delay": 0 }, + "1KV": {"damage": 0, "crit_mult": -25.5, "pve_damage": 0, "pve_crit_mult": -25.5, "burst_delay": 30, "burst_size": 0, "inner_burst_delay": 0 }, "zero": {"damage": 0, "crit_mult": 0, "pve_damage": 0, "pve_crit_mult": 0, "burst_delay": 0, "burst_size": 0, "inner_burst_delay": 0 } }, "magProf": { @@ -717,7 +717,7 @@ "High-Impact": {"damage": 21.496, "crit_mult": 15, "pve_damage": 26.4, "pve_crit_mult": 5, "burst_delay": 12, "burst_size": 3, "inner_burst_delay": 2}, "Rapid-Fire": {"damage": 14.504, "crit_mult": 20, "pve_damage": 16.80, "pve_crit_mult": 10, "burst_delay": 6, "burst_size": 3, "inner_burst_delay": 2}, "Adaptive": {"damage": 21.996, "crit_mult": 8, "pve_damage": 22.812, "pve_crit_mult": 8, "burst_delay": 10, "burst_size": 3, "inner_burst_delay": 2}, - "Lightweight": {"damage": 20.406, "crit_mult": 3, "pve_damage": 19.2, "pve_crit_mult": 8, "burst_delay": 8, "burst_size": 3, "inner_burst_delay": 2}, + "Lightweight": {"damage": 19.7, "crit_mult": 5, "pve_damage": 19.2, "pve_crit_mult": 8, "burst_delay": 8, "burst_size": 3, "inner_burst_delay": 2}, "VigilanceWing": {"damage": 15.972, "crit_mult": 8, "pve_damage": 18.9, "pve_crit_mult": -2, "burst_delay": 9, "burst_size": 5, "inner_burst_delay": 2}, "GravitonLance": {"damage": 19.555, "crit_mult": 18, "pve_damage": 19.018, "pve_crit_mult": 8, "burst_delay": 10, "burst_size": 2, "inner_burst_delay": 2}, "HeavyBurst": {"damage": 22.996, "crit_mult": 18, "pve_damage": 18.786, "pve_crit_mult": 16.728, "burst_delay": 9, "burst_size": 2, "inner_burst_delay": 2}, diff --git a/src/perks/year_6_perks.rs b/src/perks/year_6_perks.rs index b36eee8..40caec0 100644 --- a/src/perks/year_6_perks.rs +++ b/src/perks/year_6_perks.rs @@ -550,8 +550,8 @@ pub fn year_6_perks() { (_, 0) => 1.0, (false, 1..=3) => 1.05 + (0.1 * _input.value as f64), (false, 4..) => 1.5, - (true, 1 | 2) => 1.2, - (true, 3..) => 1.35, + (true, 1 | 2) => 1.15, + (true, 3..) => 1.5, }; DamageModifierResponse { impact_dmg_scale: buff, diff --git a/src/perks/year_7_perks.rs b/src/perks/year_7_perks.rs index 2c39951..1469ccb 100644 --- a/src/perks/year_7_perks.rs +++ b/src/perks/year_7_perks.rs @@ -79,11 +79,11 @@ pub fn year_7_perks() { if _input.value > 0 { stats.insert( StatHashes::AIRBORNE.into(), - (10 + 2 * enhance_buff) * _input.value as i32, + (15 + 2 * enhance_buff) * _input.value as i32, ); stats.insert( StatHashes::AIM_ASSIST.into(), - (10 + enhance_buff) * _input.value as i32, + (5 + enhance_buff) * _input.value as i32, ); } stats @@ -108,9 +108,15 @@ pub fn year_7_perks() { Perks::ClosingTime, Box::new(|_input: ModifierResponseInput| -> HashMap { let mut stats = HashMap::new(); + let mut range = 10.0 * _input.value as f64; + let mut handling = (20.0 * _input.value as f64) + 10.0; + if *_input.calc_data.ammo_type == AmmoType::SPECIAL { + range /= 2.0; + handling /= 2.0; + } if _input.value > 0 { - stats.insert(StatHashes::RANGE.into(), 10 * _input.value as i32); - stats.insert(StatHashes::HANDLING.into(), (20 * _input.value as i32) + 10); + stats.insert(StatHashes::RANGE.into(), range.ceil() as i32); + stats.insert(StatHashes::HANDLING.into(), handling.ceil() as i32); } stats }), @@ -122,11 +128,17 @@ pub fn year_7_perks() { if _input.value == 0 { HandlingModifierResponse::default(); } + let mut scalar = 1.0 - (0.1 * _input.value as f64); + let mut stat = 25.0 * _input.value as f64; + if *_input.calc_data.ammo_type == AmmoType::SPECIAL { + scalar = 1.0 - (0.05 * _input.value as f64); + stat /= 2.0; + } HandlingModifierResponse { - stat_add: 25 * _input.value as i32, - stow_scale: 1.0 - (0.1 * _input.value as f64), - draw_scale: 1.0 - (0.1 * _input.value as f64), - ads_scale: 1.0 - (0.1 * _input.value as f64), + stat_add: stat.ceil() as i32, + stow_scale: scalar, + draw_scale: scalar, + ads_scale: scalar, ..Default::default() } }, @@ -138,8 +150,12 @@ pub fn year_7_perks() { if _input.value == 0 { RangeModifierResponse::default(); } + let mut stat = 25.0 * _input.value as f64; + if *_input.calc_data.ammo_type == AmmoType::SPECIAL { + stat /= 2.0; + } RangeModifierResponse { - range_stat_add: 25 * _input.value as i32, + range_stat_add: stat.ceil() as i32, ..Default::default() } }),