From 2126626a78d104526d790e851e6a011d443c20e3 Mon Sep 17 00:00:00 2001 From: Michael <155639494+MichaelJSargent@users.noreply.github.com> Date: Wed, 8 Apr 2026 22:29:51 +0100 Subject: [PATCH] add Ecliptic components and Equilibrium perk --- src/gui/wiki.rs | 1 + src/prelude/data.rs | 74 ++++++++++++++++++++++++++++++++++++ src/prelude/material_name.rs | 3 ++ src/prelude/perk_name.rs | 1 + 4 files changed, 79 insertions(+) diff --git a/src/gui/wiki.rs b/src/gui/wiki.rs index a39a275..fb07b37 100644 --- a/src/gui/wiki.rs +++ b/src/gui/wiki.rs @@ -129,6 +129,7 @@ fn mat_link_id(mat: MaterialName) -> &'static str { MaterialName::VintageComponents => "79", MaterialName::OffcutComponents => "80", MaterialName::ManufacturedComponents => "81", + MaterialName::EclipticComponents => "82", _ => "0", } } diff --git a/src/prelude/data.rs b/src/prelude/data.rs index 833e6fc..87d1753 100644 --- a/src/prelude/data.rs +++ b/src/prelude/data.rs @@ -949,6 +949,25 @@ impl Data { }, ]) }, + MaterialName::EclipticComponents => CompPerksPerGizmoType { + ancient_only: false, + weapon: StackVec::new(&[ + ComponentValues { + perk: PerkName::Equilibrium, + base: 40, + roll: 8 + }, + ]), + armour: StackVec::new(&[ + ComponentValues { + perk: PerkName::Equilibrium, + base: 40, + roll: 8 + }, + ]), + tool: StackVec::new(&[ + ]) + }, MaterialName::EnhancingComponents => CompPerksPerGizmoType { ancient_only: false, weapon: StackVec::new(&[ @@ -1802,8 +1821,18 @@ impl Data { MaterialName::ManufacturedComponents => CompPerksPerGizmoType { ancient_only: false, weapon: StackVec::new(&[ + ComponentValues { + perk: PerkName::Equilibrium, + base: 7, + roll: 17 + }, ]), armour: StackVec::new(&[ + ComponentValues { + perk: PerkName::Equilibrium, + base: 7, + roll: 17 + }, ]), tool: StackVec::new(&[ ComponentValues { @@ -4751,6 +4780,51 @@ impl Data { }, ]) }, + PerkName::Equilibrium => PerkRanksData { + doubleslot: false, + ranks: StackVec::new(&[ + PerkRankValues { + name: PerkName::Equilibrium, + rank: 0, + cost: 0, + threshold: 0, + ancient_only: false, + doubleslot: false + }, + PerkRankValues { + name: PerkName::Equilibrium, + rank: 1, + cost: 40, + threshold: 55, + ancient_only: false, + doubleslot: false + }, + PerkRankValues { + name: PerkName::Equilibrium, + rank: 2, + cost: 90, + threshold: 115, + ancient_only: false, + doubleslot: false + }, + PerkRankValues { + name: PerkName::Equilibrium, + rank: 3, + cost: 175, + threshold: 170, + ancient_only: false, + doubleslot: false + }, + PerkRankValues { + name: PerkName::Equilibrium, + rank: 4, + cost: 185, + threshold: 200, + ancient_only: true, + doubleslot: false + }, + ]) + }, PerkName::Eruptive => PerkRanksData { doubleslot: false, ranks: StackVec::new(&[ diff --git a/src/prelude/material_name.rs b/src/prelude/material_name.rs index e185d63..cb7228a 100644 --- a/src/prelude/material_name.rs +++ b/src/prelude/material_name.rs @@ -66,6 +66,8 @@ pub enum MaterialName { DirectComponents, #[strum(serialize = "Dragonfire components")] DragonfireComponents, + #[strum(serialize = "Ecliptic components")] + EclipticComponents, #[strum(serialize = "Enhancing components")] EnhancingComponents, #[strum(serialize = "Ethereal components")] @@ -304,6 +306,7 @@ pub static RARE_MATERIALS: &[MaterialName] = &[ MaterialName::CulinaryComponents, MaterialName::CywirComponents, MaterialName::DragonfireComponents, + MaterialName::EclipticComponents, MaterialName::ExplosiveComponents, MaterialName::FacetedComponents, MaterialName::FortunateComponents, diff --git a/src/prelude/perk_name.rs b/src/prelude/perk_name.rs index c6dd908..c6d2c9b 100644 --- a/src/prelude/perk_name.rs +++ b/src/prelude/perk_name.rs @@ -49,6 +49,7 @@ pub enum PerkName { DragonSlayer, Efficient, Energising, + Equilibrium, EnhancedDevoted, EnhancedEfficient, Enlightened,