Skip to content

Commit 194ac85

Browse files
committed
Add Vexcalibur and Winterbite perks
Also involves converting Winterbite's damage entirely to Explosive damage (there is no impact damage for the shot)
1 parent 760ada9 commit 194ac85

File tree

3 files changed

+44
-4
lines changed

3 files changed

+44
-4
lines changed

src/perks/exotic_perks.rs

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@ use super::{
99
add_dmr, add_edr, add_epr, add_fmr, add_hmr, add_mmr, add_rmr, add_rr, add_rsmr, add_sbr,
1010
add_vmr, clamp,
1111
lib::{
12-
CalculationInput, DamageModifierResponse, ExtraDamageResponse, FiringModifierResponse,
13-
HandlingModifierResponse, InventoryModifierResponse, MagazineModifierResponse,
14-
RangeModifierResponse, RefundResponse, ReloadModifierResponse, ReloadOverrideResponse,
12+
CalculationInput, DamageModifierResponse, ExplosivePercentResponse, ExtraDamageResponse,
13+
FiringModifierResponse, HandlingModifierResponse, InventoryModifierResponse,
14+
MagazineModifierResponse, RangeModifierResponse, RefundResponse, ReloadModifierResponse,
15+
ReloadOverrideResponse,
1516
},
1617
ModifierResponseInput, Perks,
1718
};
@@ -1247,5 +1248,38 @@ pub fn exotic_perks() {
12471248
..Default::default()
12481249
}
12491250
}),
1250-
)
1251+
);
1252+
add_dmr(
1253+
Perks::PerpetualLoophole,
1254+
Box::new(|_input: ModifierResponseInput| -> DamageModifierResponse {
1255+
if _input.value == 0 {
1256+
return DamageModifierResponse::default();
1257+
}
1258+
DamageModifierResponse {
1259+
melee_dmg_scale: 1.2,
1260+
..Default::default()
1261+
}
1262+
}),
1263+
);
1264+
add_epr(
1265+
Perks::BigFrigidGlaive,
1266+
Box::new(|_input: ModifierResponseInput| -> ExplosivePercentResponse {
1267+
ExplosivePercentResponse {
1268+
percent: 1.0,
1269+
..Default::default()
1270+
}
1271+
}),
1272+
);
1273+
add_dmr(
1274+
Perks::WeightedEdge,
1275+
Box::new(|_input: ModifierResponseInput| -> DamageModifierResponse {
1276+
if _input.value == 0 {
1277+
return DamageModifierResponse::default();
1278+
}
1279+
DamageModifierResponse {
1280+
melee_dmg_scale: 1.5,
1281+
..Default::default()
1282+
}
1283+
}),
1284+
);
12511285
}

src/perks/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -471,6 +471,7 @@ pub enum Perks {
471471
Unrepentant = 2641107734,
472472
ArcConductor = 2516532331,
473473
VoidLeech = 3441203855,
474+
PerpetualLoophole = 2171805903,
474475

475476
//heavy exotic
476477
ReignHavoc = 4148158229,
@@ -481,6 +482,8 @@ pub enum Perks {
481482
TargetAquired = 939227542,
482483
TractorCannon = 1210807262,
483484
MarksmanSights = 1408087975,
485+
BigFrigidGlaive = 1207608520,
486+
WeightedEdge = 75282108,
484487

485488
#[num_enum(default)]
486489
Ignore = 69420,

src/perks/perk_options_handler.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,9 @@ fn hash_to_perk_option_data(_hash: u32) -> Option<PerkOptionData> {
384384
Perks::Unrepentant => Some(PerkOptionData::toggle()),
385385
Perks::ArcConductor => Some(PerkOptionData::toggle()),
386386
Perks::VoidLeech => Some(PerkOptionData::toggle()),
387+
Perks::PerpetualLoophole => Some(PerkOptionData::toggle()),
388+
Perks::BigFrigidGlaive => Some(PerkOptionData::static_()),
389+
Perks::WeightedEdge => Some(PerkOptionData::toggle()),
387390

388391
Perks::DragonShadow => Some(PerkOptionData::toggle()),
389392
Perks::OphidianAspect => Some(PerkOptionData::static_()),

0 commit comments

Comments
 (0)