De/buff icons

This commit is contained in:
Samuel Keiffer
2025-07-11 13:50:57 -04:00
committed by UncomfortableSilence
parent 17dfbc9249
commit 0b49f28092
38 changed files with 81 additions and 80 deletions

View File

@ -83,6 +83,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Updated Tidal Warrior model.
- Emitted sfx now take into account both player and camera position, instead of just camera position, when determining volume.
- Danari horns are now showed when wearing a hat or helmet.
- Debuff icons have been updated to be more vibrant and identifiable.
### Removed

View File

@ -15,7 +15,7 @@ BasicMelee(
angle: 20,
multi_target: Some(Normal),
damage_effect: Some(Buff((
kind: Staggered,
kind: OffBalance,
dur_secs: 10.0,
strength: Value(0.6),
chance: 1.0,

View File

@ -13,7 +13,7 @@ FinisherMelee(
range: 4.0,
angle: 60.0,
damage_effect: Some(Buff((
kind: Concussion,
kind: Amnesia,
dur_secs: 8,
strength: Value(1.0),
chance: 1.0,

View File

@ -14,7 +14,7 @@ BasicMelee(
range: 3.5,
angle: 20,
damage_effect: Some(Buff((
kind: Staggered,
kind: OffBalance,
dur_secs: 10.0,
strength: Value(0.5),
chance: 1.0,

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/voxygen/element/de_buffs/debuff_amnesia_0.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/voxygen/element/de_buffs/debuff_cursed_0.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/voxygen/element/de_buffs/debuff_offbalance_0.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/voxygen/element/de_buffs/debuff_polymorphed_0.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/voxygen/element/de_buffs/debuff_rooted_0.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/voxygen/element/de_buffs/debuff_winded_0.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -189,8 +189,8 @@ lazy_static! {
BuffKind::ScornfulTaunt => "scornful_taunt",
BuffKind::Rooted => "rooted",
BuffKind::Winded => "winded",
BuffKind::Concussion => "concussion",
BuffKind::Staggered => "staggered",
BuffKind::Amnesia => "amnesia",
BuffKind::OffBalance => "off_balance",
BuffKind::Tenacity => "tenacity",
BuffKind::Resilience => "resilience",
};

View File

@ -210,11 +210,11 @@ pub enum BuffKind {
Winded,
/// Prevents use of auxiliary abilities.
/// Does not scale with strength
Concussion,
Amnesia,
/// Increases amount of poise damage received
/// Scales linearly with strength, 1.0 leads to 100% more poise damage
/// received
Staggered,
OffBalance,
// =================
// COMPLEX
// =================
@ -286,8 +286,8 @@ impl BuffKind {
| BuffKind::Heatstroke
| BuffKind::Rooted
| BuffKind::Winded
| BuffKind::Concussion
| BuffKind::Staggered => BuffDescriptor::SimpleNegative,
| BuffKind::Amnesia
| BuffKind::OffBalance => BuffDescriptor::SimpleNegative,
BuffKind::Polymorphed => BuffDescriptor::Complex,
}
}
@ -547,8 +547,8 @@ impl BuffKind {
BuffEffect::MovementSpeed(1.0 - nn_scaling2(data.strength)),
BuffEffect::EnergyReward(1.0 - nn_scaling(data.strength)),
],
BuffKind::Concussion => vec![BuffEffect::DisableAuxiliaryAbilities],
BuffKind::Staggered => vec![BuffEffect::PoiseReduction(-data.strength)],
BuffKind::Amnesia => vec![BuffEffect::DisableAuxiliaryAbilities],
BuffKind::OffBalance => vec![BuffEffect::PoiseReduction(-data.strength)],
BuffKind::Tenacity => vec![
BuffEffect::DamageReduction(nn_scaling(data.strength) / 2.0),
BuffEffect::MovementSpeed(0.7),
@ -603,7 +603,7 @@ impl BuffKind {
/// strength that resilience should have, otherwise return None
pub fn resilience_ccr_strength(&self, data: BuffData) -> Option<f32> {
match self {
BuffKind::Concussion => Some(0.3),
BuffKind::Amnesia => Some(0.3),
BuffKind::Frozen => Some(data.strength),
_ => None,
}

View File

@ -811,7 +811,7 @@ impl AgentData<'_> {
}),
Ability::MainWeaponAux(7) => tgt_data
.buffs
.is_some_and(|buffs| !buffs.contains(BuffKind::Staggered)),
.is_some_and(|buffs| !buffs.contains(BuffKind::OffBalance)),
Ability::MainWeaponAux(12) => tgt_data
.buffs
.is_some_and(|buffs| !buffs.contains(BuffKind::Rooted)),
@ -820,7 +820,7 @@ impl AgentData<'_> {
.is_some_and(|buffs| !buffs.contains(BuffKind::Winded)),
Ability::MainWeaponAux(14) => tgt_data
.buffs
.is_some_and(|buffs| !buffs.contains(BuffKind::Concussion)),
.is_some_and(|buffs| !buffs.contains(BuffKind::Amnesia)),
Ability::MainWeaponAux(15) => self
.buffs
.is_some_and(|buffs| !buffs.contains(BuffKind::ProtectingWard)),

View File

@ -5617,8 +5617,8 @@ fn build_buff(
| BuffKind::ScornfulTaunt
| BuffKind::Rooted
| BuffKind::Winded
| BuffKind::Concussion
| BuffKind::Staggered
| BuffKind::Amnesia
| BuffKind::OffBalance
| BuffKind::Tenacity
| BuffKind::Resilience => {
if buff_kind.is_simple() {

View File

@ -414,8 +414,8 @@ fn get_buff_ident(buff: BuffKind) -> &'static str {
| BuffKind::Heatstroke
| BuffKind::Rooted
| BuffKind::Winded
| BuffKind::Concussion
| BuffKind::Staggered => {
| BuffKind::Amnesia
| BuffKind::OffBalance => {
tracing::error!("Player was killed by a debuff that doesn't do damage!");
"mysterious"
},

View File

@ -829,7 +829,7 @@ image_ids! {
buff_resilience: "voxygen.element.de_buffs.buff_resilience",
// Debuffs
debuff_skull_0: "voxygen.element.de_buffs.debuff_skull_0",
debuff_cursed_0: "voxygen.element.de_buffs.debuff_cursed_0",
debuff_bleed_0: "voxygen.element.de_buffs.debuff_bleed_0",
debuff_burning_0: "voxygen.element.de_buffs.debuff_burning_0",
debuff_crippled_0: "voxygen.element.de_buffs.debuff_cripple_0",
@ -839,12 +839,12 @@ image_ids! {
debuff_poisoned_0: "voxygen.element.de_buffs.debuff_poisoned_0",
debuff_parried_0: "voxygen.element.de_buffs.debuff_parried_0",
debuff_potionsickness_0: "voxygen.element.de_buffs.debuff_potionsickness_0",
debuff_polymorphed: "voxygen.element.de_buffs.debuff_polymorphed",
debuff_polymorphed_0: "voxygen.element.de_buffs.debuff_polymorphed_0",
debuff_heatstroke_0: "voxygen.element.de_buffs.debuff_heatstroke_0",
debuff_rooted: "voxygen.element.de_buffs.debuff_rooted",
debuff_winded: "voxygen.element.de_buffs.debuff_winded",
debuff_concussion: "voxygen.element.de_buffs.debuff_concussion",
debuff_staggered: "voxygen.element.de_buffs.debuff_staggered",
debuff_rooted_0: "voxygen.element.de_buffs.debuff_rooted_0",
debuff_winded_0: "voxygen.element.de_buffs.debuff_winded_0",
debuff_amnesia_0: "voxygen.element.de_buffs.debuff_amnesia_0",
debuff_offbalance_0: "voxygen.element.de_buffs.debuff_offbalance_0",
// Animation Frames
// Buff Frame

View File

@ -5385,7 +5385,7 @@ pub fn get_buff_image(buff: BuffKind, imgs: &Imgs) -> conrod_core::image::Id {
BuffKind::Tenacity => imgs.buff_tenacity,
// Debuffs
BuffKind::Bleeding => imgs.debuff_bleed_0,
BuffKind::Cursed => imgs.debuff_skull_0,
BuffKind::Cursed => imgs.debuff_cursed_0,
BuffKind::Burning => imgs.debuff_burning_0,
BuffKind::Crippled => imgs.debuff_crippled_0,
BuffKind::Frozen => imgs.debuff_frozen_0,
@ -5394,12 +5394,12 @@ pub fn get_buff_image(buff: BuffKind, imgs: &Imgs) -> conrod_core::image::Id {
BuffKind::Poisoned => imgs.debuff_poisoned_0,
BuffKind::Parried => imgs.debuff_parried_0,
BuffKind::PotionSickness => imgs.debuff_potionsickness_0,
BuffKind::Polymorphed => imgs.debuff_polymorphed,
BuffKind::Polymorphed => imgs.debuff_polymorphed_0,
BuffKind::Heatstroke => imgs.debuff_heatstroke_0,
BuffKind::Rooted => imgs.debuff_rooted,
BuffKind::Winded => imgs.debuff_winded,
BuffKind::Concussion => imgs.debuff_concussion,
BuffKind::Staggered => imgs.debuff_staggered,
BuffKind::Rooted => imgs.debuff_rooted_0,
BuffKind::Winded => imgs.debuff_winded_0,
BuffKind::Amnesia => imgs.debuff_amnesia_0,
BuffKind::OffBalance => imgs.debuff_offbalance_0,
}
}

View File

@ -219,8 +219,8 @@ fn buff_key(buff: BuffKind) -> &'static str {
BuffKind::Heatstroke => "buff-heatstroke",
BuffKind::Rooted => "buff-rooted",
BuffKind::Winded => "buff-winded",
BuffKind::Concussion => "buff-concussion",
BuffKind::Staggered => "buff-staggered",
BuffKind::Amnesia => "buff-amnesia",
BuffKind::OffBalance => "buff-offbalance",
// Neutral
BuffKind::Polymorphed => "buff-polymorphed",
}
@ -357,8 +357,8 @@ pub fn consumable_desc(effects: &Effects, i18n: &Localization) -> Vec<String> {
| BuffKind::ScornfulTaunt
| BuffKind::Rooted
| BuffKind::Winded
| BuffKind::Concussion
| BuffKind::Staggered
| BuffKind::Amnesia
| BuffKind::OffBalance
| BuffKind::Tenacity
| BuffKind::Resilience => Cow::Borrowed(""),
};