diff --git a/Cargo.lock b/Cargo.lock index 6940f25..457cec0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -839,7 +839,7 @@ dependencies = [ [[package]] name = "oracle_engine" -version = "8.1.5" +version = "8.2.0" dependencies = [ "built", "console_error_panic_hook", diff --git a/Cargo.toml b/Cargo.toml index f213178..03bd590 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "oracle_engine" edition = "2021" -version = "8.1.5" +version = "8.2.0" 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 eb87452..3dd62f3 100644 --- a/build_resources/cached_build.ron +++ b/build_resources/cached_build.ron @@ -1,5 +1,5 @@ ( - last_manifest_version: "231142.25.01.27.1930-1-bnet.58334", + last_manifest_version: "231429.25.02.08.2000-3-bnet.58473", dim_perk_mappings: [ (23371658, 2551157718), (64332393, 2428997981), @@ -10,6 +10,7 @@ (169755979, 2848615171), (183938251, 1870851715), (191144788, 3161816588), + (222783511, 4198902903), (254337357, 1427256713), (288411554, 3425386926), (320071920, 205890336), @@ -23,6 +24,7 @@ (424370782, 968510818), (461595545, 1523832109), (494941759, 4071163871), + (496047945, 1089671869), (509594246, 2846385770), (536173722, 691659142), (561986700, 1119449540), @@ -117,6 +119,7 @@ (2562668800, 3324494224), (2570477205, 2458213969), (2617553311, 1955165503), + (2633604463, 3218042543), (2649013855, 2117683199), (2658083589, 3436462433), (2662236651, 3414324643), @@ -128,7 +131,9 @@ (2748801589, 438098033), (2785334058, 684456054), (2799030358, 2109543898), + (2813913866, 1464081238), (2817499044, 3987942396), + (2817677128, 3773585912), (2840833776, 3700496672), (2856365672, 2030760728), (2860991074, 2244851822), @@ -150,6 +155,7 @@ (3120212825, 880644845), (3143051906, 25606670), (3198323828, 3619207468), + (3244229373, 960997401), (3291427296, 1421772400), (3299896859, 3215448563), (3315935575, 591790007), @@ -162,6 +168,7 @@ (3442762221, 1556840489), (3523746922, 201365942), (3528046508, 3300816228), + (3555252274, 3713215006), (3563868667, 2284787283), (3609952942, 4152709778), (3674673997, 3800201097), @@ -176,6 +183,7 @@ (3974407819, 2866798147), (4045335048, 460017080), (4063561849, 2980589453), + (4070834277, 692399809), (4085959009, 1749209109), (4100396181, 3018146897), (4116820839, 957782887), diff --git a/src/perks/exotic_armor.rs b/src/perks/exotic_armor.rs index 0786411..2ac2a43 100644 --- a/src/perks/exotic_armor.rs +++ b/src/perks/exotic_armor.rs @@ -208,6 +208,19 @@ pub fn exotic_armor() { ), ); + add_dmr( + Perks::SealedAhamkaraGrasps, + Box::new(|_input: ModifierResponseInput| -> DamageModifierResponse { + if _input.value == 0 { + return DamageModifierResponse::default(); + } + let buff = if _input.pvp { 1.2 } else { 1.35 }; + + DamageModifierResponse::basic_dmg_buff(buff) + }), + ); + + //TODO: AUTORELOAD FOR SEALED AHAMKARA GRASPS //TODO: LUCKY PANTS AFFECTING ACCURACY CONE //LUCKY PANTS ONLY WORKS FOR READY ?!?!?! crazy :( diff --git a/src/perks/mod.rs b/src/perks/mod.rs index 7d5e03f..3f0c837 100644 --- a/src/perks/mod.rs +++ b/src/perks/mod.rs @@ -433,6 +433,10 @@ pub enum Perks { LoneWolf = 2579169598, SplicerSurge = 3404929162, + //episode 3 | year 7 + ElementalHoning = 1089671869, + TimelostMagazine = 2589407652, + //subclass OnYourMark = 3066103999, Hedrons = 3469412970, diff --git a/src/perks/perk_options_handler.rs b/src/perks/perk_options_handler.rs index 55ba099..09d7f14 100644 --- a/src/perks/perk_options_handler.rs +++ b/src/perks/perk_options_handler.rs @@ -311,6 +311,10 @@ fn hash_to_perk_option_data(_hash: u32) -> Option { Perks::LoneWolf => Some(PerkOptionData::options(["Base", "Alone"].to_vec())), Perks::SplicerSurge => Some(PerkOptionData::stacking(3)), + //episode 3 | year 7 + Perks::ElementalHoning => Some(PerkOptionData::stacking(5)), + Perks::TimelostMagazine => Some(PerkOptionData::toggle()), + //exotics Perks::CranialSpike => Some(PerkOptionData::stacking(5)), Perks::DarkForgedTrigger => Some(PerkOptionData::toggle()), diff --git a/src/perks/year_7_perks.rs b/src/perks/year_7_perks.rs index f63be83..2c39951 100644 --- a/src/perks/year_7_perks.rs +++ b/src/perks/year_7_perks.rs @@ -201,5 +201,39 @@ pub fn year_7_perks() { reload_time_scale, } }), + ); + add_dmr( + Perks::ElementalHoning, + Box::new(|_input: ModifierResponseInput| -> DamageModifierResponse { + if _input.value == 0 { + DamageModifierResponse::default(); + } + let is_kinetic = *_input.calc_data.damage_type == DamageType::KINETIC; + let value = _input.value + is_kinetic as u32; + let buff = match value { + 0 => 1.0, + 1 => 1.025, + 2 => 1.1, + 3 => 1.2, + 4 => 1.3, + 5 => 1.35, + 6.. => 1.4, + }; + DamageModifierResponse::basic_dmg_buff(buff) + }), + ); + add_mmr( + Perks::TimelostMagazine, + Box::new( + |_input: ModifierResponseInput| -> MagazineModifierResponse { + if _input.value == 0 { + return MagazineModifierResponse::default(); + } + MagazineModifierResponse { + magazine_scale: 2.0, + ..Default::default() + } + }, + ), ) }