From c83296a4ec88996a58143907c0256366be565ef2 Mon Sep 17 00:00:00 2001 From: jiminycrick Date: Sat, 5 Dec 2020 10:23:45 -0800 Subject: [PATCH 01/11] Initial broken implementation of poise Character movement no longer broken. --- 4 | 286 ++++++++++++++++++ assets/common/abilities/axe/doublestrike.ron | 6 +- assets/common/abilities/axe/leap.ron | 3 +- assets/common/abilities/axe/spin.ron | 3 +- assets/common/abilities/bow/charged.ron | 1 + assets/common/abilities/dagger/tempbasic.ron | 3 +- assets/common/abilities/empty/basic.ron | 3 +- assets/common/abilities/farming/basic.ron | 3 +- assets/common/abilities/hammer/charged.ron | 1 + assets/common/abilities/hammer/leap.ron | 3 +- .../common/abilities/hammer/singlestrike.ron | 5 +- assets/common/abilities/shield/tempbasic.ron | 3 +- .../common/abilities/staff/fireshockwave.ron | 3 +- assets/common/abilities/sword/dash.ron | 1 + assets/common/abilities/sword/spin.ron | 3 +- .../common/abilities/sword/triplestrike.ron | 5 +- .../abilities/unique/beastclaws/basic.ron | 3 +- .../unique/quadlowbasic/singlestrike.ron | 3 +- .../unique/quadlowbasic/triplestrike.ron | 5 +- .../abilities/unique/quadlowbreathe/dash.ron | 1 + .../unique/quadlowbreathe/triplestrike.ron | 3 + .../abilities/unique/quadlowquick/dash.ron | 1 + .../unique/quadlowquick/quadstrike.ron | 6 +- .../unique/quadlowranged/singlestrike.ron | 3 +- .../abilities/unique/quadlowtail/charged.ron | 1 + .../unique/quadlowtail/triplestrike.ron | 5 +- .../unique/quadmedbasic/singlestrike.ron | 1 + .../unique/quadmedbasic/triplestrike.ron | 3 + .../abilities/unique/quadmedcharge/dash.ron | 1 + .../unique/quadmedcharge/doublestrike.ron | 2 + .../abilities/unique/quadmedhoof/basic.ron | 3 +- .../unique/quadmedjump/doublestrike.ron | 2 + .../abilities/unique/quadmedjump/leap.ron | 1 + .../unique/quadmedjump/quickleap.ron | 1 + .../abilities/unique/quadmedquick/dash.ron | 1 + .../unique/quadmedquick/triplestrike.ron | 3 + .../unique/quadsmallbasic/singlestrike.ron | 3 +- .../abilities/unique/stonegolemfist/basic.ron | 3 +- .../unique/stonegolemfist/shockwave.ron | 3 +- .../unique/theropodbasic/singlestrike.ron | 3 +- .../unique/theropodbasic/triplestrike.ron | 3 + .../unique/theropodbird/singlestrike.ron | 3 +- .../unique/theropodbird/triplestrike.ron | 3 + common/net/src/msg/ecs_packet.rs | 5 + common/src/combat.rs | 103 ++++--- common/src/comp/ability.rs | 22 ++ common/src/comp/body.rs | 15 + common/src/comp/character_state.rs | 8 + common/src/comp/mod.rs | 2 + common/src/comp/poise.rs | 106 +++++++ common/src/comp/projectile.rs | 7 + common/src/effect.rs | 5 + common/src/event.rs | 3 +- common/src/states/basic_beam.rs | 2 + common/src/states/basic_melee.rs | 3 + common/src/states/behavior.rs | 13 +- common/src/states/charged_melee.rs | 3 + common/src/states/charged_ranged.rs | 3 + common/src/states/combo_melee.rs | 5 + common/src/states/dash_melee.rs | 3 + common/src/states/leap_melee.rs | 3 + common/src/states/mod.rs | 2 + common/src/states/shockwave.rs | 3 + common/src/states/spin_melee.rs | 3 + common/src/states/staggered.rs | 89 ++++++ common/src/states/stunned.rs | 89 ++++++ common/sys/src/beam.rs | 17 +- common/sys/src/buff.rs | 2 +- common/sys/src/character_behavior.rs | 9 +- common/sys/src/melee.rs | 4 +- common/sys/src/state.rs | 1 + common/sys/src/stats.rs | 5 +- server/src/cmd.rs | 5 +- server/src/events/entity_creation.rs | 5 +- server/src/events/entity_manipulation.rs | 83 ++++- server/src/events/mod.rs | 2 + server/src/rtsim/tick.rs | 1 + server/src/state_ext.rs | 10 + server/src/sys/object.rs | 2 + server/src/sys/sentinel.rs | 9 +- server/src/sys/terrain.rs | 2 + 81 files changed, 965 insertions(+), 91 deletions(-) create mode 100644 4 create mode 100644 common/src/comp/poise.rs create mode 100644 common/src/states/staggered.rs create mode 100644 common/src/states/stunned.rs diff --git a/4 b/4 new file mode 100644 index 0000000000..628b6390ea --- /dev/null +++ b/4 @@ -0,0 +1,286 @@ +use crate::{ + comp::{Attacking, CharacterState, EnergyChange, EnergySource, StateUpdate}, + states::{ + behavior::{CharacterBehavior, JoinData}, + utils::*, + }, + Damage, DamageSource, GroupTarget, Knockback, +}; +use serde::{Deserialize, Serialize}; +use std::time::Duration; + +#[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] +pub struct Stage { + /// Specifies which stage the combo attack is in + pub stage: u32, + /// Initial damage of stage + pub base_damage: u32, + /// Max damage of stage + pub max_damage: u32, + /// Damage scaling per combo + pub damage_increase: u32, + /// Initial poise damage of stage + pub base_poise_damage: u32, + /// Knockback of stage + pub knockback: f32, + /// Range of attack + pub range: f32, + /// Angle of attack + pub angle: f32, + /// Initial buildup duration of stage (how long until state can deal damage) + pub base_buildup_duration: T, + /// Duration of stage spent in swing (controls animation stuff, and can also + /// be used to handle movement separately to buildup) + pub base_swing_duration: T, + /// Initial recover duration of stage (how long until character exits state) + pub base_recover_duration: T, + /// How much forward movement there is in the swing portion of the stage + pub forward_movement: f32, +} + +impl Stage { + pub fn to_duration(self) -> Stage { + Stage:: { + stage: self.stage, + base_damage: self.base_damage, + max_damage: self.max_damage, + damage_increase: self.damage_increase, + base_poise_damage: self.base_poise_damage, + knockback: self.knockback, + range: self.range, + angle: self.angle, + base_buildup_duration: Duration::from_millis(self.base_buildup_duration), + base_swing_duration: Duration::from_millis(self.base_swing_duration), + base_recover_duration: Duration::from_millis(self.base_recover_duration), + forward_movement: self.forward_movement, + } + } + + pub fn adjusted_by_stats(mut self, power: f32, speed: f32) -> Self { + self.base_damage = (self.base_damage as f32 * power) as u32; + self.max_damage = (self.max_damage as f32 * power) as u32; + self.damage_increase = (self.damage_increase as f32 * power) as u32; + self.base_buildup_duration = (self.base_buildup_duration as f32 / speed) as u64; + self.base_swing_duration = (self.base_swing_duration as f32 / speed) as u64; + self.base_recover_duration = (self.base_recover_duration as f32 / speed) as u64; + self + } +} + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +/// Separated out to condense update portions of character state +pub struct StaticData { + /// Indicates number of stages in combo + pub num_stages: u32, + /// Data for each stage + pub stage_data: Vec>, + /// Initial energy gain per strike + pub initial_energy_gain: u32, + /// Max energy gain per strike + pub max_energy_gain: u32, + /// Energy gain increase per combo + pub energy_increase: u32, + /// (100% - speed_increase) is percentage speed increases from current to + /// max when combo increases + pub speed_increase: f32, + /// (100% + max_speed_increase) is the max attack speed + pub max_speed_increase: f32, + /// Whether the state can be interrupted by other abilities + pub is_interruptible: bool, + /// What key is used to press ability + pub ability_key: AbilityKey, +} +/// A sequence of attacks that can incrementally become faster and more +/// damaging. +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +pub struct Data { + /// Struct containing data that does not change over the course of the + /// character state + pub static_data: StaticData, + /// Indicates what stage the combo is in + pub stage: u32, + /// Number of consecutive strikes + pub combo: u32, + /// Timer for each stage + pub timer: Duration, + /// Checks what section a stage is in + pub stage_section: StageSection, + /// Whether the state should go onto the next stage + pub next_stage: bool, +} + +impl CharacterBehavior for Data { + fn behavior(&self, data: &JoinData) -> StateUpdate { + let mut update = StateUpdate::from(data); + + handle_orientation(data, &mut update, 1.0); + handle_move(data, &mut update, 0.3); + if !ability_key_is_pressed(data, self.static_data.ability_key) { + handle_interrupt(data, &mut update, self.static_data.is_interruptible); + if let CharacterState::Roll(roll) = &mut update.character { + roll.was_combo = Some((self.stage, self.combo)); + } + match update.character { + CharacterState::ComboMelee(_) => {}, + _ => { + return update; + }, + } + } + + let stage_index = (self.stage - 1) as usize; + + let speed_modifer = 1.0 + + self.static_data.max_speed_increase + * (1.0 - self.static_data.speed_increase.powi(self.combo as i32)); + + match self.stage_section { + StageSection::Buildup => { + if self.timer < self.static_data.stage_data[stage_index].base_buildup_duration { + // Build up + update.character = CharacterState::ComboMelee(Data { + static_data: self.static_data.clone(), + timer: self + .timer + .checked_add(Duration::from_secs_f32(data.dt.0 * speed_modifer)) + .unwrap_or_default(), + ..*self + }); + } else { + // Transitions to swing section of stage + update.character = CharacterState::ComboMelee(Data { + static_data: self.static_data.clone(), + timer: Duration::default(), + stage_section: StageSection::Swing, + ..*self + }); + + // Hit attempt + let damage = self.static_data.stage_data[stage_index].max_damage.min( + self.static_data.stage_data[stage_index].base_damage + + self.combo / self.static_data.num_stages + * self.static_data.stage_data[stage_index].damage_increase, + ); + let poise_damage = self.static_data.stage_data[stage_index].base_poise_damage; + data.updater.insert(data.entity, Attacking { + damages: vec![(Some(GroupTarget::OutOfGroup), Damage { + source: DamageSource::Melee, + value: damage as f32, + poise_damage: poise_damage as f32, + })], + range: self.static_data.stage_data[stage_index].range, + max_angle: self.static_data.stage_data[stage_index].angle.to_radians(), + applied: false, + hit_count: 0, + knockback: Knockback::Away( + self.static_data.stage_data[stage_index].knockback, + ), + }); + } + }, + StageSection::Swing => { + if self.timer < self.static_data.stage_data[stage_index].base_swing_duration { + // Forward movement + handle_forced_movement( + data, + &mut update, + ForcedMovement::Forward { + strength: self.static_data.stage_data[stage_index].forward_movement, + }, + 0.3, + ); + + // Swings + update.character = CharacterState::ComboMelee(Data { + static_data: self.static_data.clone(), + timer: self + .timer + .checked_add(Duration::from_secs_f32(data.dt.0 * speed_modifer)) + .unwrap_or_default(), + ..*self + }); + } else { + // Transitions to recover section of stage + update.character = CharacterState::ComboMelee(Data { + static_data: self.static_data.clone(), + timer: Duration::default(), + stage_section: StageSection::Recover, + ..*self + }); + } + }, + StageSection::Recover => { + if self.timer < self.static_data.stage_data[stage_index].base_recover_duration { + // Recovers + if ability_key_is_pressed(data, self.static_data.ability_key) { + // Checks if state will transition to next stage after recover + update.character = CharacterState::ComboMelee(Data { + static_data: self.static_data.clone(), + timer: self + .timer + .checked_add(Duration::from_secs_f32(data.dt.0 * speed_modifer)) + .unwrap_or_default(), + next_stage: true, + ..*self + }); + } else { + update.character = CharacterState::ComboMelee(Data { + static_data: self.static_data.clone(), + timer: self + .timer + .checked_add(Duration::from_secs_f32(data.dt.0 * speed_modifer)) + .unwrap_or_default(), + ..*self + }); + } + } else if self.next_stage { + // Transitions to buildup section of next stage + update.character = CharacterState::ComboMelee(Data { + static_data: self.static_data.clone(), + stage: (self.stage % self.static_data.num_stages) + 1, + timer: Duration::default(), + stage_section: StageSection::Buildup, + next_stage: false, + ..*self + }); + } else { + // Done + update.character = CharacterState::Wielding; + // Make sure attack component is removed + data.updater.remove::(data.entity); + } + }, + _ => { + // If it somehow ends up in an incorrect stage section + update.character = CharacterState::Wielding; + // Make sure attack component is removed + data.updater.remove::(data.entity); + }, + } + + // Grant energy on successful hit + if let Some(attack) = data.attacking { + if attack.applied && attack.hit_count > 0 { + let energy = self.static_data.max_energy_gain.min( + self.static_data.initial_energy_gain + + self.combo * self.static_data.energy_increase, + ) as i32; + update.character = CharacterState::ComboMelee(Data { + static_data: self.static_data.clone(), + stage: self.stage, + combo: self.combo + 1, + timer: self.timer, + stage_section: self.stage_section, + next_stage: self.next_stage, + }); + data.updater.remove::(data.entity); + update.energy.change_by(EnergyChange { + amount: energy, + source: EnergySource::HitEnemy, + }); + } + } + + update + } +} diff --git a/assets/common/abilities/axe/doublestrike.ron b/assets/common/abilities/axe/doublestrike.ron index cf52d4639f..7a1d0111b9 100644 --- a/assets/common/abilities/axe/doublestrike.ron +++ b/assets/common/abilities/axe/doublestrike.ron @@ -3,6 +3,8 @@ ComboMelee( ( stage: 1, base_damage: 90, + max_damage: 110, + base_poise_damage: 40, damage_increase: 10, knockback: 8.0, range: 3.5, @@ -15,6 +17,8 @@ ComboMelee( ( stage: 2, base_damage: 130, + max_damage: 160, + base_poise_damage: 40, damage_increase: 15, knockback: 12.0, range: 3.5, @@ -32,4 +36,4 @@ ComboMelee( max_speed_increase: 0.6, scales_from_combo: 2, is_interruptible: false, -) \ No newline at end of file +) diff --git a/assets/common/abilities/axe/leap.ron b/assets/common/abilities/axe/leap.ron index 1b6cd34c6d..ed8d37c32e 100644 --- a/assets/common/abilities/axe/leap.ron +++ b/assets/common/abilities/axe/leap.ron @@ -5,9 +5,10 @@ LeapMelee( swing_duration: 200, recover_duration: 200, base_damage: 240, + base_poise_damage: 70, knockback: 12.0, range: 4.5, max_angle: 30.0, forward_leap_strength: 28.0, vertical_leap_strength: 8.0, -) \ No newline at end of file +) diff --git a/assets/common/abilities/axe/spin.ron b/assets/common/abilities/axe/spin.ron index a26b860d02..e70a6acb9e 100644 --- a/assets/common/abilities/axe/spin.ron +++ b/assets/common/abilities/axe/spin.ron @@ -3,6 +3,7 @@ SpinMelee( swing_duration: 400, recover_duration: 200, base_damage: 60, + base_poise_damage: 20, knockback: 0.0, range: 3.5, energy_cost: 100, @@ -11,4 +12,4 @@ SpinMelee( is_interruptible: false, forward_speed: 0.0, num_spins: 1, -) \ No newline at end of file +) diff --git a/assets/common/abilities/bow/charged.ron b/assets/common/abilities/bow/charged.ron index cb098807d1..2a20c768b8 100644 --- a/assets/common/abilities/bow/charged.ron +++ b/assets/common/abilities/bow/charged.ron @@ -3,6 +3,7 @@ ChargedRanged( energy_drain: 300, initial_damage: 10, scaled_damage: 190, + initial_poise_damage: 10, initial_knockback: 10.0, scaled_knockback: 10.0, speed: 1.0, diff --git a/assets/common/abilities/dagger/tempbasic.ron b/assets/common/abilities/dagger/tempbasic.ron index 0d31c0b0f4..c42e13bbd2 100644 --- a/assets/common/abilities/dagger/tempbasic.ron +++ b/assets/common/abilities/dagger/tempbasic.ron @@ -4,7 +4,8 @@ BasicMelee( swing_duration: 100, recover_duration: 300, base_damage: 50, + base_poise_damage: 10, knockback: 0.0, range: 3.5, max_angle: 20.0, -) \ No newline at end of file +) diff --git a/assets/common/abilities/empty/basic.ron b/assets/common/abilities/empty/basic.ron index 3562af81b5..8d2fdf9aee 100644 --- a/assets/common/abilities/empty/basic.ron +++ b/assets/common/abilities/empty/basic.ron @@ -4,7 +4,8 @@ BasicMelee( swing_duration: 100, recover_duration: 900, base_damage: 20, + base_poise_damage: 5, knockback: 0.0, range: 3.5, max_angle: 15.0, -) \ No newline at end of file +) diff --git a/assets/common/abilities/farming/basic.ron b/assets/common/abilities/farming/basic.ron index 0a60b62df7..dda81a894a 100644 --- a/assets/common/abilities/farming/basic.ron +++ b/assets/common/abilities/farming/basic.ron @@ -4,7 +4,8 @@ BasicMelee( swing_duration: 100, recover_duration: 150, base_damage: 50, + base_poise_damage: 5, knockback: 0.0, range: 3.5, max_angle: 20.0, -) \ No newline at end of file +) diff --git a/assets/common/abilities/hammer/charged.ron b/assets/common/abilities/hammer/charged.ron index 916ad9ce4e..bde38d4c43 100644 --- a/assets/common/abilities/hammer/charged.ron +++ b/assets/common/abilities/hammer/charged.ron @@ -3,6 +3,7 @@ ChargedMelee( energy_drain: 300, initial_damage: 10, scaled_damage: 160, + initial_poise_damage: 10, initial_knockback: 10.0, scaled_knockback: 50.0, range: 3.5, diff --git a/assets/common/abilities/hammer/leap.ron b/assets/common/abilities/hammer/leap.ron index 70ec3019bf..1e7a1faad7 100644 --- a/assets/common/abilities/hammer/leap.ron +++ b/assets/common/abilities/hammer/leap.ron @@ -5,9 +5,10 @@ LeapMelee( swing_duration: 150, recover_duration: 200, base_damage: 240, + base_poise_damage: 60, knockback: 25.0, range: 4.5, max_angle: 360.0, forward_leap_strength: 28.0, vertical_leap_strength: 8.0, -) \ No newline at end of file +) diff --git a/assets/common/abilities/hammer/singlestrike.ron b/assets/common/abilities/hammer/singlestrike.ron index 554f30c73c..bd6ea6ff69 100644 --- a/assets/common/abilities/hammer/singlestrike.ron +++ b/assets/common/abilities/hammer/singlestrike.ron @@ -3,7 +3,8 @@ ComboMelee( stage: 1, base_damage: 130, damage_increase: 10, - knockback: 10.0, + base_poise_damage: 30, + knockback: 0.0, range: 4.5, angle: 50.0, base_buildup_duration: 600, @@ -18,4 +19,4 @@ ComboMelee( max_speed_increase: 0.4, scales_from_combo: 2, is_interruptible: false, -) \ No newline at end of file +) diff --git a/assets/common/abilities/shield/tempbasic.ron b/assets/common/abilities/shield/tempbasic.ron index eca1996eb1..3c823cea25 100644 --- a/assets/common/abilities/shield/tempbasic.ron +++ b/assets/common/abilities/shield/tempbasic.ron @@ -4,7 +4,8 @@ BasicMelee( swing_duration: 100, recover_duration: 300, base_damage: 40, + base_poise_damage: 20, knockback: 0.0, range: 3.0, max_angle: 120.0, -) \ No newline at end of file +) diff --git a/assets/common/abilities/staff/fireshockwave.ron b/assets/common/abilities/staff/fireshockwave.ron index fabf1b00b5..a45a280454 100644 --- a/assets/common/abilities/staff/fireshockwave.ron +++ b/assets/common/abilities/staff/fireshockwave.ron @@ -4,6 +4,7 @@ Shockwave( swing_duration: 100, recover_duration: 300, damage: 200, + poise_damage: 10, knockback: Away(25.0), shockwave_angle: 360.0, shockwave_vertical_angle: 90.0, @@ -11,4 +12,4 @@ Shockwave( shockwave_duration: 500, requires_ground: false, move_efficiency: 0.1, -) \ No newline at end of file +) diff --git a/assets/common/abilities/sword/dash.ron b/assets/common/abilities/sword/dash.ron index 6ca2de60b7..2160ed162a 100644 --- a/assets/common/abilities/sword/dash.ron +++ b/assets/common/abilities/sword/dash.ron @@ -2,6 +2,7 @@ DashMelee( energy_cost: 100, base_damage: 80, scaled_damage: 160, + base_poise_damage: 20, base_knockback: 8.0, scaled_knockback: 7.0, range: 5.0, diff --git a/assets/common/abilities/sword/spin.ron b/assets/common/abilities/sword/spin.ron index 64edbfb839..97d685f085 100644 --- a/assets/common/abilities/sword/spin.ron +++ b/assets/common/abilities/sword/spin.ron @@ -3,6 +3,7 @@ SpinMelee( swing_duration: 400, recover_duration: 500, base_damage: 160, + base_poise_damage: 10, knockback: 10.0, range: 3.5, energy_cost: 150, @@ -11,4 +12,4 @@ SpinMelee( is_interruptible: true, forward_speed: 1.0, num_spins: 3, -) \ No newline at end of file +) diff --git a/assets/common/abilities/sword/triplestrike.ron b/assets/common/abilities/sword/triplestrike.ron index ab19e0fd43..647eb2e2c6 100644 --- a/assets/common/abilities/sword/triplestrike.ron +++ b/assets/common/abilities/sword/triplestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 100, damage_increase: 10, + base_poise_damage: 10, knockback: 10.0, range: 4.0, angle: 30.0, @@ -16,6 +17,7 @@ ComboMelee( stage: 2, base_damage: 80, damage_increase: 15, + base_poise_damage: 10, knockback: 12.0, range: 3.5, angle: 180.0, @@ -28,6 +30,7 @@ ComboMelee( stage: 3, base_damage: 130, damage_increase: 20, + base_poise_damage: 10, knockback: 14.0, range: 6.0, angle: 10.0, @@ -44,4 +47,4 @@ ComboMelee( max_speed_increase: 0.8, scales_from_combo: 2, is_interruptible: true, -) \ No newline at end of file +) diff --git a/assets/common/abilities/unique/beastclaws/basic.ron b/assets/common/abilities/unique/beastclaws/basic.ron index 77e860349c..26899baacc 100644 --- a/assets/common/abilities/unique/beastclaws/basic.ron +++ b/assets/common/abilities/unique/beastclaws/basic.ron @@ -5,6 +5,7 @@ BasicMelee( recover_duration: 250, knockback: 25.0, base_damage: 200, + base_poise_damage: 30, range: 5.0, max_angle: 120.0, -) \ No newline at end of file +) diff --git a/assets/common/abilities/unique/quadlowbasic/singlestrike.ron b/assets/common/abilities/unique/quadlowbasic/singlestrike.ron index dc6c1cd6b2..1f82c53760 100644 --- a/assets/common/abilities/unique/quadlowbasic/singlestrike.ron +++ b/assets/common/abilities/unique/quadlowbasic/singlestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 100, damage_increase: 0, + base_poise_damage: 30, knockback: 5.0, range: 3.5, angle: 60.0, @@ -20,4 +21,4 @@ ComboMelee( max_speed_increase: 0.0, scales_from_combo: 0, is_interruptible: false, -) \ No newline at end of file +) diff --git a/assets/common/abilities/unique/quadlowbasic/triplestrike.ron b/assets/common/abilities/unique/quadlowbasic/triplestrike.ron index 94beb996c4..ec21c62dfa 100644 --- a/assets/common/abilities/unique/quadlowbasic/triplestrike.ron +++ b/assets/common/abilities/unique/quadlowbasic/triplestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 120, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 3.5, angle: 30.0, @@ -16,6 +17,7 @@ ComboMelee( stage: 2, base_damage: 80, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 3.5, angle: 30.0, @@ -28,6 +30,7 @@ ComboMelee( stage: 3, base_damage: 130, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 3.5, angle: 30.0, @@ -44,4 +47,4 @@ ComboMelee( max_speed_increase: 0.0, scales_from_combo: 0, is_interruptible: false, -) \ No newline at end of file +) diff --git a/assets/common/abilities/unique/quadlowbreathe/dash.ron b/assets/common/abilities/unique/quadlowbreathe/dash.ron index e5081de2ac..3f12815a4a 100644 --- a/assets/common/abilities/unique/quadlowbreathe/dash.ron +++ b/assets/common/abilities/unique/quadlowbreathe/dash.ron @@ -2,6 +2,7 @@ DashMelee( energy_cost: 0, base_damage: 150, scaled_damage: 110, + base_poise_damage: 60, base_knockback: 8.0, scaled_knockback: 17.0, range: 5.0, diff --git a/assets/common/abilities/unique/quadlowbreathe/triplestrike.ron b/assets/common/abilities/unique/quadlowbreathe/triplestrike.ron index dd78e2893c..ee2db98e39 100644 --- a/assets/common/abilities/unique/quadlowbreathe/triplestrike.ron +++ b/assets/common/abilities/unique/quadlowbreathe/triplestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 100, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 4.5, angle: 30.0, @@ -16,6 +17,7 @@ ComboMelee( stage: 2, base_damage: 80, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 3.5, angle: 30.0, @@ -28,6 +30,7 @@ ComboMelee( stage: 3, base_damage: 130, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadlowquick/dash.ron b/assets/common/abilities/unique/quadlowquick/dash.ron index 21b070b83e..79bdaaeef9 100644 --- a/assets/common/abilities/unique/quadlowquick/dash.ron +++ b/assets/common/abilities/unique/quadlowquick/dash.ron @@ -2,6 +2,7 @@ DashMelee( energy_cost: 0, base_damage: 30, scaled_damage: 10, + base_poise_damage: 30, base_knockback: 8.0, scaled_knockback: 7.0, range: 2.0, diff --git a/assets/common/abilities/unique/quadlowquick/quadstrike.ron b/assets/common/abilities/unique/quadlowquick/quadstrike.ron index 36700b4d3a..7dc4c26281 100644 --- a/assets/common/abilities/unique/quadlowquick/quadstrike.ron +++ b/assets/common/abilities/unique/quadlowquick/quadstrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 100, damage_increase: 0, + base_poise_damage: 10, knockback: 2.0, range: 3.5, angle: 30.0, @@ -16,6 +17,7 @@ ComboMelee( stage: 2, base_damage: 130, damage_increase: 0, + base_poise_damage: 10, knockback: 2.0, range: 3.5, angle: 30.0, @@ -28,6 +30,7 @@ ComboMelee( stage: 3, base_damage: 130, damage_increase: 0, + base_poise_damage: 10, knockback: 2.0, range: 3.5, angle: 30.0, @@ -40,6 +43,7 @@ ComboMelee( stage: 4, base_damage: 130, damage_increase: 0, + base_poise_damage: 10, knockback: 8.0, range: 3.5, angle: 30.0, @@ -56,4 +60,4 @@ ComboMelee( max_speed_increase: 0.0, scales_from_combo: 0, is_interruptible: false, -) \ No newline at end of file +) diff --git a/assets/common/abilities/unique/quadlowranged/singlestrike.ron b/assets/common/abilities/unique/quadlowranged/singlestrike.ron index bd24b84ae8..604ef7f9f8 100644 --- a/assets/common/abilities/unique/quadlowranged/singlestrike.ron +++ b/assets/common/abilities/unique/quadlowranged/singlestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 60, damage_increase: 0, + base_poise_damage: 30, knockback: 5.0, range: 3.5, angle: 60.0, @@ -20,4 +21,4 @@ ComboMelee( max_speed_increase: 0.0, scales_from_combo: 0, is_interruptible: false, -) \ No newline at end of file +) diff --git a/assets/common/abilities/unique/quadlowtail/charged.ron b/assets/common/abilities/unique/quadlowtail/charged.ron index a5f1890962..7057a6cf2f 100644 --- a/assets/common/abilities/unique/quadlowtail/charged.ron +++ b/assets/common/abilities/unique/quadlowtail/charged.ron @@ -3,6 +3,7 @@ ChargedMelee( energy_drain: 0, initial_damage: 160, scaled_damage: 40, + initial_poise_damage: 50, initial_knockback: 10.0, scaled_knockback: 20.0, range: 6.0, diff --git a/assets/common/abilities/unique/quadlowtail/triplestrike.ron b/assets/common/abilities/unique/quadlowtail/triplestrike.ron index 14b1f9bb86..d7e08a9f61 100644 --- a/assets/common/abilities/unique/quadlowtail/triplestrike.ron +++ b/assets/common/abilities/unique/quadlowtail/triplestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 100, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 3.5, angle: 30.0, @@ -16,6 +17,7 @@ ComboMelee( stage: 2, base_damage: 120, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 3.5, angle: 30.0, @@ -28,6 +30,7 @@ ComboMelee( stage: 3, base_damage: 130, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 3.5, angle: 30.0, @@ -44,4 +47,4 @@ ComboMelee( max_speed_increase: 0.0, scales_from_combo: 0, is_interruptible: false, -) \ No newline at end of file +) diff --git a/assets/common/abilities/unique/quadmedbasic/singlestrike.ron b/assets/common/abilities/unique/quadmedbasic/singlestrike.ron index 082dfc218f..5fc4cdd675 100644 --- a/assets/common/abilities/unique/quadmedbasic/singlestrike.ron +++ b/assets/common/abilities/unique/quadmedbasic/singlestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 120, damage_increase: 0, + base_poise_damage: 10, knockback: 5.0, range: 3.5, angle: 60.0, diff --git a/assets/common/abilities/unique/quadmedbasic/triplestrike.ron b/assets/common/abilities/unique/quadmedbasic/triplestrike.ron index 6588856b0d..cbec45247c 100644 --- a/assets/common/abilities/unique/quadmedbasic/triplestrike.ron +++ b/assets/common/abilities/unique/quadmedbasic/triplestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 120, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 3.5, angle: 30.0, @@ -16,6 +17,7 @@ ComboMelee( stage: 2, base_damage: 120, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 3.5, angle: 30.0, @@ -28,6 +30,7 @@ ComboMelee( stage: 3, base_damage: 120, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadmedcharge/dash.ron b/assets/common/abilities/unique/quadmedcharge/dash.ron index 2e258451b7..fff283cfa5 100644 --- a/assets/common/abilities/unique/quadmedcharge/dash.ron +++ b/assets/common/abilities/unique/quadmedcharge/dash.ron @@ -2,6 +2,7 @@ DashMelee( energy_cost: 0, base_damage: 150, scaled_damage: 40, + base_poise_damage: 40, base_knockback: 8.0, scaled_knockback: 17.0, range: 4.0, diff --git a/assets/common/abilities/unique/quadmedcharge/doublestrike.ron b/assets/common/abilities/unique/quadmedcharge/doublestrike.ron index 51a8bf0985..d627b2ef72 100644 --- a/assets/common/abilities/unique/quadmedcharge/doublestrike.ron +++ b/assets/common/abilities/unique/quadmedcharge/doublestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 100, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 3.5, angle: 30.0, @@ -16,6 +17,7 @@ ComboMelee( stage: 2, base_damage: 80, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadmedhoof/basic.ron b/assets/common/abilities/unique/quadmedhoof/basic.ron index f4fa2f61b5..77916236c2 100644 --- a/assets/common/abilities/unique/quadmedhoof/basic.ron +++ b/assets/common/abilities/unique/quadmedhoof/basic.ron @@ -4,7 +4,8 @@ BasicMelee( swing_duration: 500, recover_duration: 350, base_damage: 130, + base_poise_damage: 70, knockback: 25.0, range: 3.0, max_angle: 120.0, -) \ No newline at end of file +) diff --git a/assets/common/abilities/unique/quadmedjump/doublestrike.ron b/assets/common/abilities/unique/quadmedjump/doublestrike.ron index c2c3fa1f4a..105824fcf5 100644 --- a/assets/common/abilities/unique/quadmedjump/doublestrike.ron +++ b/assets/common/abilities/unique/quadmedjump/doublestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 100, damage_increase: 0, + base_poise_damage: 10, knockback: 8.0, range: 3.5, angle: 30.0, @@ -16,6 +17,7 @@ ComboMelee( stage: 2, base_damage: 80, damage_increase: 0, + base_poise_damage: 10, knockback: 8.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadmedjump/leap.ron b/assets/common/abilities/unique/quadmedjump/leap.ron index 468dda4ebb..0752c561ad 100644 --- a/assets/common/abilities/unique/quadmedjump/leap.ron +++ b/assets/common/abilities/unique/quadmedjump/leap.ron @@ -5,6 +5,7 @@ LeapMelee( swing_duration: 75, recover_duration: 200, base_damage: 240, + base_poise_damage: 15, knockback: 12.0, range: 4.5, max_angle: 180.0, diff --git a/assets/common/abilities/unique/quadmedjump/quickleap.ron b/assets/common/abilities/unique/quadmedjump/quickleap.ron index c18f6e729a..4e119ee0ea 100644 --- a/assets/common/abilities/unique/quadmedjump/quickleap.ron +++ b/assets/common/abilities/unique/quadmedjump/quickleap.ron @@ -5,6 +5,7 @@ LeapMelee( swing_duration: 75, recover_duration: 125, base_damage: 120, + base_poise_damage: 15, knockback: 7.0, range: 4.5, max_angle: 180.0, diff --git a/assets/common/abilities/unique/quadmedquick/dash.ron b/assets/common/abilities/unique/quadmedquick/dash.ron index 325088f2c7..99e556e8ee 100644 --- a/assets/common/abilities/unique/quadmedquick/dash.ron +++ b/assets/common/abilities/unique/quadmedquick/dash.ron @@ -2,6 +2,7 @@ DashMelee( energy_cost: 0, base_damage: 130, scaled_damage: 20, + base_poise_damage: 30, base_knockback: 8.0, scaled_knockback: 7.0, range: 2.0, diff --git a/assets/common/abilities/unique/quadmedquick/triplestrike.ron b/assets/common/abilities/unique/quadmedquick/triplestrike.ron index 06057f3178..f853e22543 100644 --- a/assets/common/abilities/unique/quadmedquick/triplestrike.ron +++ b/assets/common/abilities/unique/quadmedquick/triplestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 150, damage_increase: 0, + base_poise_damage: 10, knockback: 5.0, range: 3.5, angle: 60.0, @@ -16,6 +17,7 @@ ComboMelee( stage: 2, base_damage: 150, damage_increase: 0, + base_poise_damage: 10, knockback: 5.0, range: 3.5, angle: 60.0, @@ -28,6 +30,7 @@ ComboMelee( stage: 3, base_damage: 150, damage_increase: 0, + base_poise_damage: 10, knockback: 5.0, range: 3.5, angle: 60.0, diff --git a/assets/common/abilities/unique/quadsmallbasic/singlestrike.ron b/assets/common/abilities/unique/quadsmallbasic/singlestrike.ron index 3870ba9037..d2f2f8262b 100644 --- a/assets/common/abilities/unique/quadsmallbasic/singlestrike.ron +++ b/assets/common/abilities/unique/quadsmallbasic/singlestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 30, damage_increase: 0, + base_poise_damage: 10, knockback: 5.0, range: 3.5, angle: 60.0, @@ -20,4 +21,4 @@ ComboMelee( max_speed_increase: 0.0, scales_from_combo: 0, is_interruptible: false, -) \ No newline at end of file +) diff --git a/assets/common/abilities/unique/stonegolemfist/basic.ron b/assets/common/abilities/unique/stonegolemfist/basic.ron index 2ce4d66744..b42bbcd256 100644 --- a/assets/common/abilities/unique/stonegolemfist/basic.ron +++ b/assets/common/abilities/unique/stonegolemfist/basic.ron @@ -5,6 +5,7 @@ BasicMelee( recover_duration: 250, knockback: 25.0, base_damage: 200, + base_poise_damage: 80, range: 5.0, max_angle: 120.0, -) \ No newline at end of file +) diff --git a/assets/common/abilities/unique/stonegolemfist/shockwave.ron b/assets/common/abilities/unique/stonegolemfist/shockwave.ron index d161a02d62..47ec08b62a 100644 --- a/assets/common/abilities/unique/stonegolemfist/shockwave.ron +++ b/assets/common/abilities/unique/stonegolemfist/shockwave.ron @@ -4,6 +4,7 @@ Shockwave( swing_duration: 200, recover_duration: 800, damage: 500, + poise_damage: 50, knockback: TowardsUp(40.0), shockwave_angle: 90.0, shockwave_vertical_angle: 90.0, @@ -11,4 +12,4 @@ Shockwave( shockwave_duration: 1000, requires_ground: true, move_efficiency: 0.05, -) \ No newline at end of file +) diff --git a/assets/common/abilities/unique/theropodbasic/singlestrike.ron b/assets/common/abilities/unique/theropodbasic/singlestrike.ron index 2e6da823b3..4b4878dfe5 100644 --- a/assets/common/abilities/unique/theropodbasic/singlestrike.ron +++ b/assets/common/abilities/unique/theropodbasic/singlestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 150, damage_increase: 0, + base_poise_damage: 15, knockback: 5.0, range: 7.5, angle: 60.0, @@ -20,4 +21,4 @@ ComboMelee( max_speed_increase: 0.0, scales_from_combo: 0, is_interruptible: false, -) \ No newline at end of file +) diff --git a/assets/common/abilities/unique/theropodbasic/triplestrike.ron b/assets/common/abilities/unique/theropodbasic/triplestrike.ron index 92127a6454..739aaf9234 100644 --- a/assets/common/abilities/unique/theropodbasic/triplestrike.ron +++ b/assets/common/abilities/unique/theropodbasic/triplestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 170, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 7.5, angle: 30.0, @@ -16,6 +17,7 @@ ComboMelee( stage: 2, base_damage: 190, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 5.5, angle: 30.0, @@ -28,6 +30,7 @@ ComboMelee( stage: 3, base_damage: 230, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 5.5, angle: 30.0, diff --git a/assets/common/abilities/unique/theropodbird/singlestrike.ron b/assets/common/abilities/unique/theropodbird/singlestrike.ron index 0b9a84f80e..c19995d2b6 100644 --- a/assets/common/abilities/unique/theropodbird/singlestrike.ron +++ b/assets/common/abilities/unique/theropodbird/singlestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 150, damage_increase: 0, + base_poise_damage: 10, knockback: 5.0, range: 5.5, angle: 5.0, @@ -20,4 +21,4 @@ ComboMelee( max_speed_increase: 0.0, scales_from_combo: 0, is_interruptible: false, -) \ No newline at end of file +) diff --git a/assets/common/abilities/unique/theropodbird/triplestrike.ron b/assets/common/abilities/unique/theropodbird/triplestrike.ron index cf59834a8b..4c33e0bbe9 100644 --- a/assets/common/abilities/unique/theropodbird/triplestrike.ron +++ b/assets/common/abilities/unique/theropodbird/triplestrike.ron @@ -4,6 +4,7 @@ ComboMelee( stage: 1, base_damage: 170, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 4.5, angle: 5.0, @@ -16,6 +17,7 @@ ComboMelee( stage: 2, base_damage: 190, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 4.0, angle: 10.0, @@ -28,6 +30,7 @@ ComboMelee( stage: 3, base_damage: 230, damage_increase: 0, + base_poise_damage: 10, knockback: 10.0, range: 4.0, angle: 10.0, diff --git a/common/net/src/msg/ecs_packet.rs b/common/net/src/msg/ecs_packet.rs index 25860655e7..599115dcd1 100644 --- a/common/net/src/msg/ecs_packet.rs +++ b/common/net/src/msg/ecs_packet.rs @@ -18,6 +18,7 @@ sum_type! { Auras(comp::Auras), Energy(comp::Energy), Health(comp::Health), + Poise(comp::Poise), LightEmitter(comp::LightEmitter), Inventory(comp::Inventory), Item(comp::Item), @@ -50,6 +51,7 @@ sum_type! { Auras(PhantomData), Energy(PhantomData), Health(PhantomData), + Poise(PhantomData), LightEmitter(PhantomData), Inventory(PhantomData), Item(PhantomData), @@ -82,6 +84,7 @@ impl sync::CompPacket for EcsCompPacket { EcsCompPacket::Auras(comp) => sync::handle_insert(comp, entity, world), EcsCompPacket::Energy(comp) => sync::handle_insert(comp, entity, world), EcsCompPacket::Health(comp) => sync::handle_insert(comp, entity, world), + EcsCompPacket::Poise(comp) => sync::handle_insert(comp, entity, world), EcsCompPacket::LightEmitter(comp) => sync::handle_insert(comp, entity, world), EcsCompPacket::Inventory(comp) => sync::handle_insert(comp, entity, world), EcsCompPacket::Item(comp) => sync::handle_insert(comp, entity, world), @@ -112,6 +115,7 @@ impl sync::CompPacket for EcsCompPacket { EcsCompPacket::Auras(comp) => sync::handle_modify(comp, entity, world), EcsCompPacket::Energy(comp) => sync::handle_modify(comp, entity, world), EcsCompPacket::Health(comp) => sync::handle_modify(comp, entity, world), + EcsCompPacket::Poise(comp) => sync::handle_modify(comp, entity, world), EcsCompPacket::LightEmitter(comp) => sync::handle_modify(comp, entity, world), EcsCompPacket::Inventory(comp) => sync::handle_modify(comp, entity, world), EcsCompPacket::Item(comp) => sync::handle_modify(comp, entity, world), @@ -142,6 +146,7 @@ impl sync::CompPacket for EcsCompPacket { EcsCompPhantom::Auras(_) => sync::handle_remove::(entity, world), EcsCompPhantom::Energy(_) => sync::handle_remove::(entity, world), EcsCompPhantom::Health(_) => sync::handle_remove::(entity, world), + EcsCompPhantom::Poise(_) => sync::handle_remove::(entity, world), EcsCompPhantom::LightEmitter(_) => { sync::handle_remove::(entity, world) }, diff --git a/common/src/combat.rs b/common/src/combat.rs index 1ba9de057d..00d9b00c7f 100644 --- a/common/src/combat.rs +++ b/common/src/combat.rs @@ -40,6 +40,7 @@ pub enum DamageSource { pub struct Damage { pub source: DamageSource, pub value: f32, + pub poise_damage: f32, } impl Damage { @@ -68,7 +69,6 @@ impl Damage { pub fn modify_damage(self, inventory: Option<&Inventory>, uid: Option) -> HealthChange { let mut damage = self.value; let damage_reduction = inventory.map_or(0.0, |inv| Damage::compute_damage_reduction(inv)); - match self.source { DamageSource::Melee => { // Critical hit @@ -84,13 +84,16 @@ impl Damage { damage += critdamage; } - HealthChange { - amount: -damage as i32, - cause: HealthSource::Damage { - kind: self.source, - by: uid, + ( + HealthChange { + amount: -damage as i32, + cause: HealthSource::Damage { + kind: self.source, + by: uid, + }, }, - } + -poise_damage as i32, + ) }, DamageSource::Projectile => { // Critical hit @@ -100,63 +103,82 @@ impl Damage { // Armor damage *= 1.0 - damage_reduction; - HealthChange { - amount: -damage as i32, - cause: HealthSource::Damage { - kind: self.source, - by: uid, + ( + HealthChange { + amount: -damage as i32, + cause: HealthSource::Damage { + kind: self.source, + by: uid, + }, }, - } + -poise_damage as i32, + ) }, DamageSource::Explosion => { // Armor damage *= 1.0 - damage_reduction; - HealthChange { - amount: -damage as i32, - cause: HealthSource::Damage { - kind: self.source, - by: uid, + ( + HealthChange { + amount: -damage as i32, + cause: HealthSource::Damage { + kind: self.source, + by: uid, + }, }, - } + -poise_damage as i32, + ) }, DamageSource::Shockwave => { // Armor damage *= 1.0 - damage_reduction; - HealthChange { - amount: -damage as i32, - cause: HealthSource::Damage { - kind: self.source, - by: uid, + ( + HealthChange { + amount: -damage as i32, + cause: HealthSource::Damage { + kind: self.source, + by: uid, + }, }, - } + -poise_damage as i32, + ) }, DamageSource::Energy => { // Armor damage *= 1.0 - damage_reduction; - HealthChange { - amount: -damage as i32, - cause: HealthSource::Damage { - kind: self.source, - by: uid, + ( + HealthChange { + amount: -damage as i32, + cause: HealthSource::Damage { + kind: self.source, + by: uid, + }, }, - } - }, - DamageSource::Healing => HealthChange { - amount: damage as i32, - cause: HealthSource::Heal { by: uid }, + -poise_damage as i32, + ) }, + DamageSource::Healing => ( + HealthChange { + amount: damage as i32, + cause: HealthSource::Heal { by: uid }, + }, + 0, + ), DamageSource::Falling => { // Armor if (damage_reduction - 1.0).abs() < f32::EPSILON { damage = 0.0; + poise_damage = 0.0; } - HealthChange { - amount: -damage as i32, - cause: HealthSource::World, - } + ( + HealthChange { + amount: -damage as i32, + cause: HealthSource::World, + }, + -poise_damage as i32, + ) }, DamageSource::Buff(_) => HealthChange { amount: -damage as i32, @@ -171,7 +193,8 @@ impl Damage { kind: self.source, by: uid, }, - }, + -poise_damage as i32, + ), } } diff --git a/common/src/comp/ability.rs b/common/src/comp/ability.rs index 6b487708f7..ec0bfe2f02 100644 --- a/common/src/comp/ability.rs +++ b/common/src/comp/ability.rs @@ -61,6 +61,7 @@ pub enum CharacterAbility { swing_duration: u64, recover_duration: u64, base_damage: u32, + base_poise_damage: u32, knockback: f32, range: f32, max_angle: f32, @@ -98,6 +99,7 @@ pub enum CharacterAbility { energy_cost: u32, base_damage: u32, scaled_damage: u32, + base_poise_damage: u32, base_knockback: f32, scaled_knockback: f32, range: f32, @@ -137,6 +139,7 @@ pub enum CharacterAbility { swing_duration: u64, recover_duration: u64, base_damage: u32, + base_poise_damage: u32, range: f32, max_angle: f32, knockback: f32, @@ -148,6 +151,7 @@ pub enum CharacterAbility { swing_duration: u64, recover_duration: u64, base_damage: u32, + base_poise_damage: u32, knockback: f32, range: f32, energy_cost: u32, @@ -162,6 +166,7 @@ pub enum CharacterAbility { energy_drain: u32, initial_damage: u32, scaled_damage: u32, + initial_poise_damage: u32, initial_knockback: f32, scaled_knockback: f32, range: f32, @@ -177,6 +182,7 @@ pub enum CharacterAbility { energy_drain: u32, initial_damage: u32, scaled_damage: u32, + initial_poise_damage: u32, initial_knockback: f32, scaled_knockback: f32, speed: f32, @@ -196,6 +202,7 @@ pub enum CharacterAbility { swing_duration: u64, recover_duration: u64, damage: u32, + poise_damage: u32, knockback: Knockback, shockwave_angle: f32, shockwave_vertical_angle: f32, @@ -228,6 +235,7 @@ impl Default for CharacterAbility { swing_duration: 250, recover_duration: 500, base_damage: 10, + base_poise_damage: 10, knockback: 0.0, range: 3.5, max_angle: 15.0, @@ -1071,6 +1079,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { swing_duration, recover_duration, base_damage, + base_poise_damage, knockback, range, max_angle, @@ -1081,6 +1090,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { swing_duration: Duration::from_millis(*swing_duration), recover_duration: Duration::from_millis(*recover_duration), base_damage: *base_damage, + base_poise_damage: *base_poise_damage, knockback: *knockback, range: *range, max_angle: *max_angle, @@ -1131,6 +1141,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { energy_cost: _, base_damage, scaled_damage, + base_poise_damage, base_knockback, scaled_knockback, range, @@ -1147,6 +1158,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { static_data: dash_melee::StaticData { base_damage: *base_damage, scaled_damage: *scaled_damage, + base_poise_damage: *base_poise_damage, base_knockback: *base_knockback, scaled_knockback: *scaled_knockback, range: *range, @@ -1224,6 +1236,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { swing_duration, recover_duration, base_damage, + base_poise_damage, knockback, range, max_angle, @@ -1236,6 +1249,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { swing_duration: Duration::from_millis(*swing_duration), recover_duration: Duration::from_millis(*recover_duration), base_damage: *base_damage, + base_poise_damage: *base_poise_damage, knockback: *knockback, range: *range, max_angle: *max_angle, @@ -1252,6 +1266,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { swing_duration, recover_duration, base_damage, + base_poise_damage, knockback, range, energy_cost, @@ -1266,6 +1281,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { swing_duration: Duration::from_millis(*swing_duration), recover_duration: Duration::from_millis(*recover_duration), base_damage: *base_damage, + base_poise_damage: *base_damage, knockback: *knockback, range: *range, energy_cost: *energy_cost, @@ -1286,6 +1302,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { energy_drain, initial_damage, scaled_damage, + initial_poise_damage, initial_knockback, scaled_knockback, speed, @@ -1301,6 +1318,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { energy_drain: *energy_drain, initial_damage: *initial_damage, scaled_damage: *scaled_damage, + initial_poise_damage: *initial_poise_damage, initial_knockback: *initial_knockback, scaled_knockback: *scaled_knockback, speed: *speed, @@ -1322,6 +1340,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { energy_drain, initial_damage, scaled_damage, + initial_poise_damage, initial_knockback, scaled_knockback, speed, @@ -1342,6 +1361,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { energy_drain: *energy_drain, initial_damage: *initial_damage, scaled_damage: *scaled_damage, + initial_poise_damage: *initial_poise_damage, speed: *speed, initial_knockback: *initial_knockback, scaled_knockback: *scaled_knockback, @@ -1394,6 +1414,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { swing_duration, recover_duration, damage, + poise_damage, knockback, shockwave_angle, shockwave_vertical_angle, @@ -1407,6 +1428,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { swing_duration: Duration::from_millis(*swing_duration), recover_duration: Duration::from_millis(*recover_duration), damage: *damage, + poise_damage: *poise_damage, knockback: *knockback, shockwave_angle: *shockwave_angle, shockwave_vertical_angle: *shockwave_vertical_angle, diff --git a/common/src/comp/body.rs b/common/src/comp/body.rs index bd6ddc6775..67bd47876e 100644 --- a/common/src/comp/body.rs +++ b/common/src/comp/body.rs @@ -444,6 +444,14 @@ impl Body { // TODO: Match on species pub fn combat_multiplier(&self) -> f32 { if let Body::Object(_) = self { 0.0 } else { 1.0 } } + pub fn base_poise(&self) -> u32 { + match self { + Body::Humanoid(_) => 100, + Body::BipedLarge(_) => 200, + _ => 100, + } + } + #[allow(unreachable_patterns)] pub fn base_exp(&self) -> u32 { match self { @@ -602,6 +610,13 @@ impl Body { } } + pub fn base_poise_dmg(&self) -> u32 { + match self { + Body::Humanoid(_) => 100, + _ => 50, + } + } + pub fn base_range(&self) -> f32 { match self { Body::Humanoid(_) => 5.0, diff --git a/common/src/comp/character_state.rs b/common/src/comp/character_state.rs index 92c2633ea4..b52ff21b16 100644 --- a/common/src/comp/character_state.rs +++ b/common/src/comp/character_state.rs @@ -44,6 +44,10 @@ pub enum CharacterState { Sneak, Glide, GlideWield, + /// A stunned state + Stunned(stunned::Data), + /// A stagger state similar to a stun but knocked to the ground + Staggered(staggered::Data), /// A basic blocking state BasicBlock, /// Player is busy equipping or unequipping weapons @@ -104,6 +108,10 @@ impl CharacterState { matches!(self, CharacterState::Sneak | CharacterState::Roll(_)) } + pub fn is_stunned(&self) -> bool { + matches!(self, CharacterState::Stunned { .. } | CharacterState::Staggered { .. }) + } + pub fn is_attack(&self) -> bool { matches!( self, diff --git a/common/src/comp/mod.rs b/common/src/comp/mod.rs index 2b3d47aeaf..ef15d30e1d 100644 --- a/common/src/comp/mod.rs +++ b/common/src/comp/mod.rs @@ -19,6 +19,7 @@ mod location; mod misc; mod phys; mod player; +pub mod poise; pub mod projectile; pub mod shockwave; pub mod skills; @@ -65,6 +66,7 @@ pub use phys::{ Sticky, Vel, }; pub use player::Player; +pub use poise::{Poise, PoiseState}; pub use projectile::{Projectile, ProjectileConstructor}; pub use shockwave::{Shockwave, ShockwaveHitEntities}; pub use skills::{Skill, SkillGroup, SkillGroupKind, SkillSet}; diff --git a/common/src/comp/poise.rs b/common/src/comp/poise.rs new file mode 100644 index 0000000000..a626b0134a --- /dev/null +++ b/common/src/comp/poise.rs @@ -0,0 +1,106 @@ +use crate::{comp::Body, sync::Uid, DamageSource}; +use serde::{Deserialize, Serialize}; +use specs::{Component, FlaggedStorage}; +use specs_idvs::IdvStorage; + +#[derive(Clone, Copy, Debug, Serialize, Deserialize)] +pub struct Poise { + base_max: u32, + current: u32, + maximum: u32, + pub is_interrupted: bool, + pub is_stunned: bool, + pub is_dazed: bool, + pub is_knockeddown: bool, +} + +impl Default for Poise { + fn default() -> Self { + Self { + current: 0, + maximum: 0, + base_max: 0, + is_interrupted: false, + is_stunned: false, + is_dazed: false, + is_knockeddown: false, + } + } +} + +#[derive(Clone, Copy, Debug, Serialize, Deserialize)] +pub enum PoiseState { + Normal, + Interrupted, + Stunned, + Dazed, + KnockedDown, +} + +impl Poise { + pub fn new(body: Body) -> Self { + let mut poise = Poise::default(); + poise.update_max_poise(Some(body)); + poise.set_to(poise.maximum()); + + poise + } + + pub fn poise_state(&self) -> PoiseState { + if self.current >= 5 * self.maximum / 10 { + PoiseState::Normal + } else if self.current >= 4 * self.maximum / 10 { + PoiseState::Interrupted + } else if self.current >= 3 * self.maximum / 10 { + PoiseState::Stunned + } else if self.current >= 2 * self.maximum / 10 { + PoiseState::Dazed + } else { + PoiseState::KnockedDown + } + } + + pub fn current(&self) -> u32 { self.current } + + pub fn maximum(&self) -> u32 { self.maximum } + + pub fn set_to(&mut self, amount: u32) { + let amount = amount.min(self.maximum); + self.current = amount; + } + + pub fn change_by(&mut self, change: i32) { + self.current = ((self.current as i32 + change).max(0) as u32).min(self.maximum); + } + + pub fn reset(&mut self) { self.current = self.maximum; } + + pub fn set_maximum(&mut self, amount: u32) { + self.maximum = amount; + self.current = self.current.min(self.maximum); + } + + fn set_base_max(&mut self, amount: u32) { + self.base_max = amount; + self.current = self.current.min(self.maximum); + } + + pub fn reset_max(&mut self) { self.maximum = self.base_max; } + + pub fn update_max_poise(&mut self, body: Option) { + if let Some(body) = body { + self.set_base_max(body.base_poise()); + self.set_maximum(body.base_poise()); + } + } + + pub fn with_max_poise(mut self, amount: u32) -> Self { + self.maximum = amount; + self.current = amount; + self + } +} + +impl Component for Poise { + type Storage = FlaggedStorage>; +} diff --git a/common/src/comp/projectile.rs b/common/src/comp/projectile.rs index 60c9a2b463..efd50b4608 100644 --- a/common/src/comp/projectile.rs +++ b/common/src/comp/projectile.rs @@ -88,6 +88,7 @@ impl ProjectileConstructor { Effect::Damage(Some(GroupTarget::OutOfGroup), Damage { source: DamageSource::Projectile, value: damage, + poise_damage: 0.0, }), Effect::Knockback(Knockback::Away(knockback)), Effect::RewardEnergy(energy_regen), @@ -115,6 +116,7 @@ impl ProjectileConstructor { effect::Effect::Damage(Damage { source: DamageSource::Explosion, value: damage, + poise_damage: 10.0, }), ), RadiusEffect::TerrainDestruction(2.0), @@ -131,6 +133,7 @@ impl ProjectileConstructor { effect::Effect::Damage(Damage { source: DamageSource::Explosion, value: damage, + poise_damage: 10.0, }), )], radius, @@ -172,6 +175,7 @@ impl ProjectileConstructor { effect::Effect::Damage(Damage { source: DamageSource::Explosion, value: damage, + poise_damage: 0.0, }), ), RadiusEffect::Entity( @@ -179,6 +183,7 @@ impl ProjectileConstructor { effect::Effect::Damage(Damage { source: DamageSource::Healing, value: heal, + poise_damage: 0.0, }), ), ], @@ -195,6 +200,7 @@ impl ProjectileConstructor { effect::Effect::Damage(Damage { source: DamageSource::Explosion, value: damage, + poise_damage: 0.0, }), ), RadiusEffect::Entity( @@ -202,6 +208,7 @@ impl ProjectileConstructor { effect::Effect::Damage(Damage { source: DamageSource::Healing, value: heal, + poise_damage: 0.0, }), ), ], diff --git a/common/src/effect.rs b/common/src/effect.rs index 9e123de118..39679d5817 100644 --- a/common/src/effect.rs +++ b/common/src/effect.rs @@ -5,6 +5,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] pub enum Effect { Health(comp::HealthChange), + Poise(i32), Damage(combat::Damage), Buff(BuffEffect), } @@ -21,6 +22,7 @@ impl Effect { pub fn info(&self) -> String { match self { Effect::Health(c) => format!("{:+} health", c.amount), + Effect::Poise(c) => format!("{:+} poise", c), Effect::Damage(d) => format!("{:+}", d.value), Effect::Buff(e) => format!("{:?} buff", e), } @@ -31,6 +33,9 @@ impl Effect { Effect::Health(change) => { change.amount = (change.amount as f32 * modifier) as i32; }, + Effect::Poise(change) => { + *change = (*change as f32 * modifier) as i32; + }, Effect::Damage(damage) => { damage.interpolate_damage(modifier, 0.0); }, diff --git a/common/src/event.rs b/common/src/event.rs index cb9aa0d858..56345c95b2 100644 --- a/common/src/event.rs +++ b/common/src/event.rs @@ -34,7 +34,7 @@ pub enum ServerEvent { }, Damage { entity: EcsEntity, - change: comp::HealthChange, + change: (comp::HealthChange, i32), }, Delete(EcsEntity), Destroy { @@ -98,6 +98,7 @@ pub enum ServerEvent { pos: comp::Pos, stats: comp::Stats, health: comp::Health, + poise: comp::Poise, loadout: comp::inventory::loadout::Loadout, body: comp::Body, agent: Option, diff --git a/common/src/states/basic_beam.rs b/common/src/states/basic_beam.rs index 07bac71c76..5419f4e6fa 100644 --- a/common/src/states/basic_beam.rs +++ b/common/src/states/basic_beam.rs @@ -122,10 +122,12 @@ impl CharacterBehavior for Data { let damage = Damage { source: DamageSource::Energy, value: self.static_data.base_dps as f32 / self.static_data.tick_rate, + poise_damage: 0.0, }; let heal = Damage { source: DamageSource::Healing, value: self.static_data.base_hps as f32 / self.static_data.tick_rate, + poise_damage: 0.0, }; let speed = self.static_data.range / self.static_data.beam_duration.as_secs_f32(); diff --git a/common/src/states/basic_melee.rs b/common/src/states/basic_melee.rs index dc3a1e94cd..7000002b56 100644 --- a/common/src/states/basic_melee.rs +++ b/common/src/states/basic_melee.rs @@ -20,6 +20,8 @@ pub struct StaticData { pub recover_duration: Duration, /// Base damage pub base_damage: u32, + /// Base poise reduction + pub base_poise_damage: u32, /// Knockback pub knockback: f32, /// Max range @@ -92,6 +94,7 @@ impl CharacterBehavior for Data { damages: vec![(Some(GroupTarget::OutOfGroup), Damage { source: DamageSource::Melee, value: self.static_data.base_damage as f32, + poise_damage: self.static_data.base_poise_damage as f32, })], range: self.static_data.range, max_angle: 180_f32.to_radians(), diff --git a/common/src/states/behavior.rs b/common/src/states/behavior.rs index f2b6f1ed7c..0ee227e3fe 100644 --- a/common/src/states/behavior.rs +++ b/common/src/states/behavior.rs @@ -1,7 +1,7 @@ use crate::{ comp::{ Attacking, Beam, Body, CharacterState, ControlAction, Controller, ControllerInputs, Energy, - Health, Inventory, Ori, PhysicsState, Pos, StateUpdate, Stats, Vel, + Health, Inventory, Ori, PhysicsState, Poise, Pos, StateUpdate, Stats, Vel, }, resources::DeltaTime, uid::Uid, @@ -51,6 +51,7 @@ pub struct JoinData<'a> { pub controller: &'a Controller, pub inputs: &'a ControllerInputs, pub health: &'a Health, + pub poise: Option<&'a Poise>, pub energy: &'a Energy, pub inventory: &'a Inventory, pub body: &'a Body, @@ -80,6 +81,7 @@ pub type JoinTuple<'a> = ( RestrictedMut<'a, Inventory>, &'a mut Controller, &'a Health, + Option<&'a Poise>, &'a Body, &'a PhysicsState, Option<&'a Attacking>, @@ -101,10 +103,11 @@ impl<'a> JoinData<'a> { controller: j.8, inputs: &j.8.inputs, health: j.9, - body: j.10, - physics: j.11, - attacking: j.12, - stats: j.14, + poise: j.10, + body: j.11, + physics: j.12, + attacking: j.13, + stats: j.15, updater, dt, } diff --git a/common/src/states/charged_melee.rs b/common/src/states/charged_melee.rs index 21821d3a0c..bc9aa1c49e 100644 --- a/common/src/states/charged_melee.rs +++ b/common/src/states/charged_melee.rs @@ -24,6 +24,8 @@ pub struct StaticData { pub initial_knockback: f32, /// How much the knockback is scaled by pub scaled_knockback: f32, + /// Initial poise damage + pub initial_poise_damage: u32, /// Max range pub range: f32, /// Max angle (45.0 will give you a 90.0 angle window) @@ -152,6 +154,7 @@ impl CharacterBehavior for Data { source: DamageSource::Melee, value: self.static_data.initial_damage as f32 + self.charge_amount * self.static_data.scaled_damage as f32, + poise_damage: self.static_data.initial_poise_damage as f32, }; let knockback = self.static_data.initial_knockback + self.charge_amount * self.static_data.scaled_knockback; diff --git a/common/src/states/charged_ranged.rs b/common/src/states/charged_ranged.rs index 90c0ec468b..521224246b 100644 --- a/common/src/states/charged_ranged.rs +++ b/common/src/states/charged_ranged.rs @@ -30,6 +30,8 @@ pub struct StaticData { pub initial_damage: u32, /// How much the damage scales as it is charged pub scaled_damage: u32, + /// Initial poise damage + pub initial_poise_damage: u32, /// How much knockback there is with no charge pub initial_knockback: f32, /// How much the knockback scales as it is charged @@ -106,6 +108,7 @@ impl CharacterBehavior for Data { source: DamageSource::Projectile, value: self.static_data.initial_damage as f32 + charge_frac * self.static_data.scaled_damage as f32, + poise_damage: self.static_data.initial_poise_damage as f32, }; let knockback = self.static_data.initial_knockback + charge_frac * self.static_data.scaled_knockback; diff --git a/common/src/states/combo_melee.rs b/common/src/states/combo_melee.rs index e432e693ad..e344751fb0 100644 --- a/common/src/states/combo_melee.rs +++ b/common/src/states/combo_melee.rs @@ -17,6 +17,8 @@ pub struct Stage { pub base_damage: u32, /// Damage scaling per combo pub damage_increase: u32, + /// Initial poise damage of stage + pub base_poise_damage: u32, /// Knockback of stage pub knockback: f32, /// Range of attack @@ -40,6 +42,7 @@ impl Stage { stage: self.stage, base_damage: self.base_damage, damage_increase: self.damage_increase, + base_poise_damage: self.base_poise_damage, knockback: self.knockback, range: self.range, angle: self.angle, @@ -163,10 +166,12 @@ impl CharacterBehavior for Data { .scales_from_combo .min(self.combo / self.static_data.num_stages) * self.static_data.stage_data[stage_index].damage_increase; + let poise_damage = self.static_data.stage_data[stage_index].base_poise_damage; data.updater.insert(data.entity, Attacking { damages: vec![(Some(GroupTarget::OutOfGroup), Damage { source: DamageSource::Melee, value: damage as f32, + poise_damage: poise_damage as f32, })], range: self.static_data.stage_data[stage_index].range, max_angle: self.static_data.stage_data[stage_index].angle.to_radians(), diff --git a/common/src/states/dash_melee.rs b/common/src/states/dash_melee.rs index 597bd33f7b..1f4365ff0a 100644 --- a/common/src/states/dash_melee.rs +++ b/common/src/states/dash_melee.rs @@ -17,6 +17,8 @@ pub struct StaticData { pub base_damage: u32, /// How much the attack scales in damage pub scaled_damage: u32, + /// Initial poise damage + pub base_poise_damage: u32, /// How much the attack knocks the target back initially pub base_knockback: f32, /// How much the attack scales in knockback @@ -129,6 +131,7 @@ impl CharacterBehavior for Data { source: DamageSource::Melee, value: self.static_data.base_damage as f32 + charge_frac * self.static_data.scaled_damage as f32, + poise_damage: self.static_data.base_poise_damage as f32, }; let knockback = self.static_data.base_knockback + charge_frac * self.static_data.scaled_knockback; diff --git a/common/src/states/leap_melee.rs b/common/src/states/leap_melee.rs index 268cbfefd5..c21f41e7c5 100644 --- a/common/src/states/leap_melee.rs +++ b/common/src/states/leap_melee.rs @@ -22,6 +22,8 @@ pub struct StaticData { pub recover_duration: Duration, /// Base damage pub base_damage: u32, + /// Base poise damage + pub base_poise_damage: u32, /// Knockback pub knockback: f32, /// Max range @@ -150,6 +152,7 @@ impl CharacterBehavior for Data { damages: vec![(Some(GroupTarget::OutOfGroup), Damage { source: DamageSource::Melee, value: self.static_data.base_damage as f32, + poise_damage: self.static_data.base_poise_damage as f32, })], range: self.static_data.range, max_angle: self.static_data.max_angle.to_radians(), diff --git a/common/src/states/mod.rs b/common/src/states/mod.rs index d5a1c5e4fe..e451032719 100644 --- a/common/src/states/mod.rs +++ b/common/src/states/mod.rs @@ -21,5 +21,7 @@ pub mod shockwave; pub mod sit; pub mod sneak; pub mod spin_melee; +pub mod staggered; +pub mod stunned; pub mod utils; pub mod wielding; diff --git a/common/src/states/shockwave.rs b/common/src/states/shockwave.rs index 8d0b7270e6..8f9a49564a 100644 --- a/common/src/states/shockwave.rs +++ b/common/src/states/shockwave.rs @@ -21,6 +21,8 @@ pub struct StaticData { pub recover_duration: Duration, /// Base damage pub damage: u32, + /// Base poise damage + pub poise_damage: u32, /// Knockback pub knockback: Knockback, /// Angle of the shockwave @@ -86,6 +88,7 @@ impl CharacterBehavior for Data { damages: vec![(Some(GroupTarget::OutOfGroup), Damage { source: DamageSource::Shockwave, value: self.static_data.damage as f32, + poise_damage: self.static_data.poise_damage as f32, })], knockback: self.static_data.knockback, requires_ground: self.static_data.requires_ground, diff --git a/common/src/states/spin_melee.rs b/common/src/states/spin_melee.rs index 9d301f3e6c..43b330f95c 100644 --- a/common/src/states/spin_melee.rs +++ b/common/src/states/spin_melee.rs @@ -22,6 +22,8 @@ pub struct StaticData { pub recover_duration: Duration, /// Base damage pub base_damage: u32, + /// Base poise damage + pub base_poise_damage: u32, /// Knockback pub knockback: f32, /// Range @@ -114,6 +116,7 @@ impl CharacterBehavior for Data { damages: vec![(Some(GroupTarget::OutOfGroup), Damage { source: DamageSource::Melee, value: self.static_data.base_damage as f32, + poise_damage: self.static_data.base_damage as f32, })], range: self.static_data.range, max_angle: 180_f32.to_radians(), diff --git a/common/src/states/staggered.rs b/common/src/states/staggered.rs new file mode 100644 index 0000000000..44b2127b12 --- /dev/null +++ b/common/src/states/staggered.rs @@ -0,0 +1,89 @@ +use super::utils::*; +use crate::{ + comp::{CharacterState, StateUpdate}, + states::behavior::{CharacterBehavior, JoinData}, + Knockback, +}; +use serde::{Deserialize, Serialize}; +use std::time::Duration; + +/// Separated out to condense update portions of character state +#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] +pub struct StaticData { + /// How long until state begins to exit + pub buildup_duration: Duration, + /// How long the state has until exiting + pub recover_duration: Duration, + /// Knockback + pub knockback: Knockback, +} + +#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] +pub struct Data { + /// Struct containing data that does not change over the course of the + /// character state + pub static_data: StaticData, + /// Timer for each stage + pub timer: Duration, + /// What section the character stage is in + pub stage_section: StageSection, + /// Whether the character was wielding or not + pub was_wielded: bool, +} + +impl CharacterBehavior for Data { + fn behavior(&self, data: &JoinData) -> StateUpdate { + println!("staggered"); + let mut update = StateUpdate::from(data); + match self.stage_section { + StageSection::Buildup => { + if self.timer < self.static_data.buildup_duration { + // Build up + update.character = CharacterState::Staggered(Data { + timer: self + .timer + .checked_add(Duration::from_secs_f32(data.dt.0)) + .unwrap_or_default(), + ..*self + }); + } else { + // Transitions to recovery section of stage + update.character = CharacterState::Staggered(Data { + timer: Duration::default(), + stage_section: StageSection::Recover, + ..*self + }); + } + }, + StageSection::Recover => { + if self.timer < self.static_data.recover_duration { + // Recovery + update.character = CharacterState::Staggered(Data { + timer: self + .timer + .checked_add(Duration::from_secs_f32(data.dt.0)) + .unwrap_or_default(), + ..*self + }); + } else { + // Done + if self.was_wielded { + update.character = CharacterState::Wielding; + } else { + update.character = CharacterState::Idle; + } + } + }, + _ => { + // If it somehow ends up in an incorrect stage section + if self.was_wielded { + update.character = CharacterState::Wielding; + } else { + update.character = CharacterState::Idle; + } + }, + } + + update + } +} diff --git a/common/src/states/stunned.rs b/common/src/states/stunned.rs new file mode 100644 index 0000000000..16d609efbf --- /dev/null +++ b/common/src/states/stunned.rs @@ -0,0 +1,89 @@ +use super::utils::*; +use crate::{ + comp::{CharacterState, StateUpdate}, + states::behavior::{CharacterBehavior, JoinData}, + Knockback, +}; +use serde::{Deserialize, Serialize}; +use std::time::Duration; + +/// Separated out to condense update portions of character state +#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] +pub struct StaticData { + /// How long until state begins to exit + pub buildup_duration: Duration, + /// How long the state has until exiting + pub recover_duration: Duration, + /// Knockback + pub knockback: Knockback, +} + +#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] +pub struct Data { + /// Struct containing data that does not change over the course of the + /// character state + pub static_data: StaticData, + /// Timer for each stage + pub timer: Duration, + /// What section the character stage is in + pub stage_section: StageSection, + /// Whether the character was wielding or not + pub was_wielded: bool, +} + +impl CharacterBehavior for Data { + fn behavior(&self, data: &JoinData) -> StateUpdate { + println!("stunned"); + let mut update = StateUpdate::from(data); + match self.stage_section { + StageSection::Buildup => { + if self.timer < self.static_data.buildup_duration { + // Build up + update.character = CharacterState::Stunned(Data { + timer: self + .timer + .checked_add(Duration::from_secs_f32(data.dt.0)) + .unwrap_or_default(), + ..*self + }); + } else { + // Transitions to recovery section of stage + update.character = CharacterState::Stunned(Data { + timer: Duration::default(), + stage_section: StageSection::Recover, + ..*self + }); + } + }, + StageSection::Recover => { + if self.timer < self.static_data.recover_duration { + // Recovery + update.character = CharacterState::Stunned(Data { + timer: self + .timer + .checked_add(Duration::from_secs_f32(data.dt.0)) + .unwrap_or_default(), + ..*self + }); + } else { + // Done + if self.was_wielded { + update.character = CharacterState::Wielding; + } else { + update.character = CharacterState::Idle; + } + } + }, + _ => { + // If it somehow ends up in an incorrect stage section + if self.was_wielded { + update.character = CharacterState::Wielding; + } else { + update.character = CharacterState::Idle; + } + }, + } + + update + } +} diff --git a/common/sys/src/beam.rs b/common/sys/src/beam.rs index 3ab6cc6612..46b07c58c6 100644 --- a/common/sys/src/beam.rs +++ b/common/sys/src/beam.rs @@ -174,14 +174,17 @@ impl<'a> System<'a> for Sys { if let Some(entity) = beam_owner { server_emitter.emit(ServerEvent::Damage { entity, - change: HealthChange { - amount: (-change.amount as f32 - * beam_segment.lifesteal_eff) - as i32, - cause: HealthSource::Heal { - by: beam_segment.owner, + change: ( + HealthChange { + amount: (-change.0.amount as f32 + * beam_segment.lifesteal_eff) + as i32, + cause: HealthSource::Heal { + by: beam_segment.owner, + }, }, - }, + 0, + ), }); server_emitter.emit(ServerEvent::EnergyChange { entity, diff --git a/common/sys/src/buff.rs b/common/sys/src/buff.rs index b7a12fbfef..f6d0d5b1c2 100644 --- a/common/sys/src/buff.rs +++ b/common/sys/src/buff.rs @@ -114,7 +114,7 @@ impl<'a> System<'a> for Sys { }; server_emitter.emit(ServerEvent::Damage { entity, - change: HealthChange { amount, cause }, + change: (HealthChange { amount, cause }, 0), }); *accumulated = 0.0; }; diff --git a/common/sys/src/character_behavior.rs b/common/sys/src/character_behavior.rs index 37a055060a..c86b0a45e9 100644 --- a/common/sys/src/character_behavior.rs +++ b/common/sys/src/character_behavior.rs @@ -4,7 +4,7 @@ use common::{ comp::{ inventory::slot::{EquipSlot, Slot}, Attacking, Beam, Body, CharacterState, Controller, Energy, Health, Inventory, Mounting, - Ori, PhysicsState, Pos, StateUpdate, Stats, Vel, + Ori, PhysicsState, Poise, Pos, StateUpdate, Stats, Vel, }, event::{EventBus, LocalEvent, ServerEvent}, metrics::SysMetrics, @@ -65,6 +65,7 @@ impl<'a> System<'a> for Sys { WriteStorage<'a, Inventory>, WriteStorage<'a, Controller>, ReadStorage<'a, Health>, + ReadStorage<'a, Poise>, ReadStorage<'a, Body>, ReadStorage<'a, PhysicsState>, ReadStorage<'a, Attacking>, @@ -93,6 +94,7 @@ impl<'a> System<'a> for Sys { mut inventories, mut controllers, healths, + poises, bodies, physics_states, attacking_storage, @@ -118,6 +120,7 @@ impl<'a> System<'a> for Sys { &mut inventories.restrict_mut(), &mut controllers, &healths, + poises.maybe(), &bodies, &physics_states, attacking_storage.maybe(), @@ -151,6 +154,8 @@ impl<'a> System<'a> for Sys { CharacterState::GlideWield => { states::glide_wield::Data.handle_event(&j, action) }, + CharacterState::Stunned(data) => data.handle_event(&j, action), + CharacterState::Staggered(data) => data.handle_event(&j, action), CharacterState::Sit => { states::sit::Data::handle_event(&states::sit::Data, &j, action) }, @@ -191,6 +196,8 @@ impl<'a> System<'a> for Sys { CharacterState::Climb => states::climb::Data.behavior(&j), CharacterState::Glide => states::glide::Data.behavior(&j), CharacterState::GlideWield => states::glide_wield::Data.behavior(&j), + CharacterState::Stunned(data) => data.behavior(&j), + CharacterState::Staggered(data) => data.behavior(&j), CharacterState::Sit => states::sit::Data::behavior(&states::sit::Data, &j), CharacterState::Dance => states::dance::Data::behavior(&states::dance::Data, &j), CharacterState::Sneak => states::sneak::Data::behavior(&states::sneak::Data, &j), diff --git a/common/sys/src/melee.rs b/common/sys/src/melee.rs index dffb3b4407..305b7f175b 100644 --- a/common/sys/src/melee.rs +++ b/common/sys/src/melee.rs @@ -132,14 +132,14 @@ impl<'a> System<'a> for Sys { server_emitter.emit(ServerEvent::Damage { entity: b, change }); // Apply bleeding buff on melee hits with 10% chance // TODO: Don't have buff uniformly applied on all melee attacks - if change.amount < 0 && thread_rng().gen::() < 0.1 { + if change.0.amount < 0 && thread_rng().gen::() < 0.1 { use buff::*; server_emitter.emit(ServerEvent::Buff { entity: b, buff_change: BuffChange::Add(Buff::new( BuffKind::Bleeding, BuffData { - strength: -change.amount as f32 / 10.0, + strength: -change.0.amount as f32 / 10.0, duration: Some(Duration::from_secs(10)), }, vec![BuffCategory::Physical], diff --git a/common/sys/src/state.rs b/common/sys/src/state.rs index e16af077e9..c5ba883d4c 100644 --- a/common/sys/src/state.rs +++ b/common/sys/src/state.rs @@ -116,6 +116,7 @@ impl State { ecs.register::(); ecs.register::(); ecs.register::(); + ecs.register::(); ecs.register::(); ecs.register::(); ecs.register::(); diff --git a/common/sys/src/stats.rs b/common/sys/src/stats.rs index 26137611b5..7cbe221915 100644 --- a/common/sys/src/stats.rs +++ b/common/sys/src/stats.rs @@ -214,7 +214,10 @@ impl<'a> System<'a> for Sys { }, // Non-combat abilities that consume energy; // temporarily stall energy gain, but preserve regen_rate. - CharacterState::Roll { .. } | CharacterState::Climb { .. } => {}, + CharacterState::Roll { .. } + | CharacterState::Climb { .. } + | CharacterState::Stunned { .. } + | CharacterState::Staggered { .. } => {}, } } sys_metrics.stats_ns.store( diff --git a/server/src/cmd.rs b/server/src/cmd.rs index 0f50f4fa9c..38126a846f 100644 --- a/server/src/cmd.rs +++ b/server/src/cmd.rs @@ -825,6 +825,7 @@ fn handle_spawn( npc::BodyType::from_body(body), )), comp::Health::new(body, 1), + comp::Poise::new(body), inventory, body, ) @@ -932,10 +933,11 @@ fn handle_spawn_training_dummy( let stats = comp::Stats::new("Training Dummy".to_string()); let health = comp::Health::new(body, 0); + let poise = comp::Poise::new(body); server .state - .create_npc(pos, stats, health, Inventory::new_empty(), body) + .create_npc(pos, stats, health, poise, Inventory::new_empty(), body) .with(comp::Vel(vel)) .with(comp::MountState::Unmounted) .build(); @@ -1363,6 +1365,7 @@ fn handle_explosion( Effect::Damage(Damage { source: DamageSource::Explosion, value: 100.0 * power, + poise_damage: 100.0, }), ), RadiusEffect::TerrainDestruction(power), diff --git a/server/src/events/entity_creation.rs b/server/src/events/entity_creation.rs index 2e6154a69d..03fa9dd55a 100644 --- a/server/src/events/entity_creation.rs +++ b/server/src/events/entity_creation.rs @@ -9,7 +9,7 @@ use common::{ group, inventory::loadout::Loadout, shockwave, Agent, Alignment, Body, Gravity, Health, HomeChunk, Inventory, Item, ItemDrop, - LightEmitter, Ori, Pos, Projectile, Scale, Stats, Vel, WaypointArea, + LightEmitter, Ori, Poise, Pos, Projectile, Scale, Stats, Vel, WaypointArea, }, outcome::Outcome, rtsim::RtSimEntity, @@ -49,6 +49,7 @@ pub fn handle_create_npc( pos: Pos, stats: Stats, health: Health, + poise: Poise, loadout: Loadout, body: Body, agent: impl Into>, @@ -71,7 +72,7 @@ pub fn handle_create_npc( let entity = server .state - .create_npc(pos, stats, health, inventory, body) + .create_npc(pos, stats, health, poise, inventory, body) .with(scale) .with(alignment); diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index d8aad62ceb..2c475ac275 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -14,7 +14,7 @@ use common::{ self, aura, buff, chat::{KillSource, KillType}, object, Alignment, Body, Energy, EnergyChange, Group, Health, HealthChange, HealthSource, - Inventory, Item, Player, Pos, Stats, + Inventory, Item, Player, Poise, PoiseState, Pos, Stats, }, effect::Effect, lottery::Lottery, @@ -23,7 +23,7 @@ use common::{ terrain::{Block, TerrainGrid}, uid::{Uid, UidAllocator}, vol::ReadVol, - Damage, DamageSource, Explosion, GroupTarget, RadiusEffect, + Damage, DamageSource, Explosion, GroupTarget, Knockback, RadiusEffect, }; use common_net::{msg::ServerGeneral, sync::WorldSyncExt}; use common_sys::state::BlockChange; @@ -31,13 +31,89 @@ use comp::item::Reagent; use hashbrown::HashSet; use rand::prelude::*; use specs::{join::Join, saveload::MarkerAllocator, Entity as EcsEntity, WorldExt}; +use std::time::Duration; use tracing::error; use vek::Vec3; -pub fn handle_damage(server: &Server, entity: EcsEntity, change: HealthChange) { +pub fn handle_damage(server: &Server, entity: EcsEntity, change: (HealthChange, i32)) { let ecs = &server.state.ecs(); if let Some(mut health) = ecs.write_storage::().get_mut(entity) { health.change_by(change); + if let Some(poise) = ecs.write_storage::().get_mut(entity) { + poise.change_by(change.1); + let was_wielded = + if let Some(character_state) = ecs.read_storage::().get(entity) { + character_state.is_wield() + } else { + false + }; + match poise.poise_state() { + PoiseState::Normal => {}, + PoiseState::Interrupted => { + poise.reset(); + let _ = ecs.write_storage::().insert( + entity, + comp::CharacterState::Stunned(common::states::stunned::Data { + static_data: common::states::stunned::StaticData { + buildup_duration: Duration::from_millis(250), + recover_duration: Duration::from_millis(250), + knockback: Knockback::Away(0.0), + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }), + ); + }, + PoiseState::Stunned => { + poise.reset(); + let _ = ecs.write_storage::().insert( + entity, + comp::CharacterState::Stunned(common::states::stunned::Data { + static_data: common::states::stunned::StaticData { + buildup_duration: Duration::from_millis(250), + recover_duration: Duration::from_millis(250), + knockback: Knockback::Away(0.0), + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }), + ); + }, + PoiseState::Dazed => { + poise.reset(); + let _ = ecs.write_storage::().insert( + entity, + comp::CharacterState::Stunned(common::states::stunned::Data { + static_data: common::states::stunned::StaticData { + buildup_duration: Duration::from_millis(250), + recover_duration: Duration::from_millis(250), + knockback: Knockback::Away(0.0), + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }), + ); + }, + PoiseState::KnockedDown => { + poise.reset(); + let _ = ecs.write_storage::().insert( + entity, + comp::CharacterState::Stunned(common::states::stunned::Data { + static_data: common::states::stunned::StaticData { + buildup_duration: Duration::from_millis(250), + recover_duration: Duration::from_millis(250), + knockback: Knockback::Away(0.0), + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }), + ); + }, + } } } @@ -487,6 +563,7 @@ pub fn handle_land_on_ground(server: &Server, entity: EcsEntity, vel: Vec3) let damage = Damage { source: DamageSource::Falling, value: falldmg, + poise_damage: 70.0, }; let inventories = state.ecs().read_storage::(); let change = damage.modify_damage(inventories.get(entity), None); diff --git a/server/src/events/mod.rs b/server/src/events/mod.rs index cd747048b9..6f2cd52d14 100644 --- a/server/src/events/mod.rs +++ b/server/src/events/mod.rs @@ -110,6 +110,7 @@ impl Server { pos, stats, health, + poise, loadout, body, agent, @@ -123,6 +124,7 @@ impl Server { pos, stats, health, + poise, loadout, body, agent, diff --git a/server/src/rtsim/tick.rs b/server/src/rtsim/tick.rs index bc8631ca16..9a92926740 100644 --- a/server/src/rtsim/tick.rs +++ b/server/src/rtsim/tick.rs @@ -103,6 +103,7 @@ impl<'a> System<'a> for Sys { comp::Body::Humanoid(_) => entity.get_loadout(), _ => LoadoutBuilder::new().build(), }, + poise: comp::Poise::new(body), body, agent: Some(comp::Agent::new( None, diff --git a/server/src/state_ext.rs b/server/src/state_ext.rs index cc5c98b296..fc4e10e28f 100644 --- a/server/src/state_ext.rs +++ b/server/src/state_ext.rs @@ -36,6 +36,7 @@ pub trait StateExt { stats: comp::Stats, health: comp::Health, inventory: comp::Inventory, + poise: comp::Poise, body: comp::Body, ) -> EcsEntityBuilder; /// Build a static object entity @@ -95,6 +96,12 @@ impl StateExt for State { .get_mut(entity) .map(|mut health| health.change_by(change)); }, + Effect::Poise(change) => { + self.ecs() + .write_storage::() + .get_mut(entity) + .map(|poise| poise.change_by(change)); + }, Effect::Buff(buff) => { self.ecs() .write_storage::() @@ -117,6 +124,7 @@ impl StateExt for State { stats: comp::Stats, health: comp::Health, inventory: comp::Inventory, + poise: comp::Poise, body: comp::Body, ) -> EcsEntityBuilder { self.ecs_mut() @@ -149,6 +157,7 @@ impl StateExt for State { )) .with(stats) .with(health) + .with(poise) .with(comp::Alignment::Npc) .with(comp::Gravity(1.0)) .with(comp::CharacterState::default()) @@ -292,6 +301,7 @@ impl StateExt for State { ); self.write_component(entity, comp::Health::new(body, health_level)); self.write_component(entity, comp::Energy::new(body, energy_level)); + self.write_component(entity, comp::Poise::new(body)); self.write_component(entity, stats); self.write_component(entity, inventory); self.write_component( diff --git a/server/src/sys/object.rs b/server/src/sys/object.rs index 332794a6b6..0bd31f55a4 100644 --- a/server/src/sys/object.rs +++ b/server/src/sys/object.rs @@ -54,6 +54,7 @@ impl<'a> System<'a> for Sys { Effect::Damage(Damage { source: DamageSource::Explosion, value: 500.0, + poise_damage: 60.0, }), ), RadiusEffect::TerrainDestruction(4.0), @@ -81,6 +82,7 @@ impl<'a> System<'a> for Sys { Effect::Damage(Damage { source: DamageSource::Explosion, value: 50.0, + poise_damage: 10.0, }), ), RadiusEffect::TerrainDestruction(4.0), diff --git a/server/src/sys/sentinel.rs b/server/src/sys/sentinel.rs index f3c5daee58..9bfe4b6451 100644 --- a/server/src/sys/sentinel.rs +++ b/server/src/sys/sentinel.rs @@ -2,8 +2,8 @@ use super::SysTimer; use common::{ comp::{ Auras, BeamSegment, Body, Buffs, CanBuild, CharacterState, Collider, Energy, Gravity, - Group, Health, Inventory, Item, LightEmitter, Mass, MountState, Mounting, Ori, Player, Pos, - Scale, Shockwave, Stats, Sticky, Vel, + Group, Health, Inventory, Item, LightEmitter, Mass, MountState, Mounting, Ori, Player, + Poise, Pos, Scale, Shockwave, Stats, Sticky, Vel, }, span, uid::Uid, @@ -51,6 +51,7 @@ pub struct TrackedComps<'a> { pub auras: ReadStorage<'a, Auras>, pub energy: ReadStorage<'a, Energy>, pub health: ReadStorage<'a, Health>, + pub poise: ReadStorage<'a, Poise>, pub can_build: ReadStorage<'a, CanBuild>, pub light_emitter: ReadStorage<'a, LightEmitter>, pub item: ReadStorage<'a, Item>, @@ -179,6 +180,7 @@ pub struct ReadTrackers<'a> { pub auras: ReadExpect<'a, UpdateTracker>, pub energy: ReadExpect<'a, UpdateTracker>, pub health: ReadExpect<'a, UpdateTracker>, + pub poise: ReadExpect<'a, UpdateTracker>, pub can_build: ReadExpect<'a, UpdateTracker>, pub light_emitter: ReadExpect<'a, UpdateTracker>, pub inventory: ReadExpect<'a, UpdateTracker>, @@ -252,6 +254,7 @@ pub struct WriteTrackers<'a> { auras: WriteExpect<'a, UpdateTracker>, energy: WriteExpect<'a, UpdateTracker>, health: WriteExpect<'a, UpdateTracker>, + poise: WriteExpect<'a, UpdateTracker>, can_build: WriteExpect<'a, UpdateTracker>, light_emitter: WriteExpect<'a, UpdateTracker>, item: WriteExpect<'a, UpdateTracker>, @@ -319,6 +322,7 @@ fn record_changes(comps: &TrackedComps, trackers: &mut WriteTrackers) { log_counts!(stats, "Stats"); log_counts!(energy, "Energies"); log_vounts!(health, "Healths"); + log_vounts!(poise, "Poises"); log_counts!(light_emitter, "Light emitters"); log_counts!(item, "Items"); log_counts!(scale, "Scales"); @@ -344,6 +348,7 @@ pub fn register_trackers(world: &mut World) { world.register_tracker::(); world.register_tracker::(); world.register_tracker::(); + world.register_tracker::(); world.register_tracker::(); world.register_tracker::(); world.register_tracker::(); diff --git a/server/src/sys/terrain.rs b/server/src/sys/terrain.rs index 1b6c2000f1..0f303be62a 100644 --- a/server/src/sys/terrain.rs +++ b/server/src/sys/terrain.rs @@ -152,6 +152,7 @@ impl<'a> System<'a> for Sys { LoadoutBuilder::build_loadout(body, main_tool, loadout_config).build(); let health = comp::Health::new(body, entity.level.unwrap_or(0)); + let poise = comp::Poise::new(stats.body_type); let can_speak = match body { comp::Body::Humanoid(_) => alignment == comp::Alignment::Npc, @@ -176,6 +177,7 @@ impl<'a> System<'a> for Sys { pos: Pos(entity.pos), stats, health, + poise, loadout, agent: if entity.has_agency { Some(comp::Agent::new( From e3965ae0aba52b81884f769b4d8346b8fc13d61d Mon Sep 17 00:00:00 2001 From: jiminycrick Date: Sat, 5 Dec 2020 18:29:46 -0800 Subject: [PATCH 02/11] Very basic functioning stun --- common/src/combat.rs | 104 +++++++++-------------- common/src/comp/beam.rs | 8 +- common/src/comp/character_state.rs | 4 +- common/src/comp/mod.rs | 2 +- common/src/comp/poise.rs | 89 ++++++++++++++++++- common/src/comp/projectile.rs | 59 ++++++------- common/src/comp/shockwave.rs | 4 +- common/src/effect.rs | 6 +- common/src/event.rs | 6 +- common/src/explosion.rs | 2 +- common/src/states/basic_beam.rs | 21 +++-- common/src/states/basic_melee.rs | 21 +++-- common/src/states/charged_melee.rs | 12 ++- common/src/states/charged_ranged.rs | 13 ++- common/src/states/combo_melee.rs | 22 +++-- common/src/states/dash_melee.rs | 16 +++- common/src/states/leap_melee.rs | 18 ++-- common/src/states/shockwave.rs | 18 ++-- common/src/states/spin_melee.rs | 21 +++-- common/sys/src/beam.rs | 27 +++--- common/sys/src/buff.rs | 2 +- common/sys/src/melee.rs | 17 +++- common/sys/src/projectile.rs | 8 +- common/sys/src/shockwave.rs | 8 +- server/src/cmd.rs | 12 +-- server/src/events/entity_manipulation.rs | 91 +++++++++++++------- server/src/events/mod.rs | 3 +- server/src/sys/object.rs | 22 +++-- 28 files changed, 413 insertions(+), 223 deletions(-) diff --git a/common/src/combat.rs b/common/src/combat.rs index 00d9b00c7f..02c9433822 100644 --- a/common/src/combat.rs +++ b/common/src/combat.rs @@ -40,7 +40,6 @@ pub enum DamageSource { pub struct Damage { pub source: DamageSource, pub value: f32, - pub poise_damage: f32, } impl Damage { @@ -84,16 +83,13 @@ impl Damage { damage += critdamage; } - ( - HealthChange { - amount: -damage as i32, - cause: HealthSource::Damage { - kind: self.source, - by: uid, - }, + HealthChange { + amount: -damage as i32, + cause: HealthSource::Damage { + kind: self.source, + by: uid, }, - -poise_damage as i32, - ) + } }, DamageSource::Projectile => { // Critical hit @@ -103,82 +99,63 @@ impl Damage { // Armor damage *= 1.0 - damage_reduction; - ( - HealthChange { - amount: -damage as i32, - cause: HealthSource::Damage { - kind: self.source, - by: uid, - }, + HealthChange { + amount: -damage as i32, + cause: HealthSource::Damage { + kind: self.source, + by: uid, }, - -poise_damage as i32, - ) + } }, DamageSource::Explosion => { // Armor damage *= 1.0 - damage_reduction; - ( - HealthChange { - amount: -damage as i32, - cause: HealthSource::Damage { - kind: self.source, - by: uid, - }, + HealthChange { + amount: -damage as i32, + cause: HealthSource::Damage { + kind: self.source, + by: uid, }, - -poise_damage as i32, - ) + } }, DamageSource::Shockwave => { // Armor damage *= 1.0 - damage_reduction; - ( - HealthChange { - amount: -damage as i32, - cause: HealthSource::Damage { - kind: self.source, - by: uid, - }, + HealthChange { + amount: -damage as i32, + cause: HealthSource::Damage { + kind: self.source, + by: uid, }, - -poise_damage as i32, - ) + } }, DamageSource::Energy => { // Armor damage *= 1.0 - damage_reduction; - ( - HealthChange { - amount: -damage as i32, - cause: HealthSource::Damage { - kind: self.source, - by: uid, - }, - }, - -poise_damage as i32, - ) - }, - DamageSource::Healing => ( HealthChange { - amount: damage as i32, - cause: HealthSource::Heal { by: uid }, - }, - 0, - ), + amount: -damage as i32, + cause: HealthSource::Damage { + kind: self.source, + by: uid, + }, + } + }, + DamageSource::Healing => HealthChange { + amount: damage as i32, + cause: HealthSource::Heal { by: uid }, + }, DamageSource::Falling => { // Armor if (damage_reduction - 1.0).abs() < f32::EPSILON { damage = 0.0; - poise_damage = 0.0; } - ( - HealthChange { - amount: -damage as i32, - cause: HealthSource::World, - }, - -poise_damage as i32, - ) + HealthChange { + amount: -damage as i32, + cause: HealthSource::World, + }, }, DamageSource::Buff(_) => HealthChange { amount: -damage as i32, @@ -193,8 +170,7 @@ impl Damage { kind: self.source, by: uid, }, - -poise_damage as i32, - ), + }, } } diff --git a/common/src/comp/beam.rs b/common/src/comp/beam.rs index 7aafcedffd..9527c17302 100644 --- a/common/src/comp/beam.rs +++ b/common/src/comp/beam.rs @@ -1,4 +1,8 @@ -use crate::{uid::Uid, Damage, GroupTarget}; +use crate::{ + comp::{PoiseChange, PoiseSource}, + uid::Uid, + Damage, GroupTarget, +}; use serde::{Deserialize, Serialize}; use specs::{Component, DerefFlaggedStorage}; use specs_idvs::IdvStorage; @@ -8,7 +12,7 @@ use std::time::Duration; pub struct Properties { pub angle: f32, pub speed: f32, - pub damages: Vec<(Option, Damage)>, + pub effects: Vec<(Option, Damage, PoiseChange)>, pub lifesteal_eff: f32, pub energy_regen: u32, pub energy_cost: u32, diff --git a/common/src/comp/character_state.rs b/common/src/comp/character_state.rs index b52ff21b16..4b8c528bb5 100644 --- a/common/src/comp/character_state.rs +++ b/common/src/comp/character_state.rs @@ -1,5 +1,5 @@ use crate::{ - comp::{Energy, Ori, Pos, Vel}, + comp::{Energy, Ori, PoiseChange, Pos, Vel}, event::{LocalEvent, ServerEvent}, states::{behavior::JoinData, *}, Damage, GroupTarget, Knockback, @@ -172,7 +172,7 @@ impl Component for CharacterState { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] pub struct Attacking { - pub damages: Vec<(Option, Damage)>, + pub effects: Vec<(Option, Damage, PoiseChange)>, pub range: f32, pub max_angle: f32, pub applied: bool, diff --git a/common/src/comp/mod.rs b/common/src/comp/mod.rs index ef15d30e1d..5bfa41ae23 100644 --- a/common/src/comp/mod.rs +++ b/common/src/comp/mod.rs @@ -66,7 +66,7 @@ pub use phys::{ Sticky, Vel, }; pub use player::Player; -pub use poise::{Poise, PoiseState}; +pub use poise::{Poise, PoiseChange, PoiseSource, PoiseState}; pub use projectile::{Projectile, ProjectileConstructor}; pub use shockwave::{Shockwave, ShockwaveHitEntities}; pub use skills::{Skill, SkillGroup, SkillGroupKind, SkillSet}; diff --git a/common/src/comp/poise.rs b/common/src/comp/poise.rs index a626b0134a..aaaa42f6c6 100644 --- a/common/src/comp/poise.rs +++ b/common/src/comp/poise.rs @@ -1,8 +1,91 @@ -use crate::{comp::Body, sync::Uid, DamageSource}; +use crate::{ + comp::{Body, Loadout}, + sync::Uid, + DamageSource, +}; use serde::{Deserialize, Serialize}; use specs::{Component, FlaggedStorage}; use specs_idvs::IdvStorage; +#[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] +pub struct PoiseChange { + pub amount: i32, + pub source: PoiseSource, +} + +impl PoiseChange { + pub fn modify_poise_damage(self, loadout: Option<&Loadout>, uid: Option) -> PoiseChange { + println!("Pre modified: {:?}", self.amount); + let mut poise_damage = -self.amount as f32; + match self.source { + PoiseSource::Melee => { + // Armor + let damage_reduction = loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); + poise_damage *= 1.0 - damage_reduction; + PoiseChange { + amount: -poise_damage as i32, + source: PoiseSource::Melee, + } + }, + PoiseSource::Projectile => { + // Armor + let damage_reduction = loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); + poise_damage *= 1.0 - damage_reduction; + PoiseChange { + amount: -poise_damage as i32, + source: PoiseSource::Projectile, + } + }, + PoiseSource::Shockwave => { + // Armor + let damage_reduction = loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); + poise_damage *= 1.0 - damage_reduction; + PoiseChange { + amount: -poise_damage as i32, + source: PoiseSource::Shockwave, + } + }, + PoiseSource::Explosion => { + // Armor + let damage_reduction = loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); + poise_damage *= 1.0 - damage_reduction; + PoiseChange { + amount: -poise_damage as i32, + source: PoiseSource::Explosion, + } + }, + PoiseSource::Falling => { + // Armor + let damage_reduction = loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); + if (damage_reduction - 1.0).abs() < f32::EPSILON { + poise_damage = 0.0; + } + PoiseChange { + amount: -poise_damage as i32, + source: PoiseSource::Falling, + } + }, + _ => PoiseChange { + amount: self.amount, + source: PoiseSource::Other, + }, + } + } +} + +#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize, Deserialize)] +pub enum PoiseSource { + LevelUp, + Melee, + Projectile, + Explosion, + Beam, + Shockwave, + Falling, + Revive, + Other, +} + #[derive(Clone, Copy, Debug, Serialize, Deserialize)] pub struct Poise { base_max: u32, @@ -69,8 +152,8 @@ impl Poise { self.current = amount; } - pub fn change_by(&mut self, change: i32) { - self.current = ((self.current as i32 + change).max(0) as u32).min(self.maximum); + pub fn change_by(&mut self, change: PoiseChange) { + self.current = ((self.current as i32 + change.amount).max(0) as u32).min(self.maximum); } pub fn reset(&mut self) { self.current = self.maximum; } diff --git a/common/src/comp/projectile.rs b/common/src/comp/projectile.rs index efd50b4608..cc68a396dc 100644 --- a/common/src/comp/projectile.rs +++ b/common/src/comp/projectile.rs @@ -1,5 +1,8 @@ use crate::{ - comp::buff::{BuffCategory, BuffData, BuffKind}, + comp::{ + buff::{BuffCategory, BuffData, BuffKind}, + PoiseChange, PoiseSource, + }, effect::{self, BuffEffect}, uid::Uid, Damage, DamageSource, Explosion, GroupTarget, Knockback, RadiusEffect, @@ -11,7 +14,7 @@ use std::time::Duration; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] pub enum Effect { - Damage(Option, Damage), + Damage(Option, Damage, PoiseChange), Knockback(Knockback), RewardEnergy(u32), Explode(Explosion), @@ -85,11 +88,17 @@ impl ProjectileConstructor { Projectile { hit_solid: vec![Effect::Stick], hit_entity: vec![ - Effect::Damage(Some(GroupTarget::OutOfGroup), Damage { - source: DamageSource::Projectile, - value: damage, - poise_damage: 0.0, - }), + Effect::Damage( + Some(GroupTarget::OutOfGroup), + Damage { + source: DamageSource::Projectile, + value: damage, + }, + PoiseChange { + amount: 0, + source: PoiseSource::Projectile, + }, + ), Effect::Knockback(Knockback::Away(knockback)), Effect::RewardEnergy(energy_regen), Effect::Vanish, @@ -111,14 +120,12 @@ impl ProjectileConstructor { hit_solid: vec![ Effect::Explode(Explosion { effects: vec![ - RadiusEffect::Entity( - Some(GroupTarget::OutOfGroup), + RadiusEffect::Entity(Some(GroupTarget::OutOfGroup), vec![ effect::Effect::Damage(Damage { source: DamageSource::Explosion, value: damage, - poise_damage: 10.0, }), - ), + ]), RadiusEffect::TerrainDestruction(2.0), ], radius, @@ -128,14 +135,12 @@ impl ProjectileConstructor { ], hit_entity: vec![ Effect::Explode(Explosion { - effects: vec![RadiusEffect::Entity( - Some(GroupTarget::OutOfGroup), + effects: vec![RadiusEffect::Entity(Some(GroupTarget::OutOfGroup), vec![ effect::Effect::Damage(Damage { source: DamageSource::Explosion, value: damage, - poise_damage: 10.0, }), - )], + ])], radius, energy_regen, }), @@ -170,22 +175,18 @@ impl ProjectileConstructor { hit_solid: vec![ Effect::Explode(Explosion { effects: vec![ - RadiusEffect::Entity( - Some(GroupTarget::OutOfGroup), + RadiusEffect::Entity(Some(GroupTarget::OutOfGroup), vec![ effect::Effect::Damage(Damage { source: DamageSource::Explosion, value: damage, - poise_damage: 0.0, }), - ), - RadiusEffect::Entity( - Some(GroupTarget::InGroup), + ]), + RadiusEffect::Entity(Some(GroupTarget::InGroup), vec![ effect::Effect::Damage(Damage { source: DamageSource::Healing, value: heal, - poise_damage: 0.0, }), - ), + ]), ], radius, energy_regen: 0, @@ -195,22 +196,18 @@ impl ProjectileConstructor { hit_entity: vec![ Effect::Explode(Explosion { effects: vec![ - RadiusEffect::Entity( - Some(GroupTarget::OutOfGroup), + RadiusEffect::Entity(Some(GroupTarget::OutOfGroup), vec![ effect::Effect::Damage(Damage { source: DamageSource::Explosion, value: damage, - poise_damage: 0.0, }), - ), - RadiusEffect::Entity( - Some(GroupTarget::InGroup), + ]), + RadiusEffect::Entity(Some(GroupTarget::InGroup), vec![ effect::Effect::Damage(Damage { source: DamageSource::Healing, value: heal, - poise_damage: 0.0, }), - ), + ]), ], radius, energy_regen: 0, diff --git a/common/src/comp/shockwave.rs b/common/src/comp/shockwave.rs index 041d53302a..a844bc29c3 100644 --- a/common/src/comp/shockwave.rs +++ b/common/src/comp/shockwave.rs @@ -1,4 +1,4 @@ -use crate::{uid::Uid, Damage, GroupTarget, Knockback}; +use crate::{comp::PoiseChange, uid::Uid, Damage, GroupTarget, Knockback}; use serde::{Deserialize, Serialize}; use specs::{Component, DerefFlaggedStorage}; use specs_idvs::IdvStorage; @@ -9,7 +9,7 @@ pub struct Properties { pub angle: f32, pub vertical_angle: f32, pub speed: f32, - pub damages: Vec<(Option, Damage)>, + pub effects: Vec<(Option, Damage, PoiseChange)>, pub knockback: Knockback, pub requires_ground: bool, pub duration: Duration, diff --git a/common/src/effect.rs b/common/src/effect.rs index 39679d5817..2d825c9947 100644 --- a/common/src/effect.rs +++ b/common/src/effect.rs @@ -5,7 +5,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] pub enum Effect { Health(comp::HealthChange), - Poise(i32), + Poise(comp::PoiseChange), Damage(combat::Damage), Buff(BuffEffect), } @@ -22,7 +22,7 @@ impl Effect { pub fn info(&self) -> String { match self { Effect::Health(c) => format!("{:+} health", c.amount), - Effect::Poise(c) => format!("{:+} poise", c), + Effect::Poise(c) => format!("{:+} poise", c.amount), Effect::Damage(d) => format!("{:+}", d.value), Effect::Buff(e) => format!("{:?} buff", e), } @@ -34,7 +34,7 @@ impl Effect { change.amount = (change.amount as f32 * modifier) as i32; }, Effect::Poise(change) => { - *change = (*change as f32 * modifier) as i32; + change.amount = (change.amount as f32 * modifier) as i32; }, Effect::Damage(damage) => { damage.interpolate_damage(modifier, 0.0); diff --git a/common/src/event.rs b/common/src/event.rs index 56345c95b2..7bd9590d35 100644 --- a/common/src/event.rs +++ b/common/src/event.rs @@ -34,7 +34,11 @@ pub enum ServerEvent { }, Damage { entity: EcsEntity, - change: (comp::HealthChange, i32), + change: comp::HealthChange, + }, + PoiseChange { + entity: EcsEntity, + change: comp::PoiseChange, }, Delete(EcsEntity), Destroy { diff --git a/common/src/explosion.rs b/common/src/explosion.rs index 889602ecd2..e6c5ef4696 100644 --- a/common/src/explosion.rs +++ b/common/src/explosion.rs @@ -11,5 +11,5 @@ pub struct Explosion { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] pub enum RadiusEffect { TerrainDestruction(f32), - Entity(Option, Effect), + Entity(Option, Vec), } diff --git a/common/src/states/basic_beam.rs b/common/src/states/basic_beam.rs index 5419f4e6fa..0d08a2725a 100644 --- a/common/src/states/basic_beam.rs +++ b/common/src/states/basic_beam.rs @@ -1,5 +1,8 @@ use crate::{ - comp::{beam, Body, CharacterState, EnergyChange, EnergySource, Ori, Pos, StateUpdate}, + comp::{ + beam, Body, CharacterState, EnergyChange, EnergySource, Ori, PoiseChange, PoiseSource, Pos, + StateUpdate, + }, event::ServerEvent, states::{ behavior::{CharacterBehavior, JoinData}, @@ -122,21 +125,27 @@ impl CharacterBehavior for Data { let damage = Damage { source: DamageSource::Energy, value: self.static_data.base_dps as f32 / self.static_data.tick_rate, - poise_damage: 0.0, + }; + let poise_damage = PoiseChange { + amount: 0, + source: PoiseSource::Beam, }; let heal = Damage { source: DamageSource::Healing, value: self.static_data.base_hps as f32 / self.static_data.tick_rate, - poise_damage: 0.0, + }; + let reverse_poise = PoiseChange { + amount: 0, + source: PoiseSource::Beam, }; let speed = self.static_data.range / self.static_data.beam_duration.as_secs_f32(); let properties = beam::Properties { angle: self.static_data.max_angle.to_radians(), speed, - damages: vec![ - (Some(GroupTarget::OutOfGroup), damage), - (Some(GroupTarget::InGroup), heal), + effects: vec![ + (Some(GroupTarget::OutOfGroup), damage, poise_damage), + (Some(GroupTarget::InGroup), heal, reverse_poise), ], lifesteal_eff: self.static_data.lifesteal_eff, energy_regen: self.static_data.energy_regen, diff --git a/common/src/states/basic_melee.rs b/common/src/states/basic_melee.rs index 7000002b56..29c5ea2215 100644 --- a/common/src/states/basic_melee.rs +++ b/common/src/states/basic_melee.rs @@ -1,5 +1,8 @@ use crate::{ - comp::{Attacking, CharacterState, EnergyChange, EnergySource, StateUpdate}, + comp::{ + Attacking, CharacterState, EnergyChange, EnergySource, PoiseChange, PoiseSource, + StateUpdate, + }, states::{ behavior::{CharacterBehavior, JoinData}, utils::*, @@ -91,11 +94,17 @@ impl CharacterBehavior for Data { // Hit attempt data.updater.insert(data.entity, Attacking { - damages: vec![(Some(GroupTarget::OutOfGroup), Damage { - source: DamageSource::Melee, - value: self.static_data.base_damage as f32, - poise_damage: self.static_data.base_poise_damage as f32, - })], + effects: vec![( + Some(GroupTarget::OutOfGroup), + Damage { + source: DamageSource::Melee, + value: self.static_data.base_damage as f32, + }, + PoiseChange { + amount: -(self.static_data.base_poise_damage as i32), + source: PoiseSource::Melee, + }, + )], range: self.static_data.range, max_angle: 180_f32.to_radians(), applied: false, diff --git a/common/src/states/charged_melee.rs b/common/src/states/charged_melee.rs index bc9aa1c49e..cc8555688d 100644 --- a/common/src/states/charged_melee.rs +++ b/common/src/states/charged_melee.rs @@ -1,5 +1,8 @@ use crate::{ - comp::{Attacking, CharacterState, EnergyChange, EnergySource, StateUpdate}, + comp::{ + Attacking, CharacterState, EnergyChange, EnergySource, PoiseChange, PoiseSource, + StateUpdate, + }, states::{ behavior::{CharacterBehavior, JoinData}, utils::{StageSection, *}, @@ -154,14 +157,17 @@ impl CharacterBehavior for Data { source: DamageSource::Melee, value: self.static_data.initial_damage as f32 + self.charge_amount * self.static_data.scaled_damage as f32, - poise_damage: self.static_data.initial_poise_damage as f32, + }; + let mut poise_damage = PoiseChange { + amount: -(self.static_data.initial_poise_damage as i32), + source: PoiseSource::Melee, }; let knockback = self.static_data.initial_knockback + self.charge_amount * self.static_data.scaled_knockback; // Hit attempt data.updater.insert(data.entity, Attacking { - damages: vec![(Some(GroupTarget::OutOfGroup), damage)], + effects: vec![(Some(GroupTarget::OutOfGroup), damage, poise_damage)], range: self.static_data.range, max_angle: self.static_data.max_angle.to_radians(), applied: false, diff --git a/common/src/states/charged_ranged.rs b/common/src/states/charged_ranged.rs index 521224246b..6701725b9a 100644 --- a/common/src/states/charged_ranged.rs +++ b/common/src/states/charged_ranged.rs @@ -2,7 +2,7 @@ use crate::{ comp::{ buff::{BuffCategory, BuffData, BuffKind}, projectile, Body, CharacterState, EnergyChange, EnergySource, Gravity, LightEmitter, - Projectile, StateUpdate, + PoiseChange, PoiseSource, Projectile, StateUpdate, }, effect::BuffEffect, event::ServerEvent, @@ -108,7 +108,10 @@ impl CharacterBehavior for Data { source: DamageSource::Projectile, value: self.static_data.initial_damage as f32 + charge_frac * self.static_data.scaled_damage as f32, - poise_damage: self.static_data.initial_poise_damage as f32, + }; + let mut poise_damage = PoiseChange { + amount: -(self.static_data.initial_poise_damage as i32), + source: PoiseSource::Projectile, }; let knockback = self.static_data.initial_knockback + charge_frac * self.static_data.scaled_knockback; @@ -116,7 +119,11 @@ impl CharacterBehavior for Data { let projectile = Projectile { hit_solid: vec![projectile::Effect::Stick], hit_entity: vec![ - projectile::Effect::Damage(Some(GroupTarget::OutOfGroup), damage), + projectile::Effect::Damage( + Some(GroupTarget::OutOfGroup), + damage, + poise_damage, + ), projectile::Effect::Knockback(Knockback::Away(knockback)), projectile::Effect::Vanish, projectile::Effect::Buff { diff --git a/common/src/states/combo_melee.rs b/common/src/states/combo_melee.rs index e344751fb0..4b95cf475c 100644 --- a/common/src/states/combo_melee.rs +++ b/common/src/states/combo_melee.rs @@ -1,5 +1,8 @@ use crate::{ - comp::{Attacking, CharacterState, EnergyChange, EnergySource, StateUpdate}, + comp::{ + Attacking, CharacterState, EnergyChange, EnergySource, PoiseChange, PoiseSource, + StateUpdate, + }, states::{ behavior::{CharacterBehavior, JoinData}, utils::*, @@ -167,12 +170,19 @@ impl CharacterBehavior for Data { .min(self.combo / self.static_data.num_stages) * self.static_data.stage_data[stage_index].damage_increase; let poise_damage = self.static_data.stage_data[stage_index].base_poise_damage; + println!("Combo melee poise damage: {:?}", poise_damage); data.updater.insert(data.entity, Attacking { - damages: vec![(Some(GroupTarget::OutOfGroup), Damage { - source: DamageSource::Melee, - value: damage as f32, - poise_damage: poise_damage as f32, - })], + effects: vec![( + Some(GroupTarget::OutOfGroup), + Damage { + source: DamageSource::Melee, + value: damage as f32, + }, + PoiseChange { + amount: -(poise_damage as i32), + source: PoiseSource::Melee, + }, + )], range: self.static_data.stage_data[stage_index].range, max_angle: self.static_data.stage_data[stage_index].angle.to_radians(), applied: false, diff --git a/common/src/states/dash_melee.rs b/common/src/states/dash_melee.rs index 1f4365ff0a..4ea8084bef 100644 --- a/common/src/states/dash_melee.rs +++ b/common/src/states/dash_melee.rs @@ -1,5 +1,8 @@ use crate::{ - comp::{Attacking, CharacterState, EnergyChange, EnergySource, StateUpdate}, + comp::{ + Attacking, CharacterState, EnergyChange, EnergySource, PoiseChange, PoiseSource, + StateUpdate, + }, states::{ behavior::{CharacterBehavior, JoinData}, utils::*, @@ -131,12 +134,19 @@ impl CharacterBehavior for Data { source: DamageSource::Melee, value: self.static_data.base_damage as f32 + charge_frac * self.static_data.scaled_damage as f32, - poise_damage: self.static_data.base_poise_damage as f32, + }; + let mut poise_damage = PoiseChange { + amount: -(self.static_data.base_poise_damage as i32), + source: PoiseSource::Melee, }; let knockback = self.static_data.base_knockback + charge_frac * self.static_data.scaled_knockback; data.updater.insert(data.entity, Attacking { - damages: vec![(Some(GroupTarget::OutOfGroup), damage)], + effects: vec![( + Some(GroupTarget::OutOfGroup), + damage, + poise_damage, + )], range: self.static_data.range, max_angle: self.static_data.angle.to_radians(), applied: false, diff --git a/common/src/states/leap_melee.rs b/common/src/states/leap_melee.rs index c21f41e7c5..84abe45801 100644 --- a/common/src/states/leap_melee.rs +++ b/common/src/states/leap_melee.rs @@ -1,5 +1,5 @@ use crate::{ - comp::{Attacking, CharacterState, StateUpdate}, + comp::{Attacking, CharacterState, PoiseChange, PoiseSource, StateUpdate}, states::{ behavior::{CharacterBehavior, JoinData}, utils::{StageSection, *}, @@ -149,11 +149,17 @@ impl CharacterBehavior for Data { if !self.exhausted { // Hit attempt, when animation plays data.updater.insert(data.entity, Attacking { - damages: vec![(Some(GroupTarget::OutOfGroup), Damage { - source: DamageSource::Melee, - value: self.static_data.base_damage as f32, - poise_damage: self.static_data.base_poise_damage as f32, - })], + effects: vec![( + Some(GroupTarget::OutOfGroup), + Damage { + source: DamageSource::Melee, + value: self.static_data.base_damage as f32, + }, + PoiseChange { + amount: -(self.static_data.base_poise_damage as i32), + source: PoiseSource::Melee, + }, + )], range: self.static_data.range, max_angle: self.static_data.max_angle.to_radians(), applied: false, diff --git a/common/src/states/shockwave.rs b/common/src/states/shockwave.rs index 8f9a49564a..3261dc380b 100644 --- a/common/src/states/shockwave.rs +++ b/common/src/states/shockwave.rs @@ -1,5 +1,5 @@ use crate::{ - comp::{shockwave, CharacterState, StateUpdate}, + comp::{shockwave, CharacterState, PoiseChange, PoiseSource, StateUpdate}, event::ServerEvent, states::{ behavior::{CharacterBehavior, JoinData}, @@ -85,11 +85,17 @@ impl CharacterBehavior for Data { vertical_angle: self.static_data.shockwave_vertical_angle, speed: self.static_data.shockwave_speed, duration: self.static_data.shockwave_duration, - damages: vec![(Some(GroupTarget::OutOfGroup), Damage { - source: DamageSource::Shockwave, - value: self.static_data.damage as f32, - poise_damage: self.static_data.poise_damage as f32, - })], + effects: vec![( + Some(GroupTarget::OutOfGroup), + Damage { + source: DamageSource::Shockwave, + value: self.static_data.damage as f32, + }, + PoiseChange { + amount: -(self.static_data.poise_damage as i32), + source: PoiseSource::Shockwave, + }, + )], knockback: self.static_data.knockback, requires_ground: self.static_data.requires_ground, owner: Some(*data.uid), diff --git a/common/src/states/spin_melee.rs b/common/src/states/spin_melee.rs index 43b330f95c..98af7965f3 100644 --- a/common/src/states/spin_melee.rs +++ b/common/src/states/spin_melee.rs @@ -1,5 +1,8 @@ use crate::{ - comp::{Attacking, CharacterState, EnergyChange, EnergySource, StateUpdate}, + comp::{ + Attacking, CharacterState, EnergyChange, EnergySource, PoiseChange, PoiseSource, + StateUpdate, + }, consts::GRAVITY, states::{ behavior::{CharacterBehavior, JoinData}, @@ -113,11 +116,17 @@ impl CharacterBehavior for Data { }); // Hit attempt data.updater.insert(data.entity, Attacking { - damages: vec![(Some(GroupTarget::OutOfGroup), Damage { - source: DamageSource::Melee, - value: self.static_data.base_damage as f32, - poise_damage: self.static_data.base_damage as f32, - })], + effects: vec![( + Some(GroupTarget::OutOfGroup), + Damage { + source: DamageSource::Melee, + value: self.static_data.base_damage as f32, + }, + PoiseChange { + amount: -(self.static_data.base_poise_damage as i32), + source: PoiseSource::Melee, + }, + )], range: self.static_data.range, max_angle: 180_f32.to_radians(), applied: false, diff --git a/common/sys/src/beam.rs b/common/sys/src/beam.rs index 46b07c58c6..c0c81bf5ff 100644 --- a/common/sys/src/beam.rs +++ b/common/sys/src/beam.rs @@ -1,7 +1,7 @@ use common::{ comp::{ group, Beam, BeamSegment, Body, Energy, EnergyChange, EnergySource, Health, HealthChange, - HealthSource, Inventory, Last, Ori, Pos, Scale, + HealthSource, Inventory, Last, Ori, PoiseChange, PoiseSource, Pos, Scale, }, event::{EventBus, ServerEvent}, resources::{DeltaTime, Time}, @@ -158,7 +158,7 @@ impl<'a> System<'a> for Sys { continue; } - for (target, damage) in beam_segment.damages.iter() { + for (target, damage, poise_damage) in beam_segment.effects.iter() { if let Some(target) = target { if *target != target_group { continue; @@ -167,6 +167,8 @@ impl<'a> System<'a> for Sys { // Modify damage let change = damage.modify_damage(inventories.get(b), beam_segment.owner); + let poise_change = poise_damage + .modify_poise_damage(inventories.get(b), beam_segment.owner); match target { Some(GroupTarget::OutOfGroup) => { @@ -174,17 +176,18 @@ impl<'a> System<'a> for Sys { if let Some(entity) = beam_owner { server_emitter.emit(ServerEvent::Damage { entity, - change: ( - HealthChange { - amount: (-change.0.amount as f32 - * beam_segment.lifesteal_eff) - as i32, - cause: HealthSource::Heal { - by: beam_segment.owner, - }, + change: HealthChange { + amount: (-change.amount as f32 + * beam_segment.lifesteal_eff) + as i32, + cause: HealthSource::Heal { + by: beam_segment.owner, }, - 0, - ), + }, + }); + server_emitter.emit(ServerEvent::PoiseChange { + entity, + change: poise_change, }); server_emitter.emit(ServerEvent::EnergyChange { entity, diff --git a/common/sys/src/buff.rs b/common/sys/src/buff.rs index f6d0d5b1c2..b7a12fbfef 100644 --- a/common/sys/src/buff.rs +++ b/common/sys/src/buff.rs @@ -114,7 +114,7 @@ impl<'a> System<'a> for Sys { }; server_emitter.emit(ServerEvent::Damage { entity, - change: (HealthChange { amount, cause }, 0), + change: HealthChange { amount, cause }, }); *accumulated = 0.0; }; diff --git a/common/sys/src/melee.rs b/common/sys/src/melee.rs index 305b7f175b..50ad8423d0 100644 --- a/common/sys/src/melee.rs +++ b/common/sys/src/melee.rs @@ -1,5 +1,7 @@ use common::{ - comp::{buff, group, Attacking, Body, CharacterState, Health, Inventory, Ori, Pos, Scale}, + comp::{ + buff, group, Attacking, Body, CharacterState, Health, Inventory, Ori, Poise, Pos, Scale, + }, event::{EventBus, LocalEvent, ServerEvent}, metrics::SysMetrics, span, @@ -118,7 +120,7 @@ impl<'a> System<'a> for Sys { GroupTarget::OutOfGroup }; - for (target, damage) in attack.damages.iter() { + for (target, damage, poise_change) in attack.effects.iter() { if let Some(target) = target { if *target != target_group || (!matches!(target, GroupTarget::InGroup) && is_dodge) @@ -128,18 +130,25 @@ impl<'a> System<'a> for Sys { } let change = damage.modify_damage(inventories.get(b), Some(*uid)); + //let poise_change = + // poise_change.modify_poise_damage(loadouts.get(b), Some(*uid)); + println!("poise_change in melee: {:?}", poise_change); server_emitter.emit(ServerEvent::Damage { entity: b, change }); + server_emitter.emit(ServerEvent::PoiseChange { + entity: b, + change: *poise_change, + }); // Apply bleeding buff on melee hits with 10% chance // TODO: Don't have buff uniformly applied on all melee attacks - if change.0.amount < 0 && thread_rng().gen::() < 0.1 { + if change.amount < 0 && thread_rng().gen::() < 0.1 { use buff::*; server_emitter.emit(ServerEvent::Buff { entity: b, buff_change: BuffChange::Add(Buff::new( BuffKind::Bleeding, BuffData { - strength: -change.0.amount as f32 / 10.0, + strength: -change.amount as f32 / 10.0, duration: Some(Duration::from_secs(10)), }, vec![BuffCategory::Physical], diff --git a/common/sys/src/projectile.rs b/common/sys/src/projectile.rs index 7ff5a2e670..c1a5e32c3d 100644 --- a/common/sys/src/projectile.rs +++ b/common/sys/src/projectile.rs @@ -102,7 +102,7 @@ impl<'a> System<'a> for Sys { let projectile = &mut *projectile; for effect in projectile.hit_entity.drain(..) { match effect { - projectile::Effect::Damage(target, damage) => { + projectile::Effect::Damage(target, damage, poise_damage) => { if Some(other) == projectile.owner { continue; } @@ -119,10 +119,16 @@ impl<'a> System<'a> for Sys { let other_entity_inventory = inventories.get(other_entity); let change = damage.modify_damage(other_entity_inventory, projectile.owner); + let poise_change = poise_damage + .modify_poise_damage(other_entity_inventory, projectile.owner); server_emitter.emit(ServerEvent::Damage { entity: other_entity, change, }); + server_emitter.emit(ServerEvent::PoiseChange { + entity: other_entity, + change: poise_change, + }); } }, projectile::Effect::Knockback(knockback) => { diff --git a/common/sys/src/shockwave.rs b/common/sys/src/shockwave.rs index 8db1047a44..fae49b339e 100644 --- a/common/sys/src/shockwave.rs +++ b/common/sys/src/shockwave.rs @@ -191,7 +191,7 @@ impl<'a> System<'a> for Sys { && (!shockwave.requires_ground || physics_state_b.on_ground); if hit { - for (target, damage) in shockwave.damages.iter() { + for (target, damage, poise_damage) in shockwave.effects.iter() { if let Some(target) = target { if *target != target_group { continue; @@ -200,8 +200,14 @@ impl<'a> System<'a> for Sys { let owner_uid = shockwave.owner.unwrap_or(*uid); let change = damage.modify_damage(inventories.get(b), Some(owner_uid)); + let poise_change = + poise_damage.modify_poise_damage(inventories.get(b), Some(owner_uid)); server_emitter.emit(ServerEvent::Damage { entity: b, change }); + server_emitter.emit(ServerEvent::PoiseChange { + entity: b, + change: poise_change, + }); shockwave_hit_list.hit_entities.push(*uid_b); let kb_dir = Dir::new((pos_b.0 - pos.0).try_normalized().unwrap_or(*ori.0)); diff --git a/server/src/cmd.rs b/server/src/cmd.rs index 38126a846f..75f6429ceb 100644 --- a/server/src/cmd.rs +++ b/server/src/cmd.rs @@ -1360,14 +1360,10 @@ fn handle_explosion( pos: pos.0, explosion: Explosion { effects: vec![ - RadiusEffect::Entity( - None, - Effect::Damage(Damage { - source: DamageSource::Explosion, - value: 100.0 * power, - poise_damage: 100.0, - }), - ), + RadiusEffect::Entity(None, vec![Effect::Damage(Damage { + source: DamageSource::Explosion, + value: 100.0 * power, + })]), RadiusEffect::TerrainDestruction(power), ], radius: 3.0 * power, diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index 2c475ac275..f7ef50c0bb 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -13,8 +13,9 @@ use common::{ comp::{ self, aura, buff, chat::{KillSource, KillType}, - object, Alignment, Body, Energy, EnergyChange, Group, Health, HealthChange, HealthSource, - Inventory, Item, Player, Poise, PoiseState, Pos, Stats, + object, poise, Alignment, Body, Energy, EnergyChange, Group, Health, HealthChange, + HealthSource, Inventory, Item, Player, Poise, PoiseChange, PoiseSource, PoiseState, Pos, + Stats, }, effect::Effect, lottery::Lottery, @@ -35,12 +36,11 @@ use std::time::Duration; use tracing::error; use vek::Vec3; -pub fn handle_damage(server: &Server, entity: EcsEntity, change: (HealthChange, i32)) { +pub fn handle_poise(server: &Server, entity: EcsEntity, change: PoiseChange) { let ecs = &server.state.ecs(); - if let Some(mut health) = ecs.write_storage::().get_mut(entity) { - health.change_by(change); if let Some(poise) = ecs.write_storage::().get_mut(entity) { - poise.change_by(change.1); + poise.change_by(change); + println!("poise: {:?}", change); let was_wielded = if let Some(character_state) = ecs.read_storage::().get(entity) { character_state.is_wield() @@ -116,6 +116,12 @@ pub fn handle_damage(server: &Server, entity: EcsEntity, change: (HealthChange, } } } +pub fn handle_damage(server: &Server, entity: EcsEntity, change: HealthChange) { + let ecs = &server.state.ecs(); + if let Some(health) = ecs.write_storage::().get_mut(entity) { + health.change_by(change); + } +} pub fn handle_knockback(server: &Server, entity: EcsEntity, impulse: Vec3) { let ecs = &server.state.ecs(); @@ -559,15 +565,22 @@ pub fn handle_land_on_ground(server: &Server, entity: EcsEntity, vel: Vec3) let state = &server.state; if vel.z <= -30.0 { if let Some(mut health) = state.ecs().write_storage::().get_mut(entity) { - let falldmg = (vel.z.powi(2) / 20.0 - 40.0) * 10.0; - let damage = Damage { - source: DamageSource::Falling, - value: falldmg, - poise_damage: 70.0, - }; - let inventories = state.ecs().read_storage::(); - let change = damage.modify_damage(inventories.get(entity), None); - health.change_by(change); + if let Some(poise) = state.ecs().write_storage::().get_mut(entity) { + let falldmg = (vel.z.powi(2) / 20.0 - 40.0) * 10.0; + let damage = Damage { + source: DamageSource::Falling, + value: falldmg, + }; + let poise_damage = PoiseChange { + amount: -(falldmg / 2.0) as i32, + source: PoiseSource::Falling, + }; + let inventories = state.ecs().read_storage::(); + let change = damage.modify_damage(inventories.get(entity), None); + let poise_change = poise_damage.modify_poise_damage(inventories.get(entity), None); + health.change_by(change); + poise.change_by(poise_change); + } } } } @@ -641,15 +654,29 @@ pub fn handle_explosion( } else { 1.0 }; + ecs.write_resource::>() .push(Outcome::Explosion { pos, power: outcome_power, radius: explosion.radius, - is_attack: explosion - .effects - .iter() - .any(|e| matches!(e, RadiusEffect::Entity(_, Effect::Damage(_)))), + is_attack: true, //explosion + //.effects + //.iter() + ////.any(|e| matches!(e, RadiusEffect::Entity(_, Effect::Damage(_)))), + //.any(|e| match e { + // RadiusEffect::Entity(_, effect_vec) => { + // effect_vec.iter().any(|f| { + // matches!( + // f, + // Effect::Damage(Damage { + // source: DamageSource::Healing, + // .. + // }) + // ) + // }) + // }, + //}), reagent, }); let owner_entity = owner.and_then(|uid| { @@ -733,7 +760,7 @@ pub fn handle_explosion( .cast(); } }, - RadiusEffect::Entity(target, mut effect) => { + RadiusEffect::Entity(target, mut effects) => { for (entity_b, pos_b) in (&ecs.entities(), &ecs.read_storage::()).join() { // See if entities are in the same group @@ -767,17 +794,19 @@ pub fn handle_explosion( .map_or(false, |h| !h.is_dead); if is_alive { - effect.modify_strength(strength); - server.state().apply_effect(entity_b, effect.clone(), owner); - // Apply energy change - if let Some(owner) = owner_entity { - if let Some(mut energy) = - ecs.write_storage::().get_mut(owner) - { - energy.change_by(EnergyChange { - amount: explosion.energy_regen as i32, - source: comp::EnergySource::HitEnemy, - }); + for effect in effects.iter_mut() { + effect.modify_strength(strength); + server.state().apply_effect(entity_b, effect.clone(), owner); + // Apply energy change + if let Some(owner) = owner_entity { + if let Some(mut energy) = + ecs.write_storage::().get_mut(owner) + { + energy.change_by(EnergyChange { + amount: explosion.energy_regen as i32, + source: comp::EnergySource::HitEnemy, + }); + } } } } diff --git a/server/src/events/mod.rs b/server/src/events/mod.rs index 6f2cd52d14..f939c8bd0e 100644 --- a/server/src/events/mod.rs +++ b/server/src/events/mod.rs @@ -9,7 +9,7 @@ use entity_creation::{ }; use entity_manipulation::{ handle_aura, handle_buff, handle_damage, handle_delete, handle_destroy, handle_energy_change, - handle_explosion, handle_knockback, handle_land_on_ground, handle_respawn, + handle_explosion, handle_knockback, handle_land_on_ground, handle_poise, handle_respawn, }; use group_manip::handle_group; use interaction::{handle_lantern, handle_mount, handle_possess, handle_unmount}; @@ -83,6 +83,7 @@ impl Server { handle_knockback(&self, entity, impulse) }, ServerEvent::Damage { entity, change } => handle_damage(&self, entity, change), + ServerEvent::PoiseChange { entity, change } => handle_poise(&self, entity, change), ServerEvent::Delete(entity) => handle_delete(self, entity), ServerEvent::Destroy { entity, cause } => handle_destroy(self, entity, cause), ServerEvent::InventoryManip(entity, manip) => handle_inventory(self, entity, manip), diff --git a/server/src/sys/object.rs b/server/src/sys/object.rs index 0bd31f55a4..5220f61044 100644 --- a/server/src/sys/object.rs +++ b/server/src/sys/object.rs @@ -1,5 +1,5 @@ use common::{ - comp::{HealthSource, Object, PhysicsState, Pos, Vel}, + comp::{HealthSource, Object, PhysicsState, PoiseChange, PoiseSource, Pos, Vel}, effect::Effect, event::{EventBus, ServerEvent}, resources::DeltaTime, @@ -49,14 +49,16 @@ impl<'a> System<'a> for Sys { pos: pos.0, explosion: Explosion { effects: vec![ - RadiusEffect::Entity( - None, + RadiusEffect::Entity(None, vec![ Effect::Damage(Damage { source: DamageSource::Explosion, value: 500.0, - poise_damage: 60.0, }), - ), + Effect::Poise(PoiseChange { + amount: -60, + source: PoiseSource::Explosion, + }), + ]), RadiusEffect::TerrainDestruction(4.0), ], radius: 12.0, @@ -77,14 +79,16 @@ impl<'a> System<'a> for Sys { pos: pos.0, explosion: Explosion { effects: vec![ - RadiusEffect::Entity( - None, + RadiusEffect::Entity(None, vec![ Effect::Damage(Damage { source: DamageSource::Explosion, value: 50.0, - poise_damage: 10.0, }), - ), + Effect::Poise(PoiseChange { + amount: -30, + source: PoiseSource::Explosion, + }), + ]), RadiusEffect::TerrainDestruction(4.0), ], radius: 12.0, From af076aa87fdf2b0adb8b0daf1d76cdd8645333ea Mon Sep 17 00:00:00 2001 From: jiminycrick Date: Wed, 9 Dec 2020 16:32:24 -0800 Subject: [PATCH 03/11] Add knockback to poise --- common/src/comp/body.rs | 4 +-- common/src/comp/character_state.rs | 11 ++++--- common/src/comp/poise.rs | 3 ++ common/src/event.rs | 1 + common/src/states/combo_melee.rs | 1 - common/sys/src/beam.rs | 3 ++ common/sys/src/melee.rs | 18 ++++++----- common/sys/src/projectile.rs | 1 + common/sys/src/shockwave.rs | 9 +++--- common/sys/src/stats.rs | 38 ++++++++++++++++++++---- server/src/events/entity_manipulation.rs | 36 +++++++++++++--------- server/src/events/mod.rs | 6 +++- server/src/sys/object.rs | 2 +- 13 files changed, 94 insertions(+), 39 deletions(-) diff --git a/common/src/comp/body.rs b/common/src/comp/body.rs index 67bd47876e..81e5ba2ee0 100644 --- a/common/src/comp/body.rs +++ b/common/src/comp/body.rs @@ -612,8 +612,8 @@ impl Body { pub fn base_poise_dmg(&self) -> u32 { match self { - Body::Humanoid(_) => 100, - _ => 50, + Body::Humanoid(_) => 5, + _ => 10, } } diff --git a/common/src/comp/character_state.rs b/common/src/comp/character_state.rs index 4b8c528bb5..125ca1e4e0 100644 --- a/common/src/comp/character_state.rs +++ b/common/src/comp/character_state.rs @@ -108,10 +108,6 @@ impl CharacterState { matches!(self, CharacterState::Sneak | CharacterState::Roll(_)) } - pub fn is_stunned(&self) -> bool { - matches!(self, CharacterState::Stunned { .. } | CharacterState::Staggered { .. }) - } - pub fn is_attack(&self) -> bool { matches!( self, @@ -155,6 +151,13 @@ impl CharacterState { matches!(self, CharacterState::Roll(d) if d.static_data.immune_melee) } + pub fn is_stunned(&self) -> bool { + matches!( + self, + CharacterState::Stunned(_) | CharacterState::Staggered(_) + ) + } + /// Compares for shallow equality (does not check internal struct equality) pub fn same_variant(&self, other: &Self) -> bool { // Check if state is the same without looking at the inner data diff --git a/common/src/comp/poise.rs b/common/src/comp/poise.rs index aaaa42f6c6..8f32734932 100644 --- a/common/src/comp/poise.rs +++ b/common/src/comp/poise.rs @@ -83,6 +83,7 @@ pub enum PoiseSource { Shockwave, Falling, Revive, + Regen, Other, } @@ -95,6 +96,7 @@ pub struct Poise { pub is_stunned: bool, pub is_dazed: bool, pub is_knockeddown: bool, + pub regen_rate: f32, } impl Default for Poise { @@ -107,6 +109,7 @@ impl Default for Poise { is_stunned: false, is_dazed: false, is_knockeddown: false, + regen_rate: 0.0, } } } diff --git a/common/src/event.rs b/common/src/event.rs index 7bd9590d35..d9794c803b 100644 --- a/common/src/event.rs +++ b/common/src/event.rs @@ -39,6 +39,7 @@ pub enum ServerEvent { PoiseChange { entity: EcsEntity, change: comp::PoiseChange, + kb_dir: Vec3, }, Delete(EcsEntity), Destroy { diff --git a/common/src/states/combo_melee.rs b/common/src/states/combo_melee.rs index 4b95cf475c..2411702b82 100644 --- a/common/src/states/combo_melee.rs +++ b/common/src/states/combo_melee.rs @@ -170,7 +170,6 @@ impl CharacterBehavior for Data { .min(self.combo / self.static_data.num_stages) * self.static_data.stage_data[stage_index].damage_increase; let poise_damage = self.static_data.stage_data[stage_index].base_poise_damage; - println!("Combo melee poise damage: {:?}", poise_damage); data.updater.insert(data.entity, Attacking { effects: vec![( Some(GroupTarget::OutOfGroup), diff --git a/common/sys/src/beam.rs b/common/sys/src/beam.rs index c0c81bf5ff..feb3d734ca 100644 --- a/common/sys/src/beam.rs +++ b/common/sys/src/beam.rs @@ -6,6 +6,7 @@ use common::{ event::{EventBus, ServerEvent}, resources::{DeltaTime, Time}, uid::{Uid, UidAllocator}, + util::Dir, GroupTarget, }; use specs::{saveload::MarkerAllocator, Entities, Join, Read, ReadStorage, System, WriteStorage}; @@ -170,6 +171,7 @@ impl<'a> System<'a> for Sys { let poise_change = poise_damage .modify_poise_damage(inventories.get(b), beam_segment.owner); + let kb_dir = Dir::new((pos_b.0 - pos.0).try_normalized().unwrap_or(*ori.0)); match target { Some(GroupTarget::OutOfGroup) => { server_emitter.emit(ServerEvent::Damage { entity: b, change }); @@ -188,6 +190,7 @@ impl<'a> System<'a> for Sys { server_emitter.emit(ServerEvent::PoiseChange { entity, change: poise_change, + kb_dir: *kb_dir, }); server_emitter.emit(ServerEvent::EnergyChange { entity, diff --git a/common/sys/src/melee.rs b/common/sys/src/melee.rs index 50ad8423d0..7d4cee0162 100644 --- a/common/sys/src/melee.rs +++ b/common/sys/src/melee.rs @@ -101,6 +101,9 @@ impl<'a> System<'a> for Sys { // Check if entity is dodging let is_dodge = char_state_b_maybe.map_or(false, |c_s| c_s.is_melee_dodge()); + // Check if entity is stunned + let is_stunned = char_state_b_maybe.map_or(false, |c_s| c_s.is_stunned()); + // Check if it is a hit if entity != b && !health_b.is_dead @@ -123,7 +126,8 @@ impl<'a> System<'a> for Sys { for (target, damage, poise_change) in attack.effects.iter() { if let Some(target) = target { if *target != target_group - || (!matches!(target, GroupTarget::InGroup) && is_dodge) + || (!matches!(target, GroupTarget::InGroup) + && (is_dodge || is_stunned)) { continue; } @@ -132,13 +136,7 @@ impl<'a> System<'a> for Sys { let change = damage.modify_damage(inventories.get(b), Some(*uid)); //let poise_change = // poise_change.modify_poise_damage(loadouts.get(b), Some(*uid)); - println!("poise_change in melee: {:?}", poise_change); - server_emitter.emit(ServerEvent::Damage { entity: b, change }); - server_emitter.emit(ServerEvent::PoiseChange { - entity: b, - change: *poise_change, - }); // Apply bleeding buff on melee hits with 10% chance // TODO: Don't have buff uniformly applied on all melee attacks if change.amount < 0 && thread_rng().gen::() < 0.1 { @@ -162,6 +160,12 @@ impl<'a> System<'a> for Sys { server_emitter.emit(ServerEvent::Knockback { entity: b, impulse }); } + server_emitter.emit(ServerEvent::PoiseChange { + entity: b, + change: *poise_change, + kb_dir: *kb_dir, + }); + attack.hit_count += 1; } } diff --git a/common/sys/src/projectile.rs b/common/sys/src/projectile.rs index c1a5e32c3d..3c58a18369 100644 --- a/common/sys/src/projectile.rs +++ b/common/sys/src/projectile.rs @@ -128,6 +128,7 @@ impl<'a> System<'a> for Sys { server_emitter.emit(ServerEvent::PoiseChange { entity: other_entity, change: poise_change, + kb_dir: *ori.0, }); } }, diff --git a/common/sys/src/shockwave.rs b/common/sys/src/shockwave.rs index fae49b339e..56f5f91159 100644 --- a/common/sys/src/shockwave.rs +++ b/common/sys/src/shockwave.rs @@ -204,10 +204,6 @@ impl<'a> System<'a> for Sys { poise_damage.modify_poise_damage(inventories.get(b), Some(owner_uid)); server_emitter.emit(ServerEvent::Damage { entity: b, change }); - server_emitter.emit(ServerEvent::PoiseChange { - entity: b, - change: poise_change, - }); shockwave_hit_list.hit_entities.push(*uid_b); let kb_dir = Dir::new((pos_b.0 - pos.0).try_normalized().unwrap_or(*ori.0)); @@ -215,6 +211,11 @@ impl<'a> System<'a> for Sys { if !impulse.is_approx_zero() { server_emitter.emit(ServerEvent::Knockback { entity: b, impulse }); } + server_emitter.emit(ServerEvent::PoiseChange { + entity: b, + change: poise_change, + kb_dir: *kb_dir, + }); } } } diff --git a/common/sys/src/stats.rs b/common/sys/src/stats.rs index 7cbe221915..7298c5b509 100644 --- a/common/sys/src/stats.rs +++ b/common/sys/src/stats.rs @@ -1,7 +1,8 @@ use common::{ comp::{ skills::{GeneralSkill, Skill}, - Body, CharacterState, Energy, EnergyChange, EnergySource, Health, Pos, Stats, + Body, CharacterState, Energy, EnergyChange, EnergySource, Health, Poise, PoiseChange, + PoiseSource, Pos, Stats, }, event::{EventBus, ServerEvent}, metrics::SysMetrics, @@ -14,6 +15,7 @@ use hashbrown::HashSet; use specs::{Entities, Join, Read, ReadExpect, ReadStorage, System, Write, WriteStorage}; const ENERGY_REGEN_ACCEL: f32 = 10.0; +//const POISE_REGEN_ACCEL: f32 = 5.0; /// This system kills players, levels them up, and regenerates energy. pub struct Sys; @@ -27,6 +29,7 @@ impl<'a> System<'a> for Sys { ReadStorage<'a, CharacterState>, WriteStorage<'a, Stats>, WriteStorage<'a, Health>, + WriteStorage<'a, Poise>, WriteStorage<'a, Energy>, ReadStorage<'a, Uid>, ReadStorage<'a, Pos>, @@ -44,6 +47,7 @@ impl<'a> System<'a> for Sys { character_states, mut stats, mut healths, + mut poises, mut energies, uids, positions, @@ -147,9 +151,13 @@ impl<'a> System<'a> for Sys { } } - // Update energies - for (character_state, mut energy) in - (&character_states, &mut energies.restrict_mut()).join() + // Update energies and poises + for (character_state, mut energy, mut poise) in ( + &character_states, + &mut energies.restrict_mut(), + &mut poises.restrict_mut(), + ) + .join() { match character_state { // Accelerate recharging energy. @@ -179,6 +187,23 @@ impl<'a> System<'a> for Sys { energy.regen_rate = (energy.regen_rate + ENERGY_REGEN_ACCEL * dt.0).min(100.0); } + + //let res_poise = { + // let poise = poise.get_unchecked(); + // poise.current() < poise.maximum() + //}; + + //if res_poise { + // let mut poise = poise.get_mut_unchecked(); + // poise.change_by(PoiseChange { + // amount: (poise.regen_rate * dt.0 + // + POISE_REGEN_ACCEL * dt.0.powi(2) / 2.0) + // as i32, + // source: PoiseSource::Regen, + // }); + // poise.regen_rate = (poise.regen_rate + + // POISE_REGEN_ACCEL * dt.0).min(100.0); + //} }, // Ability and glider use does not regen and sets the rate back to zero. CharacterState::Glide { .. } @@ -217,7 +242,10 @@ impl<'a> System<'a> for Sys { CharacterState::Roll { .. } | CharacterState::Climb { .. } | CharacterState::Stunned { .. } - | CharacterState::Staggered { .. } => {}, + | CharacterState::Staggered { .. } => { + let poise = poise.get_unchecked(); + println!("Poise: {:?}", poise.current()); + }, } } sys_metrics.stats_ns.store( diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index f7ef50c0bb..1aa3040e0f 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -36,7 +36,12 @@ use std::time::Duration; use tracing::error; use vek::Vec3; -pub fn handle_poise(server: &Server, entity: EcsEntity, change: PoiseChange) { +pub fn handle_poise( + server: &Server, + entity: EcsEntity, + change: PoiseChange, + knockback_dir: Vec3, +) { let ecs = &server.state.ecs(); if let Some(poise) = ecs.write_storage::().get_mut(entity) { poise.change_by(change); @@ -57,7 +62,7 @@ pub fn handle_poise(server: &Server, entity: EcsEntity, change: PoiseChange) { static_data: common::states::stunned::StaticData { buildup_duration: Duration::from_millis(250), recover_duration: Duration::from_millis(250), - knockback: Knockback::Away(0.0), + knockback: Knockback::Away(20.0), }, timer: Duration::default(), stage_section: common::states::utils::StageSection::Buildup, @@ -71,47 +76,50 @@ pub fn handle_poise(server: &Server, entity: EcsEntity, change: PoiseChange) { entity, comp::CharacterState::Stunned(common::states::stunned::Data { static_data: common::states::stunned::StaticData { - buildup_duration: Duration::from_millis(250), - recover_duration: Duration::from_millis(250), - knockback: Knockback::Away(0.0), + buildup_duration: Duration::from_millis(500), + recover_duration: Duration::from_millis(500), + knockback: Knockback::Away(40.0), }, timer: Duration::default(), stage_section: common::states::utils::StageSection::Buildup, was_wielded, }), ); + handle_knockback(server, entity, 50.0 * knockback_dir); }, PoiseState::Dazed => { poise.reset(); let _ = ecs.write_storage::().insert( entity, - comp::CharacterState::Stunned(common::states::stunned::Data { - static_data: common::states::stunned::StaticData { - buildup_duration: Duration::from_millis(250), - recover_duration: Duration::from_millis(250), - knockback: Knockback::Away(0.0), + comp::CharacterState::Staggered(common::states::staggered::Data { + static_data: common::states::staggered::StaticData { + buildup_duration: Duration::from_millis(1000), + recover_duration: Duration::from_millis(1000), + knockback: Knockback::Away(50.0), }, timer: Duration::default(), stage_section: common::states::utils::StageSection::Buildup, was_wielded, }), ); + handle_knockback(server, entity, 50.0 * knockback_dir); }, PoiseState::KnockedDown => { poise.reset(); let _ = ecs.write_storage::().insert( entity, - comp::CharacterState::Stunned(common::states::stunned::Data { - static_data: common::states::stunned::StaticData { - buildup_duration: Duration::from_millis(250), + comp::CharacterState::Staggered(common::states::staggered::Data { + static_data: common::states::staggered::StaticData { + buildup_duration: Duration::from_millis(5000), recover_duration: Duration::from_millis(250), - knockback: Knockback::Away(0.0), + knockback: Knockback::Away(200.0), }, timer: Duration::default(), stage_section: common::states::utils::StageSection::Buildup, was_wielded, }), ); + handle_knockback(server, entity, 100.0 * knockback_dir); }, } } diff --git a/server/src/events/mod.rs b/server/src/events/mod.rs index f939c8bd0e..5c98f18a25 100644 --- a/server/src/events/mod.rs +++ b/server/src/events/mod.rs @@ -83,7 +83,11 @@ impl Server { handle_knockback(&self, entity, impulse) }, ServerEvent::Damage { entity, change } => handle_damage(&self, entity, change), - ServerEvent::PoiseChange { entity, change } => handle_poise(&self, entity, change), + ServerEvent::PoiseChange { + entity, + change, + kb_dir, + } => handle_poise(&self, entity, change, kb_dir), ServerEvent::Delete(entity) => handle_delete(self, entity), ServerEvent::Destroy { entity, cause } => handle_destroy(self, entity, cause), ServerEvent::InventoryManip(entity, manip) => handle_inventory(self, entity, manip), diff --git a/server/src/sys/object.rs b/server/src/sys/object.rs index 5220f61044..7812aad09b 100644 --- a/server/src/sys/object.rs +++ b/server/src/sys/object.rs @@ -55,7 +55,7 @@ impl<'a> System<'a> for Sys { value: 500.0, }), Effect::Poise(PoiseChange { - amount: -60, + amount: -80, source: PoiseSource::Explosion, }), ]), From dd69b5f2bc974c1bd1e5ba7434f1a0f96ca4d565 Mon Sep 17 00:00:00 2001 From: jiminycrick Date: Wed, 16 Dec 2020 15:30:33 -0800 Subject: [PATCH 04/11] Poise stats --- assets/common/abilities/axe/doublestrike.ron | 4 +- assets/common/abilities/bow/basic.ron | 3 +- assets/common/abilities/bow/charged.ron | 1 + assets/common/abilities/bow/repeater.ron | 5 +- assets/common/abilities/hammer/charged.ron | 1 + .../common/abilities/hammer/singlestrike.ron | 1 + .../common/abilities/sceptre/healingbomb.ron | 3 +- assets/common/abilities/staff/firebomb.ron | 3 +- assets/common/abilities/sword/dash.ron | 1 + .../common/abilities/sword/triplestrike.ron | 3 + .../unique/quadlowbasic/singlestrike.ron | 1 + .../unique/quadlowbasic/triplestrike.ron | 3 + .../abilities/unique/quadlowbreathe/dash.ron | 1 + .../unique/quadlowbreathe/triplestrike.ron | 3 + .../abilities/unique/quadlowquick/dash.ron | 1 + .../unique/quadlowquick/quadstrike.ron | 4 + .../unique/quadlowranged/firebomb.ron | 1 + .../unique/quadlowranged/singlestrike.ron | 1 + .../abilities/unique/quadlowtail/charged.ron | 1 + .../unique/quadlowtail/triplestrike.ron | 3 + .../unique/quadmedbasic/singlestrike.ron | 1 + .../unique/quadmedbasic/triplestrike.ron | 3 + .../abilities/unique/quadmedcharge/dash.ron | 1 + .../unique/quadmedcharge/doublestrike.ron | 2 + .../unique/quadmedjump/doublestrike.ron | 2 + .../abilities/unique/quadmedquick/dash.ron | 1 + .../unique/quadmedquick/triplestrike.ron | 3 + .../unique/quadsmallbasic/singlestrike.ron | 1 + .../abilities/unique/stonegolemfist/basic.ron | 2 +- .../unique/theropodbasic/singlestrike.ron | 1 + .../unique/theropodbasic/triplestrike.ron | 3 + .../unique/theropodbird/singlestrike.ron | 1 + .../unique/theropodbird/triplestrike.ron | 3 + assets/common/items/armor/back/admin.ron | 4 +- assets/common/items/armor/back/backpack_0.ron | 4 +- .../items/armor/back/dungeon_purple-0.ron | 4 +- .../items/armor/back/leather_adventurer.ron | 4 +- assets/common/items/armor/back/short_0.ron | 5 +- assets/common/items/armor/back/short_1.ron | 4 +- .../items/armor/back/velorite_mage_0.ron | 4 +- assets/common/items/armor/back/warlock.ron | 4 +- assets/common/items/armor/back/warlord.ron | 4 +- assets/common/items/armor/belt/assassin.ron | 5 +- .../common/items/armor/belt/bonerattler.ron | 4 +- .../common/items/armor/belt/cloth_blue_0.ron | 4 +- .../common/items/armor/belt/cloth_green_0.ron | 4 +- .../items/armor/belt/cloth_purple_0.ron | 4 +- .../common/items/armor/belt/cultist_belt.ron | 4 +- assets/common/items/armor/belt/druid.ron | 5 +- assets/common/items/armor/belt/leather_0.ron | 4 +- assets/common/items/armor/belt/leather_2.ron | 4 +- .../items/armor/belt/leather_adventurer.ron | 5 +- assets/common/items/armor/belt/plate_0.ron | 5 +- assets/common/items/armor/belt/steel_0.ron | 5 +- assets/common/items/armor/belt/tarasque.ron | 4 +- assets/common/items/armor/belt/twig.ron | 5 +- .../common/items/armor/belt/twigsflowers.ron | 5 +- .../common/items/armor/belt/twigsleaves.ron | 5 +- .../items/armor/belt/velorite_mage_0.ron | 5 +- assets/common/items/armor/belt/warlock.ron | 5 +- assets/common/items/armor/belt/warlord.ron | 5 +- assets/common/items/armor/chest/assassin.ron | 5 +- .../common/items/armor/chest/bonerattler.ron | 6 +- .../common/items/armor/chest/cloth_blue_0.ron | 4 +- .../items/armor/chest/cloth_green_0.ron | 4 +- .../items/armor/chest/cloth_purple_0.ron | 4 +- .../items/armor/chest/cultist_chest_blue.ron | 4 +- .../armor/chest/cultist_chest_purple.ron | 4 +- assets/common/items/armor/chest/druid.ron | 5 +- assets/common/items/armor/chest/leather_0.ron | 5 +- assets/common/items/armor/chest/leather_2.ron | 7 +- .../items/armor/chest/leather_adventurer.ron | 5 +- .../items/armor/chest/plate_green_0.ron | 5 +- assets/common/items/armor/chest/steel_0.ron | 4 +- assets/common/items/armor/chest/tarasque.ron | 4 +- assets/common/items/armor/chest/twig.ron | 5 +- .../common/items/armor/chest/twigsflowers.ron | 5 +- .../common/items/armor/chest/twigsleaves.ron | 5 +- .../items/armor/chest/velorite_mage_0.ron | 5 +- assets/common/items/armor/chest/warlock.ron | 5 +- assets/common/items/armor/chest/warlord.ron | 5 +- .../items/armor/chest/worker_green_0.ron | 4 +- .../items/armor/chest/worker_green_1.ron | 4 +- .../items/armor/chest/worker_orange_0.ron | 4 +- .../items/armor/chest/worker_orange_1.ron | 4 +- .../items/armor/chest/worker_purple_0.ron | 4 +- .../items/armor/chest/worker_purple_1.ron | 4 +- .../common/items/armor/chest/worker_red_0.ron | 4 +- .../common/items/armor/chest/worker_red_1.ron | 4 +- .../items/armor/chest/worker_yellow_0.ron | 4 +- .../items/armor/chest/worker_yellow_1.ron | 4 +- assets/common/items/armor/foot/assassin.ron | 5 +- .../common/items/armor/foot/bonerattler.ron | 4 +- .../common/items/armor/foot/cloth_blue_0.ron | 4 +- .../common/items/armor/foot/cloth_green_0.ron | 4 +- .../items/armor/foot/cloth_purple_0.ron | 4 +- .../common/items/armor/foot/cultist_boots.ron | 4 +- assets/common/items/armor/foot/druid.ron | 5 +- .../items/armor/foot/jackalope_slippers.ron | 4 +- assets/common/items/armor/foot/leather_0.ron | 4 +- assets/common/items/armor/foot/leather_2.ron | 4 +- .../items/armor/foot/leather_adventurer.ron | 5 +- assets/common/items/armor/foot/plate_0.ron | 5 +- assets/common/items/armor/foot/steel_0.ron | 4 +- assets/common/items/armor/foot/tarasque.ron | 4 +- assets/common/items/armor/foot/twig.ron | 5 +- .../common/items/armor/foot/twigsflowers.ron | 5 +- .../common/items/armor/foot/twigsleaves.ron | 5 +- .../items/armor/foot/velorite_mage_0.ron | 5 +- assets/common/items/armor/foot/warlock.ron | 5 +- assets/common/items/armor/foot/warlord.ron | 5 +- assets/common/items/armor/hand/assassin.ron | 5 +- .../common/items/armor/hand/bonerattler.ron | 4 +- .../common/items/armor/hand/cloth_blue_0.ron | 4 +- .../common/items/armor/hand/cloth_green_0.ron | 4 +- .../items/armor/hand/cloth_purple_0.ron | 4 +- .../items/armor/hand/cultist_hands_blue.ron | 4 +- .../items/armor/hand/cultist_hands_purple.ron | 4 +- assets/common/items/armor/hand/druid.ron | 4 +- assets/common/items/armor/hand/leather_0.ron | 4 +- assets/common/items/armor/hand/leather_2.ron | 4 +- .../items/armor/hand/leather_adventurer.ron | 5 +- assets/common/items/armor/hand/plate_0.ron | 5 +- assets/common/items/armor/hand/steel_0.ron | 5 +- assets/common/items/armor/hand/tarasque.ron | 4 +- assets/common/items/armor/hand/twig.ron | 5 +- .../common/items/armor/hand/twigsflowers.ron | 5 +- .../common/items/armor/hand/twigsleaves.ron | 5 +- .../items/armor/hand/velorite_mage_0.ron | 5 +- assets/common/items/armor/hand/warlock.ron | 4 +- assets/common/items/armor/hand/warlord.ron | 4 +- .../common/items/armor/head/assa_mask_0.ron | 5 +- assets/common/items/armor/head/leather_0.ron | 4 +- assets/common/items/armor/head/warlock.ron | 4 +- assets/common/items/armor/head/warlord.ron | 4 +- assets/common/items/armor/neck/neck_0.ron | 4 +- assets/common/items/armor/neck/neck_1.ron | 5 +- assets/common/items/armor/pants/assassin.ron | 5 +- .../common/items/armor/pants/bonerattler.ron | 4 +- .../common/items/armor/pants/cloth_blue_0.ron | 4 +- .../items/armor/pants/cloth_green_0.ron | 4 +- .../items/armor/pants/cloth_purple_0.ron | 4 +- .../items/armor/pants/cultist_legs_blue.ron | 4 +- .../items/armor/pants/cultist_legs_purple.ron | 4 +- assets/common/items/armor/pants/druid.ron | 5 +- assets/common/items/armor/pants/hunting.ron | 5 +- assets/common/items/armor/pants/leather_0.ron | 4 +- assets/common/items/armor/pants/leather_2.ron | 4 +- .../items/armor/pants/leather_adventurer.ron | 5 +- .../items/armor/pants/plate_green_0.ron | 5 +- assets/common/items/armor/pants/steel_0.ron | 5 +- assets/common/items/armor/pants/tarasque.ron | 4 +- assets/common/items/armor/pants/twig.ron | 5 +- .../common/items/armor/pants/twigsflowers.ron | 5 +- .../common/items/armor/pants/twigsleaves.ron | 5 +- .../items/armor/pants/velorite_mage_0.ron | 5 +- assets/common/items/armor/pants/warlock.ron | 5 +- assets/common/items/armor/pants/warlord.ron | 5 +- .../items/armor/pants/worker_blue_0.ron | 4 +- assets/common/items/armor/ring/ring_0.ron | 4 +- .../common/items/armor/ring/ring_gold_0.ron | 4 +- .../items/armor/ring/ring_purp_high_0.ron | 4 +- .../common/items/armor/shoulder/assassin.ron | 5 +- .../items/armor/shoulder/bonerattler.ron | 4 +- .../items/armor/shoulder/cloth_blue_0.ron | 4 +- .../items/armor/shoulder/cloth_blue_1.ron | 4 +- .../items/armor/shoulder/cloth_green_0.ron | 4 +- .../items/armor/shoulder/cloth_purple_0.ron | 4 +- .../armor/shoulder/cultist_shoulder_blue.ron | 4 +- .../shoulder/cultist_shoulder_purple.ron | 4 +- .../items/armor/shoulder/druidshoulder.ron | 4 +- .../items/armor/shoulder/iron_spikes.ron | 5 +- .../common/items/armor/shoulder/leather_0.ron | 4 +- .../common/items/armor/shoulder/leather_1.ron | 4 +- .../common/items/armor/shoulder/leather_2.ron | 4 +- .../armor/shoulder/leather_adventurer.ron | 5 +- .../items/armor/shoulder/leather_iron_0.ron | 4 +- .../items/armor/shoulder/leather_iron_1.ron | 4 +- .../items/armor/shoulder/leather_iron_2.ron | 4 +- .../items/armor/shoulder/leather_iron_3.ron | 4 +- .../items/armor/shoulder/leather_strips.ron | 4 +- .../common/items/armor/shoulder/plate_0.ron | 5 +- .../common/items/armor/shoulder/steel_0.ron | 5 +- .../common/items/armor/shoulder/tarasque.ron | 4 +- assets/common/items/armor/shoulder/twigs.ron | 4 +- .../items/armor/shoulder/twigsflowers.ron | 4 +- .../items/armor/shoulder/twigsleaves.ron | 4 +- .../items/armor/shoulder/velorite_mage_0.ron | 5 +- .../common/items/armor/shoulder/warlock.ron | 4 +- .../common/items/armor/shoulder/warlord.ron | 4 +- .../items/armor/starter/rugged_chest.ron | 4 +- .../items/armor/starter/rugged_pants.ron | 4 +- .../common/items/armor/starter/sandals_0.ron | 4 +- assets/common/items/armor/tabard/admin.ron | 4 +- assets/common/items/debug/admin.ron | 4 +- assets/common/items/debug/admin_back.ron | 4 +- assets/common/items/debug/boost.ron | 1 + assets/common/items/debug/cultist_belt.ron | 4 +- assets/common/items/debug/cultist_boots.ron | 4 +- .../common/items/debug/cultist_chest_blue.ron | 4 +- .../common/items/debug/cultist_hands_blue.ron | 4 +- .../common/items/debug/cultist_legs_blue.ron | 4 +- .../items/debug/cultist_purp_2h_boss-0.ron | 1 + .../items/debug/cultist_shoulder_blue.ron | 4 +- .../common/items/debug/dungeon_purple-0.ron | 4 +- assets/common/items/debug/possess.ron | 1 + .../items/npc_armor/back/backpack_0.ron | 4 +- .../items/npc_armor/back/backpack_blue_0.ron | 4 +- .../items/npc_armor/back/dungeon_purple-0.ron | 4 +- .../items/npc_armor/back/leather_blue_0.ron | 4 +- .../items/npc_armor/belt/cultist_belt.ron | 4 +- .../npc_armor/chest/cultist_chest_purple.ron | 4 +- .../items/npc_armor/chest/leather_blue_0.ron | 4 +- .../items/npc_armor/chest/plate_green_0.ron | 4 +- .../items/npc_armor/chest/plate_red_0.ron | 4 +- .../items/npc_armor/chest/worker_green_0.ron | 4 +- .../items/npc_armor/chest/worker_green_1.ron | 4 +- .../items/npc_armor/chest/worker_orange_0.ron | 4 +- .../items/npc_armor/chest/worker_orange_1.ron | 4 +- .../items/npc_armor/chest/worker_purple_0.ron | 4 +- .../items/npc_armor/chest/worker_purple_1.ron | 4 +- .../items/npc_armor/chest/worker_red_0.ron | 4 +- .../items/npc_armor/chest/worker_red_1.ron | 4 +- .../items/npc_armor/chest/worker_yellow_0.ron | 4 +- .../items/npc_armor/chest/worker_yellow_1.ron | 4 +- .../items/npc_armor/foot/cultist_boots.ron | 4 +- .../npc_armor/hand/cultist_hands_purple.ron | 4 +- .../npc_armor/pants/cultist_legs_purple.ron | 4 +- .../items/npc_armor/pants/leather_blue_0.ron | 4 +- .../items/npc_armor/pants/plate_green_0.ron | 4 +- .../items/npc_armor/pants/plate_red_0.ron | 4 +- .../shoulder/cultist_shoulder_purple.ron | 4 +- .../items/npc_weapons/axe/malachite_axe-0.ron | 1 + .../items/npc_weapons/axe/starter_axe.ron | 1 + .../items/npc_weapons/bow/horn_longbow-0.ron | 1 + .../items/npc_weapons/bow/saurok_bow.ron | 1 + .../npc_weapons/dagger/starter_dagger.ron | 1 + .../common/items/npc_weapons/empty/empty.ron | 1 + .../npc_weapons/hammer/cultist_purp_2h-0.ron | 1 + .../npc_weapons/hammer/cyclops_hammer.ron | 1 + .../items/npc_weapons/hammer/ogre_hammer.ron | 1 + .../npc_weapons/hammer/starter_hammer.ron | 1 + .../items/npc_weapons/hammer/troll_hammer.ron | 1 + .../npc_weapons/hammer/wendigo_hammer.ron | 1 + .../items/npc_weapons/shield/shield_1.ron | 1 + .../items/npc_weapons/staff/bone_staff.ron | 1 + .../items/npc_weapons/staff/cultist_staff.ron | 1 + .../npc_weapons/staff/mindflayer_staff.ron | 1 + .../items/npc_weapons/staff/ogre_staff.ron | 1 + .../items/npc_weapons/staff/saurok_staff.ron | 1 + .../npc_weapons/sword/cultist_purp_2h-0.ron | 1 + .../sword/cultist_purp_2h_boss-0.ron | 1 + .../npc_weapons/sword/dullahan_sword.ron | 1 + .../items/npc_weapons/sword/saurok_sword.ron | 1 + .../items/npc_weapons/sword/starter_sword.ron | 1 + .../npc_weapons/sword/zweihander_sword_0.ron | 1 + .../common/items/npc_weapons/tool/broom.ron | 1 + .../items/npc_weapons/tool/fishing_rod.ron | 1 + assets/common/items/npc_weapons/tool/hoe.ron | 1 + .../common/items/npc_weapons/tool/pickaxe.ron | 1 + .../items/npc_weapons/tool/pitchfork.ron | 1 + assets/common/items/npc_weapons/tool/rake.ron | 1 + .../items/npc_weapons/tool/shovel-0.ron | 1 + .../items/npc_weapons/tool/shovel-1.ron | 1 + .../items/npc_weapons/unique/beast_claws.ron | 1 + .../items/npc_weapons/unique/quadlowbasic.ron | 1 + .../npc_weapons/unique/quadlowbreathe.ron | 1 + .../items/npc_weapons/unique/quadlowquick.ron | 1 + .../npc_weapons/unique/quadlowranged.ron | 1 + .../items/npc_weapons/unique/quadlowtail.ron | 1 + .../items/npc_weapons/unique/quadmedbasic.ron | 1 + .../npc_weapons/unique/quadmedcharge.ron | 1 + .../items/npc_weapons/unique/quadmedhoof.ron | 1 + .../items/npc_weapons/unique/quadmedjump.ron | 1 + .../items/npc_weapons/unique/quadmedquick.ron | 1 + .../npc_weapons/unique/quadsmallbasic.ron | 1 + .../npc_weapons/unique/stone_golems_fist.ron | 1 + .../npc_weapons/unique/theropodbasic.ron | 1 + .../items/npc_weapons/unique/theropodbird.ron | 1 + .../items/weapons/axe/bloodsteel_axe-0.ron | 1 + .../items/weapons/axe/bloodsteel_axe-1.ron | 1 + .../items/weapons/axe/bloodsteel_axe-2.ron | 1 + .../common/items/weapons/axe/bronze_axe-0.ron | 1 + .../common/items/weapons/axe/bronze_axe-1.ron | 1 + .../common/items/weapons/axe/cobalt_axe-0.ron | 1 + .../common/items/weapons/axe/iron_axe-0.ron | 1 + .../common/items/weapons/axe/iron_axe-1.ron | 1 + .../common/items/weapons/axe/iron_axe-2.ron | 1 + .../common/items/weapons/axe/iron_axe-3.ron | 1 + .../common/items/weapons/axe/iron_axe-4.ron | 1 + .../common/items/weapons/axe/iron_axe-5.ron | 1 + .../common/items/weapons/axe/iron_axe-6.ron | 1 + .../common/items/weapons/axe/iron_axe-7.ron | 1 + .../common/items/weapons/axe/iron_axe-8.ron | 1 + .../common/items/weapons/axe/iron_axe-9.ron | 1 + .../items/weapons/axe/malachite_axe-0.ron | 1 + assets/common/items/weapons/axe/orc_axe-0.ron | 1 + .../common/items/weapons/axe/starter_axe.ron | 1 + .../common/items/weapons/axe/steel_axe-0.ron | 1 + .../common/items/weapons/axe/steel_axe-1.ron | 1 + .../common/items/weapons/axe/steel_axe-2.ron | 1 + .../common/items/weapons/axe/steel_axe-3.ron | 1 + .../common/items/weapons/axe/steel_axe-4.ron | 1 + .../common/items/weapons/axe/steel_axe-5.ron | 1 + .../common/items/weapons/axe/steel_axe-6.ron | 1 + .../items/weapons/axe/worn_iron_axe-0.ron | 1 + .../items/weapons/axe/worn_iron_axe-1.ron | 1 + .../items/weapons/axe/worn_iron_axe-2.ron | 1 + .../items/weapons/axe/worn_iron_axe-3.ron | 1 + .../items/weapons/axe/worn_iron_axe-4.ron | 1 + .../items/weapons/bow/horn_longbow-0.ron | 1 + .../items/weapons/bow/iron_longbow-0.ron | 1 + .../items/weapons/bow/leafy_longbow-0.ron | 1 + .../items/weapons/bow/leafy_shortbow-0.ron | 1 + .../weapons/bow/nature_ore_longbow-0.ron | 1 + .../common/items/weapons/bow/rare_longbow.ron | 1 + .../common/items/weapons/bow/starter_bow.ron | 1 + .../items/weapons/bow/wood_longbow-0.ron | 1 + .../items/weapons/bow/wood_longbow-1.ron | 1 + .../items/weapons/bow/wood_shortbow-0.ron | 1 + .../items/weapons/bow/wood_shortbow-1.ron | 1 + .../common/items/weapons/dagger/basic_0.ron | 1 + .../common/items/weapons/dagger/cultist_0.ron | 3 +- .../items/weapons/dagger/starter_dagger.ron | 1 + assets/common/items/weapons/empty/empty.ron | 1 + .../items/weapons/hammer/bronze_hammer-0.ron | 1 + .../items/weapons/hammer/bronze_hammer-1.ron | 1 + .../items/weapons/hammer/cobalt_hammer-0.ron | 1 + .../items/weapons/hammer/cobalt_hammer-1.ron | 1 + .../weapons/hammer/cultist_purp_2h-0.ron | 1 + .../items/weapons/hammer/flimsy_hammer.ron | 1 + .../common/items/weapons/hammer/hammer_1.ron | 1 + .../items/weapons/hammer/iron_hammer-0.ron | 1 + .../items/weapons/hammer/iron_hammer-1.ron | 1 + .../items/weapons/hammer/iron_hammer-2.ron | 1 + .../items/weapons/hammer/iron_hammer-3.ron | 1 + .../items/weapons/hammer/iron_hammer-4.ron | 1 + .../items/weapons/hammer/iron_hammer-5.ron | 1 + .../items/weapons/hammer/iron_hammer-6.ron | 1 + .../items/weapons/hammer/iron_hammer-7.ron | 1 + .../items/weapons/hammer/iron_hammer-8.ron | 1 + .../common/items/weapons/hammer/mjolnir.ron | 1 + .../items/weapons/hammer/ramshead_hammer.ron | 1 + .../items/weapons/hammer/runic_hammer.ron | 1 + .../items/weapons/hammer/starter_hammer.ron | 1 + .../items/weapons/hammer/steel_hammer-0.ron | 1 + .../items/weapons/hammer/steel_hammer-1.ron | 1 + .../items/weapons/hammer/steel_hammer-2.ron | 1 + .../items/weapons/hammer/steel_hammer-3.ron | 1 + .../items/weapons/hammer/steel_hammer-4.ron | 1 + .../items/weapons/hammer/steel_hammer-5.ron | 1 + .../items/weapons/hammer/stone_hammer-0.ron | 1 + .../items/weapons/hammer/stone_hammer-1.ron | 1 + .../items/weapons/hammer/stone_hammer-2.ron | 1 + .../items/weapons/hammer/stone_hammer-3.ron | 1 + .../items/weapons/hammer/wood_hammer-0.ron | 1 + .../weapons/hammer/worn_iron_hammer-0.ron | 1 + .../weapons/hammer/worn_iron_hammer-1.ron | 1 + .../weapons/hammer/worn_iron_hammer-2.ron | 1 + .../weapons/hammer/worn_iron_hammer-3.ron | 1 + .../weapons/sceptre/sceptre_velorite_0.ron | 1 + .../items/weapons/sceptre/staff_nature.ron | 1 + .../items/weapons/sceptre/starter_sceptre.ron | 1 + .../common/items/weapons/shield/shield_1.ron | 1 + .../items/weapons/staff/amethyst_staff.ron | 1 + .../common/items/weapons/staff/bone_staff.ron | 1 + .../items/weapons/staff/cultist_staff.ron | 1 + assets/common/items/weapons/staff/staff_1.ron | 1 + .../items/weapons/staff/starter_staff.ron | 1 + .../items/weapons/sword/cultist_purp_2h-0.ron | 1 + .../weapons/sword/frost_cleaver_2h-0.ron | 5 +- .../weapons/sword/frost_cleaver_2h-1.ron | 5 +- .../weapons/sword/greatsword_2h_dam-0.ron | 1 + .../weapons/sword/greatsword_2h_dam-1.ron | 1 + .../weapons/sword/greatsword_2h_dam-2.ron | 1 + .../weapons/sword/greatsword_2h_fine-0.ron | 1 + .../weapons/sword/greatsword_2h_fine-1.ron | 1 + .../weapons/sword/greatsword_2h_fine-2.ron | 1 + .../weapons/sword/greatsword_2h_orn-0.ron | 1 + .../weapons/sword/greatsword_2h_orn-1.ron | 1 + .../weapons/sword/greatsword_2h_orn-2.ron | 1 + .../weapons/sword/greatsword_2h_simple-0.ron | 1 + .../weapons/sword/greatsword_2h_simple-1.ron | 1 + .../weapons/sword/greatsword_2h_simple-2.ron | 1 + .../items/weapons/sword/long_2h_dam-0.ron | 1 + .../items/weapons/sword/long_2h_dam-1.ron | 1 + .../items/weapons/sword/long_2h_dam-2.ron | 1 + .../items/weapons/sword/long_2h_dam-3.ron | 1 + .../items/weapons/sword/long_2h_dam-4.ron | 1 + .../items/weapons/sword/long_2h_dam-5.ron | 1 + .../items/weapons/sword/long_2h_fine-0.ron | 1 + .../items/weapons/sword/long_2h_fine-1.ron | 1 + .../items/weapons/sword/long_2h_fine-2.ron | 1 + .../items/weapons/sword/long_2h_fine-3.ron | 1 + .../items/weapons/sword/long_2h_fine-4.ron | 1 + .../items/weapons/sword/long_2h_fine-5.ron | 1 + .../items/weapons/sword/long_2h_orn-0.ron | 1 + .../items/weapons/sword/long_2h_orn-1.ron | 1 + .../items/weapons/sword/long_2h_orn-2.ron | 1 + .../items/weapons/sword/long_2h_orn-3.ron | 1 + .../items/weapons/sword/long_2h_orn-4.ron | 1 + .../items/weapons/sword/long_2h_orn-5.ron | 1 + .../items/weapons/sword/long_2h_simple-0.ron | 1 + .../items/weapons/sword/long_2h_simple-1.ron | 1 + .../items/weapons/sword/long_2h_simple-2.ron | 1 + .../items/weapons/sword/long_2h_simple-3.ron | 1 + .../items/weapons/sword/long_2h_simple-4.ron | 1 + .../items/weapons/sword/long_2h_simple-5.ron | 1 + .../items/weapons/sword/short_sword_0.ron | 1 + .../items/weapons/sword/starter_sword.ron | 1 + .../common/items/weapons/sword/wood_sword.ron | 1 + .../weapons/sword/zweihander_sword_0.ron | 1 + assets/common/items/weapons/tool/broom.ron | 1 + .../common/items/weapons/tool/fishing_rod.ron | 1 + assets/common/items/weapons/tool/hoe.ron | 1 + assets/common/items/weapons/tool/pickaxe.ron | 1 + .../common/items/weapons/tool/pitchfork.ron | 1 + assets/common/items/weapons/tool/rake.ron | 1 + assets/common/items/weapons/tool/shovel-0.ron | 1 + assets/common/items/weapons/tool/shovel-1.ron | 1 + common/src/bin/csv_export/main.rs | 12 +- common/src/comp/ability.rs | 33 ++++- common/src/comp/inventory/item/armor.rs | 3 + common/src/comp/inventory/item/tool.rs | 14 +- common/src/comp/poise.rs | 67 ++++++--- common/src/comp/projectile.rs | 96 ++++++++---- common/src/effect.rs | 6 +- common/src/explosion.rs | 2 +- common/src/states/charged_melee.rs | 12 +- common/src/states/charged_ranged.rs | 14 +- common/src/states/combo_melee.rs | 16 +- common/src/states/dash_melee.rs | 8 +- common/src/states/staggered.rs | 3 - common/src/states/stunned.rs | 3 - common/sys/src/beam.rs | 3 +- common/sys/src/melee.rs | 15 +- common/sys/src/projectile.rs | 21 ++- common/sys/src/stats.rs | 122 ++++++++++++---- server/src/cmd.rs | 11 +- server/src/events/entity_manipulation.rs | 138 +++--------------- server/src/state_ext.rs | 6 +- server/src/sys/object.rs | 24 ++- 442 files changed, 1235 insertions(+), 513 deletions(-) diff --git a/assets/common/abilities/axe/doublestrike.ron b/assets/common/abilities/axe/doublestrike.ron index 7a1d0111b9..7c9f767d46 100644 --- a/assets/common/abilities/axe/doublestrike.ron +++ b/assets/common/abilities/axe/doublestrike.ron @@ -4,8 +4,9 @@ ComboMelee( stage: 1, base_damage: 90, max_damage: 110, - base_poise_damage: 40, + base_poise_damage: 20, damage_increase: 10, + poise_damage_increase: 5, knockback: 8.0, range: 3.5, angle: 50.0, @@ -20,6 +21,7 @@ ComboMelee( max_damage: 160, base_poise_damage: 40, damage_increase: 15, + poise_damage_increase: 15, knockback: 12.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/bow/basic.ron b/assets/common/abilities/bow/basic.ron index ef04839b0a..999207b677 100644 --- a/assets/common/abilities/bow/basic.ron +++ b/assets/common/abilities/bow/basic.ron @@ -4,6 +4,7 @@ BasicRanged( recover_duration: 300, projectile: Arrow( damage: 70.0, + poise_damage: 2, knockback: 5.0, energy_regen: 40, ), @@ -12,4 +13,4 @@ BasicRanged( projectile_gravity: Some(Gravity(0.2)), projectile_speed: 100.0, can_continue: true, -) \ No newline at end of file +) diff --git a/assets/common/abilities/bow/charged.ron b/assets/common/abilities/bow/charged.ron index 2a20c768b8..76e173a132 100644 --- a/assets/common/abilities/bow/charged.ron +++ b/assets/common/abilities/bow/charged.ron @@ -4,6 +4,7 @@ ChargedRanged( initial_damage: 10, scaled_damage: 190, initial_poise_damage: 10, + scaled_poise_damage: 60, initial_knockback: 10.0, scaled_knockback: 10.0, speed: 1.0, diff --git a/assets/common/abilities/bow/repeater.ron b/assets/common/abilities/bow/repeater.ron index 18dc6d0bd2..0dcb04e413 100644 --- a/assets/common/abilities/bow/repeater.ron +++ b/assets/common/abilities/bow/repeater.ron @@ -7,7 +7,8 @@ RepeaterRanged( leap: Some(5.0), projectile: Arrow( damage: 40.0, - knockback: 10.0, + poise_damage: 4, + knockback: 5.0, energy_regen: 0, ), projectile_body: Object(Arrow), @@ -15,4 +16,4 @@ RepeaterRanged( projectile_gravity: Some(Gravity(0.2)), projectile_speed: 100.0, reps_remaining: 3, -) \ No newline at end of file +) diff --git a/assets/common/abilities/hammer/charged.ron b/assets/common/abilities/hammer/charged.ron index bde38d4c43..857d060d0e 100644 --- a/assets/common/abilities/hammer/charged.ron +++ b/assets/common/abilities/hammer/charged.ron @@ -4,6 +4,7 @@ ChargedMelee( initial_damage: 10, scaled_damage: 160, initial_poise_damage: 10, + scaled_poise_damage: 70, initial_knockback: 10.0, scaled_knockback: 50.0, range: 3.5, diff --git a/assets/common/abilities/hammer/singlestrike.ron b/assets/common/abilities/hammer/singlestrike.ron index bd6ea6ff69..93cc1503a6 100644 --- a/assets/common/abilities/hammer/singlestrike.ron +++ b/assets/common/abilities/hammer/singlestrike.ron @@ -4,6 +4,7 @@ ComboMelee( base_damage: 130, damage_increase: 10, base_poise_damage: 30, + poise_damage_increase: 5, knockback: 0.0, range: 4.5, angle: 50.0, diff --git a/assets/common/abilities/sceptre/healingbomb.ron b/assets/common/abilities/sceptre/healingbomb.ron index e653d3931d..731c259e80 100644 --- a/assets/common/abilities/sceptre/healingbomb.ron +++ b/assets/common/abilities/sceptre/healingbomb.ron @@ -5,6 +5,7 @@ BasicRanged( projectile: Heal( heal: 80.0, damage: 60.0, + poise_damage: 0, radius: 6.0, ), projectile_body: Object(BoltNature), @@ -15,4 +16,4 @@ BasicRanged( projectile_gravity: Some(Gravity(0.5)), projectile_speed: 40.0, can_continue: false, -) \ No newline at end of file +) diff --git a/assets/common/abilities/staff/firebomb.ron b/assets/common/abilities/staff/firebomb.ron index 05a18db3d3..78623f0e5c 100644 --- a/assets/common/abilities/staff/firebomb.ron +++ b/assets/common/abilities/staff/firebomb.ron @@ -4,6 +4,7 @@ BasicRanged( recover_duration: 350, projectile: Fireball( damage: 100.0, + poise_damage: 10, radius: 5.0, energy_regen: 50, ), @@ -15,4 +16,4 @@ BasicRanged( projectile_gravity: Some(Gravity(0.3)), projectile_speed: 60.0, can_continue: true, -) \ No newline at end of file +) diff --git a/assets/common/abilities/sword/dash.ron b/assets/common/abilities/sword/dash.ron index 2160ed162a..97137227eb 100644 --- a/assets/common/abilities/sword/dash.ron +++ b/assets/common/abilities/sword/dash.ron @@ -3,6 +3,7 @@ DashMelee( base_damage: 80, scaled_damage: 160, base_poise_damage: 20, + scaled_poise_damage: 20, base_knockback: 8.0, scaled_knockback: 7.0, range: 5.0, diff --git a/assets/common/abilities/sword/triplestrike.ron b/assets/common/abilities/sword/triplestrike.ron index 647eb2e2c6..a5bad53d9a 100644 --- a/assets/common/abilities/sword/triplestrike.ron +++ b/assets/common/abilities/sword/triplestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 100, damage_increase: 10, base_poise_damage: 10, + poise_damage_increase: 2, knockback: 10.0, range: 4.0, angle: 30.0, @@ -18,6 +19,7 @@ ComboMelee( base_damage: 80, damage_increase: 15, base_poise_damage: 10, + poise_damage_increase: 2, knockback: 12.0, range: 3.5, angle: 180.0, @@ -31,6 +33,7 @@ ComboMelee( base_damage: 130, damage_increase: 20, base_poise_damage: 10, + poise_damage_increase: 2, knockback: 14.0, range: 6.0, angle: 10.0, diff --git a/assets/common/abilities/unique/quadlowbasic/singlestrike.ron b/assets/common/abilities/unique/quadlowbasic/singlestrike.ron index 1f82c53760..a3fc57484c 100644 --- a/assets/common/abilities/unique/quadlowbasic/singlestrike.ron +++ b/assets/common/abilities/unique/quadlowbasic/singlestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 100, damage_increase: 0, base_poise_damage: 30, + poise_damage_increase: 3, knockback: 5.0, range: 3.5, angle: 60.0, diff --git a/assets/common/abilities/unique/quadlowbasic/triplestrike.ron b/assets/common/abilities/unique/quadlowbasic/triplestrike.ron index ec21c62dfa..5e3a07a5cd 100644 --- a/assets/common/abilities/unique/quadlowbasic/triplestrike.ron +++ b/assets/common/abilities/unique/quadlowbasic/triplestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 120, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 10.0, range: 3.5, angle: 30.0, @@ -18,6 +19,7 @@ ComboMelee( base_damage: 80, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 10.0, range: 3.5, angle: 30.0, @@ -31,6 +33,7 @@ ComboMelee( base_damage: 130, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 10.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadlowbreathe/dash.ron b/assets/common/abilities/unique/quadlowbreathe/dash.ron index 3f12815a4a..642876f4ab 100644 --- a/assets/common/abilities/unique/quadlowbreathe/dash.ron +++ b/assets/common/abilities/unique/quadlowbreathe/dash.ron @@ -3,6 +3,7 @@ DashMelee( base_damage: 150, scaled_damage: 110, base_poise_damage: 60, + scaled_poise_damage: 20, base_knockback: 8.0, scaled_knockback: 17.0, range: 5.0, diff --git a/assets/common/abilities/unique/quadlowbreathe/triplestrike.ron b/assets/common/abilities/unique/quadlowbreathe/triplestrike.ron index ee2db98e39..06897a32ae 100644 --- a/assets/common/abilities/unique/quadlowbreathe/triplestrike.ron +++ b/assets/common/abilities/unique/quadlowbreathe/triplestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 100, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 10.0, range: 4.5, angle: 30.0, @@ -18,6 +19,7 @@ ComboMelee( base_damage: 80, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 10.0, range: 3.5, angle: 30.0, @@ -31,6 +33,7 @@ ComboMelee( base_damage: 130, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 10.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadlowquick/dash.ron b/assets/common/abilities/unique/quadlowquick/dash.ron index 79bdaaeef9..8fe7975f79 100644 --- a/assets/common/abilities/unique/quadlowquick/dash.ron +++ b/assets/common/abilities/unique/quadlowquick/dash.ron @@ -3,6 +3,7 @@ DashMelee( base_damage: 30, scaled_damage: 10, base_poise_damage: 30, + scaled_poise_damage: 20, base_knockback: 8.0, scaled_knockback: 7.0, range: 2.0, diff --git a/assets/common/abilities/unique/quadlowquick/quadstrike.ron b/assets/common/abilities/unique/quadlowquick/quadstrike.ron index 7dc4c26281..e4e09a38ab 100644 --- a/assets/common/abilities/unique/quadlowquick/quadstrike.ron +++ b/assets/common/abilities/unique/quadlowquick/quadstrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 100, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 2.0, range: 3.5, angle: 30.0, @@ -18,6 +19,7 @@ ComboMelee( base_damage: 130, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 2.0, range: 3.5, angle: 30.0, @@ -31,6 +33,7 @@ ComboMelee( base_damage: 130, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 2.0, range: 3.5, angle: 30.0, @@ -44,6 +47,7 @@ ComboMelee( base_damage: 130, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 8.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadlowranged/firebomb.ron b/assets/common/abilities/unique/quadlowranged/firebomb.ron index eb0d41a830..266cf07e76 100644 --- a/assets/common/abilities/unique/quadlowranged/firebomb.ron +++ b/assets/common/abilities/unique/quadlowranged/firebomb.ron @@ -4,6 +4,7 @@ BasicRanged( recover_duration: 350, projectile: Fireball( damage: 100.0, + poise_damage: 10, radius: 5.0, energy_regen: 0, ), diff --git a/assets/common/abilities/unique/quadlowranged/singlestrike.ron b/assets/common/abilities/unique/quadlowranged/singlestrike.ron index 604ef7f9f8..044eaeb191 100644 --- a/assets/common/abilities/unique/quadlowranged/singlestrike.ron +++ b/assets/common/abilities/unique/quadlowranged/singlestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 60, damage_increase: 0, base_poise_damage: 30, + poise_damage_increase: 3, knockback: 5.0, range: 3.5, angle: 60.0, diff --git a/assets/common/abilities/unique/quadlowtail/charged.ron b/assets/common/abilities/unique/quadlowtail/charged.ron index 7057a6cf2f..ab79490af7 100644 --- a/assets/common/abilities/unique/quadlowtail/charged.ron +++ b/assets/common/abilities/unique/quadlowtail/charged.ron @@ -4,6 +4,7 @@ ChargedMelee( initial_damage: 160, scaled_damage: 40, initial_poise_damage: 50, + scaled_poise_damage: 20, initial_knockback: 10.0, scaled_knockback: 20.0, range: 6.0, diff --git a/assets/common/abilities/unique/quadlowtail/triplestrike.ron b/assets/common/abilities/unique/quadlowtail/triplestrike.ron index d7e08a9f61..c55935f53c 100644 --- a/assets/common/abilities/unique/quadlowtail/triplestrike.ron +++ b/assets/common/abilities/unique/quadlowtail/triplestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 100, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 10.0, range: 3.5, angle: 30.0, @@ -18,6 +19,7 @@ ComboMelee( base_damage: 120, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 10.0, range: 3.5, angle: 30.0, @@ -31,6 +33,7 @@ ComboMelee( base_damage: 130, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 10.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadmedbasic/singlestrike.ron b/assets/common/abilities/unique/quadmedbasic/singlestrike.ron index 5fc4cdd675..29ea9ee59c 100644 --- a/assets/common/abilities/unique/quadmedbasic/singlestrike.ron +++ b/assets/common/abilities/unique/quadmedbasic/singlestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 120, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 5.0, range: 3.5, angle: 60.0, diff --git a/assets/common/abilities/unique/quadmedbasic/triplestrike.ron b/assets/common/abilities/unique/quadmedbasic/triplestrike.ron index cbec45247c..21724f88e9 100644 --- a/assets/common/abilities/unique/quadmedbasic/triplestrike.ron +++ b/assets/common/abilities/unique/quadmedbasic/triplestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 120, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 10.0, range: 3.5, angle: 30.0, @@ -18,6 +19,7 @@ ComboMelee( base_damage: 120, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 10.0, range: 3.5, angle: 30.0, @@ -31,6 +33,7 @@ ComboMelee( base_damage: 120, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 10.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadmedcharge/dash.ron b/assets/common/abilities/unique/quadmedcharge/dash.ron index fff283cfa5..fe589ec6d8 100644 --- a/assets/common/abilities/unique/quadmedcharge/dash.ron +++ b/assets/common/abilities/unique/quadmedcharge/dash.ron @@ -3,6 +3,7 @@ DashMelee( base_damage: 150, scaled_damage: 40, base_poise_damage: 40, + scaled_poise_damage: 15, base_knockback: 8.0, scaled_knockback: 17.0, range: 4.0, diff --git a/assets/common/abilities/unique/quadmedcharge/doublestrike.ron b/assets/common/abilities/unique/quadmedcharge/doublestrike.ron index d627b2ef72..10e5d6eed2 100644 --- a/assets/common/abilities/unique/quadmedcharge/doublestrike.ron +++ b/assets/common/abilities/unique/quadmedcharge/doublestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 100, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 10.0, range: 3.5, angle: 30.0, @@ -18,6 +19,7 @@ ComboMelee( base_damage: 80, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 10.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadmedjump/doublestrike.ron b/assets/common/abilities/unique/quadmedjump/doublestrike.ron index 105824fcf5..898249dd4e 100644 --- a/assets/common/abilities/unique/quadmedjump/doublestrike.ron +++ b/assets/common/abilities/unique/quadmedjump/doublestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 100, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 8.0, range: 3.5, angle: 30.0, @@ -18,6 +19,7 @@ ComboMelee( base_damage: 80, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 8.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadmedquick/dash.ron b/assets/common/abilities/unique/quadmedquick/dash.ron index 99e556e8ee..d58925638d 100644 --- a/assets/common/abilities/unique/quadmedquick/dash.ron +++ b/assets/common/abilities/unique/quadmedquick/dash.ron @@ -3,6 +3,7 @@ DashMelee( base_damage: 130, scaled_damage: 20, base_poise_damage: 30, + scaled_poise_damage: 5, base_knockback: 8.0, scaled_knockback: 7.0, range: 2.0, diff --git a/assets/common/abilities/unique/quadmedquick/triplestrike.ron b/assets/common/abilities/unique/quadmedquick/triplestrike.ron index f853e22543..762725cb80 100644 --- a/assets/common/abilities/unique/quadmedquick/triplestrike.ron +++ b/assets/common/abilities/unique/quadmedquick/triplestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 150, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 5.0, range: 3.5, angle: 60.0, @@ -18,6 +19,7 @@ ComboMelee( base_damage: 150, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 5.0, range: 3.5, angle: 60.0, @@ -31,6 +33,7 @@ ComboMelee( base_damage: 150, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 3, knockback: 5.0, range: 3.5, angle: 60.0, diff --git a/assets/common/abilities/unique/quadsmallbasic/singlestrike.ron b/assets/common/abilities/unique/quadsmallbasic/singlestrike.ron index d2f2f8262b..97af22308a 100644 --- a/assets/common/abilities/unique/quadsmallbasic/singlestrike.ron +++ b/assets/common/abilities/unique/quadsmallbasic/singlestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 30, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 2, knockback: 5.0, range: 3.5, angle: 60.0, diff --git a/assets/common/abilities/unique/stonegolemfist/basic.ron b/assets/common/abilities/unique/stonegolemfist/basic.ron index b42bbcd256..d3c048db89 100644 --- a/assets/common/abilities/unique/stonegolemfist/basic.ron +++ b/assets/common/abilities/unique/stonegolemfist/basic.ron @@ -5,7 +5,7 @@ BasicMelee( recover_duration: 250, knockback: 25.0, base_damage: 200, - base_poise_damage: 80, + base_poise_damage: 90, range: 5.0, max_angle: 120.0, ) diff --git a/assets/common/abilities/unique/theropodbasic/singlestrike.ron b/assets/common/abilities/unique/theropodbasic/singlestrike.ron index 4b4878dfe5..1351e14ed1 100644 --- a/assets/common/abilities/unique/theropodbasic/singlestrike.ron +++ b/assets/common/abilities/unique/theropodbasic/singlestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 150, damage_increase: 0, base_poise_damage: 15, + poise_damage_increase: 2, knockback: 5.0, range: 7.5, angle: 60.0, diff --git a/assets/common/abilities/unique/theropodbasic/triplestrike.ron b/assets/common/abilities/unique/theropodbasic/triplestrike.ron index 739aaf9234..95b6a3b4de 100644 --- a/assets/common/abilities/unique/theropodbasic/triplestrike.ron +++ b/assets/common/abilities/unique/theropodbasic/triplestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 170, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 2, knockback: 10.0, range: 7.5, angle: 30.0, @@ -18,6 +19,7 @@ ComboMelee( base_damage: 190, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 2, knockback: 10.0, range: 5.5, angle: 30.0, @@ -31,6 +33,7 @@ ComboMelee( base_damage: 230, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 2, knockback: 10.0, range: 5.5, angle: 30.0, diff --git a/assets/common/abilities/unique/theropodbird/singlestrike.ron b/assets/common/abilities/unique/theropodbird/singlestrike.ron index c19995d2b6..97740a9e73 100644 --- a/assets/common/abilities/unique/theropodbird/singlestrike.ron +++ b/assets/common/abilities/unique/theropodbird/singlestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 150, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 2, knockback: 5.0, range: 5.5, angle: 5.0, diff --git a/assets/common/abilities/unique/theropodbird/triplestrike.ron b/assets/common/abilities/unique/theropodbird/triplestrike.ron index 4c33e0bbe9..786a6b711f 100644 --- a/assets/common/abilities/unique/theropodbird/triplestrike.ron +++ b/assets/common/abilities/unique/theropodbird/triplestrike.ron @@ -5,6 +5,7 @@ ComboMelee( base_damage: 170, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 2, knockback: 10.0, range: 4.5, angle: 5.0, @@ -18,6 +19,7 @@ ComboMelee( base_damage: 190, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 2, knockback: 10.0, range: 4.0, angle: 10.0, @@ -31,6 +33,7 @@ ComboMelee( base_damage: 230, damage_increase: 0, base_poise_damage: 10, + poise_damage_increase: 2, knockback: 10.0, range: 4.0, angle: 10.0, diff --git a/assets/common/items/armor/back/admin.ron b/assets/common/items/armor/back/admin.ron index 1a6bcd9759..048e196395 100644 --- a/assets/common/items/armor/back/admin.ron +++ b/assets/common/items/armor/back/admin.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Back("Admin"), stats: ( - protection: Normal(0.0)), + protection: Invincible, + poise_protection: Invincible, + ), ) ), quality: Debug, diff --git a/assets/common/items/armor/back/backpack_0.ron b/assets/common/items/armor/back/backpack_0.ron index 0b623b4fcc..9bbafa8171 100644 --- a/assets/common/items/armor/back/backpack_0.ron +++ b/assets/common/items/armor/back/backpack_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Back("Backpack0"), stats: ( - protection: Normal(0.0)), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/back/dungeon_purple-0.ron b/assets/common/items/armor/back/dungeon_purple-0.ron index 943df27e07..1366d50d58 100644 --- a/assets/common/items/armor/back/dungeon_purple-0.ron +++ b/assets/common/items/armor/back/dungeon_purple-0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Back("DungPurp0"), stats: ( - protection: Normal(3.0)), + protection: Normal(3.0), + poise_protection: Normal(3.0) + ), ) ), quality: Epic, diff --git a/assets/common/items/armor/back/leather_adventurer.ron b/assets/common/items/armor/back/leather_adventurer.ron index 90dde99935..162f67ff32 100644 --- a/assets/common/items/armor/back/leather_adventurer.ron +++ b/assets/common/items/armor/back/leather_adventurer.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Back("Short2"), stats: ( - protection: Normal(0.2)), + protection: Normal(0.2), + poise_protection: Normal(0.2), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/back/short_0.ron b/assets/common/items/armor/back/short_0.ron index 17f4858f70..20f2c15ba2 100644 --- a/assets/common/items/armor/back/short_0.ron +++ b/assets/common/items/armor/back/short_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Back("Short0"), stats: ( - protection: Normal(0.3) - ), + protection: Normal(0.3), + poise_protection: Normal(0.3), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/back/short_1.ron b/assets/common/items/armor/back/short_1.ron index 556a4683c4..0dedb2118f 100644 --- a/assets/common/items/armor/back/short_1.ron +++ b/assets/common/items/armor/back/short_1.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Back("Short1"), stats: ( - protection: Normal(0.1)), + protection: Normal(0.1), + poise_protection: Normal(0.1), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/back/velorite_mage_0.ron b/assets/common/items/armor/back/velorite_mage_0.ron index 76fda525bc..965418420d 100644 --- a/assets/common/items/armor/back/velorite_mage_0.ron +++ b/assets/common/items/armor/back/velorite_mage_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Back("VeloriteMage0"), stats: ( - protection: Normal(2.8)), + protection: Normal(2.8), + poise_protection: Normal(2.8), + ), ) ), quality: High, diff --git a/assets/common/items/armor/back/warlock.ron b/assets/common/items/armor/back/warlock.ron index aefb29bf8f..cbf2fba0ae 100644 --- a/assets/common/items/armor/back/warlock.ron +++ b/assets/common/items/armor/back/warlock.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Back("Warlock"), stats: ( - protection: Normal(4.0)), + protection: Normal(4.0), + poise_protection: Normal(4.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/back/warlord.ron b/assets/common/items/armor/back/warlord.ron index c1bf1dad60..d5de61e11f 100644 --- a/assets/common/items/armor/back/warlord.ron +++ b/assets/common/items/armor/back/warlord.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Back("Warlord"), stats: ( - protection: Normal(4.0)), + protection: Normal(4.0), + poise_protection: Normal(4.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/belt/assassin.ron b/assets/common/items/armor/belt/assassin.ron index bc784b4abe..1de9474589 100644 --- a/assets/common/items/armor/belt/assassin.ron +++ b/assets/common/items/armor/belt/assassin.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Belt("Assassin"), stats: ( - protection: Normal(2.0) - ), + protection: Normal(2.0), + poise_protection: Normal(2.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/belt/bonerattler.ron b/assets/common/items/armor/belt/bonerattler.ron index e87969c5d8..64332f2f29 100644 --- a/assets/common/items/armor/belt/bonerattler.ron +++ b/assets/common/items/armor/belt/bonerattler.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Belt("Bonerattler"), stats: ( - protection: Normal(3.0)), + protection: Normal(3.0), + poise_protection: Normal(3.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/belt/cloth_blue_0.ron b/assets/common/items/armor/belt/cloth_blue_0.ron index fe96d5508b..fee453fca8 100644 --- a/assets/common/items/armor/belt/cloth_blue_0.ron +++ b/assets/common/items/armor/belt/cloth_blue_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Belt("ClothBlue0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/belt/cloth_green_0.ron b/assets/common/items/armor/belt/cloth_green_0.ron index 31482c185c..40778a4651 100644 --- a/assets/common/items/armor/belt/cloth_green_0.ron +++ b/assets/common/items/armor/belt/cloth_green_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Belt("ClothGreen0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/belt/cloth_purple_0.ron b/assets/common/items/armor/belt/cloth_purple_0.ron index 06a4797cb0..fe4ce1652d 100644 --- a/assets/common/items/armor/belt/cloth_purple_0.ron +++ b/assets/common/items/armor/belt/cloth_purple_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Belt("ClothPurple0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/belt/cultist_belt.ron b/assets/common/items/armor/belt/cultist_belt.ron index ba621bf791..10459560db 100644 --- a/assets/common/items/armor/belt/cultist_belt.ron +++ b/assets/common/items/armor/belt/cultist_belt.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Belt("Cultist"), stats: ( - protection: Normal(6.0)), + protection: Normal(6.0), + poise_protection: Normal(6.0), + ), ) ), quality: Epic, diff --git a/assets/common/items/armor/belt/druid.ron b/assets/common/items/armor/belt/druid.ron index c46390ef68..8ad26c5363 100644 --- a/assets/common/items/armor/belt/druid.ron +++ b/assets/common/items/armor/belt/druid.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Belt("Druid"), stats: ( - protection: Normal(2.0) - ), + protection: Normal(2.0), + poise_protection: Normal(2.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/belt/leather_0.ron b/assets/common/items/armor/belt/leather_0.ron index 237baffb3e..5d690dd4be 100644 --- a/assets/common/items/armor/belt/leather_0.ron +++ b/assets/common/items/armor/belt/leather_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Belt("Leather0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/belt/leather_2.ron b/assets/common/items/armor/belt/leather_2.ron index 5a15c5c9c5..ab1d303584 100644 --- a/assets/common/items/armor/belt/leather_2.ron +++ b/assets/common/items/armor/belt/leather_2.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Belt("Leather2"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/belt/leather_adventurer.ron b/assets/common/items/armor/belt/leather_adventurer.ron index d5cf8072f4..7053be8dde 100644 --- a/assets/common/items/armor/belt/leather_adventurer.ron +++ b/assets/common/items/armor/belt/leather_adventurer.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Belt("Leather2"), stats: ( - protection: Normal(1.0) - ), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/belt/plate_0.ron b/assets/common/items/armor/belt/plate_0.ron index bd28bb8763..5a1839243f 100644 --- a/assets/common/items/armor/belt/plate_0.ron +++ b/assets/common/items/armor/belt/plate_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Belt("Plate0"), stats: ( - protection: Normal(3.0) - ), + protection: Normal(3.0), + poise_protection: Normal(3.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/belt/steel_0.ron b/assets/common/items/armor/belt/steel_0.ron index 9d2bdbd190..77dbbb4dd2 100644 --- a/assets/common/items/armor/belt/steel_0.ron +++ b/assets/common/items/armor/belt/steel_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Belt("Steel0"), stats: ( - protection: Normal(4.0) - ), + protection: Normal(4.0), + poise_protection: Normal(4.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/belt/tarasque.ron b/assets/common/items/armor/belt/tarasque.ron index ad8b73c7b4..7f106d5a1b 100644 --- a/assets/common/items/armor/belt/tarasque.ron +++ b/assets/common/items/armor/belt/tarasque.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Belt("Tarasque"), stats: ( - protection: Normal(3.0)), + protection: Normal(3.0), + poise_protection: Normal(3.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/belt/twig.ron b/assets/common/items/armor/belt/twig.ron index 5a2807f827..8bfd312f3f 100644 --- a/assets/common/items/armor/belt/twig.ron +++ b/assets/common/items/armor/belt/twig.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Belt("Twig"), stats: ( - protection: Normal(2.0) - ), + protection: Normal(2.0), + poise_protection: Normal(2.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/belt/twigsflowers.ron b/assets/common/items/armor/belt/twigsflowers.ron index 15d51493ef..1244ff9ad8 100644 --- a/assets/common/items/armor/belt/twigsflowers.ron +++ b/assets/common/items/armor/belt/twigsflowers.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Belt("Twigsflowers"), stats: ( - protection: Normal(2.0) - ), + protection: Normal(2.0), + poise_protection: Normal(2.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/belt/twigsleaves.ron b/assets/common/items/armor/belt/twigsleaves.ron index c73e91f103..0002f686ad 100644 --- a/assets/common/items/armor/belt/twigsleaves.ron +++ b/assets/common/items/armor/belt/twigsleaves.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Belt("Twigsleaves"), stats: ( - protection: Normal(2.0) - ), + protection: Normal(2.0), + poise_protection: Normal(2.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/belt/velorite_mage_0.ron b/assets/common/items/armor/belt/velorite_mage_0.ron index d06b094920..0ad537c8c5 100644 --- a/assets/common/items/armor/belt/velorite_mage_0.ron +++ b/assets/common/items/armor/belt/velorite_mage_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Belt("VeloriteMage0"), stats: ( - protection: Normal(5.8) - ), + protection: Normal(5.8), + poise_protection: Normal(5.8), + ), ) ), quality: High, diff --git a/assets/common/items/armor/belt/warlock.ron b/assets/common/items/armor/belt/warlock.ron index 1ae5d83c5d..15b8470714 100644 --- a/assets/common/items/armor/belt/warlock.ron +++ b/assets/common/items/armor/belt/warlock.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Belt("Warlock"), stats: ( - protection: Normal(8.0) - ), + protection: Normal(8.0), + poise_protection: Normal(8.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/belt/warlord.ron b/assets/common/items/armor/belt/warlord.ron index ca0173c1cc..d45e522d53 100644 --- a/assets/common/items/armor/belt/warlord.ron +++ b/assets/common/items/armor/belt/warlord.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Belt("Warlord"), stats: ( - protection: Normal(8.0) - ), + protection: Normal(8.0), + poise_protection: Normal(8.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/chest/assassin.ron b/assets/common/items/armor/chest/assassin.ron index 8aff55ab7e..6113a1c565 100644 --- a/assets/common/items/armor/chest/assassin.ron +++ b/assets/common/items/armor/chest/assassin.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Chest("Assassin"), stats: ( - protection: Normal(15.0) - ), + protection: Normal(15.0), + poise_protection: Normal(15.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/chest/bonerattler.ron b/assets/common/items/armor/chest/bonerattler.ron index d8de4a5ec3..c798ba2f26 100644 --- a/assets/common/items/armor/chest/bonerattler.ron +++ b/assets/common/items/armor/chest/bonerattler.ron @@ -5,8 +5,10 @@ ItemDef( ( kind: Chest("Bonerattler"), stats: ( - protection: Normal(25.0)), + protection: Normal(25.0), + poise_protection: Normal(25.0), + ), ) ), quality: High, -) \ No newline at end of file +) diff --git a/assets/common/items/armor/chest/cloth_blue_0.ron b/assets/common/items/armor/chest/cloth_blue_0.ron index 661b1ae8a0..e0e486ad74 100644 --- a/assets/common/items/armor/chest/cloth_blue_0.ron +++ b/assets/common/items/armor/chest/cloth_blue_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("ClothBlue0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/chest/cloth_green_0.ron b/assets/common/items/armor/chest/cloth_green_0.ron index a958dee2bb..34916646a9 100644 --- a/assets/common/items/armor/chest/cloth_green_0.ron +++ b/assets/common/items/armor/chest/cloth_green_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("ClothGreen0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/chest/cloth_purple_0.ron b/assets/common/items/armor/chest/cloth_purple_0.ron index bc2828bff5..c387c407c5 100644 --- a/assets/common/items/armor/chest/cloth_purple_0.ron +++ b/assets/common/items/armor/chest/cloth_purple_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("ClothPurple0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/chest/cultist_chest_blue.ron b/assets/common/items/armor/chest/cultist_chest_blue.ron index c5449652f2..1a0544647e 100644 --- a/assets/common/items/armor/chest/cultist_chest_blue.ron +++ b/assets/common/items/armor/chest/cultist_chest_blue.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("VeloriteMage0"), stats: ( - protection: Normal(30.0)), + protection: Normal(30.0), + poise_protection: Normal(30.0), + ), ) ), quality: Epic, diff --git a/assets/common/items/armor/chest/cultist_chest_purple.ron b/assets/common/items/armor/chest/cultist_chest_purple.ron index 57838b09cb..c0ae9ce679 100644 --- a/assets/common/items/armor/chest/cultist_chest_purple.ron +++ b/assets/common/items/armor/chest/cultist_chest_purple.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("CultistPurple"), stats: ( - protection: Normal(30.0)), + protection: Normal(30.0), + poise_protection: Normal(30.0), + ), ) ), quality: Epic, diff --git a/assets/common/items/armor/chest/druid.ron b/assets/common/items/armor/chest/druid.ron index 583004b13b..eb0ab16c9e 100644 --- a/assets/common/items/armor/chest/druid.ron +++ b/assets/common/items/armor/chest/druid.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Chest("Druid"), stats: ( - protection: Normal(6.0) - ), + protection: Normal(6.0), + poise_protection: Normal(6.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/chest/leather_0.ron b/assets/common/items/armor/chest/leather_0.ron index 5bfd1f5f6e..813ac219dd 100644 --- a/assets/common/items/armor/chest/leather_0.ron +++ b/assets/common/items/armor/chest/leather_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Chest("Leather0"), stats: ( - protection: Normal(10.0) - ), + protection: Normal(10.0), + poise_protection: Normal(10.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/chest/leather_2.ron b/assets/common/items/armor/chest/leather_2.ron index 974ee75c09..a70d363825 100644 --- a/assets/common/items/armor/chest/leather_2.ron +++ b/assets/common/items/armor/chest/leather_2.ron @@ -5,9 +5,10 @@ ItemDef( ( kind: Chest("Leather2"), stats: ( - protection: Normal(10.0) - ), + protection: Normal(10.0), + poise_protection: Normal(10.0), + ), ) ), quality: Moderate, -) \ No newline at end of file +) diff --git a/assets/common/items/armor/chest/leather_adventurer.ron b/assets/common/items/armor/chest/leather_adventurer.ron index cb4cb0afc0..fabc88942e 100644 --- a/assets/common/items/armor/chest/leather_adventurer.ron +++ b/assets/common/items/armor/chest/leather_adventurer.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Chest("Leather2"), stats: ( - protection: Normal(8.0) - ), + protection: Normal(8.0), + poise_protection: Normal(8.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/chest/plate_green_0.ron b/assets/common/items/armor/chest/plate_green_0.ron index 8838aa1a8d..ca63bac807 100644 --- a/assets/common/items/armor/chest/plate_green_0.ron +++ b/assets/common/items/armor/chest/plate_green_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Chest("PlateGreen0"), stats: ( - protection: Normal(20.0) - ), + protection: Normal(20.0), + poise_protection: Normal(20.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/chest/steel_0.ron b/assets/common/items/armor/chest/steel_0.ron index 74bc4751e3..38d39923ca 100644 --- a/assets/common/items/armor/chest/steel_0.ron +++ b/assets/common/items/armor/chest/steel_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("Steel0"), stats: ( - protection: Normal(25.0)), + protection: Normal(25.0), + poise_protection: Normal(25.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/chest/tarasque.ron b/assets/common/items/armor/chest/tarasque.ron index d2acaca9d8..12c45f6205 100644 --- a/assets/common/items/armor/chest/tarasque.ron +++ b/assets/common/items/armor/chest/tarasque.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("Tarasque"), stats: ( - protection: Normal(25.0)), + protection: Normal(25.0), + poise_protection: Normal(25.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/chest/twig.ron b/assets/common/items/armor/chest/twig.ron index f02cccb93f..61ecf0cdfa 100644 --- a/assets/common/items/armor/chest/twig.ron +++ b/assets/common/items/armor/chest/twig.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Chest("Twig"), stats: ( - protection: Normal(15.0) - ), + protection: Normal(15.0), + poise_protection: Normal(15.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/chest/twigsflowers.ron b/assets/common/items/armor/chest/twigsflowers.ron index 5c866b1de2..1adb866952 100644 --- a/assets/common/items/armor/chest/twigsflowers.ron +++ b/assets/common/items/armor/chest/twigsflowers.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Chest("Twigsflowers"), stats: ( - protection: Normal(15.0) - ), + protection: Normal(15.0), + poise_protection: Normal(15.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/chest/twigsleaves.ron b/assets/common/items/armor/chest/twigsleaves.ron index 303f4cfe57..b0a056a2fb 100644 --- a/assets/common/items/armor/chest/twigsleaves.ron +++ b/assets/common/items/armor/chest/twigsleaves.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Chest("Twigsleaves"), stats: ( - protection: Normal(15.0) - ), + protection: Normal(15.0), + poise_protection: Normal(15.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/chest/velorite_mage_0.ron b/assets/common/items/armor/chest/velorite_mage_0.ron index 9d8a1773d8..2b8fb3a339 100644 --- a/assets/common/items/armor/chest/velorite_mage_0.ron +++ b/assets/common/items/armor/chest/velorite_mage_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Chest("VeloriteMage0"), stats: ( - protection: Normal(28.0) - ), + protection: Normal(28.0), + poise_protection: Normal(28.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/chest/warlock.ron b/assets/common/items/armor/chest/warlock.ron index 9095ae409a..2d26ff39b0 100644 --- a/assets/common/items/armor/chest/warlock.ron +++ b/assets/common/items/armor/chest/warlock.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Chest("Warlock"), stats: ( - protection: Normal(40.0) - ), + protection: Normal(40.0), + poise_protection: Normal(40.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/chest/warlord.ron b/assets/common/items/armor/chest/warlord.ron index 5400ffcc0b..424f348ee1 100644 --- a/assets/common/items/armor/chest/warlord.ron +++ b/assets/common/items/armor/chest/warlord.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Chest("Warlord"), stats: ( - protection: Normal(40.0) - ), + protection: Normal(40.0), + poise_protection: Normal(40.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/chest/worker_green_0.ron b/assets/common/items/armor/chest/worker_green_0.ron index e12cedf33a..8ce2830435 100644 --- a/assets/common/items/armor/chest/worker_green_0.ron +++ b/assets/common/items/armor/chest/worker_green_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerGreen0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/chest/worker_green_1.ron b/assets/common/items/armor/chest/worker_green_1.ron index 1f9583a25a..3f8cf13375 100644 --- a/assets/common/items/armor/chest/worker_green_1.ron +++ b/assets/common/items/armor/chest/worker_green_1.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerGreen1"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/chest/worker_orange_0.ron b/assets/common/items/armor/chest/worker_orange_0.ron index 87a952eb2e..292eec0530 100644 --- a/assets/common/items/armor/chest/worker_orange_0.ron +++ b/assets/common/items/armor/chest/worker_orange_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerOrange0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/chest/worker_orange_1.ron b/assets/common/items/armor/chest/worker_orange_1.ron index 43fe0517dc..a24a8fb2b6 100644 --- a/assets/common/items/armor/chest/worker_orange_1.ron +++ b/assets/common/items/armor/chest/worker_orange_1.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerOrange1"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/chest/worker_purple_0.ron b/assets/common/items/armor/chest/worker_purple_0.ron index ab2ceee463..c125f34903 100644 --- a/assets/common/items/armor/chest/worker_purple_0.ron +++ b/assets/common/items/armor/chest/worker_purple_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerPurple0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/chest/worker_purple_1.ron b/assets/common/items/armor/chest/worker_purple_1.ron index 0ec0f3385c..eac9d1046d 100644 --- a/assets/common/items/armor/chest/worker_purple_1.ron +++ b/assets/common/items/armor/chest/worker_purple_1.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerPurple1"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/chest/worker_red_0.ron b/assets/common/items/armor/chest/worker_red_0.ron index 6f9183ca2a..c7585b7a19 100644 --- a/assets/common/items/armor/chest/worker_red_0.ron +++ b/assets/common/items/armor/chest/worker_red_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerRed0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/chest/worker_red_1.ron b/assets/common/items/armor/chest/worker_red_1.ron index caafc13601..f32c5fdb4d 100644 --- a/assets/common/items/armor/chest/worker_red_1.ron +++ b/assets/common/items/armor/chest/worker_red_1.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerRed1"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/chest/worker_yellow_0.ron b/assets/common/items/armor/chest/worker_yellow_0.ron index 368a3b5a4e..fed422d41e 100644 --- a/assets/common/items/armor/chest/worker_yellow_0.ron +++ b/assets/common/items/armor/chest/worker_yellow_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerYellow0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/chest/worker_yellow_1.ron b/assets/common/items/armor/chest/worker_yellow_1.ron index b5d78b0deb..74afcc1a29 100644 --- a/assets/common/items/armor/chest/worker_yellow_1.ron +++ b/assets/common/items/armor/chest/worker_yellow_1.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerYellow1"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/foot/assassin.ron b/assets/common/items/armor/foot/assassin.ron index de74557c1d..7b9294970e 100644 --- a/assets/common/items/armor/foot/assassin.ron +++ b/assets/common/items/armor/foot/assassin.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Foot("Assassin"), stats: ( - protection: Normal(4.0) - ), + protection: Normal(4.0), + poise_protection: Normal(4.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/foot/bonerattler.ron b/assets/common/items/armor/foot/bonerattler.ron index 678e9f8cdf..d0c62846ae 100644 --- a/assets/common/items/armor/foot/bonerattler.ron +++ b/assets/common/items/armor/foot/bonerattler.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Foot("Bonerattler"), stats: ( - protection: Normal(5.0)), + protection: Normal(5.0), + poise_protection: Normal(5.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/foot/cloth_blue_0.ron b/assets/common/items/armor/foot/cloth_blue_0.ron index d672c007a0..0cc4f2312e 100644 --- a/assets/common/items/armor/foot/cloth_blue_0.ron +++ b/assets/common/items/armor/foot/cloth_blue_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Foot("ClothBlue0"), stats: ( - protection: Normal(0.0)), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/foot/cloth_green_0.ron b/assets/common/items/armor/foot/cloth_green_0.ron index 06bb0b3d58..5fcbb896a0 100644 --- a/assets/common/items/armor/foot/cloth_green_0.ron +++ b/assets/common/items/armor/foot/cloth_green_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Foot("ClothGreen0"), stats: ( - protection: Normal(0.0)), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/foot/cloth_purple_0.ron b/assets/common/items/armor/foot/cloth_purple_0.ron index fa7df73d6c..81ecbab724 100644 --- a/assets/common/items/armor/foot/cloth_purple_0.ron +++ b/assets/common/items/armor/foot/cloth_purple_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Foot("ClothPurple0"), stats: ( - protection: Normal(0.0)), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/foot/cultist_boots.ron b/assets/common/items/armor/foot/cultist_boots.ron index 6c683b4c69..862c9613c7 100644 --- a/assets/common/items/armor/foot/cultist_boots.ron +++ b/assets/common/items/armor/foot/cultist_boots.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Foot("Cultist"), stats: ( - protection: Normal(6.0)), + protection: Normal(6.0), + poise_protection: Normal(6.0), + ), ) ), quality: Epic, diff --git a/assets/common/items/armor/foot/druid.ron b/assets/common/items/armor/foot/druid.ron index d07bdd9481..81598674ae 100644 --- a/assets/common/items/armor/foot/druid.ron +++ b/assets/common/items/armor/foot/druid.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Foot("Druid"), stats: ( - protection: Normal(1.0) - ), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/foot/jackalope_slippers.ron b/assets/common/items/armor/foot/jackalope_slippers.ron index 60ff901ff4..147cf08aff 100644 --- a/assets/common/items/armor/foot/jackalope_slippers.ron +++ b/assets/common/items/armor/foot/jackalope_slippers.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Foot("JackalopeSlips"), stats: ( - protection: Normal(0.0)), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/foot/leather_0.ron b/assets/common/items/armor/foot/leather_0.ron index 1f774ec0ef..7b73d97d51 100644 --- a/assets/common/items/armor/foot/leather_0.ron +++ b/assets/common/items/armor/foot/leather_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Foot("Leather0"), stats: ( - protection: Normal(2.0)), + protection: Normal(2.0), + poise_protection: Normal(2.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/foot/leather_2.ron b/assets/common/items/armor/foot/leather_2.ron index 8dcc285e7c..7f9692e7ac 100644 --- a/assets/common/items/armor/foot/leather_2.ron +++ b/assets/common/items/armor/foot/leather_2.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Foot("Leather2"), stats: ( - protection: Normal(2.0)), + protection: Normal(2.0), + poise_protection: Normal(2.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/foot/leather_adventurer.ron b/assets/common/items/armor/foot/leather_adventurer.ron index 4048f926fa..bca44d8e63 100644 --- a/assets/common/items/armor/foot/leather_adventurer.ron +++ b/assets/common/items/armor/foot/leather_adventurer.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Foot("Leather2"), stats: ( - protection: Normal(2.0) - ), + protection: Normal(2.0), + poise_protection: Normal(2.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/foot/plate_0.ron b/assets/common/items/armor/foot/plate_0.ron index 1a3c400c41..a8fe2e35b6 100644 --- a/assets/common/items/armor/foot/plate_0.ron +++ b/assets/common/items/armor/foot/plate_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Foot("Plate0"), stats: ( - protection: Normal(4.0) - ), + protection: Normal(4.0), + poise_protection: Normal(4.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/foot/steel_0.ron b/assets/common/items/armor/foot/steel_0.ron index 9c8e7bda31..e0149a53bc 100644 --- a/assets/common/items/armor/foot/steel_0.ron +++ b/assets/common/items/armor/foot/steel_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Foot("Steel0"), stats: ( - protection: Normal(5.0)), + protection: Normal(5.0), + poise_protection: Normal(5.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/foot/tarasque.ron b/assets/common/items/armor/foot/tarasque.ron index 6964184c23..943cabc984 100644 --- a/assets/common/items/armor/foot/tarasque.ron +++ b/assets/common/items/armor/foot/tarasque.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Foot("Tarasque"), stats: ( - protection: Normal(5.0)), + protection: Normal(5.0), + poise_protection: Normal(5.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/foot/twig.ron b/assets/common/items/armor/foot/twig.ron index 6a8d2be421..dfcb6d69b1 100644 --- a/assets/common/items/armor/foot/twig.ron +++ b/assets/common/items/armor/foot/twig.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Foot("Twig"), stats: ( - protection: Normal(3.0) - ), + protection: Normal(3.0), + poise_protection: Normal(3.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/foot/twigsflowers.ron b/assets/common/items/armor/foot/twigsflowers.ron index 8177d58192..63f231bae6 100644 --- a/assets/common/items/armor/foot/twigsflowers.ron +++ b/assets/common/items/armor/foot/twigsflowers.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Foot("Twigsflowers"), stats: ( - protection: Normal(3.0) - ), + protection: Normal(3.0), + poise_protection: Normal(3.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/foot/twigsleaves.ron b/assets/common/items/armor/foot/twigsleaves.ron index 0de5383eae..75f3b9d45a 100644 --- a/assets/common/items/armor/foot/twigsleaves.ron +++ b/assets/common/items/armor/foot/twigsleaves.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Foot("Twigsleaves"), stats: ( - protection: Normal(3.0) - ), + protection: Normal(3.0), + poise_protection: Normal(3.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/foot/velorite_mage_0.ron b/assets/common/items/armor/foot/velorite_mage_0.ron index 7b48e3cd75..f1cbf70c86 100644 --- a/assets/common/items/armor/foot/velorite_mage_0.ron +++ b/assets/common/items/armor/foot/velorite_mage_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Foot("VeloriteMage0"), stats: ( - protection: Normal(5.9) - ), + protection: Normal(5.9), + poise_protection: Normal(5.9), + ), ) ), quality: High, diff --git a/assets/common/items/armor/foot/warlock.ron b/assets/common/items/armor/foot/warlock.ron index 3bd1951429..6aa7b9a91e 100644 --- a/assets/common/items/armor/foot/warlock.ron +++ b/assets/common/items/armor/foot/warlock.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Foot("Warlock"), stats: ( - protection: Normal(8.0) - ), + protection: Normal(8.0), + poise_protection: Normal(8.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/foot/warlord.ron b/assets/common/items/armor/foot/warlord.ron index 74f7cef132..a3a4bbc84e 100644 --- a/assets/common/items/armor/foot/warlord.ron +++ b/assets/common/items/armor/foot/warlord.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Foot("Warlord"), stats: ( - protection: Normal(8.0) - ), + protection: Normal(8.0), + poise_protection: Normal(8.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/hand/assassin.ron b/assets/common/items/armor/hand/assassin.ron index f1f5892eb7..95450cc92d 100644 --- a/assets/common/items/armor/hand/assassin.ron +++ b/assets/common/items/armor/hand/assassin.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Hand("Assassin"), stats: ( - protection: Normal(6.0) - ), + protection: Normal(6.0), + poise_protection: Normal(6.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/hand/bonerattler.ron b/assets/common/items/armor/hand/bonerattler.ron index 0ed619deea..d78f676564 100644 --- a/assets/common/items/armor/hand/bonerattler.ron +++ b/assets/common/items/armor/hand/bonerattler.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Hand("Bonerattler"), stats: ( - protection: Normal(10.0)), + protection: Normal(10.0), + poise_protection: Normal(10.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/hand/cloth_blue_0.ron b/assets/common/items/armor/hand/cloth_blue_0.ron index ce0d8350be..baef2df7da 100644 --- a/assets/common/items/armor/hand/cloth_blue_0.ron +++ b/assets/common/items/armor/hand/cloth_blue_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Hand("ClothBlue0"), stats: ( - protection: Normal(0.0)), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/hand/cloth_green_0.ron b/assets/common/items/armor/hand/cloth_green_0.ron index 66a847089e..d17e6b63fb 100644 --- a/assets/common/items/armor/hand/cloth_green_0.ron +++ b/assets/common/items/armor/hand/cloth_green_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Hand("ClothGreen0"), stats: ( - protection: Normal(0.0)), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/hand/cloth_purple_0.ron b/assets/common/items/armor/hand/cloth_purple_0.ron index 1392bf82dd..f0a7d6b253 100644 --- a/assets/common/items/armor/hand/cloth_purple_0.ron +++ b/assets/common/items/armor/hand/cloth_purple_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Hand("ClothPurple0"), stats: ( - protection: Normal(0.0)), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/hand/cultist_hands_blue.ron b/assets/common/items/armor/hand/cultist_hands_blue.ron index 959b095af4..2fe9f2b680 100644 --- a/assets/common/items/armor/hand/cultist_hands_blue.ron +++ b/assets/common/items/armor/hand/cultist_hands_blue.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Hand("VeloriteMage0"), stats: ( - protection: Normal(12.0)), + protection: Normal(12.0), + poise_protection: Normal(12.0), + ), ) ), quality: Epic, diff --git a/assets/common/items/armor/hand/cultist_hands_purple.ron b/assets/common/items/armor/hand/cultist_hands_purple.ron index b2aba0a762..51dd24f8c4 100644 --- a/assets/common/items/armor/hand/cultist_hands_purple.ron +++ b/assets/common/items/armor/hand/cultist_hands_purple.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Hand("CultistPurple"), stats: ( - protection: Normal(12.0)), + protection: Normal(12.0), + poise_protection: Normal(12.0), + ), ) ), quality: Epic, diff --git a/assets/common/items/armor/hand/druid.ron b/assets/common/items/armor/hand/druid.ron index 9f19a6419d..39f0a6bf5d 100644 --- a/assets/common/items/armor/hand/druid.ron +++ b/assets/common/items/armor/hand/druid.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Hand("Druid"), stats: ( - protection: Normal(2.0)), + protection: Normal(2.0), + poise_protection: Normal(2.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/hand/leather_0.ron b/assets/common/items/armor/hand/leather_0.ron index 4cf5ff780a..796dc8fca8 100644 --- a/assets/common/items/armor/hand/leather_0.ron +++ b/assets/common/items/armor/hand/leather_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Hand("Leather0"), stats: ( - protection: Normal(4.0)), + protection: Normal(4.0), + poise_protection: Normal(4.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/hand/leather_2.ron b/assets/common/items/armor/hand/leather_2.ron index bdacce9bc7..4170378ceb 100644 --- a/assets/common/items/armor/hand/leather_2.ron +++ b/assets/common/items/armor/hand/leather_2.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Hand("Leather2"), stats: ( - protection: Normal(4.0)), + protection: Normal(4.0), + poise_protection: Normal(4.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/hand/leather_adventurer.ron b/assets/common/items/armor/hand/leather_adventurer.ron index 99dfec383c..8a04897ce2 100644 --- a/assets/common/items/armor/hand/leather_adventurer.ron +++ b/assets/common/items/armor/hand/leather_adventurer.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Hand("Leather2"), stats: ( - protection: Normal(4.0) - ), + protection: Normal(4.0), + poise_protection: Normal(4.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/hand/plate_0.ron b/assets/common/items/armor/hand/plate_0.ron index 9b7ffe5395..3bb81d2cdc 100644 --- a/assets/common/items/armor/hand/plate_0.ron +++ b/assets/common/items/armor/hand/plate_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Hand("Plate0"), stats: ( - protection: Normal(8.0) - ), + protection: Normal(8.0), + poise_protection: Normal(8.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/hand/steel_0.ron b/assets/common/items/armor/hand/steel_0.ron index df5c895a55..22513effe1 100644 --- a/assets/common/items/armor/hand/steel_0.ron +++ b/assets/common/items/armor/hand/steel_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Hand("Steel0"), stats: ( - protection: Normal(10.0) - ), + protection: Normal(10.0), + poise_protection: Normal(10.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/hand/tarasque.ron b/assets/common/items/armor/hand/tarasque.ron index da6293a96e..916da7c2c0 100644 --- a/assets/common/items/armor/hand/tarasque.ron +++ b/assets/common/items/armor/hand/tarasque.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Hand("Tarasque"), stats: ( - protection: Normal(10.0)), + protection: Normal(10.0), + poise_protection: Normal(10.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/hand/twig.ron b/assets/common/items/armor/hand/twig.ron index a9435d1738..1432b30cbe 100644 --- a/assets/common/items/armor/hand/twig.ron +++ b/assets/common/items/armor/hand/twig.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Hand("Twig"), stats: ( - protection: Normal(6.0) - ), + protection: Normal(6.0), + poise_protection: Normal(6.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/hand/twigsflowers.ron b/assets/common/items/armor/hand/twigsflowers.ron index 715eb2d4af..d1f201a9ef 100644 --- a/assets/common/items/armor/hand/twigsflowers.ron +++ b/assets/common/items/armor/hand/twigsflowers.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Hand("Twigsflowers"), stats: ( - protection: Normal(6.0) - ), + protection: Normal(6.0), + poise_protection: Normal(6.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/hand/twigsleaves.ron b/assets/common/items/armor/hand/twigsleaves.ron index 5e66795bfb..905027e43d 100644 --- a/assets/common/items/armor/hand/twigsleaves.ron +++ b/assets/common/items/armor/hand/twigsleaves.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Hand("Twigsleaves"), stats: ( - protection: Normal(6.0) - ), + protection: Normal(6.0), + poise_protection: Normal(6.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/hand/velorite_mage_0.ron b/assets/common/items/armor/hand/velorite_mage_0.ron index 64a6e0ebb4..abef7c24e8 100644 --- a/assets/common/items/armor/hand/velorite_mage_0.ron +++ b/assets/common/items/armor/hand/velorite_mage_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Hand("VeloriteMage0"), stats: ( - protection: Normal(11.5) - ), + protection: Normal(11.5), + poise_protection: Normal(11.5), + ), ) ), quality: High, diff --git a/assets/common/items/armor/hand/warlock.ron b/assets/common/items/armor/hand/warlock.ron index 371868f9ec..43a5070086 100644 --- a/assets/common/items/armor/hand/warlock.ron +++ b/assets/common/items/armor/hand/warlock.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Hand("Warlock"), stats: ( - protection: Normal(15.0)), + protection: Normal(15.0), + poise_protection: Normal(15.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/hand/warlord.ron b/assets/common/items/armor/hand/warlord.ron index b923282a31..421bc31ad0 100644 --- a/assets/common/items/armor/hand/warlord.ron +++ b/assets/common/items/armor/hand/warlord.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Hand("Warlord"), stats: ( - protection: Normal(15.0)), + protection: Normal(15.0), + poise_protection: Normal(15.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/head/assa_mask_0.ron b/assets/common/items/armor/head/assa_mask_0.ron index b68f0f32a9..fe3c1e9359 100644 --- a/assets/common/items/armor/head/assa_mask_0.ron +++ b/assets/common/items/armor/head/assa_mask_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Head("AssaMask0"), stats: ( - protection: Normal(0.0) - ), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/head/leather_0.ron b/assets/common/items/armor/head/leather_0.ron index 7844e0f34e..296427caab 100644 --- a/assets/common/items/armor/head/leather_0.ron +++ b/assets/common/items/armor/head/leather_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Head("Leather0"), stats: ( - protection: Normal(0.0)), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/head/warlock.ron b/assets/common/items/armor/head/warlock.ron index b0a56ec629..6d784ff978 100644 --- a/assets/common/items/armor/head/warlock.ron +++ b/assets/common/items/armor/head/warlock.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Head("Warlock"), stats: ( - protection: Normal(10.0)), + protection: Normal(10.0), + poise_protection: Normal(10.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/head/warlord.ron b/assets/common/items/armor/head/warlord.ron index 6ecc46f802..42619e4f4c 100644 --- a/assets/common/items/armor/head/warlord.ron +++ b/assets/common/items/armor/head/warlord.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Head("Warlord"), stats: ( - protection: Normal(10.0)), + protection: Normal(10.0), + poise_protection: Normal(10.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/neck/neck_0.ron b/assets/common/items/armor/neck/neck_0.ron index 8f2a59e977..58b7bdc43b 100644 --- a/assets/common/items/armor/neck/neck_0.ron +++ b/assets/common/items/armor/neck/neck_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Neck("Neck0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/neck/neck_1.ron b/assets/common/items/armor/neck/neck_1.ron index 0820a2731c..327d5f9bd3 100644 --- a/assets/common/items/armor/neck/neck_1.ron +++ b/assets/common/items/armor/neck/neck_1.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Neck("Neck1"), stats: ( - protection: Normal(2.0) - ), + protection: Normal(2.0), + poise_protection: Normal(2.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/pants/assassin.ron b/assets/common/items/armor/pants/assassin.ron index 9de8dc7603..682b51cc23 100644 --- a/assets/common/items/armor/pants/assassin.ron +++ b/assets/common/items/armor/pants/assassin.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Pants("Assassin"), stats: ( - protection: Normal(10.0) - ), + protection: Normal(10.0), + poise_protection: Normal(10.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/pants/bonerattler.ron b/assets/common/items/armor/pants/bonerattler.ron index 73aa86acf7..90ad1c8b4e 100644 --- a/assets/common/items/armor/pants/bonerattler.ron +++ b/assets/common/items/armor/pants/bonerattler.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("Bonerattler"), stats: ( - protection: Normal(20.0)), + protection: Normal(20.0), + poise_protection: Normal(20.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/pants/cloth_blue_0.ron b/assets/common/items/armor/pants/cloth_blue_0.ron index 6ea7360ec6..272bf3145b 100644 --- a/assets/common/items/armor/pants/cloth_blue_0.ron +++ b/assets/common/items/armor/pants/cloth_blue_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("ClothBlue0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/pants/cloth_green_0.ron b/assets/common/items/armor/pants/cloth_green_0.ron index 7371957d6d..fc7063325b 100644 --- a/assets/common/items/armor/pants/cloth_green_0.ron +++ b/assets/common/items/armor/pants/cloth_green_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("ClothGreen0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/pants/cloth_purple_0.ron b/assets/common/items/armor/pants/cloth_purple_0.ron index 155e26b9e8..5bbf79b764 100644 --- a/assets/common/items/armor/pants/cloth_purple_0.ron +++ b/assets/common/items/armor/pants/cloth_purple_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("ClothPurple0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/pants/cultist_legs_blue.ron b/assets/common/items/armor/pants/cultist_legs_blue.ron index 4f965a7355..601dc97f91 100644 --- a/assets/common/items/armor/pants/cultist_legs_blue.ron +++ b/assets/common/items/armor/pants/cultist_legs_blue.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("VeloriteMage0"), stats: ( - protection: Normal(24.0)), + protection: Normal(24.0), + poise_protection: Normal(24.0), + ), ) ), quality: Epic, diff --git a/assets/common/items/armor/pants/cultist_legs_purple.ron b/assets/common/items/armor/pants/cultist_legs_purple.ron index 8863aad0f9..d19780d7c9 100644 --- a/assets/common/items/armor/pants/cultist_legs_purple.ron +++ b/assets/common/items/armor/pants/cultist_legs_purple.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("CultistPurple"), stats: ( - protection: Normal(24.0)), + protection: Normal(24.0), + poise_protection: Normal(24.0), + ), ) ), quality: Epic, diff --git a/assets/common/items/armor/pants/druid.ron b/assets/common/items/armor/pants/druid.ron index 31a6d529a6..d3d93f948b 100644 --- a/assets/common/items/armor/pants/druid.ron +++ b/assets/common/items/armor/pants/druid.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Pants("Druid"), stats: ( - protection: Normal(4.0) - ), + protection: Normal(4.0), + poise_protection: Normal(4.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/pants/hunting.ron b/assets/common/items/armor/pants/hunting.ron index 1a0b0fba47..40571bb6e3 100644 --- a/assets/common/items/armor/pants/hunting.ron +++ b/assets/common/items/armor/pants/hunting.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Pants("Hunting"), stats: ( - protection: Normal(8.0) - ), + protection: Normal(8.0), + poise_protection: Normal(8.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/pants/leather_0.ron b/assets/common/items/armor/pants/leather_0.ron index 7546ee2c25..6ffea50e25 100644 --- a/assets/common/items/armor/pants/leather_0.ron +++ b/assets/common/items/armor/pants/leather_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("Leather0"), stats: ( - protection: Normal(8.0)), + protection: Normal(8.0), + poise_protection: Normal(8.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/pants/leather_2.ron b/assets/common/items/armor/pants/leather_2.ron index 910b966416..4de3b3c13e 100644 --- a/assets/common/items/armor/pants/leather_2.ron +++ b/assets/common/items/armor/pants/leather_2.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("Leather2"), stats: ( - protection: Normal(8.0)), + protection: Normal(8.0), + poise_protection: Normal(8.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/pants/leather_adventurer.ron b/assets/common/items/armor/pants/leather_adventurer.ron index 7bde4e749c..f884358bea 100644 --- a/assets/common/items/armor/pants/leather_adventurer.ron +++ b/assets/common/items/armor/pants/leather_adventurer.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Pants("Leather2"), stats: ( - protection: Normal(6.0) - ), + protection: Normal(6.0), + poise_protection: Normal(6.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/pants/plate_green_0.ron b/assets/common/items/armor/pants/plate_green_0.ron index 59dd99ad58..91608dd4e8 100644 --- a/assets/common/items/armor/pants/plate_green_0.ron +++ b/assets/common/items/armor/pants/plate_green_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Pants("PlateGreen0"), stats: ( - protection: Normal(16.0) - ), + protection: Normal(16.0), + poise_protection: Normal(16.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/pants/steel_0.ron b/assets/common/items/armor/pants/steel_0.ron index c5ed8c7a8e..053b2dc4f7 100644 --- a/assets/common/items/armor/pants/steel_0.ron +++ b/assets/common/items/armor/pants/steel_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Pants("Steel0"), stats: ( - protection: Normal(20.0) - ), + protection: Normal(20.0), + poise_protection: Normal(20.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/pants/tarasque.ron b/assets/common/items/armor/pants/tarasque.ron index e82af5f2cc..50ab6b05fa 100644 --- a/assets/common/items/armor/pants/tarasque.ron +++ b/assets/common/items/armor/pants/tarasque.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("Tarasque"), stats: ( - protection: Normal(20.0)), + protection: Normal(20.0), + poise_protection: Normal(20.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/pants/twig.ron b/assets/common/items/armor/pants/twig.ron index 773a392b75..681e19e214 100644 --- a/assets/common/items/armor/pants/twig.ron +++ b/assets/common/items/armor/pants/twig.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Pants("Twig"), stats: ( - protection: Normal(12.0) - ), + protection: Normal(12.0), + poise_protection: Normal(12.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/pants/twigsflowers.ron b/assets/common/items/armor/pants/twigsflowers.ron index cfd06d0c74..0b1bf9d12e 100644 --- a/assets/common/items/armor/pants/twigsflowers.ron +++ b/assets/common/items/armor/pants/twigsflowers.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Pants("Twigsflowers"), stats: ( - protection: Normal(12.0) - ), + protection: Normal(12.0), + poise_protection: Normal(12.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/pants/twigsleaves.ron b/assets/common/items/armor/pants/twigsleaves.ron index c121ac383a..41a039044d 100644 --- a/assets/common/items/armor/pants/twigsleaves.ron +++ b/assets/common/items/armor/pants/twigsleaves.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Pants("Twigsleaves"), stats: ( - protection: Normal(12.0) - ), + protection: Normal(12.0), + poise_protection: Normal(12.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/pants/velorite_mage_0.ron b/assets/common/items/armor/pants/velorite_mage_0.ron index c8e7093470..f535d9e98e 100644 --- a/assets/common/items/armor/pants/velorite_mage_0.ron +++ b/assets/common/items/armor/pants/velorite_mage_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Pants("VeloriteMage0"), stats: ( - protection: Normal(23.0) - ), + protection: Normal(23.0), + poise_protection: Normal(23.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/pants/warlock.ron b/assets/common/items/armor/pants/warlock.ron index 782b2bbf05..1851d47312 100644 --- a/assets/common/items/armor/pants/warlock.ron +++ b/assets/common/items/armor/pants/warlock.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Pants("Warlock"), stats: ( - protection: Normal(30.0) - ), + protection: Normal(30.0), + poise_protection: Normal(30.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/pants/warlord.ron b/assets/common/items/armor/pants/warlord.ron index 3836043c68..317b581f02 100644 --- a/assets/common/items/armor/pants/warlord.ron +++ b/assets/common/items/armor/pants/warlord.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Pants("Warlord"), stats: ( - protection: Normal(30.0) - ), + protection: Normal(30.0), + poise_protection: Normal(30.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/pants/worker_blue_0.ron b/assets/common/items/armor/pants/worker_blue_0.ron index 8d5faa1e14..5966cbb41c 100644 --- a/assets/common/items/armor/pants/worker_blue_0.ron +++ b/assets/common/items/armor/pants/worker_blue_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("WorkerBlue0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/ring/ring_0.ron b/assets/common/items/armor/ring/ring_0.ron index fbcda86466..c80d88af8a 100644 --- a/assets/common/items/armor/ring/ring_0.ron +++ b/assets/common/items/armor/ring/ring_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Ring("Ring0"), stats: ( - protection: Normal(0.1)), + protection: Normal(0.1), + poise_protection: Normal(0.1), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/ring/ring_gold_0.ron b/assets/common/items/armor/ring/ring_gold_0.ron index 30a880c69d..91a8609f02 100644 --- a/assets/common/items/armor/ring/ring_gold_0.ron +++ b/assets/common/items/armor/ring/ring_gold_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Ring("RingGold0"), stats: ( - protection: Normal(0.5)), + protection: Normal(0.5), + poise_protection: Normal(0.5), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/ring/ring_purp_high_0.ron b/assets/common/items/armor/ring/ring_purp_high_0.ron index addad514be..9c13da06a0 100644 --- a/assets/common/items/armor/ring/ring_purp_high_0.ron +++ b/assets/common/items/armor/ring/ring_purp_high_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Ring("RingSkull0"), stats: ( - protection: Normal(3.0)), + protection: Normal(3.0), + poise_protection: Normal(3.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/shoulder/assassin.ron b/assets/common/items/armor/shoulder/assassin.ron index 7ab33f9c58..9abc1260f3 100644 --- a/assets/common/items/armor/shoulder/assassin.ron +++ b/assets/common/items/armor/shoulder/assassin.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Shoulder("Assassin"), stats: ( - protection: Normal(8.0) - ), + protection: Normal(8.0), + poise_protection: Normal(8.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/shoulder/bonerattler.ron b/assets/common/items/armor/shoulder/bonerattler.ron index 2168901ca6..7e3d2e9c7d 100644 --- a/assets/common/items/armor/shoulder/bonerattler.ron +++ b/assets/common/items/armor/shoulder/bonerattler.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("Bonerattler"), stats: ( - protection: Normal(15.0)), + protection: Normal(15.0), + poise_protection: Normal(15.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/shoulder/cloth_blue_0.ron b/assets/common/items/armor/shoulder/cloth_blue_0.ron index a8f683b171..862ac8ff92 100644 --- a/assets/common/items/armor/shoulder/cloth_blue_0.ron +++ b/assets/common/items/armor/shoulder/cloth_blue_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("ClothBlue0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/cloth_blue_1.ron b/assets/common/items/armor/shoulder/cloth_blue_1.ron index 43cd74fcfa..7838333050 100644 --- a/assets/common/items/armor/shoulder/cloth_blue_1.ron +++ b/assets/common/items/armor/shoulder/cloth_blue_1.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("ClothBlue1"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/cloth_green_0.ron b/assets/common/items/armor/shoulder/cloth_green_0.ron index 30409c7778..f2eb62d66d 100644 --- a/assets/common/items/armor/shoulder/cloth_green_0.ron +++ b/assets/common/items/armor/shoulder/cloth_green_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("ClothGreen0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/cloth_purple_0.ron b/assets/common/items/armor/shoulder/cloth_purple_0.ron index ad81ea146b..be11c3a74f 100644 --- a/assets/common/items/armor/shoulder/cloth_purple_0.ron +++ b/assets/common/items/armor/shoulder/cloth_purple_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("ClothPurple0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron b/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron index 7f07f1797f..45d255daa9 100644 --- a/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron +++ b/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("VeloriteMage0"), stats: ( - protection: Normal(18.0)), + protection: Normal(18.0), + poise_protection: Normal(18.0), + ), ) ), quality: Epic, diff --git a/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron b/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron index 3d11f7a84d..080efcec72 100644 --- a/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron +++ b/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("CultistPurple"), stats: ( - protection: Normal(18.0)), + protection: Normal(18.0), + poise_protection: Normal(18.0), + ), ) ), quality: Epic, diff --git a/assets/common/items/armor/shoulder/druidshoulder.ron b/assets/common/items/armor/shoulder/druidshoulder.ron index fafffff09f..558290d0a6 100644 --- a/assets/common/items/armor/shoulder/druidshoulder.ron +++ b/assets/common/items/armor/shoulder/druidshoulder.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("DruidShoulder"), stats: ( - protection: Normal(3.0)), + protection: Normal(3.0), + poise_protection: Normal(3.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/iron_spikes.ron b/assets/common/items/armor/shoulder/iron_spikes.ron index 6dadb09b87..cc08a60deb 100644 --- a/assets/common/items/armor/shoulder/iron_spikes.ron +++ b/assets/common/items/armor/shoulder/iron_spikes.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Shoulder("IronSpikes"), stats: ( - protection: Normal(12.0) - ), + protection: Normal(12.0), + poise_protection: Normal(12.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/shoulder/leather_0.ron b/assets/common/items/armor/shoulder/leather_0.ron index ea2bd0888c..c44e7a7520 100644 --- a/assets/common/items/armor/shoulder/leather_0.ron +++ b/assets/common/items/armor/shoulder/leather_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("Leather0"), stats: ( - protection: Normal(6.0)), + protection: Normal(6.0), + poise_protection: Normal(6.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/leather_1.ron b/assets/common/items/armor/shoulder/leather_1.ron index 0a80a4a8a3..df814b6af8 100644 --- a/assets/common/items/armor/shoulder/leather_1.ron +++ b/assets/common/items/armor/shoulder/leather_1.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("Leather1"), stats: ( - protection: Normal(6.0)), + protection: Normal(6.0), + poise_protection: Normal(6.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/leather_2.ron b/assets/common/items/armor/shoulder/leather_2.ron index 4a05c53bbd..32b67a32a1 100644 --- a/assets/common/items/armor/shoulder/leather_2.ron +++ b/assets/common/items/armor/shoulder/leather_2.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("Leather2"), stats: ( - protection: Normal(6.0)), + protection: Normal(6.0), + poise_protection: Normal(6.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/leather_adventurer.ron b/assets/common/items/armor/shoulder/leather_adventurer.ron index b1a7c9fe95..57caf4d057 100644 --- a/assets/common/items/armor/shoulder/leather_adventurer.ron +++ b/assets/common/items/armor/shoulder/leather_adventurer.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Shoulder("Leather2"), stats: ( - protection: Normal(8.0) - ), + protection: Normal(8.0), + poise_protection: Normal(8.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/shoulder/leather_iron_0.ron b/assets/common/items/armor/shoulder/leather_iron_0.ron index 84731d1446..48514de458 100644 --- a/assets/common/items/armor/shoulder/leather_iron_0.ron +++ b/assets/common/items/armor/shoulder/leather_iron_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("IronLeather0"), stats: ( - protection: Normal(9.0)), + protection: Normal(9.0), + poise_protection: Normal(9.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/leather_iron_1.ron b/assets/common/items/armor/shoulder/leather_iron_1.ron index 31d9e2ee1e..74a2099e37 100644 --- a/assets/common/items/armor/shoulder/leather_iron_1.ron +++ b/assets/common/items/armor/shoulder/leather_iron_1.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("IronLeather1"), stats: ( - protection: Normal(9.0)), + protection: Normal(9.0), + poise_protection: Normal(9.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/leather_iron_2.ron b/assets/common/items/armor/shoulder/leather_iron_2.ron index 2bc7a82817..895990894d 100644 --- a/assets/common/items/armor/shoulder/leather_iron_2.ron +++ b/assets/common/items/armor/shoulder/leather_iron_2.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("IronLeather2"), stats: ( - protection: Normal(9.0)), + protection: Normal(9.0), + poise_protection: Normal(9.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/leather_iron_3.ron b/assets/common/items/armor/shoulder/leather_iron_3.ron index 181eb465af..080d6b999d 100644 --- a/assets/common/items/armor/shoulder/leather_iron_3.ron +++ b/assets/common/items/armor/shoulder/leather_iron_3.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("IronLeather3"), stats: ( - protection: Normal(9.0)), + protection: Normal(9.0), + poise_protection: Normal(9.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/leather_strips.ron b/assets/common/items/armor/shoulder/leather_strips.ron index a47ae472cc..e709b06ade 100644 --- a/assets/common/items/armor/shoulder/leather_strips.ron +++ b/assets/common/items/armor/shoulder/leather_strips.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("LeatherStrips"), stats: ( - protection: Normal(4.0)), + protection: Normal(4.0), + poise_protection: Normal(4.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/shoulder/plate_0.ron b/assets/common/items/armor/shoulder/plate_0.ron index c92f2be8eb..49233e3539 100644 --- a/assets/common/items/armor/shoulder/plate_0.ron +++ b/assets/common/items/armor/shoulder/plate_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Shoulder("Plate0"), stats: ( - protection: Normal(12.0) - ), + protection: Normal(12.0), + poise_protection: Normal(12.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/shoulder/steel_0.ron b/assets/common/items/armor/shoulder/steel_0.ron index caec1c6619..1a42ac98db 100644 --- a/assets/common/items/armor/shoulder/steel_0.ron +++ b/assets/common/items/armor/shoulder/steel_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Shoulder("Steel0"), stats: ( - protection: Normal(15.0) - ), + protection: Normal(15.0), + poise_protection: Normal(15.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/shoulder/tarasque.ron b/assets/common/items/armor/shoulder/tarasque.ron index 72fc33b92e..c36dd0d8bb 100644 --- a/assets/common/items/armor/shoulder/tarasque.ron +++ b/assets/common/items/armor/shoulder/tarasque.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("Tarasque"), stats: ( - protection: Normal(15.0)), + protection: Normal(15.0), + poise_protection: Normal(15.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/shoulder/twigs.ron b/assets/common/items/armor/shoulder/twigs.ron index 6a2e3e7298..4119d695fa 100644 --- a/assets/common/items/armor/shoulder/twigs.ron +++ b/assets/common/items/armor/shoulder/twigs.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("TwiggyShoulder"), stats: ( - protection: Normal(9.0)), + protection: Normal(9.0), + poise_protection: Normal(9.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/twigsflowers.ron b/assets/common/items/armor/shoulder/twigsflowers.ron index 12c0f77f7b..8c3ec79476 100644 --- a/assets/common/items/armor/shoulder/twigsflowers.ron +++ b/assets/common/items/armor/shoulder/twigsflowers.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("FlowerShoulder"), stats: ( - protection: Normal(9.0)), + protection: Normal(9.0), + poise_protection: Normal(9.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/twigsleaves.ron b/assets/common/items/armor/shoulder/twigsleaves.ron index bf91b9bf69..c710157b19 100644 --- a/assets/common/items/armor/shoulder/twigsleaves.ron +++ b/assets/common/items/armor/shoulder/twigsleaves.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("LeafyShoulder"), stats: ( - protection: Normal(9.0)), + protection: Normal(9.0), + poise_protection: Normal(9.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/velorite_mage_0.ron b/assets/common/items/armor/shoulder/velorite_mage_0.ron index 4f4ab63871..a7cfbbd0ae 100644 --- a/assets/common/items/armor/shoulder/velorite_mage_0.ron +++ b/assets/common/items/armor/shoulder/velorite_mage_0.ron @@ -5,8 +5,9 @@ ItemDef( ( kind: Shoulder("VeloriteMage0"), stats: ( - protection: Normal(17.0) - ), + protection: Normal(17.0), + poise_protection: Normal(17.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/shoulder/warlock.ron b/assets/common/items/armor/shoulder/warlock.ron index ee077bbc5f..ec4ba04684 100644 --- a/assets/common/items/armor/shoulder/warlock.ron +++ b/assets/common/items/armor/shoulder/warlock.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("Warlock"), stats: ( - protection: Normal(22.0)), + protection: Normal(22.0), + poise_protection: Normal(22.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/shoulder/warlord.ron b/assets/common/items/armor/shoulder/warlord.ron index d7163c9155..ac03adcd99 100644 --- a/assets/common/items/armor/shoulder/warlord.ron +++ b/assets/common/items/armor/shoulder/warlord.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("Warlord"), stats: ( - protection: Normal(22.0)), + protection: Normal(22.0), + poise_protection: Normal(22.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/starter/rugged_chest.ron b/assets/common/items/armor/starter/rugged_chest.ron index 8da94b8122..875a2eca4d 100644 --- a/assets/common/items/armor/starter/rugged_chest.ron +++ b/assets/common/items/armor/starter/rugged_chest.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("Rugged0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/starter/rugged_pants.ron b/assets/common/items/armor/starter/rugged_pants.ron index f9863dbee8..406f74ef4a 100644 --- a/assets/common/items/armor/starter/rugged_pants.ron +++ b/assets/common/items/armor/starter/rugged_pants.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("Rugged0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/starter/sandals_0.ron b/assets/common/items/armor/starter/sandals_0.ron index 4852d8a71e..e817909913 100644 --- a/assets/common/items/armor/starter/sandals_0.ron +++ b/assets/common/items/armor/starter/sandals_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Foot("Sandal0"), stats: ( - protection: Normal(0.0)), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Low, diff --git a/assets/common/items/armor/tabard/admin.ron b/assets/common/items/armor/tabard/admin.ron index eea10b1096..6b872f3470 100644 --- a/assets/common/items/armor/tabard/admin.ron +++ b/assets/common/items/armor/tabard/admin.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Tabard("Admin"), stats: ( - protection: Normal(0.0)), + protection: Invincible, + poise_protection: Invincible, + ), ) ), quality: Debug, diff --git a/assets/common/items/debug/admin.ron b/assets/common/items/debug/admin.ron index 028d729140..6b872f3470 100644 --- a/assets/common/items/debug/admin.ron +++ b/assets/common/items/debug/admin.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Tabard("Admin"), stats: ( - protection: Invincible), + protection: Invincible, + poise_protection: Invincible, + ), ) ), quality: Debug, diff --git a/assets/common/items/debug/admin_back.ron b/assets/common/items/debug/admin_back.ron index 2b8648185a..048e196395 100644 --- a/assets/common/items/debug/admin_back.ron +++ b/assets/common/items/debug/admin_back.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Back("Admin"), stats: ( - protection: Invincible), + protection: Invincible, + poise_protection: Invincible, + ), ) ), quality: Debug, diff --git a/assets/common/items/debug/boost.ron b/assets/common/items/debug/boost.ron index 10a95d2195..ac3ff906ed 100644 --- a/assets/common/items/debug/boost.ron +++ b/assets/common/items/debug/boost.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 0, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/debug/cultist_belt.ron b/assets/common/items/debug/cultist_belt.ron index b9823f35e9..c6c29c20a1 100644 --- a/assets/common/items/debug/cultist_belt.ron +++ b/assets/common/items/debug/cultist_belt.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Belt("VeloriteMage0"), stats: ( - protection: Invincible), + protection: Invincible, + poise_protection: Invincible, + ), ) ), quality: Debug, diff --git a/assets/common/items/debug/cultist_boots.ron b/assets/common/items/debug/cultist_boots.ron index e212095431..a3f19ee1b1 100644 --- a/assets/common/items/debug/cultist_boots.ron +++ b/assets/common/items/debug/cultist_boots.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Foot("VeloriteMage0"), stats: ( - protection: Invincible), + protection: Invincible, + poise_protection: Invincible, + ), ) ), quality: Debug, diff --git a/assets/common/items/debug/cultist_chest_blue.ron b/assets/common/items/debug/cultist_chest_blue.ron index 9a0339c8d0..1ea375fbad 100644 --- a/assets/common/items/debug/cultist_chest_blue.ron +++ b/assets/common/items/debug/cultist_chest_blue.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("VeloriteMage0"), stats: ( - protection: Invincible), + protection: Invincible, + poise_protection: Invincible, + ), ) ), quality: Debug, diff --git a/assets/common/items/debug/cultist_hands_blue.ron b/assets/common/items/debug/cultist_hands_blue.ron index 5138204320..bcd9c41b93 100644 --- a/assets/common/items/debug/cultist_hands_blue.ron +++ b/assets/common/items/debug/cultist_hands_blue.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Hand("VeloriteMage0"), stats: ( - protection: Invincible), + protection: Invincible, + poise_protection: Invincible, + ), ) ), quality: Debug, diff --git a/assets/common/items/debug/cultist_legs_blue.ron b/assets/common/items/debug/cultist_legs_blue.ron index 7fd62d77f4..b917f35313 100644 --- a/assets/common/items/debug/cultist_legs_blue.ron +++ b/assets/common/items/debug/cultist_legs_blue.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("VeloriteMage0"), stats: ( - protection: Invincible), + protection: Invincible, + poise_protection: Invincible, + ), ) ), quality: Debug, diff --git a/assets/common/items/debug/cultist_purp_2h_boss-0.ron b/assets/common/items/debug/cultist_purp_2h_boss-0.ron index 0ce9a87270..2417c55031 100644 --- a/assets/common/items/debug/cultist_purp_2h_boss-0.ron +++ b/assets/common/items/debug/cultist_purp_2h_boss-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 0, power: 1000.0, + poise_reduction_power: 1000.0, speed: 1.0 ), ) diff --git a/assets/common/items/debug/cultist_shoulder_blue.ron b/assets/common/items/debug/cultist_shoulder_blue.ron index ee114ab8ff..1468b11511 100644 --- a/assets/common/items/debug/cultist_shoulder_blue.ron +++ b/assets/common/items/debug/cultist_shoulder_blue.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("VeloriteMage0"), stats: ( - protection: Invincible), + protection: Invincible, + poise_protection: Invincible, + ), ) ), quality: Debug, diff --git a/assets/common/items/debug/dungeon_purple-0.ron b/assets/common/items/debug/dungeon_purple-0.ron index 200482c826..7ada1e0e48 100644 --- a/assets/common/items/debug/dungeon_purple-0.ron +++ b/assets/common/items/debug/dungeon_purple-0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Back("VeloriteMage0"), stats: ( - protection: Invincible), + protection: Invincible, + poise_protection: Invincible, + ), ) ), quality: Debug, diff --git a/assets/common/items/debug/possess.ron b/assets/common/items/debug/possess.ron index 10a95d2195..ac3ff906ed 100644 --- a/assets/common/items/debug/possess.ron +++ b/assets/common/items/debug/possess.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 0, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_armor/back/backpack_0.ron b/assets/common/items/npc_armor/back/backpack_0.ron index 00a64c0d47..67d28e2ae8 100644 --- a/assets/common/items/npc_armor/back/backpack_0.ron +++ b/assets/common/items/npc_armor/back/backpack_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Back("Backpack0"), stats: ( - protection: Normal(0.0)), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/npc_armor/back/backpack_blue_0.ron b/assets/common/items/npc_armor/back/backpack_blue_0.ron index 66446c93f2..a4faee6084 100644 --- a/assets/common/items/npc_armor/back/backpack_blue_0.ron +++ b/assets/common/items/npc_armor/back/backpack_blue_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Back("BackpackBlue0"), stats: ( - protection: Normal(0.0)), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/npc_armor/back/dungeon_purple-0.ron b/assets/common/items/npc_armor/back/dungeon_purple-0.ron index 310286b04b..de7b84450b 100644 --- a/assets/common/items/npc_armor/back/dungeon_purple-0.ron +++ b/assets/common/items/npc_armor/back/dungeon_purple-0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Back("DungPurp0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(0.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/back/leather_blue_0.ron b/assets/common/items/npc_armor/back/leather_blue_0.ron index 3cc34c285d..199c4df83e 100644 --- a/assets/common/items/npc_armor/back/leather_blue_0.ron +++ b/assets/common/items/npc_armor/back/leather_blue_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Back("LeatherBlue0"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(0.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/npc_armor/belt/cultist_belt.ron b/assets/common/items/npc_armor/belt/cultist_belt.ron index 69a81186be..582187be79 100644 --- a/assets/common/items/npc_armor/belt/cultist_belt.ron +++ b/assets/common/items/npc_armor/belt/cultist_belt.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Belt("Cultist"), stats: ( - protection: Normal(0.0)), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/chest/cultist_chest_purple.ron b/assets/common/items/npc_armor/chest/cultist_chest_purple.ron index 475fd3eb82..9deacf4190 100644 --- a/assets/common/items/npc_armor/chest/cultist_chest_purple.ron +++ b/assets/common/items/npc_armor/chest/cultist_chest_purple.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("CultistPurple"), stats: ( - protection: Normal(5.0)), + protection: Normal(5.0), + poise_protection: Normal(5.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/chest/leather_blue_0.ron b/assets/common/items/npc_armor/chest/leather_blue_0.ron index 0a07cbe40a..636e277555 100644 --- a/assets/common/items/npc_armor/chest/leather_blue_0.ron +++ b/assets/common/items/npc_armor/chest/leather_blue_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("LeatherBlue0"), stats: ( - protection: Normal(5.0)), + protection: Normal(5.0), + poise_protection: Normal(5.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/npc_armor/chest/plate_green_0.ron b/assets/common/items/npc_armor/chest/plate_green_0.ron index 6218a465dd..a68246b17f 100644 --- a/assets/common/items/npc_armor/chest/plate_green_0.ron +++ b/assets/common/items/npc_armor/chest/plate_green_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("PlateGreen0"), stats: ( - protection: Normal(5.0)), + protection: Normal(5.0), + poise_protection: Normal(5.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/chest/plate_red_0.ron b/assets/common/items/npc_armor/chest/plate_red_0.ron index 35ed8aeecf..ee54da964e 100644 --- a/assets/common/items/npc_armor/chest/plate_red_0.ron +++ b/assets/common/items/npc_armor/chest/plate_red_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("PlateRed0"), stats: ( - protection: Normal(5.0)), + protection: Normal(5.0), + poise_protection: Normal(5.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/chest/worker_green_0.ron b/assets/common/items/npc_armor/chest/worker_green_0.ron index e599e76361..6557bec2ae 100644 --- a/assets/common/items/npc_armor/chest/worker_green_0.ron +++ b/assets/common/items/npc_armor/chest/worker_green_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerGreen0"), stats: ( - protection: Normal(80.0)), + protection: Normal(80.0), + poise_protection: Normal(80.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/chest/worker_green_1.ron b/assets/common/items/npc_armor/chest/worker_green_1.ron index 7dc2529f59..e4e0ba352a 100644 --- a/assets/common/items/npc_armor/chest/worker_green_1.ron +++ b/assets/common/items/npc_armor/chest/worker_green_1.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerGreen1"), stats: ( - protection: Normal(80.0)), + protection: Normal(80.0), + poise_protection: Normal(80.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/chest/worker_orange_0.ron b/assets/common/items/npc_armor/chest/worker_orange_0.ron index a6d930ebab..6de9320085 100644 --- a/assets/common/items/npc_armor/chest/worker_orange_0.ron +++ b/assets/common/items/npc_armor/chest/worker_orange_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerOrange0"), stats: ( - protection: Normal(80.0)), + protection: Normal(80.0), + poise_protection: Normal(80.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/chest/worker_orange_1.ron b/assets/common/items/npc_armor/chest/worker_orange_1.ron index 3974902a17..8cdea1a49e 100644 --- a/assets/common/items/npc_armor/chest/worker_orange_1.ron +++ b/assets/common/items/npc_armor/chest/worker_orange_1.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerOrange1"), stats: ( - protection: Normal(80.0)), + protection: Normal(80.0), + poise_protection: Normal(80.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/chest/worker_purple_0.ron b/assets/common/items/npc_armor/chest/worker_purple_0.ron index 454eb832e1..7cdfa7a64b 100644 --- a/assets/common/items/npc_armor/chest/worker_purple_0.ron +++ b/assets/common/items/npc_armor/chest/worker_purple_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerPurple0"), stats: ( - protection: Normal(80.0)), + protection: Normal(80.0), + poise_protection: Normal(80.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/chest/worker_purple_1.ron b/assets/common/items/npc_armor/chest/worker_purple_1.ron index b33ef2caf1..8cf05f185c 100644 --- a/assets/common/items/npc_armor/chest/worker_purple_1.ron +++ b/assets/common/items/npc_armor/chest/worker_purple_1.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerPurple1"), stats: ( - protection: Normal(80.0)), + protection: Normal(80.0), + poise_protection: Normal(80.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/chest/worker_red_0.ron b/assets/common/items/npc_armor/chest/worker_red_0.ron index da06489316..a3441e563d 100644 --- a/assets/common/items/npc_armor/chest/worker_red_0.ron +++ b/assets/common/items/npc_armor/chest/worker_red_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerRed0"), stats: ( - protection: Normal(80.0)), + protection: Normal(80.0), + poise_protection: Normal(80.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/chest/worker_red_1.ron b/assets/common/items/npc_armor/chest/worker_red_1.ron index 78b7b42045..629e9b1ce2 100644 --- a/assets/common/items/npc_armor/chest/worker_red_1.ron +++ b/assets/common/items/npc_armor/chest/worker_red_1.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerRed1"), stats: ( - protection: Normal(80.0)), + protection: Normal(80.0), + poise_protection: Normal(80.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/chest/worker_yellow_0.ron b/assets/common/items/npc_armor/chest/worker_yellow_0.ron index a5dc3fddbb..5a5921aa57 100644 --- a/assets/common/items/npc_armor/chest/worker_yellow_0.ron +++ b/assets/common/items/npc_armor/chest/worker_yellow_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerYellow0"), stats: ( - protection: Normal(80.0)), + protection: Normal(80.0), + poise_protection: Normal(80.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/chest/worker_yellow_1.ron b/assets/common/items/npc_armor/chest/worker_yellow_1.ron index 8976176dda..2e6754c039 100644 --- a/assets/common/items/npc_armor/chest/worker_yellow_1.ron +++ b/assets/common/items/npc_armor/chest/worker_yellow_1.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Chest("WorkerYellow1"), stats: ( - protection: Normal(80.0)), + protection: Normal(80.0), + poise_protection: Normal(80.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/foot/cultist_boots.ron b/assets/common/items/npc_armor/foot/cultist_boots.ron index e2cdcc8ecf..17ec1dd002 100644 --- a/assets/common/items/npc_armor/foot/cultist_boots.ron +++ b/assets/common/items/npc_armor/foot/cultist_boots.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Foot("Cultist"), stats: ( - protection: Normal(1.0)), + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/hand/cultist_hands_purple.ron b/assets/common/items/npc_armor/hand/cultist_hands_purple.ron index 4fdcf555c0..2f8934a5e3 100644 --- a/assets/common/items/npc_armor/hand/cultist_hands_purple.ron +++ b/assets/common/items/npc_armor/hand/cultist_hands_purple.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Hand("CultistPurple"), stats: ( - protection: Normal(2.0)), + protection: Normal(2.0), + poise_protection: Normal(2.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/pants/cultist_legs_purple.ron b/assets/common/items/npc_armor/pants/cultist_legs_purple.ron index 1a10bbe4e0..308edc5bad 100644 --- a/assets/common/items/npc_armor/pants/cultist_legs_purple.ron +++ b/assets/common/items/npc_armor/pants/cultist_legs_purple.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("CultistPurple"), stats: ( - protection: Normal(10.0)), + protection: Normal(10.0), + poise_protection: Normal(10.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/pants/leather_blue_0.ron b/assets/common/items/npc_armor/pants/leather_blue_0.ron index 02eab70c3e..84d4312ce0 100644 --- a/assets/common/items/npc_armor/pants/leather_blue_0.ron +++ b/assets/common/items/npc_armor/pants/leather_blue_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("LeatherBlue0"), stats: ( - protection: Normal(10.0)), + protection: Normal(10.0), + poise_protection: Normal(10.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/pants/plate_green_0.ron b/assets/common/items/npc_armor/pants/plate_green_0.ron index a5853d21a9..1fa9c5f9b8 100644 --- a/assets/common/items/npc_armor/pants/plate_green_0.ron +++ b/assets/common/items/npc_armor/pants/plate_green_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("PlateGreen0"), stats: ( - protection: Normal(10.0)), + protection: Normal(10.0), + poise_protection: Normal(10.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/pants/plate_red_0.ron b/assets/common/items/npc_armor/pants/plate_red_0.ron index 6b86f92c7f..bab021b7f5 100644 --- a/assets/common/items/npc_armor/pants/plate_red_0.ron +++ b/assets/common/items/npc_armor/pants/plate_red_0.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Pants("PlateRed0"), stats: ( - protection: Normal(10.0)), + protection: Normal(10.0), + poise_protection: Normal(10.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_armor/shoulder/cultist_shoulder_purple.ron b/assets/common/items/npc_armor/shoulder/cultist_shoulder_purple.ron index 2d1b71ec11..f2e95e2ff8 100644 --- a/assets/common/items/npc_armor/shoulder/cultist_shoulder_purple.ron +++ b/assets/common/items/npc_armor/shoulder/cultist_shoulder_purple.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Shoulder("CultistPurple"), stats: ( - protection: Normal(5.0)), + protection: Normal(5.0), + poise_protection: Normal(5.0), + ), ) ), quality: Low, diff --git a/assets/common/items/npc_weapons/axe/malachite_axe-0.ron b/assets/common/items/npc_weapons/axe/malachite_axe-0.ron index 2a9ac446f8..132d684ac3 100644 --- a/assets/common/items/npc_weapons/axe/malachite_axe-0.ron +++ b/assets/common/items/npc_weapons/axe/malachite_axe-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.50, + poise_reduction_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/axe/starter_axe.ron b/assets/common/items/npc_weapons/axe/starter_axe.ron index b867f649aa..715f5ea64e 100644 --- a/assets/common/items/npc_weapons/axe/starter_axe.ron +++ b/assets/common/items/npc_weapons/axe/starter_axe.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.50, + poise_reduction_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/bow/horn_longbow-0.ron b/assets/common/items/npc_weapons/bow/horn_longbow-0.ron index 3e2b78e8b7..1e715bd422 100644 --- a/assets/common/items/npc_weapons/bow/horn_longbow-0.ron +++ b/assets/common/items/npc_weapons/bow/horn_longbow-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.5, + poise_reduction_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/bow/saurok_bow.ron b/assets/common/items/npc_weapons/bow/saurok_bow.ron index d546b84ced..229bcc814d 100644 --- a/assets/common/items/npc_weapons/bow/saurok_bow.ron +++ b/assets/common/items/npc_weapons/bow/saurok_bow.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/dagger/starter_dagger.ron b/assets/common/items/npc_weapons/dagger/starter_dagger.ron index 63ce0843cc..142dbe1d59 100644 --- a/assets/common/items/npc_weapons/dagger/starter_dagger.ron +++ b/assets/common/items/npc_weapons/dagger/starter_dagger.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/empty/empty.ron b/assets/common/items/npc_weapons/empty/empty.ron index a19e674e7a..2113948aeb 100644 --- a/assets/common/items/npc_weapons/empty/empty.ron +++ b/assets/common/items/npc_weapons/empty/empty.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 200, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron b/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron index a73d6eb0b9..822211118c 100644 --- a/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron +++ b/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.5, + poise_reduction_power: 0.5, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron index 0ed47448cd..80f5900715 100644 --- a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron index 2ddb48d615..c3ada55ba3 100644 --- a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/starter_hammer.ron b/assets/common/items/npc_weapons/hammer/starter_hammer.ron index 35d167e7a8..7d0f184d06 100644 --- a/assets/common/items/npc_weapons/hammer/starter_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/starter_hammer.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.50, + poise_reduction_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/troll_hammer.ron b/assets/common/items/npc_weapons/hammer/troll_hammer.ron index 173ca7f65d..586d0506b7 100644 --- a/assets/common/items/npc_weapons/hammer/troll_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/troll_hammer.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron index daa3a55f29..11afb36e7c 100644 --- a/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/shield/shield_1.ron b/assets/common/items/npc_weapons/shield/shield_1.ron index 1bb911aa93..2894e69d88 100644 --- a/assets/common/items/npc_weapons/shield/shield_1.ron +++ b/assets/common/items/npc_weapons/shield/shield_1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/staff/bone_staff.ron b/assets/common/items/npc_weapons/staff/bone_staff.ron index a26aeda05b..126389ad1c 100644 --- a/assets/common/items/npc_weapons/staff/bone_staff.ron +++ b/assets/common/items/npc_weapons/staff/bone_staff.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 0.8, + poise_reduction_power: 0.8, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/staff/cultist_staff.ron b/assets/common/items/npc_weapons/staff/cultist_staff.ron index 41eda11f81..ff89005932 100644 --- a/assets/common/items/npc_weapons/staff/cultist_staff.ron +++ b/assets/common/items/npc_weapons/staff/cultist_staff.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 0.8, + poise_reduction_power: 0.8, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron index 2d6dabf364..541bfccbb8 100644 --- a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron +++ b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 3.0, + poise_reduction_power: 1.00, speed: 1.5, ), ) diff --git a/assets/common/items/npc_weapons/staff/ogre_staff.ron b/assets/common/items/npc_weapons/staff/ogre_staff.ron index 99d34ea909..699ceb9df1 100644 --- a/assets/common/items/npc_weapons/staff/ogre_staff.ron +++ b/assets/common/items/npc_weapons/staff/ogre_staff.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/staff/saurok_staff.ron b/assets/common/items/npc_weapons/staff/saurok_staff.ron index 15b1d9d24d..0fc53dc6ac 100644 --- a/assets/common/items/npc_weapons/staff/saurok_staff.ron +++ b/assets/common/items/npc_weapons/staff/saurok_staff.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron b/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron index f1918612ca..a93773b4ff 100644 --- a/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron +++ b/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.5, + poise_reduction_power: 0.5, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron b/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron index b757822657..5c36b1c3f3 100644 --- a/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron +++ b/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.0, + poise_reduction_power: 1.0, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/dullahan_sword.ron b/assets/common/items/npc_weapons/sword/dullahan_sword.ron index 6dab58cb39..c0b8db9784 100644 --- a/assets/common/items/npc_weapons/sword/dullahan_sword.ron +++ b/assets/common/items/npc_weapons/sword/dullahan_sword.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/saurok_sword.ron b/assets/common/items/npc_weapons/sword/saurok_sword.ron index fe0e59b4b9..8f9ce71916 100644 --- a/assets/common/items/npc_weapons/sword/saurok_sword.ron +++ b/assets/common/items/npc_weapons/sword/saurok_sword.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/starter_sword.ron b/assets/common/items/npc_weapons/sword/starter_sword.ron index 0e4f7bed26..c5eaf61c21 100644 --- a/assets/common/items/npc_weapons/sword/starter_sword.ron +++ b/assets/common/items/npc_weapons/sword/starter_sword.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 0.50, + poise_reduction_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron b/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron index 95d9cf4fba..9913ba1090 100644 --- a/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron +++ b/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.75, + poise_reduction_power: 0.75, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/broom.ron b/assets/common/items/npc_weapons/tool/broom.ron index ce72baa6f6..06fa1070c0 100644 --- a/assets/common/items/npc_weapons/tool/broom.ron +++ b/assets/common/items/npc_weapons/tool/broom.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.5, + poise_reduction_power: 1.5, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/fishing_rod.ron b/assets/common/items/npc_weapons/tool/fishing_rod.ron index 4602d7123d..c6d6c5f118 100644 --- a/assets/common/items/npc_weapons/tool/fishing_rod.ron +++ b/assets/common/items/npc_weapons/tool/fishing_rod.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.5, + poise_reduction_power: 1.5, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/hoe.ron b/assets/common/items/npc_weapons/tool/hoe.ron index 6036295c9e..f259317dd6 100644 --- a/assets/common/items/npc_weapons/tool/hoe.ron +++ b/assets/common/items/npc_weapons/tool/hoe.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/pickaxe.ron b/assets/common/items/npc_weapons/tool/pickaxe.ron index 59c317df95..22b78a71f9 100644 --- a/assets/common/items/npc_weapons/tool/pickaxe.ron +++ b/assets/common/items/npc_weapons/tool/pickaxe.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/pitchfork.ron b/assets/common/items/npc_weapons/tool/pitchfork.ron index 2bfbe7ddb0..9c7dbc343b 100644 --- a/assets/common/items/npc_weapons/tool/pitchfork.ron +++ b/assets/common/items/npc_weapons/tool/pitchfork.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/rake.ron b/assets/common/items/npc_weapons/tool/rake.ron index 1ff77b9c4a..cf85646fd5 100644 --- a/assets/common/items/npc_weapons/tool/rake.ron +++ b/assets/common/items/npc_weapons/tool/rake.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/shovel-0.ron b/assets/common/items/npc_weapons/tool/shovel-0.ron index be185121e4..7673e8b601 100644 --- a/assets/common/items/npc_weapons/tool/shovel-0.ron +++ b/assets/common/items/npc_weapons/tool/shovel-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/shovel-1.ron b/assets/common/items/npc_weapons/tool/shovel-1.ron index 0acb72575c..003e6d8ffd 100644 --- a/assets/common/items/npc_weapons/tool/shovel-1.ron +++ b/assets/common/items/npc_weapons/tool/shovel-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/unique/beast_claws.ron b/assets/common/items/npc_weapons/unique/beast_claws.ron index e871f541e4..e23dd88209 100644 --- a/assets/common/items/npc_weapons/unique/beast_claws.ron +++ b/assets/common/items/npc_weapons/unique/beast_claws.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowbasic.ron b/assets/common/items/npc_weapons/unique/quadlowbasic.ron index d82fc3409c..195bbc3ce0 100644 --- a/assets/common/items/npc_weapons/unique/quadlowbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadlowbasic.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, + poise_reduction_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowbreathe.ron b/assets/common/items/npc_weapons/unique/quadlowbreathe.ron index 04b230bc6c..5fc19195ba 100644 --- a/assets/common/items/npc_weapons/unique/quadlowbreathe.ron +++ b/assets/common/items/npc_weapons/unique/quadlowbreathe.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, + poise_reduction_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowquick.ron b/assets/common/items/npc_weapons/unique/quadlowquick.ron index 4bcae60ed5..f56c38af7d 100644 --- a/assets/common/items/npc_weapons/unique/quadlowquick.ron +++ b/assets/common/items/npc_weapons/unique/quadlowquick.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, + poise_reduction_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowranged.ron b/assets/common/items/npc_weapons/unique/quadlowranged.ron index 282c1fa15a..5ee67eb02c 100644 --- a/assets/common/items/npc_weapons/unique/quadlowranged.ron +++ b/assets/common/items/npc_weapons/unique/quadlowranged.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, + poise_reduction_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowtail.ron b/assets/common/items/npc_weapons/unique/quadlowtail.ron index a79007335f..804d18e497 100644 --- a/assets/common/items/npc_weapons/unique/quadlowtail.ron +++ b/assets/common/items/npc_weapons/unique/quadlowtail.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, + poise_reduction_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedbasic.ron b/assets/common/items/npc_weapons/unique/quadmedbasic.ron index b1950b89e4..58fee593df 100644 --- a/assets/common/items/npc_weapons/unique/quadmedbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadmedbasic.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, + poise_reduction_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedcharge.ron b/assets/common/items/npc_weapons/unique/quadmedcharge.ron index 990f56637b..f305d9bbfc 100644 --- a/assets/common/items/npc_weapons/unique/quadmedcharge.ron +++ b/assets/common/items/npc_weapons/unique/quadmedcharge.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, + poise_reduction_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedhoof.ron b/assets/common/items/npc_weapons/unique/quadmedhoof.ron index 0cb269c2a6..69e94727c4 100644 --- a/assets/common/items/npc_weapons/unique/quadmedhoof.ron +++ b/assets/common/items/npc_weapons/unique/quadmedhoof.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, + poise_reduction_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedjump.ron b/assets/common/items/npc_weapons/unique/quadmedjump.ron index 88fa3a2151..312df80b23 100644 --- a/assets/common/items/npc_weapons/unique/quadmedjump.ron +++ b/assets/common/items/npc_weapons/unique/quadmedjump.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedquick.ron b/assets/common/items/npc_weapons/unique/quadmedquick.ron index 299ba3ab35..40cdb27875 100644 --- a/assets/common/items/npc_weapons/unique/quadmedquick.ron +++ b/assets/common/items/npc_weapons/unique/quadmedquick.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadsmallbasic.ron b/assets/common/items/npc_weapons/unique/quadsmallbasic.ron index da263d6109..b62961f1be 100644 --- a/assets/common/items/npc_weapons/unique/quadsmallbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadsmallbasic.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, + poise_reduction_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/stone_golems_fist.ron b/assets/common/items/npc_weapons/unique/stone_golems_fist.ron index 3e665d9b61..8e3f298730 100644 --- a/assets/common/items/npc_weapons/unique/stone_golems_fist.ron +++ b/assets/common/items/npc_weapons/unique/stone_golems_fist.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/unique/theropodbasic.ron b/assets/common/items/npc_weapons/unique/theropodbasic.ron index 19bf867622..11d3757795 100644 --- a/assets/common/items/npc_weapons/unique/theropodbasic.ron +++ b/assets/common/items/npc_weapons/unique/theropodbasic.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, + poise_reduction_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/theropodbird.ron b/assets/common/items/npc_weapons/unique/theropodbird.ron index 28e8b88293..a1138ea25c 100644 --- a/assets/common/items/npc_weapons/unique/theropodbird.ron +++ b/assets/common/items/npc_weapons/unique/theropodbird.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, + poise_reduction_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-0.ron b/assets/common/items/weapons/axe/bloodsteel_axe-0.ron index 0be056e32f..16c297d7cf 100644 --- a/assets/common/items/weapons/axe/bloodsteel_axe-0.ron +++ b/assets/common/items/weapons/axe/bloodsteel_axe-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.60, + poise_reduction_power: 1.60, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-1.ron b/assets/common/items/weapons/axe/bloodsteel_axe-1.ron index a8b1463cc7..e5c2ce1817 100644 --- a/assets/common/items/weapons/axe/bloodsteel_axe-1.ron +++ b/assets/common/items/weapons/axe/bloodsteel_axe-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.60, + poise_reduction_power: 1.60, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-2.ron b/assets/common/items/weapons/axe/bloodsteel_axe-2.ron index 749baeabe1..08a88cdca8 100644 --- a/assets/common/items/weapons/axe/bloodsteel_axe-2.ron +++ b/assets/common/items/weapons/axe/bloodsteel_axe-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.60, + poise_reduction_power: 1.60, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/bronze_axe-0.ron b/assets/common/items/weapons/axe/bronze_axe-0.ron index 831a96c31d..b1d7d587d6 100644 --- a/assets/common/items/weapons/axe/bronze_axe-0.ron +++ b/assets/common/items/weapons/axe/bronze_axe-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/bronze_axe-1.ron b/assets/common/items/weapons/axe/bronze_axe-1.ron index 2db56ad6af..0046453587 100644 --- a/assets/common/items/weapons/axe/bronze_axe-1.ron +++ b/assets/common/items/weapons/axe/bronze_axe-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/cobalt_axe-0.ron b/assets/common/items/weapons/axe/cobalt_axe-0.ron index 6857a20150..5729a46dbc 100644 --- a/assets/common/items/weapons/axe/cobalt_axe-0.ron +++ b/assets/common/items/weapons/axe/cobalt_axe-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.80, + poise_reduction_power: 1.80, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/iron_axe-0.ron b/assets/common/items/weapons/axe/iron_axe-0.ron index 860558e075..501f6a5a22 100644 --- a/assets/common/items/weapons/axe/iron_axe-0.ron +++ b/assets/common/items/weapons/axe/iron_axe-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/iron_axe-1.ron b/assets/common/items/weapons/axe/iron_axe-1.ron index 034de7040c..4cae908183 100644 --- a/assets/common/items/weapons/axe/iron_axe-1.ron +++ b/assets/common/items/weapons/axe/iron_axe-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/iron_axe-2.ron b/assets/common/items/weapons/axe/iron_axe-2.ron index 4d504a54ef..0dc089f576 100644 --- a/assets/common/items/weapons/axe/iron_axe-2.ron +++ b/assets/common/items/weapons/axe/iron_axe-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/iron_axe-3.ron b/assets/common/items/weapons/axe/iron_axe-3.ron index 5f3bae741f..70abf9d717 100644 --- a/assets/common/items/weapons/axe/iron_axe-3.ron +++ b/assets/common/items/weapons/axe/iron_axe-3.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/iron_axe-4.ron b/assets/common/items/weapons/axe/iron_axe-4.ron index 3666abd029..2bca17ab71 100644 --- a/assets/common/items/weapons/axe/iron_axe-4.ron +++ b/assets/common/items/weapons/axe/iron_axe-4.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/iron_axe-5.ron b/assets/common/items/weapons/axe/iron_axe-5.ron index f610d87614..692118285e 100644 --- a/assets/common/items/weapons/axe/iron_axe-5.ron +++ b/assets/common/items/weapons/axe/iron_axe-5.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/iron_axe-6.ron b/assets/common/items/weapons/axe/iron_axe-6.ron index 26de17601e..56b3efd107 100644 --- a/assets/common/items/weapons/axe/iron_axe-6.ron +++ b/assets/common/items/weapons/axe/iron_axe-6.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/iron_axe-7.ron b/assets/common/items/weapons/axe/iron_axe-7.ron index 2dda4e512b..16facaa8b1 100644 --- a/assets/common/items/weapons/axe/iron_axe-7.ron +++ b/assets/common/items/weapons/axe/iron_axe-7.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/iron_axe-8.ron b/assets/common/items/weapons/axe/iron_axe-8.ron index 96da8a3311..811965c622 100644 --- a/assets/common/items/weapons/axe/iron_axe-8.ron +++ b/assets/common/items/weapons/axe/iron_axe-8.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/iron_axe-9.ron b/assets/common/items/weapons/axe/iron_axe-9.ron index 6fe9ac4c57..18fd8fe202 100644 --- a/assets/common/items/weapons/axe/iron_axe-9.ron +++ b/assets/common/items/weapons/axe/iron_axe-9.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/malachite_axe-0.ron b/assets/common/items/weapons/axe/malachite_axe-0.ron index d53a11f47d..f1b35db3b5 100644 --- a/assets/common/items/weapons/axe/malachite_axe-0.ron +++ b/assets/common/items/weapons/axe/malachite_axe-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 2.00, + poise_reduction_power: 2.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/orc_axe-0.ron b/assets/common/items/weapons/axe/orc_axe-0.ron index f725de2891..f37fec6d72 100644 --- a/assets/common/items/weapons/axe/orc_axe-0.ron +++ b/assets/common/items/weapons/axe/orc_axe-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.60, + poise_reduction_power: 0.60, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/starter_axe.ron b/assets/common/items/weapons/axe/starter_axe.ron index b867f649aa..715f5ea64e 100644 --- a/assets/common/items/weapons/axe/starter_axe.ron +++ b/assets/common/items/weapons/axe/starter_axe.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.50, + poise_reduction_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/steel_axe-0.ron b/assets/common/items/weapons/axe/steel_axe-0.ron index a422646047..ef90f311b8 100644 --- a/assets/common/items/weapons/axe/steel_axe-0.ron +++ b/assets/common/items/weapons/axe/steel_axe-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/steel_axe-1.ron b/assets/common/items/weapons/axe/steel_axe-1.ron index b5e3365c24..e0fd68b678 100644 --- a/assets/common/items/weapons/axe/steel_axe-1.ron +++ b/assets/common/items/weapons/axe/steel_axe-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/steel_axe-2.ron b/assets/common/items/weapons/axe/steel_axe-2.ron index aeab3c660e..0fe6822f19 100644 --- a/assets/common/items/weapons/axe/steel_axe-2.ron +++ b/assets/common/items/weapons/axe/steel_axe-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/steel_axe-3.ron b/assets/common/items/weapons/axe/steel_axe-3.ron index 279638b999..8990545243 100644 --- a/assets/common/items/weapons/axe/steel_axe-3.ron +++ b/assets/common/items/weapons/axe/steel_axe-3.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/steel_axe-4.ron b/assets/common/items/weapons/axe/steel_axe-4.ron index f79705a9a6..2d082fda21 100644 --- a/assets/common/items/weapons/axe/steel_axe-4.ron +++ b/assets/common/items/weapons/axe/steel_axe-4.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/steel_axe-5.ron b/assets/common/items/weapons/axe/steel_axe-5.ron index f0e90d9539..c1d967810d 100644 --- a/assets/common/items/weapons/axe/steel_axe-5.ron +++ b/assets/common/items/weapons/axe/steel_axe-5.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/steel_axe-6.ron b/assets/common/items/weapons/axe/steel_axe-6.ron index 70af8b071b..78c6761af3 100644 --- a/assets/common/items/weapons/axe/steel_axe-6.ron +++ b/assets/common/items/weapons/axe/steel_axe-6.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/worn_iron_axe-0.ron b/assets/common/items/weapons/axe/worn_iron_axe-0.ron index f28034eca3..03e614d274 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-0.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.80, + poise_reduction_power: 0.80, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/worn_iron_axe-1.ron b/assets/common/items/weapons/axe/worn_iron_axe-1.ron index ea846a768c..17ae52592f 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-1.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.80, + poise_reduction_power: 0.80, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/worn_iron_axe-2.ron b/assets/common/items/weapons/axe/worn_iron_axe-2.ron index 11d8a79165..c731e62782 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-2.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.80, + poise_reduction_power: 0.80, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/worn_iron_axe-3.ron b/assets/common/items/weapons/axe/worn_iron_axe-3.ron index a8de78ee0d..3a3b9ce966 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-3.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-3.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.80, + poise_reduction_power: 0.80, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/axe/worn_iron_axe-4.ron b/assets/common/items/weapons/axe/worn_iron_axe-4.ron index 891cbbc2d2..b52a5a4f9a 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-4.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-4.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.80, + poise_reduction_power: 0.80, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/bow/horn_longbow-0.ron b/assets/common/items/weapons/bow/horn_longbow-0.ron index 2cae3a5cb6..20287d6cc5 100644 --- a/assets/common/items/weapons/bow/horn_longbow-0.ron +++ b/assets/common/items/weapons/bow/horn_longbow-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/bow/iron_longbow-0.ron b/assets/common/items/weapons/bow/iron_longbow-0.ron index e762de291d..da8422d6c1 100644 --- a/assets/common/items/weapons/bow/iron_longbow-0.ron +++ b/assets/common/items/weapons/bow/iron_longbow-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.75, + poise_reduction_power: 1.75, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/bow/leafy_longbow-0.ron b/assets/common/items/weapons/bow/leafy_longbow-0.ron index 2861d9ae72..09e2fbf931 100644 --- a/assets/common/items/weapons/bow/leafy_longbow-0.ron +++ b/assets/common/items/weapons/bow/leafy_longbow-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.25, + poise_reduction_power: 1.25, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/bow/leafy_shortbow-0.ron b/assets/common/items/weapons/bow/leafy_shortbow-0.ron index 50037a7ac2..35cedc38ba 100644 --- a/assets/common/items/weapons/bow/leafy_shortbow-0.ron +++ b/assets/common/items/weapons/bow/leafy_shortbow-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/bow/nature_ore_longbow-0.ron b/assets/common/items/weapons/bow/nature_ore_longbow-0.ron index 8053a3785c..3fc9b38a3e 100644 --- a/assets/common/items/weapons/bow/nature_ore_longbow-0.ron +++ b/assets/common/items/weapons/bow/nature_ore_longbow-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 2.00, + poise_reduction_power: 2.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/bow/rare_longbow.ron b/assets/common/items/weapons/bow/rare_longbow.ron index a1fb137a44..3ec5742715 100644 --- a/assets/common/items/weapons/bow/rare_longbow.ron +++ b/assets/common/items/weapons/bow/rare_longbow.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 2.00, + poise_reduction_power: 2.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/bow/starter_bow.ron b/assets/common/items/weapons/bow/starter_bow.ron index 053d52ffec..ece1e7c964 100644 --- a/assets/common/items/weapons/bow/starter_bow.ron +++ b/assets/common/items/weapons/bow/starter_bow.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.50, + poise_reduction_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/bow/wood_longbow-0.ron b/assets/common/items/weapons/bow/wood_longbow-0.ron index 52f2576f1d..bbc24379c7 100644 --- a/assets/common/items/weapons/bow/wood_longbow-0.ron +++ b/assets/common/items/weapons/bow/wood_longbow-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/bow/wood_longbow-1.ron b/assets/common/items/weapons/bow/wood_longbow-1.ron index 16e3bf322a..06bf0f01e2 100644 --- a/assets/common/items/weapons/bow/wood_longbow-1.ron +++ b/assets/common/items/weapons/bow/wood_longbow-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/bow/wood_shortbow-0.ron b/assets/common/items/weapons/bow/wood_shortbow-0.ron index 75cc167f2f..3dc8f472e1 100644 --- a/assets/common/items/weapons/bow/wood_shortbow-0.ron +++ b/assets/common/items/weapons/bow/wood_shortbow-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.8, + poise_reduction_power: 0.80, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/bow/wood_shortbow-1.ron b/assets/common/items/weapons/bow/wood_shortbow-1.ron index 26dffba37b..c906c159cd 100644 --- a/assets/common/items/weapons/bow/wood_shortbow-1.ron +++ b/assets/common/items/weapons/bow/wood_shortbow-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.75, + poise_reduction_power: 0.75, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/dagger/basic_0.ron b/assets/common/items/weapons/dagger/basic_0.ron index 4ee3f82ff6..86fe8f22bc 100644 --- a/assets/common/items/weapons/dagger/basic_0.ron +++ b/assets/common/items/weapons/dagger/basic_0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 0, power: 1.80, + poise_reduction_power: 1.80, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/dagger/cultist_0.ron b/assets/common/items/weapons/dagger/cultist_0.ron index d581e75484..1b9278de66 100644 --- a/assets/common/items/weapons/dagger/cultist_0.ron +++ b/assets/common/items/weapons/dagger/cultist_0.ron @@ -7,7 +7,8 @@ ItemDef( stats: ( equip_time_millis: 0, power: 2.00, - speed: 1.5 + poise_reduction_power: 2.00, + speed: 1.0 ), ) ), diff --git a/assets/common/items/weapons/dagger/starter_dagger.ron b/assets/common/items/weapons/dagger/starter_dagger.ron index a0118d0aca..a235e8d93d 100644 --- a/assets/common/items/weapons/dagger/starter_dagger.ron +++ b/assets/common/items/weapons/dagger/starter_dagger.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/empty/empty.ron b/assets/common/items/weapons/empty/empty.ron index ca1672b393..921310f38d 100644 --- a/assets/common/items/weapons/empty/empty.ron +++ b/assets/common/items/weapons/empty/empty.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 200, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/bronze_hammer-0.ron b/assets/common/items/weapons/hammer/bronze_hammer-0.ron index a558558585..9c4e32aecc 100644 --- a/assets/common/items/weapons/hammer/bronze_hammer-0.ron +++ b/assets/common/items/weapons/hammer/bronze_hammer-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/bronze_hammer-1.ron b/assets/common/items/weapons/hammer/bronze_hammer-1.ron index 3fbff62c53..c9b980d189 100644 --- a/assets/common/items/weapons/hammer/bronze_hammer-1.ron +++ b/assets/common/items/weapons/hammer/bronze_hammer-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/cobalt_hammer-0.ron b/assets/common/items/weapons/hammer/cobalt_hammer-0.ron index 726cb8c524..701bdc8da5 100644 --- a/assets/common/items/weapons/hammer/cobalt_hammer-0.ron +++ b/assets/common/items/weapons/hammer/cobalt_hammer-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.60, + poise_reduction_power: 1.60, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/cobalt_hammer-1.ron b/assets/common/items/weapons/hammer/cobalt_hammer-1.ron index 02bb324bfb..b9a5a585be 100644 --- a/assets/common/items/weapons/hammer/cobalt_hammer-1.ron +++ b/assets/common/items/weapons/hammer/cobalt_hammer-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.60, + poise_reduction_power: 1.60, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron b/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron index 942d2c86d4..0e25cb6f33 100644 --- a/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron +++ b/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 2.00, + poise_reduction_power: 2.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/flimsy_hammer.ron b/assets/common/items/weapons/hammer/flimsy_hammer.ron index 02b087a584..619c0a481e 100644 --- a/assets/common/items/weapons/hammer/flimsy_hammer.ron +++ b/assets/common/items/weapons/hammer/flimsy_hammer.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.50, + poise_reduction_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/hammer_1.ron b/assets/common/items/weapons/hammer/hammer_1.ron index 47b01d509b..1e4f2f0c24 100644 --- a/assets/common/items/weapons/hammer/hammer_1.ron +++ b/assets/common/items/weapons/hammer/hammer_1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.50, + poise_reduction_power: 0.50, speed: 1.0 ), quality: Low, diff --git a/assets/common/items/weapons/hammer/iron_hammer-0.ron b/assets/common/items/weapons/hammer/iron_hammer-0.ron index 226db9e7d3..69b51845ec 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-0.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/iron_hammer-1.ron b/assets/common/items/weapons/hammer/iron_hammer-1.ron index 70fc39cda6..7447a8b8ab 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-1.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/iron_hammer-2.ron b/assets/common/items/weapons/hammer/iron_hammer-2.ron index 11f045abe7..681d04224a 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-2.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/iron_hammer-3.ron b/assets/common/items/weapons/hammer/iron_hammer-3.ron index 7af920efb4..f888071ff1 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-3.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-3.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/iron_hammer-4.ron b/assets/common/items/weapons/hammer/iron_hammer-4.ron index e7e7b0d2cf..e7e27d0f2e 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-4.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-4.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/iron_hammer-5.ron b/assets/common/items/weapons/hammer/iron_hammer-5.ron index 63a1bd1b41..28dce8b412 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-5.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-5.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/iron_hammer-6.ron b/assets/common/items/weapons/hammer/iron_hammer-6.ron index f87de3f0e8..72ddfd7bfd 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-6.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-6.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/iron_hammer-7.ron b/assets/common/items/weapons/hammer/iron_hammer-7.ron index bda62278e3..ae5894f356 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-7.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-7.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/iron_hammer-8.ron b/assets/common/items/weapons/hammer/iron_hammer-8.ron index 9b2ae813ad..281c0ae047 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-8.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-8.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/mjolnir.ron b/assets/common/items/weapons/hammer/mjolnir.ron index 81b190becb..8d825c1746 100644 --- a/assets/common/items/weapons/hammer/mjolnir.ron +++ b/assets/common/items/weapons/hammer/mjolnir.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 4.00, + poise_reduction_power: 2.00, speed: 0.5 ), ) diff --git a/assets/common/items/weapons/hammer/ramshead_hammer.ron b/assets/common/items/weapons/hammer/ramshead_hammer.ron index 0f1c2887a6..ca7fb2ceae 100644 --- a/assets/common/items/weapons/hammer/ramshead_hammer.ron +++ b/assets/common/items/weapons/hammer/ramshead_hammer.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.80, + poise_reduction_power: 1.80, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/runic_hammer.ron b/assets/common/items/weapons/hammer/runic_hammer.ron index 3b32590023..52eb5d18ee 100644 --- a/assets/common/items/weapons/hammer/runic_hammer.ron +++ b/assets/common/items/weapons/hammer/runic_hammer.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.80, + poise_reduction_power: 1.80, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/starter_hammer.ron b/assets/common/items/weapons/hammer/starter_hammer.ron index 35d167e7a8..7d0f184d06 100644 --- a/assets/common/items/weapons/hammer/starter_hammer.ron +++ b/assets/common/items/weapons/hammer/starter_hammer.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.50, + poise_reduction_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/steel_hammer-0.ron b/assets/common/items/weapons/hammer/steel_hammer-0.ron index a952a02129..078aa6e1bc 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-0.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/steel_hammer-1.ron b/assets/common/items/weapons/hammer/steel_hammer-1.ron index 0550316424..bde8a287fe 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-1.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/steel_hammer-2.ron b/assets/common/items/weapons/hammer/steel_hammer-2.ron index 9556767429..c68645e407 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-2.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/steel_hammer-3.ron b/assets/common/items/weapons/hammer/steel_hammer-3.ron index aff74b45a8..f22db96d9d 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-3.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-3.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/steel_hammer-4.ron b/assets/common/items/weapons/hammer/steel_hammer-4.ron index b5a6c46b8a..56d6aee2ef 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-4.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-4.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/steel_hammer-5.ron b/assets/common/items/weapons/hammer/steel_hammer-5.ron index 9b2bc8b565..8754e285e3 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-5.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-5.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/stone_hammer-0.ron b/assets/common/items/weapons/hammer/stone_hammer-0.ron index 6b5c9141e2..5b9d14ddb2 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-0.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.70, + poise_reduction_power: 0.70, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/stone_hammer-1.ron b/assets/common/items/weapons/hammer/stone_hammer-1.ron index 02fc44688a..76f92bed33 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-1.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.70, + poise_reduction_power: 0.70, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/stone_hammer-2.ron b/assets/common/items/weapons/hammer/stone_hammer-2.ron index ead1e3cdd9..dba99eee94 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-2.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.70, + poise_reduction_power: 0.70, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/stone_hammer-3.ron b/assets/common/items/weapons/hammer/stone_hammer-3.ron index 8817aec322..86145ec7ad 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-3.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-3.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.70, + poise_reduction_power: 0.70, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/wood_hammer-0.ron b/assets/common/items/weapons/hammer/wood_hammer-0.ron index 9c9d66a659..78b6087a80 100644 --- a/assets/common/items/weapons/hammer/wood_hammer-0.ron +++ b/assets/common/items/weapons/hammer/wood_hammer-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.60, + poise_reduction_power: 0.60, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron index e48ae526da..9e3ce47a40 100644 --- a/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron +++ b/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.85, + poise_reduction_power: 0.85, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron index 42aa2614f8..09763942c7 100644 --- a/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron +++ b/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.85, + poise_reduction_power: 0.85, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron index e005ea5254..01b092c16a 100644 --- a/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron +++ b/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.85, + poise_reduction_power: 0.85, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron index c5c42c6b31..37a48190cd 100644 --- a/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron +++ b/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.85, + poise_reduction_power: 0.85, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron b/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron index 848210af87..b7b85f8013 100644 --- a/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron +++ b/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, + poise_reduction_power: 2.00, speed: 1.6 ), ) diff --git a/assets/common/items/weapons/sceptre/staff_nature.ron b/assets/common/items/weapons/sceptre/staff_nature.ron index 22d675987e..d7975320fc 100644 --- a/assets/common/items/weapons/sceptre/staff_nature.ron +++ b/assets/common/items/weapons/sceptre/staff_nature.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.91, + poise_reduction_power: 1.00, speed: 1.1 ), ) diff --git a/assets/common/items/weapons/sceptre/starter_sceptre.ron b/assets/common/items/weapons/sceptre/starter_sceptre.ron index a0769a37e2..6bde465ac4 100644 --- a/assets/common/items/weapons/sceptre/starter_sceptre.ron +++ b/assets/common/items/weapons/sceptre/starter_sceptre.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.50, + poise_reduction_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/shield/shield_1.ron b/assets/common/items/weapons/shield/shield_1.ron index a0afddac2a..c0b9087726 100644 --- a/assets/common/items/weapons/shield/shield_1.ron +++ b/assets/common/items/weapons/shield/shield_1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/staff/amethyst_staff.ron b/assets/common/items/weapons/staff/amethyst_staff.ron index f5cbf8dd5b..5912838dfc 100644 --- a/assets/common/items/weapons/staff/amethyst_staff.ron +++ b/assets/common/items/weapons/staff/amethyst_staff.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/staff/bone_staff.ron b/assets/common/items/weapons/staff/bone_staff.ron index 95c82f7687..9276494320 100644 --- a/assets/common/items/weapons/staff/bone_staff.ron +++ b/assets/common/items/weapons/staff/bone_staff.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/staff/cultist_staff.ron b/assets/common/items/weapons/staff/cultist_staff.ron index c7c28d3ce6..5394c7a959 100644 --- a/assets/common/items/weapons/staff/cultist_staff.ron +++ b/assets/common/items/weapons/staff/cultist_staff.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 2.00, + poise_reduction_power: 2.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/staff/staff_1.ron b/assets/common/items/weapons/staff/staff_1.ron index 8b3080ec0c..40ff73992d 100644 --- a/assets/common/items/weapons/staff/staff_1.ron +++ b/assets/common/items/weapons/staff/staff_1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 200, power: 0.50, + poise_reduction_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/staff/starter_staff.ron b/assets/common/items/weapons/staff/starter_staff.ron index 8fc27aa382..66ecf094de 100644 --- a/assets/common/items/weapons/staff/starter_staff.ron +++ b/assets/common/items/weapons/staff/starter_staff.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 0.50, + poise_reduction_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/cultist_purp_2h-0.ron b/assets/common/items/weapons/sword/cultist_purp_2h-0.ron index 38cff1c841..b1f51a818b 100644 --- a/assets/common/items/weapons/sword/cultist_purp_2h-0.ron +++ b/assets/common/items/weapons/sword/cultist_purp_2h-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 2.00, + poise_reduction_power: 2.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron b/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron index f8ebee6226..57cbcf88d4 100644 --- a/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron +++ b/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron @@ -6,7 +6,10 @@ ItemDef( kind: Sword, stats: ( equip_time_millis: 500, - power: 1.70), + power: 1.70, + poise_reduction_power: 1.70, + speed: 1.0 + ), ) ), quality: High, diff --git a/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron b/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron index 26ae101c97..8b24d09c91 100644 --- a/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron +++ b/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron @@ -6,7 +6,10 @@ ItemDef( kind: Sword, stats: ( equip_time_millis: 500, - power: 1.95), + power: 1.95, + poise_reduction_power: 1.95, + speed: 1.0 + ), ) ), quality: Epic, diff --git a/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron b/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron index b154161895..1a4d5c7ddc 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.80, + poise_reduction_power: 0.80, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron b/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron index b154161895..1a4d5c7ddc 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.80, + poise_reduction_power: 0.80, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron b/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron index b154161895..1a4d5c7ddc 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.80, + poise_reduction_power: 0.80, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron b/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron index e6628d0292..3ebf723ef5 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron b/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron index e6628d0292..3ebf723ef5 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron b/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron index e6628d0292..3ebf723ef5 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.40, + poise_reduction_power: 1.40, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron b/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron index 9f30811969..2094e00f42 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.70, + poise_reduction_power: 1.70, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron b/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron index 9f30811969..2094e00f42 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.70, + poise_reduction_power: 1.70, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron b/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron index 9f30811969..2094e00f42 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.70, + poise_reduction_power: 1.70, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron b/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron index 1c23454b2e..1111cc66cd 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.10, + poise_reduction_power: 1.10, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron b/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron index 1c23454b2e..1111cc66cd 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.10, + poise_reduction_power: 1.10, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron b/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron index 1c23454b2e..1111cc66cd 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.10, + poise_reduction_power: 1.10, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_dam-0.ron b/assets/common/items/weapons/sword/long_2h_dam-0.ron index 50617f1647..17117f0fb6 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-0.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.60, + poise_reduction_power: 0.60, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_dam-1.ron b/assets/common/items/weapons/sword/long_2h_dam-1.ron index 50617f1647..17117f0fb6 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-1.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.60, + poise_reduction_power: 0.60, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_dam-2.ron b/assets/common/items/weapons/sword/long_2h_dam-2.ron index 50617f1647..17117f0fb6 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-2.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.60, + poise_reduction_power: 0.60, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_dam-3.ron b/assets/common/items/weapons/sword/long_2h_dam-3.ron index 50617f1647..17117f0fb6 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-3.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-3.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.60, + poise_reduction_power: 0.60, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_dam-4.ron b/assets/common/items/weapons/sword/long_2h_dam-4.ron index 50617f1647..17117f0fb6 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-4.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-4.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.60, + poise_reduction_power: 0.60, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_dam-5.ron b/assets/common/items/weapons/sword/long_2h_dam-5.ron index 50617f1647..17117f0fb6 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-5.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-5.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.60, + poise_reduction_power: 0.60, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_fine-0.ron b/assets/common/items/weapons/sword/long_2h_fine-0.ron index ca339b1ea7..a708dc84ac 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-0.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_fine-1.ron b/assets/common/items/weapons/sword/long_2h_fine-1.ron index ca339b1ea7..a708dc84ac 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-1.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_fine-2.ron b/assets/common/items/weapons/sword/long_2h_fine-2.ron index ca339b1ea7..a708dc84ac 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-2.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_fine-3.ron b/assets/common/items/weapons/sword/long_2h_fine-3.ron index ca339b1ea7..a708dc84ac 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-3.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-3.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_fine-4.ron b/assets/common/items/weapons/sword/long_2h_fine-4.ron index ca339b1ea7..a708dc84ac 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-4.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-4.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_fine-5.ron b/assets/common/items/weapons/sword/long_2h_fine-5.ron index ca339b1ea7..a708dc84ac 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-5.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-5.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.20, + poise_reduction_power: 1.20, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_orn-0.ron b/assets/common/items/weapons/sword/long_2h_orn-0.ron index 30f9362ce5..b0eb602f57 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-0.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_orn-1.ron b/assets/common/items/weapons/sword/long_2h_orn-1.ron index 30f9362ce5..b0eb602f57 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-1.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_orn-2.ron b/assets/common/items/weapons/sword/long_2h_orn-2.ron index 30f9362ce5..b0eb602f57 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-2.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_orn-3.ron b/assets/common/items/weapons/sword/long_2h_orn-3.ron index 30f9362ce5..b0eb602f57 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-3.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-3.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_orn-4.ron b/assets/common/items/weapons/sword/long_2h_orn-4.ron index 30f9362ce5..b0eb602f57 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-4.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-4.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_orn-5.ron b/assets/common/items/weapons/sword/long_2h_orn-5.ron index 30f9362ce5..b0eb602f57 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-5.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-5.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_simple-0.ron b/assets/common/items/weapons/sword/long_2h_simple-0.ron index 834db5e8f9..09fcf6f3ee 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-0.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.90, + poise_reduction_power: 0.90, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_simple-1.ron b/assets/common/items/weapons/sword/long_2h_simple-1.ron index 834db5e8f9..09fcf6f3ee 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-1.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.90, + poise_reduction_power: 0.90, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_simple-2.ron b/assets/common/items/weapons/sword/long_2h_simple-2.ron index 834db5e8f9..09fcf6f3ee 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-2.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-2.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.90, + poise_reduction_power: 0.90, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_simple-3.ron b/assets/common/items/weapons/sword/long_2h_simple-3.ron index 834db5e8f9..09fcf6f3ee 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-3.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-3.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.90, + poise_reduction_power: 0.90, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_simple-4.ron b/assets/common/items/weapons/sword/long_2h_simple-4.ron index 834db5e8f9..09fcf6f3ee 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-4.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-4.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.90, + poise_reduction_power: 0.90, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/long_2h_simple-5.ron b/assets/common/items/weapons/sword/long_2h_simple-5.ron index 834db5e8f9..09fcf6f3ee 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-5.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-5.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.90, + poise_reduction_power: 0.90, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/short_sword_0.ron b/assets/common/items/weapons/sword/short_sword_0.ron index 32322d16f6..5aa2201ed4 100644 --- a/assets/common/items/weapons/sword/short_sword_0.ron +++ b/assets/common/items/weapons/sword/short_sword_0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.75, + poise_reduction_power: 0.75, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/starter_sword.ron b/assets/common/items/weapons/sword/starter_sword.ron index 0e4f7bed26..c5eaf61c21 100644 --- a/assets/common/items/weapons/sword/starter_sword.ron +++ b/assets/common/items/weapons/sword/starter_sword.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 0.50, + poise_reduction_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/wood_sword.ron b/assets/common/items/weapons/sword/wood_sword.ron index c061ac0ecb..ea20e61b05 100644 --- a/assets/common/items/weapons/sword/wood_sword.ron +++ b/assets/common/items/weapons/sword/wood_sword.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.8, + poise_reduction_power: 0.8, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/sword/zweihander_sword_0.ron b/assets/common/items/weapons/sword/zweihander_sword_0.ron index 4570f5f508..a8f9f383d1 100644 --- a/assets/common/items/weapons/sword/zweihander_sword_0.ron +++ b/assets/common/items/weapons/sword/zweihander_sword_0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.50, + poise_reduction_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/tool/broom.ron b/assets/common/items/weapons/tool/broom.ron index fce5d07407..19610b2af0 100644 --- a/assets/common/items/weapons/tool/broom.ron +++ b/assets/common/items/weapons/tool/broom.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/tool/fishing_rod.ron b/assets/common/items/weapons/tool/fishing_rod.ron index da171bf0df..0836f62498 100644 --- a/assets/common/items/weapons/tool/fishing_rod.ron +++ b/assets/common/items/weapons/tool/fishing_rod.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/tool/hoe.ron b/assets/common/items/weapons/tool/hoe.ron index 2d2af04949..52a178b390 100644 --- a/assets/common/items/weapons/tool/hoe.ron +++ b/assets/common/items/weapons/tool/hoe.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/tool/pickaxe.ron b/assets/common/items/weapons/tool/pickaxe.ron index 3215e311d1..1d207fc796 100644 --- a/assets/common/items/weapons/tool/pickaxe.ron +++ b/assets/common/items/weapons/tool/pickaxe.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/tool/pitchfork.ron b/assets/common/items/weapons/tool/pitchfork.ron index 8f9c33a851..c4d66eb9e0 100644 --- a/assets/common/items/weapons/tool/pitchfork.ron +++ b/assets/common/items/weapons/tool/pitchfork.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/tool/rake.ron b/assets/common/items/weapons/tool/rake.ron index 12357d1d60..1527f03a25 100644 --- a/assets/common/items/weapons/tool/rake.ron +++ b/assets/common/items/weapons/tool/rake.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/tool/shovel-0.ron b/assets/common/items/weapons/tool/shovel-0.ron index 55c06b76b9..9bec67a15b 100644 --- a/assets/common/items/weapons/tool/shovel-0.ron +++ b/assets/common/items/weapons/tool/shovel-0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/weapons/tool/shovel-1.ron b/assets/common/items/weapons/tool/shovel-1.ron index a9b0a19c53..aa553591f9 100644 --- a/assets/common/items/weapons/tool/shovel-1.ron +++ b/assets/common/items/weapons/tool/shovel-1.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, + poise_reduction_power: 1.00, speed: 1.0 ), ) diff --git a/common/src/bin/csv_export/main.rs b/common/src/bin/csv_export/main.rs index cdfa9bc220..a225b1bf1d 100644 --- a/common/src/bin/csv_export/main.rs +++ b/common/src/bin/csv_export/main.rs @@ -43,7 +43,15 @@ fn armor_stats() -> Result<(), Box> { fn weapon_stats() -> Result<(), Box> { let mut wtr = csv::Writer::from_path("weaponstats.csv")?; - wtr.write_record(&["Path", "Kind", "Name", "Power", "Speed", "Equip Time (ms)"])?; + wtr.write_record(&[ + "Path", + "Kind", + "Name", + "Power", + "Poise Reduction Power", + "Speed", + "Equip Time (ms)", + ])?; for item in comp::item::Item::new_from_asset_glob("common.items.weapons.*") .expect("Failed to iterate over item folders!") @@ -51,6 +59,7 @@ fn weapon_stats() -> Result<(), Box> { match item.kind() { comp::item::ItemKind::Tool(tool) => { let power = tool.base_power().to_string(); + let poise_reduction_power = tool.base_poise_reduction_power().to_string(); let speed = tool.base_speed().to_string(); let equip_time = tool.equip_time().subsec_millis().to_string(); let kind = get_tool_kind(&tool.kind); @@ -60,6 +69,7 @@ fn weapon_stats() -> Result<(), Box> { &kind, item.name(), &power, + &poise_reduction_power, &speed, &equip_time, ])?; diff --git a/common/src/comp/ability.rs b/common/src/comp/ability.rs index ec0bfe2f02..b2cdc9e17f 100644 --- a/common/src/comp/ability.rs +++ b/common/src/comp/ability.rs @@ -100,6 +100,7 @@ pub enum CharacterAbility { base_damage: u32, scaled_damage: u32, base_poise_damage: u32, + scaled_poise_damage: u32, base_knockback: f32, scaled_knockback: f32, range: f32, @@ -167,6 +168,7 @@ pub enum CharacterAbility { initial_damage: u32, scaled_damage: u32, initial_poise_damage: u32, + scaled_poise_damage: u32, initial_knockback: f32, scaled_knockback: f32, range: f32, @@ -183,6 +185,7 @@ pub enum CharacterAbility { initial_damage: u32, scaled_damage: u32, initial_poise_damage: u32, + scaled_poise_damage: u32, initial_knockback: f32, scaled_knockback: f32, speed: f32, @@ -321,7 +324,7 @@ impl CharacterAbility { } } - pub fn adjusted_by_stats(mut self, power: f32, speed: f32) -> Self { + pub fn adjusted_by_stats(mut self, power: f32, poise_reduction_power: f32, speed: f32) -> Self { use CharacterAbility::*; match self { BasicMelee { @@ -329,12 +332,14 @@ impl CharacterAbility { ref mut swing_duration, ref mut recover_duration, ref mut base_damage, + ref mut base_poise_damage, .. } => { *buildup_duration = (*buildup_duration as f32 / speed) as u64; *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; *base_damage = (*base_damage as f32 * power) as u32; + *base_poise_damage = (*base_poise_damage as f32 * poise_reduction_power) as u32; }, BasicRanged { ref mut buildup_duration, @@ -369,6 +374,8 @@ impl CharacterAbility { DashMelee { ref mut base_damage, ref mut scaled_damage, + ref mut base_poise_damage, + ref mut scaled_poise_damage, ref mut buildup_duration, ref mut swing_duration, ref mut recover_duration, @@ -376,6 +383,8 @@ impl CharacterAbility { } => { *base_damage = (*base_damage as f32 * power) as u32; *scaled_damage = (*scaled_damage as f32 * power) as u32; + *base_poise_damage = (*base_damage as f32 * poise_reduction_power) as u32; + *scaled_poise_damage = (*scaled_poise_damage as f32 * poise_reduction_power) as u32; *buildup_duration = (*buildup_duration as f32 / speed) as u64; *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; @@ -396,7 +405,7 @@ impl CharacterAbility { } => { *stage_data = stage_data .iter_mut() - .map(|s| s.adjusted_by_stats(power, speed)) + .map(|s| s.adjusted_by_stats(power, poise_reduction_power, speed)) .collect(); }, LeapMelee { @@ -405,6 +414,7 @@ impl CharacterAbility { ref mut swing_duration, ref mut recover_duration, ref mut base_damage, + ref mut base_poise_damage, .. } => { *buildup_duration = (*buildup_duration as f32 / speed) as u64; @@ -412,22 +422,27 @@ impl CharacterAbility { *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; *base_damage = (*base_damage as f32 * power) as u32; + *base_poise_damage = (*base_poise_damage as f32 * poise_reduction_power) as u32; }, SpinMelee { ref mut buildup_duration, ref mut swing_duration, ref mut recover_duration, ref mut base_damage, + ref mut base_poise_damage, .. } => { *buildup_duration = (*buildup_duration as f32 / speed) as u64; *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; *base_damage = (*base_damage as f32 * power) as u32; + *base_poise_damage = (*base_poise_damage as f32 * poise_reduction_power) as u32; }, ChargedMelee { ref mut initial_damage, ref mut scaled_damage, + ref mut initial_poise_damage, + ref mut scaled_poise_damage, speed: ref mut ability_speed, ref mut charge_duration, ref mut swing_duration, @@ -436,6 +451,9 @@ impl CharacterAbility { } => { *initial_damage = (*initial_damage as f32 * power) as u32; *scaled_damage = (*scaled_damage as f32 * power) as u32; + *initial_poise_damage = + (*initial_poise_damage as f32 * poise_reduction_power) as u32; + *scaled_poise_damage = (*scaled_poise_damage as f32 * poise_reduction_power) as u32; *ability_speed *= speed; *charge_duration = (*charge_duration as f32 / speed) as u64; *swing_duration = (*swing_duration as f32 / speed) as u64; @@ -456,18 +474,21 @@ impl CharacterAbility { *buildup_duration = (*buildup_duration as f32 / speed) as u64; *charge_duration = (*charge_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; + // TODO do projectile poise }, Shockwave { ref mut buildup_duration, ref mut swing_duration, ref mut recover_duration, ref mut damage, + ref mut poise_damage, .. } => { *buildup_duration = (*buildup_duration as f32 / speed) as u64; *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; *damage = (*damage as f32 * power) as u32; + *poise_damage = (*poise_damage as f32 * poise_reduction_power) as u32; }, BasicBeam { ref mut buildup_duration, @@ -1142,6 +1163,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { base_damage, scaled_damage, base_poise_damage, + scaled_poise_damage, base_knockback, scaled_knockback, range, @@ -1159,6 +1181,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { base_damage: *base_damage, scaled_damage: *scaled_damage, base_poise_damage: *base_poise_damage, + scaled_poise_damage: *scaled_poise_damage, base_knockback: *base_knockback, scaled_knockback: *scaled_knockback, range: *range, @@ -1281,7 +1304,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { swing_duration: Duration::from_millis(*swing_duration), recover_duration: Duration::from_millis(*recover_duration), base_damage: *base_damage, - base_poise_damage: *base_damage, + base_poise_damage: *base_poise_damage, knockback: *knockback, range: *range, energy_cost: *energy_cost, @@ -1303,6 +1326,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { initial_damage, scaled_damage, initial_poise_damage, + scaled_poise_damage, initial_knockback, scaled_knockback, speed, @@ -1319,6 +1343,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { initial_damage: *initial_damage, scaled_damage: *scaled_damage, initial_poise_damage: *initial_poise_damage, + scaled_poise_damage: *scaled_poise_damage, initial_knockback: *initial_knockback, scaled_knockback: *scaled_knockback, speed: *speed, @@ -1341,6 +1366,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { initial_damage, scaled_damage, initial_poise_damage, + scaled_poise_damage, initial_knockback, scaled_knockback, speed, @@ -1362,6 +1388,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { initial_damage: *initial_damage, scaled_damage: *scaled_damage, initial_poise_damage: *initial_poise_damage, + scaled_poise_damage: *scaled_poise_damage, speed: *speed, initial_knockback: *initial_knockback, scaled_knockback: *scaled_knockback, diff --git a/common/src/comp/inventory/item/armor.rs b/common/src/comp/inventory/item/armor.rs index aba06d5873..398d436174 100644 --- a/common/src/comp/inventory/item/armor.rs +++ b/common/src/comp/inventory/item/armor.rs @@ -28,6 +28,7 @@ impl Armor { #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] pub struct Stats { protection: Protection, + poise_protection: Protection, } #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] @@ -45,6 +46,8 @@ pub struct Armor { impl Armor { pub fn get_protection(&self) -> Protection { self.stats.protection } + pub fn get_poise_protection(&self) -> Protection { self.stats.poise_protection } + #[cfg(test)] pub fn test_armor(kind: ArmorKind, protection: Protection) -> Armor { Armor { diff --git a/common/src/comp/inventory/item/tool.rs b/common/src/comp/inventory/item/tool.rs index 729281ad6a..af6583d618 100644 --- a/common/src/comp/inventory/item/tool.rs +++ b/common/src/comp/inventory/item/tool.rs @@ -55,6 +55,7 @@ pub enum Hands { pub struct Stats { equip_time_millis: u32, power: f32, + poise_reduction_power: f32, speed: f32, } @@ -73,6 +74,7 @@ impl Tool { equip_time_millis: 0, power: 1.00, speed: 1.00, + poise_reduction_power: 1.00, }, } } @@ -80,6 +82,8 @@ impl Tool { // Keep power between 0.5 and 2.00 pub fn base_power(&self) -> f32 { self.stats.power } + pub fn base_poise_reduction_power(&self) -> f32 { self.stats.poise_reduction_power } + pub fn base_speed(&self) -> f32 { self.stats.speed } pub fn equip_time(&self) -> Duration { @@ -107,8 +111,14 @@ pub struct AbilitySet { } impl AbilitySet { - fn modified_by_tool(self, tool: &Tool) -> Self { - self.map(|a| a.adjusted_by_stats(tool.base_power(), tool.base_speed())) + pub fn modified_by_tool(self, tool: &Tool) -> Self { + self.map(|a| { + a.adjusted_by_stats( + tool.base_power(), + tool.base_poise_reduction_power(), + tool.base_speed(), + ) + }) } } diff --git a/common/src/comp/poise.rs b/common/src/comp/poise.rs index 8f32734932..7d9962e317 100644 --- a/common/src/comp/poise.rs +++ b/common/src/comp/poise.rs @@ -1,11 +1,8 @@ -use crate::{ - comp::{Body, Loadout}, - sync::Uid, - DamageSource, -}; +use crate::comp::{Body, Loadout}; use serde::{Deserialize, Serialize}; use specs::{Component, FlaggedStorage}; use specs_idvs::IdvStorage; +use vek::*; #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] pub struct PoiseChange { @@ -14,16 +11,23 @@ pub struct PoiseChange { } impl PoiseChange { - pub fn modify_poise_damage(self, loadout: Option<&Loadout>, uid: Option) -> PoiseChange { - println!("Pre modified: {:?}", self.amount); - let mut poise_damage = -self.amount as f32; + pub fn set_zero(self) -> Self { + Self { + amount: 0, + source: self.source, + } + } + + pub fn modify_poise_damage(self, loadout: Option<&Loadout>) -> PoiseChange { + let mut poise_damage = self.amount as f32; match self.source { PoiseSource::Melee => { // Armor - let damage_reduction = loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); - poise_damage *= 1.0 - damage_reduction; + let poise_damage_reduction = + loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); + poise_damage *= 1.0 - poise_damage_reduction; PoiseChange { - amount: -poise_damage as i32, + amount: poise_damage as i32, source: PoiseSource::Melee, } }, @@ -32,7 +36,7 @@ impl PoiseChange { let damage_reduction = loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); poise_damage *= 1.0 - damage_reduction; PoiseChange { - amount: -poise_damage as i32, + amount: poise_damage as i32, source: PoiseSource::Projectile, } }, @@ -41,7 +45,7 @@ impl PoiseChange { let damage_reduction = loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); poise_damage *= 1.0 - damage_reduction; PoiseChange { - amount: -poise_damage as i32, + amount: poise_damage as i32, source: PoiseSource::Shockwave, } }, @@ -50,7 +54,7 @@ impl PoiseChange { let damage_reduction = loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); poise_damage *= 1.0 - damage_reduction; PoiseChange { - amount: -poise_damage as i32, + amount: poise_damage as i32, source: PoiseSource::Explosion, } }, @@ -61,7 +65,7 @@ impl PoiseChange { poise_damage = 0.0; } PoiseChange { - amount: -poise_damage as i32, + amount: poise_damage as i32, source: PoiseSource::Falling, } }, @@ -92,6 +96,8 @@ pub struct Poise { base_max: u32, current: u32, maximum: u32, + knockback: Vec3, + pub last_change: (f64, PoiseChange), pub is_interrupted: bool, pub is_stunned: bool, pub is_dazed: bool, @@ -105,6 +111,11 @@ impl Default for Poise { current: 0, maximum: 0, base_max: 0, + knockback: Vec3::zero(), + last_change: (0.0, PoiseChange { + amount: 0, + source: PoiseSource::Revive, + }), is_interrupted: false, is_stunned: false, is_dazed: false, @@ -127,19 +138,21 @@ impl Poise { pub fn new(body: Body) -> Self { let mut poise = Poise::default(); poise.update_max_poise(Some(body)); - poise.set_to(poise.maximum()); + poise.set_to(poise.maximum(), PoiseSource::Revive); poise } + pub fn knockback(&self) -> Vec3 { self.knockback } + pub fn poise_state(&self) -> PoiseState { - if self.current >= 5 * self.maximum / 10 { + if self.current >= 8 * self.maximum / 10 { PoiseState::Normal - } else if self.current >= 4 * self.maximum / 10 { + } else if self.current >= 7 * self.maximum / 10 { PoiseState::Interrupted - } else if self.current >= 3 * self.maximum / 10 { + } else if self.current >= 6 * self.maximum / 10 { PoiseState::Stunned - } else if self.current >= 2 * self.maximum / 10 { + } else if self.current >= 4 * self.maximum / 10 { PoiseState::Dazed } else { PoiseState::KnockedDown @@ -150,13 +163,23 @@ impl Poise { pub fn maximum(&self) -> u32 { self.maximum } - pub fn set_to(&mut self, amount: u32) { + pub fn set_to(&mut self, amount: u32, cause: PoiseSource) { let amount = amount.min(self.maximum); + self.last_change = (0.0, PoiseChange { + amount: amount as i32 - self.current as i32, + source: cause, + }); self.current = amount; } - pub fn change_by(&mut self, change: PoiseChange) { + pub fn change_by(&mut self, change: PoiseChange, impulse: Vec3) { + println!("Poise change: {:?}", change); self.current = ((self.current as i32 + change.amount).max(0) as u32).min(self.maximum); + self.knockback = impulse; + self.last_change = (0.0, PoiseChange { + amount: change.amount, + source: change.source, + }); } pub fn reset(&mut self) { self.current = self.maximum; } diff --git a/common/src/comp/projectile.rs b/common/src/comp/projectile.rs index cc68a396dc..7378141a5b 100644 --- a/common/src/comp/projectile.rs +++ b/common/src/comp/projectile.rs @@ -14,7 +14,8 @@ use std::time::Duration; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] pub enum Effect { - Damage(Option, Damage, PoiseChange), + Damage(Option, Damage), + PoiseChange(Option, PoiseChange), Knockback(Knockback), RewardEnergy(u32), Explode(Explosion), @@ -48,11 +49,13 @@ impl Component for Projectile { pub enum ProjectileConstructor { Arrow { damage: f32, + poise_damage: i32, knockback: f32, energy_regen: u32, }, Fireball { damage: f32, + poise_damage: i32, radius: f32, energy_regen: u32, }, @@ -62,6 +65,7 @@ pub enum ProjectileConstructor { }, Heal { heal: f32, + poise_damage: i32, damage: f32, radius: f32, }, @@ -74,6 +78,7 @@ impl ProjectileConstructor { match self { Arrow { damage, + poise_damage, knockback, energy_regen, } => { @@ -88,17 +93,14 @@ impl ProjectileConstructor { Projectile { hit_solid: vec![Effect::Stick], hit_entity: vec![ - Effect::Damage( - Some(GroupTarget::OutOfGroup), - Damage { - source: DamageSource::Projectile, - value: damage, - }, - PoiseChange { - amount: 0, - source: PoiseSource::Projectile, - }, - ), + Effect::Damage(Some(GroupTarget::OutOfGroup), Damage { + source: DamageSource::Projectile, + value: damage, + }), + Effect::PoiseChange(Some(GroupTarget::OutOfGroup), PoiseChange { + source: PoiseSource::Projectile, + amount: -poise_damage, + }), Effect::Knockback(Knockback::Away(knockback)), Effect::RewardEnergy(energy_regen), Effect::Vanish, @@ -114,18 +116,27 @@ impl ProjectileConstructor { }, Fireball { damage, + poise_damage, radius, energy_regen, } => Projectile { hit_solid: vec![ Effect::Explode(Explosion { effects: vec![ - RadiusEffect::Entity(Some(GroupTarget::OutOfGroup), vec![ + RadiusEffect::Entity( + Some(GroupTarget::OutOfGroup), effect::Effect::Damage(Damage { source: DamageSource::Explosion, value: damage, }), - ]), + ), + RadiusEffect::Entity( + Some(GroupTarget::OutOfGroup), + effect::Effect::PoiseChange(PoiseChange { + amount: -poise_damage, + source: PoiseSource::Explosion, + }), + ), RadiusEffect::TerrainDestruction(2.0), ], radius, @@ -135,12 +146,22 @@ impl ProjectileConstructor { ], hit_entity: vec![ Effect::Explode(Explosion { - effects: vec![RadiusEffect::Entity(Some(GroupTarget::OutOfGroup), vec![ - effect::Effect::Damage(Damage { - source: DamageSource::Explosion, - value: damage, - }), - ])], + effects: vec![ + RadiusEffect::Entity( + Some(GroupTarget::OutOfGroup), + effect::Effect::Damage(Damage { + source: DamageSource::Explosion, + value: damage, + }), + ), + RadiusEffect::Entity( + Some(GroupTarget::OutOfGroup), + effect::Effect::PoiseChange(PoiseChange { + amount: -poise_damage, + source: PoiseSource::Explosion, + }), + ), + ], radius, energy_regen, }), @@ -170,23 +191,33 @@ impl ProjectileConstructor { Heal { heal, damage, + poise_damage, radius, } => Projectile { hit_solid: vec![ Effect::Explode(Explosion { effects: vec![ - RadiusEffect::Entity(Some(GroupTarget::OutOfGroup), vec![ + RadiusEffect::Entity( + Some(GroupTarget::OutOfGroup), effect::Effect::Damage(Damage { source: DamageSource::Explosion, value: damage, }), - ]), - RadiusEffect::Entity(Some(GroupTarget::InGroup), vec![ + ), + RadiusEffect::Entity( + Some(GroupTarget::InGroup), effect::Effect::Damage(Damage { source: DamageSource::Healing, value: heal, }), - ]), + ), + RadiusEffect::Entity( + Some(GroupTarget::OutOfGroup), + effect::Effect::PoiseChange(PoiseChange { + amount: -poise_damage, + source: PoiseSource::Explosion, + }), + ), ], radius, energy_regen: 0, @@ -196,18 +227,27 @@ impl ProjectileConstructor { hit_entity: vec![ Effect::Explode(Explosion { effects: vec![ - RadiusEffect::Entity(Some(GroupTarget::OutOfGroup), vec![ + RadiusEffect::Entity( + Some(GroupTarget::OutOfGroup), effect::Effect::Damage(Damage { source: DamageSource::Explosion, value: damage, }), - ]), - RadiusEffect::Entity(Some(GroupTarget::InGroup), vec![ + ), + RadiusEffect::Entity( + Some(GroupTarget::InGroup), effect::Effect::Damage(Damage { source: DamageSource::Healing, value: heal, }), - ]), + ), + RadiusEffect::Entity( + Some(GroupTarget::OutOfGroup), + effect::Effect::PoiseChange(PoiseChange { + amount: -poise_damage, + source: PoiseSource::Explosion, + }), + ), ], radius, energy_regen: 0, diff --git a/common/src/effect.rs b/common/src/effect.rs index 2d825c9947..aca9cf0ca8 100644 --- a/common/src/effect.rs +++ b/common/src/effect.rs @@ -5,7 +5,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] pub enum Effect { Health(comp::HealthChange), - Poise(comp::PoiseChange), + PoiseChange(comp::PoiseChange), Damage(combat::Damage), Buff(BuffEffect), } @@ -22,7 +22,7 @@ impl Effect { pub fn info(&self) -> String { match self { Effect::Health(c) => format!("{:+} health", c.amount), - Effect::Poise(c) => format!("{:+} poise", c.amount), + Effect::PoiseChange(c) => format!("{:+} poise", c.amount), Effect::Damage(d) => format!("{:+}", d.value), Effect::Buff(e) => format!("{:?} buff", e), } @@ -33,7 +33,7 @@ impl Effect { Effect::Health(change) => { change.amount = (change.amount as f32 * modifier) as i32; }, - Effect::Poise(change) => { + Effect::PoiseChange(change) => { change.amount = (change.amount as f32 * modifier) as i32; }, Effect::Damage(damage) => { diff --git a/common/src/explosion.rs b/common/src/explosion.rs index e6c5ef4696..889602ecd2 100644 --- a/common/src/explosion.rs +++ b/common/src/explosion.rs @@ -11,5 +11,5 @@ pub struct Explosion { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] pub enum RadiusEffect { TerrainDestruction(f32), - Entity(Option, Vec), + Entity(Option, Effect), } diff --git a/common/src/states/charged_melee.rs b/common/src/states/charged_melee.rs index cc8555688d..23205f1b72 100644 --- a/common/src/states/charged_melee.rs +++ b/common/src/states/charged_melee.rs @@ -23,12 +23,14 @@ pub struct StaticData { pub initial_damage: u32, /// How much the damage is scaled by pub scaled_damage: u32, + /// How much poise damage is dealt with no charge + pub initial_poise_damage: u32, + /// How much poise damage is scaled by + pub scaled_poise_damage: u32, /// How much knockback there is with no charge pub initial_knockback: f32, /// How much the knockback is scaled by pub scaled_knockback: f32, - /// Initial poise damage - pub initial_poise_damage: u32, /// Max range pub range: f32, /// Max angle (45.0 will give you a 90.0 angle window) @@ -158,8 +160,10 @@ impl CharacterBehavior for Data { value: self.static_data.initial_damage as f32 + self.charge_amount * self.static_data.scaled_damage as f32, }; - let mut poise_damage = PoiseChange { - amount: -(self.static_data.initial_poise_damage as i32), + let poise_damage = PoiseChange { + amount: -(self.static_data.initial_poise_damage as f32 + + self.charge_amount * self.static_data.scaled_poise_damage as f32) + as i32, source: PoiseSource::Melee, }; let knockback = self.static_data.initial_knockback diff --git a/common/src/states/charged_ranged.rs b/common/src/states/charged_ranged.rs index 6701725b9a..d6694ed9c6 100644 --- a/common/src/states/charged_ranged.rs +++ b/common/src/states/charged_ranged.rs @@ -30,8 +30,10 @@ pub struct StaticData { pub initial_damage: u32, /// How much the damage scales as it is charged pub scaled_damage: u32, - /// Initial poise damage + /// How much poise damage is dealt with no charge pub initial_poise_damage: u32, + /// How much the poise damage scales as it is charged + pub scaled_poise_damage: u32, /// How much knockback there is with no charge pub initial_knockback: f32, /// How much the knockback scales as it is charged @@ -109,8 +111,10 @@ impl CharacterBehavior for Data { value: self.static_data.initial_damage as f32 + charge_frac * self.static_data.scaled_damage as f32, }; - let mut poise_damage = PoiseChange { - amount: -(self.static_data.initial_poise_damage as i32), + let poise_damage = PoiseChange { + amount: -(self.static_data.initial_poise_damage as f32 + + charge_frac * self.static_data.scaled_poise_damage as f32) + as i32, source: PoiseSource::Projectile, }; let knockback = self.static_data.initial_knockback @@ -119,9 +123,9 @@ impl CharacterBehavior for Data { let projectile = Projectile { hit_solid: vec![projectile::Effect::Stick], hit_entity: vec![ - projectile::Effect::Damage( + projectile::Effect::Damage(Some(GroupTarget::OutOfGroup), damage), + projectile::Effect::PoiseChange( Some(GroupTarget::OutOfGroup), - damage, poise_damage, ), projectile::Effect::Knockback(Knockback::Away(knockback)), diff --git a/common/src/states/combo_melee.rs b/common/src/states/combo_melee.rs index 2411702b82..275c038525 100644 --- a/common/src/states/combo_melee.rs +++ b/common/src/states/combo_melee.rs @@ -22,6 +22,8 @@ pub struct Stage { pub damage_increase: u32, /// Initial poise damage of stage pub base_poise_damage: u32, + /// Poise damage scaling per combo + pub poise_damage_increase: u32, /// Knockback of stage pub knockback: f32, /// Range of attack @@ -46,6 +48,7 @@ impl Stage { base_damage: self.base_damage, damage_increase: self.damage_increase, base_poise_damage: self.base_poise_damage, + poise_damage_increase: self.poise_damage_increase, knockback: self.knockback, range: self.range, angle: self.angle, @@ -56,9 +59,12 @@ impl Stage { } } - pub fn adjusted_by_stats(mut self, power: f32, speed: f32) -> Self { + pub fn adjusted_by_stats(mut self, power: f32, poise_reduction_power: f32, speed: f32) -> Self { self.base_damage = (self.base_damage as f32 * power) as u32; self.damage_increase = (self.damage_increase as f32 * power) as u32; + self.base_poise_damage = (self.base_poise_damage as f32 * poise_reduction_power) as u32; + self.poise_damage_increase = + (self.poise_damage_increase as f32 * poise_reduction_power) as u32; self.base_buildup_duration = (self.base_buildup_duration as f32 / speed) as u64; self.base_swing_duration = (self.base_swing_duration as f32 / speed) as u64; self.base_recover_duration = (self.base_recover_duration as f32 / speed) as u64; @@ -169,7 +175,13 @@ impl CharacterBehavior for Data { .scales_from_combo .min(self.combo / self.static_data.num_stages) * self.static_data.stage_data[stage_index].damage_increase; - let poise_damage = self.static_data.stage_data[stage_index].base_poise_damage; + + let poise_damage = self.static_data.stage_data[stage_index].base_poise_damage + + self + .static_data + .scales_from_combo + .min(self.combo / self.static_data.num_stages) + * self.static_data.stage_data[stage_index].poise_damage_increase; data.updater.insert(data.entity, Attacking { effects: vec![( Some(GroupTarget::OutOfGroup), diff --git a/common/src/states/dash_melee.rs b/common/src/states/dash_melee.rs index 4ea8084bef..3c71ba8fbc 100644 --- a/common/src/states/dash_melee.rs +++ b/common/src/states/dash_melee.rs @@ -22,6 +22,8 @@ pub struct StaticData { pub scaled_damage: u32, /// Initial poise damage pub base_poise_damage: u32, + /// How much the attac scales in poise damage + pub scaled_poise_damage: u32, /// How much the attack knocks the target back initially pub base_knockback: f32, /// How much the attack scales in knockback @@ -135,8 +137,10 @@ impl CharacterBehavior for Data { value: self.static_data.base_damage as f32 + charge_frac * self.static_data.scaled_damage as f32, }; - let mut poise_damage = PoiseChange { - amount: -(self.static_data.base_poise_damage as i32), + let poise_damage = PoiseChange { + amount: -(self.static_data.base_poise_damage as f32 + + charge_frac * self.static_data.scaled_poise_damage as f32) + as i32, source: PoiseSource::Melee, }; let knockback = self.static_data.base_knockback diff --git a/common/src/states/staggered.rs b/common/src/states/staggered.rs index 44b2127b12..af6049f85d 100644 --- a/common/src/states/staggered.rs +++ b/common/src/states/staggered.rs @@ -2,7 +2,6 @@ use super::utils::*; use crate::{ comp::{CharacterState, StateUpdate}, states::behavior::{CharacterBehavior, JoinData}, - Knockback, }; use serde::{Deserialize, Serialize}; use std::time::Duration; @@ -14,8 +13,6 @@ pub struct StaticData { pub buildup_duration: Duration, /// How long the state has until exiting pub recover_duration: Duration, - /// Knockback - pub knockback: Knockback, } #[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] diff --git a/common/src/states/stunned.rs b/common/src/states/stunned.rs index 16d609efbf..337249ba1b 100644 --- a/common/src/states/stunned.rs +++ b/common/src/states/stunned.rs @@ -2,7 +2,6 @@ use super::utils::*; use crate::{ comp::{CharacterState, StateUpdate}, states::behavior::{CharacterBehavior, JoinData}, - Knockback, }; use serde::{Deserialize, Serialize}; use std::time::Duration; @@ -14,8 +13,6 @@ pub struct StaticData { pub buildup_duration: Duration, /// How long the state has until exiting pub recover_duration: Duration, - /// Knockback - pub knockback: Knockback, } #[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] diff --git a/common/sys/src/beam.rs b/common/sys/src/beam.rs index feb3d734ca..8b98380e9c 100644 --- a/common/sys/src/beam.rs +++ b/common/sys/src/beam.rs @@ -168,8 +168,7 @@ impl<'a> System<'a> for Sys { // Modify damage let change = damage.modify_damage(inventories.get(b), beam_segment.owner); - let poise_change = poise_damage - .modify_poise_damage(inventories.get(b), beam_segment.owner); + let poise_change = poise_damage.modify_poise_damage(inventories.get(b)); let kb_dir = Dir::new((pos_b.0 - pos.0).try_normalized().unwrap_or(*ori.0)); match target { diff --git a/common/sys/src/melee.rs b/common/sys/src/melee.rs index 7d4cee0162..8dd8d4a62c 100644 --- a/common/sys/src/melee.rs +++ b/common/sys/src/melee.rs @@ -126,16 +126,19 @@ impl<'a> System<'a> for Sys { for (target, damage, poise_change) in attack.effects.iter() { if let Some(target) = target { if *target != target_group - || (!matches!(target, GroupTarget::InGroup) - && (is_dodge || is_stunned)) + || (!matches!(target, GroupTarget::InGroup) && is_dodge) { continue; } } let change = damage.modify_damage(inventories.get(b), Some(*uid)); - //let poise_change = - // poise_change.modify_poise_damage(loadouts.get(b), Some(*uid)); + let poise_change = if is_stunned { + poise_change.set_zero() + } else { + poise_change.modify_poise_damage(inventories.get(b)) + }; + server_emitter.emit(ServerEvent::Damage { entity: b, change }); // Apply bleeding buff on melee hits with 10% chance // TODO: Don't have buff uniformly applied on all melee attacks @@ -162,8 +165,8 @@ impl<'a> System<'a> for Sys { server_emitter.emit(ServerEvent::PoiseChange { entity: b, - change: *poise_change, - kb_dir: *kb_dir, + change: poise_change, + kb_dir: *Dir::slerp(kb_dir, Dir::new(Vec3::unit_z()), 0.5), }); attack.hit_count += 1; diff --git a/common/sys/src/projectile.rs b/common/sys/src/projectile.rs index 3c58a18369..7d1b150795 100644 --- a/common/sys/src/projectile.rs +++ b/common/sys/src/projectile.rs @@ -102,7 +102,7 @@ impl<'a> System<'a> for Sys { let projectile = &mut *projectile; for effect in projectile.hit_entity.drain(..) { match effect { - projectile::Effect::Damage(target, damage, poise_damage) => { + projectile::Effect::Damage(target, damage) => { if Some(other) == projectile.owner { continue; } @@ -125,6 +125,25 @@ impl<'a> System<'a> for Sys { entity: other_entity, change, }); + } + }, + projectile::Effect::PoiseChange(target, poise_damage) => { + if Some(other) == projectile.owner { + continue; + } + + if let Some(target) = target { + if target != target_group { + continue; + } + } + + if let Some(other_entity) = + uid_allocator.retrieve_entity_internal(other.into()) + { + let other_entity_loadout = loadouts.get(other_entity); + let poise_change = + poise_damage.modify_poise_damage(other_entity_loadout); server_emitter.emit(ServerEvent::PoiseChange { entity: other_entity, change: poise_change, diff --git a/common/sys/src/stats.rs b/common/sys/src/stats.rs index 7298c5b509..e72dd5ccb1 100644 --- a/common/sys/src/stats.rs +++ b/common/sys/src/stats.rs @@ -2,7 +2,7 @@ use common::{ comp::{ skills::{GeneralSkill, Skill}, Body, CharacterState, Energy, EnergyChange, EnergySource, Health, Poise, PoiseChange, - PoiseSource, Pos, Stats, + PoiseSource, PoiseState, Pos, Stats, }, event::{EventBus, ServerEvent}, metrics::SysMetrics, @@ -13,9 +13,11 @@ use common::{ }; use hashbrown::HashSet; use specs::{Entities, Join, Read, ReadExpect, ReadStorage, System, Write, WriteStorage}; +use std::time::Duration; +use vek::Vec3; const ENERGY_REGEN_ACCEL: f32 = 10.0; -//const POISE_REGEN_ACCEL: f32 = 5.0; +const POISE_REGEN_ACCEL: f32 = 2.0; /// This system kills players, levels them up, and regenerates energy. pub struct Sys; @@ -26,7 +28,7 @@ impl<'a> System<'a> for Sys { Read<'a, DeltaTime>, Read<'a, EventBus>, ReadExpect<'a, SysMetrics>, - ReadStorage<'a, CharacterState>, + WriteStorage<'a, CharacterState>, WriteStorage<'a, Stats>, WriteStorage<'a, Health>, WriteStorage<'a, Poise>, @@ -44,7 +46,7 @@ impl<'a> System<'a> for Sys { dt, server_event_bus, sys_metrics, - character_states, + mut character_states, mut stats, mut healths, mut poises, @@ -61,17 +63,24 @@ impl<'a> System<'a> for Sys { // Increment last change timer healths.set_event_emission(false); // avoid unnecessary syncing - for mut health in (&mut healths).join() { + poises.set_event_emission(false); // avoid unnecessary syncing + for health in (&mut healths).join() { health.last_change.0 += f64::from(dt.0); } + for poise in (&mut poises).join() { + poise.last_change.0 += f64::from(dt.0); + } healths.set_event_emission(true); + poises.set_event_emission(true); // Update stats - for (entity, uid, mut stats, mut health, pos) in ( + for (entity, uid, mut stats, mut health, mut poise, character_state, pos) in ( &entities, &uids, &mut stats.restrict_mut(), &mut healths.restrict_mut(), + &mut poises.restrict_mut(), + &mut character_states, &positions, ) .join() @@ -149,6 +158,67 @@ impl<'a> System<'a> for Sys { let mut stat = stats.get_mut_unchecked(); stat.skill_set.modify_energy = false; } + + let was_wielded = character_state.is_wield(); + let poise = poise.get_mut_unchecked(); + match poise.poise_state() { + PoiseState::Normal => {}, + PoiseState::Interrupted => { + poise.reset(); + *character_state = CharacterState::Stunned(common::states::stunned::Data { + static_data: common::states::stunned::StaticData { + buildup_duration: Duration::from_millis(100), + recover_duration: Duration::from_millis(100), + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }); + }, + PoiseState::Stunned => { + poise.reset(); + *character_state = CharacterState::Stunned(common::states::stunned::Data { + static_data: common::states::stunned::StaticData { + buildup_duration: Duration::from_millis(500), + recover_duration: Duration::from_millis(500), + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }); + server_event_emitter.emit(ServerEvent::Knockback { + entity, + impulse: 5.0 * poise.knockback(), + }); + //handle_knockback(server, entity, 5.0 * knockback_dir); + }, + PoiseState::Dazed => { + poise.reset(); + *character_state = CharacterState::Staggered(common::states::staggered::Data { + static_data: common::states::staggered::StaticData { + buildup_duration: Duration::from_millis(1000), + recover_duration: Duration::from_millis(1000), + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }); + //handle_knockback(server, entity, 10.0 * knockback_dir); + }, + PoiseState::KnockedDown => { + poise.reset(); + *character_state = CharacterState::Staggered(common::states::staggered::Data { + static_data: common::states::staggered::StaticData { + buildup_duration: Duration::from_millis(5000), + recover_duration: Duration::from_millis(250), + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }); + //handle_knockback(server, entity, 10.0 * knockback_dir); + }, + } } // Update energies and poises @@ -188,22 +258,24 @@ impl<'a> System<'a> for Sys { (energy.regen_rate + ENERGY_REGEN_ACCEL * dt.0).min(100.0); } - //let res_poise = { - // let poise = poise.get_unchecked(); - // poise.current() < poise.maximum() - //}; + let res_poise = { + let poise = poise.get_unchecked(); + poise.current() < poise.maximum() + }; - //if res_poise { - // let mut poise = poise.get_mut_unchecked(); - // poise.change_by(PoiseChange { - // amount: (poise.regen_rate * dt.0 - // + POISE_REGEN_ACCEL * dt.0.powi(2) / 2.0) - // as i32, - // source: PoiseSource::Regen, - // }); - // poise.regen_rate = (poise.regen_rate + - // POISE_REGEN_ACCEL * dt.0).min(100.0); - //} + if res_poise { + let mut poise = poise.get_mut_unchecked(); + poise.change_by( + PoiseChange { + amount: (poise.regen_rate * dt.0 + + POISE_REGEN_ACCEL * dt.0.powi(2) / 2.0) + as i32, + source: PoiseSource::Regen, + }, + Vec3::zero(), + ); + poise.regen_rate = (poise.regen_rate + POISE_REGEN_ACCEL * dt.0).min(10.0); + } }, // Ability and glider use does not regen and sets the rate back to zero. CharacterState::Glide { .. } @@ -221,6 +293,9 @@ impl<'a> System<'a> for Sys { if energy.get_unchecked().regen_rate != 0.0 { energy.get_mut_unchecked().regen_rate = 0.0 } + if poise.get_unchecked().regen_rate != 0.0 { + poise.get_mut_unchecked().regen_rate = 0.0 + } }, // recover small amount of passive energy from blocking, and bonus energy from // blocking attacks? @@ -242,10 +317,7 @@ impl<'a> System<'a> for Sys { CharacterState::Roll { .. } | CharacterState::Climb { .. } | CharacterState::Stunned { .. } - | CharacterState::Staggered { .. } => { - let poise = poise.get_unchecked(); - println!("Poise: {:?}", poise.current()); - }, + | CharacterState::Staggered { .. } => {}, } } sys_metrics.stats_ns.store( diff --git a/server/src/cmd.rs b/server/src/cmd.rs index 75f6429ceb..baa017914a 100644 --- a/server/src/cmd.rs +++ b/server/src/cmd.rs @@ -1360,10 +1360,13 @@ fn handle_explosion( pos: pos.0, explosion: Explosion { effects: vec![ - RadiusEffect::Entity(None, vec![Effect::Damage(Damage { - source: DamageSource::Explosion, - value: 100.0 * power, - })]), + RadiusEffect::Entity( + None, + Effect::Damage(Damage { + source: DamageSource::Explosion, + value: 100.0 * power, + }), + ), RadiusEffect::TerrainDestruction(power), ], radius: 3.0 * power, diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index 1aa3040e0f..6f14849597 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -13,9 +13,8 @@ use common::{ comp::{ self, aura, buff, chat::{KillSource, KillType}, - object, poise, Alignment, Body, Energy, EnergyChange, Group, Health, HealthChange, - HealthSource, Inventory, Item, Player, Poise, PoiseChange, PoiseSource, PoiseState, Pos, - Stats, + object, Alignment, Body, Energy, EnergyChange, Group, Health, HealthChange, HealthSource, + Inventory, Item, Player, Poise, PoiseChange, PoiseSource, Pos, Stats, }, effect::Effect, lottery::Lottery, @@ -24,7 +23,7 @@ use common::{ terrain::{Block, TerrainGrid}, uid::{Uid, UidAllocator}, vol::ReadVol, - Damage, DamageSource, Explosion, GroupTarget, Knockback, RadiusEffect, + Damage, DamageSource, Explosion, GroupTarget, RadiusEffect, }; use common_net::{msg::ServerGeneral, sync::WorldSyncExt}; use common_sys::state::BlockChange; @@ -32,7 +31,6 @@ use comp::item::Reagent; use hashbrown::HashSet; use rand::prelude::*; use specs::{join::Join, saveload::MarkerAllocator, Entity as EcsEntity, WorldExt}; -use std::time::Duration; use tracing::error; use vek::Vec3; @@ -44,86 +42,10 @@ pub fn handle_poise( ) { let ecs = &server.state.ecs(); if let Some(poise) = ecs.write_storage::().get_mut(entity) { - poise.change_by(change); - println!("poise: {:?}", change); - let was_wielded = - if let Some(character_state) = ecs.read_storage::().get(entity) { - character_state.is_wield() - } else { - false - }; - match poise.poise_state() { - PoiseState::Normal => {}, - PoiseState::Interrupted => { - poise.reset(); - let _ = ecs.write_storage::().insert( - entity, - comp::CharacterState::Stunned(common::states::stunned::Data { - static_data: common::states::stunned::StaticData { - buildup_duration: Duration::from_millis(250), - recover_duration: Duration::from_millis(250), - knockback: Knockback::Away(20.0), - }, - timer: Duration::default(), - stage_section: common::states::utils::StageSection::Buildup, - was_wielded, - }), - ); - }, - PoiseState::Stunned => { - poise.reset(); - let _ = ecs.write_storage::().insert( - entity, - comp::CharacterState::Stunned(common::states::stunned::Data { - static_data: common::states::stunned::StaticData { - buildup_duration: Duration::from_millis(500), - recover_duration: Duration::from_millis(500), - knockback: Knockback::Away(40.0), - }, - timer: Duration::default(), - stage_section: common::states::utils::StageSection::Buildup, - was_wielded, - }), - ); - handle_knockback(server, entity, 50.0 * knockback_dir); - }, - PoiseState::Dazed => { - poise.reset(); - let _ = ecs.write_storage::().insert( - entity, - comp::CharacterState::Staggered(common::states::staggered::Data { - static_data: common::states::staggered::StaticData { - buildup_duration: Duration::from_millis(1000), - recover_duration: Duration::from_millis(1000), - knockback: Knockback::Away(50.0), - }, - timer: Duration::default(), - stage_section: common::states::utils::StageSection::Buildup, - was_wielded, - }), - ); - handle_knockback(server, entity, 50.0 * knockback_dir); - }, - PoiseState::KnockedDown => { - poise.reset(); - let _ = ecs.write_storage::().insert( - entity, - comp::CharacterState::Staggered(common::states::staggered::Data { - static_data: common::states::staggered::StaticData { - buildup_duration: Duration::from_millis(5000), - recover_duration: Duration::from_millis(250), - knockback: Knockback::Away(200.0), - }, - timer: Duration::default(), - stage_section: common::states::utils::StageSection::Buildup, - was_wielded, - }), - ); - handle_knockback(server, entity, 100.0 * knockback_dir); - }, - } + poise.change_by(change, knockback_dir); } } + pub fn handle_damage(server: &Server, entity: EcsEntity, change: HealthChange) { let ecs = &server.state.ecs(); if let Some(health) = ecs.write_storage::().get_mut(entity) { @@ -587,7 +509,7 @@ pub fn handle_land_on_ground(server: &Server, entity: EcsEntity, vel: Vec3) let change = damage.modify_damage(inventories.get(entity), None); let poise_change = poise_damage.modify_poise_damage(inventories.get(entity), None); health.change_by(change); - poise.change_by(poise_change); + poise.change_by(poise_change, Vec3::zero()); } } } @@ -662,29 +584,15 @@ pub fn handle_explosion( } else { 1.0 }; - ecs.write_resource::>() .push(Outcome::Explosion { pos, power: outcome_power, radius: explosion.radius, - is_attack: true, //explosion - //.effects - //.iter() - ////.any(|e| matches!(e, RadiusEffect::Entity(_, Effect::Damage(_)))), - //.any(|e| match e { - // RadiusEffect::Entity(_, effect_vec) => { - // effect_vec.iter().any(|f| { - // matches!( - // f, - // Effect::Damage(Damage { - // source: DamageSource::Healing, - // .. - // }) - // ) - // }) - // }, - //}), + is_attack: explosion + .effects + .iter() + .any(|e| matches!(e, RadiusEffect::Entity(_, Effect::Damage(_)))), reagent, }); let owner_entity = owner.and_then(|uid| { @@ -768,7 +676,7 @@ pub fn handle_explosion( .cast(); } }, - RadiusEffect::Entity(target, mut effects) => { + RadiusEffect::Entity(target, mut effect) => { for (entity_b, pos_b) in (&ecs.entities(), &ecs.read_storage::()).join() { // See if entities are in the same group @@ -802,19 +710,17 @@ pub fn handle_explosion( .map_or(false, |h| !h.is_dead); if is_alive { - for effect in effects.iter_mut() { - effect.modify_strength(strength); - server.state().apply_effect(entity_b, effect.clone(), owner); - // Apply energy change - if let Some(owner) = owner_entity { - if let Some(mut energy) = - ecs.write_storage::().get_mut(owner) - { - energy.change_by(EnergyChange { - amount: explosion.energy_regen as i32, - source: comp::EnergySource::HitEnemy, - }); - } + effect.modify_strength(strength); + server.state().apply_effect(entity_b, effect.clone(), owner); + // Apply energy change + if let Some(owner) = owner_entity { + if let Some(energy) = + ecs.write_storage::().get_mut(owner) + { + energy.change_by(EnergyChange { + amount: explosion.energy_regen as i32, + source: comp::EnergySource::HitEnemy, + }); } } } diff --git a/server/src/state_ext.rs b/server/src/state_ext.rs index fc4e10e28f..f5de034ca6 100644 --- a/server/src/state_ext.rs +++ b/server/src/state_ext.rs @@ -96,11 +96,13 @@ impl StateExt for State { .get_mut(entity) .map(|mut health| health.change_by(change)); }, - Effect::Poise(change) => { + Effect::PoiseChange(poise_damage) => { + let loadouts = self.ecs().read_storage::(); + let change = poise_damage.modify_poise_damage(loadouts.get(entity)); self.ecs() .write_storage::() .get_mut(entity) - .map(|poise| poise.change_by(change)); + .map(|poise| poise.change_by(change, Vec3::zero())); }, Effect::Buff(buff) => { self.ecs() diff --git a/server/src/sys/object.rs b/server/src/sys/object.rs index 7812aad09b..ae577b40e0 100644 --- a/server/src/sys/object.rs +++ b/server/src/sys/object.rs @@ -49,16 +49,20 @@ impl<'a> System<'a> for Sys { pos: pos.0, explosion: Explosion { effects: vec![ - RadiusEffect::Entity(None, vec![ + RadiusEffect::Entity( + None, Effect::Damage(Damage { source: DamageSource::Explosion, value: 500.0, }), - Effect::Poise(PoiseChange { - amount: -80, + ), + RadiusEffect::Entity( + None, + Effect::PoiseChange(PoiseChange { source: PoiseSource::Explosion, + amount: -100, }), - ]), + ), RadiusEffect::TerrainDestruction(4.0), ], radius: 12.0, @@ -79,16 +83,20 @@ impl<'a> System<'a> for Sys { pos: pos.0, explosion: Explosion { effects: vec![ - RadiusEffect::Entity(None, vec![ + RadiusEffect::Entity( + None, Effect::Damage(Damage { source: DamageSource::Explosion, value: 50.0, }), - Effect::Poise(PoiseChange { - amount: -30, + ), + RadiusEffect::Entity( + None, + Effect::PoiseChange(PoiseChange { source: PoiseSource::Explosion, + amount: -40, }), - ]), + ), RadiusEffect::TerrainDestruction(4.0), ], radius: 12.0, From 0f244bf84bb0a90b5926ebcff449efa3a3f9d4b2 Mon Sep 17 00:00:00 2001 From: jiminycrick Date: Wed, 16 Dec 2020 16:14:14 -0800 Subject: [PATCH 05/11] Made stunned state invulnerable to poise damage Fixing silly error for comp creation --- common/src/comp/poise.rs | 1 - common/src/states/behavior.rs | 4 ++-- common/sys/src/character_behavior.rs | 2 +- common/sys/src/stats.rs | 11 ++++++++--- server/src/events/entity_manipulation.rs | 10 +++++++--- server/src/state_ext.rs | 17 +++++++++++++---- server/src/sys/sentinel.rs | 6 ++++++ 7 files changed, 37 insertions(+), 14 deletions(-) diff --git a/common/src/comp/poise.rs b/common/src/comp/poise.rs index 7d9962e317..8e5e05c8a5 100644 --- a/common/src/comp/poise.rs +++ b/common/src/comp/poise.rs @@ -173,7 +173,6 @@ impl Poise { } pub fn change_by(&mut self, change: PoiseChange, impulse: Vec3) { - println!("Poise change: {:?}", change); self.current = ((self.current as i32 + change.amount).max(0) as u32).min(self.maximum); self.knockback = impulse; self.last_change = (0.0, PoiseChange { diff --git a/common/src/states/behavior.rs b/common/src/states/behavior.rs index 0ee227e3fe..775b494b3b 100644 --- a/common/src/states/behavior.rs +++ b/common/src/states/behavior.rs @@ -51,7 +51,7 @@ pub struct JoinData<'a> { pub controller: &'a Controller, pub inputs: &'a ControllerInputs, pub health: &'a Health, - pub poise: Option<&'a Poise>, + pub poise: &'a Poise, pub energy: &'a Energy, pub inventory: &'a Inventory, pub body: &'a Body, @@ -81,7 +81,7 @@ pub type JoinTuple<'a> = ( RestrictedMut<'a, Inventory>, &'a mut Controller, &'a Health, - Option<&'a Poise>, + &'a Poise, &'a Body, &'a PhysicsState, Option<&'a Attacking>, diff --git a/common/sys/src/character_behavior.rs b/common/sys/src/character_behavior.rs index c86b0a45e9..b5c17d1fac 100644 --- a/common/sys/src/character_behavior.rs +++ b/common/sys/src/character_behavior.rs @@ -120,7 +120,7 @@ impl<'a> System<'a> for Sys { &mut inventories.restrict_mut(), &mut controllers, &healths, - poises.maybe(), + &poises, &bodies, &physics_states, attacking_storage.maybe(), diff --git a/common/sys/src/stats.rs b/common/sys/src/stats.rs index e72dd5ccb1..68ede0ae91 100644 --- a/common/sys/src/stats.rs +++ b/common/sys/src/stats.rs @@ -190,7 +190,6 @@ impl<'a> System<'a> for Sys { entity, impulse: 5.0 * poise.knockback(), }); - //handle_knockback(server, entity, 5.0 * knockback_dir); }, PoiseState::Dazed => { poise.reset(); @@ -203,7 +202,10 @@ impl<'a> System<'a> for Sys { stage_section: common::states::utils::StageSection::Buildup, was_wielded, }); - //handle_knockback(server, entity, 10.0 * knockback_dir); + server_event_emitter.emit(ServerEvent::Knockback { + entity, + impulse: 10.0 * poise.knockback(), + }); }, PoiseState::KnockedDown => { poise.reset(); @@ -216,7 +218,10 @@ impl<'a> System<'a> for Sys { stage_section: common::states::utils::StageSection::Buildup, was_wielded, }); - //handle_knockback(server, entity, 10.0 * knockback_dir); + server_event_emitter.emit(ServerEvent::Knockback { + entity, + impulse: 10.0 * poise.knockback(), + }); }, } } diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index 6f14849597..a3be99aaf4 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -12,7 +12,7 @@ use common::{ combat, comp::{ self, aura, buff, - chat::{KillSource, KillType}, + chat::{KillSource, KillType}, CharacterState, object, Alignment, Body, Energy, EnergyChange, Group, Health, HealthChange, HealthSource, Inventory, Item, Player, Poise, PoiseChange, PoiseSource, Pos, Stats, }, @@ -41,8 +41,12 @@ pub fn handle_poise( knockback_dir: Vec3, ) { let ecs = &server.state.ecs(); - if let Some(poise) = ecs.write_storage::().get_mut(entity) { - poise.change_by(change, knockback_dir); + if let Some(character_state) = ecs.read_storage::().get(entity) { + if !character_state.is_stunned() { + if let Some(poise) = ecs.write_storage::().get_mut(entity) { + poise.change_by(change, knockback_dir); + } + } } } diff --git a/server/src/state_ext.rs b/server/src/state_ext.rs index f5de034ca6..7b1b047e4f 100644 --- a/server/src/state_ext.rs +++ b/server/src/state_ext.rs @@ -99,10 +99,19 @@ impl StateExt for State { Effect::PoiseChange(poise_damage) => { let loadouts = self.ecs().read_storage::(); let change = poise_damage.modify_poise_damage(loadouts.get(entity)); - self.ecs() - .write_storage::() - .get_mut(entity) - .map(|poise| poise.change_by(change, Vec3::zero())); + // Check to make sure the entity is not already stunned + if let Some(character_state) = self + .ecs() + .read_storage::() + .get(entity) + { + if !character_state.is_stunned() { + self.ecs() + .write_storage::() + .get_mut(entity) + .map(|poise| poise.change_by(change, Vec3::zero())); + } + } }, Effect::Buff(buff) => { self.ecs() diff --git a/server/src/sys/sentinel.rs b/server/src/sys/sentinel.rs index 9bfe4b6451..01ffd0b25d 100644 --- a/server/src/sys/sentinel.rs +++ b/server/src/sys/sentinel.rs @@ -108,6 +108,10 @@ impl<'a> TrackedComps<'a> { .get(entity) .cloned() .map(|c| comps.push(c.into())); + self.poise + .get(entity) + .cloned() + .map(|c| comps.push(c.into())); self.can_build .get(entity) .cloned() @@ -214,6 +218,7 @@ impl<'a> ReadTrackers<'a> { .with_component(&comps.uid, &*self.auras, &comps.auras, filter) .with_component(&comps.uid, &*self.energy, &comps.energy, filter) .with_component(&comps.uid, &*self.health, &comps.health, filter) + .with_component(&comps.uid, &*self.poise, &comps.poise, filter) .with_component(&comps.uid, &*self.can_build, &comps.can_build, filter) .with_component( &comps.uid, @@ -282,6 +287,7 @@ fn record_changes(comps: &TrackedComps, trackers: &mut WriteTrackers) { trackers.auras.record_changes(&comps.auras); trackers.energy.record_changes(&comps.energy); trackers.health.record_changes(&comps.health); + trackers.poise.record_changes(&comps.poise); trackers.can_build.record_changes(&comps.can_build); trackers.light_emitter.record_changes(&comps.light_emitter); trackers.item.record_changes(&comps.item); From 29732bb763f8fdf88e72a0d8d1bf7f876677e5d4 Mon Sep 17 00:00:00 2001 From: jshipsey Date: Fri, 18 Dec 2020 21:05:39 -0500 Subject: [PATCH 06/11] starting stun anim stagger anim, mirroring, bettern walk anim wielding with stuns/stagger Knockback fix Added Poise documentation/comments --- 4 | 286 ----------------------- common/src/comp/beam.rs | 6 +- common/src/comp/character_state.rs | 2 + common/src/comp/poise.rs | 67 ++++-- common/src/states/staggered.rs | 2 +- common/src/states/stunned.rs | 6 +- common/sys/src/melee.rs | 13 +- common/sys/src/stats.rs | 10 +- server/src/events/entity_manipulation.rs | 38 +-- voxygen/anim/src/character/mod.rs | 6 +- voxygen/anim/src/character/run.rs | 44 ++-- voxygen/anim/src/character/staggered.rs | 213 +++++++++++++++++ voxygen/anim/src/character/stunned.rs | 177 ++++++++++++++ voxygen/anim/src/dyn_lib.rs | 3 +- voxygen/src/scene/figure/mod.rs | 56 +++++ 15 files changed, 560 insertions(+), 369 deletions(-) delete mode 100644 4 create mode 100644 voxygen/anim/src/character/staggered.rs create mode 100644 voxygen/anim/src/character/stunned.rs diff --git a/4 b/4 deleted file mode 100644 index 628b6390ea..0000000000 --- a/4 +++ /dev/null @@ -1,286 +0,0 @@ -use crate::{ - comp::{Attacking, CharacterState, EnergyChange, EnergySource, StateUpdate}, - states::{ - behavior::{CharacterBehavior, JoinData}, - utils::*, - }, - Damage, DamageSource, GroupTarget, Knockback, -}; -use serde::{Deserialize, Serialize}; -use std::time::Duration; - -#[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] -pub struct Stage { - /// Specifies which stage the combo attack is in - pub stage: u32, - /// Initial damage of stage - pub base_damage: u32, - /// Max damage of stage - pub max_damage: u32, - /// Damage scaling per combo - pub damage_increase: u32, - /// Initial poise damage of stage - pub base_poise_damage: u32, - /// Knockback of stage - pub knockback: f32, - /// Range of attack - pub range: f32, - /// Angle of attack - pub angle: f32, - /// Initial buildup duration of stage (how long until state can deal damage) - pub base_buildup_duration: T, - /// Duration of stage spent in swing (controls animation stuff, and can also - /// be used to handle movement separately to buildup) - pub base_swing_duration: T, - /// Initial recover duration of stage (how long until character exits state) - pub base_recover_duration: T, - /// How much forward movement there is in the swing portion of the stage - pub forward_movement: f32, -} - -impl Stage { - pub fn to_duration(self) -> Stage { - Stage:: { - stage: self.stage, - base_damage: self.base_damage, - max_damage: self.max_damage, - damage_increase: self.damage_increase, - base_poise_damage: self.base_poise_damage, - knockback: self.knockback, - range: self.range, - angle: self.angle, - base_buildup_duration: Duration::from_millis(self.base_buildup_duration), - base_swing_duration: Duration::from_millis(self.base_swing_duration), - base_recover_duration: Duration::from_millis(self.base_recover_duration), - forward_movement: self.forward_movement, - } - } - - pub fn adjusted_by_stats(mut self, power: f32, speed: f32) -> Self { - self.base_damage = (self.base_damage as f32 * power) as u32; - self.max_damage = (self.max_damage as f32 * power) as u32; - self.damage_increase = (self.damage_increase as f32 * power) as u32; - self.base_buildup_duration = (self.base_buildup_duration as f32 / speed) as u64; - self.base_swing_duration = (self.base_swing_duration as f32 / speed) as u64; - self.base_recover_duration = (self.base_recover_duration as f32 / speed) as u64; - self - } -} - -#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] -/// Separated out to condense update portions of character state -pub struct StaticData { - /// Indicates number of stages in combo - pub num_stages: u32, - /// Data for each stage - pub stage_data: Vec>, - /// Initial energy gain per strike - pub initial_energy_gain: u32, - /// Max energy gain per strike - pub max_energy_gain: u32, - /// Energy gain increase per combo - pub energy_increase: u32, - /// (100% - speed_increase) is percentage speed increases from current to - /// max when combo increases - pub speed_increase: f32, - /// (100% + max_speed_increase) is the max attack speed - pub max_speed_increase: f32, - /// Whether the state can be interrupted by other abilities - pub is_interruptible: bool, - /// What key is used to press ability - pub ability_key: AbilityKey, -} -/// A sequence of attacks that can incrementally become faster and more -/// damaging. -#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] -pub struct Data { - /// Struct containing data that does not change over the course of the - /// character state - pub static_data: StaticData, - /// Indicates what stage the combo is in - pub stage: u32, - /// Number of consecutive strikes - pub combo: u32, - /// Timer for each stage - pub timer: Duration, - /// Checks what section a stage is in - pub stage_section: StageSection, - /// Whether the state should go onto the next stage - pub next_stage: bool, -} - -impl CharacterBehavior for Data { - fn behavior(&self, data: &JoinData) -> StateUpdate { - let mut update = StateUpdate::from(data); - - handle_orientation(data, &mut update, 1.0); - handle_move(data, &mut update, 0.3); - if !ability_key_is_pressed(data, self.static_data.ability_key) { - handle_interrupt(data, &mut update, self.static_data.is_interruptible); - if let CharacterState::Roll(roll) = &mut update.character { - roll.was_combo = Some((self.stage, self.combo)); - } - match update.character { - CharacterState::ComboMelee(_) => {}, - _ => { - return update; - }, - } - } - - let stage_index = (self.stage - 1) as usize; - - let speed_modifer = 1.0 - + self.static_data.max_speed_increase - * (1.0 - self.static_data.speed_increase.powi(self.combo as i32)); - - match self.stage_section { - StageSection::Buildup => { - if self.timer < self.static_data.stage_data[stage_index].base_buildup_duration { - // Build up - update.character = CharacterState::ComboMelee(Data { - static_data: self.static_data.clone(), - timer: self - .timer - .checked_add(Duration::from_secs_f32(data.dt.0 * speed_modifer)) - .unwrap_or_default(), - ..*self - }); - } else { - // Transitions to swing section of stage - update.character = CharacterState::ComboMelee(Data { - static_data: self.static_data.clone(), - timer: Duration::default(), - stage_section: StageSection::Swing, - ..*self - }); - - // Hit attempt - let damage = self.static_data.stage_data[stage_index].max_damage.min( - self.static_data.stage_data[stage_index].base_damage - + self.combo / self.static_data.num_stages - * self.static_data.stage_data[stage_index].damage_increase, - ); - let poise_damage = self.static_data.stage_data[stage_index].base_poise_damage; - data.updater.insert(data.entity, Attacking { - damages: vec![(Some(GroupTarget::OutOfGroup), Damage { - source: DamageSource::Melee, - value: damage as f32, - poise_damage: poise_damage as f32, - })], - range: self.static_data.stage_data[stage_index].range, - max_angle: self.static_data.stage_data[stage_index].angle.to_radians(), - applied: false, - hit_count: 0, - knockback: Knockback::Away( - self.static_data.stage_data[stage_index].knockback, - ), - }); - } - }, - StageSection::Swing => { - if self.timer < self.static_data.stage_data[stage_index].base_swing_duration { - // Forward movement - handle_forced_movement( - data, - &mut update, - ForcedMovement::Forward { - strength: self.static_data.stage_data[stage_index].forward_movement, - }, - 0.3, - ); - - // Swings - update.character = CharacterState::ComboMelee(Data { - static_data: self.static_data.clone(), - timer: self - .timer - .checked_add(Duration::from_secs_f32(data.dt.0 * speed_modifer)) - .unwrap_or_default(), - ..*self - }); - } else { - // Transitions to recover section of stage - update.character = CharacterState::ComboMelee(Data { - static_data: self.static_data.clone(), - timer: Duration::default(), - stage_section: StageSection::Recover, - ..*self - }); - } - }, - StageSection::Recover => { - if self.timer < self.static_data.stage_data[stage_index].base_recover_duration { - // Recovers - if ability_key_is_pressed(data, self.static_data.ability_key) { - // Checks if state will transition to next stage after recover - update.character = CharacterState::ComboMelee(Data { - static_data: self.static_data.clone(), - timer: self - .timer - .checked_add(Duration::from_secs_f32(data.dt.0 * speed_modifer)) - .unwrap_or_default(), - next_stage: true, - ..*self - }); - } else { - update.character = CharacterState::ComboMelee(Data { - static_data: self.static_data.clone(), - timer: self - .timer - .checked_add(Duration::from_secs_f32(data.dt.0 * speed_modifer)) - .unwrap_or_default(), - ..*self - }); - } - } else if self.next_stage { - // Transitions to buildup section of next stage - update.character = CharacterState::ComboMelee(Data { - static_data: self.static_data.clone(), - stage: (self.stage % self.static_data.num_stages) + 1, - timer: Duration::default(), - stage_section: StageSection::Buildup, - next_stage: false, - ..*self - }); - } else { - // Done - update.character = CharacterState::Wielding; - // Make sure attack component is removed - data.updater.remove::(data.entity); - } - }, - _ => { - // If it somehow ends up in an incorrect stage section - update.character = CharacterState::Wielding; - // Make sure attack component is removed - data.updater.remove::(data.entity); - }, - } - - // Grant energy on successful hit - if let Some(attack) = data.attacking { - if attack.applied && attack.hit_count > 0 { - let energy = self.static_data.max_energy_gain.min( - self.static_data.initial_energy_gain - + self.combo * self.static_data.energy_increase, - ) as i32; - update.character = CharacterState::ComboMelee(Data { - static_data: self.static_data.clone(), - stage: self.stage, - combo: self.combo + 1, - timer: self.timer, - stage_section: self.stage_section, - next_stage: self.next_stage, - }); - data.updater.remove::(data.entity); - update.energy.change_by(EnergyChange { - amount: energy, - source: EnergySource::HitEnemy, - }); - } - } - - update - } -} diff --git a/common/src/comp/beam.rs b/common/src/comp/beam.rs index 9527c17302..a9cce8b74d 100644 --- a/common/src/comp/beam.rs +++ b/common/src/comp/beam.rs @@ -1,8 +1,4 @@ -use crate::{ - comp::{PoiseChange, PoiseSource}, - uid::Uid, - Damage, GroupTarget, -}; +use crate::{comp::PoiseChange, uid::Uid, Damage, GroupTarget}; use serde::{Deserialize, Serialize}; use specs::{Component, DerefFlaggedStorage}; use specs_idvs::IdvStorage; diff --git a/common/src/comp/character_state.rs b/common/src/comp/character_state.rs index 125ca1e4e0..f8cd0fd244 100644 --- a/common/src/comp/character_state.rs +++ b/common/src/comp/character_state.rs @@ -139,6 +139,8 @@ impl CharacterState { | CharacterState::RepeaterRanged(_) | CharacterState::Shockwave(_) | CharacterState::BasicBeam(_) + | CharacterState::Stunned(_) + | CharacterState::Staggered(_) | CharacterState::Wielding ) } diff --git a/common/src/comp/poise.rs b/common/src/comp/poise.rs index 8e5e05c8a5..e7ffb62096 100644 --- a/common/src/comp/poise.rs +++ b/common/src/comp/poise.rs @@ -4,20 +4,19 @@ use specs::{Component, FlaggedStorage}; use specs_idvs::IdvStorage; use vek::*; +/// A change in the poise component. Stores the amount as a signed +/// integer to allow for added or removed poise. Also has a field to +/// label where the poise change came from. #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] pub struct PoiseChange { + /// Value of the change in poise pub amount: i32, + /// Source of change in poise pub source: PoiseSource, } impl PoiseChange { - pub fn set_zero(self) -> Self { - Self { - amount: 0, - source: self.source, - } - } - + /// Alters poise damage as a result of armor poise damage reduction pub fn modify_poise_damage(self, loadout: Option<&Loadout>) -> PoiseChange { let mut poise_damage = self.amount as f32; match self.source { @@ -77,6 +76,7 @@ impl PoiseChange { } } +/// Sources of poise change #[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize, Deserialize)] pub enum PoiseSource { LevelUp, @@ -91,17 +91,20 @@ pub enum PoiseSource { Other, } +/// Poise component #[derive(Clone, Copy, Debug, Serialize, Deserialize)] pub struct Poise { + /// Base poise amount for this entity base_max: u32, + /// Poise of entity at any given moment current: u32, + /// Maximum poise of entity at a given time maximum: u32, + /// Knockback direction of last change, for use as an effect in sys/stats.rs knockback: Vec3, + /// Last poise change, storing time since last change pub last_change: (f64, PoiseChange), - pub is_interrupted: bool, - pub is_stunned: bool, - pub is_dazed: bool, - pub is_knockeddown: bool, + /// Rate of poise regeneration per tick. Starts at zero and accelerates. pub regen_rate: f32, } @@ -116,35 +119,41 @@ impl Default for Poise { amount: 0, source: PoiseSource::Revive, }), - is_interrupted: false, - is_stunned: false, - is_dazed: false, - is_knockeddown: false, regen_rate: 0.0, } } } +/// States to define effects of a poise change #[derive(Clone, Copy, Debug, Serialize, Deserialize)] pub enum PoiseState { + /// No effect applied Normal, + /// Poise reset, and target briefly stunned Interrupted, + /// Poise reset, target stunned and knocked back horizontally Stunned, + /// Poise reset, target staggered Dazed, + /// Poise reset, target staggered and knocked back further KnockedDown, } impl Poise { + /// Creates a new poise struct based on the body it is being assigned to pub fn new(body: Body) -> Self { let mut poise = Poise::default(); - poise.update_max_poise(Some(body)); - poise.set_to(poise.maximum(), PoiseSource::Revive); + poise.update_base_max(Some(body)); + poise.set_maximum(poise.base_max); + poise.set_to(poise.maximum, PoiseSource::Revive); poise } + /// Returns knockback as a Vec3 pub fn knockback(&self) -> Vec3 { self.knockback } + /// Defines the poise states based on fraction of maximum poise pub fn poise_state(&self) -> PoiseState { if self.current >= 8 * self.maximum / 10 { PoiseState::Normal @@ -159,10 +168,17 @@ impl Poise { } } + /// Gets the current poise value pub fn current(&self) -> u32 { self.current } + /// Gets the maximum poise value pub fn maximum(&self) -> u32 { self.maximum } + /// Gets the base_max value + pub fn base_max(&self) -> u32 { self.base_max } + + /// Sets the poise value to a provided value. First cuts off the value + /// at the maximum. In most cases change_by() should be used. pub fn set_to(&mut self, amount: u32, cause: PoiseSource) { let amount = amount.min(self.maximum); self.last_change = (0.0, PoiseChange { @@ -172,6 +188,7 @@ impl Poise { self.current = amount; } + /// Changes the current poise due to an in-game effect. pub fn change_by(&mut self, change: PoiseChange, impulse: Vec3) { self.current = ((self.current as i32 + change.amount).max(0) as u32).min(self.maximum); self.knockback = impulse; @@ -181,32 +198,32 @@ impl Poise { }); } + /// Resets current value to maximum pub fn reset(&mut self) { self.current = self.maximum; } + /// Sets the maximum and updates the current value to max out at the new + /// maximum pub fn set_maximum(&mut self, amount: u32) { self.maximum = amount; self.current = self.current.min(self.maximum); } + /// Sets the `Poise` base_max fn set_base_max(&mut self, amount: u32) { self.base_max = amount; self.current = self.current.min(self.maximum); } + /// Resets the maximum to the base_max. Example use would be a potion + /// wearing off pub fn reset_max(&mut self) { self.maximum = self.base_max; } - pub fn update_max_poise(&mut self, body: Option) { + /// Sets the base_max based on the entity `Body` + pub fn update_base_max(&mut self, body: Option) { if let Some(body) = body { self.set_base_max(body.base_poise()); - self.set_maximum(body.base_poise()); } } - - pub fn with_max_poise(mut self, amount: u32) -> Self { - self.maximum = amount; - self.current = amount; - self - } } impl Component for Poise { diff --git a/common/src/states/staggered.rs b/common/src/states/staggered.rs index af6049f85d..34dec76b76 100644 --- a/common/src/states/staggered.rs +++ b/common/src/states/staggered.rs @@ -30,7 +30,7 @@ pub struct Data { impl CharacterBehavior for Data { fn behavior(&self, data: &JoinData) -> StateUpdate { - println!("staggered"); + //println!("staggered"); let mut update = StateUpdate::from(data); match self.stage_section { StageSection::Buildup => { diff --git a/common/src/states/stunned.rs b/common/src/states/stunned.rs index 337249ba1b..2e07dcd8f4 100644 --- a/common/src/states/stunned.rs +++ b/common/src/states/stunned.rs @@ -13,6 +13,8 @@ pub struct StaticData { pub buildup_duration: Duration, /// How long the state has until exiting pub recover_duration: Duration, + /// Fraction of normal movement speed allowed during the state + pub movement_speed: f32, } #[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] @@ -30,8 +32,10 @@ pub struct Data { impl CharacterBehavior for Data { fn behavior(&self, data: &JoinData) -> StateUpdate { - println!("stunned"); let mut update = StateUpdate::from(data); + + handle_move(data, &mut update, self.static_data.movement_speed); + match self.stage_section { StageSection::Buildup => { if self.timer < self.static_data.buildup_duration { diff --git a/common/sys/src/melee.rs b/common/sys/src/melee.rs index 8dd8d4a62c..fd9a31a63c 100644 --- a/common/sys/src/melee.rs +++ b/common/sys/src/melee.rs @@ -101,9 +101,6 @@ impl<'a> System<'a> for Sys { // Check if entity is dodging let is_dodge = char_state_b_maybe.map_or(false, |c_s| c_s.is_melee_dodge()); - // Check if entity is stunned - let is_stunned = char_state_b_maybe.map_or(false, |c_s| c_s.is_stunned()); - // Check if it is a hit if entity != b && !health_b.is_dead @@ -132,12 +129,8 @@ impl<'a> System<'a> for Sys { } } - let change = damage.modify_damage(inventories.get(b), Some(*uid)); - let poise_change = if is_stunned { - poise_change.set_zero() - } else { - poise_change.modify_poise_damage(inventories.get(b)) - }; + let change = damage.modify_damage(loadouts.get(b), Some(*uid)); + let poise_change = poise_change.modify_poise_damage(inventories.get(b)); server_emitter.emit(ServerEvent::Damage { entity: b, change }); // Apply bleeding buff on melee hits with 10% chance @@ -166,7 +159,7 @@ impl<'a> System<'a> for Sys { server_emitter.emit(ServerEvent::PoiseChange { entity: b, change: poise_change, - kb_dir: *Dir::slerp(kb_dir, Dir::new(Vec3::unit_z()), 0.5), + kb_dir: *kb_dir, }); attack.hit_count += 1; diff --git a/common/sys/src/stats.rs b/common/sys/src/stats.rs index 68ede0ae91..1e6aeaaa1e 100644 --- a/common/sys/src/stats.rs +++ b/common/sys/src/stats.rs @@ -167,8 +167,9 @@ impl<'a> System<'a> for Sys { poise.reset(); *character_state = CharacterState::Stunned(common::states::stunned::Data { static_data: common::states::stunned::StaticData { - buildup_duration: Duration::from_millis(100), - recover_duration: Duration::from_millis(100), + buildup_duration: Duration::from_millis(150), + recover_duration: Duration::from_millis(150), + movement_speed: 0.3, }, timer: Duration::default(), stage_section: common::states::utils::StageSection::Buildup, @@ -181,6 +182,7 @@ impl<'a> System<'a> for Sys { static_data: common::states::stunned::StaticData { buildup_duration: Duration::from_millis(500), recover_duration: Duration::from_millis(500), + movement_speed: 0.1, }, timer: Duration::default(), stage_section: common::states::utils::StageSection::Buildup, @@ -211,8 +213,8 @@ impl<'a> System<'a> for Sys { poise.reset(); *character_state = CharacterState::Staggered(common::states::staggered::Data { static_data: common::states::staggered::StaticData { - buildup_duration: Duration::from_millis(5000), - recover_duration: Duration::from_millis(250), + buildup_duration: Duration::from_millis(3000), + recover_duration: Duration::from_millis(500), }, timer: Duration::default(), stage_section: common::states::utils::StageSection::Buildup, diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index a3be99aaf4..151548b7fd 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -12,9 +12,9 @@ use common::{ combat, comp::{ self, aura, buff, - chat::{KillSource, KillType}, CharacterState, - object, Alignment, Body, Energy, EnergyChange, Group, Health, HealthChange, HealthSource, - Inventory, Item, Player, Poise, PoiseChange, PoiseSource, Pos, Stats, + chat::{KillSource, KillType}, + object, Alignment, Body, CharacterState, Energy, EnergyChange, Group, Health, HealthChange, + HealthSource, Inventory, Item, Player, Poise, PoiseChange, PoiseSource, Pos, Stats, }, effect::Effect, lottery::Lottery, @@ -42,6 +42,7 @@ pub fn handle_poise( ) { let ecs = &server.state.ecs(); if let Some(character_state) = ecs.read_storage::().get(entity) { + // Entity is invincible to poise change during stunned/staggered character state if !character_state.is_stunned() { if let Some(poise) = ecs.write_storage::().get_mut(entity) { poise.change_by(change, knockback_dir); @@ -74,7 +75,7 @@ pub fn handle_knockback(server: &Server, entity: EcsEntity, impulse: Vec3) } let mut velocities = ecs.write_storage::(); if let Some(vel) = velocities.get_mut(entity) { - vel.0 = impulse; + vel.0 += impulse; } if let Some(client) = clients.get(entity) { client.send_fallible(ServerGeneral::Knockback(impulse)); @@ -435,17 +436,26 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc }; let pos = state.ecs().read_storage::().get(entity).cloned(); + let vel = state.ecs().read_storage::().get(entity).cloned(); if let Some(pos) = pos { - let _ = state - .create_object(comp::Pos(pos.0 + Vec3::unit_z() * 0.25), match old_body { - Some(common::comp::Body::Humanoid(_)) => object::Body::Pouch, - Some(common::comp::Body::Golem(_)) => object::Body::Chest, - Some(common::comp::Body::BipedLarge(_)) - | Some(common::comp::Body::QuadrupedLow(_)) => object::Body::MeatDrop, - _ => object::Body::Steak, - }) - .with(item) - .build(); + if let Some(vel) = vel { + let _ = state + .create_object(comp::Pos(pos.0 + Vec3::unit_z() * 0.25), match old_body { + Some(common::comp::Body::Humanoid(_)) => object::Body::Pouch, + Some(common::comp::Body::Golem(_)) => object::Body::Chest, + Some(common::comp::Body::BipedLarge(_)) + | Some(common::comp::Body::QuadrupedLow(_)) => object::Body::MeatDrop, + _ => object::Body::Steak, + }) + .with(vel) + .with(item) + .build(); + } else { + error!( + ?entity, + "Entity doesn't have a velocity, no bag is being dropped" + ) + } } else { error!( ?entity, diff --git a/voxygen/anim/src/character/mod.rs b/voxygen/anim/src/character/mod.rs index 437a65b489..8999c390bd 100644 --- a/voxygen/anim/src/character/mod.rs +++ b/voxygen/anim/src/character/mod.rs @@ -22,7 +22,9 @@ pub mod sit; pub mod sneak; pub mod spin; pub mod spinmelee; +pub mod staggered; pub mod stand; +pub mod stunned; pub mod swim; pub mod swimwield; pub mod wield; @@ -36,8 +38,8 @@ pub use self::{ jump::JumpAnimation, leapmelee::LeapAnimation, repeater::RepeaterAnimation, roll::RollAnimation, run::RunAnimation, shockwave::ShockwaveAnimation, shoot::ShootAnimation, sit::SitAnimation, sneak::SneakAnimation, spin::SpinAnimation, spinmelee::SpinMeleeAnimation, - stand::StandAnimation, swim::SwimAnimation, swimwield::SwimWieldAnimation, - wield::WieldAnimation, + staggered::StaggeredAnimation, stand::StandAnimation, stunned::StunnedAnimation, + swim::SwimAnimation, swimwield::SwimWieldAnimation, wield::WieldAnimation, }; use super::{make_bone, vek::*, FigureBoneData, Skeleton}; use common::comp; diff --git a/voxygen/anim/src/character/run.rs b/voxygen/anim/src/character/run.rs index 7920070ff3..8b96ea838f 100644 --- a/voxygen/anim/src/character/run.rs +++ b/voxygen/anim/src/character/run.rs @@ -123,15 +123,19 @@ impl Animation for RunAnimation { * Quaternion::rotation_x(head_look.y + 0.45 * speednorm); next.head.scale = Vec3::one() * s_a.head_scale; - next.chest.position = Vec3::new(0.0, s_a.chest.0, s_a.chest.1 + 1.0 + shortalt * -0.8); + next.chest.position = Vec3::new( + 0.0, + s_a.chest.0, + s_a.chest.1 + 1.0 * speednorm + shortalt * -0.8, + ); next.chest.orientation = Quaternion::rotation_z(short * 0.06 + tilt * -0.6) * Quaternion::rotation_y(tilt * 1.6) * Quaternion::rotation_x( - impact * 0.06 + shortalter * 0.035 + speed * -0.07 + (tilt.abs()), + impact * 0.06 + shortalter * 0.035 + speednorm * -0.5 + (tilt.abs()), ); next.belt.position = Vec3::new(0.0, 0.25 + s_a.belt.0, 0.25 + s_a.belt.1); - next.belt.orientation = Quaternion::rotation_x(0.1) + next.belt.orientation = Quaternion::rotation_x(0.1 * speednorm) * Quaternion::rotation_z(short * 0.1 + tilt * -1.1) * Quaternion::rotation_y(tilt * 0.5); @@ -140,34 +144,36 @@ impl Animation for RunAnimation { Quaternion::rotation_x(-0.05 + short * 0.02 + noisea * 0.02 + noiseb * 0.02); next.shorts.position = Vec3::new(0.0, 0.65 + s_a.shorts.0, 0.65 + s_a.shorts.1); - next.shorts.orientation = Quaternion::rotation_x(0.2) + next.shorts.orientation = Quaternion::rotation_x(0.2 * speednorm) * Quaternion::rotation_z(short * 0.25 + tilt * -1.5) * Quaternion::rotation_y(tilt * 0.7); next.hand_l.position = Vec3::new( - -s_a.hand.0 + foothorir * -1.3, - 3.0 + s_a.hand.1 + foothorir * -7.0 * speednorm, - 1.5 + s_a.hand.2 - foothorir * 5.5 * speednorm, + -s_a.hand.0 + foothorir * -1.3 * speednorm, + 3.0 * speednorm + s_a.hand.1 + foothorir * -7.0 * speednorm, + 1.5 * speednorm + s_a.hand.2 - foothorir * 5.5 * speednorm, ); - next.hand_l.orientation = Quaternion::rotation_x(0.6 + (footrotr * -1.2) * speednorm) - * Quaternion::rotation_y(footrotr * 0.4); + next.hand_l.orientation = + Quaternion::rotation_x(0.6 * speednorm + (footrotr * -1.2) * speednorm) + * Quaternion::rotation_y(footrotr * 0.4 * speednorm); next.hand_r.position = Vec3::new( - s_a.hand.0 + foothoril * 1.3, - 3.0 + s_a.hand.1 + foothoril * -7.0 * speednorm, - 1.5 + s_a.hand.2 - foothoril * 5.5 * speednorm, + s_a.hand.0 + foothoril * 1.3 * speednorm, + 3.0 * speednorm + s_a.hand.1 + foothoril * -7.0 * speednorm, + 1.5 * speednorm + s_a.hand.2 - foothoril * 5.5 * speednorm, ); - next.hand_r.orientation = Quaternion::rotation_x(0.6 + (footrotl * -1.2) * speednorm) - * Quaternion::rotation_y(footrotl * -0.4); + next.hand_r.orientation = + Quaternion::rotation_x(0.6 * speednorm + (footrotl * -1.2) * speednorm) + * Quaternion::rotation_y(footrotl * -0.4 * speednorm); // next.foot_l.position = Vec3::new( -s_a.foot.0 + footstrafel * sideabs * 3.0 + tilt * -2.0, s_a.foot.1 - + (1.0 - sideabs) * (-1.5 + foothoril * -10.5 * speednorm) + + (1.0 - sideabs) * (-1.5 * speednorm + foothoril * -10.5 * speednorm) + (direction * 5.0).max(0.0), s_a.foot.2 - + (1.0 - sideabs) * (2.0 + ((footvertl * -2.1 * speednorm).max(-1.0))) + + (1.0 - sideabs) * (2.0 * speednorm + ((footvertl * -2.1 * speednorm).max(-1.0))) + side * ((footvertsl * 1.5).max(-1.0)), ); next.foot_l.orientation = Quaternion::rotation_x( @@ -179,10 +185,10 @@ impl Animation for RunAnimation { next.foot_r.position = Vec3::new( s_a.foot.0 + footstrafer * sideabs * 3.0 + tilt * -2.0, s_a.foot.1 - + (1.0 - sideabs) * (-1.5 + foothorir * -10.5 * speednorm) + + (1.0 - sideabs) * (-1.5 * speednorm + foothorir * -10.5 * speednorm) + (direction * 5.0).max(0.0), s_a.foot.2 - + (1.0 - sideabs) * (2.0 + ((footvertr * -2.1 * speednorm).max(-1.0))) + + (1.0 - sideabs) * (2.0 * speednorm + ((footvertr * -2.1 * speednorm).max(-1.0))) + side * ((footvertsr * -1.5).max(-1.0)), ); next.foot_r.orientation = Quaternion::rotation_x( @@ -253,7 +259,7 @@ impl Animation for RunAnimation { next.lantern.scale = Vec3::one() * 0.65; next.hold.scale = Vec3::one() * 0.0; - next.torso.position = Vec3::new(0.0, -0.3, 0.0) * s_a.scaler; + next.torso.position = Vec3::new(0.0, 0.0, 0.0) * s_a.scaler; next.torso.scale = Vec3::one() / 11.0 * s_a.scaler; next.second.scale = match ( diff --git a/voxygen/anim/src/character/staggered.rs b/voxygen/anim/src/character/staggered.rs new file mode 100644 index 0000000000..b054abf480 --- /dev/null +++ b/voxygen/anim/src/character/staggered.rs @@ -0,0 +1,213 @@ +use super::{ + super::{vek::*, Animation}, + CharacterSkeleton, SkeletonAttr, +}; +use common::{comp::item::ToolKind, states::utils::StageSection}; + +pub struct StaggeredAnimation; + +impl Animation for StaggeredAnimation { + type Dependency = ( + Option, + Option, + f32, + f64, + Option, + f64, + bool, + ); + type Skeleton = CharacterSkeleton; + + #[cfg(feature = "use-dyn-lib")] + const UPDATE_FN: &'static [u8] = b"character_staggered\0"; + + #[cfg_attr(feature = "be-dyn-lib", export_name = "character_staggered")] + #[allow(clippy::approx_constant)] // TODO: Pending review in #587 + fn update_skeleton_inner( + skeleton: &Self::Skeleton, + ( + active_tool_kind, + _second_tool_kind, + _velocity, + global_time, + stage_section, + timer, + wield_status, + ): Self::Dependency, + anim_time: f64, + rate: &mut f32, + s_a: &SkeletonAttr, + ) -> Self::Skeleton { + *rate = 1.0; + let mut next = (*skeleton).clone(); + + let (movement1base, movement2) = match stage_section { + Some(StageSection::Buildup) => ((anim_time as f32).powf(0.25), 0.0), + Some(StageSection::Recover) => (1.0, (anim_time as f32).powf(4.0)), + _ => (0.0, 0.0), + }; + let pullback = 1.0 - movement2; + let subtract = global_time - timer; + let check = subtract - subtract.trunc(); + let mirror = (check - 0.5).signum() as f32; + let movement1 = movement1base * pullback * mirror; + let movement1abs = movement1base * pullback; + + next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1); + next.head.orientation = + Quaternion::rotation_x(movement1abs * -0.2) * Quaternion::rotation_z(movement1 * 0.3); + next.shorts.orientation = + Quaternion::rotation_x(movement1abs * 0.2) * Quaternion::rotation_z(movement1 * -0.3); + next.belt.orientation = + Quaternion::rotation_x(movement1abs * 0.1) * Quaternion::rotation_z(movement1 * -0.2); + next.shorts.position = Vec3::new(0.0, s_a.shorts.0 + movement1abs * 1.0, s_a.shorts.1); + next.chest.position = Vec3::new(0.0, s_a.chest.0, s_a.chest.1 + movement1abs * -4.0); + next.chest.orientation = + Quaternion::rotation_x(movement1abs * -0.1) * Quaternion::rotation_z(movement1 * 1.0); + if wield_status { + next.main.position = Vec3::new(0.0, 0.0, 0.0); + next.main.orientation = Quaternion::rotation_x(0.0); + match active_tool_kind { + Some(ToolKind::Sword) => { + next.hand_l.position = Vec3::new(s_a.shl.0, s_a.shl.1, s_a.shl.2); + next.hand_l.orientation = + Quaternion::rotation_x(s_a.shl.3) * Quaternion::rotation_y(s_a.shl.4); + next.hand_r.position = Vec3::new(s_a.shr.0, s_a.shr.1, s_a.shr.2); + next.hand_r.orientation = + Quaternion::rotation_x(s_a.shr.3) * Quaternion::rotation_y(s_a.shr.4); + + next.control.position = Vec3::new(s_a.sc.0, s_a.sc.1, s_a.sc.2); + next.control.orientation = Quaternion::rotation_x(s_a.sc.3); + }, + Some(ToolKind::Axe) => { + next.hand_l.position = Vec3::new(s_a.ahl.0, s_a.ahl.1, s_a.ahl.2); + next.hand_l.orientation = + Quaternion::rotation_x(s_a.ahl.3) * Quaternion::rotation_y(s_a.ahl.4); + next.hand_r.position = Vec3::new(s_a.ahr.0, s_a.ahr.1, s_a.ahr.2); + next.hand_r.orientation = + Quaternion::rotation_x(s_a.ahr.3) * Quaternion::rotation_z(s_a.ahr.5); + + next.control.position = Vec3::new(s_a.ac.0, s_a.ac.1, s_a.ac.2); + next.control.orientation = Quaternion::rotation_x(s_a.ac.3) + * Quaternion::rotation_y(s_a.ac.4) + * Quaternion::rotation_z(s_a.ac.5); + }, + Some(ToolKind::Hammer) => { + next.hand_l.position = Vec3::new(s_a.hhl.0, s_a.hhl.1, s_a.hhl.2); + next.hand_l.orientation = + Quaternion::rotation_x(s_a.hhl.3) * Quaternion::rotation_y(s_a.hhl.4); + next.hand_r.position = Vec3::new(s_a.hhr.0, s_a.hhr.1, s_a.hhr.2); + next.hand_r.orientation = + Quaternion::rotation_x(s_a.hhr.3) * Quaternion::rotation_y(s_a.hhr.4); + + next.control.position = Vec3::new(s_a.hc.0, s_a.hc.1, s_a.hc.2); + next.control.orientation = Quaternion::rotation_x(s_a.hc.3) + * Quaternion::rotation_y(s_a.hc.4) + * Quaternion::rotation_z(s_a.hc.5); + }, + Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => { + next.hand_r.position = Vec3::new(s_a.sthr.0, s_a.sthr.1, s_a.sthr.2); + next.hand_r.orientation = + Quaternion::rotation_x(s_a.sthr.3) * Quaternion::rotation_y(s_a.sthr.4); + + next.control.position = Vec3::new(s_a.stc.0, s_a.stc.1, s_a.stc.2); + + next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2); + next.hand_l.orientation = Quaternion::rotation_x(s_a.sthl.3); + + next.control.orientation = Quaternion::rotation_x(s_a.stc.3) + * Quaternion::rotation_y(s_a.stc.4) + * Quaternion::rotation_z(s_a.stc.5); + }, + Some(ToolKind::Bow) => { + next.hand_l.position = Vec3::new(s_a.bhl.0, s_a.bhl.1, s_a.bhl.2); + next.hand_l.orientation = Quaternion::rotation_x(s_a.bhl.3); + next.hand_r.position = Vec3::new(s_a.bhr.0, s_a.bhr.1, s_a.bhr.2); + next.hand_r.orientation = Quaternion::rotation_x(s_a.bhr.3); + + next.hold.position = Vec3::new(0.0, -1.0, -5.2); + next.hold.orientation = Quaternion::rotation_x(-1.57); + next.hold.scale = Vec3::one() * 1.0; + + next.control.position = Vec3::new(s_a.bc.0, s_a.bc.1, s_a.bc.2); + next.control.orientation = + Quaternion::rotation_y(s_a.bc.4) * Quaternion::rotation_z(s_a.bc.5); + }, + Some(ToolKind::Debug) => { + next.hand_l.position = Vec3::new(-7.0, 4.0, 3.0); + next.hand_l.orientation = Quaternion::rotation_x(1.27); + next.main.position = Vec3::new(-5.0, 5.0, 23.0); + next.main.orientation = Quaternion::rotation_x(3.14); + }, + Some(ToolKind::Farming) => { + next.hand_l.position = Vec3::new(9.0, 1.0, 1.0); + next.hand_l.orientation = Quaternion::rotation_x(1.57); + next.hand_r.position = Vec3::new(9.0, 1.0, 11.0); + next.hand_r.orientation = Quaternion::rotation_x(1.57); + next.main.position = Vec3::new(7.5, 7.5, 13.2); + next.main.orientation = Quaternion::rotation_y(3.14); + + next.control.position = Vec3::new(-11.0, 1.8, 4.0); + }, + _ => {}, + } + } else { + if mirror > 0.0 { + next.hand_r.position = Vec3::new( + s_a.hand.0 + movement1abs * -9.0, + s_a.hand.1 + movement1 * 9.0, + s_a.hand.2 + movement1 * 5.0, + ); + next.hand_r.orientation = Quaternion::rotation_x(movement1 * 1.2) + * Quaternion::rotation_y(movement1 * 1.5); + next.hand_l.position = Vec3::new( + -s_a.hand.0, + s_a.hand.1 + movement1abs * 3.0, + s_a.hand.2 + movement1abs * -1.0, + ); + next.hand_l.orientation = Quaternion::rotation_x(movement1abs * 0.5) + * Quaternion::rotation_y(movement1 * 0.3); + next.foot_l.position = + Vec3::new(-s_a.foot.0, s_a.foot.1 + movement1abs * -7.0, s_a.foot.2); + next.foot_l.orientation = Quaternion::rotation_x(movement1abs * -1.2) + * Quaternion::rotation_z(movement1 * 0.8); + + next.foot_r.position = Vec3::new( + s_a.foot.0 + movement1 * -5.0, + s_a.foot.1 + movement1abs * 3.0, + s_a.foot.2, + ); + next.foot_r.orientation = Quaternion::rotation_z(movement1 * 0.6); + } else { + next.hand_l.position = Vec3::new( + -s_a.hand.0 + movement1abs * 9.0, + s_a.hand.1 + movement1abs * 9.0, + s_a.hand.2 + movement1abs * 5.0, + ); + next.hand_l.orientation = Quaternion::rotation_x(movement1abs * 1.2) + * Quaternion::rotation_y(movement1 * 1.5); + next.hand_r.position = Vec3::new( + s_a.hand.0, + s_a.hand.1 + movement1abs * 3.0, + s_a.hand.2 + movement1abs * -1.0, + ); + next.hand_r.orientation = Quaternion::rotation_x(movement1abs * 0.5) + * Quaternion::rotation_y(movement1 * 0.3); + next.foot_r.position = + Vec3::new(s_a.foot.0, s_a.foot.1 + movement1abs * -7.0, s_a.foot.2); + next.foot_r.orientation = Quaternion::rotation_x(movement1abs * -1.2) + * Quaternion::rotation_z(movement1 * 0.8); + next.foot_l.position = Vec3::new( + -s_a.foot.0 + movement1 * -5.0, + s_a.foot.1 + movement1abs * 3.0, + s_a.foot.2, + ); + next.foot_l.orientation = Quaternion::rotation_z(movement1 * 0.6); + }; + }; + next.torso.position = Vec3::new(0.0, 0.0, 0.0) * s_a.scaler; + next.torso.orientation = Quaternion::rotation_z(0.0); + + next + } +} diff --git a/voxygen/anim/src/character/stunned.rs b/voxygen/anim/src/character/stunned.rs new file mode 100644 index 0000000000..c214a605de --- /dev/null +++ b/voxygen/anim/src/character/stunned.rs @@ -0,0 +1,177 @@ +use super::{ + super::{vek::*, Animation}, + CharacterSkeleton, SkeletonAttr, +}; +use common::{comp::item::ToolKind, states::utils::StageSection}; + +pub struct StunnedAnimation; + +impl Animation for StunnedAnimation { + type Dependency = ( + Option, + Option, + f32, + f64, + Option, + f64, + bool, + ); + type Skeleton = CharacterSkeleton; + + #[cfg(feature = "use-dyn-lib")] + const UPDATE_FN: &'static [u8] = b"character_stunned\0"; + + #[cfg_attr(feature = "be-dyn-lib", export_name = "character_stunned")] + #[allow(clippy::approx_constant)] // TODO: Pending review in #587 + fn update_skeleton_inner( + skeleton: &Self::Skeleton, + ( + active_tool_kind, + _second_tool_kind, + _velocity, + global_time, + stage_section, + timer, + wield_status, + ): Self::Dependency, + anim_time: f64, + rate: &mut f32, + s_a: &SkeletonAttr, + ) -> Self::Skeleton { + *rate = 1.0; + let mut next = (*skeleton).clone(); + + let (movement1base, movement2) = match stage_section { + Some(StageSection::Buildup) => ((anim_time as f32).powf(0.25), 0.0), + Some(StageSection::Recover) => (1.0, (anim_time as f32).powf(4.0)), + _ => (0.0, 0.0), + }; + let pullback = 1.0 - movement2; + let subtract = global_time - timer; + let check = subtract - subtract.trunc(); + let mirror = (check - 0.5).signum() as f32; + let movement1 = movement1base * pullback * mirror; + let movement1abs = movement1base * pullback; + println!("wield {}", wield_status); + + next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1); + next.head.orientation = Quaternion::rotation_z(movement1 * 0.3); + next.shorts.orientation = + Quaternion::rotation_x(movement1abs * -0.2) * Quaternion::rotation_z(movement1 * -0.3); + next.belt.orientation = + Quaternion::rotation_x(movement1abs * -0.1) * Quaternion::rotation_z(movement1 * -0.2); + + next.chest.orientation = + Quaternion::rotation_x(movement1abs * 0.3) * Quaternion::rotation_z(movement1 * 0.5); + if wield_status { + next.main.position = Vec3::new(0.0, 0.0, 0.0); + next.main.orientation = Quaternion::rotation_x(0.0); + match active_tool_kind { + Some(ToolKind::Sword) => { + next.hand_l.position = Vec3::new(s_a.shl.0, s_a.shl.1, s_a.shl.2); + next.hand_l.orientation = + Quaternion::rotation_x(s_a.shl.3) * Quaternion::rotation_y(s_a.shl.4); + next.hand_r.position = Vec3::new(s_a.shr.0, s_a.shr.1, s_a.shr.2); + next.hand_r.orientation = + Quaternion::rotation_x(s_a.shr.3) * Quaternion::rotation_y(s_a.shr.4); + + next.control.position = Vec3::new(s_a.sc.0, s_a.sc.1, s_a.sc.2); + next.control.orientation = Quaternion::rotation_x(s_a.sc.3); + }, + Some(ToolKind::Axe) => { + next.hand_l.position = Vec3::new(s_a.ahl.0, s_a.ahl.1, s_a.ahl.2); + next.hand_l.orientation = + Quaternion::rotation_x(s_a.ahl.3) * Quaternion::rotation_y(s_a.ahl.4); + next.hand_r.position = Vec3::new(s_a.ahr.0, s_a.ahr.1, s_a.ahr.2); + next.hand_r.orientation = + Quaternion::rotation_x(s_a.ahr.3) * Quaternion::rotation_z(s_a.ahr.5); + + next.control.position = Vec3::new(s_a.ac.0, s_a.ac.1, s_a.ac.2); + next.control.orientation = Quaternion::rotation_x(s_a.ac.3) + * Quaternion::rotation_y(s_a.ac.4) + * Quaternion::rotation_z(s_a.ac.5); + }, + Some(ToolKind::Hammer) => { + next.hand_l.position = Vec3::new(s_a.hhl.0, s_a.hhl.1, s_a.hhl.2); + next.hand_l.orientation = + Quaternion::rotation_x(s_a.hhl.3) * Quaternion::rotation_y(s_a.hhl.4); + next.hand_r.position = Vec3::new(s_a.hhr.0, s_a.hhr.1, s_a.hhr.2); + next.hand_r.orientation = + Quaternion::rotation_x(s_a.hhr.3) * Quaternion::rotation_y(s_a.hhr.4); + + next.control.position = Vec3::new(s_a.hc.0, s_a.hc.1, s_a.hc.2); + next.control.orientation = Quaternion::rotation_x(s_a.hc.3) + * Quaternion::rotation_y(s_a.hc.4) + * Quaternion::rotation_z(s_a.hc.5); + }, + Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => { + next.hand_r.position = Vec3::new(s_a.sthr.0, s_a.sthr.1, s_a.sthr.2); + next.hand_r.orientation = + Quaternion::rotation_x(s_a.sthr.3) * Quaternion::rotation_y(s_a.sthr.4); + + next.control.position = Vec3::new(s_a.stc.0, s_a.stc.1, s_a.stc.2); + + next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2); + next.hand_l.orientation = Quaternion::rotation_x(s_a.sthl.3); + + next.control.orientation = Quaternion::rotation_x(s_a.stc.3) + * Quaternion::rotation_y(s_a.stc.4) + * Quaternion::rotation_z(s_a.stc.5); + }, + Some(ToolKind::Bow) => { + next.hand_l.position = Vec3::new(s_a.bhl.0, s_a.bhl.1, s_a.bhl.2); + next.hand_l.orientation = Quaternion::rotation_x(s_a.bhl.3); + next.hand_r.position = Vec3::new(s_a.bhr.0, s_a.bhr.1, s_a.bhr.2); + next.hand_r.orientation = Quaternion::rotation_x(s_a.bhr.3); + + next.hold.position = Vec3::new(0.0, -1.0, -5.2); + next.hold.orientation = Quaternion::rotation_x(-1.57); + next.hold.scale = Vec3::one() * 1.0; + + next.control.position = Vec3::new(s_a.bc.0, s_a.bc.1, s_a.bc.2); + next.control.orientation = + Quaternion::rotation_y(s_a.bc.4) * Quaternion::rotation_z(s_a.bc.5); + }, + Some(ToolKind::Debug) => { + next.hand_l.position = Vec3::new(-7.0, 4.0, 3.0); + next.hand_l.orientation = Quaternion::rotation_x(1.27); + next.main.position = Vec3::new(-5.0, 5.0, 23.0); + next.main.orientation = Quaternion::rotation_x(3.14); + }, + Some(ToolKind::Farming) => { + next.hand_l.position = Vec3::new(9.0, 1.0, 1.0); + next.hand_l.orientation = Quaternion::rotation_x(1.57); + next.hand_r.position = Vec3::new(9.0, 1.0, 11.0); + next.hand_r.orientation = Quaternion::rotation_x(1.57); + next.main.position = Vec3::new(7.5, 7.5, 13.2); + next.main.orientation = Quaternion::rotation_y(3.14); + + next.control.position = Vec3::new(-11.0, 1.8, 4.0); + }, + _ => {}, + } + } else { + if mirror > 0.0 { + next.hand_r.position = Vec3::new( + s_a.hand.0 + movement1abs * -4.0, + s_a.hand.1 + movement1 * 7.0, + s_a.hand.2 + movement1 * 6.0, + ); + next.hand_r.orientation = Quaternion::rotation_x(movement1 * 1.2) + * Quaternion::rotation_y(movement1 * 1.2); + } else { + next.hand_l.position = Vec3::new( + -s_a.hand.0 + movement1abs * 4.0, + s_a.hand.1 + movement1abs * 7.0, + s_a.hand.2 + movement1abs * 6.0, + ); + next.hand_l.orientation = Quaternion::rotation_x(movement1abs * 1.2) + * Quaternion::rotation_y(movement1 * 1.2); + }; + }; + next.torso.position = Vec3::new(0.0, 0.0, 0.0) * s_a.scaler; + next.torso.orientation = Quaternion::rotation_z(0.0); + + next + } +} diff --git a/voxygen/anim/src/dyn_lib.rs b/voxygen/anim/src/dyn_lib.rs index 798df8bfbc..372053fa27 100644 --- a/voxygen/anim/src/dyn_lib.rs +++ b/voxygen/anim/src/dyn_lib.rs @@ -148,8 +148,7 @@ pub fn init() { // "Debounces" events since I can't find the option to do this in the latest // `notify` thread::spawn(move || { - let mut modified_paths = HashSet::new(); - + let mut modified_paths = std::collections::HashSet::new(); while let Ok(path) = reload_recv.recv() { modified_paths.insert(path); // Wait for any additional modify events before reloading diff --git a/voxygen/src/scene/figure/mod.rs b/voxygen/src/scene/figure/mod.rs index 792f28d2e2..d6aecc486e 100644 --- a/voxygen/src/scene/figure/mod.rs +++ b/voxygen/src/scene/figure/mod.rs @@ -1122,6 +1122,62 @@ impl FigureMgr { skeleton_attr, ) }, + CharacterState::Stunned(s) => { + let stage_time = s.timer.as_secs_f64(); + let wield_status = s.was_wielded; + let stage_progress = match s.stage_section { + StageSection::Buildup => { + stage_time / s.static_data.buildup_duration.as_secs_f64() + }, + StageSection::Recover => { + stage_time / s.static_data.recover_duration.as_secs_f64() + }, + _ => 0.0, + }; + anim::character::StunnedAnimation::update_skeleton( + &target_base, + ( + active_tool_kind, + second_tool_kind, + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + wield_status, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) + }, + CharacterState::Staggered(s) => { + let stage_time = s.timer.as_secs_f64(); + let wield_status = s.was_wielded; + let stage_progress = match s.stage_section { + StageSection::Buildup => { + stage_time / s.static_data.buildup_duration.as_secs_f64() + }, + StageSection::Recover => { + stage_time / s.static_data.recover_duration.as_secs_f64() + }, + _ => 0.0, + }; + anim::character::StaggeredAnimation::update_skeleton( + &target_base, + ( + active_tool_kind, + second_tool_kind, + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + wield_status, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) + }, CharacterState::BasicBeam(s) => { let stage_time = s.timer.as_secs_f64(); let stage_progress = match s.stage_section { From 661764f4aa8c66a6de59a9d8a923723ed6993aec Mon Sep 17 00:00:00 2001 From: jiminycrick Date: Tue, 12 Jan 2021 19:26:51 -0800 Subject: [PATCH 07/11] Some preliminary balancing Fix rebase --- assets/common/abilities/hammer/charged.ron | 2 +- assets/common/abilities/hammer/leap.ron | 2 +- .../common/abilities/hammer/singlestrike.ron | 2 +- assets/common/items/armor/back/admin.ron | 20 +- assets/common/items/armor/back/backpack_0.ron | 21 +- .../items/armor/back/dungeon_purple-0.ron | 18 +- .../items/armor/back/leather_adventurer.ron | 20 +- assets/common/items/armor/back/short_0.ron | 18 +- assets/common/items/armor/back/short_1.ron | 18 +- .../items/armor/back/velorite_mage_0.ron | 18 +- assets/common/items/armor/back/warlock.ron | 18 +- assets/common/items/armor/back/warlord.ron | 18 +- .../common/items/armor/bag/heavy_seabag.ron | 5 +- .../items/armor/bag/knitted_red_pouch.ron | 5 +- assets/common/items/armor/bag/liana_kit.ron | 5 +- .../items/armor/bag/mindflayer_spellbag.ron | 5 +- .../items/armor/bag/reliable_backpack.ron | 5 +- .../items/armor/bag/soulkeeper_cursed.ron | 5 +- .../items/armor/bag/soulkeeper_pure.ron | 5 +- .../items/armor/bag/sturdy_red_backpack.ron | 5 +- .../items/armor/bag/tiny_leather_pouch.ron | 5 +- .../common/items/armor/bag/tiny_red_pouch.ron | 5 +- .../items/armor/bag/troll_hide_pack.ron | 5 +- .../common/items/armor/bag/woven_red_bag.ron | 5 +- assets/common/items/armor/belt/assassin.ron | 18 +- .../common/items/armor/belt/bonerattler.ron | 18 +- .../common/items/armor/belt/cloth_blue_0.ron | 18 +- .../common/items/armor/belt/cloth_green_0.ron | 18 +- .../items/armor/belt/cloth_purple_0.ron | 18 +- .../common/items/armor/belt/cultist_belt.ron | 18 +- assets/common/items/armor/belt/druid.ron | 20 +- assets/common/items/armor/belt/leather_0.ron | 18 +- assets/common/items/armor/belt/leather_2.ron | 18 +- .../items/armor/belt/leather_adventurer.ron | 20 +- assets/common/items/armor/belt/plate_0.ron | 18 +- assets/common/items/armor/belt/steel_0.ron | 18 +- assets/common/items/armor/belt/tarasque.ron | 18 +- assets/common/items/armor/belt/twig.ron | 18 +- .../common/items/armor/belt/twigsflowers.ron | 18 +- .../common/items/armor/belt/twigsleaves.ron | 18 +- .../items/armor/belt/velorite_mage_0.ron | 18 +- assets/common/items/armor/belt/warlock.ron | 18 +- assets/common/items/armor/belt/warlord.ron | 18 +- assets/common/items/armor/chest/assassin.ron | 18 +- .../common/items/armor/chest/bonerattler.ron | 18 +- .../common/items/armor/chest/cloth_blue_0.ron | 18 +- .../items/armor/chest/cloth_green_0.ron | 18 +- .../items/armor/chest/cloth_purple_0.ron | 18 +- .../items/armor/chest/cultist_chest_blue.ron | 18 +- .../armor/chest/cultist_chest_purple.ron | 18 +- assets/common/items/armor/chest/druid.ron | 20 +- assets/common/items/armor/chest/leather_0.ron | 18 +- assets/common/items/armor/chest/leather_2.ron | 18 +- .../items/armor/chest/leather_adventurer.ron | 20 +- .../items/armor/chest/plate_green_0.ron | 18 +- .../common/items/armor/chest/rugged_chest.ron | 12 + assets/common/items/armor/chest/steel_0.ron | 18 +- assets/common/items/armor/chest/tarasque.ron | 20 +- assets/common/items/armor/chest/twig.ron | 18 +- .../common/items/armor/chest/twigsflowers.ron | 18 +- .../common/items/armor/chest/twigsleaves.ron | 18 +- .../items/armor/chest/velorite_mage_0.ron | 18 +- assets/common/items/armor/chest/warlock.ron | 18 +- assets/common/items/armor/chest/warlord.ron | 18 +- .../items/armor/chest/worker_green_0.ron | 18 +- .../items/armor/chest/worker_green_1.ron | 18 +- .../items/armor/chest/worker_orange_0.ron | 18 +- .../items/armor/chest/worker_orange_1.ron | 18 +- .../items/armor/chest/worker_purple_0.ron | 18 +- .../items/armor/chest/worker_purple_1.ron | 18 +- .../common/items/armor/chest/worker_red_0.ron | 18 +- .../common/items/armor/chest/worker_red_1.ron | 18 +- .../items/armor/chest/worker_yellow_0.ron | 18 +- .../items/armor/chest/worker_yellow_1.ron | 18 +- assets/common/items/armor/foot/assassin.ron | 18 +- .../common/items/armor/foot/bonerattler.ron | 18 +- .../common/items/armor/foot/cloth_blue_0.ron | 18 +- .../common/items/armor/foot/cloth_green_0.ron | 18 +- .../items/armor/foot/cloth_purple_0.ron | 18 +- .../common/items/armor/foot/cultist_boots.ron | 18 +- assets/common/items/armor/foot/druid.ron | 20 +- .../items/armor/foot/jackalope_slippers.ron | 18 +- assets/common/items/armor/foot/leather_0.ron | 18 +- assets/common/items/armor/foot/leather_2.ron | 18 +- .../items/armor/foot/leather_adventurer.ron | 20 +- assets/common/items/armor/foot/plate_0.ron | 18 +- assets/common/items/armor/foot/sandals_0.ron | 12 + assets/common/items/armor/foot/steel_0.ron | 18 +- assets/common/items/armor/foot/tarasque.ron | 20 +- assets/common/items/armor/foot/twig.ron | 18 +- .../common/items/armor/foot/twigsflowers.ron | 18 +- .../common/items/armor/foot/twigsleaves.ron | 18 +- .../items/armor/foot/velorite_mage_0.ron | 18 +- assets/common/items/armor/foot/warlock.ron | 18 +- assets/common/items/armor/foot/warlord.ron | 18 +- assets/common/items/armor/hand/assassin.ron | 18 +- .../common/items/armor/hand/bonerattler.ron | 18 +- .../common/items/armor/hand/cloth_blue_0.ron | 18 +- .../common/items/armor/hand/cloth_green_0.ron | 18 +- .../items/armor/hand/cloth_purple_0.ron | 18 +- .../items/armor/hand/cultist_hands_blue.ron | 18 +- .../items/armor/hand/cultist_hands_purple.ron | 18 +- assets/common/items/armor/hand/druid.ron | 20 +- assets/common/items/armor/hand/leather_0.ron | 18 +- assets/common/items/armor/hand/leather_2.ron | 18 +- .../items/armor/hand/leather_adventurer.ron | 20 +- assets/common/items/armor/hand/plate_0.ron | 18 +- assets/common/items/armor/hand/steel_0.ron | 18 +- assets/common/items/armor/hand/tarasque.ron | 18 +- assets/common/items/armor/hand/twig.ron | 18 +- .../common/items/armor/hand/twigsflowers.ron | 18 +- .../common/items/armor/hand/twigsleaves.ron | 18 +- .../items/armor/hand/velorite_mage_0.ron | 18 +- assets/common/items/armor/hand/warlock.ron | 18 +- assets/common/items/armor/hand/warlord.ron | 18 +- .../common/items/armor/head/assa_mask_0.ron | 18 +- assets/common/items/armor/head/leather_0.ron | 18 +- assets/common/items/armor/head/warlock.ron | 18 +- assets/common/items/armor/head/warlord.ron | 18 +- assets/common/items/armor/neck/neck_0.ron | 20 +- assets/common/items/armor/neck/neck_1.ron | 18 +- assets/common/items/armor/pants/assassin.ron | 18 +- .../common/items/armor/pants/bonerattler.ron | 20 +- .../common/items/armor/pants/cloth_blue_0.ron | 18 +- .../items/armor/pants/cloth_green_0.ron | 18 +- .../items/armor/pants/cloth_purple_0.ron | 18 +- .../items/armor/pants/cultist_legs_blue.ron | 18 +- .../items/armor/pants/cultist_legs_purple.ron | 18 +- assets/common/items/armor/pants/druid.ron | 20 +- assets/common/items/armor/pants/hunting.ron | 18 +- assets/common/items/armor/pants/leather_0.ron | 18 +- assets/common/items/armor/pants/leather_2.ron | 18 +- .../items/armor/pants/leather_adventurer.ron | 20 +- .../items/armor/pants/plate_green_0.ron | 18 +- .../common/items/armor/pants/rugged_pants.ron | 12 + assets/common/items/armor/pants/steel_0.ron | 18 +- assets/common/items/armor/pants/tarasque.ron | 18 +- assets/common/items/armor/pants/twig.ron | 18 +- .../common/items/armor/pants/twigsflowers.ron | 18 +- .../common/items/armor/pants/twigsleaves.ron | 18 +- .../items/armor/pants/velorite_mage_0.ron | 18 +- assets/common/items/armor/pants/warlock.ron | 18 +- assets/common/items/armor/pants/warlord.ron | 18 +- .../items/armor/pants/worker_blue_0.ron | 18 +- assets/common/items/armor/ring/ring_0.ron | 18 +- .../common/items/armor/ring/ring_gold_0.ron | 18 +- .../items/armor/ring/ring_purp_high_0.ron | 18 +- .../common/items/armor/shoulder/assassin.ron | 18 +- .../items/armor/shoulder/bonerattler.ron | 18 +- .../items/armor/shoulder/cloth_blue_0.ron | 18 +- .../items/armor/shoulder/cloth_blue_1.ron | 18 +- .../items/armor/shoulder/cloth_green_0.ron | 18 +- .../items/armor/shoulder/cloth_purple_0.ron | 18 +- .../armor/shoulder/cultist_shoulder_blue.ron | 18 +- .../shoulder/cultist_shoulder_purple.ron | 18 +- .../items/armor/shoulder/druidshoulder.ron | 18 +- .../items/armor/shoulder/iron_spikes.ron | 18 +- .../common/items/armor/shoulder/leather_0.ron | 18 +- .../common/items/armor/shoulder/leather_1.ron | 18 +- .../common/items/armor/shoulder/leather_2.ron | 18 +- .../armor/shoulder/leather_adventurer.ron | 20 +- .../items/armor/shoulder/leather_iron_0.ron | 18 +- .../items/armor/shoulder/leather_iron_1.ron | 18 +- .../items/armor/shoulder/leather_iron_2.ron | 18 +- .../items/armor/shoulder/leather_iron_3.ron | 18 +- .../items/armor/shoulder/leather_strips.ron | 18 +- .../common/items/armor/shoulder/plate_0.ron | 18 +- .../common/items/armor/shoulder/steel_0.ron | 18 +- .../common/items/armor/shoulder/tarasque.ron | 18 +- assets/common/items/armor/shoulder/twigs.ron | 18 +- .../items/armor/shoulder/twigsflowers.ron | 18 +- .../items/armor/shoulder/twigsleaves.ron | 18 +- .../items/armor/shoulder/velorite_mage_0.ron | 18 +- .../common/items/armor/shoulder/warlock.ron | 18 +- .../common/items/armor/shoulder/warlord.ron | 18 +- assets/common/items/armor/starter/lantern.ron | 13 - .../items/armor/starter/rugged_chest.ron | 14 - .../items/armor/starter/rugged_pants.ron | 14 - .../common/items/armor/starter/sandals_0.ron | 14 - assets/common/items/armor/tabard/admin.ron | 22 +- assets/common/items/debug/boost.ron | 2 +- .../items/debug/cultist_purp_2h_boss-0.ron | 2 +- assets/common/items/debug/possess.ron | 2 +- .../glider_cloverleaf.ron} | 0 .../items/npc_weapons/axe/malachite_axe-0.ron | 2 +- .../items/npc_weapons/axe/starter_axe.ron | 2 +- .../items/npc_weapons/bow/horn_longbow-0.ron | 2 +- .../items/npc_weapons/bow/saurok_bow.ron | 2 +- .../npc_weapons/dagger/starter_dagger.ron | 2 +- .../common/items/npc_weapons/empty/empty.ron | 2 +- .../npc_weapons/hammer/cultist_purp_2h-0.ron | 2 +- .../npc_weapons/hammer/cyclops_hammer.ron | 2 +- .../items/npc_weapons/hammer/ogre_hammer.ron | 2 +- .../npc_weapons/hammer/starter_hammer.ron | 2 +- .../items/npc_weapons/hammer/troll_hammer.ron | 2 +- .../npc_weapons/hammer/wendigo_hammer.ron | 2 +- .../items/npc_weapons/shield/shield_1.ron | 2 +- .../items/npc_weapons/staff/bone_staff.ron | 2 +- .../items/npc_weapons/staff/cultist_staff.ron | 2 +- .../npc_weapons/staff/mindflayer_staff.ron | 2 +- .../items/npc_weapons/staff/ogre_staff.ron | 2 +- .../items/npc_weapons/staff/saurok_staff.ron | 2 +- .../npc_weapons/sword/cultist_purp_2h-0.ron | 2 +- .../sword/cultist_purp_2h_boss-0.ron | 2 +- .../npc_weapons/sword/dullahan_sword.ron | 2 +- .../items/npc_weapons/sword/saurok_sword.ron | 2 +- .../items/npc_weapons/sword/starter_sword.ron | 2 +- .../npc_weapons/sword/zweihander_sword_0.ron | 2 +- .../common/items/npc_weapons/tool/broom.ron | 2 +- .../items/npc_weapons/tool/fishing_rod.ron | 2 +- assets/common/items/npc_weapons/tool/hoe.ron | 2 +- .../common/items/npc_weapons/tool/pickaxe.ron | 2 +- .../items/npc_weapons/tool/pitchfork.ron | 2 +- assets/common/items/npc_weapons/tool/rake.ron | 2 +- .../items/npc_weapons/tool/shovel-0.ron | 2 +- .../items/npc_weapons/tool/shovel-1.ron | 2 +- .../items/npc_weapons/unique/beast_claws.ron | 2 +- .../items/npc_weapons/unique/quadlowbasic.ron | 2 +- .../npc_weapons/unique/quadlowbreathe.ron | 2 +- .../items/npc_weapons/unique/quadlowquick.ron | 2 +- .../npc_weapons/unique/quadlowranged.ron | 2 +- .../items/npc_weapons/unique/quadlowtail.ron | 2 +- .../items/npc_weapons/unique/quadmedbasic.ron | 2 +- .../npc_weapons/unique/quadmedcharge.ron | 2 +- .../items/npc_weapons/unique/quadmedhoof.ron | 2 +- .../items/npc_weapons/unique/quadmedjump.ron | 2 +- .../items/npc_weapons/unique/quadmedquick.ron | 2 +- .../npc_weapons/unique/quadsmallbasic.ron | 2 +- .../npc_weapons/unique/stone_golems_fist.ron | 2 +- .../npc_weapons/unique/theropodbasic.ron | 2 +- .../items/npc_weapons/unique/theropodbird.ron | 2 +- .../items/weapons/axe/bloodsteel_axe-0.ron | 22 +- .../items/weapons/axe/bloodsteel_axe-1.ron | 24 +- .../items/weapons/axe/bloodsteel_axe-2.ron | 24 +- .../common/items/weapons/axe/bronze_axe-0.ron | 22 +- .../common/items/weapons/axe/bronze_axe-1.ron | 22 +- .../common/items/weapons/axe/cobalt_axe-0.ron | 22 +- .../common/items/weapons/axe/iron_axe-0.ron | 22 +- .../common/items/weapons/axe/iron_axe-1.ron | 22 +- .../common/items/weapons/axe/iron_axe-2.ron | 22 +- .../common/items/weapons/axe/iron_axe-3.ron | 22 +- .../common/items/weapons/axe/iron_axe-4.ron | 24 +- .../common/items/weapons/axe/iron_axe-5.ron | 24 +- .../common/items/weapons/axe/iron_axe-6.ron | 22 +- .../common/items/weapons/axe/iron_axe-7.ron | 22 +- .../common/items/weapons/axe/iron_axe-8.ron | 22 +- .../common/items/weapons/axe/iron_axe-9.ron | 22 +- .../items/weapons/axe/malachite_axe-0.ron | 22 +- assets/common/items/weapons/axe/orc_axe-0.ron | 22 +- .../common/items/weapons/axe/starter_axe.ron | 22 +- .../common/items/weapons/axe/steel_axe-0.ron | 22 +- .../common/items/weapons/axe/steel_axe-1.ron | 22 +- .../common/items/weapons/axe/steel_axe-2.ron | 22 +- .../common/items/weapons/axe/steel_axe-3.ron | 22 +- .../common/items/weapons/axe/steel_axe-4.ron | 22 +- .../common/items/weapons/axe/steel_axe-5.ron | 22 +- .../common/items/weapons/axe/steel_axe-6.ron | 22 +- .../items/weapons/axe/worn_iron_axe-0.ron | 24 +- .../items/weapons/axe/worn_iron_axe-1.ron | 22 +- .../items/weapons/axe/worn_iron_axe-2.ron | 24 +- .../items/weapons/axe/worn_iron_axe-3.ron | 22 +- .../items/weapons/axe/worn_iron_axe-4.ron | 22 +- .../items/weapons/bow/horn_longbow-0.ron | 24 +- .../items/weapons/bow/iron_longbow-0.ron | 26 +- .../items/weapons/bow/leafy_longbow-0.ron | 24 +- .../items/weapons/bow/leafy_shortbow-0.ron | 24 +- .../weapons/bow/nature_ore_longbow-0.ron | 24 +- .../common/items/weapons/bow/rare_longbow.ron | 24 +- .../common/items/weapons/bow/starter_bow.ron | 24 +- .../items/weapons/bow/wood_longbow-0.ron | 24 +- .../items/weapons/bow/wood_longbow-1.ron | 24 +- .../items/weapons/bow/wood_shortbow-0.ron | 24 +- .../items/weapons/bow/wood_shortbow-1.ron | 24 +- .../common/items/weapons/dagger/basic_0.ron | 22 +- .../common/items/weapons/dagger/cultist_0.ron | 22 +- .../items/weapons/dagger/starter_dagger.ron | 22 +- assets/common/items/weapons/empty/empty.ron | 22 +- .../items/weapons/hammer/bronze_hammer-0.ron | 22 +- .../items/weapons/hammer/bronze_hammer-1.ron | 22 +- .../items/weapons/hammer/cobalt_hammer-0.ron | 22 +- .../items/weapons/hammer/cobalt_hammer-1.ron | 22 +- .../weapons/hammer/cultist_purp_2h-0.ron | 22 +- .../items/weapons/hammer/flimsy_hammer.ron | 22 +- .../common/items/weapons/hammer/hammer_1.ron | 24 +- .../items/weapons/hammer/iron_hammer-0.ron | 22 +- .../items/weapons/hammer/iron_hammer-1.ron | 22 +- .../items/weapons/hammer/iron_hammer-2.ron | 22 +- .../items/weapons/hammer/iron_hammer-3.ron | 22 +- .../items/weapons/hammer/iron_hammer-4.ron | 22 +- .../items/weapons/hammer/iron_hammer-5.ron | 22 +- .../items/weapons/hammer/iron_hammer-6.ron | 22 +- .../items/weapons/hammer/iron_hammer-7.ron | 24 +- .../items/weapons/hammer/iron_hammer-8.ron | 22 +- .../common/items/weapons/hammer/mjolnir.ron | 2 +- .../items/weapons/hammer/ramshead_hammer.ron | 24 +- .../items/weapons/hammer/runic_hammer.ron | 22 +- .../items/weapons/hammer/starter_hammer.ron | 24 +- .../items/weapons/hammer/steel_hammer-0.ron | 22 +- .../items/weapons/hammer/steel_hammer-1.ron | 22 +- .../items/weapons/hammer/steel_hammer-2.ron | 22 +- .../items/weapons/hammer/steel_hammer-3.ron | 22 +- .../items/weapons/hammer/steel_hammer-4.ron | 24 +- .../items/weapons/hammer/steel_hammer-5.ron | 22 +- .../items/weapons/hammer/stone_hammer-0.ron | 22 +- .../items/weapons/hammer/stone_hammer-1.ron | 22 +- .../items/weapons/hammer/stone_hammer-2.ron | 22 +- .../items/weapons/hammer/stone_hammer-3.ron | 22 +- .../items/weapons/hammer/wood_hammer-0.ron | 22 +- .../weapons/hammer/worn_iron_hammer-0.ron | 22 +- .../weapons/hammer/worn_iron_hammer-1.ron | 22 +- .../weapons/hammer/worn_iron_hammer-2.ron | 22 +- .../weapons/hammer/worn_iron_hammer-3.ron | 22 +- .../weapons/sceptre/sceptre_velorite_0.ron | 2 +- .../items/weapons/sceptre/staff_nature.ron | 2 +- .../items/weapons/sceptre/starter_sceptre.ron | 24 +- .../common/items/weapons/shield/shield_1.ron | 22 +- .../items/weapons/staff/amethyst_staff.ron | 22 +- .../common/items/weapons/staff/bone_staff.ron | 24 +- .../items/weapons/staff/cultist_staff.ron | 22 +- assets/common/items/weapons/staff/staff_1.ron | 22 +- .../items/weapons/staff/starter_staff.ron | 22 +- .../items/weapons/sword/cultist_purp_2h-0.ron | 22 +- .../weapons/sword/frost_cleaver_2h-0.ron | 22 +- .../weapons/sword/frost_cleaver_2h-1.ron | 24 +- .../weapons/sword/greatsword_2h_dam-0.ron | 22 +- .../weapons/sword/greatsword_2h_dam-1.ron | 22 +- .../weapons/sword/greatsword_2h_dam-2.ron | 22 +- .../weapons/sword/greatsword_2h_fine-0.ron | 24 +- .../weapons/sword/greatsword_2h_fine-1.ron | 24 +- .../weapons/sword/greatsword_2h_fine-2.ron | 24 +- .../weapons/sword/greatsword_2h_orn-0.ron | 24 +- .../weapons/sword/greatsword_2h_orn-1.ron | 24 +- .../weapons/sword/greatsword_2h_orn-2.ron | 24 +- .../weapons/sword/greatsword_2h_simple-0.ron | 24 +- .../weapons/sword/greatsword_2h_simple-1.ron | 24 +- .../weapons/sword/greatsword_2h_simple-2.ron | 24 +- .../items/weapons/sword/long_2h_dam-0.ron | 24 +- .../items/weapons/sword/long_2h_dam-1.ron | 24 +- .../items/weapons/sword/long_2h_dam-2.ron | 24 +- .../items/weapons/sword/long_2h_dam-3.ron | 24 +- .../items/weapons/sword/long_2h_dam-4.ron | 24 +- .../items/weapons/sword/long_2h_dam-5.ron | 24 +- .../items/weapons/sword/long_2h_fine-0.ron | 22 +- .../items/weapons/sword/long_2h_fine-1.ron | 22 +- .../items/weapons/sword/long_2h_fine-2.ron | 22 +- .../items/weapons/sword/long_2h_fine-3.ron | 22 +- .../items/weapons/sword/long_2h_fine-4.ron | 22 +- .../items/weapons/sword/long_2h_fine-5.ron | 22 +- .../items/weapons/sword/long_2h_orn-0.ron | 24 +- .../items/weapons/sword/long_2h_orn-1.ron | 24 +- .../items/weapons/sword/long_2h_orn-2.ron | 24 +- .../items/weapons/sword/long_2h_orn-3.ron | 24 +- .../items/weapons/sword/long_2h_orn-4.ron | 24 +- .../items/weapons/sword/long_2h_orn-5.ron | 24 +- .../items/weapons/sword/long_2h_simple-0.ron | 24 +- .../items/weapons/sword/long_2h_simple-1.ron | 24 +- .../items/weapons/sword/long_2h_simple-2.ron | 24 +- .../items/weapons/sword/long_2h_simple-3.ron | 24 +- .../items/weapons/sword/long_2h_simple-4.ron | 24 +- .../items/weapons/sword/long_2h_simple-5.ron | 24 +- .../items/weapons/sword/short_sword_0.ron | 24 +- .../items/weapons/sword/starter_sword.ron | 22 +- .../common/items/weapons/sword/wood_sword.ron | 22 +- .../weapons/sword/zweihander_sword_0.ron | 24 +- assets/common/items/weapons/tool/broom.ron | 24 +- .../common/items/weapons/tool/fishing_rod.ron | 22 +- assets/common/items/weapons/tool/hoe.ron | 24 +- assets/common/items/weapons/tool/pickaxe.ron | 22 +- .../common/items/weapons/tool/pitchfork.ron | 22 +- assets/common/items/weapons/tool/rake.ron | 22 +- assets/common/items/weapons/tool/shovel-0.ron | 24 +- assets/common/items/weapons/tool/shovel-1.ron | 24 +- common/Cargo.toml | 8 +- common/src/bin/csv_export/main.rs | 50 ++- common/src/bin/csv_import/main.rs | 360 ++++++++++++++++++ common/src/comp/ability.rs | 21 +- common/src/comp/inventory/item/armor.rs | 19 + common/src/comp/inventory/item/mod.rs | 1 + common/src/comp/inventory/item/tool.rs | 26 +- common/src/comp/inventory/loadout_builder.rs | 10 +- common/src/comp/poise.rs | 46 ++- common/src/states/combo_melee.rs | 7 +- common/sys/src/beam.rs | 2 +- common/sys/src/melee.rs | 6 +- common/sys/src/projectile.rs | 6 +- common/sys/src/shockwave.rs | 3 +- common/sys/src/stats.rs | 2 +- server/src/events/entity_manipulation.rs | 8 +- server/src/state_ext.rs | 8 +- .../audio/sfx/event_mapper/combat/tests.rs | 5 + voxygen/src/hud/util.rs | 23 +- 391 files changed, 3399 insertions(+), 3514 deletions(-) create mode 100644 assets/common/items/armor/chest/rugged_chest.ron create mode 100644 assets/common/items/armor/foot/sandals_0.ron create mode 100644 assets/common/items/armor/pants/rugged_pants.ron delete mode 100644 assets/common/items/armor/starter/lantern.ron delete mode 100644 assets/common/items/armor/starter/rugged_chest.ron delete mode 100644 assets/common/items/armor/starter/rugged_pants.ron delete mode 100644 assets/common/items/armor/starter/sandals_0.ron rename assets/common/items/{armor/starter/glider.ron => glider/glider_cloverleaf.ron} (100%) create mode 100644 common/src/bin/csv_import/main.rs diff --git a/assets/common/abilities/hammer/charged.ron b/assets/common/abilities/hammer/charged.ron index 857d060d0e..3d9e09471c 100644 --- a/assets/common/abilities/hammer/charged.ron +++ b/assets/common/abilities/hammer/charged.ron @@ -3,7 +3,7 @@ ChargedMelee( energy_drain: 300, initial_damage: 10, scaled_damage: 160, - initial_poise_damage: 10, + initial_poise_damage: 5, scaled_poise_damage: 70, initial_knockback: 10.0, scaled_knockback: 50.0, diff --git a/assets/common/abilities/hammer/leap.ron b/assets/common/abilities/hammer/leap.ron index 1e7a1faad7..578282360b 100644 --- a/assets/common/abilities/hammer/leap.ron +++ b/assets/common/abilities/hammer/leap.ron @@ -5,7 +5,7 @@ LeapMelee( swing_duration: 150, recover_duration: 200, base_damage: 240, - base_poise_damage: 60, + base_poise_damage: 40, knockback: 25.0, range: 4.5, max_angle: 360.0, diff --git a/assets/common/abilities/hammer/singlestrike.ron b/assets/common/abilities/hammer/singlestrike.ron index 93cc1503a6..663e9a1f85 100644 --- a/assets/common/abilities/hammer/singlestrike.ron +++ b/assets/common/abilities/hammer/singlestrike.ron @@ -3,7 +3,7 @@ ComboMelee( stage: 1, base_damage: 130, damage_increase: 10, - base_poise_damage: 30, + base_poise_damage: 10, poise_damage_increase: 5, knockback: 0.0, range: 4.5, diff --git a/assets/common/items/armor/back/admin.ron b/assets/common/items/armor/back/admin.ron index 048e196395..be8f116c26 100644 --- a/assets/common/items/armor/back/admin.ron +++ b/assets/common/items/armor/back/admin.ron @@ -1,14 +1,12 @@ ItemDef( - name: "Admin's Cape", + name: "Admin\'s Cape", description: "With great power comes\ngreat responsibility.", - kind: Armor( - ( - kind: Back("Admin"), - stats: ( - protection: Invincible, - poise_protection: Invincible, - ), - ) - ), + kind: Armor(( + kind: Back("Admin"), + stats: ( + protection: Invincible, + poise_protection: Invincible, + ), + )), quality: Debug, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/back/backpack_0.ron b/assets/common/items/armor/back/backpack_0.ron index 9bbafa8171..ec8998d410 100644 --- a/assets/common/items/armor/back/backpack_0.ron +++ b/assets/common/items/armor/back/backpack_0.ron @@ -1,15 +1,12 @@ ItemDef( - name: "Traveler's Backpack", + name: "Traveler\'s Backpack", description: "Comfort and capacity united.", - kind: Armor( - ( - kind: Back("Backpack0"), - stats: ( - protection: Normal(0.0), - poise_protection: Normal(0.0), - ), - ) - ), + kind: Armor(( + kind: Back("Backpack0"), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), + )), quality: High, - slots: 18, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/back/dungeon_purple-0.ron b/assets/common/items/armor/back/dungeon_purple-0.ron index 1366d50d58..0889812bde 100644 --- a/assets/common/items/armor/back/dungeon_purple-0.ron +++ b/assets/common/items/armor/back/dungeon_purple-0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Purple Cultist Cape", description: "Smells like dark magic and candles.", - kind: Armor( - ( - kind: Back("DungPurp0"), - stats: ( - protection: Normal(3.0), - poise_protection: Normal(3.0) - ), - ) - ), + kind: Armor(( + kind: Back("DungPurp0"), + stats: ( + protection: Normal(3.0), + poise_protection: Normal(1.0), + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/back/leather_adventurer.ron b/assets/common/items/armor/back/leather_adventurer.ron index 162f67ff32..0032013ba4 100644 --- a/assets/common/items/armor/back/leather_adventurer.ron +++ b/assets/common/items/armor/back/leather_adventurer.ron @@ -1,14 +1,12 @@ ItemDef( name: "Agile Cape", - description: "'Tightly packed pieces of leather to endure all weather.'", - kind: Armor( - ( - kind: Back("Short2"), - stats: ( - protection: Normal(0.2), - poise_protection: Normal(0.2), - ), - ) - ), + description: "\'Tightly packed pieces of leather to endure all weather.\'", + kind: Armor(( + kind: Back("Short2"), + stats: ( + protection: Normal(0.2), + poise_protection: Normal(0.1), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/back/short_0.ron b/assets/common/items/armor/back/short_0.ron index 20f2c15ba2..ff2962d3e9 100644 --- a/assets/common/items/armor/back/short_0.ron +++ b/assets/common/items/armor/back/short_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Short leather Cape", description: "Probably made of the finest leather.", - kind: Armor( - ( - kind: Back("Short0"), - stats: ( - protection: Normal(0.3), - poise_protection: Normal(0.3), - ), - ) - ), + kind: Armor(( + kind: Back("Short0"), + stats: ( + protection: Normal(0.3), + poise_protection: Normal(0.5), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/back/short_1.ron b/assets/common/items/armor/back/short_1.ron index 0dedb2118f..1391bbd026 100644 --- a/assets/common/items/armor/back/short_1.ron +++ b/assets/common/items/armor/back/short_1.ron @@ -1,14 +1,12 @@ ItemDef( name: "Green Blanket", description: "Keeps your shoulders warm.", - kind: Armor( - ( - kind: Back("Short1"), - stats: ( - protection: Normal(0.1), - poise_protection: Normal(0.1), - ), - ) - ), + kind: Armor(( + kind: Back("Short1"), + stats: ( + protection: Normal(0.1), + poise_protection: Normal(0.2), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/back/velorite_mage_0.ron b/assets/common/items/armor/back/velorite_mage_0.ron index 965418420d..50c2e7439c 100644 --- a/assets/common/items/armor/back/velorite_mage_0.ron +++ b/assets/common/items/armor/back/velorite_mage_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Velorite Battlemage Cloak", description: "Keeps your shoulders warm.", - kind: Armor( - ( - kind: Back("VeloriteMage0"), - stats: ( - protection: Normal(2.8), - poise_protection: Normal(2.8), - ), - ) - ), + kind: Armor(( + kind: Back("VeloriteMage0"), + stats: ( + protection: Normal(2.8), + poise_protection: Normal(2.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/back/warlock.ron b/assets/common/items/armor/back/warlock.ron index cbf2fba0ae..1be6ed6c67 100644 --- a/assets/common/items/armor/back/warlock.ron +++ b/assets/common/items/armor/back/warlock.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlock cape", description: "Belong to a mighty warlock.", - kind: Armor( - ( - kind: Back("Warlock"), - stats: ( - protection: Normal(4.0), - poise_protection: Normal(4.0), - ), - ) - ), + kind: Armor(( + kind: Back("Warlock"), + stats: ( + protection: Normal(4.0), + poise_protection: Normal(3.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/back/warlord.ron b/assets/common/items/armor/back/warlord.ron index d5de61e11f..4cc6532f28 100644 --- a/assets/common/items/armor/back/warlord.ron +++ b/assets/common/items/armor/back/warlord.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlord cape", description: "Belong to a mighty warlord.", - kind: Armor( - ( - kind: Back("Warlord"), - stats: ( - protection: Normal(4.0), - poise_protection: Normal(4.0), - ), - ) - ), + kind: Armor(( + kind: Back("Warlord"), + stats: ( + protection: Normal(4.0), + poise_protection: Normal(5.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/bag/heavy_seabag.ron b/assets/common/items/armor/bag/heavy_seabag.ron index d679a2070f..2327e210d8 100644 --- a/assets/common/items/armor/bag/heavy_seabag.ron +++ b/assets/common/items/armor/bag/heavy_seabag.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("BluePouch"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/bag/knitted_red_pouch.ron b/assets/common/items/armor/bag/knitted_red_pouch.ron index a3829eee99..dd2017f0a4 100644 --- a/assets/common/items/armor/bag/knitted_red_pouch.ron +++ b/assets/common/items/armor/bag/knitted_red_pouch.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("RedSmall"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/bag/liana_kit.ron b/assets/common/items/armor/bag/liana_kit.ron index 6bebf02b17..a79886f16b 100644 --- a/assets/common/items/armor/bag/liana_kit.ron +++ b/assets/common/items/armor/bag/liana_kit.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("GreenMid"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/bag/mindflayer_spellbag.ron b/assets/common/items/armor/bag/mindflayer_spellbag.ron index c9962ce616..8186a13b7c 100644 --- a/assets/common/items/armor/bag/mindflayer_spellbag.ron +++ b/assets/common/items/armor/bag/mindflayer_spellbag.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("PurpleSkull"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Epic, diff --git a/assets/common/items/armor/bag/reliable_backpack.ron b/assets/common/items/armor/bag/reliable_backpack.ron index 732bb75e69..af0805123f 100644 --- a/assets/common/items/armor/bag/reliable_backpack.ron +++ b/assets/common/items/armor/bag/reliable_backpack.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("LeatherLarge"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/bag/soulkeeper_cursed.ron b/assets/common/items/armor/bag/soulkeeper_cursed.ron index 237296d588..6d31fa30b7 100644 --- a/assets/common/items/armor/bag/soulkeeper_cursed.ron +++ b/assets/common/items/armor/bag/soulkeeper_cursed.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("RedFace"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Legendary, diff --git a/assets/common/items/armor/bag/soulkeeper_pure.ron b/assets/common/items/armor/bag/soulkeeper_pure.ron index 7cb1b49c62..2262852aae 100644 --- a/assets/common/items/armor/bag/soulkeeper_pure.ron +++ b/assets/common/items/armor/bag/soulkeeper_pure.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("BlueFace"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Legendary, diff --git a/assets/common/items/armor/bag/sturdy_red_backpack.ron b/assets/common/items/armor/bag/sturdy_red_backpack.ron index e46a915ef4..4864e10cd7 100644 --- a/assets/common/items/armor/bag/sturdy_red_backpack.ron +++ b/assets/common/items/armor/bag/sturdy_red_backpack.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("RedLarge"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/bag/tiny_leather_pouch.ron b/assets/common/items/armor/bag/tiny_leather_pouch.ron index 21d195fdca..01e1a728fc 100644 --- a/assets/common/items/armor/bag/tiny_leather_pouch.ron +++ b/assets/common/items/armor/bag/tiny_leather_pouch.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("LeatherSmall"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/bag/tiny_red_pouch.ron b/assets/common/items/armor/bag/tiny_red_pouch.ron index e8b944c994..25d2eb9566 100644 --- a/assets/common/items/armor/bag/tiny_red_pouch.ron +++ b/assets/common/items/armor/bag/tiny_red_pouch.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("RedTiny"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Common, diff --git a/assets/common/items/armor/bag/troll_hide_pack.ron b/assets/common/items/armor/bag/troll_hide_pack.ron index 242a32dc4d..848f2e0f74 100644 --- a/assets/common/items/armor/bag/troll_hide_pack.ron +++ b/assets/common/items/armor/bag/troll_hide_pack.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("GreenLarge"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: High, diff --git a/assets/common/items/armor/bag/woven_red_bag.ron b/assets/common/items/armor/bag/woven_red_bag.ron index fea605d7e3..bd3b7e6541 100644 --- a/assets/common/items/armor/bag/woven_red_bag.ron +++ b/assets/common/items/armor/bag/woven_red_bag.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("RedMed"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/belt/assassin.ron b/assets/common/items/armor/belt/assassin.ron index 1de9474589..82c3df79b3 100644 --- a/assets/common/items/armor/belt/assassin.ron +++ b/assets/common/items/armor/belt/assassin.ron @@ -1,14 +1,12 @@ ItemDef( name: "Assassin Belt", description: "Only the best for a member of the creed.", - kind: Armor( - ( - kind: Belt("Assassin"), - stats: ( - protection: Normal(2.0), - poise_protection: Normal(2.0), - ), - ) - ), + kind: Armor(( + kind: Belt("Assassin"), + stats: ( + protection: Normal(2.0), + poise_protection: Normal(1.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/bonerattler.ron b/assets/common/items/armor/belt/bonerattler.ron index 64332f2f29..e4f67b8b28 100644 --- a/assets/common/items/armor/belt/bonerattler.ron +++ b/assets/common/items/armor/belt/bonerattler.ron @@ -1,14 +1,12 @@ ItemDef( name: "Bonerattler Belt", description: "Sections of vertebrae fastened together with hide and a bonerattler eye for the buckle.", - kind: Armor( - ( - kind: Belt("Bonerattler"), - stats: ( - protection: Normal(3.0), - poise_protection: Normal(3.0), - ), - ) - ), + kind: Armor(( + kind: Belt("Bonerattler"), + stats: ( + protection: Normal(3.0), + poise_protection: Normal(5.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/cloth_blue_0.ron b/assets/common/items/armor/belt/cloth_blue_0.ron index fee453fca8..244b75327e 100644 --- a/assets/common/items/armor/belt/cloth_blue_0.ron +++ b/assets/common/items/armor/belt/cloth_blue_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Blue Linen Belt", description: "A stylish rough fabric belt, dyed blue.", - kind: Armor( - ( - kind: Belt("ClothBlue0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Belt("ClothBlue0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/cloth_green_0.ron b/assets/common/items/armor/belt/cloth_green_0.ron index 40778a4651..1ec3329ab2 100644 --- a/assets/common/items/armor/belt/cloth_green_0.ron +++ b/assets/common/items/armor/belt/cloth_green_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Green Linen Belt", description: "A stylish rough fabric belt, dyed green.", - kind: Armor( - ( - kind: Belt("ClothGreen0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Belt("ClothGreen0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/cloth_purple_0.ron b/assets/common/items/armor/belt/cloth_purple_0.ron index fe4ce1652d..7bfa7d79db 100644 --- a/assets/common/items/armor/belt/cloth_purple_0.ron +++ b/assets/common/items/armor/belt/cloth_purple_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Purple Linen Belt", description: "A stylish rough fabric belt, dyed purple.", - kind: Armor( - ( - kind: Belt("ClothPurple0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Belt("ClothPurple0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/cultist_belt.ron b/assets/common/items/armor/belt/cultist_belt.ron index 10459560db..ccadf899bd 100644 --- a/assets/common/items/armor/belt/cultist_belt.ron +++ b/assets/common/items/armor/belt/cultist_belt.ron @@ -1,14 +1,12 @@ ItemDef( name: "Cultist Belt", description: "Ceremonial attire used by members.", - kind: Armor( - ( - kind: Belt("Cultist"), - stats: ( - protection: Normal(6.0), - poise_protection: Normal(6.0), - ), - ) - ), + kind: Armor(( + kind: Belt("Cultist"), + stats: ( + protection: Normal(6.0), + poise_protection: Normal(5.0), + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/druid.ron b/assets/common/items/armor/belt/druid.ron index 8ad26c5363..8a671b09dc 100644 --- a/assets/common/items/armor/belt/druid.ron +++ b/assets/common/items/armor/belt/druid.ron @@ -1,14 +1,12 @@ ItemDef( - name: "Druid's Belt", + name: "Druid\'s Belt", description: "Twisted vines to keep everything secure.", - kind: Armor( - ( - kind: Belt("Druid"), - stats: ( - protection: Normal(2.0), - poise_protection: Normal(2.0), - ), - ) - ), + kind: Armor(( + kind: Belt("Druid"), + stats: ( + protection: Normal(2.0), + poise_protection: Normal(2.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/leather_0.ron b/assets/common/items/armor/belt/leather_0.ron index 5d690dd4be..bf46b063d9 100644 --- a/assets/common/items/armor/belt/leather_0.ron +++ b/assets/common/items/armor/belt/leather_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Swift Belt", description: "Swift like the wind.", - kind: Armor( - ( - kind: Belt("Leather0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Belt("Leather0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/leather_2.ron b/assets/common/items/armor/belt/leather_2.ron index ab1d303584..70bba71722 100644 --- a/assets/common/items/armor/belt/leather_2.ron +++ b/assets/common/items/armor/belt/leather_2.ron @@ -1,14 +1,12 @@ ItemDef( name: "Leather Belt", description: "A belt made from simple leather.", - kind: Armor( - ( - kind: Belt("Leather2"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Belt("Leather2"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/leather_adventurer.ron b/assets/common/items/armor/belt/leather_adventurer.ron index 7053be8dde..0052919082 100644 --- a/assets/common/items/armor/belt/leather_adventurer.ron +++ b/assets/common/items/armor/belt/leather_adventurer.ron @@ -1,14 +1,12 @@ ItemDef( name: "Agile Belt", - description: "'Tightly packed pieces of leather to endure all weather.'", - kind: Armor( - ( - kind: Belt("Leather2"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + description: "\'Tightly packed pieces of leather to endure all weather.\'", + kind: Armor(( + kind: Belt("Leather2"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/plate_0.ron b/assets/common/items/armor/belt/plate_0.ron index 5a1839243f..af5b4278e9 100644 --- a/assets/common/items/armor/belt/plate_0.ron +++ b/assets/common/items/armor/belt/plate_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Iron Belt", description: "A tanned leather belt with a forged iron buckle.", - kind: Armor( - ( - kind: Belt("Plate0"), - stats: ( - protection: Normal(3.0), - poise_protection: Normal(3.0), - ), - ) - ), + kind: Armor(( + kind: Belt("Plate0"), + stats: ( + protection: Normal(3.0), + poise_protection: Normal(4.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/steel_0.ron b/assets/common/items/armor/belt/steel_0.ron index 77dbbb4dd2..23c54dd287 100644 --- a/assets/common/items/armor/belt/steel_0.ron +++ b/assets/common/items/armor/belt/steel_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Steel Belt", description: "Metal alloy interlocking plates to improve protection.", - kind: Armor( - ( - kind: Belt("Steel0"), - stats: ( - protection: Normal(4.0), - poise_protection: Normal(4.0), - ), - ) - ), + kind: Armor(( + kind: Belt("Steel0"), + stats: ( + protection: Normal(4.0), + poise_protection: Normal(8.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/tarasque.ron b/assets/common/items/armor/belt/tarasque.ron index 7f106d5a1b..bb87abe2df 100644 --- a/assets/common/items/armor/belt/tarasque.ron +++ b/assets/common/items/armor/belt/tarasque.ron @@ -1,14 +1,12 @@ ItemDef( name: "Tarasque Belt", description: "Shattered band of a tarasque shell, making for a strong belt.", - kind: Armor( - ( - kind: Belt("Tarasque"), - stats: ( - protection: Normal(3.0), - poise_protection: Normal(3.0), - ), - ) - ), + kind: Armor(( + kind: Belt("Tarasque"), + stats: ( + protection: Normal(3.0), + poise_protection: Normal(5.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/twig.ron b/assets/common/items/armor/belt/twig.ron index 8bfd312f3f..9eea381016 100644 --- a/assets/common/items/armor/belt/twig.ron +++ b/assets/common/items/armor/belt/twig.ron @@ -1,14 +1,12 @@ ItemDef( name: "Twig Belt", description: "Small bits of nature magically held together into the shape of a belt.", - kind: Armor( - ( - kind: Belt("Twig"), - stats: ( - protection: Normal(2.0), - poise_protection: Normal(2.0), - ), - ) - ), + kind: Armor(( + kind: Belt("Twig"), + stats: ( + protection: Normal(2.0), + poise_protection: Normal(1.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/twigsflowers.ron b/assets/common/items/armor/belt/twigsflowers.ron index 1244ff9ad8..edccb1669f 100644 --- a/assets/common/items/armor/belt/twigsflowers.ron +++ b/assets/common/items/armor/belt/twigsflowers.ron @@ -1,14 +1,12 @@ ItemDef( name: "Flowery Belt", description: "Magically imbued twigs, held together with a flower intertwining its stem to hold the belt together.", - kind: Armor( - ( - kind: Belt("Twigsflowers"), - stats: ( - protection: Normal(2.0), - poise_protection: Normal(2.0), - ), - ) - ), + kind: Armor(( + kind: Belt("Twigsflowers"), + stats: ( + protection: Normal(2.0), + poise_protection: Normal(1.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/twigsleaves.ron b/assets/common/items/armor/belt/twigsleaves.ron index 0002f686ad..b415bf6278 100644 --- a/assets/common/items/armor/belt/twigsleaves.ron +++ b/assets/common/items/armor/belt/twigsleaves.ron @@ -1,14 +1,12 @@ ItemDef( name: "Leafy Belt", description: "Dried leaves cover over the standard twig belt, providing a slightly different texture.", - kind: Armor( - ( - kind: Belt("Twigsleaves"), - stats: ( - protection: Normal(2.0), - poise_protection: Normal(2.0), - ), - ) - ), + kind: Armor(( + kind: Belt("Twigsleaves"), + stats: ( + protection: Normal(2.0), + poise_protection: Normal(3.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/velorite_mage_0.ron b/assets/common/items/armor/belt/velorite_mage_0.ron index 0ad537c8c5..c43098f982 100644 --- a/assets/common/items/armor/belt/velorite_mage_0.ron +++ b/assets/common/items/armor/belt/velorite_mage_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Velorite Battlemage Belt", description: "", - kind: Armor( - ( - kind: Belt("VeloriteMage0"), - stats: ( - protection: Normal(5.8), - poise_protection: Normal(5.8), - ), - ) - ), + kind: Armor(( + kind: Belt("VeloriteMage0"), + stats: ( + protection: Normal(5.8), + poise_protection: Normal(5.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/warlock.ron b/assets/common/items/armor/belt/warlock.ron index 15b8470714..b210b580fb 100644 --- a/assets/common/items/armor/belt/warlock.ron +++ b/assets/common/items/armor/belt/warlock.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlock Belt", description: "Belong to a mighty warlock.", - kind: Armor( - ( - kind: Belt("Warlock"), - stats: ( - protection: Normal(8.0), - poise_protection: Normal(8.0), - ), - ) - ), + kind: Armor(( + kind: Belt("Warlock"), + stats: ( + protection: Normal(8.0), + poise_protection: Normal(7.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/belt/warlord.ron b/assets/common/items/armor/belt/warlord.ron index d45e522d53..2b072c4e53 100644 --- a/assets/common/items/armor/belt/warlord.ron +++ b/assets/common/items/armor/belt/warlord.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlord Belt", description: "Belong to a mighty warlord.", - kind: Armor( - ( - kind: Belt("Warlord"), - stats: ( - protection: Normal(8.0), - poise_protection: Normal(8.0), - ), - ) - ), + kind: Armor(( + kind: Belt("Warlord"), + stats: ( + protection: Normal(8.0), + poise_protection: Normal(5.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/assassin.ron b/assets/common/items/armor/chest/assassin.ron index 6113a1c565..3187fc429a 100644 --- a/assets/common/items/armor/chest/assassin.ron +++ b/assets/common/items/armor/chest/assassin.ron @@ -1,14 +1,12 @@ ItemDef( name: "Assassin Chest", description: "Only the best for a member of the creed.", - kind: Armor( - ( - kind: Chest("Assassin"), - stats: ( - protection: Normal(15.0), - poise_protection: Normal(15.0), - ), - ) - ), + kind: Armor(( + kind: Chest("Assassin"), + stats: ( + protection: Normal(15.0), + poise_protection: Normal(10.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/bonerattler.ron b/assets/common/items/armor/chest/bonerattler.ron index c798ba2f26..3949ff758a 100644 --- a/assets/common/items/armor/chest/bonerattler.ron +++ b/assets/common/items/armor/chest/bonerattler.ron @@ -1,14 +1,12 @@ ItemDef( name: "Bonerattler Cuirass", description: "The spiny back and hide of a bonerattler fastened together into a protective cuirass.", - kind: Armor( - ( - kind: Chest("Bonerattler"), - stats: ( - protection: Normal(25.0), - poise_protection: Normal(25.0), - ), - ) - ), + kind: Armor(( + kind: Chest("Bonerattler"), + stats: ( + protection: Normal(25.0), + poise_protection: Normal(35.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/cloth_blue_0.ron b/assets/common/items/armor/chest/cloth_blue_0.ron index e0e486ad74..ddffa3c1c4 100644 --- a/assets/common/items/armor/chest/cloth_blue_0.ron +++ b/assets/common/items/armor/chest/cloth_blue_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Blue Linen Chest", description: "A stylish rough fabric surcoat, dyed blue.", - kind: Armor( - ( - kind: Chest("ClothBlue0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Chest("ClothBlue0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/cloth_green_0.ron b/assets/common/items/armor/chest/cloth_green_0.ron index 34916646a9..0bc51f37b4 100644 --- a/assets/common/items/armor/chest/cloth_green_0.ron +++ b/assets/common/items/armor/chest/cloth_green_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Green Linen Chest", description: "A stylish rough fabric surcoat, dyed green.", - kind: Armor( - ( - kind: Chest("ClothGreen0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Chest("ClothGreen0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/cloth_purple_0.ron b/assets/common/items/armor/chest/cloth_purple_0.ron index c387c407c5..b0cf7f56f3 100644 --- a/assets/common/items/armor/chest/cloth_purple_0.ron +++ b/assets/common/items/armor/chest/cloth_purple_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Purple Linen Chest", description: "A stylish rough fabric surcoat, dyed purple.", - kind: Armor( - ( - kind: Chest("ClothPurple0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Chest("ClothPurple0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/cultist_chest_blue.ron b/assets/common/items/armor/chest/cultist_chest_blue.ron index 1a0544647e..49ec4b6f23 100644 --- a/assets/common/items/armor/chest/cultist_chest_blue.ron +++ b/assets/common/items/armor/chest/cultist_chest_blue.ron @@ -1,14 +1,12 @@ ItemDef( name: "Velorite Chest", description: "Ceremonial attire used by members.", - kind: Armor( - ( - kind: Chest("VeloriteMage0"), - stats: ( - protection: Normal(30.0), - poise_protection: Normal(30.0), - ), - ) - ), + kind: Armor(( + kind: Chest("VeloriteMage0"), + stats: ( + protection: Normal(30.0), + poise_protection: Normal(15.0), + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/cultist_chest_purple.ron b/assets/common/items/armor/chest/cultist_chest_purple.ron index c0ae9ce679..82201b964e 100644 --- a/assets/common/items/armor/chest/cultist_chest_purple.ron +++ b/assets/common/items/armor/chest/cultist_chest_purple.ron @@ -1,14 +1,12 @@ ItemDef( name: "Purple Cultist Chest", description: "Ceremonial attire used by members.", - kind: Armor( - ( - kind: Chest("CultistPurple"), - stats: ( - protection: Normal(30.0), - poise_protection: Normal(30.0), - ), - ) - ), + kind: Armor(( + kind: Chest("CultistPurple"), + stats: ( + protection: Normal(30.0), + poise_protection: Normal(15.0), + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/druid.ron b/assets/common/items/armor/chest/druid.ron index eb0ab16c9e..2c70e7923f 100644 --- a/assets/common/items/armor/chest/druid.ron +++ b/assets/common/items/armor/chest/druid.ron @@ -1,14 +1,12 @@ ItemDef( - name: "Druid's Vest", + name: "Druid\'s Vest", description: "Vines and leaves formed into a tunic.", - kind: Armor( - ( - kind: Chest("Druid"), - stats: ( - protection: Normal(6.0), - poise_protection: Normal(6.0), - ), - ) - ), + kind: Armor(( + kind: Chest("Druid"), + stats: ( + protection: Normal(6.0), + poise_protection: Normal(4.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/leather_0.ron b/assets/common/items/armor/chest/leather_0.ron index 813ac219dd..81e07c395f 100644 --- a/assets/common/items/armor/chest/leather_0.ron +++ b/assets/common/items/armor/chest/leather_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Swift Chest", description: "Swift like the wind.", - kind: Armor( - ( - kind: Chest("Leather0"), - stats: ( - protection: Normal(10.0), - poise_protection: Normal(10.0), - ), - ) - ), + kind: Armor(( + kind: Chest("Leather0"), + stats: ( + protection: Normal(10.0), + poise_protection: Normal(7.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/leather_2.ron b/assets/common/items/armor/chest/leather_2.ron index a70d363825..8fa3bf79ac 100644 --- a/assets/common/items/armor/chest/leather_2.ron +++ b/assets/common/items/armor/chest/leather_2.ron @@ -1,14 +1,12 @@ ItemDef( name: "Leather Cuirass", description: "A cuirass made of simple leather.", - kind: Armor( - ( - kind: Chest("Leather2"), - stats: ( - protection: Normal(10.0), - poise_protection: Normal(10.0), - ), - ) - ), + kind: Armor(( + kind: Chest("Leather2"), + stats: ( + protection: Normal(10.0), + poise_protection: Normal(8.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/leather_adventurer.ron b/assets/common/items/armor/chest/leather_adventurer.ron index fabc88942e..f717e6addb 100644 --- a/assets/common/items/armor/chest/leather_adventurer.ron +++ b/assets/common/items/armor/chest/leather_adventurer.ron @@ -1,14 +1,12 @@ ItemDef( name: "Agile Chest", - description: "'Tightly packed pieces of leather to endure all weather.'", - kind: Armor( - ( - kind: Chest("Leather2"), - stats: ( - protection: Normal(8.0), - poise_protection: Normal(8.0), - ), - ) - ), + description: "Tightly packed pieces of leather to endure all weather.", + kind: Armor(( + kind: Chest("Leather2"), + stats: ( + protection: Normal(8.0), + poise_protection: Normal(3.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/plate_green_0.ron b/assets/common/items/armor/chest/plate_green_0.ron index ca63bac807..7448fdc129 100644 --- a/assets/common/items/armor/chest/plate_green_0.ron +++ b/assets/common/items/armor/chest/plate_green_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Iron Chestplate", description: "Formed iron plate resulting in very heavy but solid protection, worn over a simple rough linen shirt, dyed green.", - kind: Armor( - ( - kind: Chest("PlateGreen0"), - stats: ( - protection: Normal(20.0), - poise_protection: Normal(20.0), - ), - ) - ), + kind: Armor(( + kind: Chest("PlateGreen0"), + stats: ( + protection: Normal(20.0), + poise_protection: Normal(18.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/rugged_chest.ron b/assets/common/items/armor/chest/rugged_chest.ron new file mode 100644 index 0000000000..3bff40df6d --- /dev/null +++ b/assets/common/items/armor/chest/rugged_chest.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Rugged Shirt", + description: "Smells like Adventure.", + kind: Armor(( + kind: Chest("Rugged0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), + quality: Low, +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/steel_0.ron b/assets/common/items/armor/chest/steel_0.ron index 38d39923ca..dab33b0f1e 100644 --- a/assets/common/items/armor/chest/steel_0.ron +++ b/assets/common/items/armor/chest/steel_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Steel Cuirass", description: "The metal alloy provides a somewhat lighter and stronger cuirass.", - kind: Armor( - ( - kind: Chest("Steel0"), - stats: ( - protection: Normal(25.0), - poise_protection: Normal(25.0), - ), - ) - ), + kind: Armor(( + kind: Chest("Steel0"), + stats: ( + protection: Normal(25.0), + poise_protection: Normal(40.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/tarasque.ron b/assets/common/items/armor/chest/tarasque.ron index 12c45f6205..261471590c 100644 --- a/assets/common/items/armor/chest/tarasque.ron +++ b/assets/common/items/armor/chest/tarasque.ron @@ -1,14 +1,12 @@ ItemDef( name: "Tarasque Cuirass", - description: "The rough protective underbelly and back of a tarasque's shell, formed to fit humanoid proportions.", - kind: Armor( - ( - kind: Chest("Tarasque"), - stats: ( - protection: Normal(25.0), - poise_protection: Normal(25.0), - ), - ) - ), + description: "The rough protective underbelly and back of a tarasque\'s shell, formed to fit humanoid proportions.", + kind: Armor(( + kind: Chest("Tarasque"), + stats: ( + protection: Normal(25.0), + poise_protection: Normal(30.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/twig.ron b/assets/common/items/armor/chest/twig.ron index 61ecf0cdfa..38b965b741 100644 --- a/assets/common/items/armor/chest/twig.ron +++ b/assets/common/items/armor/chest/twig.ron @@ -1,14 +1,12 @@ ItemDef( name: "Twig Shirt", description: "Small sticks magically imbued to hold together to form a shirt.", - kind: Armor( - ( - kind: Chest("Twig"), - stats: ( - protection: Normal(15.0), - poise_protection: Normal(15.0), - ), - ) - ), + kind: Armor(( + kind: Chest("Twig"), + stats: ( + protection: Normal(15.0), + poise_protection: Normal(10.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/twigsflowers.ron b/assets/common/items/armor/chest/twigsflowers.ron index 1adb866952..f7a1bfd169 100644 --- a/assets/common/items/armor/chest/twigsflowers.ron +++ b/assets/common/items/armor/chest/twigsflowers.ron @@ -1,14 +1,12 @@ ItemDef( name: "Flowery Shirt", description: "Magically imbued twigs decorated with flowers and their stems, letting others know your intentions of peace and love.", - kind: Armor( - ( - kind: Chest("Twigsflowers"), - stats: ( - protection: Normal(15.0), - poise_protection: Normal(15.0), - ), - ) - ), + kind: Armor(( + kind: Chest("Twigsflowers"), + stats: ( + protection: Normal(15.0), + poise_protection: Normal(8.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/twigsleaves.ron b/assets/common/items/armor/chest/twigsleaves.ron index b0a056a2fb..d8fdb9334c 100644 --- a/assets/common/items/armor/chest/twigsleaves.ron +++ b/assets/common/items/armor/chest/twigsleaves.ron @@ -1,14 +1,12 @@ ItemDef( name: "Leafy Shirt", description: "Leaves cover the magically imbued twig shirt, providing a more natural appearance.", - kind: Armor( - ( - kind: Chest("Twigsleaves"), - stats: ( - protection: Normal(15.0), - poise_protection: Normal(15.0), - ), - ) - ), + kind: Armor(( + kind: Chest("Twigsleaves"), + stats: ( + protection: Normal(15.0), + poise_protection: Normal(10.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/velorite_mage_0.ron b/assets/common/items/armor/chest/velorite_mage_0.ron index 2b8fb3a339..19690922fc 100644 --- a/assets/common/items/armor/chest/velorite_mage_0.ron +++ b/assets/common/items/armor/chest/velorite_mage_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Velorite Battlemage Vest", description: "", - kind: Armor( - ( - kind: Chest("VeloriteMage0"), - stats: ( - protection: Normal(28.0), - poise_protection: Normal(28.0), - ), - ) - ), + kind: Armor(( + kind: Chest("VeloriteMage0"), + stats: ( + protection: Normal(28.0), + poise_protection: Normal(20.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/warlock.ron b/assets/common/items/armor/chest/warlock.ron index 2d26ff39b0..5b74429801 100644 --- a/assets/common/items/armor/chest/warlock.ron +++ b/assets/common/items/armor/chest/warlock.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlock Vest", description: "Belong to a mighty warlock.", - kind: Armor( - ( - kind: Chest("Warlock"), - stats: ( - protection: Normal(40.0), - poise_protection: Normal(40.0), - ), - ) - ), + kind: Armor(( + kind: Chest("Warlock"), + stats: ( + protection: Normal(40.0), + poise_protection: Normal(29.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/warlord.ron b/assets/common/items/armor/chest/warlord.ron index 424f348ee1..86c32007bd 100644 --- a/assets/common/items/armor/chest/warlord.ron +++ b/assets/common/items/armor/chest/warlord.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlord Cuirass", description: "Belong to a mighty warlord.", - kind: Armor( - ( - kind: Chest("Warlord"), - stats: ( - protection: Normal(40.0), - poise_protection: Normal(40.0), - ), - ) - ), + kind: Armor(( + kind: Chest("Warlord"), + stats: ( + protection: Normal(40.0), + poise_protection: Normal(29.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/worker_green_0.ron b/assets/common/items/armor/chest/worker_green_0.ron index 8ce2830435..9895131a50 100644 --- a/assets/common/items/armor/chest/worker_green_0.ron +++ b/assets/common/items/armor/chest/worker_green_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Green Worker Shirt", description: "Was used by a farmer, until recently.", - kind: Armor( - ( - kind: Chest("WorkerGreen0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Chest("WorkerGreen0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/worker_green_1.ron b/assets/common/items/armor/chest/worker_green_1.ron index 3f8cf13375..8426dc28f5 100644 --- a/assets/common/items/armor/chest/worker_green_1.ron +++ b/assets/common/items/armor/chest/worker_green_1.ron @@ -1,14 +1,12 @@ ItemDef( name: "Green Worker Shirt", description: "Was used by a farmer, until recently.", - kind: Armor( - ( - kind: Chest("WorkerGreen1"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Chest("WorkerGreen1"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/worker_orange_0.ron b/assets/common/items/armor/chest/worker_orange_0.ron index 292eec0530..bd4e8fb522 100644 --- a/assets/common/items/armor/chest/worker_orange_0.ron +++ b/assets/common/items/armor/chest/worker_orange_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Orange Worker Shirt", description: "Was used by a farmer, until recently.", - kind: Armor( - ( - kind: Chest("WorkerOrange0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Chest("WorkerOrange0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/worker_orange_1.ron b/assets/common/items/armor/chest/worker_orange_1.ron index a24a8fb2b6..8e689c7f66 100644 --- a/assets/common/items/armor/chest/worker_orange_1.ron +++ b/assets/common/items/armor/chest/worker_orange_1.ron @@ -1,14 +1,12 @@ ItemDef( name: "Orange Worker Shirt", description: "Was used by a farmer, until recently.", - kind: Armor( - ( - kind: Chest("WorkerOrange1"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Chest("WorkerOrange1"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/worker_purple_0.ron b/assets/common/items/armor/chest/worker_purple_0.ron index c125f34903..606aec6417 100644 --- a/assets/common/items/armor/chest/worker_purple_0.ron +++ b/assets/common/items/armor/chest/worker_purple_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Purple Worker Shirt", description: "Was used by a farmer, until recently.", - kind: Armor( - ( - kind: Chest("WorkerPurple0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Chest("WorkerPurple0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/worker_purple_1.ron b/assets/common/items/armor/chest/worker_purple_1.ron index eac9d1046d..625a81638e 100644 --- a/assets/common/items/armor/chest/worker_purple_1.ron +++ b/assets/common/items/armor/chest/worker_purple_1.ron @@ -1,14 +1,12 @@ ItemDef( name: "Purple Worker Shirt", description: "Was used by a farmer, until recently.", - kind: Armor( - ( - kind: Chest("WorkerPurple1"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Chest("WorkerPurple1"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/worker_red_0.ron b/assets/common/items/armor/chest/worker_red_0.ron index c7585b7a19..8eee348d9f 100644 --- a/assets/common/items/armor/chest/worker_red_0.ron +++ b/assets/common/items/armor/chest/worker_red_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Red Worker Shirt", description: "Was used by a farmer, until recently.", - kind: Armor( - ( - kind: Chest("WorkerRed0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Chest("WorkerRed0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/worker_red_1.ron b/assets/common/items/armor/chest/worker_red_1.ron index f32c5fdb4d..3f61bbb680 100644 --- a/assets/common/items/armor/chest/worker_red_1.ron +++ b/assets/common/items/armor/chest/worker_red_1.ron @@ -1,14 +1,12 @@ ItemDef( name: "Red Worker Shirt", description: "Was used by a farmer, until recently.", - kind: Armor( - ( - kind: Chest("WorkerRed1"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Chest("WorkerRed1"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/worker_yellow_0.ron b/assets/common/items/armor/chest/worker_yellow_0.ron index fed422d41e..01d0c8505d 100644 --- a/assets/common/items/armor/chest/worker_yellow_0.ron +++ b/assets/common/items/armor/chest/worker_yellow_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Yellow Worker Shirt", description: "Was used by a farmer, until recently.", - kind: Armor( - ( - kind: Chest("WorkerYellow0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Chest("WorkerYellow0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/worker_yellow_1.ron b/assets/common/items/armor/chest/worker_yellow_1.ron index 74afcc1a29..a7e6056262 100644 --- a/assets/common/items/armor/chest/worker_yellow_1.ron +++ b/assets/common/items/armor/chest/worker_yellow_1.ron @@ -1,14 +1,12 @@ ItemDef( name: "Yellow Worker Shirt", description: "Was used by a farmer, until recently.", - kind: Armor( - ( - kind: Chest("WorkerYellow1"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Chest("WorkerYellow1"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/assassin.ron b/assets/common/items/armor/foot/assassin.ron index 7b9294970e..47c89fd869 100644 --- a/assets/common/items/armor/foot/assassin.ron +++ b/assets/common/items/armor/foot/assassin.ron @@ -1,14 +1,12 @@ ItemDef( name: "Assassin Boots", description: "Only the best for a member of the creed.", - kind: Armor( - ( - kind: Foot("Assassin"), - stats: ( - protection: Normal(4.0), - poise_protection: Normal(4.0), - ), - ) - ), + kind: Armor(( + kind: Foot("Assassin"), + stats: ( + protection: Normal(4.0), + poise_protection: Normal(2.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/bonerattler.ron b/assets/common/items/armor/foot/bonerattler.ron index d0c62846ae..80bae2b93d 100644 --- a/assets/common/items/armor/foot/bonerattler.ron +++ b/assets/common/items/armor/foot/bonerattler.ron @@ -1,14 +1,12 @@ ItemDef( name: "Bonerattler Boots", description: "Boots made from the claws and hide of a bonerattler.", - kind: Armor( - ( - kind: Foot("Bonerattler"), - stats: ( - protection: Normal(5.0), - poise_protection: Normal(5.0), - ), - ) - ), + kind: Armor(( + kind: Foot("Bonerattler"), + stats: ( + protection: Normal(5.0), + poise_protection: Normal(10.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/cloth_blue_0.ron b/assets/common/items/armor/foot/cloth_blue_0.ron index 0cc4f2312e..df4dbcc8d3 100644 --- a/assets/common/items/armor/foot/cloth_blue_0.ron +++ b/assets/common/items/armor/foot/cloth_blue_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Blue Linen Boots", description: "Cobbled rough fabric boots, dyed blue.", - kind: Armor( - ( - kind: Foot("ClothBlue0"), - stats: ( - protection: Normal(0.0), - poise_protection: Normal(0.0), - ), - ) - ), + kind: Armor(( + kind: Foot("ClothBlue0"), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/cloth_green_0.ron b/assets/common/items/armor/foot/cloth_green_0.ron index 5fcbb896a0..87de9052ae 100644 --- a/assets/common/items/armor/foot/cloth_green_0.ron +++ b/assets/common/items/armor/foot/cloth_green_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Green Linen Boots", description: "Cobbled rough fabric boots, dyed green.", - kind: Armor( - ( - kind: Foot("ClothGreen0"), - stats: ( - protection: Normal(0.0), - poise_protection: Normal(0.0), - ), - ) - ), + kind: Armor(( + kind: Foot("ClothGreen0"), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/cloth_purple_0.ron b/assets/common/items/armor/foot/cloth_purple_0.ron index 81ecbab724..cae5b9cbe1 100644 --- a/assets/common/items/armor/foot/cloth_purple_0.ron +++ b/assets/common/items/armor/foot/cloth_purple_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Purple Linen Boots", description: "Cobbled rough fabric boots, dyed purple.", - kind: Armor( - ( - kind: Foot("ClothPurple0"), - stats: ( - protection: Normal(0.0), - poise_protection: Normal(0.0), - ), - ) - ), + kind: Armor(( + kind: Foot("ClothPurple0"), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/cultist_boots.ron b/assets/common/items/armor/foot/cultist_boots.ron index 862c9613c7..7706cc1df2 100644 --- a/assets/common/items/armor/foot/cultist_boots.ron +++ b/assets/common/items/armor/foot/cultist_boots.ron @@ -1,14 +1,12 @@ ItemDef( name: "Cultist Boots", description: "Ceremonial attire used by members.", - kind: Armor( - ( - kind: Foot("Cultist"), - stats: ( - protection: Normal(6.0), - poise_protection: Normal(6.0), - ), - ) - ), + kind: Armor(( + kind: Foot("Cultist"), + stats: ( + protection: Normal(6.0), + poise_protection: Normal(3.0), + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/druid.ron b/assets/common/items/armor/foot/druid.ron index 81598674ae..22fda43cce 100644 --- a/assets/common/items/armor/foot/druid.ron +++ b/assets/common/items/armor/foot/druid.ron @@ -1,14 +1,12 @@ ItemDef( - name: "Druid's Slippers", + name: "Druid\'s Slippers", description: "For treading softly through the woods.", - kind: Armor( - ( - kind: Foot("Druid"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Foot("Druid"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/jackalope_slippers.ron b/assets/common/items/armor/foot/jackalope_slippers.ron index 147cf08aff..e7560776a9 100644 --- a/assets/common/items/armor/foot/jackalope_slippers.ron +++ b/assets/common/items/armor/foot/jackalope_slippers.ron @@ -1,14 +1,12 @@ ItemDef( name: "Fluffy Jackalope Slippers", description: "So warm and cozy!", - kind: Armor( - ( - kind: Foot("JackalopeSlips"), - stats: ( - protection: Normal(0.0), - poise_protection: Normal(0.0), - ), - ) - ), + kind: Armor(( + kind: Foot("JackalopeSlips"), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(10.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/leather_0.ron b/assets/common/items/armor/foot/leather_0.ron index 7b73d97d51..f3bc007f24 100644 --- a/assets/common/items/armor/foot/leather_0.ron +++ b/assets/common/items/armor/foot/leather_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Swift Boots", description: "Swift like the wind.", - kind: Armor( - ( - kind: Foot("Leather0"), - stats: ( - protection: Normal(2.0), - poise_protection: Normal(2.0), - ), - ) - ), + kind: Armor(( + kind: Foot("Leather0"), + stats: ( + protection: Normal(2.0), + poise_protection: Normal(2.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/leather_2.ron b/assets/common/items/armor/foot/leather_2.ron index 7f9692e7ac..7155635ac4 100644 --- a/assets/common/items/armor/foot/leather_2.ron +++ b/assets/common/items/armor/foot/leather_2.ron @@ -1,14 +1,12 @@ ItemDef( name: "Leather Boots", description: "Boots made of simple leather.", - kind: Armor( - ( - kind: Foot("Leather2"), - stats: ( - protection: Normal(2.0), - poise_protection: Normal(2.0), - ), - ) - ), + kind: Armor(( + kind: Foot("Leather2"), + stats: ( + protection: Normal(2.0), + poise_protection: Normal(3.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/leather_adventurer.ron b/assets/common/items/armor/foot/leather_adventurer.ron index bca44d8e63..dde7c383e2 100644 --- a/assets/common/items/armor/foot/leather_adventurer.ron +++ b/assets/common/items/armor/foot/leather_adventurer.ron @@ -1,14 +1,12 @@ ItemDef( name: "Agile Kickers", - description: "'Tightly packed pieces of leather to endure all weather.", - kind: Armor( - ( - kind: Foot("Leather2"), - stats: ( - protection: Normal(2.0), - poise_protection: Normal(2.0), - ), - ) - ), + description: "\'Tightly packed pieces of leather to endure all weather.", + kind: Armor(( + kind: Foot("Leather2"), + stats: ( + protection: Normal(2.0), + poise_protection: Normal(1.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/plate_0.ron b/assets/common/items/armor/foot/plate_0.ron index a8fe2e35b6..625f267e1c 100644 --- a/assets/common/items/armor/foot/plate_0.ron +++ b/assets/common/items/armor/foot/plate_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Iron Feet", description: "Quickly shaped iron plates, forming boots that are uncomfortable but durable.", - kind: Armor( - ( - kind: Foot("Plate0"), - stats: ( - protection: Normal(4.0), - poise_protection: Normal(4.0), - ), - ) - ), + kind: Armor(( + kind: Foot("Plate0"), + stats: ( + protection: Normal(4.0), + poise_protection: Normal(8.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/sandals_0.ron b/assets/common/items/armor/foot/sandals_0.ron new file mode 100644 index 0000000000..c31247236b --- /dev/null +++ b/assets/common/items/armor/foot/sandals_0.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Worn out Sandals", + description: "Loyal companions.", + kind: Armor(( + kind: Foot("Sandal0"), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), + )), + quality: Low, +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/steel_0.ron b/assets/common/items/armor/foot/steel_0.ron index e0149a53bc..17a7530e2b 100644 --- a/assets/common/items/armor/foot/steel_0.ron +++ b/assets/common/items/armor/foot/steel_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Steel Boots", description: "Metal alloy boots providing a more comfortable and durable protection.", - kind: Armor( - ( - kind: Foot("Steel0"), - stats: ( - protection: Normal(5.0), - poise_protection: Normal(5.0), - ), - ) - ), + kind: Armor(( + kind: Foot("Steel0"), + stats: ( + protection: Normal(5.0), + poise_protection: Normal(10.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/tarasque.ron b/assets/common/items/armor/foot/tarasque.ron index 943cabc984..f7f74d5491 100644 --- a/assets/common/items/armor/foot/tarasque.ron +++ b/assets/common/items/armor/foot/tarasque.ron @@ -1,14 +1,12 @@ ItemDef( name: "Tarasque Boots", - description: "Tarasque claws form the outside of these boots, protecting the wearer's feet.", - kind: Armor( - ( - kind: Foot("Tarasque"), - stats: ( - protection: Normal(5.0), - poise_protection: Normal(5.0), - ), - ) - ), + description: "Tarasque claws form the outside of these boots, protecting the wearer\'s feet.", + kind: Armor(( + kind: Foot("Tarasque"), + stats: ( + protection: Normal(5.0), + poise_protection: Normal(9.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/twig.ron b/assets/common/items/armor/foot/twig.ron index dfcb6d69b1..857f7d3d03 100644 --- a/assets/common/items/armor/foot/twig.ron +++ b/assets/common/items/armor/foot/twig.ron @@ -1,14 +1,12 @@ ItemDef( name: "Twig Boots", description: "Small twigs intertwined and imbued with magic to provide simple protection.", - kind: Armor( - ( - kind: Foot("Twig"), - stats: ( - protection: Normal(3.0), - poise_protection: Normal(3.0), - ), - ) - ), + kind: Armor(( + kind: Foot("Twig"), + stats: ( + protection: Normal(3.0), + poise_protection: Normal(2.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/twigsflowers.ron b/assets/common/items/armor/foot/twigsflowers.ron index 63f231bae6..90cf78f704 100644 --- a/assets/common/items/armor/foot/twigsflowers.ron +++ b/assets/common/items/armor/foot/twigsflowers.ron @@ -1,14 +1,12 @@ ItemDef( name: "Flowery Boots", description: "Woven and magically imbued, these boots of twigs and flowers provide simple protection and peace to the wearer.", - kind: Armor( - ( - kind: Foot("Twigsflowers"), - stats: ( - protection: Normal(3.0), - poise_protection: Normal(3.0), - ), - ) - ), + kind: Armor(( + kind: Foot("Twigsflowers"), + stats: ( + protection: Normal(3.0), + poise_protection: Normal(2.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/twigsleaves.ron b/assets/common/items/armor/foot/twigsleaves.ron index 75f3b9d45a..9bfada7d9a 100644 --- a/assets/common/items/armor/foot/twigsleaves.ron +++ b/assets/common/items/armor/foot/twigsleaves.ron @@ -1,14 +1,12 @@ ItemDef( name: "Leafy Boots", description: "Leaves cover the magically entwined twigs to provide simple protection from the elements.", - kind: Armor( - ( - kind: Foot("Twigsleaves"), - stats: ( - protection: Normal(3.0), - poise_protection: Normal(3.0), - ), - ) - ), + kind: Armor(( + kind: Foot("Twigsleaves"), + stats: ( + protection: Normal(3.0), + poise_protection: Normal(2.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/velorite_mage_0.ron b/assets/common/items/armor/foot/velorite_mage_0.ron index f1cbf70c86..25105b5a82 100644 --- a/assets/common/items/armor/foot/velorite_mage_0.ron +++ b/assets/common/items/armor/foot/velorite_mage_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Velorite Battlemage Boots", description: "", - kind: Armor( - ( - kind: Foot("VeloriteMage0"), - stats: ( - protection: Normal(5.9), - poise_protection: Normal(5.9), - ), - ) - ), + kind: Armor(( + kind: Foot("VeloriteMage0"), + stats: ( + protection: Normal(5.9), + poise_protection: Normal(5.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/warlock.ron b/assets/common/items/armor/foot/warlock.ron index 6aa7b9a91e..4e4a8223c4 100644 --- a/assets/common/items/armor/foot/warlock.ron +++ b/assets/common/items/armor/foot/warlock.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlock Slippers", description: "Belong to a mighty warlock.", - kind: Armor( - ( - kind: Foot("Warlock"), - stats: ( - protection: Normal(8.0), - poise_protection: Normal(8.0), - ), - ) - ), + kind: Armor(( + kind: Foot("Warlock"), + stats: ( + protection: Normal(8.0), + poise_protection: Normal(5.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/warlord.ron b/assets/common/items/armor/foot/warlord.ron index a3a4bbc84e..8233a71004 100644 --- a/assets/common/items/armor/foot/warlord.ron +++ b/assets/common/items/armor/foot/warlord.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlord Feet", description: "Belong to a mighty warlord.", - kind: Armor( - ( - kind: Foot("Warlord"), - stats: ( - protection: Normal(8.0), - poise_protection: Normal(8.0), - ), - ) - ), + kind: Armor(( + kind: Foot("Warlord"), + stats: ( + protection: Normal(8.0), + poise_protection: Normal(6.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/assassin.ron b/assets/common/items/armor/hand/assassin.ron index 95450cc92d..b62b7af3a1 100644 --- a/assets/common/items/armor/hand/assassin.ron +++ b/assets/common/items/armor/hand/assassin.ron @@ -1,14 +1,12 @@ ItemDef( name: "Assassin Gloves", description: "Only the best for a member of the creed.", - kind: Armor( - ( - kind: Hand("Assassin"), - stats: ( - protection: Normal(6.0), - poise_protection: Normal(6.0), - ), - ) - ), + kind: Armor(( + kind: Hand("Assassin"), + stats: ( + protection: Normal(6.0), + poise_protection: Normal(3.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/bonerattler.ron b/assets/common/items/armor/hand/bonerattler.ron index d78f676564..02301694c5 100644 --- a/assets/common/items/armor/hand/bonerattler.ron +++ b/assets/common/items/armor/hand/bonerattler.ron @@ -1,14 +1,12 @@ ItemDef( name: "Bonerattler Gauntlets", description: "The hide and bone from a bonerattler provide strong protection for the wearer.", - kind: Armor( - ( - kind: Hand("Bonerattler"), - stats: ( - protection: Normal(10.0), - poise_protection: Normal(10.0), - ), - ) - ), + kind: Armor(( + kind: Hand("Bonerattler"), + stats: ( + protection: Normal(10.0), + poise_protection: Normal(12.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/cloth_blue_0.ron b/assets/common/items/armor/hand/cloth_blue_0.ron index baef2df7da..4244708141 100644 --- a/assets/common/items/armor/hand/cloth_blue_0.ron +++ b/assets/common/items/armor/hand/cloth_blue_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Blue Linen Wrists", description: "Rough cloth bracelets provide a stylish fashion statement, dyed blue.", - kind: Armor( - ( - kind: Hand("ClothBlue0"), - stats: ( - protection: Normal(0.0), - poise_protection: Normal(0.0), - ), - ) - ), + kind: Armor(( + kind: Hand("ClothBlue0"), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/cloth_green_0.ron b/assets/common/items/armor/hand/cloth_green_0.ron index d17e6b63fb..f6ff4a304d 100644 --- a/assets/common/items/armor/hand/cloth_green_0.ron +++ b/assets/common/items/armor/hand/cloth_green_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Green Linen Wrists", description: "Rough cloth bracelets provide a stylish fashion statement, dyed green.", - kind: Armor( - ( - kind: Hand("ClothGreen0"), - stats: ( - protection: Normal(0.0), - poise_protection: Normal(0.0), - ), - ) - ), + kind: Armor(( + kind: Hand("ClothGreen0"), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/cloth_purple_0.ron b/assets/common/items/armor/hand/cloth_purple_0.ron index f0a7d6b253..f690a0e462 100644 --- a/assets/common/items/armor/hand/cloth_purple_0.ron +++ b/assets/common/items/armor/hand/cloth_purple_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Purple Silk Wrists", description: "Rough cloth bracelets provide a stylish fashion statement, dyed purple.", - kind: Armor( - ( - kind: Hand("ClothPurple0"), - stats: ( - protection: Normal(0.0), - poise_protection: Normal(0.0), - ), - ) - ), + kind: Armor(( + kind: Hand("ClothPurple0"), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/cultist_hands_blue.ron b/assets/common/items/armor/hand/cultist_hands_blue.ron index 2fe9f2b680..030a7810b6 100644 --- a/assets/common/items/armor/hand/cultist_hands_blue.ron +++ b/assets/common/items/armor/hand/cultist_hands_blue.ron @@ -1,14 +1,12 @@ ItemDef( name: "Velorite Gloves", description: "Ceremonial attire used by members.", - kind: Armor( - ( - kind: Hand("VeloriteMage0"), - stats: ( - protection: Normal(12.0), - poise_protection: Normal(12.0), - ), - ) - ), + kind: Armor(( + kind: Hand("VeloriteMage0"), + stats: ( + protection: Normal(12.0), + poise_protection: Normal(10.0), + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/cultist_hands_purple.ron b/assets/common/items/armor/hand/cultist_hands_purple.ron index 51dd24f8c4..bca58dc2de 100644 --- a/assets/common/items/armor/hand/cultist_hands_purple.ron +++ b/assets/common/items/armor/hand/cultist_hands_purple.ron @@ -1,14 +1,12 @@ ItemDef( name: "Purple Cultist Gloves", description: "Ceremonial attire used by members.", - kind: Armor( - ( - kind: Hand("CultistPurple"), - stats: ( - protection: Normal(12.0), - poise_protection: Normal(12.0), - ), - ) - ), + kind: Armor(( + kind: Hand("CultistPurple"), + stats: ( + protection: Normal(12.0), + poise_protection: Normal(8.0), + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/druid.ron b/assets/common/items/armor/hand/druid.ron index 39f0a6bf5d..75a56addf4 100644 --- a/assets/common/items/armor/hand/druid.ron +++ b/assets/common/items/armor/hand/druid.ron @@ -1,14 +1,12 @@ ItemDef( - name: "Druid's Gloves", + name: "Druid\'s Gloves", description: "Soft, strong, and flexible.", - kind: Armor( - ( - kind: Hand("Druid"), - stats: ( - protection: Normal(2.0), - poise_protection: Normal(2.0), - ), - ) - ), + kind: Armor(( + kind: Hand("Druid"), + stats: ( + protection: Normal(2.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/leather_0.ron b/assets/common/items/armor/hand/leather_0.ron index 796dc8fca8..34cb811a62 100644 --- a/assets/common/items/armor/hand/leather_0.ron +++ b/assets/common/items/armor/hand/leather_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Swift Gloves", description: "Swift like the wind.", - kind: Armor( - ( - kind: Hand("Leather0"), - stats: ( - protection: Normal(4.0), - poise_protection: Normal(4.0), - ), - ) - ), + kind: Armor(( + kind: Hand("Leather0"), + stats: ( + protection: Normal(4.0), + poise_protection: Normal(3.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/leather_2.ron b/assets/common/items/armor/hand/leather_2.ron index 4170378ceb..200c0155f8 100644 --- a/assets/common/items/armor/hand/leather_2.ron +++ b/assets/common/items/armor/hand/leather_2.ron @@ -1,14 +1,12 @@ ItemDef( name: "Leather Gloves", description: "Gloves made of simple leather.", - kind: Armor( - ( - kind: Hand("Leather2"), - stats: ( - protection: Normal(4.0), - poise_protection: Normal(4.0), - ), - ) - ), + kind: Armor(( + kind: Hand("Leather2"), + stats: ( + protection: Normal(4.0), + poise_protection: Normal(5.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/leather_adventurer.ron b/assets/common/items/armor/hand/leather_adventurer.ron index 8a04897ce2..3d91d07641 100644 --- a/assets/common/items/armor/hand/leather_adventurer.ron +++ b/assets/common/items/armor/hand/leather_adventurer.ron @@ -1,14 +1,12 @@ ItemDef( name: "Agile Gauntlets", - description: "'Tightly packed pieces of leather to endure all weather.'", - kind: Armor( - ( - kind: Hand("Leather2"), - stats: ( - protection: Normal(4.0), - poise_protection: Normal(4.0), - ), - ) - ), + description: "\'Tightly packed pieces of leather to endure all weather.\'", + kind: Armor(( + kind: Hand("Leather2"), + stats: ( + protection: Normal(4.0), + poise_protection: Normal(4.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/plate_0.ron b/assets/common/items/armor/hand/plate_0.ron index 3bb81d2cdc..5b4536ba18 100644 --- a/assets/common/items/armor/hand/plate_0.ron +++ b/assets/common/items/armor/hand/plate_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Iron Handguards", description: "Heavy chunks of metal plate, not the most comfortable but keeps the wearer safe.", - kind: Armor( - ( - kind: Hand("Plate0"), - stats: ( - protection: Normal(8.0), - poise_protection: Normal(8.0), - ), - ) - ), + kind: Armor(( + kind: Hand("Plate0"), + stats: ( + protection: Normal(8.0), + poise_protection: Normal(11.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/steel_0.ron b/assets/common/items/armor/hand/steel_0.ron index 22513effe1..c79fee29ad 100644 --- a/assets/common/items/armor/hand/steel_0.ron +++ b/assets/common/items/armor/hand/steel_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Steel Gauntlets", description: "The metal alloy provides better protection and lighter weight, a quite comfortable gauntlet.", - kind: Armor( - ( - kind: Hand("Steel0"), - stats: ( - protection: Normal(10.0), - poise_protection: Normal(10.0), - ), - ) - ), + kind: Armor(( + kind: Hand("Steel0"), + stats: ( + protection: Normal(10.0), + poise_protection: Normal(15.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/tarasque.ron b/assets/common/items/armor/hand/tarasque.ron index 916da7c2c0..5ec60153fb 100644 --- a/assets/common/items/armor/hand/tarasque.ron +++ b/assets/common/items/armor/hand/tarasque.ron @@ -1,14 +1,12 @@ ItemDef( name: "Tarasque Gauntlets", description: "Shattered fragments from a tarasque shell shaped into a protective gauntlets.", - kind: Armor( - ( - kind: Hand("Tarasque"), - stats: ( - protection: Normal(10.0), - poise_protection: Normal(10.0), - ), - ) - ), + kind: Armor(( + kind: Hand("Tarasque"), + stats: ( + protection: Normal(10.0), + poise_protection: Normal(12.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/twig.ron b/assets/common/items/armor/hand/twig.ron index 1432b30cbe..b333c5230d 100644 --- a/assets/common/items/armor/hand/twig.ron +++ b/assets/common/items/armor/hand/twig.ron @@ -1,14 +1,12 @@ ItemDef( name: "Twig Wraps", description: "Magically imbued twigs interlocked into simple hand wraps.", - kind: Armor( - ( - kind: Hand("Twig"), - stats: ( - protection: Normal(6.0), - poise_protection: Normal(6.0), - ), - ) - ), + kind: Armor(( + kind: Hand("Twig"), + stats: ( + protection: Normal(6.0), + poise_protection: Normal(6.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/twigsflowers.ron b/assets/common/items/armor/hand/twigsflowers.ron index d1f201a9ef..88c94c0113 100644 --- a/assets/common/items/armor/hand/twigsflowers.ron +++ b/assets/common/items/armor/hand/twigsflowers.ron @@ -1,14 +1,12 @@ ItemDef( name: "Flowery Wraps", description: "Wrapped and intertwined twigs held together with magic and flowers with their stems, providing peace and protection for the wearer.", - kind: Armor( - ( - kind: Hand("Twigsflowers"), - stats: ( - protection: Normal(6.0), - poise_protection: Normal(6.0), - ), - ) - ), + kind: Armor(( + kind: Hand("Twigsflowers"), + stats: ( + protection: Normal(6.0), + poise_protection: Normal(4.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/twigsleaves.ron b/assets/common/items/armor/hand/twigsleaves.ron index 905027e43d..e744ca2840 100644 --- a/assets/common/items/armor/hand/twigsleaves.ron +++ b/assets/common/items/armor/hand/twigsleaves.ron @@ -1,14 +1,12 @@ ItemDef( name: "Leafy Wraps", description: "Leaves help hide the magic-interlocking twigs, and provide mild protection from the elements.", - kind: Armor( - ( - kind: Hand("Twigsleaves"), - stats: ( - protection: Normal(6.0), - poise_protection: Normal(6.0), - ), - ) - ), + kind: Armor(( + kind: Hand("Twigsleaves"), + stats: ( + protection: Normal(6.0), + poise_protection: Normal(7.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/velorite_mage_0.ron b/assets/common/items/armor/hand/velorite_mage_0.ron index abef7c24e8..40695e44db 100644 --- a/assets/common/items/armor/hand/velorite_mage_0.ron +++ b/assets/common/items/armor/hand/velorite_mage_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Velorite Battlemage Gauntlets", description: "", - kind: Armor( - ( - kind: Hand("VeloriteMage0"), - stats: ( - protection: Normal(11.5), - poise_protection: Normal(11.5), - ), - ) - ), + kind: Armor(( + kind: Hand("VeloriteMage0"), + stats: ( + protection: Normal(11.5), + poise_protection: Normal(13.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/warlock.ron b/assets/common/items/armor/hand/warlock.ron index 43a5070086..ee11e4774e 100644 --- a/assets/common/items/armor/hand/warlock.ron +++ b/assets/common/items/armor/hand/warlock.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlock Gloves", description: "Belong to a mighty warlock.", - kind: Armor( - ( - kind: Hand("Warlock"), - stats: ( - protection: Normal(15.0), - poise_protection: Normal(15.0), - ), - ) - ), + kind: Armor(( + kind: Hand("Warlock"), + stats: ( + protection: Normal(15.0), + poise_protection: Normal(16.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/warlord.ron b/assets/common/items/armor/hand/warlord.ron index 421bc31ad0..8296cd5762 100644 --- a/assets/common/items/armor/hand/warlord.ron +++ b/assets/common/items/armor/hand/warlord.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlord Handguards", description: "Belong to a mighty warlord.", - kind: Armor( - ( - kind: Hand("Warlord"), - stats: ( - protection: Normal(15.0), - poise_protection: Normal(15.0), - ), - ) - ), + kind: Armor(( + kind: Hand("Warlord"), + stats: ( + protection: Normal(15.0), + poise_protection: Normal(14.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/head/assa_mask_0.ron b/assets/common/items/armor/head/assa_mask_0.ron index fe3c1e9359..03737444fa 100644 --- a/assets/common/items/armor/head/assa_mask_0.ron +++ b/assets/common/items/armor/head/assa_mask_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Dark Assassin Mask", description: "A general assassination mask preventing the wearer from being identified.", - kind: Armor( - ( - kind: Head("AssaMask0"), - stats: ( - protection: Normal(0.0), - poise_protection: Normal(0.0), - ), - ) - ), + kind: Armor(( + kind: Head("AssaMask0"), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/head/leather_0.ron b/assets/common/items/armor/head/leather_0.ron index 296427caab..ff3c2db2ab 100644 --- a/assets/common/items/armor/head/leather_0.ron +++ b/assets/common/items/armor/head/leather_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Swift Leather Cap", description: "Swift like the wind.", - kind: Armor( - ( - kind: Head("Leather0"), - stats: ( - protection: Normal(0.0), - poise_protection: Normal(0.0), - ), - ) - ), + kind: Armor(( + kind: Head("Leather0"), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/head/warlock.ron b/assets/common/items/armor/head/warlock.ron index 6d784ff978..b094cb5aea 100644 --- a/assets/common/items/armor/head/warlock.ron +++ b/assets/common/items/armor/head/warlock.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlock", description: "Belong to a mighty warlock.", - kind: Armor( - ( - kind: Head("Warlock"), - stats: ( - protection: Normal(10.0), - poise_protection: Normal(10.0), - ), - ) - ), + kind: Armor(( + kind: Head("Warlock"), + stats: ( + protection: Normal(10.0), + poise_protection: Normal(10.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/head/warlord.ron b/assets/common/items/armor/head/warlord.ron index 42619e4f4c..21f30e05ef 100644 --- a/assets/common/items/armor/head/warlord.ron +++ b/assets/common/items/armor/head/warlord.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlord Helmet", description: "Belong to a mighty warlord.", - kind: Armor( - ( - kind: Head("Warlord"), - stats: ( - protection: Normal(10.0), - poise_protection: Normal(10.0), - ), - ) - ), + kind: Armor(( + kind: Head("Warlord"), + stats: ( + protection: Normal(10.0), + poise_protection: Normal(10.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/neck/neck_0.ron b/assets/common/items/armor/neck/neck_0.ron index 58b7bdc43b..630b6d56d0 100644 --- a/assets/common/items/armor/neck/neck_0.ron +++ b/assets/common/items/armor/neck/neck_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Plain Necklace", - description: "It's become tarnished with age.", - kind: Armor( - ( - kind: Neck("Neck0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + description: "It\'s become tarnished with age.", + kind: Armor(( + kind: Neck("Neck0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/neck/neck_1.ron b/assets/common/items/armor/neck/neck_1.ron index 327d5f9bd3..a6ab8c83ec 100644 --- a/assets/common/items/armor/neck/neck_1.ron +++ b/assets/common/items/armor/neck/neck_1.ron @@ -1,14 +1,12 @@ ItemDef( name: "Gem of lesser Protection", description: "Surrounded by a discrete magical glow.", - kind: Armor( - ( - kind: Neck("Neck1"), - stats: ( - protection: Normal(2.0), - poise_protection: Normal(2.0), - ), - ) - ), + kind: Armor(( + kind: Neck("Neck1"), + stats: ( + protection: Normal(2.0), + poise_protection: Normal(1.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/assassin.ron b/assets/common/items/armor/pants/assassin.ron index 682b51cc23..ba594eaf56 100644 --- a/assets/common/items/armor/pants/assassin.ron +++ b/assets/common/items/armor/pants/assassin.ron @@ -1,14 +1,12 @@ ItemDef( name: "Assassin Pants", description: "Only the best for a member of the creed.", - kind: Armor( - ( - kind: Pants("Assassin"), - stats: ( - protection: Normal(10.0), - poise_protection: Normal(10.0), - ), - ) - ), + kind: Armor(( + kind: Pants("Assassin"), + stats: ( + protection: Normal(10.0), + poise_protection: Normal(3.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/bonerattler.ron b/assets/common/items/armor/pants/bonerattler.ron index 90ad1c8b4e..83bdd272ae 100644 --- a/assets/common/items/armor/pants/bonerattler.ron +++ b/assets/common/items/armor/pants/bonerattler.ron @@ -1,14 +1,12 @@ ItemDef( name: "Bonerattler Chausses", - description: "Assorted bones and hide from a bonerattler provide protection around the wearer's legs.", - kind: Armor( - ( - kind: Pants("Bonerattler"), - stats: ( - protection: Normal(20.0), - poise_protection: Normal(20.0), - ), - ) - ), + description: "Assorted bones and hide from a bonerattler provide protection around the wearer\'s legs.", + kind: Armor(( + kind: Pants("Bonerattler"), + stats: ( + protection: Normal(20.0), + poise_protection: Normal(24.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/cloth_blue_0.ron b/assets/common/items/armor/pants/cloth_blue_0.ron index 272bf3145b..bbeac292b0 100644 --- a/assets/common/items/armor/pants/cloth_blue_0.ron +++ b/assets/common/items/armor/pants/cloth_blue_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Blue Linen Skirt", description: "A stylish, rough fabric skirt, dyed blue.", - kind: Armor( - ( - kind: Pants("ClothBlue0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Pants("ClothBlue0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/cloth_green_0.ron b/assets/common/items/armor/pants/cloth_green_0.ron index fc7063325b..838d7b9076 100644 --- a/assets/common/items/armor/pants/cloth_green_0.ron +++ b/assets/common/items/armor/pants/cloth_green_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Green Linen Skirt", description: "A stylish, rough fabric skirt, dyed green.", - kind: Armor( - ( - kind: Pants("ClothGreen0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Pants("ClothGreen0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/cloth_purple_0.ron b/assets/common/items/armor/pants/cloth_purple_0.ron index 5bbf79b764..aae0ec55a1 100644 --- a/assets/common/items/armor/pants/cloth_purple_0.ron +++ b/assets/common/items/armor/pants/cloth_purple_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Purple Linen Skirt", description: "A stylish, rough fabric skirt, dyed purple.", - kind: Armor( - ( - kind: Pants("ClothPurple0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Pants("ClothPurple0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/cultist_legs_blue.ron b/assets/common/items/armor/pants/cultist_legs_blue.ron index 601dc97f91..8ec6f453e8 100644 --- a/assets/common/items/armor/pants/cultist_legs_blue.ron +++ b/assets/common/items/armor/pants/cultist_legs_blue.ron @@ -1,14 +1,12 @@ ItemDef( name: "Velorite Skirt", description: "Ceremonial attire used by members.", - kind: Armor( - ( - kind: Pants("VeloriteMage0"), - stats: ( - protection: Normal(24.0), - poise_protection: Normal(24.0), - ), - ) - ), + kind: Armor(( + kind: Pants("VeloriteMage0"), + stats: ( + protection: Normal(24.0), + poise_protection: Normal(10.0), + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/cultist_legs_purple.ron b/assets/common/items/armor/pants/cultist_legs_purple.ron index d19780d7c9..ced96aa5d1 100644 --- a/assets/common/items/armor/pants/cultist_legs_purple.ron +++ b/assets/common/items/armor/pants/cultist_legs_purple.ron @@ -1,14 +1,12 @@ ItemDef( name: "Purple Cultist Skirt", description: "Ceremonial attire used by members.", - kind: Armor( - ( - kind: Pants("CultistPurple"), - stats: ( - protection: Normal(24.0), - poise_protection: Normal(24.0), - ), - ) - ), + kind: Armor(( + kind: Pants("CultistPurple"), + stats: ( + protection: Normal(24.0), + poise_protection: Normal(14.0), + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/druid.ron b/assets/common/items/armor/pants/druid.ron index d3d93f948b..89175715d7 100644 --- a/assets/common/items/armor/pants/druid.ron +++ b/assets/common/items/armor/pants/druid.ron @@ -1,14 +1,12 @@ ItemDef( - name: "Druid's Kilt", + name: "Druid\'s Kilt", description: "Feel the breeze!", - kind: Armor( - ( - kind: Pants("Druid"), - stats: ( - protection: Normal(4.0), - poise_protection: Normal(4.0), - ), - ) - ), + kind: Armor(( + kind: Pants("Druid"), + stats: ( + protection: Normal(4.0), + poise_protection: Normal(2.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/hunting.ron b/assets/common/items/armor/pants/hunting.ron index 40571bb6e3..9949f01188 100644 --- a/assets/common/items/armor/pants/hunting.ron +++ b/assets/common/items/armor/pants/hunting.ron @@ -1,14 +1,12 @@ ItemDef( name: "Hunting Pants", description: "Crafted from soft, supple leather.", - kind: Armor( - ( - kind: Pants("Hunting"), - stats: ( - protection: Normal(8.0), - poise_protection: Normal(8.0), - ), - ) - ), + kind: Armor(( + kind: Pants("Hunting"), + stats: ( + protection: Normal(8.0), + poise_protection: Normal(3.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/leather_0.ron b/assets/common/items/armor/pants/leather_0.ron index 6ffea50e25..dc7ddf2596 100644 --- a/assets/common/items/armor/pants/leather_0.ron +++ b/assets/common/items/armor/pants/leather_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Swift Pants", description: "Swift like the wind.", - kind: Armor( - ( - kind: Pants("Leather0"), - stats: ( - protection: Normal(8.0), - poise_protection: Normal(8.0), - ), - ) - ), + kind: Armor(( + kind: Pants("Leather0"), + stats: ( + protection: Normal(8.0), + poise_protection: Normal(4.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/leather_2.ron b/assets/common/items/armor/pants/leather_2.ron index 4de3b3c13e..b42fd74be2 100644 --- a/assets/common/items/armor/pants/leather_2.ron +++ b/assets/common/items/armor/pants/leather_2.ron @@ -1,14 +1,12 @@ ItemDef( name: "Leather Leg Armour", description: "Leg armour made of simple leather.", - kind: Armor( - ( - kind: Pants("Leather2"), - stats: ( - protection: Normal(8.0), - poise_protection: Normal(8.0), - ), - ) - ), + kind: Armor(( + kind: Pants("Leather2"), + stats: ( + protection: Normal(8.0), + poise_protection: Normal(4.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/leather_adventurer.ron b/assets/common/items/armor/pants/leather_adventurer.ron index f884358bea..ec8373085f 100644 --- a/assets/common/items/armor/pants/leather_adventurer.ron +++ b/assets/common/items/armor/pants/leather_adventurer.ron @@ -1,14 +1,12 @@ ItemDef( name: "Agile Pantalons", - description: "'Tightly packed pieces of leather to endure all weather.'", - kind: Armor( - ( - kind: Pants("Leather2"), - stats: ( - protection: Normal(6.0), - poise_protection: Normal(6.0), - ), - ) - ), + description: "\'Tightly packed pieces of leather to endure all weather.\'", + kind: Armor(( + kind: Pants("Leather2"), + stats: ( + protection: Normal(6.0), + poise_protection: Normal(3.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/plate_green_0.ron b/assets/common/items/armor/pants/plate_green_0.ron index 91608dd4e8..dae01fd5dd 100644 --- a/assets/common/items/armor/pants/plate_green_0.ron +++ b/assets/common/items/armor/pants/plate_green_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Iron Legguards", description: "Heavy iron plate formed into protective greaves, decorated with rough green fabric.", - kind: Armor( - ( - kind: Pants("PlateGreen0"), - stats: ( - protection: Normal(16.0), - poise_protection: Normal(16.0), - ), - ) - ), + kind: Armor(( + kind: Pants("PlateGreen0"), + stats: ( + protection: Normal(16.0), + poise_protection: Normal(14.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/rugged_pants.ron b/assets/common/items/armor/pants/rugged_pants.ron new file mode 100644 index 0000000000..1b1b080186 --- /dev/null +++ b/assets/common/items/armor/pants/rugged_pants.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Rugged Commoner\'s Pants", + description: "They remind you of the old days.", + kind: Armor(( + kind: Pants("Rugged0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), + quality: Low, +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/steel_0.ron b/assets/common/items/armor/pants/steel_0.ron index 053b2dc4f7..2b574bc0f1 100644 --- a/assets/common/items/armor/pants/steel_0.ron +++ b/assets/common/items/armor/pants/steel_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Steel Chausses", description: "The metal alloy provides improvements to fit, durability, and lightness.", - kind: Armor( - ( - kind: Pants("Steel0"), - stats: ( - protection: Normal(20.0), - poise_protection: Normal(20.0), - ), - ) - ), + kind: Armor(( + kind: Pants("Steel0"), + stats: ( + protection: Normal(20.0), + poise_protection: Normal(26.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/tarasque.ron b/assets/common/items/armor/pants/tarasque.ron index 50ab6b05fa..f9307351fc 100644 --- a/assets/common/items/armor/pants/tarasque.ron +++ b/assets/common/items/armor/pants/tarasque.ron @@ -1,14 +1,12 @@ ItemDef( name: "Tarasque Chausses", description: "Fragmented tarasque shell tied together to form protective leg armor.", - kind: Armor( - ( - kind: Pants("Tarasque"), - stats: ( - protection: Normal(20.0), - poise_protection: Normal(20.0), - ), - ) - ), + kind: Armor(( + kind: Pants("Tarasque"), + stats: ( + protection: Normal(20.0), + poise_protection: Normal(13.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/twig.ron b/assets/common/items/armor/pants/twig.ron index 681e19e214..0d77fee2c5 100644 --- a/assets/common/items/armor/pants/twig.ron +++ b/assets/common/items/armor/pants/twig.ron @@ -1,14 +1,12 @@ ItemDef( name: "Twig Pants", description: "Magically imbued twigs formed into links similar to chainmail.", - kind: Armor( - ( - kind: Pants("Twig"), - stats: ( - protection: Normal(12.0), - poise_protection: Normal(12.0), - ), - ) - ), + kind: Armor(( + kind: Pants("Twig"), + stats: ( + protection: Normal(12.0), + poise_protection: Normal(9.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/twigsflowers.ron b/assets/common/items/armor/pants/twigsflowers.ron index 0b1bf9d12e..9f5144f925 100644 --- a/assets/common/items/armor/pants/twigsflowers.ron +++ b/assets/common/items/armor/pants/twigsflowers.ron @@ -1,14 +1,12 @@ ItemDef( name: "Flowery Pants", description: "Chainmail woven twigs enhanced with flower stems to provide protection and peace.", - kind: Armor( - ( - kind: Pants("Twigsflowers"), - stats: ( - protection: Normal(12.0), - poise_protection: Normal(12.0), - ), - ) - ), + kind: Armor(( + kind: Pants("Twigsflowers"), + stats: ( + protection: Normal(12.0), + poise_protection: Normal(4.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/twigsleaves.ron b/assets/common/items/armor/pants/twigsleaves.ron index 41a039044d..64b5f402e0 100644 --- a/assets/common/items/armor/pants/twigsleaves.ron +++ b/assets/common/items/armor/pants/twigsleaves.ron @@ -1,14 +1,12 @@ ItemDef( name: "Leafy Pants", description: "Leaves cover the magically imbued chainmail twigs, providing protection from the elements.", - kind: Armor( - ( - kind: Pants("Twigsleaves"), - stats: ( - protection: Normal(12.0), - poise_protection: Normal(12.0), - ), - ) - ), + kind: Armor(( + kind: Pants("Twigsleaves"), + stats: ( + protection: Normal(12.0), + poise_protection: Normal(8.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/velorite_mage_0.ron b/assets/common/items/armor/pants/velorite_mage_0.ron index f535d9e98e..24bde08cdf 100644 --- a/assets/common/items/armor/pants/velorite_mage_0.ron +++ b/assets/common/items/armor/pants/velorite_mage_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Velorite Battlemage Kilt", description: "", - kind: Armor( - ( - kind: Pants("VeloriteMage0"), - stats: ( - protection: Normal(23.0), - poise_protection: Normal(23.0), - ), - ) - ), + kind: Armor(( + kind: Pants("VeloriteMage0"), + stats: ( + protection: Normal(23.0), + poise_protection: Normal(23.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/warlock.ron b/assets/common/items/armor/pants/warlock.ron index 1851d47312..d90eaad5b1 100644 --- a/assets/common/items/armor/pants/warlock.ron +++ b/assets/common/items/armor/pants/warlock.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlock Kilt", description: "Belong to a mighty warlock.", - kind: Armor( - ( - kind: Pants("Warlock"), - stats: ( - protection: Normal(30.0), - poise_protection: Normal(30.0), - ), - ) - ), + kind: Armor(( + kind: Pants("Warlock"), + stats: ( + protection: Normal(30.0), + poise_protection: Normal(20.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/warlord.ron b/assets/common/items/armor/pants/warlord.ron index 317b581f02..e79de3fdfd 100644 --- a/assets/common/items/armor/pants/warlord.ron +++ b/assets/common/items/armor/pants/warlord.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlord Legguards", description: "Belong to a mighty warlord.", - kind: Armor( - ( - kind: Pants("Warlord"), - stats: ( - protection: Normal(30.0), - poise_protection: Normal(30.0), - ), - ) - ), + kind: Armor(( + kind: Pants("Warlord"), + stats: ( + protection: Normal(30.0), + poise_protection: Normal(24.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/worker_blue_0.ron b/assets/common/items/armor/pants/worker_blue_0.ron index 5966cbb41c..03010751ed 100644 --- a/assets/common/items/armor/pants/worker_blue_0.ron +++ b/assets/common/items/armor/pants/worker_blue_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Blue Worker Pants", description: "Pants used by a farmer, until recently.", - kind: Armor( - ( - kind: Pants("WorkerBlue0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Pants("WorkerBlue0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/ring/ring_0.ron b/assets/common/items/armor/ring/ring_0.ron index c80d88af8a..0518883f0e 100644 --- a/assets/common/items/armor/ring/ring_0.ron +++ b/assets/common/items/armor/ring/ring_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Scratched Ring", description: "Barely fits your finger.", - kind: Armor( - ( - kind: Ring("Ring0"), - stats: ( - protection: Normal(0.1), - poise_protection: Normal(0.1), - ), - ) - ), + kind: Armor(( + kind: Ring("Ring0"), + stats: ( + protection: Normal(0.1), + poise_protection: Normal(0.0), + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/ring/ring_gold_0.ron b/assets/common/items/armor/ring/ring_gold_0.ron index 91a8609f02..5c81641263 100644 --- a/assets/common/items/armor/ring/ring_gold_0.ron +++ b/assets/common/items/armor/ring/ring_gold_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Gold Ring", description: "Someone is surely missing it...", - kind: Armor( - ( - kind: Ring("RingGold0"), - stats: ( - protection: Normal(0.5), - poise_protection: Normal(0.5), - ), - ) - ), + kind: Armor(( + kind: Ring("RingGold0"), + stats: ( + protection: Normal(0.5), + poise_protection: Normal(0.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/ring/ring_purp_high_0.ron b/assets/common/items/armor/ring/ring_purp_high_0.ron index 9c13da06a0..8a0712f096 100644 --- a/assets/common/items/armor/ring/ring_purp_high_0.ron +++ b/assets/common/items/armor/ring/ring_purp_high_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Cultist Signet Ring ", description: "Once belonged to a cultist.", - kind: Armor( - ( - kind: Ring("RingSkull0"), - stats: ( - protection: Normal(3.0), - poise_protection: Normal(3.0), - ), - ) - ), + kind: Armor(( + kind: Ring("RingSkull0"), + stats: ( + protection: Normal(3.0), + poise_protection: Normal(1.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/assassin.ron b/assets/common/items/armor/shoulder/assassin.ron index 9abc1260f3..1c10253bdc 100644 --- a/assets/common/items/armor/shoulder/assassin.ron +++ b/assets/common/items/armor/shoulder/assassin.ron @@ -1,14 +1,12 @@ ItemDef( name: "Assassin Shoulder Guard", description: "Only the best for a member of the creed.", - kind: Armor( - ( - kind: Shoulder("Assassin"), - stats: ( - protection: Normal(8.0), - poise_protection: Normal(8.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("Assassin"), + stats: ( + protection: Normal(8.0), + poise_protection: Normal(7.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/bonerattler.ron b/assets/common/items/armor/shoulder/bonerattler.ron index 7e3d2e9c7d..ef28b9afb3 100644 --- a/assets/common/items/armor/shoulder/bonerattler.ron +++ b/assets/common/items/armor/shoulder/bonerattler.ron @@ -1,14 +1,12 @@ ItemDef( name: "Bonerattler Shoulder Pad", description: "Roughly formed bonerattler hide provide some strong protection.", - kind: Armor( - ( - kind: Shoulder("Bonerattler"), - stats: ( - protection: Normal(15.0), - poise_protection: Normal(15.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("Bonerattler"), + stats: ( + protection: Normal(15.0), + poise_protection: Normal(17.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/cloth_blue_0.ron b/assets/common/items/armor/shoulder/cloth_blue_0.ron index 862ac8ff92..1d63341e8d 100644 --- a/assets/common/items/armor/shoulder/cloth_blue_0.ron +++ b/assets/common/items/armor/shoulder/cloth_blue_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Blue Linen Coat", description: "A rough fabric coat, dyed blue.", - kind: Armor( - ( - kind: Shoulder("ClothBlue0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("ClothBlue0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/cloth_blue_1.ron b/assets/common/items/armor/shoulder/cloth_blue_1.ron index 7838333050..24580035b0 100644 --- a/assets/common/items/armor/shoulder/cloth_blue_1.ron +++ b/assets/common/items/armor/shoulder/cloth_blue_1.ron @@ -1,14 +1,12 @@ ItemDef( name: "Blue Cloth Pads", description: "Simple shoulderpads made from blue cloth.", - kind: Armor( - ( - kind: Shoulder("ClothBlue1"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("ClothBlue1"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/cloth_green_0.ron b/assets/common/items/armor/shoulder/cloth_green_0.ron index f2eb62d66d..ca40e6834d 100644 --- a/assets/common/items/armor/shoulder/cloth_green_0.ron +++ b/assets/common/items/armor/shoulder/cloth_green_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Green Linen Coat", description: "A rough fabric coat, dyed green.", - kind: Armor( - ( - kind: Shoulder("ClothGreen0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("ClothGreen0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/cloth_purple_0.ron b/assets/common/items/armor/shoulder/cloth_purple_0.ron index be11c3a74f..e62af412b7 100644 --- a/assets/common/items/armor/shoulder/cloth_purple_0.ron +++ b/assets/common/items/armor/shoulder/cloth_purple_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Purple Linen Coat", description: "A rough fabric coat, dyed purple.", - kind: Armor( - ( - kind: Shoulder("ClothPurple0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("ClothPurple0"), + stats: ( + protection: Normal(1.0), + poise_protection: Normal(1.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron b/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron index 45d255daa9..8bd3713d34 100644 --- a/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron +++ b/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron @@ -1,14 +1,12 @@ ItemDef( name: "Velorite Mantle", description: "Ceremonial attire used by members.", - kind: Armor( - ( - kind: Shoulder("VeloriteMage0"), - stats: ( - protection: Normal(18.0), - poise_protection: Normal(18.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("VeloriteMage0"), + stats: ( + protection: Normal(18.0), + poise_protection: Normal(10.0), + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron b/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron index 080efcec72..d030dfe23b 100644 --- a/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron +++ b/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron @@ -1,14 +1,12 @@ ItemDef( name: "Purple Cultist Mantle", description: "Ceremonial attire used by members.", - kind: Armor( - ( - kind: Shoulder("CultistPurple"), - stats: ( - protection: Normal(18.0), - poise_protection: Normal(18.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("CultistPurple"), + stats: ( + protection: Normal(18.0), + poise_protection: Normal(10.0), + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/druidshoulder.ron b/assets/common/items/armor/shoulder/druidshoulder.ron index 558290d0a6..2d86189db0 100644 --- a/assets/common/items/armor/shoulder/druidshoulder.ron +++ b/assets/common/items/armor/shoulder/druidshoulder.ron @@ -1,14 +1,12 @@ ItemDef( name: "Druid Shoulders", description: "Forged for protectors of the wild.", - kind: Armor( - ( - kind: Shoulder("DruidShoulder"), - stats: ( - protection: Normal(3.0), - poise_protection: Normal(3.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("DruidShoulder"), + stats: ( + protection: Normal(3.0), + poise_protection: Normal(6.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/iron_spikes.ron b/assets/common/items/armor/shoulder/iron_spikes.ron index cc08a60deb..fd09631a2a 100644 --- a/assets/common/items/armor/shoulder/iron_spikes.ron +++ b/assets/common/items/armor/shoulder/iron_spikes.ron @@ -1,14 +1,12 @@ ItemDef( name: "Iron Spiked Pauldrons", description: "The heavy, rough iron plate has an interlocking spikes shoved through several slots in the center to dissuade attackers.", - kind: Armor( - ( - kind: Shoulder("IronSpikes"), - stats: ( - protection: Normal(12.0), - poise_protection: Normal(12.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("IronSpikes"), + stats: ( + protection: Normal(12.0), + poise_protection: Normal(15.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/leather_0.ron b/assets/common/items/armor/shoulder/leather_0.ron index c44e7a7520..6f272a0d32 100644 --- a/assets/common/items/armor/shoulder/leather_0.ron +++ b/assets/common/items/armor/shoulder/leather_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Leather Pauldrons", description: "Animal hide tanned and formed into shoulder pads.", - kind: Armor( - ( - kind: Shoulder("Leather0"), - stats: ( - protection: Normal(6.0), - poise_protection: Normal(6.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("Leather0"), + stats: ( + protection: Normal(6.0), + poise_protection: Normal(3.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/leather_1.ron b/assets/common/items/armor/shoulder/leather_1.ron index df814b6af8..ff538ac34b 100644 --- a/assets/common/items/armor/shoulder/leather_1.ron +++ b/assets/common/items/armor/shoulder/leather_1.ron @@ -1,14 +1,12 @@ ItemDef( name: "Swift Shoulderpads", description: "Swift like the wind.", - kind: Armor( - ( - kind: Shoulder("Leather1"), - stats: ( - protection: Normal(6.0), - poise_protection: Normal(6.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("Leather1"), + stats: ( + protection: Normal(6.0), + poise_protection: Normal(5.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/leather_2.ron b/assets/common/items/armor/shoulder/leather_2.ron index 32b67a32a1..ac296dab96 100644 --- a/assets/common/items/armor/shoulder/leather_2.ron +++ b/assets/common/items/armor/shoulder/leather_2.ron @@ -1,14 +1,12 @@ ItemDef( name: "Leather Shoulder Pad", description: "A simple shoulder pad made of leather.", - kind: Armor( - ( - kind: Shoulder("Leather2"), - stats: ( - protection: Normal(6.0), - poise_protection: Normal(6.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("Leather2"), + stats: ( + protection: Normal(6.0), + poise_protection: Normal(2.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/leather_adventurer.ron b/assets/common/items/armor/shoulder/leather_adventurer.ron index 57caf4d057..b0ac340d3d 100644 --- a/assets/common/items/armor/shoulder/leather_adventurer.ron +++ b/assets/common/items/armor/shoulder/leather_adventurer.ron @@ -1,14 +1,12 @@ ItemDef( name: "Agile Guards", - description: "'Tightly packed pieces of leather to endure all weather.'", - kind: Armor( - ( - kind: Shoulder("Leather2"), - stats: ( - protection: Normal(8.0), - poise_protection: Normal(8.0), - ), - ) - ), + description: "Tightly packed pieces of leather to endure all weather.", + kind: Armor(( + kind: Shoulder("Leather2"), + stats: ( + protection: Normal(8.0), + poise_protection: Normal(4.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/leather_iron_0.ron b/assets/common/items/armor/shoulder/leather_iron_0.ron index 48514de458..f2d0c99be8 100644 --- a/assets/common/items/armor/shoulder/leather_iron_0.ron +++ b/assets/common/items/armor/shoulder/leather_iron_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Iron and Leather Spaulders", description: "Leather shoulders decorated with heavy iron hooks provide protection to the wearer.", - kind: Armor( - ( - kind: Shoulder("IronLeather0"), - stats: ( - protection: Normal(9.0), - poise_protection: Normal(9.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("IronLeather0"), + stats: ( + protection: Normal(9.0), + poise_protection: Normal(5.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/leather_iron_1.ron b/assets/common/items/armor/shoulder/leather_iron_1.ron index 74a2099e37..b5b56728ac 100644 --- a/assets/common/items/armor/shoulder/leather_iron_1.ron +++ b/assets/common/items/armor/shoulder/leather_iron_1.ron @@ -1,14 +1,12 @@ ItemDef( name: "Iron and Leather Spaulders", description: "Leather inset with heavy iron spikes provide solid protection to the wearer.", - kind: Armor( - ( - kind: Shoulder("IronLeather1"), - stats: ( - protection: Normal(9.0), - poise_protection: Normal(9.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("IronLeather1"), + stats: ( + protection: Normal(9.0), + poise_protection: Normal(10.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/leather_iron_2.ron b/assets/common/items/armor/shoulder/leather_iron_2.ron index 895990894d..f83d0f4e70 100644 --- a/assets/common/items/armor/shoulder/leather_iron_2.ron +++ b/assets/common/items/armor/shoulder/leather_iron_2.ron @@ -1,14 +1,12 @@ ItemDef( name: "Iron and Leather Spaulders", description: "Leather inset with heavy iron bands provide protection to the wearer.", - kind: Armor( - ( - kind: Shoulder("IronLeather2"), - stats: ( - protection: Normal(9.0), - poise_protection: Normal(9.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("IronLeather2"), + stats: ( + protection: Normal(9.0), + poise_protection: Normal(8.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/leather_iron_3.ron b/assets/common/items/armor/shoulder/leather_iron_3.ron index 080d6b999d..23b27de3a2 100644 --- a/assets/common/items/armor/shoulder/leather_iron_3.ron +++ b/assets/common/items/armor/shoulder/leather_iron_3.ron @@ -1,14 +1,12 @@ ItemDef( name: "Iron and Leather Spaulders", description: "Leather inset with iron fragments provide protection to the wearer.", - kind: Armor( - ( - kind: Shoulder("IronLeather3"), - stats: ( - protection: Normal(9.0), - poise_protection: Normal(9.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("IronLeather3"), + stats: ( + protection: Normal(9.0), + poise_protection: Normal(5.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/leather_strips.ron b/assets/common/items/armor/shoulder/leather_strips.ron index e709b06ade..a022a00880 100644 --- a/assets/common/items/armor/shoulder/leather_strips.ron +++ b/assets/common/items/armor/shoulder/leather_strips.ron @@ -1,14 +1,12 @@ ItemDef( name: "Leather Strips", description: "Tanned animal hide strips formed into loose shoulder pads.", - kind: Armor( - ( - kind: Shoulder("LeatherStrips"), - stats: ( - protection: Normal(4.0), - poise_protection: Normal(4.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("LeatherStrips"), + stats: ( + protection: Normal(4.0), + poise_protection: Normal(1.0), + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/plate_0.ron b/assets/common/items/armor/shoulder/plate_0.ron index 49233e3539..6557f6276f 100644 --- a/assets/common/items/armor/shoulder/plate_0.ron +++ b/assets/common/items/armor/shoulder/plate_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Iron Shoulderguards", description: "Heavy iron shoulder protection.", - kind: Armor( - ( - kind: Shoulder("Plate0"), - stats: ( - protection: Normal(12.0), - poise_protection: Normal(12.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("Plate0"), + stats: ( + protection: Normal(12.0), + poise_protection: Normal(16.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/steel_0.ron b/assets/common/items/armor/shoulder/steel_0.ron index 1a42ac98db..c1e0a6269d 100644 --- a/assets/common/items/armor/shoulder/steel_0.ron +++ b/assets/common/items/armor/shoulder/steel_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Steel Shoulder Pad", description: "The metal alloy plates provide better protection and comfort.", - kind: Armor( - ( - kind: Shoulder("Steel0"), - stats: ( - protection: Normal(15.0), - poise_protection: Normal(15.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("Steel0"), + stats: ( + protection: Normal(15.0), + poise_protection: Normal(20.0), + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/tarasque.ron b/assets/common/items/armor/shoulder/tarasque.ron index c36dd0d8bb..d337fe4dce 100644 --- a/assets/common/items/armor/shoulder/tarasque.ron +++ b/assets/common/items/armor/shoulder/tarasque.ron @@ -1,14 +1,12 @@ ItemDef( name: "Tarasque Shoulder Pad", description: "Spiky tarasque shell fragments formed to fit as shoulder guards.", - kind: Armor( - ( - kind: Shoulder("Tarasque"), - stats: ( - protection: Normal(15.0), - poise_protection: Normal(15.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("Tarasque"), + stats: ( + protection: Normal(15.0), + poise_protection: Normal(18.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/twigs.ron b/assets/common/items/armor/shoulder/twigs.ron index 4119d695fa..43c88206b4 100644 --- a/assets/common/items/armor/shoulder/twigs.ron +++ b/assets/common/items/armor/shoulder/twigs.ron @@ -1,14 +1,12 @@ ItemDef( name: "Twiggy Shoulders", description: "Spaulders made from tightly tied twigs.", - kind: Armor( - ( - kind: Shoulder("TwiggyShoulder"), - stats: ( - protection: Normal(9.0), - poise_protection: Normal(9.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("TwiggyShoulder"), + stats: ( + protection: Normal(9.0), + poise_protection: Normal(14.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/twigsflowers.ron b/assets/common/items/armor/shoulder/twigsflowers.ron index 8c3ec79476..2f71b4d46d 100644 --- a/assets/common/items/armor/shoulder/twigsflowers.ron +++ b/assets/common/items/armor/shoulder/twigsflowers.ron @@ -1,14 +1,12 @@ ItemDef( name: "Flowery Shoulders", description: "Flowers join the tied twigs to provide protection and peace to the wearer.", - kind: Armor( - ( - kind: Shoulder("FlowerShoulder"), - stats: ( - protection: Normal(9.0), - poise_protection: Normal(9.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("FlowerShoulder"), + stats: ( + protection: Normal(9.0), + poise_protection: Normal(3.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/twigsleaves.ron b/assets/common/items/armor/shoulder/twigsleaves.ron index c710157b19..210a7edeff 100644 --- a/assets/common/items/armor/shoulder/twigsleaves.ron +++ b/assets/common/items/armor/shoulder/twigsleaves.ron @@ -1,14 +1,12 @@ ItemDef( name: "Leafy Shoulders", description: "Leaves cover over the twigs to provide better protection from the elements.", - kind: Armor( - ( - kind: Shoulder("LeafyShoulder"), - stats: ( - protection: Normal(9.0), - poise_protection: Normal(9.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("LeafyShoulder"), + stats: ( + protection: Normal(9.0), + poise_protection: Normal(2.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/velorite_mage_0.ron b/assets/common/items/armor/shoulder/velorite_mage_0.ron index a7cfbbd0ae..84b90cc5fb 100644 --- a/assets/common/items/armor/shoulder/velorite_mage_0.ron +++ b/assets/common/items/armor/shoulder/velorite_mage_0.ron @@ -1,14 +1,12 @@ ItemDef( name: "Velorite Battlemage Guards", description: "", - kind: Armor( - ( - kind: Shoulder("VeloriteMage0"), - stats: ( - protection: Normal(17.0), - poise_protection: Normal(17.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("VeloriteMage0"), + stats: ( + protection: Normal(17.0), + poise_protection: Normal(17.0), + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/warlock.ron b/assets/common/items/armor/shoulder/warlock.ron index ec4ba04684..a740b10fb0 100644 --- a/assets/common/items/armor/shoulder/warlock.ron +++ b/assets/common/items/armor/shoulder/warlock.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlock Shoulders", description: "Belong to a mighty warlock.", - kind: Armor( - ( - kind: Shoulder("Warlock"), - stats: ( - protection: Normal(22.0), - poise_protection: Normal(22.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("Warlock"), + stats: ( + protection: Normal(22.0), + poise_protection: Normal(15.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/warlord.ron b/assets/common/items/armor/shoulder/warlord.ron index ac03adcd99..6253406be4 100644 --- a/assets/common/items/armor/shoulder/warlord.ron +++ b/assets/common/items/armor/shoulder/warlord.ron @@ -1,14 +1,12 @@ ItemDef( name: "Warlord Shoulderguards", description: "Belong to a mighty warlord.", - kind: Armor( - ( - kind: Shoulder("Warlord"), - stats: ( - protection: Normal(22.0), - poise_protection: Normal(22.0), - ), - ) - ), + kind: Armor(( + kind: Shoulder("Warlord"), + stats: ( + protection: Normal(22.0), + poise_protection: Normal(14.0), + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/starter/lantern.ron b/assets/common/items/armor/starter/lantern.ron deleted file mode 100644 index 5f0affc265..0000000000 --- a/assets/common/items/armor/starter/lantern.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Black Lantern", - description: "Used by city guards.", - kind: Lantern( - ( - kind: "Black0", - color: (r: 255, g: 190, b: 75), - strength_thousandths: 3000, - flicker_thousandths: 300, - ), - ), - quality: Common, -) diff --git a/assets/common/items/armor/starter/rugged_chest.ron b/assets/common/items/armor/starter/rugged_chest.ron deleted file mode 100644 index 875a2eca4d..0000000000 --- a/assets/common/items/armor/starter/rugged_chest.ron +++ /dev/null @@ -1,14 +0,0 @@ -ItemDef( - name: "Rugged Shirt", - description: "Smells like Adventure.", - kind: Armor( - ( - kind: Chest("Rugged0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), - quality: Low, -) diff --git a/assets/common/items/armor/starter/rugged_pants.ron b/assets/common/items/armor/starter/rugged_pants.ron deleted file mode 100644 index 406f74ef4a..0000000000 --- a/assets/common/items/armor/starter/rugged_pants.ron +++ /dev/null @@ -1,14 +0,0 @@ -ItemDef( - name: "Rugged Commoner's Pants", - description: "They remind you of the old days.", - kind: Armor( - ( - kind: Pants("Rugged0"), - stats: ( - protection: Normal(1.0), - poise_protection: Normal(1.0), - ), - ) - ), - quality: Low, -) diff --git a/assets/common/items/armor/starter/sandals_0.ron b/assets/common/items/armor/starter/sandals_0.ron deleted file mode 100644 index e817909913..0000000000 --- a/assets/common/items/armor/starter/sandals_0.ron +++ /dev/null @@ -1,14 +0,0 @@ -ItemDef( - name: "Worn out Sandals", - description: "Loyal companions.", - kind: Armor( - ( - kind: Foot("Sandal0"), - stats: ( - protection: Normal(0.0), - poise_protection: Normal(0.0), - ), - ) - ), - quality: Low, -) diff --git a/assets/common/items/armor/tabard/admin.ron b/assets/common/items/armor/tabard/admin.ron index 6b872f3470..313e36440b 100644 --- a/assets/common/items/armor/tabard/admin.ron +++ b/assets/common/items/armor/tabard/admin.ron @@ -1,14 +1,12 @@ ItemDef( - name: "Admin's Tabard", - description: "With great power comes\ngreat responsibility.", - kind: Armor( - ( - kind: Tabard("Admin"), - stats: ( - protection: Invincible, - poise_protection: Invincible, - ), - ) - ), + name: "Admin\'s Tabard", + description: "With great power comes great responsibility.", + kind: Armor(( + kind: Tabard("Admin"), + stats: ( + protection: Invincible, + poise_protection: Invincible, + ), + )), quality: Debug, -) +) \ No newline at end of file diff --git a/assets/common/items/debug/boost.ron b/assets/common/items/debug/boost.ron index ac3ff906ed..c69b8628b7 100644 --- a/assets/common/items/debug/boost.ron +++ b/assets/common/items/debug/boost.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 0, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/debug/cultist_purp_2h_boss-0.ron b/assets/common/items/debug/cultist_purp_2h_boss-0.ron index 2417c55031..6645367246 100644 --- a/assets/common/items/debug/cultist_purp_2h_boss-0.ron +++ b/assets/common/items/debug/cultist_purp_2h_boss-0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 0, power: 1000.0, - poise_reduction_power: 1000.0, + poise_power: 1000.0, speed: 1.0 ), ) diff --git a/assets/common/items/debug/possess.ron b/assets/common/items/debug/possess.ron index ac3ff906ed..c69b8628b7 100644 --- a/assets/common/items/debug/possess.ron +++ b/assets/common/items/debug/possess.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 0, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/armor/starter/glider.ron b/assets/common/items/glider/glider_cloverleaf.ron similarity index 100% rename from assets/common/items/armor/starter/glider.ron rename to assets/common/items/glider/glider_cloverleaf.ron diff --git a/assets/common/items/npc_weapons/axe/malachite_axe-0.ron b/assets/common/items/npc_weapons/axe/malachite_axe-0.ron index 132d684ac3..d8ea2498e8 100644 --- a/assets/common/items/npc_weapons/axe/malachite_axe-0.ron +++ b/assets/common/items/npc_weapons/axe/malachite_axe-0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.50, - poise_reduction_power: 0.50, + poise_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/axe/starter_axe.ron b/assets/common/items/npc_weapons/axe/starter_axe.ron index 715f5ea64e..029185ab8c 100644 --- a/assets/common/items/npc_weapons/axe/starter_axe.ron +++ b/assets/common/items/npc_weapons/axe/starter_axe.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.50, - poise_reduction_power: 0.50, + poise_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/bow/horn_longbow-0.ron b/assets/common/items/npc_weapons/bow/horn_longbow-0.ron index 1e715bd422..9ab669e16a 100644 --- a/assets/common/items/npc_weapons/bow/horn_longbow-0.ron +++ b/assets/common/items/npc_weapons/bow/horn_longbow-0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.5, - poise_reduction_power: 0.50, + poise_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/bow/saurok_bow.ron b/assets/common/items/npc_weapons/bow/saurok_bow.ron index 229bcc814d..8c821de25a 100644 --- a/assets/common/items/npc_weapons/bow/saurok_bow.ron +++ b/assets/common/items/npc_weapons/bow/saurok_bow.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/dagger/starter_dagger.ron b/assets/common/items/npc_weapons/dagger/starter_dagger.ron index 142dbe1d59..d25a94b0e8 100644 --- a/assets/common/items/npc_weapons/dagger/starter_dagger.ron +++ b/assets/common/items/npc_weapons/dagger/starter_dagger.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/empty/empty.ron b/assets/common/items/npc_weapons/empty/empty.ron index 2113948aeb..8a8dbaac8c 100644 --- a/assets/common/items/npc_weapons/empty/empty.ron +++ b/assets/common/items/npc_weapons/empty/empty.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 200, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron b/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron index 822211118c..96407e6668 100644 --- a/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron +++ b/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.5, - poise_reduction_power: 0.5, + poise_power: 0.5, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron index 80f5900715..962fe108f1 100644 --- a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron index c3ada55ba3..46dad7a2ee 100644 --- a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/starter_hammer.ron b/assets/common/items/npc_weapons/hammer/starter_hammer.ron index 7d0f184d06..f8aaa84cf3 100644 --- a/assets/common/items/npc_weapons/hammer/starter_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/starter_hammer.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.50, - poise_reduction_power: 0.50, + poise_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/troll_hammer.ron b/assets/common/items/npc_weapons/hammer/troll_hammer.ron index 586d0506b7..cc8232a594 100644 --- a/assets/common/items/npc_weapons/hammer/troll_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/troll_hammer.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron index 11afb36e7c..1638e3a579 100644 --- a/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/shield/shield_1.ron b/assets/common/items/npc_weapons/shield/shield_1.ron index 2894e69d88..6ba371db37 100644 --- a/assets/common/items/npc_weapons/shield/shield_1.ron +++ b/assets/common/items/npc_weapons/shield/shield_1.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/staff/bone_staff.ron b/assets/common/items/npc_weapons/staff/bone_staff.ron index 126389ad1c..c961ea6155 100644 --- a/assets/common/items/npc_weapons/staff/bone_staff.ron +++ b/assets/common/items/npc_weapons/staff/bone_staff.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 0.8, - poise_reduction_power: 0.8, + poise_power: 0.8, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/staff/cultist_staff.ron b/assets/common/items/npc_weapons/staff/cultist_staff.ron index ff89005932..d57be56690 100644 --- a/assets/common/items/npc_weapons/staff/cultist_staff.ron +++ b/assets/common/items/npc_weapons/staff/cultist_staff.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 0.8, - poise_reduction_power: 0.8, + poise_power: 0.8, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron index 541bfccbb8..884a2ed6ca 100644 --- a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron +++ b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 3.0, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.5, ), ) diff --git a/assets/common/items/npc_weapons/staff/ogre_staff.ron b/assets/common/items/npc_weapons/staff/ogre_staff.ron index 699ceb9df1..3674a800ff 100644 --- a/assets/common/items/npc_weapons/staff/ogre_staff.ron +++ b/assets/common/items/npc_weapons/staff/ogre_staff.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/staff/saurok_staff.ron b/assets/common/items/npc_weapons/staff/saurok_staff.ron index 0fc53dc6ac..b85348a829 100644 --- a/assets/common/items/npc_weapons/staff/saurok_staff.ron +++ b/assets/common/items/npc_weapons/staff/saurok_staff.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron b/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron index a93773b4ff..1850b0d021 100644 --- a/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron +++ b/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.5, - poise_reduction_power: 0.5, + poise_power: 0.5, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron b/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron index 5c36b1c3f3..ecbc98bcbb 100644 --- a/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron +++ b/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.0, - poise_reduction_power: 1.0, + poise_power: 1.0, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/dullahan_sword.ron b/assets/common/items/npc_weapons/sword/dullahan_sword.ron index c0b8db9784..729a12ed4e 100644 --- a/assets/common/items/npc_weapons/sword/dullahan_sword.ron +++ b/assets/common/items/npc_weapons/sword/dullahan_sword.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/saurok_sword.ron b/assets/common/items/npc_weapons/sword/saurok_sword.ron index 8f9ce71916..2f48b0c8ee 100644 --- a/assets/common/items/npc_weapons/sword/saurok_sword.ron +++ b/assets/common/items/npc_weapons/sword/saurok_sword.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/starter_sword.ron b/assets/common/items/npc_weapons/sword/starter_sword.ron index c5eaf61c21..07a6fd1a76 100644 --- a/assets/common/items/npc_weapons/sword/starter_sword.ron +++ b/assets/common/items/npc_weapons/sword/starter_sword.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 0.50, - poise_reduction_power: 0.50, + poise_power: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron b/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron index 9913ba1090..f2b12cf11d 100644 --- a/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron +++ b/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.75, - poise_reduction_power: 0.75, + poise_power: 0.75, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/broom.ron b/assets/common/items/npc_weapons/tool/broom.ron index 06fa1070c0..2e42a474ec 100644 --- a/assets/common/items/npc_weapons/tool/broom.ron +++ b/assets/common/items/npc_weapons/tool/broom.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.5, - poise_reduction_power: 1.5, + poise_power: 1.5, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/fishing_rod.ron b/assets/common/items/npc_weapons/tool/fishing_rod.ron index c6d6c5f118..61ec3b7755 100644 --- a/assets/common/items/npc_weapons/tool/fishing_rod.ron +++ b/assets/common/items/npc_weapons/tool/fishing_rod.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.5, - poise_reduction_power: 1.5, + poise_power: 1.5, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/hoe.ron b/assets/common/items/npc_weapons/tool/hoe.ron index f259317dd6..a57af33b8a 100644 --- a/assets/common/items/npc_weapons/tool/hoe.ron +++ b/assets/common/items/npc_weapons/tool/hoe.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, - poise_reduction_power: 1.50, + poise_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/pickaxe.ron b/assets/common/items/npc_weapons/tool/pickaxe.ron index 22b78a71f9..fede76212a 100644 --- a/assets/common/items/npc_weapons/tool/pickaxe.ron +++ b/assets/common/items/npc_weapons/tool/pickaxe.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, - poise_reduction_power: 1.50, + poise_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/pitchfork.ron b/assets/common/items/npc_weapons/tool/pitchfork.ron index 9c7dbc343b..eafbcb1df8 100644 --- a/assets/common/items/npc_weapons/tool/pitchfork.ron +++ b/assets/common/items/npc_weapons/tool/pitchfork.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, - poise_reduction_power: 1.50, + poise_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/rake.ron b/assets/common/items/npc_weapons/tool/rake.ron index cf85646fd5..f57ceb31be 100644 --- a/assets/common/items/npc_weapons/tool/rake.ron +++ b/assets/common/items/npc_weapons/tool/rake.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, - poise_reduction_power: 1.50, + poise_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/shovel-0.ron b/assets/common/items/npc_weapons/tool/shovel-0.ron index 7673e8b601..0acabb3703 100644 --- a/assets/common/items/npc_weapons/tool/shovel-0.ron +++ b/assets/common/items/npc_weapons/tool/shovel-0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, - poise_reduction_power: 1.50, + poise_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/shovel-1.ron b/assets/common/items/npc_weapons/tool/shovel-1.ron index 003e6d8ffd..4e0d64bbe8 100644 --- a/assets/common/items/npc_weapons/tool/shovel-1.ron +++ b/assets/common/items/npc_weapons/tool/shovel-1.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, - poise_reduction_power: 1.50, + poise_power: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/unique/beast_claws.ron b/assets/common/items/npc_weapons/unique/beast_claws.ron index e23dd88209..6d3aadbf8c 100644 --- a/assets/common/items/npc_weapons/unique/beast_claws.ron +++ b/assets/common/items/npc_weapons/unique/beast_claws.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowbasic.ron b/assets/common/items/npc_weapons/unique/quadlowbasic.ron index 195bbc3ce0..a843df7478 100644 --- a/assets/common/items/npc_weapons/unique/quadlowbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadlowbasic.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowbreathe.ron b/assets/common/items/npc_weapons/unique/quadlowbreathe.ron index 5fc19195ba..31550c511c 100644 --- a/assets/common/items/npc_weapons/unique/quadlowbreathe.ron +++ b/assets/common/items/npc_weapons/unique/quadlowbreathe.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowquick.ron b/assets/common/items/npc_weapons/unique/quadlowquick.ron index f56c38af7d..1f66d603ac 100644 --- a/assets/common/items/npc_weapons/unique/quadlowquick.ron +++ b/assets/common/items/npc_weapons/unique/quadlowquick.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowranged.ron b/assets/common/items/npc_weapons/unique/quadlowranged.ron index 5ee67eb02c..cb3604b375 100644 --- a/assets/common/items/npc_weapons/unique/quadlowranged.ron +++ b/assets/common/items/npc_weapons/unique/quadlowranged.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowtail.ron b/assets/common/items/npc_weapons/unique/quadlowtail.ron index 804d18e497..d217e1ed2b 100644 --- a/assets/common/items/npc_weapons/unique/quadlowtail.ron +++ b/assets/common/items/npc_weapons/unique/quadlowtail.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedbasic.ron b/assets/common/items/npc_weapons/unique/quadmedbasic.ron index 58fee593df..b177c31892 100644 --- a/assets/common/items/npc_weapons/unique/quadmedbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadmedbasic.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedcharge.ron b/assets/common/items/npc_weapons/unique/quadmedcharge.ron index f305d9bbfc..32ccbd7ab4 100644 --- a/assets/common/items/npc_weapons/unique/quadmedcharge.ron +++ b/assets/common/items/npc_weapons/unique/quadmedcharge.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedhoof.ron b/assets/common/items/npc_weapons/unique/quadmedhoof.ron index 69e94727c4..48858a7df7 100644 --- a/assets/common/items/npc_weapons/unique/quadmedhoof.ron +++ b/assets/common/items/npc_weapons/unique/quadmedhoof.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedjump.ron b/assets/common/items/npc_weapons/unique/quadmedjump.ron index 312df80b23..b504b38fc6 100644 --- a/assets/common/items/npc_weapons/unique/quadmedjump.ron +++ b/assets/common/items/npc_weapons/unique/quadmedjump.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedquick.ron b/assets/common/items/npc_weapons/unique/quadmedquick.ron index 40cdb27875..879b0d84b4 100644 --- a/assets/common/items/npc_weapons/unique/quadmedquick.ron +++ b/assets/common/items/npc_weapons/unique/quadmedquick.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadsmallbasic.ron b/assets/common/items/npc_weapons/unique/quadsmallbasic.ron index b62961f1be..341b29d4e6 100644 --- a/assets/common/items/npc_weapons/unique/quadsmallbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadsmallbasic.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/stone_golems_fist.ron b/assets/common/items/npc_weapons/unique/stone_golems_fist.ron index 8e3f298730..d406c450d3 100644 --- a/assets/common/items/npc_weapons/unique/stone_golems_fist.ron +++ b/assets/common/items/npc_weapons/unique/stone_golems_fist.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/unique/theropodbasic.ron b/assets/common/items/npc_weapons/unique/theropodbasic.ron index 11d3757795..cab8c9dff0 100644 --- a/assets/common/items/npc_weapons/unique/theropodbasic.ron +++ b/assets/common/items/npc_weapons/unique/theropodbasic.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/theropodbird.ron b/assets/common/items/npc_weapons/unique/theropodbird.ron index a1138ea25c..717fa513af 100644 --- a/assets/common/items/npc_weapons/unique/theropodbird.ron +++ b/assets/common/items/npc_weapons/unique/theropodbird.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_reduction_power: 1.00, + poise_power: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-0.ron b/assets/common/items/weapons/axe/bloodsteel_axe-0.ron index 16c297d7cf..ffab4d7923 100644 --- a/assets/common/items/weapons/axe/bloodsteel_axe-0.ron +++ b/assets/common/items/weapons/axe/bloodsteel_axe-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Bloodsteel Axe", description: "Dark rituals call for metal alloys to be formed in the blood of an animal carcass to ensure the resultant axe thirsts for future kills.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.60, - poise_reduction_power: 1.60, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.6, + poise_power: 1.4, + speed: 1.0, + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-1.ron b/assets/common/items/weapons/axe/bloodsteel_axe-1.ron index e5c2ce1817..53e19b6acf 100644 --- a/assets/common/items/weapons/axe/bloodsteel_axe-1.ron +++ b/assets/common/items/weapons/axe/bloodsteel_axe-1.ron @@ -1,16 +1,14 @@ ItemDef( - name: "Executioner's Axe", + name: "Executioner\'s Axe", description: "Dark rituals call for metal alloys to be formed in the blood of an animal carcass to ensure the resultant axe thirsts for future kills.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.60, - poise_reduction_power: 1.60, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.6, + poise_power: 1.8, + speed: 1.0, + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-2.ron b/assets/common/items/weapons/axe/bloodsteel_axe-2.ron index 08a88cdca8..8fbfc4fcbf 100644 --- a/assets/common/items/weapons/axe/bloodsteel_axe-2.ron +++ b/assets/common/items/weapons/axe/bloodsteel_axe-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Tribal Axe", - description: "Some tribes call for metal alloys to be formed in the blood of an animal carcass to ensure the resultant axe is honed for striking their enemy's veins.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.60, - poise_reduction_power: 1.60, - speed: 1.0 - ), - ) - ), + description: "Some tribes call for metal alloys to be formed in the blood of an animal carcass to ensure the resultant axe is honed for striking their enemy\'s veins.", + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.6, + poise_power: 1.4, + speed: 1.0, + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/bronze_axe-0.ron b/assets/common/items/weapons/axe/bronze_axe-0.ron index b1d7d587d6..e03d5366f9 100644 --- a/assets/common/items/weapons/axe/bronze_axe-0.ron +++ b/assets/common/items/weapons/axe/bronze_axe-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Bronze Axe", description: "A fine quality metal alloy axe.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.0, + poise_power: 0.9, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/bronze_axe-1.ron b/assets/common/items/weapons/axe/bronze_axe-1.ron index 0046453587..a7f6546e7e 100644 --- a/assets/common/items/weapons/axe/bronze_axe-1.ron +++ b/assets/common/items/weapons/axe/bronze_axe-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Discus Axe", description: "While the metal alloy is relatively simple, this unique circular axe has a unique appearance.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.0, + poise_power: 1.5, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/cobalt_axe-0.ron b/assets/common/items/weapons/axe/cobalt_axe-0.ron index 5729a46dbc..3a68f2d6a5 100644 --- a/assets/common/items/weapons/axe/cobalt_axe-0.ron +++ b/assets/common/items/weapons/axe/cobalt_axe-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Cobalt Axe", description: "The lustrous bluish gray axe provides a certain stylish class to the weapon.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.80, - poise_reduction_power: 1.80, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.8, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/iron_axe-0.ron b/assets/common/items/weapons/axe/iron_axe-0.ron index 501f6a5a22..0736118858 100644 --- a/assets/common/items/weapons/axe/iron_axe-0.ron +++ b/assets/common/items/weapons/axe/iron_axe-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Iron Greataxe", description: "Heavy iron hammered into rough blades, a simple tool for killing.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.2, + poise_power: 1.7, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/iron_axe-1.ron b/assets/common/items/weapons/axe/iron_axe-1.ron index 4cae908183..487776ff97 100644 --- a/assets/common/items/weapons/axe/iron_axe-1.ron +++ b/assets/common/items/weapons/axe/iron_axe-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Ceremonial Axe", description: "Heavy iron axe, likely created for ritual execution.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.2, + poise_power: 1.4, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/iron_axe-2.ron b/assets/common/items/weapons/axe/iron_axe-2.ron index 0dc089f576..f1cc7ac580 100644 --- a/assets/common/items/weapons/axe/iron_axe-2.ron +++ b/assets/common/items/weapons/axe/iron_axe-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Cyclone Axe", description: "The iron axe head is split into two distinct curves, giving it a unique appearance.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.2, + poise_power: 1.1, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/iron_axe-3.ron b/assets/common/items/weapons/axe/iron_axe-3.ron index 70abf9d717..d0f9a82232 100644 --- a/assets/common/items/weapons/axe/iron_axe-3.ron +++ b/assets/common/items/weapons/axe/iron_axe-3.ron @@ -1,16 +1,14 @@ ItemDef( name: "Iron Battleaxe", description: "Tried and true iron armaments, mass produced for killing.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.2, + poise_power: 1.6, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/iron_axe-4.ron b/assets/common/items/weapons/axe/iron_axe-4.ron index 2bca17ab71..16388920ff 100644 --- a/assets/common/items/weapons/axe/iron_axe-4.ron +++ b/assets/common/items/weapons/axe/iron_axe-4.ron @@ -1,16 +1,14 @@ ItemDef( - name: "Butcher's Axe", + name: "Butcher\'s Axe", description: "This axe has a heavy iron head used to cleave nearly anything.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.2, + poise_power: 1.4, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/iron_axe-5.ron b/assets/common/items/weapons/axe/iron_axe-5.ron index 692118285e..6293397b56 100644 --- a/assets/common/items/weapons/axe/iron_axe-5.ron +++ b/assets/common/items/weapons/axe/iron_axe-5.ron @@ -1,16 +1,14 @@ ItemDef( - name: "Barbarian's Axe", + name: "Barbarian\'s Axe", description: "While heavy, this iron forged axe is quite easy to swing, at least for those with the muscle backing it.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.2, + poise_power: 1.8, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/iron_axe-6.ron b/assets/common/items/weapons/axe/iron_axe-6.ron index 56b3efd107..d1b6b52254 100644 --- a/assets/common/items/weapons/axe/iron_axe-6.ron +++ b/assets/common/items/weapons/axe/iron_axe-6.ron @@ -1,16 +1,14 @@ ItemDef( name: "Iron Axe", description: "A simple dual bitted iron forged axe.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.2, + poise_power: 1.3, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/iron_axe-7.ron b/assets/common/items/weapons/axe/iron_axe-7.ron index 16facaa8b1..44c7c39f2a 100644 --- a/assets/common/items/weapons/axe/iron_axe-7.ron +++ b/assets/common/items/weapons/axe/iron_axe-7.ron @@ -1,16 +1,14 @@ ItemDef( name: "Iron Labrys", description: "Double bitted axe head, decorated iron construction.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.2, + poise_power: 1.6, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/iron_axe-8.ron b/assets/common/items/weapons/axe/iron_axe-8.ron index 811965c622..c25c1bd097 100644 --- a/assets/common/items/weapons/axe/iron_axe-8.ron +++ b/assets/common/items/weapons/axe/iron_axe-8.ron @@ -1,16 +1,14 @@ ItemDef( name: "Fanged Axe", description: "Several sharp axe heads forged with points to mimic animal fangs.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.2, + poise_power: 0.6, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/iron_axe-9.ron b/assets/common/items/weapons/axe/iron_axe-9.ron index 18fd8fe202..92a489c02f 100644 --- a/assets/common/items/weapons/axe/iron_axe-9.ron +++ b/assets/common/items/weapons/axe/iron_axe-9.ron @@ -1,16 +1,14 @@ ItemDef( name: "Wolfen Axe", description: "Strikes from this axe look like wolf bites in flesh.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.2, + poise_power: 0.3, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/malachite_axe-0.ron b/assets/common/items/weapons/axe/malachite_axe-0.ron index f1b35db3b5..0ab50c0cc4 100644 --- a/assets/common/items/weapons/axe/malachite_axe-0.ron +++ b/assets/common/items/weapons/axe/malachite_axe-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Malachite Axe", description: "Etched axe head decorated with malachite on the blades to provide magical properties.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 2.00, - poise_reduction_power: 2.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 2.0, + poise_power: 1.1, + speed: 1.0, + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/orc_axe-0.ron b/assets/common/items/weapons/axe/orc_axe-0.ron index f37fec6d72..b6e5c7f6ea 100644 --- a/assets/common/items/weapons/axe/orc_axe-0.ron +++ b/assets/common/items/weapons/axe/orc_axe-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Beast Cleaver", description: "A rough cut axe created by orcs to cleave beasts in two.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 0.60, - poise_reduction_power: 0.60, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 0.6, + poise_power: 1.5, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/starter_axe.ron b/assets/common/items/weapons/axe/starter_axe.ron index 715f5ea64e..dbc09ef478 100644 --- a/assets/common/items/weapons/axe/starter_axe.ron +++ b/assets/common/items/weapons/axe/starter_axe.ron @@ -1,16 +1,14 @@ ItemDef( name: "Notched Axe", description: "Every dent tells the story of a chopped tree.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 0.50, - poise_reduction_power: 0.50, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 0.5, + poise_power: 2.0, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/steel_axe-0.ron b/assets/common/items/weapons/axe/steel_axe-0.ron index ef90f311b8..8a7b2ebecd 100644 --- a/assets/common/items/weapons/axe/steel_axe-0.ron +++ b/assets/common/items/weapons/axe/steel_axe-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Steel Battleaxe", description: "Well crafted metal alloy axe that slices more cleanly than its iron counterparts.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.4, + poise_power: 1.2, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/steel_axe-1.ron b/assets/common/items/weapons/axe/steel_axe-1.ron index e0fd68b678..3f480f7cd8 100644 --- a/assets/common/items/weapons/axe/steel_axe-1.ron +++ b/assets/common/items/weapons/axe/steel_axe-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Steel Labrys", description: "Double bitted, well polished, and spiked axe head.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.4, + poise_power: 1.2, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/steel_axe-2.ron b/assets/common/items/weapons/axe/steel_axe-2.ron index 0fe6822f19..0b4c6fdce8 100644 --- a/assets/common/items/weapons/axe/steel_axe-2.ron +++ b/assets/common/items/weapons/axe/steel_axe-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Steel Axe", description: "A simple metal alloy axe.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.4, + poise_power: 1.2, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/steel_axe-3.ron b/assets/common/items/weapons/axe/steel_axe-3.ron index 8990545243..2309957d9f 100644 --- a/assets/common/items/weapons/axe/steel_axe-3.ron +++ b/assets/common/items/weapons/axe/steel_axe-3.ron @@ -1,16 +1,14 @@ ItemDef( name: "Crescent Axe", description: "The blade of this steel axe is forged in a manner to resemble a crescent moon.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.4, + poise_power: 1.1, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/steel_axe-4.ron b/assets/common/items/weapons/axe/steel_axe-4.ron index 2d082fda21..3c0bb0505c 100644 --- a/assets/common/items/weapons/axe/steel_axe-4.ron +++ b/assets/common/items/weapons/axe/steel_axe-4.ron @@ -1,16 +1,14 @@ ItemDef( name: "Moon Axe", description: "The blade of this axe resembles a full moon.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.4, + poise_power: 1.2, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/steel_axe-5.ron b/assets/common/items/weapons/axe/steel_axe-5.ron index c1d967810d..b2044adb0e 100644 --- a/assets/common/items/weapons/axe/steel_axe-5.ron +++ b/assets/common/items/weapons/axe/steel_axe-5.ron @@ -1,16 +1,14 @@ ItemDef( name: "Owl Axe", description: "Druidic rituals formed this axe in the dark of night. Made to look like the wings of an owl swooping in on a kill.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.4, + poise_power: 1.5, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/steel_axe-6.ron b/assets/common/items/weapons/axe/steel_axe-6.ron index 78c6761af3..04431265d3 100644 --- a/assets/common/items/weapons/axe/steel_axe-6.ron +++ b/assets/common/items/weapons/axe/steel_axe-6.ron @@ -1,16 +1,14 @@ ItemDef( name: "Spade Axe", description: "This axe is designed to mimic the playing card suit, swiftly slicing through the air.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 1.4, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/worn_iron_axe-0.ron b/assets/common/items/weapons/axe/worn_iron_axe-0.ron index 03e614d274..2a57a8e9c8 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-0.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Worn Dwarven Axe", - description: "Rough cut axe of dwarven origin, it's very old, but still usable.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 0.80, - poise_reduction_power: 0.80, - speed: 1.0 - ), - ) - ), + description: "Rough cut axe of dwarven origin, it\'s very old, but still usable.", + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 0.8, + poise_power: 0.4, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/worn_iron_axe-1.ron b/assets/common/items/weapons/axe/worn_iron_axe-1.ron index 17ae52592f..69012922f9 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-1.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Worn Elven Axe", description: "Light elven axe, scratched from eons of use. Still usable in some manner.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 0.80, - poise_reduction_power: 0.80, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 0.8, + poise_power: 0.4, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/worn_iron_axe-2.ron b/assets/common/items/weapons/axe/worn_iron_axe-2.ron index c731e62782..4ba8605ab9 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-2.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Worn Human Axe", - description: "There's nothing too remarkable about this old axe.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 0.80, - poise_reduction_power: 0.80, - speed: 1.0 - ), - ) - ), + description: "There\'s nothing too remarkable about this old axe.", + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 0.8, + poise_power: 0.7, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/worn_iron_axe-3.ron b/assets/common/items/weapons/axe/worn_iron_axe-3.ron index 3a3b9ce966..2cd31bc706 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-3.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-3.ron @@ -1,16 +1,14 @@ ItemDef( name: "Worn Orcish Axe", description: "Rough cut iron makes it hard to tell that this axe is even used, other than how old it feels.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 0.80, - poise_reduction_power: 0.80, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 0.8, + poise_power: 1.1, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/axe/worn_iron_axe-4.ron b/assets/common/items/weapons/axe/worn_iron_axe-4.ron index b52a5a4f9a..a50e1598b8 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-4.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-4.ron @@ -1,16 +1,14 @@ ItemDef( name: "Beetle Axe", description: "An axe formed with the intent of making the blade seem like a beetle. With how brittle it has gotten over the years, one would be mistaken in thinking it was made from beetle shell.", - kind: Tool( - ( - kind: Axe, - stats: ( - equip_time_millis: 400, - power: 0.80, - poise_reduction_power: 0.80, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Axe, + stats: ( + equip_time_millis: 400, + power: 0.8, + poise_power: 0.5, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/bow/horn_longbow-0.ron b/assets/common/items/weapons/bow/horn_longbow-0.ron index 20287d6cc5..4c858aa5c9 100644 --- a/assets/common/items/weapons/bow/horn_longbow-0.ron +++ b/assets/common/items/weapons/bow/horn_longbow-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Horn Bow", - description: "You don't recognize the creature these horns belong to.", - kind: Tool( - ( - kind: Bow, - stats: ( - equip_time_millis: 400, - power: 1.50, - poise_reduction_power: 1.50, - speed: 1.0 - ), - ) - ), + description: "You don\'t recognize the creature these horns belong to.", + kind: Tool(( + kind: Bow, + stats: ( + equip_time_millis: 400, + power: 1.5, + poise_power: 0.8, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/bow/iron_longbow-0.ron b/assets/common/items/weapons/bow/iron_longbow-0.ron index da8422d6c1..c5e4d8aade 100644 --- a/assets/common/items/weapons/bow/iron_longbow-0.ron +++ b/assets/common/items/weapons/bow/iron_longbow-0.ron @@ -1,16 +1,14 @@ ItemDef( - name: "Soldier's Bow", - description: "Has an insignia on it.", - kind: Tool( - ( - kind: Bow, - stats: ( - equip_time_millis: 400, - power: 1.75, - poise_reduction_power: 1.75, - speed: 1.0 - ), - ) - ), + name: "Soldier\'s Bow", + description: "Has an insignia on it.", + kind: Tool(( + kind: Bow, + stats: ( + equip_time_millis: 400, + power: 1.75, + poise_power: 1.3, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/bow/leafy_longbow-0.ron b/assets/common/items/weapons/bow/leafy_longbow-0.ron index 09e2fbf931..4d6efcbec0 100644 --- a/assets/common/items/weapons/bow/leafy_longbow-0.ron +++ b/assets/common/items/weapons/bow/leafy_longbow-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Elven Longbow", - description: "There's a new leaf starting to grow.", - kind: Tool( - ( - kind: Bow, - stats: ( - equip_time_millis: 400, - power: 1.25, - poise_reduction_power: 1.25, - speed: 1.0 - ), - ) - ), + description: "There\'s a new leaf starting to grow.", + kind: Tool(( + kind: Bow, + stats: ( + equip_time_millis: 400, + power: 1.25, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/bow/leafy_shortbow-0.ron b/assets/common/items/weapons/bow/leafy_shortbow-0.ron index 35cedc38ba..7216107b17 100644 --- a/assets/common/items/weapons/bow/leafy_shortbow-0.ron +++ b/assets/common/items/weapons/bow/leafy_shortbow-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Elven Shortbow", - description: "The wood still seems alive.", - kind: Tool( - ( - kind: Bow, - stats: ( - equip_time_millis: 400, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + description: "The wood still seems alive.", + kind: Tool(( + kind: Bow, + stats: ( + equip_time_millis: 400, + power: 1.0, + poise_power: 0.4, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/bow/nature_ore_longbow-0.ron b/assets/common/items/weapons/bow/nature_ore_longbow-0.ron index 3fc9b38a3e..f5502da952 100644 --- a/assets/common/items/weapons/bow/nature_ore_longbow-0.ron +++ b/assets/common/items/weapons/bow/nature_ore_longbow-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Velorite Bow", - description: "Infused with Velorite power.", - kind: Tool( - ( - kind: Bow, - stats: ( - equip_time_millis: 400, - power: 2.00, - poise_reduction_power: 2.00, - speed: 1.0 - ), - ) - ), + description: "Infused with Velorite power.", + kind: Tool(( + kind: Bow, + stats: ( + equip_time_millis: 400, + power: 2.0, + poise_power: 1.1, + speed: 1.0, + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/bow/rare_longbow.ron b/assets/common/items/weapons/bow/rare_longbow.ron index 3ec5742715..8ccb40f232 100644 --- a/assets/common/items/weapons/bow/rare_longbow.ron +++ b/assets/common/items/weapons/bow/rare_longbow.ron @@ -1,16 +1,14 @@ ItemDef( name: "Enchanted Longbow", - description: "You can sense power resting in the bow.", - kind: Tool( - ( - kind: Bow, - stats: ( - equip_time_millis: 400, - power: 2.00, - poise_reduction_power: 2.00, - speed: 1.0 - ), - ) - ), + description: "You can sense power resting in the bow.", + kind: Tool(( + kind: Bow, + stats: ( + equip_time_millis: 400, + power: 2.0, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/bow/starter_bow.ron b/assets/common/items/weapons/bow/starter_bow.ron index ece1e7c964..fed446f87f 100644 --- a/assets/common/items/weapons/bow/starter_bow.ron +++ b/assets/common/items/weapons/bow/starter_bow.ron @@ -1,16 +1,14 @@ ItemDef( name: "Uneven Bow", - description: "Someone carved their initials into it.", - kind: Tool( - ( - kind: Bow, - stats: ( - equip_time_millis: 400, - power: 0.50, - poise_reduction_power: 0.50, - speed: 1.0 - ), - ) - ), + description: "Someone carved their initials into it.", + kind: Tool(( + kind: Bow, + stats: ( + equip_time_millis: 400, + power: 0.5, + poise_power: 0.3, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/bow/wood_longbow-0.ron b/assets/common/items/weapons/bow/wood_longbow-0.ron index bbc24379c7..06515d9cdf 100644 --- a/assets/common/items/weapons/bow/wood_longbow-0.ron +++ b/assets/common/items/weapons/bow/wood_longbow-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Longbow", - description: "It's been well used.", - kind: Tool( - ( - kind: Bow, - stats: ( - equip_time_millis: 400, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + description: "It\'s been well used.", + kind: Tool(( + kind: Bow, + stats: ( + equip_time_millis: 400, + power: 1.0, + poise_power: 0.9, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/bow/wood_longbow-1.ron b/assets/common/items/weapons/bow/wood_longbow-1.ron index 06bf0f01e2..3ee0800df2 100644 --- a/assets/common/items/weapons/bow/wood_longbow-1.ron +++ b/assets/common/items/weapons/bow/wood_longbow-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Recurve Bow", - description: "It's hard to pull all the way back.", - kind: Tool( - ( - kind: Bow, - stats: ( - equip_time_millis: 400, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + description: "It\'s hard to pull all the way back.", + kind: Tool(( + kind: Bow, + stats: ( + equip_time_millis: 400, + power: 1.0, + poise_power: 1.2, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/bow/wood_shortbow-0.ron b/assets/common/items/weapons/bow/wood_shortbow-0.ron index 3dc8f472e1..7a26908786 100644 --- a/assets/common/items/weapons/bow/wood_shortbow-0.ron +++ b/assets/common/items/weapons/bow/wood_shortbow-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Hunting Bow", - description: "Strips of leather are wrapped around the handle.", - kind: Tool( - ( - kind: Bow, - stats: ( - equip_time_millis: 400, - power: 0.8, - poise_reduction_power: 0.80, - speed: 1.0 - ), - ) - ), + description: "Strips of leather are wrapped around the handle.", + kind: Tool(( + kind: Bow, + stats: ( + equip_time_millis: 400, + power: 0.8, + poise_power: 0.7, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/bow/wood_shortbow-1.ron b/assets/common/items/weapons/bow/wood_shortbow-1.ron index c906c159cd..4204d12089 100644 --- a/assets/common/items/weapons/bow/wood_shortbow-1.ron +++ b/assets/common/items/weapons/bow/wood_shortbow-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Horse Bow", - description: "Works on the ground too.", - kind: Tool( - ( - kind: Bow, - stats: ( - equip_time_millis: 400, - power: 0.75, - poise_reduction_power: 0.75, - speed: 1.0 - ), - ) - ), + description: "Works on the ground too.", + kind: Tool(( + kind: Bow, + stats: ( + equip_time_millis: 400, + power: 0.75, + poise_power: 0.4, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/dagger/basic_0.ron b/assets/common/items/weapons/dagger/basic_0.ron index 86fe8f22bc..6750465a9e 100644 --- a/assets/common/items/weapons/dagger/basic_0.ron +++ b/assets/common/items/weapons/dagger/basic_0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Suspicious Paper Knife", description: "Opens letters quickly.", - kind: Tool( - ( - kind: Dagger, - stats: ( - equip_time_millis: 0, - power: 1.80, - poise_reduction_power: 1.80, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Dagger, + stats: ( + equip_time_millis: 0, + power: 1.8, + poise_power: 2.0, + speed: 1.0, + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/dagger/cultist_0.ron b/assets/common/items/weapons/dagger/cultist_0.ron index 1b9278de66..e2f6a5fbda 100644 --- a/assets/common/items/weapons/dagger/cultist_0.ron +++ b/assets/common/items/weapons/dagger/cultist_0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Magical Cultist Dagger", description: "This belonged to an evil Cult Leader.", - kind: Tool( - ( - kind: Dagger, - stats: ( - equip_time_millis: 0, - power: 2.00, - poise_reduction_power: 2.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Dagger, + stats: ( + equip_time_millis: 0, + power: 2.0, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/dagger/starter_dagger.ron b/assets/common/items/weapons/dagger/starter_dagger.ron index a235e8d93d..014a662d82 100644 --- a/assets/common/items/weapons/dagger/starter_dagger.ron +++ b/assets/common/items/weapons/dagger/starter_dagger.ron @@ -1,16 +1,14 @@ ItemDef( name: "Rusty Dagger", description: "Easily concealed.", - kind: Tool( - ( - kind: Dagger, - stats: ( - equip_time_millis: 300, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Dagger, + stats: ( + equip_time_millis: 300, + power: 1.0, + poise_power: 0.5, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/empty/empty.ron b/assets/common/items/weapons/empty/empty.ron index 921310f38d..0d112b256f 100644 --- a/assets/common/items/weapons/empty/empty.ron +++ b/assets/common/items/weapons/empty/empty.ron @@ -1,16 +1,14 @@ ItemDef( name: "Empty Item", description: "This item may grant abilities, but is invisible", - kind: Tool ( - ( - kind: Empty, - stats: ( - equip_time_millis: 200, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Empty, + stats: ( + equip_time_millis: 200, + power: 1.0, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/bronze_hammer-0.ron b/assets/common/items/weapons/hammer/bronze_hammer-0.ron index 9c4e32aecc..0e30740740 100644 --- a/assets/common/items/weapons/hammer/bronze_hammer-0.ron +++ b/assets/common/items/weapons/hammer/bronze_hammer-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Bronze Hammer", description: "A heavy hammer forged from a simple metal alloy.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.0, + poise_power: 0.9, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/bronze_hammer-1.ron b/assets/common/items/weapons/hammer/bronze_hammer-1.ron index c9b980d189..f315243b5f 100644 --- a/assets/common/items/weapons/hammer/bronze_hammer-1.ron +++ b/assets/common/items/weapons/hammer/bronze_hammer-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Bronze Club", description: "The entire head of this club is forged from bronze alloy.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.0, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/cobalt_hammer-0.ron b/assets/common/items/weapons/hammer/cobalt_hammer-0.ron index 701bdc8da5..0d5a5977dd 100644 --- a/assets/common/items/weapons/hammer/cobalt_hammer-0.ron +++ b/assets/common/items/weapons/hammer/cobalt_hammer-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Cobalt Hammer", description: "The bluish gray tinge to the metal of this hammer head provides a slight classiness to the weapon.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.60, - poise_reduction_power: 1.60, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.6, + poise_power: 1.5, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/cobalt_hammer-1.ron b/assets/common/items/weapons/hammer/cobalt_hammer-1.ron index b9a5a585be..b21aa028e1 100644 --- a/assets/common/items/weapons/hammer/cobalt_hammer-1.ron +++ b/assets/common/items/weapons/hammer/cobalt_hammer-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Cobalt Mace", description: "The decorative hooked head of this mace is formed from a bluish gray metal.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.60, - poise_reduction_power: 1.60, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.6, + poise_power: 1.4, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron b/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron index 0e25cb6f33..b36613319b 100644 --- a/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron +++ b/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Magical Cultist Warhammer", description: "This belonged to an evil Cult Leader.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 2.00, - poise_reduction_power: 2.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 2.0, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/flimsy_hammer.ron b/assets/common/items/weapons/hammer/flimsy_hammer.ron index 619c0a481e..90a989a31d 100644 --- a/assets/common/items/weapons/hammer/flimsy_hammer.ron +++ b/assets/common/items/weapons/hammer/flimsy_hammer.ron @@ -1,16 +1,14 @@ ItemDef( name: "Flimsy Hammer", description: "The head is barely secured.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 0.50, - poise_reduction_power: 0.50, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 0.5, + poise_power: 0.4, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/hammer_1.ron b/assets/common/items/weapons/hammer/hammer_1.ron index 1e4f2f0c24..a2d39ef869 100644 --- a/assets/common/items/weapons/hammer/hammer_1.ron +++ b/assets/common/items/weapons/hammer/hammer_1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Crude Mallet", description: "Breaks bones like sticks and stones.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 0.50, - poise_reduction_power: 0.50, - speed: 1.0 - ), - quality: Low, - ) - ) -) + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 0.5, + poise_power: 0.8, + speed: 1.0, + ), + )), + quality: Low, +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/iron_hammer-0.ron b/assets/common/items/weapons/hammer/iron_hammer-0.ron index 69b51845ec..42f27ab407 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-0.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Iron Hammer", description: "This heavy, solid chunk iron hammer head is simple and brutal in its design.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 1.4, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/iron_hammer-1.ron b/assets/common/items/weapons/hammer/iron_hammer-1.ron index 7447a8b8ab..f60a093b05 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-1.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Iron Battlehammer", description: "This heavy, square iron hammer is designed for squashing heads like watermelons.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 0.9, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/iron_hammer-2.ron b/assets/common/items/weapons/hammer/iron_hammer-2.ron index 681d04224a..1a3ed032c3 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-2.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Iron Mace", description: "A decorative iron mace, great for smashing.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 1.4, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/iron_hammer-3.ron b/assets/common/items/weapons/hammer/iron_hammer-3.ron index f888071ff1..0747b55316 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-3.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-3.ron @@ -1,16 +1,14 @@ ItemDef( name: "Crowned Mace", description: "The decorative iron mace has a crowning tip on top.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/iron_hammer-4.ron b/assets/common/items/weapons/hammer/iron_hammer-4.ron index e7e27d0f2e..e4cde939e0 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-4.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-4.ron @@ -1,16 +1,14 @@ ItemDef( name: "Forge Hammer", description: "Worn head shows that this hammer had been used for many years to make other weapons, now relegated to being a weapon in its own right.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/iron_hammer-5.ron b/assets/common/items/weapons/hammer/iron_hammer-5.ron index 28dce8b412..2d60d4e138 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-5.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-5.ron @@ -1,16 +1,14 @@ ItemDef( name: "Lucerne Hammer", description: "A hybrid fusion of a warhammer and a polearm.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 0.8, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/iron_hammer-6.ron b/assets/common/items/weapons/hammer/iron_hammer-6.ron index 72ddfd7bfd..e845b20f71 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-6.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-6.ron @@ -1,16 +1,14 @@ ItemDef( name: "Spiked Maul", description: "A rough shaped iron hammer with spikes for added destruction.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 1.4, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/iron_hammer-7.ron b/assets/common/items/weapons/hammer/iron_hammer-7.ron index ae5894f356..e76881b4f4 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-7.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-7.ron @@ -1,16 +1,14 @@ ItemDef( - name: "Giant's Fist", + name: "Giant\'s Fist", description: "This iron forged hammer is roughly shaped into the shape of a fist holding the hammer head.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 1.1, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/iron_hammer-8.ron b/assets/common/items/weapons/hammer/iron_hammer-8.ron index 281c0ae047..179c112b9e 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-8.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-8.ron @@ -1,16 +1,14 @@ ItemDef( name: "Pike Hammer", description: "This hammer has a spike on the opposite end, making it dangerous when swung either direction.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 0.8, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/mjolnir.ron b/assets/common/items/weapons/hammer/mjolnir.ron index 8d825c1746..7fca785e53 100644 --- a/assets/common/items/weapons/hammer/mjolnir.ron +++ b/assets/common/items/weapons/hammer/mjolnir.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 4.00, - poise_reduction_power: 2.00, + poise_power: 2.0, speed: 0.5 ), ) diff --git a/assets/common/items/weapons/hammer/ramshead_hammer.ron b/assets/common/items/weapons/hammer/ramshead_hammer.ron index ca7fb2ceae..5f6e84864f 100644 --- a/assets/common/items/weapons/hammer/ramshead_hammer.ron +++ b/assets/common/items/weapons/hammer/ramshead_hammer.ron @@ -1,16 +1,14 @@ ItemDef( - name: "Ram's Head Mace", + name: "Ram\'s Head Mace", description: "You feel an evil presence in the hammer.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.80, - poise_reduction_power: 1.80, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.8, + poise_power: 1.7, + speed: 1.0, + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/runic_hammer.ron b/assets/common/items/weapons/hammer/runic_hammer.ron index 52eb5d18ee..7588304f76 100644 --- a/assets/common/items/weapons/hammer/runic_hammer.ron +++ b/assets/common/items/weapons/hammer/runic_hammer.ron @@ -1,16 +1,14 @@ ItemDef( name: "Runic Hammer", description: "There are strange runes inscribed into it.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.80, - poise_reduction_power: 1.80, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.8, + poise_power: 1.8, + speed: 1.0, + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/starter_hammer.ron b/assets/common/items/weapons/hammer/starter_hammer.ron index 7d0f184d06..1375f15c4e 100644 --- a/assets/common/items/weapons/hammer/starter_hammer.ron +++ b/assets/common/items/weapons/hammer/starter_hammer.ron @@ -1,16 +1,14 @@ ItemDef( name: "Sturdy Old Hammer", - description: "'Property of...' The rest is missing.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 0.50, - poise_reduction_power: 0.50, - speed: 1.0 - ), - ) - ), + description: "\'Property of...\' The rest is missing.", + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 0.5, + poise_power: 0.9, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/steel_hammer-0.ron b/assets/common/items/weapons/hammer/steel_hammer-0.ron index 078aa6e1bc..9686bed811 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-0.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Steel Hammer", description: "While lighter and more durable than its iron counterparts, it is nonetheless just as deadly.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.4, + poise_power: 1.5, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/steel_hammer-1.ron b/assets/common/items/weapons/hammer/steel_hammer-1.ron index bde8a287fe..82850ad26e 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-1.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Steel Greathammer", description: "The lighter attributes of the metal alloy are barely noticed when forged into such a wide hammer head.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.4, + poise_power: 1.3, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/steel_hammer-2.ron b/assets/common/items/weapons/hammer/steel_hammer-2.ron index c68645e407..254ae2744f 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-2.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Steel Club", description: "A heavy and wide baton made of a durable metal alloy, decorated with spikes.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.4, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/steel_hammer-3.ron b/assets/common/items/weapons/hammer/steel_hammer-3.ron index f22db96d9d..10bf020eb2 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-3.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-3.ron @@ -1,16 +1,14 @@ ItemDef( name: "Battle Mace", description: "A heavy, spiked steel ball tip provides a great smashing weapon.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.4, + poise_power: 1.7, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/steel_hammer-4.ron b/assets/common/items/weapons/hammer/steel_hammer-4.ron index 56d6aee2ef..9c663dfad3 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-4.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-4.ron @@ -1,16 +1,14 @@ ItemDef( - name: "Brute's Hammer", + name: "Brute\'s Hammer", description: "This destructive hammer was likely wielded by a vicious killer.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.4, + poise_power: 1.5, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/steel_hammer-5.ron b/assets/common/items/weapons/hammer/steel_hammer-5.ron index 8754e285e3..feb3228b4e 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-5.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-5.ron @@ -1,16 +1,14 @@ ItemDef( name: "Morning Star", description: "A spiked ball designed to resemble the stars lining the night sky.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 1.4, + poise_power: 1.3, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/stone_hammer-0.ron b/assets/common/items/weapons/hammer/stone_hammer-0.ron index 5b9d14ddb2..05f38ea784 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-0.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Basalt Sledgehammer", description: "Bloodied stone tied to a branch, simple but functional as a weapon.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 0.70, - poise_reduction_power: 0.70, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 0.7, + poise_power: 1.7, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/stone_hammer-1.ron b/assets/common/items/weapons/hammer/stone_hammer-1.ron index 76f92bed33..7696620b09 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-1.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Granite Sledgehammer", description: "A rough stone, crumbling on the striking surfaces. Still usable as a weapon.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 0.70, - poise_reduction_power: 0.70, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 0.7, + poise_power: 1.8, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/stone_hammer-2.ron b/assets/common/items/weapons/hammer/stone_hammer-2.ron index dba99eee94..1176122e6d 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-2.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Rocky Maul", description: "A rock tied to a stick, still good for smashing, but not very strong.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 0.70, - poise_reduction_power: 0.70, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 0.7, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/stone_hammer-3.ron b/assets/common/items/weapons/hammer/stone_hammer-3.ron index 86145ec7ad..5c62290343 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-3.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-3.ron @@ -1,16 +1,14 @@ ItemDef( name: "Stone Sledgehammer", description: "A heavy rock with a slot worn through to fasten it in place. Brutal in its simple design, but still functional.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 0.70, - poise_reduction_power: 0.70, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 0.7, + poise_power: 1.8, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/wood_hammer-0.ron b/assets/common/items/weapons/hammer/wood_hammer-0.ron index 78b6087a80..a9fb264fe5 100644 --- a/assets/common/items/weapons/hammer/wood_hammer-0.ron +++ b/assets/common/items/weapons/hammer/wood_hammer-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Hardwood Mallet", description: "Hardened wood, subjected to many different elements to provide a enough strength to be a weapon.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 0.60, - poise_reduction_power: 0.60, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 0.6, + poise_power: 0.8, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron index 9e3ce47a40..160f321965 100644 --- a/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron +++ b/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Worn Dwarven Hammer", description: "While the dwarves excel at rough hewn weapons, this one has seen its fair share of battles, might still serve well enough for a few more.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 0.85, - poise_reduction_power: 0.85, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 0.85, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron index 09763942c7..208f87087f 100644 --- a/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron +++ b/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Worn Elven Hammer", description: "Elven hammers are lighter than most. This one has seen its fair share of wear and tear.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 0.85, - poise_reduction_power: 0.85, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 0.85, + poise_power: 0.6, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron index 01b092c16a..850eaf4109 100644 --- a/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron +++ b/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Worn Human Mace", description: "An unremarkable mace, that has seen a lot of use.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 0.85, - poise_reduction_power: 0.85, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 0.85, + poise_power: 0.7, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron index 37a48190cd..15d8cb2a82 100644 --- a/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron +++ b/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron @@ -1,16 +1,14 @@ ItemDef( name: "Worn Orcish Hammer", description: "A heavy orc crafted hammer, missing chunks from heavy use.", - kind: Tool( - ( - kind: Hammer, - stats: ( - equip_time_millis: 500, - power: 0.85, - poise_reduction_power: 0.85, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Hammer, + stats: ( + equip_time_millis: 500, + power: 0.85, + poise_power: 1.1, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron b/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron index b7b85f8013..15feee2143 100644 --- a/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron +++ b/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, - poise_reduction_power: 2.00, + poise_power: 1.5, speed: 1.6 ), ) diff --git a/assets/common/items/weapons/sceptre/staff_nature.ron b/assets/common/items/weapons/sceptre/staff_nature.ron index d7975320fc..06d2eb9231 100644 --- a/assets/common/items/weapons/sceptre/staff_nature.ron +++ b/assets/common/items/weapons/sceptre/staff_nature.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.91, - poise_reduction_power: 1.00, + poise_power: 0.5, speed: 1.1 ), ) diff --git a/assets/common/items/weapons/sceptre/starter_sceptre.ron b/assets/common/items/weapons/sceptre/starter_sceptre.ron index 6bde465ac4..e5a5746a87 100644 --- a/assets/common/items/weapons/sceptre/starter_sceptre.ron +++ b/assets/common/items/weapons/sceptre/starter_sceptre.ron @@ -1,16 +1,14 @@ ItemDef( name: "Naturalist Walking Stick", - description: "Heals your allies with the power of nature.", - kind: Tool( - ( - kind: Sceptre, - stats: ( - equip_time_millis: 400, - power: 0.50, - poise_reduction_power: 0.50, - speed: 1.0 - ), - ) - ), + description: "Heals your allies with the power of nature.", + kind: Tool(( + kind: Sceptre, + stats: ( + equip_time_millis: 400, + power: 0.5, + poise_power: 0.1, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/shield/shield_1.ron b/assets/common/items/weapons/shield/shield_1.ron index c0b9087726..01cc61de72 100644 --- a/assets/common/items/weapons/shield/shield_1.ron +++ b/assets/common/items/weapons/shield/shield_1.ron @@ -1,16 +1,14 @@ ItemDef( name: "A Tattered Targe", description: "Should withstand a few more hits, hopefully...", - kind: Tool ( - ( - kind: Shield, - stats: ( - equip_time_millis: 400, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Shield, + stats: ( + equip_time_millis: 400, + power: 1.0, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/staff/amethyst_staff.ron b/assets/common/items/weapons/staff/amethyst_staff.ron index 5912838dfc..9177643c11 100644 --- a/assets/common/items/weapons/staff/amethyst_staff.ron +++ b/assets/common/items/weapons/staff/amethyst_staff.ron @@ -1,16 +1,14 @@ ItemDef( name: "Amethyst Staff", description: "The amethyst faintly glows.", - kind: Tool( - ( - kind: Staff, - stats: ( - equip_time_millis: 300, - power: 1.50, - poise_reduction_power: 1.50, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Staff, + stats: ( + equip_time_millis: 300, + power: 1.5, + poise_power: 1.4, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/staff/bone_staff.ron b/assets/common/items/weapons/staff/bone_staff.ron index 9276494320..68b29f22c6 100644 --- a/assets/common/items/weapons/staff/bone_staff.ron +++ b/assets/common/items/weapons/staff/bone_staff.ron @@ -1,16 +1,14 @@ ItemDef( name: "Bone Staff", - description: "There's a red gem suspended in the bones.", - kind: Tool( - ( - kind: Staff, - stats: ( - equip_time_millis: 300, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + description: "There\'s a red gem suspended in the bones.", + kind: Tool(( + kind: Staff, + stats: ( + equip_time_millis: 300, + power: 1.0, + poise_power: 1.5, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/staff/cultist_staff.ron b/assets/common/items/weapons/staff/cultist_staff.ron index 5394c7a959..fe36c9b102 100644 --- a/assets/common/items/weapons/staff/cultist_staff.ron +++ b/assets/common/items/weapons/staff/cultist_staff.ron @@ -1,16 +1,14 @@ ItemDef( name: "Cultist Staff", description: "The fire gives off no heat.", - kind: Tool( - ( - kind: Staff, - stats: ( - equip_time_millis: 300, - power: 2.00, - poise_reduction_power: 2.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Staff, + stats: ( + equip_time_millis: 300, + power: 2.0, + poise_power: 1.5, + speed: 1.0, + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/staff/staff_1.ron b/assets/common/items/weapons/staff/staff_1.ron index 40ff73992d..78eb3c8aa0 100644 --- a/assets/common/items/weapons/staff/staff_1.ron +++ b/assets/common/items/weapons/staff/staff_1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Humble Stick", description: "Walking stick with a sharpened end.", - kind: Tool( - ( - kind: Staff, - stats: ( - equip_time_millis: 200, - power: 0.50, - poise_reduction_power: 0.50, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Staff, + stats: ( + equip_time_millis: 200, + power: 0.5, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/staff/starter_staff.ron b/assets/common/items/weapons/staff/starter_staff.ron index 66ecf094de..72cad3ab85 100644 --- a/assets/common/items/weapons/staff/starter_staff.ron +++ b/assets/common/items/weapons/staff/starter_staff.ron @@ -1,16 +1,14 @@ ItemDef( name: "Gnarled Rod", description: "Smells like resin and magic.", - kind: Tool( - ( - kind: Staff, - stats: ( - equip_time_millis: 300, - power: 0.50, - poise_reduction_power: 0.50, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Staff, + stats: ( + equip_time_millis: 300, + power: 0.5, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/cultist_purp_2h-0.ron b/assets/common/items/weapons/sword/cultist_purp_2h-0.ron index b1f51a818b..71f1240b2c 100644 --- a/assets/common/items/weapons/sword/cultist_purp_2h-0.ron +++ b/assets/common/items/weapons/sword/cultist_purp_2h-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Magical Cultist Greatsword", description: "This belonged to an evil Cult Leader.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 2.00, - poise_reduction_power: 2.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 2.0, + poise_power: 1.5, + speed: 1.0, + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron b/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron index 57cbcf88d4..0a8ce45097 100644 --- a/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron +++ b/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Frost Cleaver", description: "Radiates a freezing aura.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.70, - poise_reduction_power: 1.70, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.7, + poise_power: 2.0, + speed: 1.0, + ), + )), quality: High, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron b/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron index 8b24d09c91..93579a5068 100644 --- a/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron +++ b/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Frost Saw", - description: "Forged from a single piece\nof eternal ice.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.95, - poise_reduction_power: 1.95, - speed: 1.0 - ), - ) - ), + description: "Forged from a single piece of eternal ice.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.95, + poise_power: 1.7, + speed: 1.0, + ), + )), quality: Epic, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron b/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron index 1a4d5c7ddc..8589b7eff6 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Damaged Greatsword", description: "The blade has been chipped quite a few times.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.80, - poise_reduction_power: 0.80, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.8, + poise_power: 1.1, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron b/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron index 1a4d5c7ddc..3106e40447 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Damaged Greatsword", description: "The blade has been chipped quite a few times.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.80, - poise_reduction_power: 0.80, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.8, + poise_power: 0.5, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron b/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron index 1a4d5c7ddc..9297ea3096 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Damaged Greatsword", description: "The blade has been chipped quite a few times.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.80, - poise_reduction_power: 0.80, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.8, + poise_power: 0.9, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron b/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron index 3ebf723ef5..d4804da49f 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Fine Greatsword", - description: "It's been polished and sharpened recently.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + description: "It\'s been polished and sharpened recently.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.4, + poise_power: 1.6, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron b/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron index 3ebf723ef5..c366a94d30 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Fine Greatsword", - description: "It's been polished and sharpened recently.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + description: "It\'s been polished and sharpened recently.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.4, + poise_power: 1.5, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron b/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron index 3ebf723ef5..4d52a14d28 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Fine Greatsword", - description: "It's been polished and sharpened recently.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.40, - poise_reduction_power: 1.40, - speed: 1.0 - ), - ) - ), + description: "It\'s been polished and sharpened recently.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.4, + poise_power: 1.7, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron b/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron index 2094e00f42..2972003cf4 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Ornamented Greatsword", - description: "The sword's almost a work of art.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.70, - poise_reduction_power: 1.70, - speed: 1.0 - ), - ) - ), + description: "The sword\'s almost a work of art.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.7, + poise_power: 1.4, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron b/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron index 2094e00f42..2972003cf4 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Ornamented Greatsword", - description: "The sword's almost a work of art.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.70, - poise_reduction_power: 1.70, - speed: 1.0 - ), - ) - ), + description: "The sword\'s almost a work of art.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.7, + poise_power: 1.4, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron b/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron index 2094e00f42..c32b76b1a1 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Ornamented Greatsword", - description: "The sword's almost a work of art.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.70, - poise_reduction_power: 1.70, - speed: 1.0 - ), - ) - ), + description: "The sword\'s almost a work of art.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.7, + poise_power: 1.1, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron b/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron index 1111cc66cd..a4105979d2 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Simple Greatsword", - description: "It's been well used.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.10, - poise_reduction_power: 1.10, - speed: 1.0 - ), - ) - ), + description: "It\'s been well used.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.1, + poise_power: 1.5, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron b/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron index 1111cc66cd..a4105979d2 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Simple Greatsword", - description: "It's been well used.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.10, - poise_reduction_power: 1.10, - speed: 1.0 - ), - ) - ), + description: "It\'s been well used.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.1, + poise_power: 1.5, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron b/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron index 1111cc66cd..81f846d6b3 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Simple Greatsword", - description: "It's been well used.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.10, - poise_reduction_power: 1.10, - speed: 1.0 - ), - ) - ), + description: "It\'s been well used.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.1, + poise_power: 1.4, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_dam-0.ron b/assets/common/items/weapons/sword/long_2h_dam-0.ron index 17117f0fb6..17efaa501a 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-0.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Damaged Longsword", - description: "It's slightly cracked.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.60, - poise_reduction_power: 0.60, - speed: 1.0 - ), - ) - ), + description: "It\'s slightly cracked.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.6, + poise_power: 0.5, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_dam-1.ron b/assets/common/items/weapons/sword/long_2h_dam-1.ron index 17117f0fb6..17efaa501a 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-1.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Damaged Longsword", - description: "It's slightly cracked.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.60, - poise_reduction_power: 0.60, - speed: 1.0 - ), - ) - ), + description: "It\'s slightly cracked.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.6, + poise_power: 0.5, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_dam-2.ron b/assets/common/items/weapons/sword/long_2h_dam-2.ron index 17117f0fb6..17efaa501a 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-2.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Damaged Longsword", - description: "It's slightly cracked.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.60, - poise_reduction_power: 0.60, - speed: 1.0 - ), - ) - ), + description: "It\'s slightly cracked.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.6, + poise_power: 0.5, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_dam-3.ron b/assets/common/items/weapons/sword/long_2h_dam-3.ron index 17117f0fb6..17efaa501a 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-3.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-3.ron @@ -1,16 +1,14 @@ ItemDef( name: "Damaged Longsword", - description: "It's slightly cracked.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.60, - poise_reduction_power: 0.60, - speed: 1.0 - ), - ) - ), + description: "It\'s slightly cracked.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.6, + poise_power: 0.5, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_dam-4.ron b/assets/common/items/weapons/sword/long_2h_dam-4.ron index 17117f0fb6..17efaa501a 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-4.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-4.ron @@ -1,16 +1,14 @@ ItemDef( name: "Damaged Longsword", - description: "It's slightly cracked.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.60, - poise_reduction_power: 0.60, - speed: 1.0 - ), - ) - ), + description: "It\'s slightly cracked.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.6, + poise_power: 0.5, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_dam-5.ron b/assets/common/items/weapons/sword/long_2h_dam-5.ron index 17117f0fb6..17efaa501a 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-5.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-5.ron @@ -1,16 +1,14 @@ ItemDef( name: "Damaged Longsword", - description: "It's slightly cracked.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.60, - poise_reduction_power: 0.60, - speed: 1.0 - ), - ) - ), + description: "It\'s slightly cracked.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.6, + poise_power: 0.5, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_fine-0.ron b/assets/common/items/weapons/sword/long_2h_fine-0.ron index a708dc84ac..ab5f57c316 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-0.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Fine Longsword", description: "It shines when you hold it up to the light.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 1.3, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_fine-1.ron b/assets/common/items/weapons/sword/long_2h_fine-1.ron index a708dc84ac..ab5f57c316 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-1.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Fine Longsword", description: "It shines when you hold it up to the light.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 1.3, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_fine-2.ron b/assets/common/items/weapons/sword/long_2h_fine-2.ron index a708dc84ac..ab5f57c316 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-2.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Fine Longsword", description: "It shines when you hold it up to the light.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 1.3, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_fine-3.ron b/assets/common/items/weapons/sword/long_2h_fine-3.ron index a708dc84ac..2c1e3366ed 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-3.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-3.ron @@ -1,16 +1,14 @@ ItemDef( name: "Fine Longsword", description: "It shines when you hold it up to the light.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 1.1, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_fine-4.ron b/assets/common/items/weapons/sword/long_2h_fine-4.ron index a708dc84ac..ab5f57c316 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-4.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-4.ron @@ -1,16 +1,14 @@ ItemDef( name: "Fine Longsword", description: "It shines when you hold it up to the light.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 1.3, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_fine-5.ron b/assets/common/items/weapons/sword/long_2h_fine-5.ron index a708dc84ac..672fd73786 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-5.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-5.ron @@ -1,16 +1,14 @@ ItemDef( name: "Fine Longsword", description: "It shines when you hold it up to the light.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.20, - poise_reduction_power: 1.20, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.2, + poise_power: 1.4, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_orn-0.ron b/assets/common/items/weapons/sword/long_2h_orn-0.ron index b0eb602f57..e0b710ae28 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-0.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Ornamented Longsword", - description: "It's probably the weapon of some noble.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.50, - poise_reduction_power: 1.50, - speed: 1.0 - ), - ) - ), + description: "It\'s probably the weapon of some noble.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.5, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_orn-1.ron b/assets/common/items/weapons/sword/long_2h_orn-1.ron index b0eb602f57..0e7d6752b2 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-1.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Ornamented Longsword", - description: "It's probably the weapon of some noble.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.50, - poise_reduction_power: 1.50, - speed: 1.0 - ), - ) - ), + description: "It\'s probably the weapon of some noble.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.5, + poise_power: 1.1, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_orn-2.ron b/assets/common/items/weapons/sword/long_2h_orn-2.ron index b0eb602f57..e0b710ae28 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-2.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Ornamented Longsword", - description: "It's probably the weapon of some noble.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.50, - poise_reduction_power: 1.50, - speed: 1.0 - ), - ) - ), + description: "It\'s probably the weapon of some noble.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.5, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_orn-3.ron b/assets/common/items/weapons/sword/long_2h_orn-3.ron index b0eb602f57..e0b710ae28 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-3.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-3.ron @@ -1,16 +1,14 @@ ItemDef( name: "Ornamented Longsword", - description: "It's probably the weapon of some noble.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.50, - poise_reduction_power: 1.50, - speed: 1.0 - ), - ) - ), + description: "It\'s probably the weapon of some noble.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.5, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_orn-4.ron b/assets/common/items/weapons/sword/long_2h_orn-4.ron index b0eb602f57..0e7d6752b2 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-4.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-4.ron @@ -1,16 +1,14 @@ ItemDef( name: "Ornamented Longsword", - description: "It's probably the weapon of some noble.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.50, - poise_reduction_power: 1.50, - speed: 1.0 - ), - ) - ), + description: "It\'s probably the weapon of some noble.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.5, + poise_power: 1.1, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_orn-5.ron b/assets/common/items/weapons/sword/long_2h_orn-5.ron index b0eb602f57..0e7d6752b2 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-5.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-5.ron @@ -1,16 +1,14 @@ ItemDef( name: "Ornamented Longsword", - description: "It's probably the weapon of some noble.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.50, - poise_reduction_power: 1.50, - speed: 1.0 - ), - ) - ), + description: "It\'s probably the weapon of some noble.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.5, + poise_power: 1.1, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_simple-0.ron b/assets/common/items/weapons/sword/long_2h_simple-0.ron index 09fcf6f3ee..015047d47b 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-0.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Simple Longsword", - description: "It was well maintained by it's previous owner.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.90, - poise_reduction_power: 0.90, - speed: 1.0 - ), - ) - ), + description: "It was well maintained by it\'s previous owner.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.9, + poise_power: 0.8, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_simple-1.ron b/assets/common/items/weapons/sword/long_2h_simple-1.ron index 09fcf6f3ee..015047d47b 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-1.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Simple Longsword", - description: "It was well maintained by it's previous owner.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.90, - poise_reduction_power: 0.90, - speed: 1.0 - ), - ) - ), + description: "It was well maintained by it\'s previous owner.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.9, + poise_power: 0.8, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_simple-2.ron b/assets/common/items/weapons/sword/long_2h_simple-2.ron index 09fcf6f3ee..a5ed1a9865 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-2.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-2.ron @@ -1,16 +1,14 @@ ItemDef( name: "Simple Longsword", - description: "It was well maintained by it's previous owner.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.90, - poise_reduction_power: 0.90, - speed: 1.0 - ), - ) - ), + description: "It was well maintained by it\'s previous owner.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.9, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_simple-3.ron b/assets/common/items/weapons/sword/long_2h_simple-3.ron index 09fcf6f3ee..015047d47b 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-3.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-3.ron @@ -1,16 +1,14 @@ ItemDef( name: "Simple Longsword", - description: "It was well maintained by it's previous owner.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.90, - poise_reduction_power: 0.90, - speed: 1.0 - ), - ) - ), + description: "It was well maintained by it\'s previous owner.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.9, + poise_power: 0.8, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_simple-4.ron b/assets/common/items/weapons/sword/long_2h_simple-4.ron index 09fcf6f3ee..015047d47b 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-4.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-4.ron @@ -1,16 +1,14 @@ ItemDef( name: "Simple Longsword", - description: "It was well maintained by it's previous owner.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.90, - poise_reduction_power: 0.90, - speed: 1.0 - ), - ) - ), + description: "It was well maintained by it\'s previous owner.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.9, + poise_power: 0.8, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/long_2h_simple-5.ron b/assets/common/items/weapons/sword/long_2h_simple-5.ron index 09fcf6f3ee..015047d47b 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-5.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-5.ron @@ -1,16 +1,14 @@ ItemDef( name: "Simple Longsword", - description: "It was well maintained by it's previous owner.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 0.90, - poise_reduction_power: 0.90, - speed: 1.0 - ), - ) - ), + description: "It was well maintained by it\'s previous owner.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 0.9, + poise_power: 0.8, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/short_sword_0.ron b/assets/common/items/weapons/sword/short_sword_0.ron index 5aa2201ed4..6ded410a1a 100644 --- a/assets/common/items/weapons/sword/short_sword_0.ron +++ b/assets/common/items/weapons/sword/short_sword_0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Vicious Gladius", - description: "There's blood encrusted on the blade.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 400, - power: 0.75, - poise_reduction_power: 0.75, - speed: 1.0 - ), - ) - ), + description: "There\'s blood encrusted on the blade.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 400, + power: 0.75, + poise_power: 0.8, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/starter_sword.ron b/assets/common/items/weapons/sword/starter_sword.ron index c5eaf61c21..15a50a2250 100644 --- a/assets/common/items/weapons/sword/starter_sword.ron +++ b/assets/common/items/weapons/sword/starter_sword.ron @@ -1,16 +1,14 @@ ItemDef( name: "Battered Sword", description: "Held together by Rust and hope.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 300, - power: 0.50, - poise_reduction_power: 0.50, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 300, + power: 0.5, + poise_power: 0.4, + speed: 1.0, + ), + )), quality: Low, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/wood_sword.ron b/assets/common/items/weapons/sword/wood_sword.ron index ea20e61b05..d0c2fd45ac 100644 --- a/assets/common/items/weapons/sword/wood_sword.ron +++ b/assets/common/items/weapons/sword/wood_sword.ron @@ -1,16 +1,14 @@ ItemDef( name: "Forest Spirit", description: "The resin glows.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 400, - power: 0.8, - poise_reduction_power: 0.8, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 400, + power: 0.8, + poise_power: 0.5, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/sword/zweihander_sword_0.ron b/assets/common/items/weapons/sword/zweihander_sword_0.ron index a8f9f383d1..ec38a2bde8 100644 --- a/assets/common/items/weapons/sword/zweihander_sword_0.ron +++ b/assets/common/items/weapons/sword/zweihander_sword_0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Sturdy Zweihander", - description: "It's a big sword, and sharp too.", - kind: Tool( - ( - kind: Sword, - stats: ( - equip_time_millis: 500, - power: 1.50, - poise_reduction_power: 1.50, - speed: 1.0 - ), - ) - ), + description: "It\'s a big sword, and sharp too.", + kind: Tool(( + kind: Sword, + stats: ( + equip_time_millis: 500, + power: 1.5, + poise_power: 1.9, + speed: 1.0, + ), + )), quality: Moderate, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/tool/broom.ron b/assets/common/items/weapons/tool/broom.ron index 19610b2af0..4413ceada4 100644 --- a/assets/common/items/weapons/tool/broom.ron +++ b/assets/common/items/weapons/tool/broom.ron @@ -1,16 +1,14 @@ ItemDef( name: "Broom", - description: "It's beginning to fall apart.", - kind: Tool ( - ( - kind: Farming, - stats: ( - equip_time_millis: 400, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + description: "It\'s beginning to fall apart.", + kind: Tool(( + kind: Farming, + stats: ( + equip_time_millis: 400, + power: 1.0, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/tool/fishing_rod.ron b/assets/common/items/weapons/tool/fishing_rod.ron index 0836f62498..5d94f428b0 100644 --- a/assets/common/items/weapons/tool/fishing_rod.ron +++ b/assets/common/items/weapons/tool/fishing_rod.ron @@ -1,16 +1,14 @@ ItemDef( name: "Fishing Rod", description: "Smells of fish.", - kind: Tool ( - ( - kind: Farming, - stats: ( - equip_time_millis: 400, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Farming, + stats: ( + equip_time_millis: 400, + power: 1.0, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/tool/hoe.ron b/assets/common/items/weapons/tool/hoe.ron index 52a178b390..2302db2985 100644 --- a/assets/common/items/weapons/tool/hoe.ron +++ b/assets/common/items/weapons/tool/hoe.ron @@ -1,16 +1,14 @@ ItemDef( name: "Hoe", - description: "It's stained with dirt.", - kind: Tool ( - ( - kind: Farming, - stats: ( - equip_time_millis: 400, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + description: "It\'s stained with dirt.", + kind: Tool(( + kind: Farming, + stats: ( + equip_time_millis: 400, + power: 1.0, + poise_power: 1.5, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/tool/pickaxe.ron b/assets/common/items/weapons/tool/pickaxe.ron index 1d207fc796..0fe6acf376 100644 --- a/assets/common/items/weapons/tool/pickaxe.ron +++ b/assets/common/items/weapons/tool/pickaxe.ron @@ -1,16 +1,14 @@ ItemDef( name: "Pickaxe", description: "It has a chipped edge.", - kind: Tool ( - ( - kind: Farming, - stats: ( - equip_time_millis: 400, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Farming, + stats: ( + equip_time_millis: 400, + power: 1.0, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/tool/pitchfork.ron b/assets/common/items/weapons/tool/pitchfork.ron index c4d66eb9e0..363621ae66 100644 --- a/assets/common/items/weapons/tool/pitchfork.ron +++ b/assets/common/items/weapons/tool/pitchfork.ron @@ -1,16 +1,14 @@ ItemDef( name: "Pitchfork", description: "One of the prongs is broken.", - kind: Tool ( - ( - kind: Farming, - stats: ( - equip_time_millis: 400, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Farming, + stats: ( + equip_time_millis: 400, + power: 1.0, + poise_power: 4.0, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/tool/rake.ron b/assets/common/items/weapons/tool/rake.ron index 1527f03a25..6d9bf69c19 100644 --- a/assets/common/items/weapons/tool/rake.ron +++ b/assets/common/items/weapons/tool/rake.ron @@ -1,16 +1,14 @@ ItemDef( name: "Rake", description: "Held together with twine.", - kind: Tool ( - ( - kind: Farming, - stats: ( - equip_time_millis: 400, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + kind: Tool(( + kind: Farming, + stats: ( + equip_time_millis: 400, + power: 1.0, + poise_power: 1.0, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/tool/shovel-0.ron b/assets/common/items/weapons/tool/shovel-0.ron index 9bec67a15b..b056a5d61c 100644 --- a/assets/common/items/weapons/tool/shovel-0.ron +++ b/assets/common/items/weapons/tool/shovel-0.ron @@ -1,16 +1,14 @@ ItemDef( name: "Shovel", - description: "It's covered in manure.", - kind: Tool ( - ( - kind: Farming, - stats: ( - equip_time_millis: 400, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + description: "It\'s covered in manure.", + kind: Tool(( + kind: Farming, + stats: ( + equip_time_millis: 400, + power: 1.0, + poise_power: 2.0, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/assets/common/items/weapons/tool/shovel-1.ron b/assets/common/items/weapons/tool/shovel-1.ron index aa553591f9..f030f2a216 100644 --- a/assets/common/items/weapons/tool/shovel-1.ron +++ b/assets/common/items/weapons/tool/shovel-1.ron @@ -1,16 +1,14 @@ ItemDef( name: "Shovel", - description: "It's been recently cleaned.", - kind: Tool ( - ( - kind: Farming, - stats: ( - equip_time_millis: 400, - power: 1.00, - poise_reduction_power: 1.00, - speed: 1.0 - ), - ) - ), + description: "It\'s been recently cleaned.", + kind: Tool(( + kind: Farming, + stats: ( + equip_time_millis: 400, + power: 1.0, + poise_power: 2.0, + speed: 1.0, + ), + )), quality: Common, -) +) \ No newline at end of file diff --git a/common/Cargo.toml b/common/Cargo.toml index eabc7906d2..fdd42a15f7 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -8,7 +8,7 @@ edition = "2018" no-assets = [] tracy = ["tracy-client"] simd = ["vek/platform_intrinsics"] -bin_csv_export = ["csv", "structopt"] +bin_csv = ["csv", "structopt"] default = ["simd"] @@ -71,4 +71,8 @@ harness = false [[bin]] name = "csv_export" -required-features = ["bin_csv_export"] +required-features = ["bin_csv"] + +[[bin]] +name = "csv_import" +required-features = ["bin_csv"] diff --git a/common/src/bin/csv_export/main.rs b/common/src/bin/csv_export/main.rs index a225b1bf1d..1c98b9bdc1 100644 --- a/common/src/bin/csv_export/main.rs +++ b/common/src/bin/csv_export/main.rs @@ -18,22 +18,46 @@ struct Cli { fn armor_stats() -> Result<(), Box> { let mut wtr = csv::Writer::from_path("armorstats.csv")?; - wtr.write_record(&["Path", "Kind", "Name", "Protection"])?; + wtr.write_record(&[ + "Path", + "Kind", + "Name", + "Quality", + "Protection", + "Poise Protection", + "Description", + ])?; for item in comp::item::Item::new_from_asset_glob("common.items.armor.*") .expect("Failed to iterate over item folders!") { match item.kind() { comp::item::ItemKind::Armor(armor) => { + let kind = get_armor_kind(&armor.kind); + if kind == "Bag".to_string() { + continue; + } + let protection = match armor.get_protection() { Protection::Invincible => "Invincible".to_string(), Protection::Normal(value) => value.to_string(), }; - let kind = get_armor_kind(&armor.kind); + let poise_protection = match armor.get_poise_protection() { + Protection::Invincible => "Invincible".to_string(), + Protection::Normal(value) => value.to_string(), + }; - wtr.write_record(&[item.item_definition_id(), &kind, item.name(), &protection])?; + wtr.write_record(&[ + item.item_definition_id(), + &kind, + item.name(), + &format!("{:?}", item.quality()), + &protection, + &poise_protection, + item.description(), + ])?; }, - _ => println!("Skipping non-armor item: {:?}", item), + _ => println!("Skipping non-armor item: {:?}\n", item), } } @@ -47,10 +71,12 @@ fn weapon_stats() -> Result<(), Box> { "Path", "Kind", "Name", + "Quality", "Power", - "Poise Reduction Power", + "Poise Power", "Speed", "Equip Time (ms)", + "Description", ])?; for item in comp::item::Item::new_from_asset_glob("common.items.weapons.*") @@ -59,7 +85,7 @@ fn weapon_stats() -> Result<(), Box> { match item.kind() { comp::item::ItemKind::Tool(tool) => { let power = tool.base_power().to_string(); - let poise_reduction_power = tool.base_poise_reduction_power().to_string(); + let poise_power = tool.base_poise_power().to_string(); let speed = tool.base_speed().to_string(); let equip_time = tool.equip_time().subsec_millis().to_string(); let kind = get_tool_kind(&tool.kind); @@ -68,13 +94,15 @@ fn weapon_stats() -> Result<(), Box> { item.item_definition_id(), &kind, item.name(), + &format!("{:?}", item.quality()), &power, - &poise_reduction_power, + &poise_power, &speed, &equip_time, + item.description(), ])?; }, - _ => println!("Skipping non-weapon item: {:?}", item), + _ => println!("Skipping non-weapon item: {:?}\n", item), } } @@ -157,15 +185,15 @@ fn main() { let args = Cli::from_args(); if args.function.eq_ignore_ascii_case("armor_stats") { if let Err(e) = armor_stats() { - println!("Error: {}", e) + println!("Error: {}\n", e) } } else if args.function.eq_ignore_ascii_case("weapon_stats") { if let Err(e) = weapon_stats() { - println!("Error: {}", e) + println!("Error: {}\n", e) } } else if args.function.eq_ignore_ascii_case("all_items") { if let Err(e) = all_items() { - println!("Error: {}", e) + println!("Error: {}\n", e) } } else { println!( diff --git a/common/src/bin/csv_import/main.rs b/common/src/bin/csv_import/main.rs new file mode 100644 index 0000000000..b65fd882b7 --- /dev/null +++ b/common/src/bin/csv_import/main.rs @@ -0,0 +1,360 @@ +#![deny(clippy::clone_on_ref_ptr)] + +use ron::ser::{to_string_pretty, PrettyConfig}; +use serde::Serialize; +use std::{error::Error, fs::File, io::Write}; +use structopt::StructOpt; + +use comp::item::{ + armor::{ArmorKind, Protection}, + ItemKind, Quality, +}; +use veloren_common::{assets::ASSETS_PATH, comp}; + +#[derive(StructOpt)] +struct Cli { + /// Available arguments: "armor_stats", "weapon_stats" + function: String, +} + +#[derive(Serialize)] +struct FakeItemDef { + name: String, + description: String, + kind: ItemKind, + quality: Quality, +} + +impl FakeItemDef { + fn new(name: String, description: String, kind: ItemKind, quality: Quality) -> Self { + Self { + name, + description, + kind, + quality, + } + } +} + +fn armor_stats() -> Result<(), Box> { + let mut rdr = csv::Reader::from_path("armorstats.csv")?; + + for record in rdr.records() { + for item in comp::item::Item::new_from_asset_glob("common.items.armor.*") + .expect("Failed to iterate over item folders!") + { + match item.kind() { + comp::item::ItemKind::Armor(armor) => { + match armor.kind { + ArmorKind::Bag(_) => { + continue; + }, + _ => {}, + } + + if let Ok(ref record) = record { + if item.item_definition_id() == record.get(0).expect("No file path in csv?") + { + let protection = if let Some(protection_raw) = record.get(4) { + if protection_raw == "Invincible" { + Protection::Invincible + } else { + let value: f32 = protection_raw.parse().unwrap(); + Protection::Normal(value) + } + } else { + eprintln!( + "Could not unwrap protection value for {:?}", + item.item_definition_id() + ); + Protection::Normal(0.0) + }; + + let poise_protection = if let Some(poise_protection_raw) = record.get(5) + { + if poise_protection_raw == "Invincible" { + Protection::Invincible + } else { + let value: f32 = poise_protection_raw.parse().unwrap(); + Protection::Normal(value) + } + } else { + eprintln!( + "Could not unwrap poise protection value for {:?}", + item.item_definition_id() + ); + Protection::Normal(0.0) + }; + + let kind = armor.kind.clone(); + let armor = + comp::item::armor::Armor::new(kind, protection, poise_protection); + let quality = if let Some(quality_raw) = record.get(3) { + match quality_raw { + "Low" => comp::item::Quality::Low, + "Common" => comp::item::Quality::Common, + "Moderate" => comp::item::Quality::Moderate, + "High" => comp::item::Quality::High, + "Epic" => comp::item::Quality::Epic, + "Legendary" => comp::item::Quality::Legendary, + "Artifact" => comp::item::Quality::Artifact, + "Debug" => comp::item::Quality::Debug, + _ => { + eprintln!( + "Unknown quality variant for {:?}", + item.item_definition_id() + ); + comp::item::Quality::Debug + }, + } + } else { + eprintln!( + "Could not unwrap quality for {:?}", + item.item_definition_id() + ); + comp::item::Quality::Debug + }; + + let description = record.get(6).expect(&format!( + "Error unwrapping description for {:?}", + item.item_definition_id() + )); + + let fake_item = FakeItemDef::new( + item.name().to_string(), + description.to_string(), + ItemKind::Armor(armor), + quality, + ); + + let pretty_config = PrettyConfig::new() + .with_depth_limit(4) + .with_separate_tuple_members(true) + .with_decimal_floats(true) + .with_enumerate_arrays(true); + + let mut path = ASSETS_PATH.clone(); + for part in item.item_definition_id().split(".") { + path.push(part); + } + path.set_extension("ron"); + + let path_str = path.to_str().expect("File path not unicode?!"); + let mut writer = File::create(path_str)?; + write!( + writer, + "ItemDef{}", + to_string_pretty(&fake_item, pretty_config)? + )?; + } + } + }, + _ => println!("Skipping non-armor item: {:?}\n", item), + } + } + } + + Ok(()) +} + +fn weapon_stats() -> Result<(), Box> { + let mut rdr = csv::Reader::from_path("weaponstats.csv")?; + + for record in rdr.records() { + for item in comp::item::Item::new_from_asset_glob("common.items.weapons.*") + .expect("Failed to iterate over item folders!") + { + match item.kind() { + comp::item::ItemKind::Tool(tool) => { + if let Ok(ref record) = record { + if item.item_definition_id() == record.get(0).expect("No file path in csv?") + { + let kind = tool.kind; + let equip_time_millis: u32 = record + .get(7) + .expect(&format!( + "Error unwrapping equip time for {:?}", + item.item_definition_id() + )) + .parse() + .expect(&format!("Not a u32? {:?}", item.item_definition_id())); + let power: f32 = record + .get(4) + .expect(&format!( + "Error unwrapping power for {:?}", + item.item_definition_id() + )) + .parse() + .expect(&format!("Not a f32? {:?}", item.item_definition_id())); + let poise_power: f32 = record + .get(5) + .expect(&format!( + "Error unwrapping poise power for {:?}", + item.item_definition_id() + )) + .parse() + .expect(&format!("Not a f32? {:?}", item.item_definition_id())); + + let speed: f32 = record + .get(6) + .expect(&format!( + "Error unwrapping speed for {:?}", + item.item_definition_id() + )) + .parse() + .expect(&format!("Not a f32? {:?}", item.item_definition_id())); + + let tool = comp::item::tool::Tool::new( + kind, + equip_time_millis, + power, + poise_power, + speed, + ); + + let quality = if let Some(quality_raw) = record.get(3) { + match quality_raw { + "Low" => comp::item::Quality::Low, + "Common" => comp::item::Quality::Common, + "Moderate" => comp::item::Quality::Moderate, + "High" => comp::item::Quality::High, + "Epic" => comp::item::Quality::Epic, + "Legendary" => comp::item::Quality::Legendary, + "Artifact" => comp::item::Quality::Artifact, + "Debug" => comp::item::Quality::Debug, + _ => { + eprintln!( + "Unknown quality variant for {:?}", + item.item_definition_id() + ); + comp::item::Quality::Debug + }, + } + } else { + eprintln!( + "Could not unwrap quality for {:?}", + item.item_definition_id() + ); + comp::item::Quality::Debug + }; + + let description = record.get(8).expect(&format!( + "Error unwrapping description for {:?}", + item.item_definition_id() + )); + + let fake_item = FakeItemDef::new( + item.name().to_string(), + description.to_string(), + ItemKind::Tool(tool), + quality, + ); + + let pretty_config = PrettyConfig::new() + .with_depth_limit(4) + .with_separate_tuple_members(true) + .with_decimal_floats(true) + .with_enumerate_arrays(true); + + let mut path = ASSETS_PATH.clone(); + for part in item.item_definition_id().split(".") { + path.push(part); + } + path.set_extension("ron"); + + let path_str = path.to_str().expect("File path not unicode?!"); + let mut writer = File::create(path_str)?; + write!( + writer, + "ItemDef{}", + to_string_pretty(&fake_item, pretty_config)? + )?; + } + } + }, + _ => println!("Skipping non-weapon item: {:?}\n", item), + } + } + } + + Ok(()) +} + +fn main() { + let args = Cli::from_args(); + if args.function.eq_ignore_ascii_case("armor_stats") { + if get_input( + " +------------------------------------------------------------------------------- +| DISCLAIMER | +------------------------------------------------------------------------------- +| | +| This script will wreck the RON files for armor if it messes up. | +| You might want to save a back up of the weapon files or be prepared to | +| use `git checkout HEAD -- ../assets/common/items/armor/*` if needed. | +| If this script does mess up your files, please fix it. Otherwise your | +| files will be yeeted away and you will get a bonk on the head. | +| | +------------------------------------------------------------------------------- + +In order for this script to work, you need to have first run the csv exporter. +Once you have armorstats.csv you can make changes to stats, quality, and +description in your preferred editor. Save the csv file and then run this +script to import your changes back to RON. + +Would you like to continue? (y/n) +> ", + ) + .to_lowercase() + == "y".to_string() + { + if let Err(e) = armor_stats() { + println!("Error: {}\n", e) + } + } + } else if args.function.eq_ignore_ascii_case("weapon_stats") { + if get_input( + " +------------------------------------------------------------------------------- +| DISCLAIMER | +------------------------------------------------------------------------------- +| | +| This script will wreck the RON files for weapons if it messes up. | +| You might want to save a back up of the weapon files or be prepared to | +| use `git checkout HEAD -- ../assets/common/items/weapons/*` if needed. | +| If this script does mess up your files, please fix it. Otherwise your | +| files will be yeeted away and you will get a bonk on the head. | +| | +------------------------------------------------------------------------------- + +In order for this script to work, you need to have first run the csv exporter. +Once you have weaponstats.csv you can make changes to stats, quality, and +description in your preferred editor. Save the csv file and then run this +script to import your changes back to RON. + +Would you like to continue? (y/n) +> ", + ) + .to_lowercase() + == "y".to_string() + { + if let Err(e) = weapon_stats() { + println!("Error: {}\n", e) + } + } + } else { + println!("Invalid argument, available arguments:\n\"armor_stats\"\n\"weapon_stats\"\n\"") + } +} + +pub fn get_input(prompt: &str) -> String { + // Function to get input from the user with a prompt + let mut input = String::new(); + print!("{}", prompt); + std::io::stdout().flush().unwrap(); + std::io::stdin() + .read_line(&mut input) + .expect("Error reading input"); + + String::from(input.trim()) +} diff --git a/common/src/comp/ability.rs b/common/src/comp/ability.rs index b2cdc9e17f..f1ace67cf8 100644 --- a/common/src/comp/ability.rs +++ b/common/src/comp/ability.rs @@ -324,7 +324,7 @@ impl CharacterAbility { } } - pub fn adjusted_by_stats(mut self, power: f32, poise_reduction_power: f32, speed: f32) -> Self { + pub fn adjusted_by_stats(mut self, power: f32, poise_power: f32, speed: f32) -> Self { use CharacterAbility::*; match self { BasicMelee { @@ -339,7 +339,7 @@ impl CharacterAbility { *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; *base_damage = (*base_damage as f32 * power) as u32; - *base_poise_damage = (*base_poise_damage as f32 * poise_reduction_power) as u32; + *base_poise_damage = (*base_poise_damage as f32 * poise_power) as u32; }, BasicRanged { ref mut buildup_duration, @@ -383,8 +383,8 @@ impl CharacterAbility { } => { *base_damage = (*base_damage as f32 * power) as u32; *scaled_damage = (*scaled_damage as f32 * power) as u32; - *base_poise_damage = (*base_damage as f32 * poise_reduction_power) as u32; - *scaled_poise_damage = (*scaled_poise_damage as f32 * poise_reduction_power) as u32; + *base_poise_damage = (*base_damage as f32 * poise_power) as u32; + *scaled_poise_damage = (*scaled_poise_damage as f32 * poise_power) as u32; *buildup_duration = (*buildup_duration as f32 / speed) as u64; *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; @@ -405,7 +405,7 @@ impl CharacterAbility { } => { *stage_data = stage_data .iter_mut() - .map(|s| s.adjusted_by_stats(power, poise_reduction_power, speed)) + .map(|s| s.adjusted_by_stats(power, poise_power, speed)) .collect(); }, LeapMelee { @@ -422,7 +422,7 @@ impl CharacterAbility { *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; *base_damage = (*base_damage as f32 * power) as u32; - *base_poise_damage = (*base_poise_damage as f32 * poise_reduction_power) as u32; + *base_poise_damage = (*base_poise_damage as f32 * poise_power) as u32; }, SpinMelee { ref mut buildup_duration, @@ -436,7 +436,7 @@ impl CharacterAbility { *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; *base_damage = (*base_damage as f32 * power) as u32; - *base_poise_damage = (*base_poise_damage as f32 * poise_reduction_power) as u32; + *base_poise_damage = (*base_poise_damage as f32 * poise_power) as u32; }, ChargedMelee { ref mut initial_damage, @@ -451,9 +451,8 @@ impl CharacterAbility { } => { *initial_damage = (*initial_damage as f32 * power) as u32; *scaled_damage = (*scaled_damage as f32 * power) as u32; - *initial_poise_damage = - (*initial_poise_damage as f32 * poise_reduction_power) as u32; - *scaled_poise_damage = (*scaled_poise_damage as f32 * poise_reduction_power) as u32; + *initial_poise_damage = (*initial_poise_damage as f32 * poise_power) as u32; + *scaled_poise_damage = (*scaled_poise_damage as f32 * poise_power) as u32; *ability_speed *= speed; *charge_duration = (*charge_duration as f32 / speed) as u64; *swing_duration = (*swing_duration as f32 / speed) as u64; @@ -488,7 +487,7 @@ impl CharacterAbility { *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; *damage = (*damage as f32 * power) as u32; - *poise_damage = (*poise_damage as f32 * poise_reduction_power) as u32; + *poise_damage = (*poise_damage as f32 * poise_power) as u32; }, BasicBeam { ref mut buildup_duration, diff --git a/common/src/comp/inventory/item/armor.rs b/common/src/comp/inventory/item/armor.rs index 398d436174..8ca4e5a75c 100644 --- a/common/src/comp/inventory/item/armor.rs +++ b/common/src/comp/inventory/item/armor.rs @@ -31,6 +31,15 @@ pub struct Stats { poise_protection: Protection, } +impl Stats { + pub fn new(protection: Protection, poise_protection: Protection) -> Self { + Self { + protection, + poise_protection, + } + } +} + #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] pub enum Protection { Invincible, @@ -44,6 +53,16 @@ pub struct Armor { } impl Armor { + pub fn new(kind: ArmorKind, protection: Protection, poise_protection: Protection) -> Self { + Self { + kind, + stats: Stats { + protection, + poise_protection, + }, + } + } + pub fn get_protection(&self) -> Protection { self.stats.protection } pub fn get_poise_protection(&self) -> Protection { self.stats.poise_protection } diff --git a/common/src/comp/inventory/item/mod.rs b/common/src/comp/inventory/item/mod.rs index 0681327295..1db48c8b6c 100644 --- a/common/src/comp/inventory/item/mod.rs +++ b/common/src/comp/inventory/item/mod.rs @@ -352,6 +352,7 @@ impl Item { swing_duration: 100, recover_duration: 100, base_damage: body.base_dmg(), + base_poise_damage: body.base_poise_dmg(), knockback: 0.0, range: body.base_range(), max_angle: 20.0, diff --git a/common/src/comp/inventory/item/tool.rs b/common/src/comp/inventory/item/tool.rs index af6583d618..55f0b277aa 100644 --- a/common/src/comp/inventory/item/tool.rs +++ b/common/src/comp/inventory/item/tool.rs @@ -55,7 +55,7 @@ pub enum Hands { pub struct Stats { equip_time_millis: u32, power: f32, - poise_reduction_power: f32, + poise_power: f32, speed: f32, } @@ -67,14 +67,32 @@ pub struct Tool { } impl Tool { + pub fn new( + kind: ToolKind, + equip_time_millis: u32, + power: f32, + poise_power: f32, + speed: f32, + ) -> Self { + Self { + kind, + stats: Stats { + equip_time_millis, + power, + poise_power, + speed, + }, + } + } + pub fn empty() -> Self { Self { kind: ToolKind::Empty, stats: Stats { equip_time_millis: 0, power: 1.00, + poise_power: 1.00, speed: 1.00, - poise_reduction_power: 1.00, }, } } @@ -82,7 +100,7 @@ impl Tool { // Keep power between 0.5 and 2.00 pub fn base_power(&self) -> f32 { self.stats.power } - pub fn base_poise_reduction_power(&self) -> f32 { self.stats.poise_reduction_power } + pub fn base_poise_power(&self) -> f32 { self.stats.poise_power } pub fn base_speed(&self) -> f32 { self.stats.speed } @@ -115,7 +133,7 @@ impl AbilitySet { self.map(|a| { a.adjusted_by_stats( tool.base_power(), - tool.base_poise_reduction_power(), + tool.base_poise_power(), tool.base_speed(), ) }) diff --git a/common/src/comp/inventory/loadout_builder.rs b/common/src/comp/inventory/loadout_builder.rs index e6385be4f1..5f7353fc86 100644 --- a/common/src/comp/inventory/loadout_builder.rs +++ b/common/src/comp/inventory/loadout_builder.rs @@ -51,19 +51,19 @@ impl LoadoutBuilder { /// updates, but should be safe defaults for a new character. pub fn defaults(self) -> Self { self.chest(Some(Item::new_from_asset_expect( - "common.items.armor.starter.rugged_chest", + "common.items.armor.chest.rugged_chest", ))) .pants(Some(Item::new_from_asset_expect( - "common.items.armor.starter.rugged_pants", + "common.items.armor.pants.rugged_pants", ))) .feet(Some(Item::new_from_asset_expect( "common.items.armor.starter.sandals_0", ))) .lantern(Some(Item::new_from_asset_expect( - "common.items.armor.starter.lantern", + "common.items.lantern.black_0", ))) .glider(Some(Item::new_from_asset_expect( - "common.items.armor.starter.glider", + "common.items.glider.glider_cloverleaf", ))) } @@ -479,7 +479,7 @@ impl LoadoutBuilder { .feet(Some(Item::new_from_asset_expect( match rand::thread_rng().gen_range(0..2) { 0 => "common.items.armor.foot.leather_0", - _ => "common.items.armor.starter.sandals_0", + _ => "common.items.armor.foot.sandals_0", }, ))) .build(), diff --git a/common/src/comp/poise.rs b/common/src/comp/poise.rs index e7ffb62096..fe513c4210 100644 --- a/common/src/comp/poise.rs +++ b/common/src/comp/poise.rs @@ -1,4 +1,7 @@ -use crate::comp::{Body, Loadout}; +use crate::comp::{ + inventory::item::{armor::Protection, ItemKind}, + Body, Inventory, +}; use serde::{Deserialize, Serialize}; use specs::{Component, FlaggedStorage}; use specs_idvs::IdvStorage; @@ -17,13 +20,13 @@ pub struct PoiseChange { impl PoiseChange { /// Alters poise damage as a result of armor poise damage reduction - pub fn modify_poise_damage(self, loadout: Option<&Loadout>) -> PoiseChange { + pub fn modify_poise_damage(self, inventory: Option<&Inventory>) -> PoiseChange { let mut poise_damage = self.amount as f32; + let poise_damage_reduction = + inventory.map_or(0.0, |inv| Poise::compute_poise_damage_reduction(inv)); match self.source { PoiseSource::Melee => { // Armor - let poise_damage_reduction = - loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); poise_damage *= 1.0 - poise_damage_reduction; PoiseChange { amount: poise_damage as i32, @@ -32,8 +35,7 @@ impl PoiseChange { }, PoiseSource::Projectile => { // Armor - let damage_reduction = loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); - poise_damage *= 1.0 - damage_reduction; + poise_damage *= 1.0 - poise_damage_reduction; PoiseChange { amount: poise_damage as i32, source: PoiseSource::Projectile, @@ -41,8 +43,7 @@ impl PoiseChange { }, PoiseSource::Shockwave => { // Armor - let damage_reduction = loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); - poise_damage *= 1.0 - damage_reduction; + poise_damage *= 1.0 - poise_damage_reduction; PoiseChange { amount: poise_damage as i32, source: PoiseSource::Shockwave, @@ -50,17 +51,14 @@ impl PoiseChange { }, PoiseSource::Explosion => { // Armor - let damage_reduction = loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); - poise_damage *= 1.0 - damage_reduction; + poise_damage *= 1.0 - poise_damage_reduction; PoiseChange { amount: poise_damage as i32, source: PoiseSource::Explosion, } }, PoiseSource::Falling => { - // Armor - let damage_reduction = loadout.map_or(0.0, |l| l.get_poise_damage_reduction()); - if (damage_reduction - 1.0).abs() < f32::EPSILON { + if (poise_damage_reduction - 1.0).abs() < f32::EPSILON { poise_damage = 0.0; } PoiseChange { @@ -224,6 +222,28 @@ impl Poise { self.set_base_max(body.base_poise()); } } + + /// Returns the total poise damage reduction provided by all equipped items + pub fn compute_poise_damage_reduction(inventory: &Inventory) -> f32 { + let protection = inventory + .equipped_items() + .filter_map(|item| { + if let ItemKind::Armor(armor) = &item.kind() { + Some(armor.get_poise_protection()) + } else { + None + } + }) + .map(|protection| match protection { + Protection::Normal(protection) => Some(protection), + Protection::Invincible => None, + }) + .sum::>(); + match protection { + Some(dr) => dr / (60.0 + dr.abs()), + None => 1.0, + } + } } impl Component for Poise { diff --git a/common/src/states/combo_melee.rs b/common/src/states/combo_melee.rs index 275c038525..5af102ceac 100644 --- a/common/src/states/combo_melee.rs +++ b/common/src/states/combo_melee.rs @@ -59,12 +59,11 @@ impl Stage { } } - pub fn adjusted_by_stats(mut self, power: f32, poise_reduction_power: f32, speed: f32) -> Self { + pub fn adjusted_by_stats(mut self, power: f32, poise_power: f32, speed: f32) -> Self { self.base_damage = (self.base_damage as f32 * power) as u32; self.damage_increase = (self.damage_increase as f32 * power) as u32; - self.base_poise_damage = (self.base_poise_damage as f32 * poise_reduction_power) as u32; - self.poise_damage_increase = - (self.poise_damage_increase as f32 * poise_reduction_power) as u32; + self.base_poise_damage = (self.base_poise_damage as f32 * poise_power) as u32; + self.poise_damage_increase = (self.poise_damage_increase as f32 * poise_power) as u32; self.base_buildup_duration = (self.base_buildup_duration as f32 / speed) as u64; self.base_swing_duration = (self.base_swing_duration as f32 / speed) as u64; self.base_recover_duration = (self.base_recover_duration as f32 / speed) as u64; diff --git a/common/sys/src/beam.rs b/common/sys/src/beam.rs index 8b98380e9c..54900d5461 100644 --- a/common/sys/src/beam.rs +++ b/common/sys/src/beam.rs @@ -1,7 +1,7 @@ use common::{ comp::{ group, Beam, BeamSegment, Body, Energy, EnergyChange, EnergySource, Health, HealthChange, - HealthSource, Inventory, Last, Ori, PoiseChange, PoiseSource, Pos, Scale, + HealthSource, Inventory, Last, Ori, Pos, Scale, }, event::{EventBus, ServerEvent}, resources::{DeltaTime, Time}, diff --git a/common/sys/src/melee.rs b/common/sys/src/melee.rs index fd9a31a63c..2b939cbfdb 100644 --- a/common/sys/src/melee.rs +++ b/common/sys/src/melee.rs @@ -1,7 +1,5 @@ use common::{ - comp::{ - buff, group, Attacking, Body, CharacterState, Health, Inventory, Ori, Poise, Pos, Scale, - }, + comp::{buff, group, Attacking, Body, CharacterState, Health, Inventory, Ori, Pos, Scale}, event::{EventBus, LocalEvent, ServerEvent}, metrics::SysMetrics, span, @@ -129,7 +127,7 @@ impl<'a> System<'a> for Sys { } } - let change = damage.modify_damage(loadouts.get(b), Some(*uid)); + let change = damage.modify_damage(inventories.get(b), Some(*uid)); let poise_change = poise_change.modify_poise_damage(inventories.get(b)); server_emitter.emit(ServerEvent::Damage { entity: b, change }); diff --git a/common/sys/src/projectile.rs b/common/sys/src/projectile.rs index 7d1b150795..291f4a3dc7 100644 --- a/common/sys/src/projectile.rs +++ b/common/sys/src/projectile.rs @@ -119,8 +119,6 @@ impl<'a> System<'a> for Sys { let other_entity_inventory = inventories.get(other_entity); let change = damage.modify_damage(other_entity_inventory, projectile.owner); - let poise_change = poise_damage - .modify_poise_damage(other_entity_inventory, projectile.owner); server_emitter.emit(ServerEvent::Damage { entity: other_entity, change, @@ -141,9 +139,9 @@ impl<'a> System<'a> for Sys { if let Some(other_entity) = uid_allocator.retrieve_entity_internal(other.into()) { - let other_entity_loadout = loadouts.get(other_entity); + let other_entity_inventory = inventories.get(other_entity); let poise_change = - poise_damage.modify_poise_damage(other_entity_loadout); + poise_damage.modify_poise_damage(other_entity_inventory); server_emitter.emit(ServerEvent::PoiseChange { entity: other_entity, change: poise_change, diff --git a/common/sys/src/shockwave.rs b/common/sys/src/shockwave.rs index 56f5f91159..8c7d72e9c3 100644 --- a/common/sys/src/shockwave.rs +++ b/common/sys/src/shockwave.rs @@ -200,8 +200,7 @@ impl<'a> System<'a> for Sys { let owner_uid = shockwave.owner.unwrap_or(*uid); let change = damage.modify_damage(inventories.get(b), Some(owner_uid)); - let poise_change = - poise_damage.modify_poise_damage(inventories.get(b), Some(owner_uid)); + let poise_change = poise_damage.modify_poise_damage(inventories.get(b)); server_emitter.emit(ServerEvent::Damage { entity: b, change }); shockwave_hit_list.hit_entities.push(*uid_b); diff --git a/common/sys/src/stats.rs b/common/sys/src/stats.rs index 1e6aeaaa1e..b06e34bf59 100644 --- a/common/sys/src/stats.rs +++ b/common/sys/src/stats.rs @@ -64,7 +64,7 @@ impl<'a> System<'a> for Sys { // Increment last change timer healths.set_event_emission(false); // avoid unnecessary syncing poises.set_event_emission(false); // avoid unnecessary syncing - for health in (&mut healths).join() { + for mut health in (&mut healths).join() { health.last_change.0 += f64::from(dt.0); } for poise in (&mut poises).join() { diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index 151548b7fd..b073126de6 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -53,7 +53,7 @@ pub fn handle_poise( pub fn handle_damage(server: &Server, entity: EcsEntity, change: HealthChange) { let ecs = &server.state.ecs(); - if let Some(health) = ecs.write_storage::().get_mut(entity) { + if let Some(mut health) = ecs.write_storage::().get_mut(entity) { health.change_by(change); } } @@ -521,9 +521,9 @@ pub fn handle_land_on_ground(server: &Server, entity: EcsEntity, vel: Vec3) }; let inventories = state.ecs().read_storage::(); let change = damage.modify_damage(inventories.get(entity), None); - let poise_change = poise_damage.modify_poise_damage(inventories.get(entity), None); + let poise_change = poise_damage.modify_poise_damage(inventories.get(entity)); health.change_by(change); - poise.change_by(poise_change, Vec3::zero()); + poise.change_by(poise_change, Vec3::unit_z()); } } } @@ -728,7 +728,7 @@ pub fn handle_explosion( server.state().apply_effect(entity_b, effect.clone(), owner); // Apply energy change if let Some(owner) = owner_entity { - if let Some(energy) = + if let Some(mut energy) = ecs.write_storage::().get_mut(owner) { energy.change_by(EnergyChange { diff --git a/server/src/state_ext.rs b/server/src/state_ext.rs index 7b1b047e4f..96fadc0209 100644 --- a/server/src/state_ext.rs +++ b/server/src/state_ext.rs @@ -35,8 +35,8 @@ pub trait StateExt { pos: comp::Pos, stats: comp::Stats, health: comp::Health, - inventory: comp::Inventory, poise: comp::Poise, + inventory: comp::Inventory, body: comp::Body, ) -> EcsEntityBuilder; /// Build a static object entity @@ -97,8 +97,8 @@ impl StateExt for State { .map(|mut health| health.change_by(change)); }, Effect::PoiseChange(poise_damage) => { - let loadouts = self.ecs().read_storage::(); - let change = poise_damage.modify_poise_damage(loadouts.get(entity)); + let inventories = self.ecs().read_storage::(); + let change = poise_damage.modify_poise_damage(inventories.get(entity)); // Check to make sure the entity is not already stunned if let Some(character_state) = self .ecs() @@ -134,8 +134,8 @@ impl StateExt for State { pos: comp::Pos, stats: comp::Stats, health: comp::Health, - inventory: comp::Inventory, poise: comp::Poise, + inventory: comp::Inventory, body: comp::Body, ) -> EcsEntityBuilder { self.ecs_mut() diff --git a/voxygen/src/audio/sfx/event_mapper/combat/tests.rs b/voxygen/src/audio/sfx/event_mapper/combat/tests.rs index 3a0f3c1dd8..c78f85ea96 100644 --- a/voxygen/src/audio/sfx/event_mapper/combat/tests.rs +++ b/voxygen/src/audio/sfx/event_mapper/combat/tests.rs @@ -74,6 +74,7 @@ fn maps_basic_melee() { swing_duration: Duration::default(), recover_duration: Duration::default(), base_damage: 10, + base_poise_damage: 10, knockback: 0.0, range: 1.0, max_angle: 1.0, @@ -113,7 +114,9 @@ fn matches_ability_stage() { stage_data: vec![states::combo_melee::Stage { stage: 1, base_damage: 100, + base_poise_damage: 100, damage_increase: 10, + poise_damage_increase: 10, knockback: 10.0, range: 4.0, angle: 30.0, @@ -170,7 +173,9 @@ fn ignores_different_ability_stage() { stage_data: vec![states::combo_melee::Stage { stage: 1, base_damage: 100, + base_poise_damage: 100, damage_increase: 10, + poise_damage_increase: 10, knockback: 10.0, range: 4.0, angle: 30.0, diff --git a/voxygen/src/hud/util.rs b/voxygen/src/hud/util.rs index 292b4c86db..6f1740a16c 100644 --- a/voxygen/src/hud/util.rs +++ b/voxygen/src/hud/util.rs @@ -69,13 +69,19 @@ fn armor_desc(armor: &Armor, desc: &str, slots: u16) -> String { ArmorKind::Tabard(_) => "Tabard", ArmorKind::Bag(_) => "Bag", }; - - let protection = match armor.get_protection() { + let armor_protection = match armor.get_protection() { + Protection::Normal(a) => a.to_string(), + Protection::Invincible => "Inf".to_string(), + }; + let armor_poise_protection = match armor.get_poise_protection() { Protection::Normal(a) => a.to_string(), Protection::Invincible => "Inf".to_string(), }; - let mut description = format!("{}\n\nArmor: {}", kind, protection); + let mut description = format!( + "{}\n\nArmor: {}\n\nPoise Protection: {}", + kind, armor_protection, armor_poise_protection + ); if !desc.is_empty() { write!(&mut description, "\n\n{}", desc).unwrap(); @@ -104,24 +110,31 @@ fn tool_desc(tool: &Tool, desc: &str) -> String { ToolKind::Farming => "Farming Tool", ToolKind::Empty => "Empty", }; + + // Get tool stats let power = tool.base_power(); + let poise_power = tool.base_poise_power(); let speed = tool.base_speed(); if !desc.is_empty() { format!( - "{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nSpeed: {:0.1}\n\n{}\n\n", + "{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nPoise Power: {:0.1}\n\nSpeed: \ + {:0.1}\n\n{}\n\n", kind, speed * power * 10.0, // Damage per second power * 10.0, + poise_power * 10.0, speed, desc ) } else { format!( - "{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nSpeed: {:0.1}\n\n", + "{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nPoise Power: {:0.1}\n\nSpeed: \ + {:0.1}\n\n", kind, speed * power * 10.0, // Damage per second power * 10.0, + poise_power * 10.0, speed ) } From d456271921afd11ad17afbd0f08f3278000488c7 Mon Sep 17 00:00:00 2001 From: jshipsey Date: Thu, 14 Jan 2021 22:32:12 -0500 Subject: [PATCH 08/11] animal stuns Fix rebase --- common/src/combat.rs | 2 +- common/src/comp/inventory/loadout_builder.rs | 2 +- common/src/comp/inventory/test.rs | 2 +- common/sys/src/stats.rs | 145 ++++++++++--------- voxygen/anim/src/character/run.rs | 3 +- voxygen/anim/src/character/stunned.rs | 1 - voxygen/anim/src/quadruped_low/jump.rs | 7 - voxygen/anim/src/quadruped_low/mod.rs | 3 +- voxygen/anim/src/quadruped_low/stunned.rs | 60 ++++++++ voxygen/anim/src/quadruped_medium/jump.rs | 12 +- voxygen/anim/src/quadruped_medium/mod.rs | 3 +- voxygen/anim/src/quadruped_medium/stunned.rs | 91 ++++++++++++ voxygen/anim/src/quadruped_small/jump.rs | 2 - voxygen/anim/src/quadruped_small/mod.rs | 3 +- voxygen/anim/src/quadruped_small/stunned.rs | 70 +++++++++ voxygen/src/scene/figure/mod.rs | 145 +++++++++++++++++++ 16 files changed, 452 insertions(+), 99 deletions(-) create mode 100644 voxygen/anim/src/quadruped_low/stunned.rs create mode 100644 voxygen/anim/src/quadruped_medium/stunned.rs create mode 100644 voxygen/anim/src/quadruped_small/stunned.rs diff --git a/common/src/combat.rs b/common/src/combat.rs index 02c9433822..eb905c135f 100644 --- a/common/src/combat.rs +++ b/common/src/combat.rs @@ -155,7 +155,7 @@ impl Damage { HealthChange { amount: -damage as i32, cause: HealthSource::World, - }, + } }, DamageSource::Buff(_) => HealthChange { amount: -damage as i32, diff --git a/common/src/comp/inventory/loadout_builder.rs b/common/src/comp/inventory/loadout_builder.rs index 5f7353fc86..11c7bc7b74 100644 --- a/common/src/comp/inventory/loadout_builder.rs +++ b/common/src/comp/inventory/loadout_builder.rs @@ -57,7 +57,7 @@ impl LoadoutBuilder { "common.items.armor.pants.rugged_pants", ))) .feet(Some(Item::new_from_asset_expect( - "common.items.armor.starter.sandals_0", + "common.items.armor.foot.sandals_0", ))) .lantern(Some(Item::new_from_asset_expect( "common.items.lantern.black_0", diff --git a/common/src/comp/inventory/test.rs b/common/src/comp/inventory/test.rs index 45de613774..acb566cc06 100644 --- a/common/src/comp/inventory/test.rs +++ b/common/src/comp/inventory/test.rs @@ -204,7 +204,7 @@ fn equip_replace_already_equipped_item() { let boots = Item::new_from_asset_expect("common.items.testing.test_boots"); let starting_sandles = Some(Item::new_from_asset_expect( - "common.items.armor.starter.sandals_0", + "common.items.armor.foot.sandals_0", )); let mut inv = Inventory::new_empty(); diff --git a/common/sys/src/stats.rs b/common/sys/src/stats.rs index b06e34bf59..f49bce1c83 100644 --- a/common/sys/src/stats.rs +++ b/common/sys/src/stats.rs @@ -74,13 +74,11 @@ impl<'a> System<'a> for Sys { poises.set_event_emission(true); // Update stats - for (entity, uid, mut stats, mut health, mut poise, character_state, pos) in ( + for (entity, uid, mut stats, mut health, pos) in ( &entities, &uids, &mut stats.restrict_mut(), &mut healths.restrict_mut(), - &mut poises.restrict_mut(), - &mut character_states, &positions, ) .join() @@ -158,74 +156,6 @@ impl<'a> System<'a> for Sys { let mut stat = stats.get_mut_unchecked(); stat.skill_set.modify_energy = false; } - - let was_wielded = character_state.is_wield(); - let poise = poise.get_mut_unchecked(); - match poise.poise_state() { - PoiseState::Normal => {}, - PoiseState::Interrupted => { - poise.reset(); - *character_state = CharacterState::Stunned(common::states::stunned::Data { - static_data: common::states::stunned::StaticData { - buildup_duration: Duration::from_millis(150), - recover_duration: Duration::from_millis(150), - movement_speed: 0.3, - }, - timer: Duration::default(), - stage_section: common::states::utils::StageSection::Buildup, - was_wielded, - }); - }, - PoiseState::Stunned => { - poise.reset(); - *character_state = CharacterState::Stunned(common::states::stunned::Data { - static_data: common::states::stunned::StaticData { - buildup_duration: Duration::from_millis(500), - recover_duration: Duration::from_millis(500), - movement_speed: 0.1, - }, - timer: Duration::default(), - stage_section: common::states::utils::StageSection::Buildup, - was_wielded, - }); - server_event_emitter.emit(ServerEvent::Knockback { - entity, - impulse: 5.0 * poise.knockback(), - }); - }, - PoiseState::Dazed => { - poise.reset(); - *character_state = CharacterState::Staggered(common::states::staggered::Data { - static_data: common::states::staggered::StaticData { - buildup_duration: Duration::from_millis(1000), - recover_duration: Duration::from_millis(1000), - }, - timer: Duration::default(), - stage_section: common::states::utils::StageSection::Buildup, - was_wielded, - }); - server_event_emitter.emit(ServerEvent::Knockback { - entity, - impulse: 10.0 * poise.knockback(), - }); - }, - PoiseState::KnockedDown => { - poise.reset(); - *character_state = CharacterState::Staggered(common::states::staggered::Data { - static_data: common::states::staggered::StaticData { - buildup_duration: Duration::from_millis(3000), - recover_duration: Duration::from_millis(500), - }, - timer: Duration::default(), - stage_section: common::states::utils::StageSection::Buildup, - was_wielded, - }); - server_event_emitter.emit(ServerEvent::Knockback { - entity, - impulse: 10.0 * poise.knockback(), - }); - }, - } } // Update energies and poises @@ -327,6 +257,79 @@ impl<'a> System<'a> for Sys { | CharacterState::Staggered { .. } => {}, } } + + // Assign poise states + for (entity, mut character_state, mut poise) in + (&entities, &mut character_states, &mut poises.restrict_mut()).join() + { + let was_wielded = character_state.is_wield(); + let poise = poise.get_mut_unchecked(); + match poise.poise_state() { + PoiseState::Normal => {}, + PoiseState::Interrupted => { + poise.reset(); + *character_state = CharacterState::Stunned(common::states::stunned::Data { + static_data: common::states::stunned::StaticData { + buildup_duration: Duration::from_millis(150), + recover_duration: Duration::from_millis(150), + movement_speed: 0.3, + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }); + }, + PoiseState::Stunned => { + poise.reset(); + *character_state = CharacterState::Stunned(common::states::stunned::Data { + static_data: common::states::stunned::StaticData { + buildup_duration: Duration::from_millis(500), + recover_duration: Duration::from_millis(500), + movement_speed: 0.1, + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }); + server_event_emitter.emit(ServerEvent::Knockback { + entity, + impulse: 5.0 * poise.knockback(), + }); + }, + PoiseState::Dazed => { + poise.reset(); + *character_state = CharacterState::Staggered(common::states::staggered::Data { + static_data: common::states::staggered::StaticData { + buildup_duration: Duration::from_millis(1000), + recover_duration: Duration::from_millis(1000), + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }); + server_event_emitter.emit(ServerEvent::Knockback { + entity, + impulse: 10.0 * poise.knockback(), + }); + }, + PoiseState::KnockedDown => { + poise.reset(); + *character_state = CharacterState::Staggered(common::states::staggered::Data { + static_data: common::states::staggered::StaticData { + buildup_duration: Duration::from_millis(3000), + recover_duration: Duration::from_millis(500), + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }); + server_event_emitter.emit(ServerEvent::Knockback { + entity, + impulse: 10.0 * poise.knockback(), + }); + }, + } + } sys_metrics.stats_ns.store( start_time.elapsed().as_nanos() as u64, std::sync::atomic::Ordering::Relaxed, diff --git a/voxygen/anim/src/character/run.rs b/voxygen/anim/src/character/run.rs index 8b96ea838f..685e1f2061 100644 --- a/voxygen/anim/src/character/run.rs +++ b/voxygen/anim/src/character/run.rs @@ -117,7 +117,8 @@ impl Animation for RunAnimation { * 0.1, ); - next.head.position = Vec3::new(0.0, -1.0 + s_a.head.0, s_a.head.1 + short * 0.1); + next.head.position = + Vec3::new(0.0, -1.0 * speednorm + s_a.head.0, s_a.head.1 + short * 0.1); next.head.orientation = Quaternion::rotation_z(tilt * -2.5 + head_look.x * 0.2 - short * 0.02) * Quaternion::rotation_x(head_look.y + 0.45 * speednorm); diff --git a/voxygen/anim/src/character/stunned.rs b/voxygen/anim/src/character/stunned.rs index c214a605de..0d260410c0 100644 --- a/voxygen/anim/src/character/stunned.rs +++ b/voxygen/anim/src/character/stunned.rs @@ -52,7 +52,6 @@ impl Animation for StunnedAnimation { let mirror = (check - 0.5).signum() as f32; let movement1 = movement1base * pullback * mirror; let movement1abs = movement1base * pullback; - println!("wield {}", wield_status); next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1); next.head.orientation = Quaternion::rotation_z(movement1 * 0.3); diff --git a/voxygen/anim/src/quadruped_low/jump.rs b/voxygen/anim/src/quadruped_low/jump.rs index 953a8f1a1f..ee1d101619 100644 --- a/voxygen/anim/src/quadruped_low/jump.rs +++ b/voxygen/anim/src/quadruped_low/jump.rs @@ -28,27 +28,20 @@ impl Animation for JumpAnimation { next.tail_rear.scale = Vec3::one() * 0.98; next.head_upper.position = Vec3::new(0.0, s_a.head_upper.0, s_a.head_upper.1); - next.head_upper.orientation = Quaternion::rotation_z(0.4) * Quaternion::rotation_x(0.0); next.head_lower.position = Vec3::new(0.0, s_a.head_lower.0, s_a.head_lower.1); - next.head_lower.orientation = Quaternion::rotation_z(0.2); next.jaw.position = Vec3::new(0.0, s_a.jaw.0, s_a.jaw.1); - next.jaw.orientation = Quaternion::rotation_x(-0.3); next.chest.position = Vec3::new(0.0, s_a.chest.0, s_a.chest.1) * s_a.scaler / 11.0; next.tail_front.position = Vec3::new(0.0, s_a.tail_front.0, s_a.tail_front.1); - next.tail_front.orientation = Quaternion::rotation_x(0.15) * Quaternion::rotation_z(-0.2); next.tail_rear.position = Vec3::new(0.0, s_a.tail_rear.0, s_a.tail_rear.1); - next.tail_rear.orientation = Quaternion::rotation_z(-0.4) * Quaternion::rotation_x(-0.12); next.foot_fl.position = Vec3::new(-s_a.feet_f.0, s_a.feet_f.1, s_a.feet_f.2); - next.foot_fl.orientation = Quaternion::rotation_z(0.3); next.foot_fr.position = Vec3::new(s_a.feet_f.0, s_a.feet_f.1, s_a.feet_f.2); - next.foot_fr.orientation = Quaternion::rotation_z(0.3); next.foot_bl.position = Vec3::new(-s_a.feet_b.0, s_a.feet_b.1, s_a.feet_b.2); diff --git a/voxygen/anim/src/quadruped_low/mod.rs b/voxygen/anim/src/quadruped_low/mod.rs index e8ee046102..e7c936a5d1 100644 --- a/voxygen/anim/src/quadruped_low/mod.rs +++ b/voxygen/anim/src/quadruped_low/mod.rs @@ -6,13 +6,14 @@ pub mod idle; pub mod jump; pub mod run; pub mod shoot; +pub mod stunned; pub mod tailwhip; // Reexports pub use self::{ alpha::AlphaAnimation, beta::BetaAnimation, breathe::BreatheAnimation, dash::DashAnimation, idle::IdleAnimation, jump::JumpAnimation, run::RunAnimation, shoot::ShootAnimation, - tailwhip::TailwhipAnimation, + stunned::StunnedAnimation, tailwhip::TailwhipAnimation, }; use super::{make_bone, vek::*, FigureBoneData, Skeleton}; diff --git a/voxygen/anim/src/quadruped_low/stunned.rs b/voxygen/anim/src/quadruped_low/stunned.rs new file mode 100644 index 0000000000..86794cef52 --- /dev/null +++ b/voxygen/anim/src/quadruped_low/stunned.rs @@ -0,0 +1,60 @@ +use super::{ + super::{vek::*, Animation}, + QuadrupedLowSkeleton, SkeletonAttr, +}; +use common::states::utils::StageSection; +//use std::ops::Rem; + +pub struct StunnedAnimation; + +impl Animation for StunnedAnimation { + type Dependency = (f32, f64, Option, f64); + type Skeleton = QuadrupedLowSkeleton; + + #[cfg(feature = "use-dyn-lib")] + const UPDATE_FN: &'static [u8] = b"quadruped_low_stunned\0"; + + #[cfg_attr(feature = "be-dyn-lib", export_name = "quadruped_low_stunned")] + fn update_skeleton_inner( + skeleton: &Self::Skeleton, + (_velocity, global_time, stage_section, timer): Self::Dependency, + anim_time: f64, + _rate: &mut f32, + _s_a: &SkeletonAttr, + ) -> Self::Skeleton { + let mut next = (*skeleton).clone(); + + let (movement1base, movement2, twitch) = match stage_section { + Some(StageSection::Buildup) => ((anim_time as f32).powf(0.25), 0.0, 0.0), + Some(StageSection::Recover) => ( + 1.0, + (anim_time as f32).powf(3.0), + ((1.0 - anim_time as f32) * 7.0).sin(), + ), + _ => (0.0, 0.0, 0.0), + }; + let pullback = 1.0 - movement2; + let subtract = global_time - timer; + let check = subtract - subtract.trunc(); + let mirror = (check - 0.5).signum() as f32; + let movement1 = mirror * movement1base * pullback; + let movement1abs = movement1base * pullback; + + next.head_upper.orientation = Quaternion::rotation_x(movement1abs * -0.18) + * Quaternion::rotation_z(twitch * 0.13 * mirror); + + next.head_lower.orientation = + Quaternion::rotation_x(movement1abs * -0.18) * Quaternion::rotation_y(movement1 * 0.3); + + next.jaw.orientation = Quaternion::rotation_x(0.0); + next.chest.orientation = + Quaternion::rotation_y(movement1 * -0.08) * Quaternion::rotation_z(movement1 * -0.15); + + next.tail_front.orientation = + Quaternion::rotation_x(0.15) * Quaternion::rotation_z(movement1 * -0.4); + + next.tail_rear.orientation = + Quaternion::rotation_x(-0.12) * Quaternion::rotation_z(movement1 * -0.4); + next + } +} diff --git a/voxygen/anim/src/quadruped_medium/jump.rs b/voxygen/anim/src/quadruped_medium/jump.rs index 87029d0c8b..fc7127b274 100644 --- a/voxygen/anim/src/quadruped_medium/jump.rs +++ b/voxygen/anim/src/quadruped_medium/jump.rs @@ -36,43 +36,33 @@ impl Animation for JumpAnimation { next.ears.scale = Vec3::one() * 1.02; next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1); - next.head.orientation = Quaternion::rotation_z(0.4) * Quaternion::rotation_x(0.3); next.neck.position = Vec3::new(0.0, s_a.neck.0, s_a.neck.1); - next.neck.orientation = Quaternion::rotation_z(0.2) * Quaternion::rotation_x(0.3); next.jaw.position = Vec3::new(0.0, s_a.jaw.0, s_a.jaw.1); - next.jaw.orientation = Quaternion::rotation_x(-0.4); + next.jaw.orientation = Quaternion::rotation_x(0.0); next.tail.position = Vec3::new(0.0, s_a.tail.0, s_a.tail.1); - next.tail.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(-0.3); next.torso_front.position = Vec3::new(0.0, s_a.torso_front.0, s_a.torso_front.1) * s_a.scaler / 11.0; next.torso_front.orientation = Quaternion::rotation_y(0.0); next.torso_back.position = Vec3::new(0.0, s_a.torso_back.0, s_a.torso_back.1); - next.torso_back.orientation = Quaternion::rotation_z(-0.3); next.ears.position = Vec3::new(0.0, s_a.ears.0, s_a.ears.1); - next.ears.orientation = Quaternion::rotation_x(0.6); next.leg_fl.position = Vec3::new(-s_a.leg_f.0, s_a.leg_f.1, s_a.leg_f.2); - next.leg_fl.orientation = Quaternion::rotation_x(-0.4); next.leg_fr.position = Vec3::new(s_a.leg_f.0, s_a.leg_f.1, s_a.leg_f.2); - next.leg_fr.orientation = Quaternion::rotation_x(0.4); next.leg_bl.position = Vec3::new(-s_a.leg_b.0, s_a.leg_b.1, s_a.leg_b.2); next.leg_br.position = Vec3::new(s_a.leg_b.0, s_a.leg_b.1, s_a.leg_b.2); - next.leg_br.orientation = Quaternion::rotation_y(0.0); next.foot_fl.position = Vec3::new(-s_a.feet_f.0, s_a.feet_f.1, s_a.feet_f.2); - next.foot_fl.orientation = Quaternion::rotation_x(-0.3); next.foot_fr.position = Vec3::new(s_a.feet_f.0, s_a.feet_f.1, s_a.feet_f.2); - next.foot_fr.orientation = Quaternion::rotation_x(0.2); next.foot_bl.position = Vec3::new(-s_a.feet_b.0, s_a.feet_b.1, s_a.feet_b.2); diff --git a/voxygen/anim/src/quadruped_medium/mod.rs b/voxygen/anim/src/quadruped_medium/mod.rs index 5a4b025dc4..10f87dd25c 100644 --- a/voxygen/anim/src/quadruped_medium/mod.rs +++ b/voxygen/anim/src/quadruped_medium/mod.rs @@ -7,12 +7,13 @@ pub mod idle; pub mod jump; pub mod leapmelee; pub mod run; +pub mod stunned; // Reexports pub use self::{ alpha::AlphaAnimation, beta::BetaAnimation, dash::DashAnimation, feed::FeedAnimation, hoof::HoofAnimation, idle::IdleAnimation, jump::JumpAnimation, leapmelee::LeapMeleeAnimation, - run::RunAnimation, + run::RunAnimation, stunned::StunnedAnimation, }; use super::{make_bone, vek::*, FigureBoneData, Skeleton}; diff --git a/voxygen/anim/src/quadruped_medium/stunned.rs b/voxygen/anim/src/quadruped_medium/stunned.rs new file mode 100644 index 0000000000..22dff2f904 --- /dev/null +++ b/voxygen/anim/src/quadruped_medium/stunned.rs @@ -0,0 +1,91 @@ +use super::{ + super::{vek::*, Animation}, + QuadrupedMediumSkeleton, SkeletonAttr, +}; +use common::states::utils::StageSection; + +pub struct StunnedAnimation; + +impl Animation for StunnedAnimation { + type Dependency = (f32, f64, Option, f64); + type Skeleton = QuadrupedMediumSkeleton; + + #[cfg(feature = "use-dyn-lib")] + const UPDATE_FN: &'static [u8] = b"quadruped_medium_stunned\0"; + + #[cfg_attr(feature = "be-dyn-lib", export_name = "quadruped_medium_stunned")] + fn update_skeleton_inner( + skeleton: &Self::Skeleton, + (_velocity, global_time, stage_section, timer): Self::Dependency, + anim_time: f64, + _rate: &mut f32, + s_a: &SkeletonAttr, + ) -> Self::Skeleton { + let mut next = (*skeleton).clone(); + + let (movement1base, movement2, twitch) = match stage_section { + Some(StageSection::Buildup) => ((anim_time as f32).powf(0.25), 0.0, 0.0), + Some(StageSection::Recover) => ( + 1.0, + (anim_time as f32).powf(3.0), + ((1.0 - anim_time as f32) * 7.0).sin(), + ), + _ => (0.0, 0.0, 0.0), + }; + let pullback = 1.0 - movement2; + let subtract = global_time - timer; + let check = subtract - subtract.trunc(); + let mirror = (check - 0.5).signum() as f32; + let movement1 = movement1base * mirror * pullback; + let movement1abs = movement1base * pullback; + + next.head.orientation = Quaternion::rotation_x(movement1abs * -0.45) + * Quaternion::rotation_y(movement1 * 0.35) + * Quaternion::rotation_z(movement1 * 0.15 + twitch * 0.3 * mirror); + + next.neck.orientation = Quaternion::rotation_x(movement1abs * -0.3) + * Quaternion::rotation_y(movement1 * 0.0) + * Quaternion::rotation_z(movement1 * 0.10 + movement1 * -0.15); + + next.jaw.orientation = Quaternion::rotation_x(0.0); + + next.tail.orientation = Quaternion::rotation_z(movement1 * 0.5); + next.torso_front.position = Vec3::new( + 0.0, + s_a.torso_front.0 + movement1abs * -4.0, + s_a.torso_front.1, + ) * s_a.scaler + / 11.0; + next.torso_front.orientation = + Quaternion::rotation_y(0.0) * Quaternion::rotation_z(movement1 * 0.35); + + next.torso_back.orientation = + Quaternion::rotation_y(movement1 * 0.18) * Quaternion::rotation_z(movement1 * -0.4); + + next.ears.orientation = Quaternion::rotation_x(twitch * 0.1 * mirror); + + next.leg_fl.position = Vec3::new(-s_a.leg_f.0, s_a.leg_f.1, s_a.leg_f.2); + next.leg_fl.orientation = Quaternion::rotation_y(0.0); + + next.leg_fr.position = Vec3::new(s_a.leg_f.0, s_a.leg_f.1, s_a.leg_f.2); + next.leg_fr.orientation = Quaternion::rotation_y(0.0); + + next.leg_bl.position = Vec3::new(-s_a.leg_b.0, s_a.leg_b.1, s_a.leg_b.2); + next.leg_bl.orientation = Quaternion::rotation_y(movement1 * -0.3); + + next.leg_br.position = Vec3::new(s_a.leg_b.0, s_a.leg_b.1, s_a.leg_b.2); + next.leg_br.orientation = Quaternion::rotation_y(movement1 * -0.3); + + next.foot_fl.position = Vec3::new(-s_a.feet_f.0, s_a.feet_f.1, s_a.feet_f.2); + next.foot_fl.orientation = Quaternion::rotation_x(movement1abs * 0.2); + + next.foot_fr.position = Vec3::new(s_a.feet_f.0, s_a.feet_f.1, s_a.feet_f.2); + next.foot_fr.orientation = Quaternion::rotation_x(movement1abs * 0.2); + + next.foot_bl.position = Vec3::new(-s_a.feet_b.0, s_a.feet_b.1, s_a.feet_b.2); + + next.foot_br.position = Vec3::new(s_a.feet_b.0, s_a.feet_b.1, s_a.feet_b.2); + + next + } +} diff --git a/voxygen/anim/src/quadruped_small/jump.rs b/voxygen/anim/src/quadruped_small/jump.rs index 1bbc072d4c..4af9adadb1 100644 --- a/voxygen/anim/src/quadruped_small/jump.rs +++ b/voxygen/anim/src/quadruped_small/jump.rs @@ -23,7 +23,6 @@ impl Animation for JumpAnimation { let mut next = (*skeleton).clone(); next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1); - next.head.orientation = Quaternion::rotation_z(-0.8) * Quaternion::rotation_x(0.5); next.chest.position = Vec3::new(0.0, s_a.chest.0, s_a.chest.1) * s_a.scaler / 11.0; next.chest.orientation = Quaternion::rotation_y(0.0); @@ -42,7 +41,6 @@ impl Animation for JumpAnimation { next.leg_br.orientation = Quaternion::rotation_x(0.0); next.tail.position = Vec3::new(0.0, s_a.tail.0, s_a.tail.1); - next.tail.orientation = Quaternion::rotation_x(-0.3); next } } diff --git a/voxygen/anim/src/quadruped_small/mod.rs b/voxygen/anim/src/quadruped_small/mod.rs index 2d09ae38c4..f48d05c471 100644 --- a/voxygen/anim/src/quadruped_small/mod.rs +++ b/voxygen/anim/src/quadruped_small/mod.rs @@ -3,11 +3,12 @@ pub mod feed; pub mod idle; pub mod jump; pub mod run; +pub mod stunned; // Reexports pub use self::{ alpha::AlphaAnimation, feed::FeedAnimation, idle::IdleAnimation, jump::JumpAnimation, - run::RunAnimation, + run::RunAnimation, stunned::StunnedAnimation, }; use super::{make_bone, vek::*, FigureBoneData, Skeleton}; diff --git a/voxygen/anim/src/quadruped_small/stunned.rs b/voxygen/anim/src/quadruped_small/stunned.rs new file mode 100644 index 0000000000..a449436991 --- /dev/null +++ b/voxygen/anim/src/quadruped_small/stunned.rs @@ -0,0 +1,70 @@ +use super::{ + super::{vek::*, Animation}, + QuadrupedSmallSkeleton, SkeletonAttr, +}; +use common::states::utils::StageSection; +//use std::ops::Rem; + +pub struct StunnedAnimation; + +impl Animation for StunnedAnimation { + type Dependency = (f32, f64, Option, f64); + type Skeleton = QuadrupedSmallSkeleton; + + #[cfg(feature = "use-dyn-lib")] + const UPDATE_FN: &'static [u8] = b"quadruped_small_stunned\0"; + + #[cfg_attr(feature = "be-dyn-lib", export_name = "quadruped_small_stunned")] + fn update_skeleton_inner( + skeleton: &Self::Skeleton, + (_velocity, global_time, stage_section, timer): Self::Dependency, + anim_time: f64, + _rate: &mut f32, + s_a: &SkeletonAttr, + ) -> Self::Skeleton { + let mut next = (*skeleton).clone(); + + let (movement1base, movement2, twitch) = match stage_section { + Some(StageSection::Buildup) => ((anim_time as f32).powf(0.25), 0.0, 0.0), + Some(StageSection::Recover) => ( + 1.0, + (anim_time as f32).powf(3.0), + ((1.0 - anim_time as f32) * 10.0).sin(), + ), + _ => (0.0, 0.0, 0.0), + }; + let pullback = 1.0 - movement2; + let subtract = global_time - timer; + let check = subtract - subtract.trunc(); + let mirror = (check - 0.5).signum() as f32; + let movement1 = mirror * movement1base * pullback; + let movement1abs = movement1base * pullback; + next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1); + + next.chest.position = + Vec3::new(0.0, s_a.chest.0, s_a.chest.1 + movement1abs * -1.5) / 11.0 * s_a.scaler; + next.head.orientation = Quaternion::rotation_x(movement1abs * -0.2) + * Quaternion::rotation_y(movement1 * -0.6) + * Quaternion::rotation_z(movement1 * 0.4 + twitch * 0.2 * mirror); + + next.chest.orientation = + Quaternion::rotation_x(movement1abs * -0.2) * Quaternion::rotation_z(0.0); + + next.leg_fl.position = Vec3::new(-s_a.feet_f.0, s_a.feet_f.1, s_a.feet_f.2); + next.leg_fl.orientation = Quaternion::rotation_x(movement1abs * 0.8); + + next.leg_fr.position = Vec3::new(s_a.feet_f.0, s_a.feet_f.1, s_a.feet_f.2); + next.leg_fr.orientation = Quaternion::rotation_x(movement1abs * 0.8); + + next.leg_bl.position = Vec3::new(-s_a.feet_b.0, s_a.feet_b.1, s_a.feet_b.2); + next.leg_bl.orientation = Quaternion::rotation_x(movement1abs * -0.2); + + next.leg_br.position = Vec3::new(s_a.feet_b.0, s_a.feet_b.1, s_a.feet_b.2); + next.leg_br.orientation = Quaternion::rotation_x(movement1abs * -0.2); + + next.tail.orientation = + Quaternion::rotation_x(movement1abs * 0.5) * Quaternion::rotation_z(movement1 * -0.4); + + next + } +} diff --git a/voxygen/src/scene/figure/mod.rs b/voxygen/src/scene/figure/mod.rs index d6aecc486e..0224175c4e 100644 --- a/voxygen/src/scene/figure/mod.rs +++ b/voxygen/src/scene/figure/mod.rs @@ -1523,6 +1523,54 @@ impl FigureMgr { ) } }, + CharacterState::Stunned(s) => { + let stage_time = s.timer.as_secs_f64(); + let stage_progress = match s.stage_section { + StageSection::Buildup => { + stage_time / s.static_data.buildup_duration.as_secs_f64() + }, + StageSection::Recover => { + stage_time / s.static_data.recover_duration.as_secs_f64() + }, + _ => 0.0, + }; + anim::quadruped_small::StunnedAnimation::update_skeleton( + &target_base, + ( + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) + }, + CharacterState::Staggered(s) => { + let stage_time = s.timer.as_secs_f64(); + let stage_progress = match s.stage_section { + StageSection::Buildup => { + stage_time / s.static_data.buildup_duration.as_secs_f64() + }, + StageSection::Recover => { + stage_time / s.static_data.recover_duration.as_secs_f64() + }, + _ => 0.0, + }; + anim::quadruped_small::StunnedAnimation::update_skeleton( + &target_base, + ( + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) + }, CharacterState::Sit { .. } => { anim::quadruped_small::FeedAnimation::update_skeleton( &target_base, @@ -1800,6 +1848,54 @@ impl FigureMgr { ), } }, + CharacterState::Stunned(s) => { + let stage_time = s.timer.as_secs_f64(); + let stage_progress = match s.stage_section { + StageSection::Buildup => { + stage_time / s.static_data.buildup_duration.as_secs_f64() + }, + StageSection::Recover => { + stage_time / s.static_data.recover_duration.as_secs_f64() + }, + _ => 0.0, + }; + anim::quadruped_medium::StunnedAnimation::update_skeleton( + &target_base, + ( + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) + }, + CharacterState::Staggered(s) => { + let stage_time = s.timer.as_secs_f64(); + let stage_progress = match s.stage_section { + StageSection::Buildup => { + stage_time / s.static_data.buildup_duration.as_secs_f64() + }, + StageSection::Recover => { + stage_time / s.static_data.recover_duration.as_secs_f64() + }, + _ => 0.0, + }; + anim::quadruped_medium::StunnedAnimation::update_skeleton( + &target_base, + ( + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) + }, CharacterState::Sit { .. } => { anim::quadruped_medium::FeedAnimation::update_skeleton( &target_base, @@ -1959,6 +2055,7 @@ impl FigureMgr { skeleton_attr, ) }, + CharacterState::ChargedMelee(s) => { let stage_time = s.timer.as_secs_f64(); @@ -1988,6 +2085,54 @@ impl FigureMgr { skeleton_attr, ) }, + CharacterState::Stunned(s) => { + let stage_time = s.timer.as_secs_f64(); + let stage_progress = match s.stage_section { + StageSection::Buildup => { + stage_time / s.static_data.buildup_duration.as_secs_f64() + }, + StageSection::Recover => { + stage_time / s.static_data.recover_duration.as_secs_f64() + }, + _ => 0.0, + }; + anim::quadruped_low::StunnedAnimation::update_skeleton( + &target_base, + ( + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) + }, + CharacterState::Staggered(s) => { + let stage_time = s.timer.as_secs_f64(); + let stage_progress = match s.stage_section { + StageSection::Buildup => { + stage_time / s.static_data.buildup_duration.as_secs_f64() + }, + StageSection::Recover => { + stage_time / s.static_data.recover_duration.as_secs_f64() + }, + _ => 0.0, + }; + anim::quadruped_low::StunnedAnimation::update_skeleton( + &target_base, + ( + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) + }, CharacterState::ComboMelee(s) => { let stage_index = (s.stage - 1) as usize; let stage_time = s.timer.as_secs_f64(); From 152156d065af99b4c95b8e890995cb6de4c836b0 Mon Sep 17 00:00:00 2001 From: jiminycrick Date: Mon, 25 Jan 2021 20:16:28 -0800 Subject: [PATCH 09/11] Fix rebase and scrub poise from UI --- assets/common/abilities/axe/doublestrike.ron | 8 ++--- assets/common/abilities/axe/leap.ron | 2 +- assets/common/abilities/axe/spin.ron | 2 +- assets/common/abilities/bow/basic.ron | 2 +- assets/common/abilities/bow/charged.ron | 4 +-- assets/common/abilities/bow/repeater.ron | 2 +- assets/common/abilities/dagger/tempbasic.ron | 2 +- assets/common/abilities/empty/basic.ron | 2 +- assets/common/abilities/farming/basic.ron | 2 +- assets/common/abilities/hammer/charged.ron | 4 +-- assets/common/abilities/hammer/leap.ron | 2 +- .../common/abilities/hammer/singlestrike.ron | 4 +-- assets/common/abilities/shield/tempbasic.ron | 2 +- assets/common/abilities/staff/firebomb.ron | 2 +- .../common/abilities/staff/fireshockwave.ron | 2 +- assets/common/abilities/sword/dash.ron | 4 +-- assets/common/abilities/sword/spin.ron | 2 +- .../common/abilities/sword/triplestrike.ron | 12 +++---- .../abilities/unique/beastclaws/basic.ron | 2 +- .../unique/quadlowbasic/singlestrike.ron | 4 +-- .../unique/quadlowbasic/triplestrike.ron | 12 +++---- .../abilities/unique/quadlowbreathe/dash.ron | 4 +-- .../unique/quadlowbreathe/triplestrike.ron | 12 +++---- .../abilities/unique/quadlowquick/dash.ron | 4 +-- .../unique/quadlowquick/quadstrike.ron | 16 +++++----- .../unique/quadlowranged/firebomb.ron | 2 +- .../unique/quadlowranged/singlestrike.ron | 4 +-- .../abilities/unique/quadlowtail/charged.ron | 4 +-- .../unique/quadlowtail/triplestrike.ron | 12 +++---- .../unique/quadmedbasic/singlestrike.ron | 4 +-- .../unique/quadmedbasic/triplestrike.ron | 12 +++---- .../abilities/unique/quadmedcharge/dash.ron | 4 +-- .../unique/quadmedcharge/doublestrike.ron | 8 ++--- .../abilities/unique/quadmedhoof/basic.ron | 2 +- .../unique/quadmedjump/doublestrike.ron | 8 ++--- .../abilities/unique/quadmedjump/leap.ron | 2 +- .../unique/quadmedjump/quickleap.ron | 2 +- .../abilities/unique/quadmedquick/dash.ron | 4 +-- .../unique/quadmedquick/triplestrike.ron | 12 +++---- .../unique/quadsmallbasic/singlestrike.ron | 4 +-- .../abilities/unique/stonegolemfist/basic.ron | 2 +- .../unique/stonegolemfist/shockwave.ron | 2 +- .../abilities/unique/stonegolemfist/spin.ron | 3 +- .../unique/theropodbasic/singlestrike.ron | 4 +-- .../unique/theropodbasic/triplestrike.ron | 12 +++---- .../unique/theropodbird/singlestrike.ron | 4 +-- .../unique/theropodbird/triplestrike.ron | 12 +++---- .../common/items/debug/admin_black_hole.ron | 5 ++- assets/common/items/weapons/sceptre/fork0.ron | 1 + .../common/items/weapons/sceptre/loops0.ron | 1 + assets/common/items/weapons/sceptre/moon0.ron | 1 + .../items/weapons/sceptre/root_evil.ron | 1 + .../items/weapons/sceptre/root_green0.ron | 1 + .../items/weapons/sceptre/totem_green.ron | 1 + server/src/sys/terrain.rs | 2 +- voxygen/src/hud/util.rs | 32 +++++++++++-------- 56 files changed, 149 insertions(+), 133 deletions(-) diff --git a/assets/common/abilities/axe/doublestrike.ron b/assets/common/abilities/axe/doublestrike.ron index 7c9f767d46..556a3e14fe 100644 --- a/assets/common/abilities/axe/doublestrike.ron +++ b/assets/common/abilities/axe/doublestrike.ron @@ -4,9 +4,9 @@ ComboMelee( stage: 1, base_damage: 90, max_damage: 110, - base_poise_damage: 20, + base_poise_damage: 0, damage_increase: 10, - poise_damage_increase: 5, + poise_damage_increase: 0, knockback: 8.0, range: 3.5, angle: 50.0, @@ -19,9 +19,9 @@ ComboMelee( stage: 2, base_damage: 130, max_damage: 160, - base_poise_damage: 40, + base_poise_damage: 0, damage_increase: 15, - poise_damage_increase: 15, + poise_damage_increase: 0, knockback: 12.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/axe/leap.ron b/assets/common/abilities/axe/leap.ron index ed8d37c32e..d4518b1b27 100644 --- a/assets/common/abilities/axe/leap.ron +++ b/assets/common/abilities/axe/leap.ron @@ -5,7 +5,7 @@ LeapMelee( swing_duration: 200, recover_duration: 200, base_damage: 240, - base_poise_damage: 70, + base_poise_damage: 0, knockback: 12.0, range: 4.5, max_angle: 30.0, diff --git a/assets/common/abilities/axe/spin.ron b/assets/common/abilities/axe/spin.ron index e70a6acb9e..3e21490f57 100644 --- a/assets/common/abilities/axe/spin.ron +++ b/assets/common/abilities/axe/spin.ron @@ -3,7 +3,7 @@ SpinMelee( swing_duration: 400, recover_duration: 200, base_damage: 60, - base_poise_damage: 20, + base_poise_damage: 0, knockback: 0.0, range: 3.5, energy_cost: 100, diff --git a/assets/common/abilities/bow/basic.ron b/assets/common/abilities/bow/basic.ron index 999207b677..46a791e154 100644 --- a/assets/common/abilities/bow/basic.ron +++ b/assets/common/abilities/bow/basic.ron @@ -4,7 +4,7 @@ BasicRanged( recover_duration: 300, projectile: Arrow( damage: 70.0, - poise_damage: 2, + poise_damage: 0, knockback: 5.0, energy_regen: 40, ), diff --git a/assets/common/abilities/bow/charged.ron b/assets/common/abilities/bow/charged.ron index 76e173a132..3073e5f04a 100644 --- a/assets/common/abilities/bow/charged.ron +++ b/assets/common/abilities/bow/charged.ron @@ -3,8 +3,8 @@ ChargedRanged( energy_drain: 300, initial_damage: 10, scaled_damage: 190, - initial_poise_damage: 10, - scaled_poise_damage: 60, + initial_poise_damage: 0, + scaled_poise_damage: 0, initial_knockback: 10.0, scaled_knockback: 10.0, speed: 1.0, diff --git a/assets/common/abilities/bow/repeater.ron b/assets/common/abilities/bow/repeater.ron index 0dcb04e413..e8e1ebee87 100644 --- a/assets/common/abilities/bow/repeater.ron +++ b/assets/common/abilities/bow/repeater.ron @@ -7,7 +7,7 @@ RepeaterRanged( leap: Some(5.0), projectile: Arrow( damage: 40.0, - poise_damage: 4, + poise_damage: 0, knockback: 5.0, energy_regen: 0, ), diff --git a/assets/common/abilities/dagger/tempbasic.ron b/assets/common/abilities/dagger/tempbasic.ron index c42e13bbd2..96f0bc4415 100644 --- a/assets/common/abilities/dagger/tempbasic.ron +++ b/assets/common/abilities/dagger/tempbasic.ron @@ -4,7 +4,7 @@ BasicMelee( swing_duration: 100, recover_duration: 300, base_damage: 50, - base_poise_damage: 10, + base_poise_damage: 0, knockback: 0.0, range: 3.5, max_angle: 20.0, diff --git a/assets/common/abilities/empty/basic.ron b/assets/common/abilities/empty/basic.ron index 8d2fdf9aee..d4c8eee77a 100644 --- a/assets/common/abilities/empty/basic.ron +++ b/assets/common/abilities/empty/basic.ron @@ -4,7 +4,7 @@ BasicMelee( swing_duration: 100, recover_duration: 900, base_damage: 20, - base_poise_damage: 5, + base_poise_damage: 0, knockback: 0.0, range: 3.5, max_angle: 15.0, diff --git a/assets/common/abilities/farming/basic.ron b/assets/common/abilities/farming/basic.ron index dda81a894a..91761c2515 100644 --- a/assets/common/abilities/farming/basic.ron +++ b/assets/common/abilities/farming/basic.ron @@ -4,7 +4,7 @@ BasicMelee( swing_duration: 100, recover_duration: 150, base_damage: 50, - base_poise_damage: 5, + base_poise_damage: 0, knockback: 0.0, range: 3.5, max_angle: 20.0, diff --git a/assets/common/abilities/hammer/charged.ron b/assets/common/abilities/hammer/charged.ron index 3d9e09471c..85d34ffd8b 100644 --- a/assets/common/abilities/hammer/charged.ron +++ b/assets/common/abilities/hammer/charged.ron @@ -3,8 +3,8 @@ ChargedMelee( energy_drain: 300, initial_damage: 10, scaled_damage: 160, - initial_poise_damage: 5, - scaled_poise_damage: 70, + initial_poise_damage: 0, + scaled_poise_damage: 0, initial_knockback: 10.0, scaled_knockback: 50.0, range: 3.5, diff --git a/assets/common/abilities/hammer/leap.ron b/assets/common/abilities/hammer/leap.ron index 578282360b..079773f94a 100644 --- a/assets/common/abilities/hammer/leap.ron +++ b/assets/common/abilities/hammer/leap.ron @@ -5,7 +5,7 @@ LeapMelee( swing_duration: 150, recover_duration: 200, base_damage: 240, - base_poise_damage: 40, + base_poise_damage: 0, knockback: 25.0, range: 4.5, max_angle: 360.0, diff --git a/assets/common/abilities/hammer/singlestrike.ron b/assets/common/abilities/hammer/singlestrike.ron index 663e9a1f85..34578dcc34 100644 --- a/assets/common/abilities/hammer/singlestrike.ron +++ b/assets/common/abilities/hammer/singlestrike.ron @@ -3,8 +3,8 @@ ComboMelee( stage: 1, base_damage: 130, damage_increase: 10, - base_poise_damage: 10, - poise_damage_increase: 5, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 0.0, range: 4.5, angle: 50.0, diff --git a/assets/common/abilities/shield/tempbasic.ron b/assets/common/abilities/shield/tempbasic.ron index 3c823cea25..cd78ac1924 100644 --- a/assets/common/abilities/shield/tempbasic.ron +++ b/assets/common/abilities/shield/tempbasic.ron @@ -4,7 +4,7 @@ BasicMelee( swing_duration: 100, recover_duration: 300, base_damage: 40, - base_poise_damage: 20, + base_poise_damage: 0, knockback: 0.0, range: 3.0, max_angle: 120.0, diff --git a/assets/common/abilities/staff/firebomb.ron b/assets/common/abilities/staff/firebomb.ron index 78623f0e5c..b404393f2c 100644 --- a/assets/common/abilities/staff/firebomb.ron +++ b/assets/common/abilities/staff/firebomb.ron @@ -4,7 +4,7 @@ BasicRanged( recover_duration: 350, projectile: Fireball( damage: 100.0, - poise_damage: 10, + poise_damage: 0, radius: 5.0, energy_regen: 50, ), diff --git a/assets/common/abilities/staff/fireshockwave.ron b/assets/common/abilities/staff/fireshockwave.ron index a45a280454..1a3c2c48bc 100644 --- a/assets/common/abilities/staff/fireshockwave.ron +++ b/assets/common/abilities/staff/fireshockwave.ron @@ -4,7 +4,7 @@ Shockwave( swing_duration: 100, recover_duration: 300, damage: 200, - poise_damage: 10, + poise_damage: 0, knockback: Away(25.0), shockwave_angle: 360.0, shockwave_vertical_angle: 90.0, diff --git a/assets/common/abilities/sword/dash.ron b/assets/common/abilities/sword/dash.ron index 97137227eb..355f9a44ee 100644 --- a/assets/common/abilities/sword/dash.ron +++ b/assets/common/abilities/sword/dash.ron @@ -2,8 +2,8 @@ DashMelee( energy_cost: 100, base_damage: 80, scaled_damage: 160, - base_poise_damage: 20, - scaled_poise_damage: 20, + base_poise_damage: 0, + scaled_poise_damage: 0, base_knockback: 8.0, scaled_knockback: 7.0, range: 5.0, diff --git a/assets/common/abilities/sword/spin.ron b/assets/common/abilities/sword/spin.ron index 97d685f085..2b1e09dbcd 100644 --- a/assets/common/abilities/sword/spin.ron +++ b/assets/common/abilities/sword/spin.ron @@ -3,7 +3,7 @@ SpinMelee( swing_duration: 400, recover_duration: 500, base_damage: 160, - base_poise_damage: 10, + base_poise_damage: 0, knockback: 10.0, range: 3.5, energy_cost: 150, diff --git a/assets/common/abilities/sword/triplestrike.ron b/assets/common/abilities/sword/triplestrike.ron index a5bad53d9a..ad1cbd6c83 100644 --- a/assets/common/abilities/sword/triplestrike.ron +++ b/assets/common/abilities/sword/triplestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 100, damage_increase: 10, - base_poise_damage: 10, - poise_damage_increase: 2, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 4.0, angle: 30.0, @@ -18,8 +18,8 @@ ComboMelee( stage: 2, base_damage: 80, damage_increase: 15, - base_poise_damage: 10, - poise_damage_increase: 2, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 12.0, range: 3.5, angle: 180.0, @@ -32,8 +32,8 @@ ComboMelee( stage: 3, base_damage: 130, damage_increase: 20, - base_poise_damage: 10, - poise_damage_increase: 2, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 14.0, range: 6.0, angle: 10.0, diff --git a/assets/common/abilities/unique/beastclaws/basic.ron b/assets/common/abilities/unique/beastclaws/basic.ron index 26899baacc..cdc3a21430 100644 --- a/assets/common/abilities/unique/beastclaws/basic.ron +++ b/assets/common/abilities/unique/beastclaws/basic.ron @@ -5,7 +5,7 @@ BasicMelee( recover_duration: 250, knockback: 25.0, base_damage: 200, - base_poise_damage: 30, + base_poise_damage: 0, range: 5.0, max_angle: 120.0, ) diff --git a/assets/common/abilities/unique/quadlowbasic/singlestrike.ron b/assets/common/abilities/unique/quadlowbasic/singlestrike.ron index a3fc57484c..7a3066bb06 100644 --- a/assets/common/abilities/unique/quadlowbasic/singlestrike.ron +++ b/assets/common/abilities/unique/quadlowbasic/singlestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 100, damage_increase: 0, - base_poise_damage: 30, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 5.0, range: 3.5, angle: 60.0, diff --git a/assets/common/abilities/unique/quadlowbasic/triplestrike.ron b/assets/common/abilities/unique/quadlowbasic/triplestrike.ron index 5e3a07a5cd..fa9e4bcf23 100644 --- a/assets/common/abilities/unique/quadlowbasic/triplestrike.ron +++ b/assets/common/abilities/unique/quadlowbasic/triplestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 120, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 3.5, angle: 30.0, @@ -18,8 +18,8 @@ ComboMelee( stage: 2, base_damage: 80, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 3.5, angle: 30.0, @@ -32,8 +32,8 @@ ComboMelee( stage: 3, base_damage: 130, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadlowbreathe/dash.ron b/assets/common/abilities/unique/quadlowbreathe/dash.ron index 642876f4ab..57709273c7 100644 --- a/assets/common/abilities/unique/quadlowbreathe/dash.ron +++ b/assets/common/abilities/unique/quadlowbreathe/dash.ron @@ -2,8 +2,8 @@ DashMelee( energy_cost: 0, base_damage: 150, scaled_damage: 110, - base_poise_damage: 60, - scaled_poise_damage: 20, + base_poise_damage: 0, + scaled_poise_damage: 0, base_knockback: 8.0, scaled_knockback: 17.0, range: 5.0, diff --git a/assets/common/abilities/unique/quadlowbreathe/triplestrike.ron b/assets/common/abilities/unique/quadlowbreathe/triplestrike.ron index 06897a32ae..1d4512be9a 100644 --- a/assets/common/abilities/unique/quadlowbreathe/triplestrike.ron +++ b/assets/common/abilities/unique/quadlowbreathe/triplestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 100, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 4.5, angle: 30.0, @@ -18,8 +18,8 @@ ComboMelee( stage: 2, base_damage: 80, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 3.5, angle: 30.0, @@ -32,8 +32,8 @@ ComboMelee( stage: 3, base_damage: 130, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadlowquick/dash.ron b/assets/common/abilities/unique/quadlowquick/dash.ron index 8fe7975f79..7a0faf4799 100644 --- a/assets/common/abilities/unique/quadlowquick/dash.ron +++ b/assets/common/abilities/unique/quadlowquick/dash.ron @@ -2,8 +2,8 @@ DashMelee( energy_cost: 0, base_damage: 30, scaled_damage: 10, - base_poise_damage: 30, - scaled_poise_damage: 20, + base_poise_damage: 0, + scaled_poise_damage: 0, base_knockback: 8.0, scaled_knockback: 7.0, range: 2.0, diff --git a/assets/common/abilities/unique/quadlowquick/quadstrike.ron b/assets/common/abilities/unique/quadlowquick/quadstrike.ron index e4e09a38ab..0defac6e9b 100644 --- a/assets/common/abilities/unique/quadlowquick/quadstrike.ron +++ b/assets/common/abilities/unique/quadlowquick/quadstrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 100, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 2.0, range: 3.5, angle: 30.0, @@ -18,8 +18,8 @@ ComboMelee( stage: 2, base_damage: 130, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 2.0, range: 3.5, angle: 30.0, @@ -32,8 +32,8 @@ ComboMelee( stage: 3, base_damage: 130, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 2.0, range: 3.5, angle: 30.0, @@ -46,8 +46,8 @@ ComboMelee( stage: 4, base_damage: 130, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 8.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadlowranged/firebomb.ron b/assets/common/abilities/unique/quadlowranged/firebomb.ron index 266cf07e76..f304e66fa0 100644 --- a/assets/common/abilities/unique/quadlowranged/firebomb.ron +++ b/assets/common/abilities/unique/quadlowranged/firebomb.ron @@ -4,7 +4,7 @@ BasicRanged( recover_duration: 350, projectile: Fireball( damage: 100.0, - poise_damage: 10, + poise_damage: 0, radius: 5.0, energy_regen: 0, ), diff --git a/assets/common/abilities/unique/quadlowranged/singlestrike.ron b/assets/common/abilities/unique/quadlowranged/singlestrike.ron index 044eaeb191..d3711a4c46 100644 --- a/assets/common/abilities/unique/quadlowranged/singlestrike.ron +++ b/assets/common/abilities/unique/quadlowranged/singlestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 60, damage_increase: 0, - base_poise_damage: 30, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 5.0, range: 3.5, angle: 60.0, diff --git a/assets/common/abilities/unique/quadlowtail/charged.ron b/assets/common/abilities/unique/quadlowtail/charged.ron index ab79490af7..b4a8c0006c 100644 --- a/assets/common/abilities/unique/quadlowtail/charged.ron +++ b/assets/common/abilities/unique/quadlowtail/charged.ron @@ -3,8 +3,8 @@ ChargedMelee( energy_drain: 0, initial_damage: 160, scaled_damage: 40, - initial_poise_damage: 50, - scaled_poise_damage: 20, + initial_poise_damage: 0, + scaled_poise_damage: 0, initial_knockback: 10.0, scaled_knockback: 20.0, range: 6.0, diff --git a/assets/common/abilities/unique/quadlowtail/triplestrike.ron b/assets/common/abilities/unique/quadlowtail/triplestrike.ron index c55935f53c..133304cba4 100644 --- a/assets/common/abilities/unique/quadlowtail/triplestrike.ron +++ b/assets/common/abilities/unique/quadlowtail/triplestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 100, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 3.5, angle: 30.0, @@ -18,8 +18,8 @@ ComboMelee( stage: 2, base_damage: 120, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 3.5, angle: 30.0, @@ -32,8 +32,8 @@ ComboMelee( stage: 3, base_damage: 130, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadmedbasic/singlestrike.ron b/assets/common/abilities/unique/quadmedbasic/singlestrike.ron index 29ea9ee59c..3138f0e7cd 100644 --- a/assets/common/abilities/unique/quadmedbasic/singlestrike.ron +++ b/assets/common/abilities/unique/quadmedbasic/singlestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 120, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 5.0, range: 3.5, angle: 60.0, diff --git a/assets/common/abilities/unique/quadmedbasic/triplestrike.ron b/assets/common/abilities/unique/quadmedbasic/triplestrike.ron index 21724f88e9..7479271ed7 100644 --- a/assets/common/abilities/unique/quadmedbasic/triplestrike.ron +++ b/assets/common/abilities/unique/quadmedbasic/triplestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 120, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 3.5, angle: 30.0, @@ -18,8 +18,8 @@ ComboMelee( stage: 2, base_damage: 120, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 3.5, angle: 30.0, @@ -32,8 +32,8 @@ ComboMelee( stage: 3, base_damage: 120, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadmedcharge/dash.ron b/assets/common/abilities/unique/quadmedcharge/dash.ron index fe589ec6d8..9f4acc580f 100644 --- a/assets/common/abilities/unique/quadmedcharge/dash.ron +++ b/assets/common/abilities/unique/quadmedcharge/dash.ron @@ -2,8 +2,8 @@ DashMelee( energy_cost: 0, base_damage: 150, scaled_damage: 40, - base_poise_damage: 40, - scaled_poise_damage: 15, + base_poise_damage: 0, + scaled_poise_damage: 0, base_knockback: 8.0, scaled_knockback: 17.0, range: 4.0, diff --git a/assets/common/abilities/unique/quadmedcharge/doublestrike.ron b/assets/common/abilities/unique/quadmedcharge/doublestrike.ron index 10e5d6eed2..850d652f47 100644 --- a/assets/common/abilities/unique/quadmedcharge/doublestrike.ron +++ b/assets/common/abilities/unique/quadmedcharge/doublestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 100, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 3.5, angle: 30.0, @@ -18,8 +18,8 @@ ComboMelee( stage: 2, base_damage: 80, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadmedhoof/basic.ron b/assets/common/abilities/unique/quadmedhoof/basic.ron index 77916236c2..8e517a4f7f 100644 --- a/assets/common/abilities/unique/quadmedhoof/basic.ron +++ b/assets/common/abilities/unique/quadmedhoof/basic.ron @@ -4,7 +4,7 @@ BasicMelee( swing_duration: 500, recover_duration: 350, base_damage: 130, - base_poise_damage: 70, + base_poise_damage: 0, knockback: 25.0, range: 3.0, max_angle: 120.0, diff --git a/assets/common/abilities/unique/quadmedjump/doublestrike.ron b/assets/common/abilities/unique/quadmedjump/doublestrike.ron index 898249dd4e..68c8084ce9 100644 --- a/assets/common/abilities/unique/quadmedjump/doublestrike.ron +++ b/assets/common/abilities/unique/quadmedjump/doublestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 100, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 8.0, range: 3.5, angle: 30.0, @@ -18,8 +18,8 @@ ComboMelee( stage: 2, base_damage: 80, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 8.0, range: 3.5, angle: 30.0, diff --git a/assets/common/abilities/unique/quadmedjump/leap.ron b/assets/common/abilities/unique/quadmedjump/leap.ron index 0752c561ad..bf6c78c3ce 100644 --- a/assets/common/abilities/unique/quadmedjump/leap.ron +++ b/assets/common/abilities/unique/quadmedjump/leap.ron @@ -5,7 +5,7 @@ LeapMelee( swing_duration: 75, recover_duration: 200, base_damage: 240, - base_poise_damage: 15, + base_poise_damage: 0, knockback: 12.0, range: 4.5, max_angle: 180.0, diff --git a/assets/common/abilities/unique/quadmedjump/quickleap.ron b/assets/common/abilities/unique/quadmedjump/quickleap.ron index 4e119ee0ea..94b614ad12 100644 --- a/assets/common/abilities/unique/quadmedjump/quickleap.ron +++ b/assets/common/abilities/unique/quadmedjump/quickleap.ron @@ -5,7 +5,7 @@ LeapMelee( swing_duration: 75, recover_duration: 125, base_damage: 120, - base_poise_damage: 15, + base_poise_damage: 0, knockback: 7.0, range: 4.5, max_angle: 180.0, diff --git a/assets/common/abilities/unique/quadmedquick/dash.ron b/assets/common/abilities/unique/quadmedquick/dash.ron index d58925638d..c0cd1dc9fc 100644 --- a/assets/common/abilities/unique/quadmedquick/dash.ron +++ b/assets/common/abilities/unique/quadmedquick/dash.ron @@ -2,8 +2,8 @@ DashMelee( energy_cost: 0, base_damage: 130, scaled_damage: 20, - base_poise_damage: 30, - scaled_poise_damage: 5, + base_poise_damage: 0, + scaled_poise_damage: 0, base_knockback: 8.0, scaled_knockback: 7.0, range: 2.0, diff --git a/assets/common/abilities/unique/quadmedquick/triplestrike.ron b/assets/common/abilities/unique/quadmedquick/triplestrike.ron index 762725cb80..b396bedc0d 100644 --- a/assets/common/abilities/unique/quadmedquick/triplestrike.ron +++ b/assets/common/abilities/unique/quadmedquick/triplestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 150, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 5.0, range: 3.5, angle: 60.0, @@ -18,8 +18,8 @@ ComboMelee( stage: 2, base_damage: 150, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 5.0, range: 3.5, angle: 60.0, @@ -32,8 +32,8 @@ ComboMelee( stage: 3, base_damage: 150, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 3, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 5.0, range: 3.5, angle: 60.0, diff --git a/assets/common/abilities/unique/quadsmallbasic/singlestrike.ron b/assets/common/abilities/unique/quadsmallbasic/singlestrike.ron index 97af22308a..0526899e60 100644 --- a/assets/common/abilities/unique/quadsmallbasic/singlestrike.ron +++ b/assets/common/abilities/unique/quadsmallbasic/singlestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 30, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 2, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 5.0, range: 3.5, angle: 60.0, diff --git a/assets/common/abilities/unique/stonegolemfist/basic.ron b/assets/common/abilities/unique/stonegolemfist/basic.ron index d3c048db89..2dc89b8cac 100644 --- a/assets/common/abilities/unique/stonegolemfist/basic.ron +++ b/assets/common/abilities/unique/stonegolemfist/basic.ron @@ -5,7 +5,7 @@ BasicMelee( recover_duration: 250, knockback: 25.0, base_damage: 200, - base_poise_damage: 90, + base_poise_damage: 0, range: 5.0, max_angle: 120.0, ) diff --git a/assets/common/abilities/unique/stonegolemfist/shockwave.ron b/assets/common/abilities/unique/stonegolemfist/shockwave.ron index 47ec08b62a..7945e5d9c3 100644 --- a/assets/common/abilities/unique/stonegolemfist/shockwave.ron +++ b/assets/common/abilities/unique/stonegolemfist/shockwave.ron @@ -4,7 +4,7 @@ Shockwave( swing_duration: 200, recover_duration: 800, damage: 500, - poise_damage: 50, + poise_damage: 0, knockback: TowardsUp(40.0), shockwave_angle: 90.0, shockwave_vertical_angle: 90.0, diff --git a/assets/common/abilities/unique/stonegolemfist/spin.ron b/assets/common/abilities/unique/stonegolemfist/spin.ron index 06f2756ffb..fb106e851f 100644 --- a/assets/common/abilities/unique/stonegolemfist/spin.ron +++ b/assets/common/abilities/unique/stonegolemfist/spin.ron @@ -3,6 +3,7 @@ SpinMelee( swing_duration: 300, recover_duration: 100, base_damage: 500, + base_poise_damage: 0, knockback: 0.0, range: 7.5, energy_cost: 0, @@ -11,4 +12,4 @@ SpinMelee( is_interruptible: false, forward_speed: 0.0, num_spins: 1, -) \ No newline at end of file +) diff --git a/assets/common/abilities/unique/theropodbasic/singlestrike.ron b/assets/common/abilities/unique/theropodbasic/singlestrike.ron index 1351e14ed1..8c84abc5da 100644 --- a/assets/common/abilities/unique/theropodbasic/singlestrike.ron +++ b/assets/common/abilities/unique/theropodbasic/singlestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 150, damage_increase: 0, - base_poise_damage: 15, - poise_damage_increase: 2, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 5.0, range: 7.5, angle: 60.0, diff --git a/assets/common/abilities/unique/theropodbasic/triplestrike.ron b/assets/common/abilities/unique/theropodbasic/triplestrike.ron index 95b6a3b4de..839749b65b 100644 --- a/assets/common/abilities/unique/theropodbasic/triplestrike.ron +++ b/assets/common/abilities/unique/theropodbasic/triplestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 170, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 2, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 7.5, angle: 30.0, @@ -18,8 +18,8 @@ ComboMelee( stage: 2, base_damage: 190, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 2, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 5.5, angle: 30.0, @@ -32,8 +32,8 @@ ComboMelee( stage: 3, base_damage: 230, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 2, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 5.5, angle: 30.0, diff --git a/assets/common/abilities/unique/theropodbird/singlestrike.ron b/assets/common/abilities/unique/theropodbird/singlestrike.ron index 97740a9e73..56f8b3b137 100644 --- a/assets/common/abilities/unique/theropodbird/singlestrike.ron +++ b/assets/common/abilities/unique/theropodbird/singlestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 150, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 2, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 5.0, range: 5.5, angle: 5.0, diff --git a/assets/common/abilities/unique/theropodbird/triplestrike.ron b/assets/common/abilities/unique/theropodbird/triplestrike.ron index 786a6b711f..853c2583a2 100644 --- a/assets/common/abilities/unique/theropodbird/triplestrike.ron +++ b/assets/common/abilities/unique/theropodbird/triplestrike.ron @@ -4,8 +4,8 @@ ComboMelee( stage: 1, base_damage: 170, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 2, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 4.5, angle: 5.0, @@ -18,8 +18,8 @@ ComboMelee( stage: 2, base_damage: 190, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 2, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 4.0, angle: 10.0, @@ -32,8 +32,8 @@ ComboMelee( stage: 3, base_damage: 230, damage_increase: 0, - base_poise_damage: 10, - poise_damage_increase: 2, + base_poise_damage: 0, + poise_damage_increase: 0, knockback: 10.0, range: 4.0, angle: 10.0, diff --git a/assets/common/items/debug/admin_black_hole.ron b/assets/common/items/debug/admin_black_hole.ron index f2ec6911d7..ed80c08e20 100644 --- a/assets/common/items/debug/admin_black_hole.ron +++ b/assets/common/items/debug/admin_black_hole.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("BrownFace"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0) + ), ) ), quality: Artifact, diff --git a/assets/common/items/weapons/sceptre/fork0.ron b/assets/common/items/weapons/sceptre/fork0.ron index 2720258e28..cb0a9d1bda 100644 --- a/assets/common/items/weapons/sceptre/fork0.ron +++ b/assets/common/items/weapons/sceptre/fork0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 2.0, + poise_power: 1.5, speed: 0.8 ), ) diff --git a/assets/common/items/weapons/sceptre/loops0.ron b/assets/common/items/weapons/sceptre/loops0.ron index 4f67fefb71..b7833f4bc9 100644 --- a/assets/common/items/weapons/sceptre/loops0.ron +++ b/assets/common/items/weapons/sceptre/loops0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, + poise_power: 1.5, speed: 1.5 ), ) diff --git a/assets/common/items/weapons/sceptre/moon0.ron b/assets/common/items/weapons/sceptre/moon0.ron index b77a981837..d2eea6caa9 100644 --- a/assets/common/items/weapons/sceptre/moon0.ron +++ b/assets/common/items/weapons/sceptre/moon0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.6, + poise_power: 1.5, speed: 0.5 ), ) diff --git a/assets/common/items/weapons/sceptre/root_evil.ron b/assets/common/items/weapons/sceptre/root_evil.ron index 488423bbad..b51adfc7c1 100644 --- a/assets/common/items/weapons/sceptre/root_evil.ron +++ b/assets/common/items/weapons/sceptre/root_evil.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 4.0, + poise_power: 1.5, speed: 0.5 ), ) diff --git a/assets/common/items/weapons/sceptre/root_green0.ron b/assets/common/items/weapons/sceptre/root_green0.ron index a2dc37d073..a5d5d55662 100644 --- a/assets/common/items/weapons/sceptre/root_green0.ron +++ b/assets/common/items/weapons/sceptre/root_green0.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 3.5, + poise_power: 1.5, speed: 0.4 ), ) diff --git a/assets/common/items/weapons/sceptre/totem_green.ron b/assets/common/items/weapons/sceptre/totem_green.ron index 54415c7f20..4a500e5b8a 100644 --- a/assets/common/items/weapons/sceptre/totem_green.ron +++ b/assets/common/items/weapons/sceptre/totem_green.ron @@ -8,6 +8,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, + poise_power: 1.5, speed: 1.2 ), ) diff --git a/server/src/sys/terrain.rs b/server/src/sys/terrain.rs index 0f303be62a..6c493baf7b 100644 --- a/server/src/sys/terrain.rs +++ b/server/src/sys/terrain.rs @@ -152,7 +152,7 @@ impl<'a> System<'a> for Sys { LoadoutBuilder::build_loadout(body, main_tool, loadout_config).build(); let health = comp::Health::new(body, entity.level.unwrap_or(0)); - let poise = comp::Poise::new(stats.body_type); + let poise = comp::Poise::new(body); let can_speak = match body { comp::Body::Humanoid(_) => alignment == comp::Alignment::Npc, diff --git a/voxygen/src/hud/util.rs b/voxygen/src/hud/util.rs index 6f1740a16c..084ef8d8a7 100644 --- a/voxygen/src/hud/util.rs +++ b/voxygen/src/hud/util.rs @@ -73,14 +73,16 @@ fn armor_desc(armor: &Armor, desc: &str, slots: u16) -> String { Protection::Normal(a) => a.to_string(), Protection::Invincible => "Inf".to_string(), }; - let armor_poise_protection = match armor.get_poise_protection() { - Protection::Normal(a) => a.to_string(), - Protection::Invincible => "Inf".to_string(), - }; + //let armor_poise_protection = match armor.get_poise_protection() { + // Protection::Normal(a) => a.to_string(), + // Protection::Invincible => "Inf".to_string(), + //}; let mut description = format!( - "{}\n\nArmor: {}\n\nPoise Protection: {}", - kind, armor_protection, armor_poise_protection + "{}\n\nArmor: {}", + //"{}\n\nArmor: {}\n\nPoise Protection: {}", + kind, + armor_protection, /* armor_poise_protection // Add back when we are ready for poise */ ); if !desc.is_empty() { @@ -113,28 +115,32 @@ fn tool_desc(tool: &Tool, desc: &str) -> String { // Get tool stats let power = tool.base_power(); - let poise_power = tool.base_poise_power(); + //let poise_power = tool.base_poise_power(); let speed = tool.base_speed(); if !desc.is_empty() { format!( - "{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nPoise Power: {:0.1}\n\nSpeed: \ - {:0.1}\n\n{}\n\n", + "{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nSpeed: {:0.1}\n\n{}\n\n", + // add back when ready for poise + //"{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nPoise Power: {:0.1}\n\nSpeed: \ + // {:0.1}\n\n{}\n\n", kind, speed * power * 10.0, // Damage per second power * 10.0, - poise_power * 10.0, + //poise_power * 10.0, speed, desc ) } else { format!( - "{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nPoise Power: {:0.1}\n\nSpeed: \ - {:0.1}\n\n", + "{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nSpeed: {:0.1}\n\n", + // add back when ready for poise + //"{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nPoise Power: {:0.1}\n\nSpeed: \ + // {:0.1}\n\n", kind, speed * power * 10.0, // Damage per second power * 10.0, - poise_power * 10.0, + //poise_power * 10.0, speed ) } From 46c8c744fa16094d851d10c8e16a6f46bbb9abbe Mon Sep 17 00:00:00 2001 From: jiminycrick Date: Mon, 25 Jan 2021 20:39:13 -0800 Subject: [PATCH 10/11] Add migration for starter gear --- CHANGELOG.md | 1 + assets/common/items/testing/test_bag_18_slot.ron | 5 ++++- assets/common/items/testing/test_bag_9_slot.ron | 5 ++++- assets/common/items/testing/test_boots.ron | 4 +++- common/src/comp/inventory/item/armor.rs | 11 +++++++++-- common/src/comp/inventory/loadout.rs | 2 ++ common/src/comp/inventory/test_helpers.rs | 1 + .../2021-01-25-202618_starter_gear/down.sql | 10 ++++++++++ .../migrations/2021-01-25-202618_starter_gear/up.sql | 10 ++++++++++ 9 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 server/src/migrations/2021-01-25-202618_starter_gear/down.sql create mode 100644 server/src/migrations/2021-01-25-202618_starter_gear/up.sql diff --git a/CHANGELOG.md b/CHANGELOG.md index 9fba9249c8..d927b9986c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Skill trees - Lactose tolerant golems - 6 different gems. (Topaz, Amethyst, Sapphire, Emerald, Ruby and Diamond) +- Poise system (not currently accessible to players for balancing reasons) ### Changed diff --git a/assets/common/items/testing/test_bag_18_slot.ron b/assets/common/items/testing/test_bag_18_slot.ron index 4c708efeab..35ae75be5b 100644 --- a/assets/common/items/testing/test_bag_18_slot.ron +++ b/assets/common/items/testing/test_bag_18_slot.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("TestBag18Slot"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: High, diff --git a/assets/common/items/testing/test_bag_9_slot.ron b/assets/common/items/testing/test_bag_9_slot.ron index 454d51d06e..d0b439b001 100644 --- a/assets/common/items/testing/test_bag_9_slot.ron +++ b/assets/common/items/testing/test_bag_9_slot.ron @@ -4,7 +4,10 @@ ItemDef( kind: Armor( ( kind: Bag("TestBag9Slot"), - stats: (protection: Normal(0.0)), + stats: ( + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: High, diff --git a/assets/common/items/testing/test_boots.ron b/assets/common/items/testing/test_boots.ron index f30749f977..81872e78af 100644 --- a/assets/common/items/testing/test_boots.ron +++ b/assets/common/items/testing/test_boots.ron @@ -5,7 +5,9 @@ ItemDef( ( kind: Foot("Dark"), stats: ( - protection: Normal(0.0)), + protection: Normal(0.0), + poise_protection: Normal(0.0), + ), ) ), quality: Low, diff --git a/common/src/comp/inventory/item/armor.rs b/common/src/comp/inventory/item/armor.rs index 8ca4e5a75c..e8882ef5a5 100644 --- a/common/src/comp/inventory/item/armor.rs +++ b/common/src/comp/inventory/item/armor.rs @@ -68,10 +68,17 @@ impl Armor { pub fn get_poise_protection(&self) -> Protection { self.stats.poise_protection } #[cfg(test)] - pub fn test_armor(kind: ArmorKind, protection: Protection) -> Armor { + pub fn test_armor( + kind: ArmorKind, + protection: Protection, + poise_protection: Protection, + ) -> Armor { Armor { kind, - stats: Stats { protection }, + stats: Stats { + protection, + poise_protection, + }, } } } diff --git a/common/src/comp/inventory/loadout.rs b/common/src/comp/inventory/loadout.rs index 4de423af8e..c79f8c4d21 100644 --- a/common/src/comp/inventory/loadout.rs +++ b/common/src/comp/inventory/loadout.rs @@ -336,6 +336,7 @@ mod tests { .get_slot_to_equip_into(&ItemKind::Armor(Armor::test_armor( ArmorKind::Bag("test".to_string()), Protection::Normal(0.0), + Protection::Normal(0.0), ))) .unwrap(); @@ -355,6 +356,7 @@ mod tests { .get_slot_to_equip_into(&ItemKind::Armor(Armor::test_armor( ArmorKind::Bag("test".to_string()), Protection::Normal(0.0), + Protection::Normal(0.0), ))) .unwrap(); diff --git a/common/src/comp/inventory/test_helpers.rs b/common/src/comp/inventory/test_helpers.rs index 651d763081..8c2be8b586 100644 --- a/common/src/comp/inventory/test_helpers.rs +++ b/common/src/comp/inventory/test_helpers.rs @@ -15,6 +15,7 @@ pub(super) fn get_test_bag(slots: u16) -> Item { ItemKind::Armor(armor::Armor::test_armor( ArmorKind::Bag("Test Bag".to_string()), Protection::Normal(0.0), + Protection::Normal(0.0), )), Quality::Common, slots, diff --git a/server/src/migrations/2021-01-25-202618_starter_gear/down.sql b/server/src/migrations/2021-01-25-202618_starter_gear/down.sql new file mode 100644 index 0000000000..ca16a2e052 --- /dev/null +++ b/server/src/migrations/2021-01-25-202618_starter_gear/down.sql @@ -0,0 +1,10 @@ +UPDATE item +SET item_definition_id = 'common.items.armor.starter.glider' WHERE item_definition_id = 'common.items.glider.glider_cloverleaf'; +UPDATE item +SET item_definition_id = 'common.items.armor.starter.lantern' WHERE item_definition_id = 'common.items.lantern.black_0'; +UPDATE item +SET item_definition_id = 'common.items.armor.starter.rugged_chest' WHERE item_definition_id = 'common.items.armor.chest.rugged_chest'; +UPDATE item +SET item_definition_id = 'common.items.armor.starter.rugged_pants' WHERE item_definition_id = 'common.items.armor.pants.rugged_pants'; +UPDATE item +SET item_definition_id = 'common.items.armor.starter.sandals_0' WHERE item_definition_id = 'common.items.armor.foot.sandals_0'; diff --git a/server/src/migrations/2021-01-25-202618_starter_gear/up.sql b/server/src/migrations/2021-01-25-202618_starter_gear/up.sql new file mode 100644 index 0000000000..05e0fae4c9 --- /dev/null +++ b/server/src/migrations/2021-01-25-202618_starter_gear/up.sql @@ -0,0 +1,10 @@ +UPDATE item +SET item_definition_id = 'common.items.glider.glider_cloverleaf' WHERE item_definition_id = 'common.items.armor.starter.glider'; +UPDATE item +SET item_definition_id = 'common.items.lantern.black_0' WHERE item_definition_id = 'common.items.armor.starter.lantern'; +UPDATE item +SET item_definition_id = 'common.items.armor.chest.rugged_chest' WHERE item_definition_id = 'common.items.armor.starter.rugged_chest'; +UPDATE item +SET item_definition_id = 'common.items.armor.pants.rugged_pants' WHERE item_definition_id = 'common.items.armor.starter.rugged_pants'; +UPDATE item +SET item_definition_id = 'common.items.armor.foot.sandals_0' WHERE item_definition_id = 'common.items.armor.starter.sandals_0'; From a02444825d58885ff9fd7024aca1767aeae3e803 Mon Sep 17 00:00:00 2001 From: jiminycrick Date: Tue, 26 Jan 2021 19:05:13 -0800 Subject: [PATCH 11/11] Address some comments Eliminated extra stagger state Responding to more comments Move poise character state changes to character behavior system Move poise out of JoinTuple/Data Finish up comments (various fixes) --- assets/common/abilities/axe/doublestrike.ron | 2 - assets/common/abilities/bow/basic.ron | 1 - assets/common/abilities/bow/charged.ron | 2 - assets/common/abilities/bow/repeater.ron | 1 - assets/common/abilities/staff/firebomb.ron | 1 - .../unique/quadlowranged/firebomb.ron | 1 - assets/common/items/armor/back/admin.ron | 2 +- assets/common/items/armor/back/backpack_0.ron | 2 +- .../items/armor/back/dungeon_purple-0.ron | 2 +- .../items/armor/back/leather_adventurer.ron | 2 +- assets/common/items/armor/back/short_0.ron | 2 +- assets/common/items/armor/back/short_1.ron | 2 +- .../items/armor/back/velorite_mage_0.ron | 2 +- assets/common/items/armor/back/warlock.ron | 2 +- assets/common/items/armor/back/warlord.ron | 2 +- .../common/items/armor/bag/heavy_seabag.ron | 2 +- .../items/armor/bag/knitted_red_pouch.ron | 2 +- assets/common/items/armor/bag/liana_kit.ron | 2 +- .../items/armor/bag/mindflayer_spellbag.ron | 2 +- .../items/armor/bag/reliable_backpack.ron | 2 +- .../items/armor/bag/soulkeeper_cursed.ron | 2 +- .../items/armor/bag/soulkeeper_pure.ron | 2 +- .../items/armor/bag/sturdy_red_backpack.ron | 2 +- .../items/armor/bag/tiny_leather_pouch.ron | 2 +- .../common/items/armor/bag/tiny_red_pouch.ron | 2 +- .../items/armor/bag/troll_hide_pack.ron | 2 +- .../common/items/armor/bag/woven_red_bag.ron | 2 +- assets/common/items/armor/belt/assassin.ron | 2 +- .../common/items/armor/belt/bonerattler.ron | 2 +- .../common/items/armor/belt/cloth_blue_0.ron | 2 +- .../common/items/armor/belt/cloth_green_0.ron | 2 +- .../items/armor/belt/cloth_purple_0.ron | 2 +- .../common/items/armor/belt/cultist_belt.ron | 2 +- assets/common/items/armor/belt/druid.ron | 2 +- assets/common/items/armor/belt/leather_0.ron | 2 +- assets/common/items/armor/belt/leather_2.ron | 2 +- .../items/armor/belt/leather_adventurer.ron | 2 +- assets/common/items/armor/belt/plate_0.ron | 2 +- assets/common/items/armor/belt/steel_0.ron | 2 +- assets/common/items/armor/belt/tarasque.ron | 2 +- assets/common/items/armor/belt/twig.ron | 2 +- .../common/items/armor/belt/twigsflowers.ron | 2 +- .../common/items/armor/belt/twigsleaves.ron | 2 +- .../items/armor/belt/velorite_mage_0.ron | 2 +- assets/common/items/armor/belt/warlock.ron | 2 +- assets/common/items/armor/belt/warlord.ron | 2 +- assets/common/items/armor/chest/assassin.ron | 2 +- .../common/items/armor/chest/bonerattler.ron | 2 +- .../common/items/armor/chest/cloth_blue_0.ron | 2 +- .../items/armor/chest/cloth_green_0.ron | 2 +- .../items/armor/chest/cloth_purple_0.ron | 2 +- .../items/armor/chest/cultist_chest_blue.ron | 2 +- .../armor/chest/cultist_chest_purple.ron | 2 +- assets/common/items/armor/chest/druid.ron | 2 +- assets/common/items/armor/chest/leather_0.ron | 2 +- assets/common/items/armor/chest/leather_2.ron | 2 +- .../items/armor/chest/leather_adventurer.ron | 2 +- .../items/armor/chest/plate_green_0.ron | 2 +- .../chest/{rugged_chest.ron => rugged.ron} | 2 +- assets/common/items/armor/chest/steel_0.ron | 2 +- assets/common/items/armor/chest/tarasque.ron | 2 +- assets/common/items/armor/chest/twig.ron | 2 +- .../common/items/armor/chest/twigsflowers.ron | 2 +- .../common/items/armor/chest/twigsleaves.ron | 2 +- .../items/armor/chest/velorite_mage_0.ron | 2 +- assets/common/items/armor/chest/warlock.ron | 2 +- assets/common/items/armor/chest/warlord.ron | 2 +- .../items/armor/chest/worker_green_0.ron | 2 +- .../items/armor/chest/worker_green_1.ron | 2 +- .../items/armor/chest/worker_orange_0.ron | 2 +- .../items/armor/chest/worker_orange_1.ron | 2 +- .../items/armor/chest/worker_purple_0.ron | 2 +- .../items/armor/chest/worker_purple_1.ron | 2 +- .../common/items/armor/chest/worker_red_0.ron | 2 +- .../common/items/armor/chest/worker_red_1.ron | 2 +- .../items/armor/chest/worker_yellow_0.ron | 2 +- .../items/armor/chest/worker_yellow_1.ron | 2 +- assets/common/items/armor/foot/assassin.ron | 2 +- .../common/items/armor/foot/bonerattler.ron | 2 +- .../common/items/armor/foot/cloth_blue_0.ron | 2 +- .../common/items/armor/foot/cloth_green_0.ron | 2 +- .../items/armor/foot/cloth_purple_0.ron | 2 +- .../common/items/armor/foot/cultist_boots.ron | 2 +- assets/common/items/armor/foot/druid.ron | 2 +- .../items/armor/foot/jackalope_slippers.ron | 2 +- assets/common/items/armor/foot/leather_0.ron | 2 +- assets/common/items/armor/foot/leather_2.ron | 2 +- .../items/armor/foot/leather_adventurer.ron | 2 +- assets/common/items/armor/foot/plate_0.ron | 2 +- assets/common/items/armor/foot/sandals_0.ron | 2 +- assets/common/items/armor/foot/steel_0.ron | 2 +- assets/common/items/armor/foot/tarasque.ron | 2 +- assets/common/items/armor/foot/twig.ron | 2 +- .../common/items/armor/foot/twigsflowers.ron | 2 +- .../common/items/armor/foot/twigsleaves.ron | 2 +- .../items/armor/foot/velorite_mage_0.ron | 2 +- assets/common/items/armor/foot/warlock.ron | 2 +- assets/common/items/armor/foot/warlord.ron | 2 +- assets/common/items/armor/hand/assassin.ron | 2 +- .../common/items/armor/hand/bonerattler.ron | 2 +- .../common/items/armor/hand/cloth_blue_0.ron | 2 +- .../common/items/armor/hand/cloth_green_0.ron | 2 +- .../items/armor/hand/cloth_purple_0.ron | 2 +- .../items/armor/hand/cultist_hands_blue.ron | 2 +- .../items/armor/hand/cultist_hands_purple.ron | 2 +- assets/common/items/armor/hand/druid.ron | 2 +- assets/common/items/armor/hand/leather_0.ron | 2 +- assets/common/items/armor/hand/leather_2.ron | 2 +- .../items/armor/hand/leather_adventurer.ron | 2 +- assets/common/items/armor/hand/plate_0.ron | 2 +- assets/common/items/armor/hand/steel_0.ron | 2 +- assets/common/items/armor/hand/tarasque.ron | 2 +- assets/common/items/armor/hand/twig.ron | 2 +- .../common/items/armor/hand/twigsflowers.ron | 2 +- .../common/items/armor/hand/twigsleaves.ron | 2 +- .../items/armor/hand/velorite_mage_0.ron | 2 +- assets/common/items/armor/hand/warlock.ron | 2 +- assets/common/items/armor/hand/warlord.ron | 2 +- .../common/items/armor/head/assa_mask_0.ron | 2 +- assets/common/items/armor/head/leather_0.ron | 2 +- assets/common/items/armor/head/warlock.ron | 2 +- assets/common/items/armor/head/warlord.ron | 2 +- assets/common/items/armor/neck/neck_0.ron | 2 +- assets/common/items/armor/neck/neck_1.ron | 2 +- assets/common/items/armor/pants/assassin.ron | 2 +- .../common/items/armor/pants/bonerattler.ron | 2 +- .../common/items/armor/pants/cloth_blue_0.ron | 2 +- .../items/armor/pants/cloth_green_0.ron | 2 +- .../items/armor/pants/cloth_purple_0.ron | 2 +- .../items/armor/pants/cultist_legs_blue.ron | 2 +- .../items/armor/pants/cultist_legs_purple.ron | 2 +- assets/common/items/armor/pants/druid.ron | 2 +- assets/common/items/armor/pants/hunting.ron | 2 +- assets/common/items/armor/pants/leather_0.ron | 2 +- assets/common/items/armor/pants/leather_2.ron | 2 +- .../items/armor/pants/leather_adventurer.ron | 2 +- .../items/armor/pants/plate_green_0.ron | 2 +- .../pants/{rugged_pants.ron => rugged.ron} | 2 +- assets/common/items/armor/pants/steel_0.ron | 2 +- assets/common/items/armor/pants/tarasque.ron | 2 +- assets/common/items/armor/pants/twig.ron | 2 +- .../common/items/armor/pants/twigsflowers.ron | 2 +- .../common/items/armor/pants/twigsleaves.ron | 2 +- .../items/armor/pants/velorite_mage_0.ron | 2 +- assets/common/items/armor/pants/warlock.ron | 2 +- assets/common/items/armor/pants/warlord.ron | 2 +- .../items/armor/pants/worker_blue_0.ron | 2 +- assets/common/items/armor/ring/ring_0.ron | 2 +- .../common/items/armor/ring/ring_gold_0.ron | 2 +- .../items/armor/ring/ring_purp_high_0.ron | 2 +- .../common/items/armor/shoulder/assassin.ron | 2 +- .../items/armor/shoulder/bonerattler.ron | 2 +- .../items/armor/shoulder/cloth_blue_0.ron | 2 +- .../items/armor/shoulder/cloth_blue_1.ron | 2 +- .../items/armor/shoulder/cloth_green_0.ron | 2 +- .../items/armor/shoulder/cloth_purple_0.ron | 2 +- .../armor/shoulder/cultist_shoulder_blue.ron | 2 +- .../shoulder/cultist_shoulder_purple.ron | 2 +- .../items/armor/shoulder/druidshoulder.ron | 2 +- .../items/armor/shoulder/iron_spikes.ron | 2 +- .../common/items/armor/shoulder/leather_0.ron | 2 +- .../common/items/armor/shoulder/leather_1.ron | 2 +- .../common/items/armor/shoulder/leather_2.ron | 2 +- .../armor/shoulder/leather_adventurer.ron | 2 +- .../items/armor/shoulder/leather_iron_0.ron | 2 +- .../items/armor/shoulder/leather_iron_1.ron | 2 +- .../items/armor/shoulder/leather_iron_2.ron | 2 +- .../items/armor/shoulder/leather_iron_3.ron | 2 +- .../items/armor/shoulder/leather_strips.ron | 2 +- .../common/items/armor/shoulder/plate_0.ron | 2 +- .../common/items/armor/shoulder/steel_0.ron | 2 +- .../common/items/armor/shoulder/tarasque.ron | 2 +- assets/common/items/armor/shoulder/twigs.ron | 2 +- .../items/armor/shoulder/twigsflowers.ron | 2 +- .../items/armor/shoulder/twigsleaves.ron | 2 +- .../items/armor/shoulder/velorite_mage_0.ron | 2 +- .../common/items/armor/shoulder/warlock.ron | 2 +- .../common/items/armor/shoulder/warlord.ron | 2 +- assets/common/items/armor/tabard/admin.ron | 2 +- assets/common/items/debug/admin.ron | 2 +- assets/common/items/debug/admin_back.ron | 2 +- .../common/items/debug/admin_black_hole.ron | 2 +- assets/common/items/debug/boost.ron | 2 +- assets/common/items/debug/cultist_belt.ron | 2 +- assets/common/items/debug/cultist_boots.ron | 2 +- .../common/items/debug/cultist_chest_blue.ron | 2 +- .../common/items/debug/cultist_hands_blue.ron | 2 +- .../common/items/debug/cultist_legs_blue.ron | 2 +- .../items/debug/cultist_purp_2h_boss-0.ron | 2 +- .../items/debug/cultist_shoulder_blue.ron | 2 +- .../common/items/debug/dungeon_purple-0.ron | 2 +- assets/common/items/debug/possess.ron | 2 +- .../items/npc_armor/back/backpack_0.ron | 2 +- .../items/npc_armor/back/backpack_blue_0.ron | 2 +- .../items/npc_armor/back/dungeon_purple-0.ron | 2 +- .../items/npc_armor/back/leather_blue_0.ron | 2 +- .../items/npc_armor/belt/cultist_belt.ron | 2 +- .../npc_armor/chest/cultist_chest_purple.ron | 2 +- .../items/npc_armor/chest/leather_blue_0.ron | 2 +- .../items/npc_armor/chest/plate_green_0.ron | 2 +- .../items/npc_armor/chest/plate_red_0.ron | 2 +- .../items/npc_armor/chest/worker_green_0.ron | 2 +- .../items/npc_armor/chest/worker_green_1.ron | 2 +- .../items/npc_armor/chest/worker_orange_0.ron | 2 +- .../items/npc_armor/chest/worker_orange_1.ron | 2 +- .../items/npc_armor/chest/worker_purple_0.ron | 2 +- .../items/npc_armor/chest/worker_purple_1.ron | 2 +- .../items/npc_armor/chest/worker_red_0.ron | 2 +- .../items/npc_armor/chest/worker_red_1.ron | 2 +- .../items/npc_armor/chest/worker_yellow_0.ron | 2 +- .../items/npc_armor/chest/worker_yellow_1.ron | 2 +- .../items/npc_armor/foot/cultist_boots.ron | 2 +- .../npc_armor/hand/cultist_hands_purple.ron | 2 +- .../npc_armor/pants/cultist_legs_purple.ron | 2 +- .../items/npc_armor/pants/leather_blue_0.ron | 2 +- .../items/npc_armor/pants/plate_green_0.ron | 2 +- .../items/npc_armor/pants/plate_red_0.ron | 2 +- .../shoulder/cultist_shoulder_purple.ron | 2 +- .../items/npc_weapons/axe/malachite_axe-0.ron | 2 +- .../items/npc_weapons/axe/starter_axe.ron | 2 +- .../items/npc_weapons/bow/horn_longbow-0.ron | 2 +- .../items/npc_weapons/bow/saurok_bow.ron | 2 +- .../npc_weapons/dagger/starter_dagger.ron | 2 +- .../common/items/npc_weapons/empty/empty.ron | 2 +- .../npc_weapons/hammer/cultist_purp_2h-0.ron | 2 +- .../npc_weapons/hammer/cyclops_hammer.ron | 2 +- .../items/npc_weapons/hammer/ogre_hammer.ron | 2 +- .../npc_weapons/hammer/starter_hammer.ron | 2 +- .../items/npc_weapons/hammer/troll_hammer.ron | 2 +- .../npc_weapons/hammer/wendigo_hammer.ron | 2 +- .../items/npc_weapons/shield/shield_1.ron | 2 +- .../items/npc_weapons/staff/bone_staff.ron | 2 +- .../items/npc_weapons/staff/cultist_staff.ron | 2 +- .../npc_weapons/staff/mindflayer_staff.ron | 2 +- .../items/npc_weapons/staff/ogre_staff.ron | 2 +- .../items/npc_weapons/staff/saurok_staff.ron | 2 +- .../npc_weapons/sword/cultist_purp_2h-0.ron | 2 +- .../sword/cultist_purp_2h_boss-0.ron | 2 +- .../npc_weapons/sword/dullahan_sword.ron | 2 +- .../items/npc_weapons/sword/saurok_sword.ron | 2 +- .../items/npc_weapons/sword/starter_sword.ron | 2 +- .../npc_weapons/sword/zweihander_sword_0.ron | 2 +- .../common/items/npc_weapons/tool/broom.ron | 2 +- .../items/npc_weapons/tool/fishing_rod.ron | 2 +- assets/common/items/npc_weapons/tool/hoe.ron | 2 +- .../common/items/npc_weapons/tool/pickaxe.ron | 2 +- .../items/npc_weapons/tool/pitchfork.ron | 2 +- assets/common/items/npc_weapons/tool/rake.ron | 2 +- .../items/npc_weapons/tool/shovel-0.ron | 2 +- .../items/npc_weapons/tool/shovel-1.ron | 2 +- .../items/npc_weapons/unique/beast_claws.ron | 2 +- .../items/npc_weapons/unique/quadlowbasic.ron | 2 +- .../npc_weapons/unique/quadlowbreathe.ron | 2 +- .../items/npc_weapons/unique/quadlowquick.ron | 2 +- .../npc_weapons/unique/quadlowranged.ron | 2 +- .../items/npc_weapons/unique/quadlowtail.ron | 2 +- .../items/npc_weapons/unique/quadmedbasic.ron | 2 +- .../npc_weapons/unique/quadmedcharge.ron | 2 +- .../items/npc_weapons/unique/quadmedhoof.ron | 2 +- .../items/npc_weapons/unique/quadmedjump.ron | 2 +- .../items/npc_weapons/unique/quadmedquick.ron | 2 +- .../npc_weapons/unique/quadsmallbasic.ron | 2 +- .../npc_weapons/unique/stone_golems_fist.ron | 2 +- .../npc_weapons/unique/theropodbasic.ron | 2 +- .../items/npc_weapons/unique/theropodbird.ron | 2 +- .../common/items/testing/test_bag_18_slot.ron | 2 +- .../common/items/testing/test_bag_9_slot.ron | 2 +- assets/common/items/testing/test_boots.ron | 2 +- .../items/weapons/axe/bloodsteel_axe-0.ron | 2 +- .../items/weapons/axe/bloodsteel_axe-1.ron | 2 +- .../items/weapons/axe/bloodsteel_axe-2.ron | 2 +- .../common/items/weapons/axe/bronze_axe-0.ron | 2 +- .../common/items/weapons/axe/bronze_axe-1.ron | 2 +- .../common/items/weapons/axe/cobalt_axe-0.ron | 2 +- .../common/items/weapons/axe/iron_axe-0.ron | 2 +- .../common/items/weapons/axe/iron_axe-1.ron | 2 +- .../common/items/weapons/axe/iron_axe-2.ron | 2 +- .../common/items/weapons/axe/iron_axe-3.ron | 2 +- .../common/items/weapons/axe/iron_axe-4.ron | 2 +- .../common/items/weapons/axe/iron_axe-5.ron | 2 +- .../common/items/weapons/axe/iron_axe-6.ron | 2 +- .../common/items/weapons/axe/iron_axe-7.ron | 2 +- .../common/items/weapons/axe/iron_axe-8.ron | 2 +- .../common/items/weapons/axe/iron_axe-9.ron | 2 +- .../items/weapons/axe/malachite_axe-0.ron | 2 +- assets/common/items/weapons/axe/orc_axe-0.ron | 2 +- .../common/items/weapons/axe/starter_axe.ron | 2 +- .../common/items/weapons/axe/steel_axe-0.ron | 2 +- .../common/items/weapons/axe/steel_axe-1.ron | 2 +- .../common/items/weapons/axe/steel_axe-2.ron | 2 +- .../common/items/weapons/axe/steel_axe-3.ron | 2 +- .../common/items/weapons/axe/steel_axe-4.ron | 2 +- .../common/items/weapons/axe/steel_axe-5.ron | 2 +- .../common/items/weapons/axe/steel_axe-6.ron | 2 +- .../items/weapons/axe/worn_iron_axe-0.ron | 2 +- .../items/weapons/axe/worn_iron_axe-1.ron | 2 +- .../items/weapons/axe/worn_iron_axe-2.ron | 2 +- .../items/weapons/axe/worn_iron_axe-3.ron | 2 +- .../items/weapons/axe/worn_iron_axe-4.ron | 2 +- .../items/weapons/bow/horn_longbow-0.ron | 2 +- .../items/weapons/bow/iron_longbow-0.ron | 2 +- .../items/weapons/bow/leafy_longbow-0.ron | 2 +- .../items/weapons/bow/leafy_shortbow-0.ron | 2 +- .../weapons/bow/nature_ore_longbow-0.ron | 2 +- .../common/items/weapons/bow/rare_longbow.ron | 2 +- .../common/items/weapons/bow/starter_bow.ron | 2 +- .../items/weapons/bow/wood_longbow-0.ron | 2 +- .../items/weapons/bow/wood_longbow-1.ron | 2 +- .../items/weapons/bow/wood_shortbow-0.ron | 2 +- .../items/weapons/bow/wood_shortbow-1.ron | 2 +- .../common/items/weapons/dagger/basic_0.ron | 2 +- .../common/items/weapons/dagger/cultist_0.ron | 2 +- .../items/weapons/dagger/starter_dagger.ron | 2 +- assets/common/items/weapons/empty/empty.ron | 2 +- .../items/weapons/hammer/bronze_hammer-0.ron | 2 +- .../items/weapons/hammer/bronze_hammer-1.ron | 2 +- .../items/weapons/hammer/cobalt_hammer-0.ron | 2 +- .../items/weapons/hammer/cobalt_hammer-1.ron | 2 +- .../weapons/hammer/cultist_purp_2h-0.ron | 2 +- .../items/weapons/hammer/flimsy_hammer.ron | 2 +- .../common/items/weapons/hammer/hammer_1.ron | 2 +- .../items/weapons/hammer/iron_hammer-0.ron | 2 +- .../items/weapons/hammer/iron_hammer-1.ron | 2 +- .../items/weapons/hammer/iron_hammer-2.ron | 2 +- .../items/weapons/hammer/iron_hammer-3.ron | 2 +- .../items/weapons/hammer/iron_hammer-4.ron | 2 +- .../items/weapons/hammer/iron_hammer-5.ron | 2 +- .../items/weapons/hammer/iron_hammer-6.ron | 2 +- .../items/weapons/hammer/iron_hammer-7.ron | 2 +- .../items/weapons/hammer/iron_hammer-8.ron | 2 +- .../common/items/weapons/hammer/mjolnir.ron | 2 +- .../items/weapons/hammer/ramshead_hammer.ron | 2 +- .../items/weapons/hammer/runic_hammer.ron | 2 +- .../items/weapons/hammer/starter_hammer.ron | 2 +- .../items/weapons/hammer/steel_hammer-0.ron | 2 +- .../items/weapons/hammer/steel_hammer-1.ron | 2 +- .../items/weapons/hammer/steel_hammer-2.ron | 2 +- .../items/weapons/hammer/steel_hammer-3.ron | 2 +- .../items/weapons/hammer/steel_hammer-4.ron | 2 +- .../items/weapons/hammer/steel_hammer-5.ron | 2 +- .../items/weapons/hammer/stone_hammer-0.ron | 2 +- .../items/weapons/hammer/stone_hammer-1.ron | 2 +- .../items/weapons/hammer/stone_hammer-2.ron | 2 +- .../items/weapons/hammer/stone_hammer-3.ron | 2 +- .../items/weapons/hammer/wood_hammer-0.ron | 2 +- .../weapons/hammer/worn_iron_hammer-0.ron | 2 +- .../weapons/hammer/worn_iron_hammer-1.ron | 2 +- .../weapons/hammer/worn_iron_hammer-2.ron | 2 +- .../weapons/hammer/worn_iron_hammer-3.ron | 2 +- assets/common/items/weapons/sceptre/fork0.ron | 2 +- .../common/items/weapons/sceptre/loops0.ron | 2 +- assets/common/items/weapons/sceptre/moon0.ron | 2 +- .../items/weapons/sceptre/root_evil.ron | 2 +- .../items/weapons/sceptre/root_green0.ron | 2 +- .../weapons/sceptre/sceptre_velorite_0.ron | 2 +- .../items/weapons/sceptre/staff_nature.ron | 2 +- .../items/weapons/sceptre/starter_sceptre.ron | 2 +- .../items/weapons/sceptre/totem_green.ron | 2 +- .../common/items/weapons/shield/shield_1.ron | 2 +- .../items/weapons/staff/amethyst_staff.ron | 2 +- .../common/items/weapons/staff/bone_staff.ron | 2 +- .../items/weapons/staff/cultist_staff.ron | 2 +- assets/common/items/weapons/staff/staff_1.ron | 2 +- .../items/weapons/staff/starter_staff.ron | 2 +- .../items/weapons/sword/cultist_purp_2h-0.ron | 2 +- .../weapons/sword/frost_cleaver_2h-0.ron | 2 +- .../weapons/sword/frost_cleaver_2h-1.ron | 2 +- .../weapons/sword/greatsword_2h_dam-0.ron | 2 +- .../weapons/sword/greatsword_2h_dam-1.ron | 2 +- .../weapons/sword/greatsword_2h_dam-2.ron | 2 +- .../weapons/sword/greatsword_2h_fine-0.ron | 2 +- .../weapons/sword/greatsword_2h_fine-1.ron | 2 +- .../weapons/sword/greatsword_2h_fine-2.ron | 2 +- .../weapons/sword/greatsword_2h_orn-0.ron | 2 +- .../weapons/sword/greatsword_2h_orn-1.ron | 2 +- .../weapons/sword/greatsword_2h_orn-2.ron | 2 +- .../weapons/sword/greatsword_2h_simple-0.ron | 2 +- .../weapons/sword/greatsword_2h_simple-1.ron | 2 +- .../weapons/sword/greatsword_2h_simple-2.ron | 2 +- .../items/weapons/sword/long_2h_dam-0.ron | 2 +- .../items/weapons/sword/long_2h_dam-1.ron | 2 +- .../items/weapons/sword/long_2h_dam-2.ron | 2 +- .../items/weapons/sword/long_2h_dam-3.ron | 2 +- .../items/weapons/sword/long_2h_dam-4.ron | 2 +- .../items/weapons/sword/long_2h_dam-5.ron | 2 +- .../items/weapons/sword/long_2h_fine-0.ron | 2 +- .../items/weapons/sword/long_2h_fine-1.ron | 2 +- .../items/weapons/sword/long_2h_fine-2.ron | 2 +- .../items/weapons/sword/long_2h_fine-3.ron | 2 +- .../items/weapons/sword/long_2h_fine-4.ron | 2 +- .../items/weapons/sword/long_2h_fine-5.ron | 2 +- .../items/weapons/sword/long_2h_orn-0.ron | 2 +- .../items/weapons/sword/long_2h_orn-1.ron | 2 +- .../items/weapons/sword/long_2h_orn-2.ron | 2 +- .../items/weapons/sword/long_2h_orn-3.ron | 2 +- .../items/weapons/sword/long_2h_orn-4.ron | 2 +- .../items/weapons/sword/long_2h_orn-5.ron | 2 +- .../items/weapons/sword/long_2h_simple-0.ron | 2 +- .../items/weapons/sword/long_2h_simple-1.ron | 2 +- .../items/weapons/sword/long_2h_simple-2.ron | 2 +- .../items/weapons/sword/long_2h_simple-3.ron | 2 +- .../items/weapons/sword/long_2h_simple-4.ron | 2 +- .../items/weapons/sword/long_2h_simple-5.ron | 2 +- .../items/weapons/sword/short_sword_0.ron | 2 +- .../items/weapons/sword/starter_sword.ron | 2 +- .../common/items/weapons/sword/wood_sword.ron | 2 +- .../weapons/sword/zweihander_sword_0.ron | 2 +- assets/common/items/weapons/tool/broom.ron | 2 +- .../common/items/weapons/tool/fishing_rod.ron | 2 +- assets/common/items/weapons/tool/hoe.ron | 2 +- assets/common/items/weapons/tool/pickaxe.ron | 2 +- .../common/items/weapons/tool/pitchfork.ron | 2 +- assets/common/items/weapons/tool/rake.ron | 2 +- assets/common/items/weapons/tool/shovel-0.ron | 2 +- assets/common/items/weapons/tool/shovel-1.ron | 2 +- common/src/bin/csv_export/main.rs | 14 +- common/src/bin/csv_import/main.rs | 12 +- common/src/comp/ability.rs | 27 +- common/src/comp/beam.rs | 4 +- common/src/comp/character_state.rs | 10 +- common/src/comp/inventory/item/armor.rs | 18 +- common/src/comp/inventory/item/tool.rs | 14 +- common/src/comp/inventory/loadout_builder.rs | 4 +- common/src/comp/poise.rs | 113 +++----- common/src/comp/projectile.rs | 60 +--- common/src/states/basic_beam.rs | 19 +- common/src/states/basic_melee.rs | 2 +- common/src/states/behavior.rs | 13 +- common/src/states/charged_melee.rs | 2 +- common/src/states/charged_ranged.rs | 16 +- common/src/states/combo_melee.rs | 8 +- common/src/states/dash_melee.rs | 2 +- common/src/states/leap_melee.rs | 2 +- common/src/states/mod.rs | 1 - common/src/states/shockwave.rs | 2 +- common/src/states/spin_melee.rs | 2 +- common/src/states/staggered.rs | 86 ------ common/src/states/stunned.rs | 4 +- common/sys/src/beam.rs | 11 +- common/sys/src/character_behavior.rs | 92 +++++- common/sys/src/melee.rs | 16 +- common/sys/src/projectile.rs | 24 -- common/sys/src/stats.rs | 86 +----- server/src/events/entity_manipulation.rs | 65 ++--- .../2021-01-25-202618_starter_gear/down.sql | 4 +- .../2021-01-25-202618_starter_gear/up.sql | 4 +- server/src/state_ext.rs | 2 +- voxygen/anim/src/character/staggered.rs | 102 ++++--- voxygen/anim/src/character/stunned.rs | 32 +-- voxygen/anim/src/dyn_lib.rs | 1 - voxygen/src/hud/util.rs | 16 +- voxygen/src/scene/figure/mod.rs | 271 ++++++++---------- 452 files changed, 862 insertions(+), 1125 deletions(-) rename assets/common/items/armor/chest/{rugged_chest.ron => rugged.ron} (83%) rename assets/common/items/armor/pants/{rugged_pants.ron => rugged.ron} (84%) delete mode 100644 common/src/states/staggered.rs diff --git a/assets/common/abilities/axe/doublestrike.ron b/assets/common/abilities/axe/doublestrike.ron index 556a3e14fe..23449bd186 100644 --- a/assets/common/abilities/axe/doublestrike.ron +++ b/assets/common/abilities/axe/doublestrike.ron @@ -3,7 +3,6 @@ ComboMelee( ( stage: 1, base_damage: 90, - max_damage: 110, base_poise_damage: 0, damage_increase: 10, poise_damage_increase: 0, @@ -18,7 +17,6 @@ ComboMelee( ( stage: 2, base_damage: 130, - max_damage: 160, base_poise_damage: 0, damage_increase: 15, poise_damage_increase: 0, diff --git a/assets/common/abilities/bow/basic.ron b/assets/common/abilities/bow/basic.ron index 46a791e154..ddef833ad9 100644 --- a/assets/common/abilities/bow/basic.ron +++ b/assets/common/abilities/bow/basic.ron @@ -4,7 +4,6 @@ BasicRanged( recover_duration: 300, projectile: Arrow( damage: 70.0, - poise_damage: 0, knockback: 5.0, energy_regen: 40, ), diff --git a/assets/common/abilities/bow/charged.ron b/assets/common/abilities/bow/charged.ron index 3073e5f04a..cb098807d1 100644 --- a/assets/common/abilities/bow/charged.ron +++ b/assets/common/abilities/bow/charged.ron @@ -3,8 +3,6 @@ ChargedRanged( energy_drain: 300, initial_damage: 10, scaled_damage: 190, - initial_poise_damage: 0, - scaled_poise_damage: 0, initial_knockback: 10.0, scaled_knockback: 10.0, speed: 1.0, diff --git a/assets/common/abilities/bow/repeater.ron b/assets/common/abilities/bow/repeater.ron index e8e1ebee87..d494b639ed 100644 --- a/assets/common/abilities/bow/repeater.ron +++ b/assets/common/abilities/bow/repeater.ron @@ -7,7 +7,6 @@ RepeaterRanged( leap: Some(5.0), projectile: Arrow( damage: 40.0, - poise_damage: 0, knockback: 5.0, energy_regen: 0, ), diff --git a/assets/common/abilities/staff/firebomb.ron b/assets/common/abilities/staff/firebomb.ron index b404393f2c..38eae4af48 100644 --- a/assets/common/abilities/staff/firebomb.ron +++ b/assets/common/abilities/staff/firebomb.ron @@ -4,7 +4,6 @@ BasicRanged( recover_duration: 350, projectile: Fireball( damage: 100.0, - poise_damage: 0, radius: 5.0, energy_regen: 50, ), diff --git a/assets/common/abilities/unique/quadlowranged/firebomb.ron b/assets/common/abilities/unique/quadlowranged/firebomb.ron index f304e66fa0..eb0d41a830 100644 --- a/assets/common/abilities/unique/quadlowranged/firebomb.ron +++ b/assets/common/abilities/unique/quadlowranged/firebomb.ron @@ -4,7 +4,6 @@ BasicRanged( recover_duration: 350, projectile: Fireball( damage: 100.0, - poise_damage: 0, radius: 5.0, energy_regen: 0, ), diff --git a/assets/common/items/armor/back/admin.ron b/assets/common/items/armor/back/admin.ron index be8f116c26..cd009c926a 100644 --- a/assets/common/items/armor/back/admin.ron +++ b/assets/common/items/armor/back/admin.ron @@ -5,7 +5,7 @@ ItemDef( kind: Back("Admin"), stats: ( protection: Invincible, - poise_protection: Invincible, + poise_resilience: Invincible, ), )), quality: Debug, diff --git a/assets/common/items/armor/back/backpack_0.ron b/assets/common/items/armor/back/backpack_0.ron index ec8998d410..26d49a30d9 100644 --- a/assets/common/items/armor/back/backpack_0.ron +++ b/assets/common/items/armor/back/backpack_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Back("Backpack0"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), )), quality: High, diff --git a/assets/common/items/armor/back/dungeon_purple-0.ron b/assets/common/items/armor/back/dungeon_purple-0.ron index 0889812bde..2a9fdd7b13 100644 --- a/assets/common/items/armor/back/dungeon_purple-0.ron +++ b/assets/common/items/armor/back/dungeon_purple-0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Back("DungPurp0"), stats: ( protection: Normal(3.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Epic, diff --git a/assets/common/items/armor/back/leather_adventurer.ron b/assets/common/items/armor/back/leather_adventurer.ron index 0032013ba4..7fd045613d 100644 --- a/assets/common/items/armor/back/leather_adventurer.ron +++ b/assets/common/items/armor/back/leather_adventurer.ron @@ -5,7 +5,7 @@ ItemDef( kind: Back("Short2"), stats: ( protection: Normal(0.2), - poise_protection: Normal(0.1), + poise_resilience: Normal(0.1), ), )), quality: Common, diff --git a/assets/common/items/armor/back/short_0.ron b/assets/common/items/armor/back/short_0.ron index ff2962d3e9..746a2eec73 100644 --- a/assets/common/items/armor/back/short_0.ron +++ b/assets/common/items/armor/back/short_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Back("Short0"), stats: ( protection: Normal(0.3), - poise_protection: Normal(0.5), + poise_resilience: Normal(0.5), ), )), quality: Moderate, diff --git a/assets/common/items/armor/back/short_1.ron b/assets/common/items/armor/back/short_1.ron index 1391bbd026..859ef261bb 100644 --- a/assets/common/items/armor/back/short_1.ron +++ b/assets/common/items/armor/back/short_1.ron @@ -5,7 +5,7 @@ ItemDef( kind: Back("Short1"), stats: ( protection: Normal(0.1), - poise_protection: Normal(0.2), + poise_resilience: Normal(0.2), ), )), quality: Common, diff --git a/assets/common/items/armor/back/velorite_mage_0.ron b/assets/common/items/armor/back/velorite_mage_0.ron index 50c2e7439c..0034156b76 100644 --- a/assets/common/items/armor/back/velorite_mage_0.ron +++ b/assets/common/items/armor/back/velorite_mage_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Back("VeloriteMage0"), stats: ( protection: Normal(2.8), - poise_protection: Normal(2.0), + poise_resilience: Normal(2.0), ), )), quality: High, diff --git a/assets/common/items/armor/back/warlock.ron b/assets/common/items/armor/back/warlock.ron index 1be6ed6c67..b9ebf9f592 100644 --- a/assets/common/items/armor/back/warlock.ron +++ b/assets/common/items/armor/back/warlock.ron @@ -5,7 +5,7 @@ ItemDef( kind: Back("Warlock"), stats: ( protection: Normal(4.0), - poise_protection: Normal(3.0), + poise_resilience: Normal(3.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/back/warlord.ron b/assets/common/items/armor/back/warlord.ron index 4cc6532f28..119b123c76 100644 --- a/assets/common/items/armor/back/warlord.ron +++ b/assets/common/items/armor/back/warlord.ron @@ -5,7 +5,7 @@ ItemDef( kind: Back("Warlord"), stats: ( protection: Normal(4.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/bag/heavy_seabag.ron b/assets/common/items/armor/bag/heavy_seabag.ron index 2327e210d8..985a3d19a8 100644 --- a/assets/common/items/armor/bag/heavy_seabag.ron +++ b/assets/common/items/armor/bag/heavy_seabag.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("BluePouch"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/armor/bag/knitted_red_pouch.ron b/assets/common/items/armor/bag/knitted_red_pouch.ron index dd2017f0a4..1d0dfb459f 100644 --- a/assets/common/items/armor/bag/knitted_red_pouch.ron +++ b/assets/common/items/armor/bag/knitted_red_pouch.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("RedSmall"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/armor/bag/liana_kit.ron b/assets/common/items/armor/bag/liana_kit.ron index a79886f16b..1ec94e42ff 100644 --- a/assets/common/items/armor/bag/liana_kit.ron +++ b/assets/common/items/armor/bag/liana_kit.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("GreenMid"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/armor/bag/mindflayer_spellbag.ron b/assets/common/items/armor/bag/mindflayer_spellbag.ron index 8186a13b7c..5a3cd0d5b0 100644 --- a/assets/common/items/armor/bag/mindflayer_spellbag.ron +++ b/assets/common/items/armor/bag/mindflayer_spellbag.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("PurpleSkull"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/armor/bag/reliable_backpack.ron b/assets/common/items/armor/bag/reliable_backpack.ron index af0805123f..5b219f4531 100644 --- a/assets/common/items/armor/bag/reliable_backpack.ron +++ b/assets/common/items/armor/bag/reliable_backpack.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("LeatherLarge"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/armor/bag/soulkeeper_cursed.ron b/assets/common/items/armor/bag/soulkeeper_cursed.ron index 6d31fa30b7..a465d21901 100644 --- a/assets/common/items/armor/bag/soulkeeper_cursed.ron +++ b/assets/common/items/armor/bag/soulkeeper_cursed.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("RedFace"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/armor/bag/soulkeeper_pure.ron b/assets/common/items/armor/bag/soulkeeper_pure.ron index 2262852aae..fd5977c10d 100644 --- a/assets/common/items/armor/bag/soulkeeper_pure.ron +++ b/assets/common/items/armor/bag/soulkeeper_pure.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("BlueFace"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/armor/bag/sturdy_red_backpack.ron b/assets/common/items/armor/bag/sturdy_red_backpack.ron index 4864e10cd7..cadd2570eb 100644 --- a/assets/common/items/armor/bag/sturdy_red_backpack.ron +++ b/assets/common/items/armor/bag/sturdy_red_backpack.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("RedLarge"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/armor/bag/tiny_leather_pouch.ron b/assets/common/items/armor/bag/tiny_leather_pouch.ron index 01e1a728fc..994f908241 100644 --- a/assets/common/items/armor/bag/tiny_leather_pouch.ron +++ b/assets/common/items/armor/bag/tiny_leather_pouch.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("LeatherSmall"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/armor/bag/tiny_red_pouch.ron b/assets/common/items/armor/bag/tiny_red_pouch.ron index 25d2eb9566..7e68e045d2 100644 --- a/assets/common/items/armor/bag/tiny_red_pouch.ron +++ b/assets/common/items/armor/bag/tiny_red_pouch.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("RedTiny"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/armor/bag/troll_hide_pack.ron b/assets/common/items/armor/bag/troll_hide_pack.ron index 848f2e0f74..1f2163343f 100644 --- a/assets/common/items/armor/bag/troll_hide_pack.ron +++ b/assets/common/items/armor/bag/troll_hide_pack.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("GreenLarge"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/armor/bag/woven_red_bag.ron b/assets/common/items/armor/bag/woven_red_bag.ron index bd3b7e6541..cfe3fbe18c 100644 --- a/assets/common/items/armor/bag/woven_red_bag.ron +++ b/assets/common/items/armor/bag/woven_red_bag.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("RedMed"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/armor/belt/assassin.ron b/assets/common/items/armor/belt/assassin.ron index 82c3df79b3..9b8861a8ae 100644 --- a/assets/common/items/armor/belt/assassin.ron +++ b/assets/common/items/armor/belt/assassin.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Assassin"), stats: ( protection: Normal(2.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/belt/bonerattler.ron b/assets/common/items/armor/belt/bonerattler.ron index e4f67b8b28..911b00698c 100644 --- a/assets/common/items/armor/belt/bonerattler.ron +++ b/assets/common/items/armor/belt/bonerattler.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Bonerattler"), stats: ( protection: Normal(3.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), )), quality: High, diff --git a/assets/common/items/armor/belt/cloth_blue_0.ron b/assets/common/items/armor/belt/cloth_blue_0.ron index 244b75327e..63f94481b8 100644 --- a/assets/common/items/armor/belt/cloth_blue_0.ron +++ b/assets/common/items/armor/belt/cloth_blue_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("ClothBlue0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/belt/cloth_green_0.ron b/assets/common/items/armor/belt/cloth_green_0.ron index 1ec3329ab2..382fd7d56f 100644 --- a/assets/common/items/armor/belt/cloth_green_0.ron +++ b/assets/common/items/armor/belt/cloth_green_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("ClothGreen0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/belt/cloth_purple_0.ron b/assets/common/items/armor/belt/cloth_purple_0.ron index 7bfa7d79db..19dcf4a0b8 100644 --- a/assets/common/items/armor/belt/cloth_purple_0.ron +++ b/assets/common/items/armor/belt/cloth_purple_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("ClothPurple0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/belt/cultist_belt.ron b/assets/common/items/armor/belt/cultist_belt.ron index ccadf899bd..b1e593be4c 100644 --- a/assets/common/items/armor/belt/cultist_belt.ron +++ b/assets/common/items/armor/belt/cultist_belt.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Cultist"), stats: ( protection: Normal(6.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), )), quality: Epic, diff --git a/assets/common/items/armor/belt/druid.ron b/assets/common/items/armor/belt/druid.ron index 8a671b09dc..74b5b2c6b4 100644 --- a/assets/common/items/armor/belt/druid.ron +++ b/assets/common/items/armor/belt/druid.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Druid"), stats: ( protection: Normal(2.0), - poise_protection: Normal(2.0), + poise_resilience: Normal(2.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/belt/leather_0.ron b/assets/common/items/armor/belt/leather_0.ron index bf46b063d9..c577366f77 100644 --- a/assets/common/items/armor/belt/leather_0.ron +++ b/assets/common/items/armor/belt/leather_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Leather0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/belt/leather_2.ron b/assets/common/items/armor/belt/leather_2.ron index 70bba71722..f0f9e5d3b5 100644 --- a/assets/common/items/armor/belt/leather_2.ron +++ b/assets/common/items/armor/belt/leather_2.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Leather2"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/belt/leather_adventurer.ron b/assets/common/items/armor/belt/leather_adventurer.ron index 0052919082..af56b777b0 100644 --- a/assets/common/items/armor/belt/leather_adventurer.ron +++ b/assets/common/items/armor/belt/leather_adventurer.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Leather2"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/belt/plate_0.ron b/assets/common/items/armor/belt/plate_0.ron index af5b4278e9..7ed91ac2e2 100644 --- a/assets/common/items/armor/belt/plate_0.ron +++ b/assets/common/items/armor/belt/plate_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Plate0"), stats: ( protection: Normal(3.0), - poise_protection: Normal(4.0), + poise_resilience: Normal(4.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/belt/steel_0.ron b/assets/common/items/armor/belt/steel_0.ron index 23c54dd287..43eaacf59d 100644 --- a/assets/common/items/armor/belt/steel_0.ron +++ b/assets/common/items/armor/belt/steel_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Steel0"), stats: ( protection: Normal(4.0), - poise_protection: Normal(8.0), + poise_resilience: Normal(8.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/belt/tarasque.ron b/assets/common/items/armor/belt/tarasque.ron index bb87abe2df..ac7b654622 100644 --- a/assets/common/items/armor/belt/tarasque.ron +++ b/assets/common/items/armor/belt/tarasque.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Tarasque"), stats: ( protection: Normal(3.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), )), quality: High, diff --git a/assets/common/items/armor/belt/twig.ron b/assets/common/items/armor/belt/twig.ron index 9eea381016..7cc86cfd35 100644 --- a/assets/common/items/armor/belt/twig.ron +++ b/assets/common/items/armor/belt/twig.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Twig"), stats: ( protection: Normal(2.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/belt/twigsflowers.ron b/assets/common/items/armor/belt/twigsflowers.ron index edccb1669f..0bd4638439 100644 --- a/assets/common/items/armor/belt/twigsflowers.ron +++ b/assets/common/items/armor/belt/twigsflowers.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Twigsflowers"), stats: ( protection: Normal(2.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/belt/twigsleaves.ron b/assets/common/items/armor/belt/twigsleaves.ron index b415bf6278..5c428b1647 100644 --- a/assets/common/items/armor/belt/twigsleaves.ron +++ b/assets/common/items/armor/belt/twigsleaves.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Twigsleaves"), stats: ( protection: Normal(2.0), - poise_protection: Normal(3.0), + poise_resilience: Normal(3.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/belt/velorite_mage_0.ron b/assets/common/items/armor/belt/velorite_mage_0.ron index c43098f982..4f9f0f6f75 100644 --- a/assets/common/items/armor/belt/velorite_mage_0.ron +++ b/assets/common/items/armor/belt/velorite_mage_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("VeloriteMage0"), stats: ( protection: Normal(5.8), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), )), quality: High, diff --git a/assets/common/items/armor/belt/warlock.ron b/assets/common/items/armor/belt/warlock.ron index b210b580fb..13090bcf11 100644 --- a/assets/common/items/armor/belt/warlock.ron +++ b/assets/common/items/armor/belt/warlock.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Warlock"), stats: ( protection: Normal(8.0), - poise_protection: Normal(7.0), + poise_resilience: Normal(7.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/belt/warlord.ron b/assets/common/items/armor/belt/warlord.ron index 2b072c4e53..038abb0854 100644 --- a/assets/common/items/armor/belt/warlord.ron +++ b/assets/common/items/armor/belt/warlord.ron @@ -5,7 +5,7 @@ ItemDef( kind: Belt("Warlord"), stats: ( protection: Normal(8.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/chest/assassin.ron b/assets/common/items/armor/chest/assassin.ron index 3187fc429a..e34d74407c 100644 --- a/assets/common/items/armor/chest/assassin.ron +++ b/assets/common/items/armor/chest/assassin.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("Assassin"), stats: ( protection: Normal(15.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/chest/bonerattler.ron b/assets/common/items/armor/chest/bonerattler.ron index 3949ff758a..e2f609a790 100644 --- a/assets/common/items/armor/chest/bonerattler.ron +++ b/assets/common/items/armor/chest/bonerattler.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("Bonerattler"), stats: ( protection: Normal(25.0), - poise_protection: Normal(35.0), + poise_resilience: Normal(35.0), ), )), quality: High, diff --git a/assets/common/items/armor/chest/cloth_blue_0.ron b/assets/common/items/armor/chest/cloth_blue_0.ron index ddffa3c1c4..7592e1e5e8 100644 --- a/assets/common/items/armor/chest/cloth_blue_0.ron +++ b/assets/common/items/armor/chest/cloth_blue_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("ClothBlue0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/chest/cloth_green_0.ron b/assets/common/items/armor/chest/cloth_green_0.ron index 0bc51f37b4..2141a19e40 100644 --- a/assets/common/items/armor/chest/cloth_green_0.ron +++ b/assets/common/items/armor/chest/cloth_green_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("ClothGreen0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/chest/cloth_purple_0.ron b/assets/common/items/armor/chest/cloth_purple_0.ron index b0cf7f56f3..104f19ba21 100644 --- a/assets/common/items/armor/chest/cloth_purple_0.ron +++ b/assets/common/items/armor/chest/cloth_purple_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("ClothPurple0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/chest/cultist_chest_blue.ron b/assets/common/items/armor/chest/cultist_chest_blue.ron index 49ec4b6f23..b7cdb46189 100644 --- a/assets/common/items/armor/chest/cultist_chest_blue.ron +++ b/assets/common/items/armor/chest/cultist_chest_blue.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("VeloriteMage0"), stats: ( protection: Normal(30.0), - poise_protection: Normal(15.0), + poise_resilience: Normal(15.0), ), )), quality: Epic, diff --git a/assets/common/items/armor/chest/cultist_chest_purple.ron b/assets/common/items/armor/chest/cultist_chest_purple.ron index 82201b964e..57676da60e 100644 --- a/assets/common/items/armor/chest/cultist_chest_purple.ron +++ b/assets/common/items/armor/chest/cultist_chest_purple.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("CultistPurple"), stats: ( protection: Normal(30.0), - poise_protection: Normal(15.0), + poise_resilience: Normal(15.0), ), )), quality: Epic, diff --git a/assets/common/items/armor/chest/druid.ron b/assets/common/items/armor/chest/druid.ron index 2c70e7923f..a455fdaf7a 100644 --- a/assets/common/items/armor/chest/druid.ron +++ b/assets/common/items/armor/chest/druid.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("Druid"), stats: ( protection: Normal(6.0), - poise_protection: Normal(4.0), + poise_resilience: Normal(4.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/chest/leather_0.ron b/assets/common/items/armor/chest/leather_0.ron index 81e07c395f..aee90be404 100644 --- a/assets/common/items/armor/chest/leather_0.ron +++ b/assets/common/items/armor/chest/leather_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("Leather0"), stats: ( protection: Normal(10.0), - poise_protection: Normal(7.0), + poise_resilience: Normal(7.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/chest/leather_2.ron b/assets/common/items/armor/chest/leather_2.ron index 8fa3bf79ac..524c86d484 100644 --- a/assets/common/items/armor/chest/leather_2.ron +++ b/assets/common/items/armor/chest/leather_2.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("Leather2"), stats: ( protection: Normal(10.0), - poise_protection: Normal(8.0), + poise_resilience: Normal(8.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/chest/leather_adventurer.ron b/assets/common/items/armor/chest/leather_adventurer.ron index f717e6addb..85dc6603c2 100644 --- a/assets/common/items/armor/chest/leather_adventurer.ron +++ b/assets/common/items/armor/chest/leather_adventurer.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("Leather2"), stats: ( protection: Normal(8.0), - poise_protection: Normal(3.0), + poise_resilience: Normal(3.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/chest/plate_green_0.ron b/assets/common/items/armor/chest/plate_green_0.ron index 7448fdc129..c561370496 100644 --- a/assets/common/items/armor/chest/plate_green_0.ron +++ b/assets/common/items/armor/chest/plate_green_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("PlateGreen0"), stats: ( protection: Normal(20.0), - poise_protection: Normal(18.0), + poise_resilience: Normal(18.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/chest/rugged_chest.ron b/assets/common/items/armor/chest/rugged.ron similarity index 83% rename from assets/common/items/armor/chest/rugged_chest.ron rename to assets/common/items/armor/chest/rugged.ron index 3bff40df6d..9ef7387b84 100644 --- a/assets/common/items/armor/chest/rugged_chest.ron +++ b/assets/common/items/armor/chest/rugged.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("Rugged0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Low, diff --git a/assets/common/items/armor/chest/steel_0.ron b/assets/common/items/armor/chest/steel_0.ron index dab33b0f1e..66f55df851 100644 --- a/assets/common/items/armor/chest/steel_0.ron +++ b/assets/common/items/armor/chest/steel_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("Steel0"), stats: ( protection: Normal(25.0), - poise_protection: Normal(40.0), + poise_resilience: Normal(40.0), ), )), quality: High, diff --git a/assets/common/items/armor/chest/tarasque.ron b/assets/common/items/armor/chest/tarasque.ron index 261471590c..19ae895edf 100644 --- a/assets/common/items/armor/chest/tarasque.ron +++ b/assets/common/items/armor/chest/tarasque.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("Tarasque"), stats: ( protection: Normal(25.0), - poise_protection: Normal(30.0), + poise_resilience: Normal(30.0), ), )), quality: High, diff --git a/assets/common/items/armor/chest/twig.ron b/assets/common/items/armor/chest/twig.ron index 38b965b741..2c19c88308 100644 --- a/assets/common/items/armor/chest/twig.ron +++ b/assets/common/items/armor/chest/twig.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("Twig"), stats: ( protection: Normal(15.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/chest/twigsflowers.ron b/assets/common/items/armor/chest/twigsflowers.ron index f7a1bfd169..bb0af6ac07 100644 --- a/assets/common/items/armor/chest/twigsflowers.ron +++ b/assets/common/items/armor/chest/twigsflowers.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("Twigsflowers"), stats: ( protection: Normal(15.0), - poise_protection: Normal(8.0), + poise_resilience: Normal(8.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/chest/twigsleaves.ron b/assets/common/items/armor/chest/twigsleaves.ron index d8fdb9334c..134dc38dbd 100644 --- a/assets/common/items/armor/chest/twigsleaves.ron +++ b/assets/common/items/armor/chest/twigsleaves.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("Twigsleaves"), stats: ( protection: Normal(15.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/chest/velorite_mage_0.ron b/assets/common/items/armor/chest/velorite_mage_0.ron index 19690922fc..66f34078ac 100644 --- a/assets/common/items/armor/chest/velorite_mage_0.ron +++ b/assets/common/items/armor/chest/velorite_mage_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("VeloriteMage0"), stats: ( protection: Normal(28.0), - poise_protection: Normal(20.0), + poise_resilience: Normal(20.0), ), )), quality: High, diff --git a/assets/common/items/armor/chest/warlock.ron b/assets/common/items/armor/chest/warlock.ron index 5b74429801..ade247dec7 100644 --- a/assets/common/items/armor/chest/warlock.ron +++ b/assets/common/items/armor/chest/warlock.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("Warlock"), stats: ( protection: Normal(40.0), - poise_protection: Normal(29.0), + poise_resilience: Normal(29.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/chest/warlord.ron b/assets/common/items/armor/chest/warlord.ron index 86c32007bd..feb00e87bd 100644 --- a/assets/common/items/armor/chest/warlord.ron +++ b/assets/common/items/armor/chest/warlord.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("Warlord"), stats: ( protection: Normal(40.0), - poise_protection: Normal(29.0), + poise_resilience: Normal(29.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/chest/worker_green_0.ron b/assets/common/items/armor/chest/worker_green_0.ron index 9895131a50..f5ad6ad68e 100644 --- a/assets/common/items/armor/chest/worker_green_0.ron +++ b/assets/common/items/armor/chest/worker_green_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("WorkerGreen0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Low, diff --git a/assets/common/items/armor/chest/worker_green_1.ron b/assets/common/items/armor/chest/worker_green_1.ron index 8426dc28f5..e38bf81f40 100644 --- a/assets/common/items/armor/chest/worker_green_1.ron +++ b/assets/common/items/armor/chest/worker_green_1.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("WorkerGreen1"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Low, diff --git a/assets/common/items/armor/chest/worker_orange_0.ron b/assets/common/items/armor/chest/worker_orange_0.ron index bd4e8fb522..27ec2a9544 100644 --- a/assets/common/items/armor/chest/worker_orange_0.ron +++ b/assets/common/items/armor/chest/worker_orange_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("WorkerOrange0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Low, diff --git a/assets/common/items/armor/chest/worker_orange_1.ron b/assets/common/items/armor/chest/worker_orange_1.ron index 8e689c7f66..c1468459ce 100644 --- a/assets/common/items/armor/chest/worker_orange_1.ron +++ b/assets/common/items/armor/chest/worker_orange_1.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("WorkerOrange1"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Low, diff --git a/assets/common/items/armor/chest/worker_purple_0.ron b/assets/common/items/armor/chest/worker_purple_0.ron index 606aec6417..8133ecd89f 100644 --- a/assets/common/items/armor/chest/worker_purple_0.ron +++ b/assets/common/items/armor/chest/worker_purple_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("WorkerPurple0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Low, diff --git a/assets/common/items/armor/chest/worker_purple_1.ron b/assets/common/items/armor/chest/worker_purple_1.ron index 625a81638e..af8ea4be98 100644 --- a/assets/common/items/armor/chest/worker_purple_1.ron +++ b/assets/common/items/armor/chest/worker_purple_1.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("WorkerPurple1"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Low, diff --git a/assets/common/items/armor/chest/worker_red_0.ron b/assets/common/items/armor/chest/worker_red_0.ron index 8eee348d9f..ce3bee75a3 100644 --- a/assets/common/items/armor/chest/worker_red_0.ron +++ b/assets/common/items/armor/chest/worker_red_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("WorkerRed0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Low, diff --git a/assets/common/items/armor/chest/worker_red_1.ron b/assets/common/items/armor/chest/worker_red_1.ron index 3f61bbb680..e773744171 100644 --- a/assets/common/items/armor/chest/worker_red_1.ron +++ b/assets/common/items/armor/chest/worker_red_1.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("WorkerRed1"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Low, diff --git a/assets/common/items/armor/chest/worker_yellow_0.ron b/assets/common/items/armor/chest/worker_yellow_0.ron index 01d0c8505d..a4b3160d01 100644 --- a/assets/common/items/armor/chest/worker_yellow_0.ron +++ b/assets/common/items/armor/chest/worker_yellow_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("WorkerYellow0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Low, diff --git a/assets/common/items/armor/chest/worker_yellow_1.ron b/assets/common/items/armor/chest/worker_yellow_1.ron index a7e6056262..cd5848a950 100644 --- a/assets/common/items/armor/chest/worker_yellow_1.ron +++ b/assets/common/items/armor/chest/worker_yellow_1.ron @@ -5,7 +5,7 @@ ItemDef( kind: Chest("WorkerYellow1"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Low, diff --git a/assets/common/items/armor/foot/assassin.ron b/assets/common/items/armor/foot/assassin.ron index 47c89fd869..15f1e84952 100644 --- a/assets/common/items/armor/foot/assassin.ron +++ b/assets/common/items/armor/foot/assassin.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Assassin"), stats: ( protection: Normal(4.0), - poise_protection: Normal(2.0), + poise_resilience: Normal(2.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/foot/bonerattler.ron b/assets/common/items/armor/foot/bonerattler.ron index 80bae2b93d..208d5a05ef 100644 --- a/assets/common/items/armor/foot/bonerattler.ron +++ b/assets/common/items/armor/foot/bonerattler.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Bonerattler"), stats: ( protection: Normal(5.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), )), quality: High, diff --git a/assets/common/items/armor/foot/cloth_blue_0.ron b/assets/common/items/armor/foot/cloth_blue_0.ron index df4dbcc8d3..bd4ba2ff2b 100644 --- a/assets/common/items/armor/foot/cloth_blue_0.ron +++ b/assets/common/items/armor/foot/cloth_blue_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("ClothBlue0"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), )), quality: Common, diff --git a/assets/common/items/armor/foot/cloth_green_0.ron b/assets/common/items/armor/foot/cloth_green_0.ron index 87de9052ae..ddccadad8f 100644 --- a/assets/common/items/armor/foot/cloth_green_0.ron +++ b/assets/common/items/armor/foot/cloth_green_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("ClothGreen0"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), )), quality: Common, diff --git a/assets/common/items/armor/foot/cloth_purple_0.ron b/assets/common/items/armor/foot/cloth_purple_0.ron index cae5b9cbe1..d939474622 100644 --- a/assets/common/items/armor/foot/cloth_purple_0.ron +++ b/assets/common/items/armor/foot/cloth_purple_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("ClothPurple0"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), )), quality: Common, diff --git a/assets/common/items/armor/foot/cultist_boots.ron b/assets/common/items/armor/foot/cultist_boots.ron index 7706cc1df2..25646f2d9f 100644 --- a/assets/common/items/armor/foot/cultist_boots.ron +++ b/assets/common/items/armor/foot/cultist_boots.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Cultist"), stats: ( protection: Normal(6.0), - poise_protection: Normal(3.0), + poise_resilience: Normal(3.0), ), )), quality: Epic, diff --git a/assets/common/items/armor/foot/druid.ron b/assets/common/items/armor/foot/druid.ron index 22fda43cce..c0623f8b0e 100644 --- a/assets/common/items/armor/foot/druid.ron +++ b/assets/common/items/armor/foot/druid.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Druid"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/foot/jackalope_slippers.ron b/assets/common/items/armor/foot/jackalope_slippers.ron index e7560776a9..9e828b2b12 100644 --- a/assets/common/items/armor/foot/jackalope_slippers.ron +++ b/assets/common/items/armor/foot/jackalope_slippers.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("JackalopeSlips"), stats: ( protection: Normal(0.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), )), quality: High, diff --git a/assets/common/items/armor/foot/leather_0.ron b/assets/common/items/armor/foot/leather_0.ron index f3bc007f24..857b7d6ec6 100644 --- a/assets/common/items/armor/foot/leather_0.ron +++ b/assets/common/items/armor/foot/leather_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Leather0"), stats: ( protection: Normal(2.0), - poise_protection: Normal(2.0), + poise_resilience: Normal(2.0), ), )), quality: Common, diff --git a/assets/common/items/armor/foot/leather_2.ron b/assets/common/items/armor/foot/leather_2.ron index 7155635ac4..5b5368478d 100644 --- a/assets/common/items/armor/foot/leather_2.ron +++ b/assets/common/items/armor/foot/leather_2.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Leather2"), stats: ( protection: Normal(2.0), - poise_protection: Normal(3.0), + poise_resilience: Normal(3.0), ), )), quality: Common, diff --git a/assets/common/items/armor/foot/leather_adventurer.ron b/assets/common/items/armor/foot/leather_adventurer.ron index dde7c383e2..6edbf1489d 100644 --- a/assets/common/items/armor/foot/leather_adventurer.ron +++ b/assets/common/items/armor/foot/leather_adventurer.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Leather2"), stats: ( protection: Normal(2.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/foot/plate_0.ron b/assets/common/items/armor/foot/plate_0.ron index 625f267e1c..79c1ef0b95 100644 --- a/assets/common/items/armor/foot/plate_0.ron +++ b/assets/common/items/armor/foot/plate_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Plate0"), stats: ( protection: Normal(4.0), - poise_protection: Normal(8.0), + poise_resilience: Normal(8.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/foot/sandals_0.ron b/assets/common/items/armor/foot/sandals_0.ron index c31247236b..935537888a 100644 --- a/assets/common/items/armor/foot/sandals_0.ron +++ b/assets/common/items/armor/foot/sandals_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Sandal0"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), )), quality: Low, diff --git a/assets/common/items/armor/foot/steel_0.ron b/assets/common/items/armor/foot/steel_0.ron index 17a7530e2b..4fa4afc307 100644 --- a/assets/common/items/armor/foot/steel_0.ron +++ b/assets/common/items/armor/foot/steel_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Steel0"), stats: ( protection: Normal(5.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), )), quality: High, diff --git a/assets/common/items/armor/foot/tarasque.ron b/assets/common/items/armor/foot/tarasque.ron index f7f74d5491..25fba263c7 100644 --- a/assets/common/items/armor/foot/tarasque.ron +++ b/assets/common/items/armor/foot/tarasque.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Tarasque"), stats: ( protection: Normal(5.0), - poise_protection: Normal(9.0), + poise_resilience: Normal(9.0), ), )), quality: High, diff --git a/assets/common/items/armor/foot/twig.ron b/assets/common/items/armor/foot/twig.ron index 857f7d3d03..c261e07977 100644 --- a/assets/common/items/armor/foot/twig.ron +++ b/assets/common/items/armor/foot/twig.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Twig"), stats: ( protection: Normal(3.0), - poise_protection: Normal(2.0), + poise_resilience: Normal(2.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/foot/twigsflowers.ron b/assets/common/items/armor/foot/twigsflowers.ron index 90cf78f704..f64bab848e 100644 --- a/assets/common/items/armor/foot/twigsflowers.ron +++ b/assets/common/items/armor/foot/twigsflowers.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Twigsflowers"), stats: ( protection: Normal(3.0), - poise_protection: Normal(2.0), + poise_resilience: Normal(2.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/foot/twigsleaves.ron b/assets/common/items/armor/foot/twigsleaves.ron index 9bfada7d9a..edd7cdc56a 100644 --- a/assets/common/items/armor/foot/twigsleaves.ron +++ b/assets/common/items/armor/foot/twigsleaves.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Twigsleaves"), stats: ( protection: Normal(3.0), - poise_protection: Normal(2.0), + poise_resilience: Normal(2.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/foot/velorite_mage_0.ron b/assets/common/items/armor/foot/velorite_mage_0.ron index 25105b5a82..cf7d799801 100644 --- a/assets/common/items/armor/foot/velorite_mage_0.ron +++ b/assets/common/items/armor/foot/velorite_mage_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("VeloriteMage0"), stats: ( protection: Normal(5.9), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), )), quality: High, diff --git a/assets/common/items/armor/foot/warlock.ron b/assets/common/items/armor/foot/warlock.ron index 4e4a8223c4..7ada97e62f 100644 --- a/assets/common/items/armor/foot/warlock.ron +++ b/assets/common/items/armor/foot/warlock.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Warlock"), stats: ( protection: Normal(8.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/foot/warlord.ron b/assets/common/items/armor/foot/warlord.ron index 8233a71004..ad7f8cba15 100644 --- a/assets/common/items/armor/foot/warlord.ron +++ b/assets/common/items/armor/foot/warlord.ron @@ -5,7 +5,7 @@ ItemDef( kind: Foot("Warlord"), stats: ( protection: Normal(8.0), - poise_protection: Normal(6.0), + poise_resilience: Normal(6.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/hand/assassin.ron b/assets/common/items/armor/hand/assassin.ron index b62b7af3a1..069ab1e39b 100644 --- a/assets/common/items/armor/hand/assassin.ron +++ b/assets/common/items/armor/hand/assassin.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("Assassin"), stats: ( protection: Normal(6.0), - poise_protection: Normal(3.0), + poise_resilience: Normal(3.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/hand/bonerattler.ron b/assets/common/items/armor/hand/bonerattler.ron index 02301694c5..5900e7a77d 100644 --- a/assets/common/items/armor/hand/bonerattler.ron +++ b/assets/common/items/armor/hand/bonerattler.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("Bonerattler"), stats: ( protection: Normal(10.0), - poise_protection: Normal(12.0), + poise_resilience: Normal(12.0), ), )), quality: High, diff --git a/assets/common/items/armor/hand/cloth_blue_0.ron b/assets/common/items/armor/hand/cloth_blue_0.ron index 4244708141..337e2c74e3 100644 --- a/assets/common/items/armor/hand/cloth_blue_0.ron +++ b/assets/common/items/armor/hand/cloth_blue_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("ClothBlue0"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), )), quality: Common, diff --git a/assets/common/items/armor/hand/cloth_green_0.ron b/assets/common/items/armor/hand/cloth_green_0.ron index f6ff4a304d..acae6a4f0d 100644 --- a/assets/common/items/armor/hand/cloth_green_0.ron +++ b/assets/common/items/armor/hand/cloth_green_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("ClothGreen0"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), )), quality: Common, diff --git a/assets/common/items/armor/hand/cloth_purple_0.ron b/assets/common/items/armor/hand/cloth_purple_0.ron index f690a0e462..865ff3578b 100644 --- a/assets/common/items/armor/hand/cloth_purple_0.ron +++ b/assets/common/items/armor/hand/cloth_purple_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("ClothPurple0"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), )), quality: Common, diff --git a/assets/common/items/armor/hand/cultist_hands_blue.ron b/assets/common/items/armor/hand/cultist_hands_blue.ron index 030a7810b6..c5b3fae240 100644 --- a/assets/common/items/armor/hand/cultist_hands_blue.ron +++ b/assets/common/items/armor/hand/cultist_hands_blue.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("VeloriteMage0"), stats: ( protection: Normal(12.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), )), quality: Epic, diff --git a/assets/common/items/armor/hand/cultist_hands_purple.ron b/assets/common/items/armor/hand/cultist_hands_purple.ron index bca58dc2de..2d93729d04 100644 --- a/assets/common/items/armor/hand/cultist_hands_purple.ron +++ b/assets/common/items/armor/hand/cultist_hands_purple.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("CultistPurple"), stats: ( protection: Normal(12.0), - poise_protection: Normal(8.0), + poise_resilience: Normal(8.0), ), )), quality: Epic, diff --git a/assets/common/items/armor/hand/druid.ron b/assets/common/items/armor/hand/druid.ron index 75a56addf4..c8f00418d7 100644 --- a/assets/common/items/armor/hand/druid.ron +++ b/assets/common/items/armor/hand/druid.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("Druid"), stats: ( protection: Normal(2.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/hand/leather_0.ron b/assets/common/items/armor/hand/leather_0.ron index 34cb811a62..722829a8b3 100644 --- a/assets/common/items/armor/hand/leather_0.ron +++ b/assets/common/items/armor/hand/leather_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("Leather0"), stats: ( protection: Normal(4.0), - poise_protection: Normal(3.0), + poise_resilience: Normal(3.0), ), )), quality: Common, diff --git a/assets/common/items/armor/hand/leather_2.ron b/assets/common/items/armor/hand/leather_2.ron index 200c0155f8..177fe3eb07 100644 --- a/assets/common/items/armor/hand/leather_2.ron +++ b/assets/common/items/armor/hand/leather_2.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("Leather2"), stats: ( protection: Normal(4.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), )), quality: Common, diff --git a/assets/common/items/armor/hand/leather_adventurer.ron b/assets/common/items/armor/hand/leather_adventurer.ron index 3d91d07641..6b9ab354a0 100644 --- a/assets/common/items/armor/hand/leather_adventurer.ron +++ b/assets/common/items/armor/hand/leather_adventurer.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("Leather2"), stats: ( protection: Normal(4.0), - poise_protection: Normal(4.0), + poise_resilience: Normal(4.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/hand/plate_0.ron b/assets/common/items/armor/hand/plate_0.ron index 5b4536ba18..5aea39a651 100644 --- a/assets/common/items/armor/hand/plate_0.ron +++ b/assets/common/items/armor/hand/plate_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("Plate0"), stats: ( protection: Normal(8.0), - poise_protection: Normal(11.0), + poise_resilience: Normal(11.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/hand/steel_0.ron b/assets/common/items/armor/hand/steel_0.ron index c79fee29ad..714126c3e0 100644 --- a/assets/common/items/armor/hand/steel_0.ron +++ b/assets/common/items/armor/hand/steel_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("Steel0"), stats: ( protection: Normal(10.0), - poise_protection: Normal(15.0), + poise_resilience: Normal(15.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/hand/tarasque.ron b/assets/common/items/armor/hand/tarasque.ron index 5ec60153fb..60a67cb634 100644 --- a/assets/common/items/armor/hand/tarasque.ron +++ b/assets/common/items/armor/hand/tarasque.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("Tarasque"), stats: ( protection: Normal(10.0), - poise_protection: Normal(12.0), + poise_resilience: Normal(12.0), ), )), quality: High, diff --git a/assets/common/items/armor/hand/twig.ron b/assets/common/items/armor/hand/twig.ron index b333c5230d..83139293ad 100644 --- a/assets/common/items/armor/hand/twig.ron +++ b/assets/common/items/armor/hand/twig.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("Twig"), stats: ( protection: Normal(6.0), - poise_protection: Normal(6.0), + poise_resilience: Normal(6.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/hand/twigsflowers.ron b/assets/common/items/armor/hand/twigsflowers.ron index 88c94c0113..df13a1736e 100644 --- a/assets/common/items/armor/hand/twigsflowers.ron +++ b/assets/common/items/armor/hand/twigsflowers.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("Twigsflowers"), stats: ( protection: Normal(6.0), - poise_protection: Normal(4.0), + poise_resilience: Normal(4.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/hand/twigsleaves.ron b/assets/common/items/armor/hand/twigsleaves.ron index e744ca2840..90e7dd82a3 100644 --- a/assets/common/items/armor/hand/twigsleaves.ron +++ b/assets/common/items/armor/hand/twigsleaves.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("Twigsleaves"), stats: ( protection: Normal(6.0), - poise_protection: Normal(7.0), + poise_resilience: Normal(7.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/hand/velorite_mage_0.ron b/assets/common/items/armor/hand/velorite_mage_0.ron index 40695e44db..9872fae4bd 100644 --- a/assets/common/items/armor/hand/velorite_mage_0.ron +++ b/assets/common/items/armor/hand/velorite_mage_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("VeloriteMage0"), stats: ( protection: Normal(11.5), - poise_protection: Normal(13.0), + poise_resilience: Normal(13.0), ), )), quality: High, diff --git a/assets/common/items/armor/hand/warlock.ron b/assets/common/items/armor/hand/warlock.ron index ee11e4774e..1c36991322 100644 --- a/assets/common/items/armor/hand/warlock.ron +++ b/assets/common/items/armor/hand/warlock.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("Warlock"), stats: ( protection: Normal(15.0), - poise_protection: Normal(16.0), + poise_resilience: Normal(16.0), ), )), quality: Common, diff --git a/assets/common/items/armor/hand/warlord.ron b/assets/common/items/armor/hand/warlord.ron index 8296cd5762..acb84db01d 100644 --- a/assets/common/items/armor/hand/warlord.ron +++ b/assets/common/items/armor/hand/warlord.ron @@ -5,7 +5,7 @@ ItemDef( kind: Hand("Warlord"), stats: ( protection: Normal(15.0), - poise_protection: Normal(14.0), + poise_resilience: Normal(14.0), ), )), quality: Common, diff --git a/assets/common/items/armor/head/assa_mask_0.ron b/assets/common/items/armor/head/assa_mask_0.ron index 03737444fa..5d25c4be52 100644 --- a/assets/common/items/armor/head/assa_mask_0.ron +++ b/assets/common/items/armor/head/assa_mask_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Head("AssaMask0"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/head/leather_0.ron b/assets/common/items/armor/head/leather_0.ron index ff3c2db2ab..fe175bac01 100644 --- a/assets/common/items/armor/head/leather_0.ron +++ b/assets/common/items/armor/head/leather_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Head("Leather0"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), )), quality: Common, diff --git a/assets/common/items/armor/head/warlock.ron b/assets/common/items/armor/head/warlock.ron index b094cb5aea..6d0182716b 100644 --- a/assets/common/items/armor/head/warlock.ron +++ b/assets/common/items/armor/head/warlock.ron @@ -5,7 +5,7 @@ ItemDef( kind: Head("Warlock"), stats: ( protection: Normal(10.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), )), quality: Common, diff --git a/assets/common/items/armor/head/warlord.ron b/assets/common/items/armor/head/warlord.ron index 21f30e05ef..b505dd0dcf 100644 --- a/assets/common/items/armor/head/warlord.ron +++ b/assets/common/items/armor/head/warlord.ron @@ -5,7 +5,7 @@ ItemDef( kind: Head("Warlord"), stats: ( protection: Normal(10.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), )), quality: Common, diff --git a/assets/common/items/armor/neck/neck_0.ron b/assets/common/items/armor/neck/neck_0.ron index 630b6d56d0..e31aacb465 100644 --- a/assets/common/items/armor/neck/neck_0.ron +++ b/assets/common/items/armor/neck/neck_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Neck("Neck0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/neck/neck_1.ron b/assets/common/items/armor/neck/neck_1.ron index a6ab8c83ec..df762fb5cd 100644 --- a/assets/common/items/armor/neck/neck_1.ron +++ b/assets/common/items/armor/neck/neck_1.ron @@ -5,7 +5,7 @@ ItemDef( kind: Neck("Neck1"), stats: ( protection: Normal(2.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/pants/assassin.ron b/assets/common/items/armor/pants/assassin.ron index ba594eaf56..c2829143cf 100644 --- a/assets/common/items/armor/pants/assassin.ron +++ b/assets/common/items/armor/pants/assassin.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Assassin"), stats: ( protection: Normal(10.0), - poise_protection: Normal(3.0), + poise_resilience: Normal(3.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/pants/bonerattler.ron b/assets/common/items/armor/pants/bonerattler.ron index 83bdd272ae..2f2048240a 100644 --- a/assets/common/items/armor/pants/bonerattler.ron +++ b/assets/common/items/armor/pants/bonerattler.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Bonerattler"), stats: ( protection: Normal(20.0), - poise_protection: Normal(24.0), + poise_resilience: Normal(24.0), ), )), quality: High, diff --git a/assets/common/items/armor/pants/cloth_blue_0.ron b/assets/common/items/armor/pants/cloth_blue_0.ron index bbeac292b0..f48e6f4a93 100644 --- a/assets/common/items/armor/pants/cloth_blue_0.ron +++ b/assets/common/items/armor/pants/cloth_blue_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("ClothBlue0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/pants/cloth_green_0.ron b/assets/common/items/armor/pants/cloth_green_0.ron index 838d7b9076..0002d26a10 100644 --- a/assets/common/items/armor/pants/cloth_green_0.ron +++ b/assets/common/items/armor/pants/cloth_green_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("ClothGreen0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/pants/cloth_purple_0.ron b/assets/common/items/armor/pants/cloth_purple_0.ron index aae0ec55a1..f0e7f6d519 100644 --- a/assets/common/items/armor/pants/cloth_purple_0.ron +++ b/assets/common/items/armor/pants/cloth_purple_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("ClothPurple0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/pants/cultist_legs_blue.ron b/assets/common/items/armor/pants/cultist_legs_blue.ron index 8ec6f453e8..f58ef00f72 100644 --- a/assets/common/items/armor/pants/cultist_legs_blue.ron +++ b/assets/common/items/armor/pants/cultist_legs_blue.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("VeloriteMage0"), stats: ( protection: Normal(24.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), )), quality: Epic, diff --git a/assets/common/items/armor/pants/cultist_legs_purple.ron b/assets/common/items/armor/pants/cultist_legs_purple.ron index ced96aa5d1..007a27b19b 100644 --- a/assets/common/items/armor/pants/cultist_legs_purple.ron +++ b/assets/common/items/armor/pants/cultist_legs_purple.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("CultistPurple"), stats: ( protection: Normal(24.0), - poise_protection: Normal(14.0), + poise_resilience: Normal(14.0), ), )), quality: Epic, diff --git a/assets/common/items/armor/pants/druid.ron b/assets/common/items/armor/pants/druid.ron index 89175715d7..fdca0d659e 100644 --- a/assets/common/items/armor/pants/druid.ron +++ b/assets/common/items/armor/pants/druid.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Druid"), stats: ( protection: Normal(4.0), - poise_protection: Normal(2.0), + poise_resilience: Normal(2.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/pants/hunting.ron b/assets/common/items/armor/pants/hunting.ron index 9949f01188..ac8258c1c1 100644 --- a/assets/common/items/armor/pants/hunting.ron +++ b/assets/common/items/armor/pants/hunting.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Hunting"), stats: ( protection: Normal(8.0), - poise_protection: Normal(3.0), + poise_resilience: Normal(3.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/pants/leather_0.ron b/assets/common/items/armor/pants/leather_0.ron index dc7ddf2596..f1d0924839 100644 --- a/assets/common/items/armor/pants/leather_0.ron +++ b/assets/common/items/armor/pants/leather_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Leather0"), stats: ( protection: Normal(8.0), - poise_protection: Normal(4.0), + poise_resilience: Normal(4.0), ), )), quality: Common, diff --git a/assets/common/items/armor/pants/leather_2.ron b/assets/common/items/armor/pants/leather_2.ron index b42fd74be2..22b363abfd 100644 --- a/assets/common/items/armor/pants/leather_2.ron +++ b/assets/common/items/armor/pants/leather_2.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Leather2"), stats: ( protection: Normal(8.0), - poise_protection: Normal(4.0), + poise_resilience: Normal(4.0), ), )), quality: Common, diff --git a/assets/common/items/armor/pants/leather_adventurer.ron b/assets/common/items/armor/pants/leather_adventurer.ron index ec8373085f..5ee6f11da7 100644 --- a/assets/common/items/armor/pants/leather_adventurer.ron +++ b/assets/common/items/armor/pants/leather_adventurer.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Leather2"), stats: ( protection: Normal(6.0), - poise_protection: Normal(3.0), + poise_resilience: Normal(3.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/pants/plate_green_0.ron b/assets/common/items/armor/pants/plate_green_0.ron index dae01fd5dd..dec3ed0d36 100644 --- a/assets/common/items/armor/pants/plate_green_0.ron +++ b/assets/common/items/armor/pants/plate_green_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("PlateGreen0"), stats: ( protection: Normal(16.0), - poise_protection: Normal(14.0), + poise_resilience: Normal(14.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/pants/rugged_pants.ron b/assets/common/items/armor/pants/rugged.ron similarity index 84% rename from assets/common/items/armor/pants/rugged_pants.ron rename to assets/common/items/armor/pants/rugged.ron index 1b1b080186..4c8d4ac65a 100644 --- a/assets/common/items/armor/pants/rugged_pants.ron +++ b/assets/common/items/armor/pants/rugged.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Rugged0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Low, diff --git a/assets/common/items/armor/pants/steel_0.ron b/assets/common/items/armor/pants/steel_0.ron index 2b574bc0f1..a4107db885 100644 --- a/assets/common/items/armor/pants/steel_0.ron +++ b/assets/common/items/armor/pants/steel_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Steel0"), stats: ( protection: Normal(20.0), - poise_protection: Normal(26.0), + poise_resilience: Normal(26.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/pants/tarasque.ron b/assets/common/items/armor/pants/tarasque.ron index f9307351fc..320a0da07b 100644 --- a/assets/common/items/armor/pants/tarasque.ron +++ b/assets/common/items/armor/pants/tarasque.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Tarasque"), stats: ( protection: Normal(20.0), - poise_protection: Normal(13.0), + poise_resilience: Normal(13.0), ), )), quality: High, diff --git a/assets/common/items/armor/pants/twig.ron b/assets/common/items/armor/pants/twig.ron index 0d77fee2c5..6cf14421dd 100644 --- a/assets/common/items/armor/pants/twig.ron +++ b/assets/common/items/armor/pants/twig.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Twig"), stats: ( protection: Normal(12.0), - poise_protection: Normal(9.0), + poise_resilience: Normal(9.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/pants/twigsflowers.ron b/assets/common/items/armor/pants/twigsflowers.ron index 9f5144f925..91d894ed1e 100644 --- a/assets/common/items/armor/pants/twigsflowers.ron +++ b/assets/common/items/armor/pants/twigsflowers.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Twigsflowers"), stats: ( protection: Normal(12.0), - poise_protection: Normal(4.0), + poise_resilience: Normal(4.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/pants/twigsleaves.ron b/assets/common/items/armor/pants/twigsleaves.ron index 64b5f402e0..b100aade6d 100644 --- a/assets/common/items/armor/pants/twigsleaves.ron +++ b/assets/common/items/armor/pants/twigsleaves.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Twigsleaves"), stats: ( protection: Normal(12.0), - poise_protection: Normal(8.0), + poise_resilience: Normal(8.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/pants/velorite_mage_0.ron b/assets/common/items/armor/pants/velorite_mage_0.ron index 24bde08cdf..bc30434a1d 100644 --- a/assets/common/items/armor/pants/velorite_mage_0.ron +++ b/assets/common/items/armor/pants/velorite_mage_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("VeloriteMage0"), stats: ( protection: Normal(23.0), - poise_protection: Normal(23.0), + poise_resilience: Normal(23.0), ), )), quality: High, diff --git a/assets/common/items/armor/pants/warlock.ron b/assets/common/items/armor/pants/warlock.ron index d90eaad5b1..f03da6f0e2 100644 --- a/assets/common/items/armor/pants/warlock.ron +++ b/assets/common/items/armor/pants/warlock.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Warlock"), stats: ( protection: Normal(30.0), - poise_protection: Normal(20.0), + poise_resilience: Normal(20.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/pants/warlord.ron b/assets/common/items/armor/pants/warlord.ron index e79de3fdfd..a7b8e06a13 100644 --- a/assets/common/items/armor/pants/warlord.ron +++ b/assets/common/items/armor/pants/warlord.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("Warlord"), stats: ( protection: Normal(30.0), - poise_protection: Normal(24.0), + poise_resilience: Normal(24.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/pants/worker_blue_0.ron b/assets/common/items/armor/pants/worker_blue_0.ron index 03010751ed..9296727f21 100644 --- a/assets/common/items/armor/pants/worker_blue_0.ron +++ b/assets/common/items/armor/pants/worker_blue_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Pants("WorkerBlue0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Low, diff --git a/assets/common/items/armor/ring/ring_0.ron b/assets/common/items/armor/ring/ring_0.ron index 0518883f0e..923f2466fa 100644 --- a/assets/common/items/armor/ring/ring_0.ron +++ b/assets/common/items/armor/ring/ring_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Ring("Ring0"), stats: ( protection: Normal(0.1), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), )), quality: Low, diff --git a/assets/common/items/armor/ring/ring_gold_0.ron b/assets/common/items/armor/ring/ring_gold_0.ron index 5c81641263..256c3fa02f 100644 --- a/assets/common/items/armor/ring/ring_gold_0.ron +++ b/assets/common/items/armor/ring/ring_gold_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Ring("RingGold0"), stats: ( protection: Normal(0.5), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/ring/ring_purp_high_0.ron b/assets/common/items/armor/ring/ring_purp_high_0.ron index 8a0712f096..8ba421fdf8 100644 --- a/assets/common/items/armor/ring/ring_purp_high_0.ron +++ b/assets/common/items/armor/ring/ring_purp_high_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Ring("RingSkull0"), stats: ( protection: Normal(3.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: High, diff --git a/assets/common/items/armor/shoulder/assassin.ron b/assets/common/items/armor/shoulder/assassin.ron index 1c10253bdc..3e5df29267 100644 --- a/assets/common/items/armor/shoulder/assassin.ron +++ b/assets/common/items/armor/shoulder/assassin.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("Assassin"), stats: ( protection: Normal(8.0), - poise_protection: Normal(7.0), + poise_resilience: Normal(7.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/shoulder/bonerattler.ron b/assets/common/items/armor/shoulder/bonerattler.ron index ef28b9afb3..0ced92ba0c 100644 --- a/assets/common/items/armor/shoulder/bonerattler.ron +++ b/assets/common/items/armor/shoulder/bonerattler.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("Bonerattler"), stats: ( protection: Normal(15.0), - poise_protection: Normal(17.0), + poise_resilience: Normal(17.0), ), )), quality: High, diff --git a/assets/common/items/armor/shoulder/cloth_blue_0.ron b/assets/common/items/armor/shoulder/cloth_blue_0.ron index 1d63341e8d..0eeb743252 100644 --- a/assets/common/items/armor/shoulder/cloth_blue_0.ron +++ b/assets/common/items/armor/shoulder/cloth_blue_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("ClothBlue0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/cloth_blue_1.ron b/assets/common/items/armor/shoulder/cloth_blue_1.ron index 24580035b0..944e6ebb51 100644 --- a/assets/common/items/armor/shoulder/cloth_blue_1.ron +++ b/assets/common/items/armor/shoulder/cloth_blue_1.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("ClothBlue1"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/cloth_green_0.ron b/assets/common/items/armor/shoulder/cloth_green_0.ron index ca40e6834d..960c32da5d 100644 --- a/assets/common/items/armor/shoulder/cloth_green_0.ron +++ b/assets/common/items/armor/shoulder/cloth_green_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("ClothGreen0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/cloth_purple_0.ron b/assets/common/items/armor/shoulder/cloth_purple_0.ron index e62af412b7..0ee60100ed 100644 --- a/assets/common/items/armor/shoulder/cloth_purple_0.ron +++ b/assets/common/items/armor/shoulder/cloth_purple_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("ClothPurple0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron b/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron index 8bd3713d34..37723c5c80 100644 --- a/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron +++ b/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("VeloriteMage0"), stats: ( protection: Normal(18.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), )), quality: Epic, diff --git a/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron b/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron index d030dfe23b..021447aa44 100644 --- a/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron +++ b/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("CultistPurple"), stats: ( protection: Normal(18.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), )), quality: Epic, diff --git a/assets/common/items/armor/shoulder/druidshoulder.ron b/assets/common/items/armor/shoulder/druidshoulder.ron index 2d86189db0..570e1cfaa2 100644 --- a/assets/common/items/armor/shoulder/druidshoulder.ron +++ b/assets/common/items/armor/shoulder/druidshoulder.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("DruidShoulder"), stats: ( protection: Normal(3.0), - poise_protection: Normal(6.0), + poise_resilience: Normal(6.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/iron_spikes.ron b/assets/common/items/armor/shoulder/iron_spikes.ron index fd09631a2a..4e5af911ff 100644 --- a/assets/common/items/armor/shoulder/iron_spikes.ron +++ b/assets/common/items/armor/shoulder/iron_spikes.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("IronSpikes"), stats: ( protection: Normal(12.0), - poise_protection: Normal(15.0), + poise_resilience: Normal(15.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/shoulder/leather_0.ron b/assets/common/items/armor/shoulder/leather_0.ron index 6f272a0d32..8b8319b90f 100644 --- a/assets/common/items/armor/shoulder/leather_0.ron +++ b/assets/common/items/armor/shoulder/leather_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("Leather0"), stats: ( protection: Normal(6.0), - poise_protection: Normal(3.0), + poise_resilience: Normal(3.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/leather_1.ron b/assets/common/items/armor/shoulder/leather_1.ron index ff538ac34b..93bb62655d 100644 --- a/assets/common/items/armor/shoulder/leather_1.ron +++ b/assets/common/items/armor/shoulder/leather_1.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("Leather1"), stats: ( protection: Normal(6.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/leather_2.ron b/assets/common/items/armor/shoulder/leather_2.ron index ac296dab96..f021dd2ec5 100644 --- a/assets/common/items/armor/shoulder/leather_2.ron +++ b/assets/common/items/armor/shoulder/leather_2.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("Leather2"), stats: ( protection: Normal(6.0), - poise_protection: Normal(2.0), + poise_resilience: Normal(2.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/leather_adventurer.ron b/assets/common/items/armor/shoulder/leather_adventurer.ron index b0ac340d3d..03cf73bf83 100644 --- a/assets/common/items/armor/shoulder/leather_adventurer.ron +++ b/assets/common/items/armor/shoulder/leather_adventurer.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("Leather2"), stats: ( protection: Normal(8.0), - poise_protection: Normal(4.0), + poise_resilience: Normal(4.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/shoulder/leather_iron_0.ron b/assets/common/items/armor/shoulder/leather_iron_0.ron index f2d0c99be8..5bb268473e 100644 --- a/assets/common/items/armor/shoulder/leather_iron_0.ron +++ b/assets/common/items/armor/shoulder/leather_iron_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("IronLeather0"), stats: ( protection: Normal(9.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/leather_iron_1.ron b/assets/common/items/armor/shoulder/leather_iron_1.ron index b5b56728ac..84a229e827 100644 --- a/assets/common/items/armor/shoulder/leather_iron_1.ron +++ b/assets/common/items/armor/shoulder/leather_iron_1.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("IronLeather1"), stats: ( protection: Normal(9.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/leather_iron_2.ron b/assets/common/items/armor/shoulder/leather_iron_2.ron index f83d0f4e70..710e093419 100644 --- a/assets/common/items/armor/shoulder/leather_iron_2.ron +++ b/assets/common/items/armor/shoulder/leather_iron_2.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("IronLeather2"), stats: ( protection: Normal(9.0), - poise_protection: Normal(8.0), + poise_resilience: Normal(8.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/leather_iron_3.ron b/assets/common/items/armor/shoulder/leather_iron_3.ron index 23b27de3a2..54368c633f 100644 --- a/assets/common/items/armor/shoulder/leather_iron_3.ron +++ b/assets/common/items/armor/shoulder/leather_iron_3.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("IronLeather3"), stats: ( protection: Normal(9.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/leather_strips.ron b/assets/common/items/armor/shoulder/leather_strips.ron index a022a00880..7d28b59695 100644 --- a/assets/common/items/armor/shoulder/leather_strips.ron +++ b/assets/common/items/armor/shoulder/leather_strips.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("LeatherStrips"), stats: ( protection: Normal(4.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), )), quality: Low, diff --git a/assets/common/items/armor/shoulder/plate_0.ron b/assets/common/items/armor/shoulder/plate_0.ron index 6557f6276f..e7b45ab80e 100644 --- a/assets/common/items/armor/shoulder/plate_0.ron +++ b/assets/common/items/armor/shoulder/plate_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("Plate0"), stats: ( protection: Normal(12.0), - poise_protection: Normal(16.0), + poise_resilience: Normal(16.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/shoulder/steel_0.ron b/assets/common/items/armor/shoulder/steel_0.ron index c1e0a6269d..58c2e2e82f 100644 --- a/assets/common/items/armor/shoulder/steel_0.ron +++ b/assets/common/items/armor/shoulder/steel_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("Steel0"), stats: ( protection: Normal(15.0), - poise_protection: Normal(20.0), + poise_resilience: Normal(20.0), ), )), quality: Moderate, diff --git a/assets/common/items/armor/shoulder/tarasque.ron b/assets/common/items/armor/shoulder/tarasque.ron index d337fe4dce..90d9882617 100644 --- a/assets/common/items/armor/shoulder/tarasque.ron +++ b/assets/common/items/armor/shoulder/tarasque.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("Tarasque"), stats: ( protection: Normal(15.0), - poise_protection: Normal(18.0), + poise_resilience: Normal(18.0), ), )), quality: High, diff --git a/assets/common/items/armor/shoulder/twigs.ron b/assets/common/items/armor/shoulder/twigs.ron index 43c88206b4..4094e8b255 100644 --- a/assets/common/items/armor/shoulder/twigs.ron +++ b/assets/common/items/armor/shoulder/twigs.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("TwiggyShoulder"), stats: ( protection: Normal(9.0), - poise_protection: Normal(14.0), + poise_resilience: Normal(14.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/twigsflowers.ron b/assets/common/items/armor/shoulder/twigsflowers.ron index 2f71b4d46d..d4d9516e4a 100644 --- a/assets/common/items/armor/shoulder/twigsflowers.ron +++ b/assets/common/items/armor/shoulder/twigsflowers.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("FlowerShoulder"), stats: ( protection: Normal(9.0), - poise_protection: Normal(3.0), + poise_resilience: Normal(3.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/twigsleaves.ron b/assets/common/items/armor/shoulder/twigsleaves.ron index 210a7edeff..d7d643badb 100644 --- a/assets/common/items/armor/shoulder/twigsleaves.ron +++ b/assets/common/items/armor/shoulder/twigsleaves.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("LeafyShoulder"), stats: ( protection: Normal(9.0), - poise_protection: Normal(2.0), + poise_resilience: Normal(2.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/velorite_mage_0.ron b/assets/common/items/armor/shoulder/velorite_mage_0.ron index 84b90cc5fb..45dc1b3004 100644 --- a/assets/common/items/armor/shoulder/velorite_mage_0.ron +++ b/assets/common/items/armor/shoulder/velorite_mage_0.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("VeloriteMage0"), stats: ( protection: Normal(17.0), - poise_protection: Normal(17.0), + poise_resilience: Normal(17.0), ), )), quality: High, diff --git a/assets/common/items/armor/shoulder/warlock.ron b/assets/common/items/armor/shoulder/warlock.ron index a740b10fb0..a442668d90 100644 --- a/assets/common/items/armor/shoulder/warlock.ron +++ b/assets/common/items/armor/shoulder/warlock.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("Warlock"), stats: ( protection: Normal(22.0), - poise_protection: Normal(15.0), + poise_resilience: Normal(15.0), ), )), quality: Common, diff --git a/assets/common/items/armor/shoulder/warlord.ron b/assets/common/items/armor/shoulder/warlord.ron index 6253406be4..7f9308cb83 100644 --- a/assets/common/items/armor/shoulder/warlord.ron +++ b/assets/common/items/armor/shoulder/warlord.ron @@ -5,7 +5,7 @@ ItemDef( kind: Shoulder("Warlord"), stats: ( protection: Normal(22.0), - poise_protection: Normal(14.0), + poise_resilience: Normal(14.0), ), )), quality: Common, diff --git a/assets/common/items/armor/tabard/admin.ron b/assets/common/items/armor/tabard/admin.ron index 313e36440b..e3c21deb14 100644 --- a/assets/common/items/armor/tabard/admin.ron +++ b/assets/common/items/armor/tabard/admin.ron @@ -5,7 +5,7 @@ ItemDef( kind: Tabard("Admin"), stats: ( protection: Invincible, - poise_protection: Invincible, + poise_resilience: Invincible, ), )), quality: Debug, diff --git a/assets/common/items/debug/admin.ron b/assets/common/items/debug/admin.ron index 6b872f3470..16e18773eb 100644 --- a/assets/common/items/debug/admin.ron +++ b/assets/common/items/debug/admin.ron @@ -6,7 +6,7 @@ ItemDef( kind: Tabard("Admin"), stats: ( protection: Invincible, - poise_protection: Invincible, + poise_resilience: Invincible, ), ) ), diff --git a/assets/common/items/debug/admin_back.ron b/assets/common/items/debug/admin_back.ron index 048e196395..c59fd0bd43 100644 --- a/assets/common/items/debug/admin_back.ron +++ b/assets/common/items/debug/admin_back.ron @@ -6,7 +6,7 @@ ItemDef( kind: Back("Admin"), stats: ( protection: Invincible, - poise_protection: Invincible, + poise_resilience: Invincible, ), ) ), diff --git a/assets/common/items/debug/admin_black_hole.ron b/assets/common/items/debug/admin_black_hole.ron index ed80c08e20..c883bf33ef 100644 --- a/assets/common/items/debug/admin_black_hole.ron +++ b/assets/common/items/debug/admin_black_hole.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("BrownFace"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0) + poise_resilience: Normal(0.0) ), ) ), diff --git a/assets/common/items/debug/boost.ron b/assets/common/items/debug/boost.ron index c69b8628b7..1079711cbb 100644 --- a/assets/common/items/debug/boost.ron +++ b/assets/common/items/debug/boost.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 0, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/debug/cultist_belt.ron b/assets/common/items/debug/cultist_belt.ron index c6c29c20a1..9e77d29e3c 100644 --- a/assets/common/items/debug/cultist_belt.ron +++ b/assets/common/items/debug/cultist_belt.ron @@ -6,7 +6,7 @@ ItemDef( kind: Belt("VeloriteMage0"), stats: ( protection: Invincible, - poise_protection: Invincible, + poise_resilience: Invincible, ), ) ), diff --git a/assets/common/items/debug/cultist_boots.ron b/assets/common/items/debug/cultist_boots.ron index a3f19ee1b1..938652154a 100644 --- a/assets/common/items/debug/cultist_boots.ron +++ b/assets/common/items/debug/cultist_boots.ron @@ -6,7 +6,7 @@ ItemDef( kind: Foot("VeloriteMage0"), stats: ( protection: Invincible, - poise_protection: Invincible, + poise_resilience: Invincible, ), ) ), diff --git a/assets/common/items/debug/cultist_chest_blue.ron b/assets/common/items/debug/cultist_chest_blue.ron index 1ea375fbad..5d827a9dbd 100644 --- a/assets/common/items/debug/cultist_chest_blue.ron +++ b/assets/common/items/debug/cultist_chest_blue.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("VeloriteMage0"), stats: ( protection: Invincible, - poise_protection: Invincible, + poise_resilience: Invincible, ), ) ), diff --git a/assets/common/items/debug/cultist_hands_blue.ron b/assets/common/items/debug/cultist_hands_blue.ron index bcd9c41b93..080ca2b3b0 100644 --- a/assets/common/items/debug/cultist_hands_blue.ron +++ b/assets/common/items/debug/cultist_hands_blue.ron @@ -6,7 +6,7 @@ ItemDef( kind: Hand("VeloriteMage0"), stats: ( protection: Invincible, - poise_protection: Invincible, + poise_resilience: Invincible, ), ) ), diff --git a/assets/common/items/debug/cultist_legs_blue.ron b/assets/common/items/debug/cultist_legs_blue.ron index b917f35313..b63b957c20 100644 --- a/assets/common/items/debug/cultist_legs_blue.ron +++ b/assets/common/items/debug/cultist_legs_blue.ron @@ -6,7 +6,7 @@ ItemDef( kind: Pants("VeloriteMage0"), stats: ( protection: Invincible, - poise_protection: Invincible, + poise_resilience: Invincible, ), ) ), diff --git a/assets/common/items/debug/cultist_purp_2h_boss-0.ron b/assets/common/items/debug/cultist_purp_2h_boss-0.ron index 6645367246..42af4bcd69 100644 --- a/assets/common/items/debug/cultist_purp_2h_boss-0.ron +++ b/assets/common/items/debug/cultist_purp_2h_boss-0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 0, power: 1000.0, - poise_power: 1000.0, + poise_strength: 1000.0, speed: 1.0 ), ) diff --git a/assets/common/items/debug/cultist_shoulder_blue.ron b/assets/common/items/debug/cultist_shoulder_blue.ron index 1468b11511..273661b694 100644 --- a/assets/common/items/debug/cultist_shoulder_blue.ron +++ b/assets/common/items/debug/cultist_shoulder_blue.ron @@ -6,7 +6,7 @@ ItemDef( kind: Shoulder("VeloriteMage0"), stats: ( protection: Invincible, - poise_protection: Invincible, + poise_resilience: Invincible, ), ) ), diff --git a/assets/common/items/debug/dungeon_purple-0.ron b/assets/common/items/debug/dungeon_purple-0.ron index 7ada1e0e48..379aa17fe3 100644 --- a/assets/common/items/debug/dungeon_purple-0.ron +++ b/assets/common/items/debug/dungeon_purple-0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Back("VeloriteMage0"), stats: ( protection: Invincible, - poise_protection: Invincible, + poise_resilience: Invincible, ), ) ), diff --git a/assets/common/items/debug/possess.ron b/assets/common/items/debug/possess.ron index c69b8628b7..1079711cbb 100644 --- a/assets/common/items/debug/possess.ron +++ b/assets/common/items/debug/possess.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 0, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_armor/back/backpack_0.ron b/assets/common/items/npc_armor/back/backpack_0.ron index 67d28e2ae8..245ab110df 100644 --- a/assets/common/items/npc_armor/back/backpack_0.ron +++ b/assets/common/items/npc_armor/back/backpack_0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Back("Backpack0"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/npc_armor/back/backpack_blue_0.ron b/assets/common/items/npc_armor/back/backpack_blue_0.ron index a4faee6084..665c6a1639 100644 --- a/assets/common/items/npc_armor/back/backpack_blue_0.ron +++ b/assets/common/items/npc_armor/back/backpack_blue_0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Back("BackpackBlue0"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/npc_armor/back/dungeon_purple-0.ron b/assets/common/items/npc_armor/back/dungeon_purple-0.ron index de7b84450b..f049d17d10 100644 --- a/assets/common/items/npc_armor/back/dungeon_purple-0.ron +++ b/assets/common/items/npc_armor/back/dungeon_purple-0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Back("DungPurp0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/npc_armor/back/leather_blue_0.ron b/assets/common/items/npc_armor/back/leather_blue_0.ron index 199c4df83e..d8a321d866 100644 --- a/assets/common/items/npc_armor/back/leather_blue_0.ron +++ b/assets/common/items/npc_armor/back/leather_blue_0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Back("LeatherBlue0"), stats: ( protection: Normal(1.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/npc_armor/belt/cultist_belt.ron b/assets/common/items/npc_armor/belt/cultist_belt.ron index 582187be79..00813b2141 100644 --- a/assets/common/items/npc_armor/belt/cultist_belt.ron +++ b/assets/common/items/npc_armor/belt/cultist_belt.ron @@ -6,7 +6,7 @@ ItemDef( kind: Belt("Cultist"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/npc_armor/chest/cultist_chest_purple.ron b/assets/common/items/npc_armor/chest/cultist_chest_purple.ron index 9deacf4190..246e194a84 100644 --- a/assets/common/items/npc_armor/chest/cultist_chest_purple.ron +++ b/assets/common/items/npc_armor/chest/cultist_chest_purple.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("CultistPurple"), stats: ( protection: Normal(5.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), ) ), diff --git a/assets/common/items/npc_armor/chest/leather_blue_0.ron b/assets/common/items/npc_armor/chest/leather_blue_0.ron index 636e277555..144c81ee5e 100644 --- a/assets/common/items/npc_armor/chest/leather_blue_0.ron +++ b/assets/common/items/npc_armor/chest/leather_blue_0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("LeatherBlue0"), stats: ( protection: Normal(5.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), ) ), diff --git a/assets/common/items/npc_armor/chest/plate_green_0.ron b/assets/common/items/npc_armor/chest/plate_green_0.ron index a68246b17f..771db3388b 100644 --- a/assets/common/items/npc_armor/chest/plate_green_0.ron +++ b/assets/common/items/npc_armor/chest/plate_green_0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("PlateGreen0"), stats: ( protection: Normal(5.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), ) ), diff --git a/assets/common/items/npc_armor/chest/plate_red_0.ron b/assets/common/items/npc_armor/chest/plate_red_0.ron index ee54da964e..8443377f62 100644 --- a/assets/common/items/npc_armor/chest/plate_red_0.ron +++ b/assets/common/items/npc_armor/chest/plate_red_0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("PlateRed0"), stats: ( protection: Normal(5.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), ) ), diff --git a/assets/common/items/npc_armor/chest/worker_green_0.ron b/assets/common/items/npc_armor/chest/worker_green_0.ron index 6557bec2ae..6632e53cda 100644 --- a/assets/common/items/npc_armor/chest/worker_green_0.ron +++ b/assets/common/items/npc_armor/chest/worker_green_0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("WorkerGreen0"), stats: ( protection: Normal(80.0), - poise_protection: Normal(80.0), + poise_resilience: Normal(80.0), ), ) ), diff --git a/assets/common/items/npc_armor/chest/worker_green_1.ron b/assets/common/items/npc_armor/chest/worker_green_1.ron index e4e0ba352a..bba97dd57c 100644 --- a/assets/common/items/npc_armor/chest/worker_green_1.ron +++ b/assets/common/items/npc_armor/chest/worker_green_1.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("WorkerGreen1"), stats: ( protection: Normal(80.0), - poise_protection: Normal(80.0), + poise_resilience: Normal(80.0), ), ) ), diff --git a/assets/common/items/npc_armor/chest/worker_orange_0.ron b/assets/common/items/npc_armor/chest/worker_orange_0.ron index 6de9320085..ad68f5542e 100644 --- a/assets/common/items/npc_armor/chest/worker_orange_0.ron +++ b/assets/common/items/npc_armor/chest/worker_orange_0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("WorkerOrange0"), stats: ( protection: Normal(80.0), - poise_protection: Normal(80.0), + poise_resilience: Normal(80.0), ), ) ), diff --git a/assets/common/items/npc_armor/chest/worker_orange_1.ron b/assets/common/items/npc_armor/chest/worker_orange_1.ron index 8cdea1a49e..48e34fb2d4 100644 --- a/assets/common/items/npc_armor/chest/worker_orange_1.ron +++ b/assets/common/items/npc_armor/chest/worker_orange_1.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("WorkerOrange1"), stats: ( protection: Normal(80.0), - poise_protection: Normal(80.0), + poise_resilience: Normal(80.0), ), ) ), diff --git a/assets/common/items/npc_armor/chest/worker_purple_0.ron b/assets/common/items/npc_armor/chest/worker_purple_0.ron index 7cdfa7a64b..98d6d0f65a 100644 --- a/assets/common/items/npc_armor/chest/worker_purple_0.ron +++ b/assets/common/items/npc_armor/chest/worker_purple_0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("WorkerPurple0"), stats: ( protection: Normal(80.0), - poise_protection: Normal(80.0), + poise_resilience: Normal(80.0), ), ) ), diff --git a/assets/common/items/npc_armor/chest/worker_purple_1.ron b/assets/common/items/npc_armor/chest/worker_purple_1.ron index 8cf05f185c..6bc00e25ec 100644 --- a/assets/common/items/npc_armor/chest/worker_purple_1.ron +++ b/assets/common/items/npc_armor/chest/worker_purple_1.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("WorkerPurple1"), stats: ( protection: Normal(80.0), - poise_protection: Normal(80.0), + poise_resilience: Normal(80.0), ), ) ), diff --git a/assets/common/items/npc_armor/chest/worker_red_0.ron b/assets/common/items/npc_armor/chest/worker_red_0.ron index a3441e563d..cd37b92a52 100644 --- a/assets/common/items/npc_armor/chest/worker_red_0.ron +++ b/assets/common/items/npc_armor/chest/worker_red_0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("WorkerRed0"), stats: ( protection: Normal(80.0), - poise_protection: Normal(80.0), + poise_resilience: Normal(80.0), ), ) ), diff --git a/assets/common/items/npc_armor/chest/worker_red_1.ron b/assets/common/items/npc_armor/chest/worker_red_1.ron index 629e9b1ce2..0deb676eb1 100644 --- a/assets/common/items/npc_armor/chest/worker_red_1.ron +++ b/assets/common/items/npc_armor/chest/worker_red_1.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("WorkerRed1"), stats: ( protection: Normal(80.0), - poise_protection: Normal(80.0), + poise_resilience: Normal(80.0), ), ) ), diff --git a/assets/common/items/npc_armor/chest/worker_yellow_0.ron b/assets/common/items/npc_armor/chest/worker_yellow_0.ron index 5a5921aa57..de7be724c7 100644 --- a/assets/common/items/npc_armor/chest/worker_yellow_0.ron +++ b/assets/common/items/npc_armor/chest/worker_yellow_0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("WorkerYellow0"), stats: ( protection: Normal(80.0), - poise_protection: Normal(80.0), + poise_resilience: Normal(80.0), ), ) ), diff --git a/assets/common/items/npc_armor/chest/worker_yellow_1.ron b/assets/common/items/npc_armor/chest/worker_yellow_1.ron index 2e6754c039..4623756ebd 100644 --- a/assets/common/items/npc_armor/chest/worker_yellow_1.ron +++ b/assets/common/items/npc_armor/chest/worker_yellow_1.ron @@ -6,7 +6,7 @@ ItemDef( kind: Chest("WorkerYellow1"), stats: ( protection: Normal(80.0), - poise_protection: Normal(80.0), + poise_resilience: Normal(80.0), ), ) ), diff --git a/assets/common/items/npc_armor/foot/cultist_boots.ron b/assets/common/items/npc_armor/foot/cultist_boots.ron index 17ec1dd002..a767753d73 100644 --- a/assets/common/items/npc_armor/foot/cultist_boots.ron +++ b/assets/common/items/npc_armor/foot/cultist_boots.ron @@ -6,7 +6,7 @@ ItemDef( kind: Foot("Cultist"), stats: ( protection: Normal(1.0), - poise_protection: Normal(1.0), + poise_resilience: Normal(1.0), ), ) ), diff --git a/assets/common/items/npc_armor/hand/cultist_hands_purple.ron b/assets/common/items/npc_armor/hand/cultist_hands_purple.ron index 2f8934a5e3..acb85e1fe3 100644 --- a/assets/common/items/npc_armor/hand/cultist_hands_purple.ron +++ b/assets/common/items/npc_armor/hand/cultist_hands_purple.ron @@ -6,7 +6,7 @@ ItemDef( kind: Hand("CultistPurple"), stats: ( protection: Normal(2.0), - poise_protection: Normal(2.0), + poise_resilience: Normal(2.0), ), ) ), diff --git a/assets/common/items/npc_armor/pants/cultist_legs_purple.ron b/assets/common/items/npc_armor/pants/cultist_legs_purple.ron index 308edc5bad..649e8d6ae1 100644 --- a/assets/common/items/npc_armor/pants/cultist_legs_purple.ron +++ b/assets/common/items/npc_armor/pants/cultist_legs_purple.ron @@ -6,7 +6,7 @@ ItemDef( kind: Pants("CultistPurple"), stats: ( protection: Normal(10.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), ) ), diff --git a/assets/common/items/npc_armor/pants/leather_blue_0.ron b/assets/common/items/npc_armor/pants/leather_blue_0.ron index 84d4312ce0..c8b8f8874d 100644 --- a/assets/common/items/npc_armor/pants/leather_blue_0.ron +++ b/assets/common/items/npc_armor/pants/leather_blue_0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Pants("LeatherBlue0"), stats: ( protection: Normal(10.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), ) ), diff --git a/assets/common/items/npc_armor/pants/plate_green_0.ron b/assets/common/items/npc_armor/pants/plate_green_0.ron index 1fa9c5f9b8..7d70fb0cac 100644 --- a/assets/common/items/npc_armor/pants/plate_green_0.ron +++ b/assets/common/items/npc_armor/pants/plate_green_0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Pants("PlateGreen0"), stats: ( protection: Normal(10.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), ) ), diff --git a/assets/common/items/npc_armor/pants/plate_red_0.ron b/assets/common/items/npc_armor/pants/plate_red_0.ron index bab021b7f5..af0ac1b877 100644 --- a/assets/common/items/npc_armor/pants/plate_red_0.ron +++ b/assets/common/items/npc_armor/pants/plate_red_0.ron @@ -6,7 +6,7 @@ ItemDef( kind: Pants("PlateRed0"), stats: ( protection: Normal(10.0), - poise_protection: Normal(10.0), + poise_resilience: Normal(10.0), ), ) ), diff --git a/assets/common/items/npc_armor/shoulder/cultist_shoulder_purple.ron b/assets/common/items/npc_armor/shoulder/cultist_shoulder_purple.ron index f2e95e2ff8..083c5404d6 100644 --- a/assets/common/items/npc_armor/shoulder/cultist_shoulder_purple.ron +++ b/assets/common/items/npc_armor/shoulder/cultist_shoulder_purple.ron @@ -6,7 +6,7 @@ ItemDef( kind: Shoulder("CultistPurple"), stats: ( protection: Normal(5.0), - poise_protection: Normal(5.0), + poise_resilience: Normal(5.0), ), ) ), diff --git a/assets/common/items/npc_weapons/axe/malachite_axe-0.ron b/assets/common/items/npc_weapons/axe/malachite_axe-0.ron index d8ea2498e8..69e29ca551 100644 --- a/assets/common/items/npc_weapons/axe/malachite_axe-0.ron +++ b/assets/common/items/npc_weapons/axe/malachite_axe-0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.50, - poise_power: 0.50, + poise_strength: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/axe/starter_axe.ron b/assets/common/items/npc_weapons/axe/starter_axe.ron index 029185ab8c..a87a8e0871 100644 --- a/assets/common/items/npc_weapons/axe/starter_axe.ron +++ b/assets/common/items/npc_weapons/axe/starter_axe.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.50, - poise_power: 0.50, + poise_strength: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/bow/horn_longbow-0.ron b/assets/common/items/npc_weapons/bow/horn_longbow-0.ron index 9ab669e16a..bf12d042fa 100644 --- a/assets/common/items/npc_weapons/bow/horn_longbow-0.ron +++ b/assets/common/items/npc_weapons/bow/horn_longbow-0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.5, - poise_power: 0.50, + poise_strength: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/bow/saurok_bow.ron b/assets/common/items/npc_weapons/bow/saurok_bow.ron index 8c821de25a..5fd67f2123 100644 --- a/assets/common/items/npc_weapons/bow/saurok_bow.ron +++ b/assets/common/items/npc_weapons/bow/saurok_bow.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/dagger/starter_dagger.ron b/assets/common/items/npc_weapons/dagger/starter_dagger.ron index d25a94b0e8..0300bcf1ac 100644 --- a/assets/common/items/npc_weapons/dagger/starter_dagger.ron +++ b/assets/common/items/npc_weapons/dagger/starter_dagger.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/empty/empty.ron b/assets/common/items/npc_weapons/empty/empty.ron index 8a8dbaac8c..bea2a82516 100644 --- a/assets/common/items/npc_weapons/empty/empty.ron +++ b/assets/common/items/npc_weapons/empty/empty.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 200, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron b/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron index 96407e6668..be35c48871 100644 --- a/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron +++ b/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.5, - poise_power: 0.5, + poise_strength: 0.5, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron index 962fe108f1..ea545e2f1d 100644 --- a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron index 46dad7a2ee..3edf1cebca 100644 --- a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/starter_hammer.ron b/assets/common/items/npc_weapons/hammer/starter_hammer.ron index f8aaa84cf3..accb83e2d2 100644 --- a/assets/common/items/npc_weapons/hammer/starter_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/starter_hammer.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.50, - poise_power: 0.50, + poise_strength: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/troll_hammer.ron b/assets/common/items/npc_weapons/hammer/troll_hammer.ron index cc8232a594..b2402d91bf 100644 --- a/assets/common/items/npc_weapons/hammer/troll_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/troll_hammer.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron index 1638e3a579..ef65f8122d 100644 --- a/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/shield/shield_1.ron b/assets/common/items/npc_weapons/shield/shield_1.ron index 6ba371db37..39ff6c8159 100644 --- a/assets/common/items/npc_weapons/shield/shield_1.ron +++ b/assets/common/items/npc_weapons/shield/shield_1.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/staff/bone_staff.ron b/assets/common/items/npc_weapons/staff/bone_staff.ron index c961ea6155..6455cb7a58 100644 --- a/assets/common/items/npc_weapons/staff/bone_staff.ron +++ b/assets/common/items/npc_weapons/staff/bone_staff.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 0.8, - poise_power: 0.8, + poise_strength: 0.8, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/staff/cultist_staff.ron b/assets/common/items/npc_weapons/staff/cultist_staff.ron index d57be56690..c71b93e97e 100644 --- a/assets/common/items/npc_weapons/staff/cultist_staff.ron +++ b/assets/common/items/npc_weapons/staff/cultist_staff.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 0.8, - poise_power: 0.8, + poise_strength: 0.8, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron index 884a2ed6ca..774f63279a 100644 --- a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron +++ b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 3.0, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.5, ), ) diff --git a/assets/common/items/npc_weapons/staff/ogre_staff.ron b/assets/common/items/npc_weapons/staff/ogre_staff.ron index 3674a800ff..5b9a8ff23f 100644 --- a/assets/common/items/npc_weapons/staff/ogre_staff.ron +++ b/assets/common/items/npc_weapons/staff/ogre_staff.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/staff/saurok_staff.ron b/assets/common/items/npc_weapons/staff/saurok_staff.ron index b85348a829..4730447a09 100644 --- a/assets/common/items/npc_weapons/staff/saurok_staff.ron +++ b/assets/common/items/npc_weapons/staff/saurok_staff.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron b/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron index 1850b0d021..f112732e69 100644 --- a/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron +++ b/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.5, - poise_power: 0.5, + poise_strength: 0.5, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron b/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron index ecbc98bcbb..7d2ff54fe6 100644 --- a/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron +++ b/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.0, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/dullahan_sword.ron b/assets/common/items/npc_weapons/sword/dullahan_sword.ron index 729a12ed4e..70b5bc872d 100644 --- a/assets/common/items/npc_weapons/sword/dullahan_sword.ron +++ b/assets/common/items/npc_weapons/sword/dullahan_sword.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/saurok_sword.ron b/assets/common/items/npc_weapons/sword/saurok_sword.ron index 2f48b0c8ee..e58358127c 100644 --- a/assets/common/items/npc_weapons/sword/saurok_sword.ron +++ b/assets/common/items/npc_weapons/sword/saurok_sword.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/starter_sword.ron b/assets/common/items/npc_weapons/sword/starter_sword.ron index 07a6fd1a76..a2199851fb 100644 --- a/assets/common/items/npc_weapons/sword/starter_sword.ron +++ b/assets/common/items/npc_weapons/sword/starter_sword.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 0.50, - poise_power: 0.50, + poise_strength: 0.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron b/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron index f2b12cf11d..fd780c722a 100644 --- a/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron +++ b/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.75, - poise_power: 0.75, + poise_strength: 0.75, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/broom.ron b/assets/common/items/npc_weapons/tool/broom.ron index 2e42a474ec..5acc0b7b97 100644 --- a/assets/common/items/npc_weapons/tool/broom.ron +++ b/assets/common/items/npc_weapons/tool/broom.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.5, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/fishing_rod.ron b/assets/common/items/npc_weapons/tool/fishing_rod.ron index 61ec3b7755..f95090de85 100644 --- a/assets/common/items/npc_weapons/tool/fishing_rod.ron +++ b/assets/common/items/npc_weapons/tool/fishing_rod.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.5, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/hoe.ron b/assets/common/items/npc_weapons/tool/hoe.ron index a57af33b8a..442f003b4d 100644 --- a/assets/common/items/npc_weapons/tool/hoe.ron +++ b/assets/common/items/npc_weapons/tool/hoe.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, - poise_power: 1.50, + poise_strength: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/pickaxe.ron b/assets/common/items/npc_weapons/tool/pickaxe.ron index fede76212a..4925c8fbe6 100644 --- a/assets/common/items/npc_weapons/tool/pickaxe.ron +++ b/assets/common/items/npc_weapons/tool/pickaxe.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, - poise_power: 1.50, + poise_strength: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/pitchfork.ron b/assets/common/items/npc_weapons/tool/pitchfork.ron index eafbcb1df8..48cb72c1a8 100644 --- a/assets/common/items/npc_weapons/tool/pitchfork.ron +++ b/assets/common/items/npc_weapons/tool/pitchfork.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, - poise_power: 1.50, + poise_strength: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/rake.ron b/assets/common/items/npc_weapons/tool/rake.ron index f57ceb31be..55e5988834 100644 --- a/assets/common/items/npc_weapons/tool/rake.ron +++ b/assets/common/items/npc_weapons/tool/rake.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, - poise_power: 1.50, + poise_strength: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/shovel-0.ron b/assets/common/items/npc_weapons/tool/shovel-0.ron index 0acabb3703..a5961017e4 100644 --- a/assets/common/items/npc_weapons/tool/shovel-0.ron +++ b/assets/common/items/npc_weapons/tool/shovel-0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, - poise_power: 1.50, + poise_strength: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/tool/shovel-1.ron b/assets/common/items/npc_weapons/tool/shovel-1.ron index 4e0d64bbe8..e466084a1a 100644 --- a/assets/common/items/npc_weapons/tool/shovel-1.ron +++ b/assets/common/items/npc_weapons/tool/shovel-1.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.50, - poise_power: 1.50, + poise_strength: 1.50, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/unique/beast_claws.ron b/assets/common/items/npc_weapons/unique/beast_claws.ron index 6d3aadbf8c..f28be29396 100644 --- a/assets/common/items/npc_weapons/unique/beast_claws.ron +++ b/assets/common/items/npc_weapons/unique/beast_claws.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowbasic.ron b/assets/common/items/npc_weapons/unique/quadlowbasic.ron index a843df7478..74c32b4641 100644 --- a/assets/common/items/npc_weapons/unique/quadlowbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadlowbasic.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowbreathe.ron b/assets/common/items/npc_weapons/unique/quadlowbreathe.ron index 31550c511c..585f808f40 100644 --- a/assets/common/items/npc_weapons/unique/quadlowbreathe.ron +++ b/assets/common/items/npc_weapons/unique/quadlowbreathe.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowquick.ron b/assets/common/items/npc_weapons/unique/quadlowquick.ron index 1f66d603ac..a2278202e9 100644 --- a/assets/common/items/npc_weapons/unique/quadlowquick.ron +++ b/assets/common/items/npc_weapons/unique/quadlowquick.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowranged.ron b/assets/common/items/npc_weapons/unique/quadlowranged.ron index cb3604b375..090292ab96 100644 --- a/assets/common/items/npc_weapons/unique/quadlowranged.ron +++ b/assets/common/items/npc_weapons/unique/quadlowranged.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadlowtail.ron b/assets/common/items/npc_weapons/unique/quadlowtail.ron index d217e1ed2b..9b554bb398 100644 --- a/assets/common/items/npc_weapons/unique/quadlowtail.ron +++ b/assets/common/items/npc_weapons/unique/quadlowtail.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedbasic.ron b/assets/common/items/npc_weapons/unique/quadmedbasic.ron index b177c31892..fc6cedd22b 100644 --- a/assets/common/items/npc_weapons/unique/quadmedbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadmedbasic.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedcharge.ron b/assets/common/items/npc_weapons/unique/quadmedcharge.ron index 32ccbd7ab4..6418ea601e 100644 --- a/assets/common/items/npc_weapons/unique/quadmedcharge.ron +++ b/assets/common/items/npc_weapons/unique/quadmedcharge.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedhoof.ron b/assets/common/items/npc_weapons/unique/quadmedhoof.ron index 48858a7df7..eed0adea73 100644 --- a/assets/common/items/npc_weapons/unique/quadmedhoof.ron +++ b/assets/common/items/npc_weapons/unique/quadmedhoof.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedjump.ron b/assets/common/items/npc_weapons/unique/quadmedjump.ron index b504b38fc6..674b6a8479 100644 --- a/assets/common/items/npc_weapons/unique/quadmedjump.ron +++ b/assets/common/items/npc_weapons/unique/quadmedjump.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadmedquick.ron b/assets/common/items/npc_weapons/unique/quadmedquick.ron index 879b0d84b4..0535f15b89 100644 --- a/assets/common/items/npc_weapons/unique/quadmedquick.ron +++ b/assets/common/items/npc_weapons/unique/quadmedquick.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0, ), ) diff --git a/assets/common/items/npc_weapons/unique/quadsmallbasic.ron b/assets/common/items/npc_weapons/unique/quadsmallbasic.ron index 341b29d4e6..0c8ca574ee 100644 --- a/assets/common/items/npc_weapons/unique/quadsmallbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadsmallbasic.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/stone_golems_fist.ron b/assets/common/items/npc_weapons/unique/stone_golems_fist.ron index d406c450d3..a247a656af 100644 --- a/assets/common/items/npc_weapons/unique/stone_golems_fist.ron +++ b/assets/common/items/npc_weapons/unique/stone_golems_fist.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.0 ), ) diff --git a/assets/common/items/npc_weapons/unique/theropodbasic.ron b/assets/common/items/npc_weapons/unique/theropodbasic.ron index cab8c9dff0..0f77fd2e10 100644 --- a/assets/common/items/npc_weapons/unique/theropodbasic.ron +++ b/assets/common/items/npc_weapons/unique/theropodbasic.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/npc_weapons/unique/theropodbird.ron b/assets/common/items/npc_weapons/unique/theropodbird.ron index 717fa513af..bc054515a0 100644 --- a/assets/common/items/npc_weapons/unique/theropodbird.ron +++ b/assets/common/items/npc_weapons/unique/theropodbird.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 10, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.00, ), ) diff --git a/assets/common/items/testing/test_bag_18_slot.ron b/assets/common/items/testing/test_bag_18_slot.ron index 35ae75be5b..08e41f7659 100644 --- a/assets/common/items/testing/test_bag_18_slot.ron +++ b/assets/common/items/testing/test_bag_18_slot.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("TestBag18Slot"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/testing/test_bag_9_slot.ron b/assets/common/items/testing/test_bag_9_slot.ron index d0b439b001..4618b6179e 100644 --- a/assets/common/items/testing/test_bag_9_slot.ron +++ b/assets/common/items/testing/test_bag_9_slot.ron @@ -6,7 +6,7 @@ ItemDef( kind: Bag("TestBag9Slot"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/testing/test_boots.ron b/assets/common/items/testing/test_boots.ron index 81872e78af..6a40f3f4c9 100644 --- a/assets/common/items/testing/test_boots.ron +++ b/assets/common/items/testing/test_boots.ron @@ -6,7 +6,7 @@ ItemDef( kind: Foot("Dark"), stats: ( protection: Normal(0.0), - poise_protection: Normal(0.0), + poise_resilience: Normal(0.0), ), ) ), diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-0.ron b/assets/common/items/weapons/axe/bloodsteel_axe-0.ron index ffab4d7923..91fc7f98b6 100644 --- a/assets/common/items/weapons/axe/bloodsteel_axe-0.ron +++ b/assets/common/items/weapons/axe/bloodsteel_axe-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.6, - poise_power: 1.4, + poise_strength: 1.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-1.ron b/assets/common/items/weapons/axe/bloodsteel_axe-1.ron index 53e19b6acf..4ae7a21165 100644 --- a/assets/common/items/weapons/axe/bloodsteel_axe-1.ron +++ b/assets/common/items/weapons/axe/bloodsteel_axe-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.6, - poise_power: 1.8, + poise_strength: 1.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-2.ron b/assets/common/items/weapons/axe/bloodsteel_axe-2.ron index 8fbfc4fcbf..7ad948d4eb 100644 --- a/assets/common/items/weapons/axe/bloodsteel_axe-2.ron +++ b/assets/common/items/weapons/axe/bloodsteel_axe-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.6, - poise_power: 1.4, + poise_strength: 1.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/bronze_axe-0.ron b/assets/common/items/weapons/axe/bronze_axe-0.ron index e03d5366f9..509db1a76c 100644 --- a/assets/common/items/weapons/axe/bronze_axe-0.ron +++ b/assets/common/items/weapons/axe/bronze_axe-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 0.9, + poise_strength: 0.9, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/bronze_axe-1.ron b/assets/common/items/weapons/axe/bronze_axe-1.ron index a7f6546e7e..0b9822c925 100644 --- a/assets/common/items/weapons/axe/bronze_axe-1.ron +++ b/assets/common/items/weapons/axe/bronze_axe-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/cobalt_axe-0.ron b/assets/common/items/weapons/axe/cobalt_axe-0.ron index 3a68f2d6a5..cc8136a39b 100644 --- a/assets/common/items/weapons/axe/cobalt_axe-0.ron +++ b/assets/common/items/weapons/axe/cobalt_axe-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.8, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/iron_axe-0.ron b/assets/common/items/weapons/axe/iron_axe-0.ron index 0736118858..edcfe7fc01 100644 --- a/assets/common/items/weapons/axe/iron_axe-0.ron +++ b/assets/common/items/weapons/axe/iron_axe-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, - poise_power: 1.7, + poise_strength: 1.7, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/iron_axe-1.ron b/assets/common/items/weapons/axe/iron_axe-1.ron index 487776ff97..c13537612a 100644 --- a/assets/common/items/weapons/axe/iron_axe-1.ron +++ b/assets/common/items/weapons/axe/iron_axe-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, - poise_power: 1.4, + poise_strength: 1.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/iron_axe-2.ron b/assets/common/items/weapons/axe/iron_axe-2.ron index f1cc7ac580..5587256351 100644 --- a/assets/common/items/weapons/axe/iron_axe-2.ron +++ b/assets/common/items/weapons/axe/iron_axe-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, - poise_power: 1.1, + poise_strength: 1.1, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/iron_axe-3.ron b/assets/common/items/weapons/axe/iron_axe-3.ron index d0f9a82232..c801068869 100644 --- a/assets/common/items/weapons/axe/iron_axe-3.ron +++ b/assets/common/items/weapons/axe/iron_axe-3.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, - poise_power: 1.6, + poise_strength: 1.6, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/iron_axe-4.ron b/assets/common/items/weapons/axe/iron_axe-4.ron index 16388920ff..b954b1308c 100644 --- a/assets/common/items/weapons/axe/iron_axe-4.ron +++ b/assets/common/items/weapons/axe/iron_axe-4.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, - poise_power: 1.4, + poise_strength: 1.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/iron_axe-5.ron b/assets/common/items/weapons/axe/iron_axe-5.ron index 6293397b56..756fab48c4 100644 --- a/assets/common/items/weapons/axe/iron_axe-5.ron +++ b/assets/common/items/weapons/axe/iron_axe-5.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, - poise_power: 1.8, + poise_strength: 1.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/iron_axe-6.ron b/assets/common/items/weapons/axe/iron_axe-6.ron index d1b6b52254..d62cff2294 100644 --- a/assets/common/items/weapons/axe/iron_axe-6.ron +++ b/assets/common/items/weapons/axe/iron_axe-6.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, - poise_power: 1.3, + poise_strength: 1.3, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/iron_axe-7.ron b/assets/common/items/weapons/axe/iron_axe-7.ron index 44c7c39f2a..180769f438 100644 --- a/assets/common/items/weapons/axe/iron_axe-7.ron +++ b/assets/common/items/weapons/axe/iron_axe-7.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, - poise_power: 1.6, + poise_strength: 1.6, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/iron_axe-8.ron b/assets/common/items/weapons/axe/iron_axe-8.ron index c25c1bd097..9ec1e1db5d 100644 --- a/assets/common/items/weapons/axe/iron_axe-8.ron +++ b/assets/common/items/weapons/axe/iron_axe-8.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, - poise_power: 0.6, + poise_strength: 0.6, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/iron_axe-9.ron b/assets/common/items/weapons/axe/iron_axe-9.ron index 92a489c02f..4e4cde5057 100644 --- a/assets/common/items/weapons/axe/iron_axe-9.ron +++ b/assets/common/items/weapons/axe/iron_axe-9.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, - poise_power: 0.3, + poise_strength: 0.3, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/malachite_axe-0.ron b/assets/common/items/weapons/axe/malachite_axe-0.ron index 0ab50c0cc4..1c1b901132 100644 --- a/assets/common/items/weapons/axe/malachite_axe-0.ron +++ b/assets/common/items/weapons/axe/malachite_axe-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 2.0, - poise_power: 1.1, + poise_strength: 1.1, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/orc_axe-0.ron b/assets/common/items/weapons/axe/orc_axe-0.ron index b6e5c7f6ea..cd7969e1cf 100644 --- a/assets/common/items/weapons/axe/orc_axe-0.ron +++ b/assets/common/items/weapons/axe/orc_axe-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.6, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/starter_axe.ron b/assets/common/items/weapons/axe/starter_axe.ron index dbc09ef478..37b9b1431d 100644 --- a/assets/common/items/weapons/axe/starter_axe.ron +++ b/assets/common/items/weapons/axe/starter_axe.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.5, - poise_power: 2.0, + poise_strength: 2.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/steel_axe-0.ron b/assets/common/items/weapons/axe/steel_axe-0.ron index 8a7b2ebecd..9a4efa2f92 100644 --- a/assets/common/items/weapons/axe/steel_axe-0.ron +++ b/assets/common/items/weapons/axe/steel_axe-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.4, - poise_power: 1.2, + poise_strength: 1.2, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/steel_axe-1.ron b/assets/common/items/weapons/axe/steel_axe-1.ron index 3f480f7cd8..83c5c7d84a 100644 --- a/assets/common/items/weapons/axe/steel_axe-1.ron +++ b/assets/common/items/weapons/axe/steel_axe-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.4, - poise_power: 1.2, + poise_strength: 1.2, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/steel_axe-2.ron b/assets/common/items/weapons/axe/steel_axe-2.ron index 0b4c6fdce8..5da1136e72 100644 --- a/assets/common/items/weapons/axe/steel_axe-2.ron +++ b/assets/common/items/weapons/axe/steel_axe-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.4, - poise_power: 1.2, + poise_strength: 1.2, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/steel_axe-3.ron b/assets/common/items/weapons/axe/steel_axe-3.ron index 2309957d9f..477208f836 100644 --- a/assets/common/items/weapons/axe/steel_axe-3.ron +++ b/assets/common/items/weapons/axe/steel_axe-3.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.4, - poise_power: 1.1, + poise_strength: 1.1, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/steel_axe-4.ron b/assets/common/items/weapons/axe/steel_axe-4.ron index 3c0bb0505c..3bc9e5e909 100644 --- a/assets/common/items/weapons/axe/steel_axe-4.ron +++ b/assets/common/items/weapons/axe/steel_axe-4.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.4, - poise_power: 1.2, + poise_strength: 1.2, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/steel_axe-5.ron b/assets/common/items/weapons/axe/steel_axe-5.ron index b2044adb0e..3460142677 100644 --- a/assets/common/items/weapons/axe/steel_axe-5.ron +++ b/assets/common/items/weapons/axe/steel_axe-5.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.4, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/steel_axe-6.ron b/assets/common/items/weapons/axe/steel_axe-6.ron index 04431265d3..650aa5a48e 100644 --- a/assets/common/items/weapons/axe/steel_axe-6.ron +++ b/assets/common/items/weapons/axe/steel_axe-6.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.4, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/worn_iron_axe-0.ron b/assets/common/items/weapons/axe/worn_iron_axe-0.ron index 2a57a8e9c8..935db023e9 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-0.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.8, - poise_power: 0.4, + poise_strength: 0.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/worn_iron_axe-1.ron b/assets/common/items/weapons/axe/worn_iron_axe-1.ron index 69012922f9..3d535c97e6 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-1.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.8, - poise_power: 0.4, + poise_strength: 0.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/worn_iron_axe-2.ron b/assets/common/items/weapons/axe/worn_iron_axe-2.ron index 4ba8605ab9..ed777c29de 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-2.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.8, - poise_power: 0.7, + poise_strength: 0.7, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/worn_iron_axe-3.ron b/assets/common/items/weapons/axe/worn_iron_axe-3.ron index 2cd31bc706..54ed1655a8 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-3.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-3.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.8, - poise_power: 1.1, + poise_strength: 1.1, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/axe/worn_iron_axe-4.ron b/assets/common/items/weapons/axe/worn_iron_axe-4.ron index a50e1598b8..c0238d670f 100644 --- a/assets/common/items/weapons/axe/worn_iron_axe-4.ron +++ b/assets/common/items/weapons/axe/worn_iron_axe-4.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.8, - poise_power: 0.5, + poise_strength: 0.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/bow/horn_longbow-0.ron b/assets/common/items/weapons/bow/horn_longbow-0.ron index 4c858aa5c9..b5f8d7699f 100644 --- a/assets/common/items/weapons/bow/horn_longbow-0.ron +++ b/assets/common/items/weapons/bow/horn_longbow-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.5, - poise_power: 0.8, + poise_strength: 0.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/bow/iron_longbow-0.ron b/assets/common/items/weapons/bow/iron_longbow-0.ron index c5e4d8aade..78b086a35e 100644 --- a/assets/common/items/weapons/bow/iron_longbow-0.ron +++ b/assets/common/items/weapons/bow/iron_longbow-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.75, - poise_power: 1.3, + poise_strength: 1.3, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/bow/leafy_longbow-0.ron b/assets/common/items/weapons/bow/leafy_longbow-0.ron index 4d6efcbec0..25bfa06017 100644 --- a/assets/common/items/weapons/bow/leafy_longbow-0.ron +++ b/assets/common/items/weapons/bow/leafy_longbow-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.25, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/bow/leafy_shortbow-0.ron b/assets/common/items/weapons/bow/leafy_shortbow-0.ron index 7216107b17..46ff2edd2a 100644 --- a/assets/common/items/weapons/bow/leafy_shortbow-0.ron +++ b/assets/common/items/weapons/bow/leafy_shortbow-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 0.4, + poise_strength: 0.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/bow/nature_ore_longbow-0.ron b/assets/common/items/weapons/bow/nature_ore_longbow-0.ron index f5502da952..585cfec405 100644 --- a/assets/common/items/weapons/bow/nature_ore_longbow-0.ron +++ b/assets/common/items/weapons/bow/nature_ore_longbow-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 2.0, - poise_power: 1.1, + poise_strength: 1.1, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/bow/rare_longbow.ron b/assets/common/items/weapons/bow/rare_longbow.ron index 8ccb40f232..e0f8b8d02c 100644 --- a/assets/common/items/weapons/bow/rare_longbow.ron +++ b/assets/common/items/weapons/bow/rare_longbow.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 2.0, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/bow/starter_bow.ron b/assets/common/items/weapons/bow/starter_bow.ron index fed446f87f..6d579fd528 100644 --- a/assets/common/items/weapons/bow/starter_bow.ron +++ b/assets/common/items/weapons/bow/starter_bow.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.5, - poise_power: 0.3, + poise_strength: 0.3, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/bow/wood_longbow-0.ron b/assets/common/items/weapons/bow/wood_longbow-0.ron index 06515d9cdf..716863c463 100644 --- a/assets/common/items/weapons/bow/wood_longbow-0.ron +++ b/assets/common/items/weapons/bow/wood_longbow-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 0.9, + poise_strength: 0.9, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/bow/wood_longbow-1.ron b/assets/common/items/weapons/bow/wood_longbow-1.ron index 3ee0800df2..b23d93d237 100644 --- a/assets/common/items/weapons/bow/wood_longbow-1.ron +++ b/assets/common/items/weapons/bow/wood_longbow-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 1.2, + poise_strength: 1.2, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/bow/wood_shortbow-0.ron b/assets/common/items/weapons/bow/wood_shortbow-0.ron index 7a26908786..1a59612735 100644 --- a/assets/common/items/weapons/bow/wood_shortbow-0.ron +++ b/assets/common/items/weapons/bow/wood_shortbow-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.8, - poise_power: 0.7, + poise_strength: 0.7, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/bow/wood_shortbow-1.ron b/assets/common/items/weapons/bow/wood_shortbow-1.ron index 4204d12089..132a506ecb 100644 --- a/assets/common/items/weapons/bow/wood_shortbow-1.ron +++ b/assets/common/items/weapons/bow/wood_shortbow-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.75, - poise_power: 0.4, + poise_strength: 0.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/dagger/basic_0.ron b/assets/common/items/weapons/dagger/basic_0.ron index 6750465a9e..62913c4659 100644 --- a/assets/common/items/weapons/dagger/basic_0.ron +++ b/assets/common/items/weapons/dagger/basic_0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 0, power: 1.8, - poise_power: 2.0, + poise_strength: 2.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/dagger/cultist_0.ron b/assets/common/items/weapons/dagger/cultist_0.ron index e2f6a5fbda..9464b14fb0 100644 --- a/assets/common/items/weapons/dagger/cultist_0.ron +++ b/assets/common/items/weapons/dagger/cultist_0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 0, power: 2.0, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/dagger/starter_dagger.ron b/assets/common/items/weapons/dagger/starter_dagger.ron index 014a662d82..0d5e5b4e32 100644 --- a/assets/common/items/weapons/dagger/starter_dagger.ron +++ b/assets/common/items/weapons/dagger/starter_dagger.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 1.0, - poise_power: 0.5, + poise_strength: 0.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/empty/empty.ron b/assets/common/items/weapons/empty/empty.ron index 0d112b256f..37a239cb98 100644 --- a/assets/common/items/weapons/empty/empty.ron +++ b/assets/common/items/weapons/empty/empty.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 200, power: 1.0, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/bronze_hammer-0.ron b/assets/common/items/weapons/hammer/bronze_hammer-0.ron index 0e30740740..7dd2ac408e 100644 --- a/assets/common/items/weapons/hammer/bronze_hammer-0.ron +++ b/assets/common/items/weapons/hammer/bronze_hammer-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.0, - poise_power: 0.9, + poise_strength: 0.9, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/bronze_hammer-1.ron b/assets/common/items/weapons/hammer/bronze_hammer-1.ron index f315243b5f..25d9e09855 100644 --- a/assets/common/items/weapons/hammer/bronze_hammer-1.ron +++ b/assets/common/items/weapons/hammer/bronze_hammer-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.0, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/cobalt_hammer-0.ron b/assets/common/items/weapons/hammer/cobalt_hammer-0.ron index 0d5a5977dd..3419ec5721 100644 --- a/assets/common/items/weapons/hammer/cobalt_hammer-0.ron +++ b/assets/common/items/weapons/hammer/cobalt_hammer-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.6, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/cobalt_hammer-1.ron b/assets/common/items/weapons/hammer/cobalt_hammer-1.ron index b21aa028e1..474f09cbb5 100644 --- a/assets/common/items/weapons/hammer/cobalt_hammer-1.ron +++ b/assets/common/items/weapons/hammer/cobalt_hammer-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.6, - poise_power: 1.4, + poise_strength: 1.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron b/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron index b36613319b..ddefb19926 100644 --- a/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron +++ b/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 2.0, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/flimsy_hammer.ron b/assets/common/items/weapons/hammer/flimsy_hammer.ron index 90a989a31d..a017441bee 100644 --- a/assets/common/items/weapons/hammer/flimsy_hammer.ron +++ b/assets/common/items/weapons/hammer/flimsy_hammer.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.5, - poise_power: 0.4, + poise_strength: 0.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/hammer_1.ron b/assets/common/items/weapons/hammer/hammer_1.ron index a2d39ef869..3feb1658f6 100644 --- a/assets/common/items/weapons/hammer/hammer_1.ron +++ b/assets/common/items/weapons/hammer/hammer_1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.5, - poise_power: 0.8, + poise_strength: 0.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/iron_hammer-0.ron b/assets/common/items/weapons/hammer/iron_hammer-0.ron index 42f27ab407..7f604f97ea 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-0.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 1.4, + poise_strength: 1.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/iron_hammer-1.ron b/assets/common/items/weapons/hammer/iron_hammer-1.ron index f60a093b05..9eea0766ae 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-1.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 0.9, + poise_strength: 0.9, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/iron_hammer-2.ron b/assets/common/items/weapons/hammer/iron_hammer-2.ron index 1a3ed032c3..ad792b4109 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-2.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 1.4, + poise_strength: 1.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/iron_hammer-3.ron b/assets/common/items/weapons/hammer/iron_hammer-3.ron index 0747b55316..b37c10e0eb 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-3.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-3.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/iron_hammer-4.ron b/assets/common/items/weapons/hammer/iron_hammer-4.ron index e4cde939e0..5456e732f3 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-4.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-4.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/iron_hammer-5.ron b/assets/common/items/weapons/hammer/iron_hammer-5.ron index 2d60d4e138..cb868b7417 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-5.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-5.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 0.8, + poise_strength: 0.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/iron_hammer-6.ron b/assets/common/items/weapons/hammer/iron_hammer-6.ron index e845b20f71..f1fc1e3e19 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-6.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-6.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 1.4, + poise_strength: 1.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/iron_hammer-7.ron b/assets/common/items/weapons/hammer/iron_hammer-7.ron index e76881b4f4..0bf7ef8389 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-7.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-7.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 1.1, + poise_strength: 1.1, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/iron_hammer-8.ron b/assets/common/items/weapons/hammer/iron_hammer-8.ron index 179c112b9e..93fc183829 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-8.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-8.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 0.8, + poise_strength: 0.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/mjolnir.ron b/assets/common/items/weapons/hammer/mjolnir.ron index 7fca785e53..e804e29ec9 100644 --- a/assets/common/items/weapons/hammer/mjolnir.ron +++ b/assets/common/items/weapons/hammer/mjolnir.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 4.00, - poise_power: 2.0, + poise_strength: 2.0, speed: 0.5 ), ) diff --git a/assets/common/items/weapons/hammer/ramshead_hammer.ron b/assets/common/items/weapons/hammer/ramshead_hammer.ron index 5f6e84864f..1221aa1432 100644 --- a/assets/common/items/weapons/hammer/ramshead_hammer.ron +++ b/assets/common/items/weapons/hammer/ramshead_hammer.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.8, - poise_power: 1.7, + poise_strength: 1.7, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/runic_hammer.ron b/assets/common/items/weapons/hammer/runic_hammer.ron index 7588304f76..0f39b2b3c5 100644 --- a/assets/common/items/weapons/hammer/runic_hammer.ron +++ b/assets/common/items/weapons/hammer/runic_hammer.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.8, - poise_power: 1.8, + poise_strength: 1.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/starter_hammer.ron b/assets/common/items/weapons/hammer/starter_hammer.ron index 1375f15c4e..79503805d8 100644 --- a/assets/common/items/weapons/hammer/starter_hammer.ron +++ b/assets/common/items/weapons/hammer/starter_hammer.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.5, - poise_power: 0.9, + poise_strength: 0.9, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/steel_hammer-0.ron b/assets/common/items/weapons/hammer/steel_hammer-0.ron index 9686bed811..1e9d715a34 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-0.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.4, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/steel_hammer-1.ron b/assets/common/items/weapons/hammer/steel_hammer-1.ron index 82850ad26e..14f1d494b8 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-1.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.4, - poise_power: 1.3, + poise_strength: 1.3, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/steel_hammer-2.ron b/assets/common/items/weapons/hammer/steel_hammer-2.ron index 254ae2744f..ad546e4b2b 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-2.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.4, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/steel_hammer-3.ron b/assets/common/items/weapons/hammer/steel_hammer-3.ron index 10bf020eb2..e74106526a 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-3.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-3.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.4, - poise_power: 1.7, + poise_strength: 1.7, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/steel_hammer-4.ron b/assets/common/items/weapons/hammer/steel_hammer-4.ron index 9c663dfad3..7c256f30cd 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-4.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-4.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.4, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/steel_hammer-5.ron b/assets/common/items/weapons/hammer/steel_hammer-5.ron index feb3228b4e..5c266923e1 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-5.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-5.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.4, - poise_power: 1.3, + poise_strength: 1.3, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/stone_hammer-0.ron b/assets/common/items/weapons/hammer/stone_hammer-0.ron index 05f38ea784..fa90c09493 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-0.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.7, - poise_power: 1.7, + poise_strength: 1.7, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/stone_hammer-1.ron b/assets/common/items/weapons/hammer/stone_hammer-1.ron index 7696620b09..9ed2ae8378 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-1.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.7, - poise_power: 1.8, + poise_strength: 1.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/stone_hammer-2.ron b/assets/common/items/weapons/hammer/stone_hammer-2.ron index 1176122e6d..864830660e 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-2.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.7, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/stone_hammer-3.ron b/assets/common/items/weapons/hammer/stone_hammer-3.ron index 5c62290343..278b23666b 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-3.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-3.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.7, - poise_power: 1.8, + poise_strength: 1.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/wood_hammer-0.ron b/assets/common/items/weapons/hammer/wood_hammer-0.ron index a9fb264fe5..ba56f59df6 100644 --- a/assets/common/items/weapons/hammer/wood_hammer-0.ron +++ b/assets/common/items/weapons/hammer/wood_hammer-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.6, - poise_power: 0.8, + poise_strength: 0.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron index 160f321965..eaf971771c 100644 --- a/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron +++ b/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.85, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron index 208f87087f..edb7855aa6 100644 --- a/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron +++ b/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.85, - poise_power: 0.6, + poise_strength: 0.6, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron index 850eaf4109..c88709a11e 100644 --- a/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron +++ b/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.85, - poise_power: 0.7, + poise_strength: 0.7, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron index 15d8cb2a82..0cdfc9eb9c 100644 --- a/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron +++ b/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.85, - poise_power: 1.1, + poise_strength: 1.1, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sceptre/fork0.ron b/assets/common/items/weapons/sceptre/fork0.ron index cb0a9d1bda..01f5966b79 100644 --- a/assets/common/items/weapons/sceptre/fork0.ron +++ b/assets/common/items/weapons/sceptre/fork0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 2.0, - poise_power: 1.5, + poise_strength: 1.5, speed: 0.8 ), ) diff --git a/assets/common/items/weapons/sceptre/loops0.ron b/assets/common/items/weapons/sceptre/loops0.ron index b7833f4bc9..fb58f390b7 100644 --- a/assets/common/items/weapons/sceptre/loops0.ron +++ b/assets/common/items/weapons/sceptre/loops0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.5 ), ) diff --git a/assets/common/items/weapons/sceptre/moon0.ron b/assets/common/items/weapons/sceptre/moon0.ron index d2eea6caa9..84691f2592 100644 --- a/assets/common/items/weapons/sceptre/moon0.ron +++ b/assets/common/items/weapons/sceptre/moon0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.6, - poise_power: 1.5, + poise_strength: 1.5, speed: 0.5 ), ) diff --git a/assets/common/items/weapons/sceptre/root_evil.ron b/assets/common/items/weapons/sceptre/root_evil.ron index b51adfc7c1..1e6f0c870c 100644 --- a/assets/common/items/weapons/sceptre/root_evil.ron +++ b/assets/common/items/weapons/sceptre/root_evil.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 4.0, - poise_power: 1.5, + poise_strength: 1.5, speed: 0.5 ), ) diff --git a/assets/common/items/weapons/sceptre/root_green0.ron b/assets/common/items/weapons/sceptre/root_green0.ron index a5d5d55662..ba7f2682ef 100644 --- a/assets/common/items/weapons/sceptre/root_green0.ron +++ b/assets/common/items/weapons/sceptre/root_green0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 3.5, - poise_power: 1.5, + poise_strength: 1.5, speed: 0.4 ), ) diff --git a/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron b/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron index 15feee2143..c0fbe93799 100644 --- a/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron +++ b/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.2, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.6 ), ) diff --git a/assets/common/items/weapons/sceptre/staff_nature.ron b/assets/common/items/weapons/sceptre/staff_nature.ron index 06d2eb9231..272c634c77 100644 --- a/assets/common/items/weapons/sceptre/staff_nature.ron +++ b/assets/common/items/weapons/sceptre/staff_nature.ron @@ -7,7 +7,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.91, - poise_power: 0.5, + poise_strength: 0.5, speed: 1.1 ), ) diff --git a/assets/common/items/weapons/sceptre/starter_sceptre.ron b/assets/common/items/weapons/sceptre/starter_sceptre.ron index e5a5746a87..d5aa4cb20a 100644 --- a/assets/common/items/weapons/sceptre/starter_sceptre.ron +++ b/assets/common/items/weapons/sceptre/starter_sceptre.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.5, - poise_power: 0.1, + poise_strength: 0.1, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sceptre/totem_green.ron b/assets/common/items/weapons/sceptre/totem_green.ron index 4a500e5b8a..13e47c89a0 100644 --- a/assets/common/items/weapons/sceptre/totem_green.ron +++ b/assets/common/items/weapons/sceptre/totem_green.ron @@ -8,7 +8,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.2 ), ) diff --git a/assets/common/items/weapons/shield/shield_1.ron b/assets/common/items/weapons/shield/shield_1.ron index 01cc61de72..61f121c8e7 100644 --- a/assets/common/items/weapons/shield/shield_1.ron +++ b/assets/common/items/weapons/shield/shield_1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/staff/amethyst_staff.ron b/assets/common/items/weapons/staff/amethyst_staff.ron index 9177643c11..df3a736a06 100644 --- a/assets/common/items/weapons/staff/amethyst_staff.ron +++ b/assets/common/items/weapons/staff/amethyst_staff.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 1.5, - poise_power: 1.4, + poise_strength: 1.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/staff/bone_staff.ron b/assets/common/items/weapons/staff/bone_staff.ron index 68b29f22c6..b00ddc9cd7 100644 --- a/assets/common/items/weapons/staff/bone_staff.ron +++ b/assets/common/items/weapons/staff/bone_staff.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 1.0, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/staff/cultist_staff.ron b/assets/common/items/weapons/staff/cultist_staff.ron index fe36c9b102..ae920eb5d4 100644 --- a/assets/common/items/weapons/staff/cultist_staff.ron +++ b/assets/common/items/weapons/staff/cultist_staff.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 2.0, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/staff/staff_1.ron b/assets/common/items/weapons/staff/staff_1.ron index 78eb3c8aa0..ff0595149b 100644 --- a/assets/common/items/weapons/staff/staff_1.ron +++ b/assets/common/items/weapons/staff/staff_1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 200, power: 0.5, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/staff/starter_staff.ron b/assets/common/items/weapons/staff/starter_staff.ron index 72cad3ab85..14fd07cb19 100644 --- a/assets/common/items/weapons/staff/starter_staff.ron +++ b/assets/common/items/weapons/staff/starter_staff.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 0.5, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/cultist_purp_2h-0.ron b/assets/common/items/weapons/sword/cultist_purp_2h-0.ron index 71f1240b2c..07916b5796 100644 --- a/assets/common/items/weapons/sword/cultist_purp_2h-0.ron +++ b/assets/common/items/weapons/sword/cultist_purp_2h-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 2.0, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron b/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron index 0a8ce45097..5a88577d08 100644 --- a/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron +++ b/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.7, - poise_power: 2.0, + poise_strength: 2.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron b/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron index 93579a5068..d302f22a36 100644 --- a/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron +++ b/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.95, - poise_power: 1.7, + poise_strength: 1.7, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron b/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron index 8589b7eff6..33c87429d8 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.8, - poise_power: 1.1, + poise_strength: 1.1, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron b/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron index 3106e40447..9aad290dcd 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.8, - poise_power: 0.5, + poise_strength: 0.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron b/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron index 9297ea3096..40c3ea0b9e 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.8, - poise_power: 0.9, + poise_strength: 0.9, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron b/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron index d4804da49f..98b0428536 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.4, - poise_power: 1.6, + poise_strength: 1.6, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron b/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron index c366a94d30..979f084c99 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.4, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron b/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron index 4d52a14d28..cbdcd15d30 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.4, - poise_power: 1.7, + poise_strength: 1.7, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron b/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron index 2972003cf4..b32630a1df 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.7, - poise_power: 1.4, + poise_strength: 1.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron b/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron index 2972003cf4..b32630a1df 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.7, - poise_power: 1.4, + poise_strength: 1.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron b/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron index c32b76b1a1..0dd78ad302 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.7, - poise_power: 1.1, + poise_strength: 1.1, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron b/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron index a4105979d2..6a969da4ba 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.1, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron b/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron index a4105979d2..6a969da4ba 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.1, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron b/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron index 81f846d6b3..c48f58f04e 100644 --- a/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron +++ b/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.1, - poise_power: 1.4, + poise_strength: 1.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_dam-0.ron b/assets/common/items/weapons/sword/long_2h_dam-0.ron index 17efaa501a..b4a8b1ff23 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-0.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.6, - poise_power: 0.5, + poise_strength: 0.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_dam-1.ron b/assets/common/items/weapons/sword/long_2h_dam-1.ron index 17efaa501a..b4a8b1ff23 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-1.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.6, - poise_power: 0.5, + poise_strength: 0.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_dam-2.ron b/assets/common/items/weapons/sword/long_2h_dam-2.ron index 17efaa501a..b4a8b1ff23 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-2.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.6, - poise_power: 0.5, + poise_strength: 0.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_dam-3.ron b/assets/common/items/weapons/sword/long_2h_dam-3.ron index 17efaa501a..b4a8b1ff23 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-3.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-3.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.6, - poise_power: 0.5, + poise_strength: 0.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_dam-4.ron b/assets/common/items/weapons/sword/long_2h_dam-4.ron index 17efaa501a..b4a8b1ff23 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-4.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-4.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.6, - poise_power: 0.5, + poise_strength: 0.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_dam-5.ron b/assets/common/items/weapons/sword/long_2h_dam-5.ron index 17efaa501a..b4a8b1ff23 100644 --- a/assets/common/items/weapons/sword/long_2h_dam-5.ron +++ b/assets/common/items/weapons/sword/long_2h_dam-5.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.6, - poise_power: 0.5, + poise_strength: 0.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_fine-0.ron b/assets/common/items/weapons/sword/long_2h_fine-0.ron index ab5f57c316..6cb5ea99aa 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-0.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 1.3, + poise_strength: 1.3, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_fine-1.ron b/assets/common/items/weapons/sword/long_2h_fine-1.ron index ab5f57c316..6cb5ea99aa 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-1.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 1.3, + poise_strength: 1.3, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_fine-2.ron b/assets/common/items/weapons/sword/long_2h_fine-2.ron index ab5f57c316..6cb5ea99aa 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-2.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 1.3, + poise_strength: 1.3, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_fine-3.ron b/assets/common/items/weapons/sword/long_2h_fine-3.ron index 2c1e3366ed..c2401af32c 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-3.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-3.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 1.1, + poise_strength: 1.1, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_fine-4.ron b/assets/common/items/weapons/sword/long_2h_fine-4.ron index ab5f57c316..6cb5ea99aa 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-4.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-4.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 1.3, + poise_strength: 1.3, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_fine-5.ron b/assets/common/items/weapons/sword/long_2h_fine-5.ron index 672fd73786..ecff96d7ec 100644 --- a/assets/common/items/weapons/sword/long_2h_fine-5.ron +++ b/assets/common/items/weapons/sword/long_2h_fine-5.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.2, - poise_power: 1.4, + poise_strength: 1.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_orn-0.ron b/assets/common/items/weapons/sword/long_2h_orn-0.ron index e0b710ae28..f68c56066c 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-0.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.5, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_orn-1.ron b/assets/common/items/weapons/sword/long_2h_orn-1.ron index 0e7d6752b2..31092a3c1a 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-1.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.5, - poise_power: 1.1, + poise_strength: 1.1, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_orn-2.ron b/assets/common/items/weapons/sword/long_2h_orn-2.ron index e0b710ae28..f68c56066c 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-2.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.5, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_orn-3.ron b/assets/common/items/weapons/sword/long_2h_orn-3.ron index e0b710ae28..f68c56066c 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-3.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-3.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.5, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_orn-4.ron b/assets/common/items/weapons/sword/long_2h_orn-4.ron index 0e7d6752b2..31092a3c1a 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-4.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-4.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.5, - poise_power: 1.1, + poise_strength: 1.1, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_orn-5.ron b/assets/common/items/weapons/sword/long_2h_orn-5.ron index 0e7d6752b2..31092a3c1a 100644 --- a/assets/common/items/weapons/sword/long_2h_orn-5.ron +++ b/assets/common/items/weapons/sword/long_2h_orn-5.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.5, - poise_power: 1.1, + poise_strength: 1.1, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_simple-0.ron b/assets/common/items/weapons/sword/long_2h_simple-0.ron index 015047d47b..e28f2f652f 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-0.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.9, - poise_power: 0.8, + poise_strength: 0.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_simple-1.ron b/assets/common/items/weapons/sword/long_2h_simple-1.ron index 015047d47b..e28f2f652f 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-1.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.9, - poise_power: 0.8, + poise_strength: 0.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_simple-2.ron b/assets/common/items/weapons/sword/long_2h_simple-2.ron index a5ed1a9865..d401f19c57 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-2.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-2.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.9, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_simple-3.ron b/assets/common/items/weapons/sword/long_2h_simple-3.ron index 015047d47b..e28f2f652f 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-3.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-3.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.9, - poise_power: 0.8, + poise_strength: 0.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_simple-4.ron b/assets/common/items/weapons/sword/long_2h_simple-4.ron index 015047d47b..e28f2f652f 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-4.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-4.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.9, - poise_power: 0.8, + poise_strength: 0.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/long_2h_simple-5.ron b/assets/common/items/weapons/sword/long_2h_simple-5.ron index 015047d47b..e28f2f652f 100644 --- a/assets/common/items/weapons/sword/long_2h_simple-5.ron +++ b/assets/common/items/weapons/sword/long_2h_simple-5.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 0.9, - poise_power: 0.8, + poise_strength: 0.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/short_sword_0.ron b/assets/common/items/weapons/sword/short_sword_0.ron index 6ded410a1a..07c49cfb03 100644 --- a/assets/common/items/weapons/sword/short_sword_0.ron +++ b/assets/common/items/weapons/sword/short_sword_0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.75, - poise_power: 0.8, + poise_strength: 0.8, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/starter_sword.ron b/assets/common/items/weapons/sword/starter_sword.ron index 15a50a2250..92821d4282 100644 --- a/assets/common/items/weapons/sword/starter_sword.ron +++ b/assets/common/items/weapons/sword/starter_sword.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 300, power: 0.5, - poise_power: 0.4, + poise_strength: 0.4, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/wood_sword.ron b/assets/common/items/weapons/sword/wood_sword.ron index d0c2fd45ac..0276b6db2f 100644 --- a/assets/common/items/weapons/sword/wood_sword.ron +++ b/assets/common/items/weapons/sword/wood_sword.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 0.8, - poise_power: 0.5, + poise_strength: 0.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/sword/zweihander_sword_0.ron b/assets/common/items/weapons/sword/zweihander_sword_0.ron index ec38a2bde8..2fdc971e04 100644 --- a/assets/common/items/weapons/sword/zweihander_sword_0.ron +++ b/assets/common/items/weapons/sword/zweihander_sword_0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.5, - poise_power: 1.9, + poise_strength: 1.9, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/tool/broom.ron b/assets/common/items/weapons/tool/broom.ron index 4413ceada4..9df66924e5 100644 --- a/assets/common/items/weapons/tool/broom.ron +++ b/assets/common/items/weapons/tool/broom.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/tool/fishing_rod.ron b/assets/common/items/weapons/tool/fishing_rod.ron index 5d94f428b0..04cae8452d 100644 --- a/assets/common/items/weapons/tool/fishing_rod.ron +++ b/assets/common/items/weapons/tool/fishing_rod.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/tool/hoe.ron b/assets/common/items/weapons/tool/hoe.ron index 2302db2985..9c1d696ccd 100644 --- a/assets/common/items/weapons/tool/hoe.ron +++ b/assets/common/items/weapons/tool/hoe.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 1.5, + poise_strength: 1.5, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/tool/pickaxe.ron b/assets/common/items/weapons/tool/pickaxe.ron index 0fe6acf376..29ae61ff57 100644 --- a/assets/common/items/weapons/tool/pickaxe.ron +++ b/assets/common/items/weapons/tool/pickaxe.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/tool/pitchfork.ron b/assets/common/items/weapons/tool/pitchfork.ron index 363621ae66..f6ae281e95 100644 --- a/assets/common/items/weapons/tool/pitchfork.ron +++ b/assets/common/items/weapons/tool/pitchfork.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 4.0, + poise_strength: 4.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/tool/rake.ron b/assets/common/items/weapons/tool/rake.ron index 6d9bf69c19..c3b9958510 100644 --- a/assets/common/items/weapons/tool/rake.ron +++ b/assets/common/items/weapons/tool/rake.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 1.0, + poise_strength: 1.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/tool/shovel-0.ron b/assets/common/items/weapons/tool/shovel-0.ron index b056a5d61c..488733a6e6 100644 --- a/assets/common/items/weapons/tool/shovel-0.ron +++ b/assets/common/items/weapons/tool/shovel-0.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 2.0, + poise_strength: 2.0, speed: 1.0, ), )), diff --git a/assets/common/items/weapons/tool/shovel-1.ron b/assets/common/items/weapons/tool/shovel-1.ron index f030f2a216..2c862e20e0 100644 --- a/assets/common/items/weapons/tool/shovel-1.ron +++ b/assets/common/items/weapons/tool/shovel-1.ron @@ -6,7 +6,7 @@ ItemDef( stats: ( equip_time_millis: 400, power: 1.0, - poise_power: 2.0, + poise_strength: 2.0, speed: 1.0, ), )), diff --git a/common/src/bin/csv_export/main.rs b/common/src/bin/csv_export/main.rs index 1c98b9bdc1..5025ee2811 100644 --- a/common/src/bin/csv_export/main.rs +++ b/common/src/bin/csv_export/main.rs @@ -24,7 +24,7 @@ fn armor_stats() -> Result<(), Box> { "Name", "Quality", "Protection", - "Poise Protection", + "Poise Resilience", "Description", ])?; @@ -34,7 +34,7 @@ fn armor_stats() -> Result<(), Box> { match item.kind() { comp::item::ItemKind::Armor(armor) => { let kind = get_armor_kind(&armor.kind); - if kind == "Bag".to_string() { + if kind == "Bag" { continue; } @@ -42,7 +42,7 @@ fn armor_stats() -> Result<(), Box> { Protection::Invincible => "Invincible".to_string(), Protection::Normal(value) => value.to_string(), }; - let poise_protection = match armor.get_poise_protection() { + let poise_resilience = match armor.get_poise_resilience() { Protection::Invincible => "Invincible".to_string(), Protection::Normal(value) => value.to_string(), }; @@ -53,7 +53,7 @@ fn armor_stats() -> Result<(), Box> { item.name(), &format!("{:?}", item.quality()), &protection, - &poise_protection, + &poise_resilience, item.description(), ])?; }, @@ -73,7 +73,7 @@ fn weapon_stats() -> Result<(), Box> { "Name", "Quality", "Power", - "Poise Power", + "Poise Strength", "Speed", "Equip Time (ms)", "Description", @@ -85,7 +85,7 @@ fn weapon_stats() -> Result<(), Box> { match item.kind() { comp::item::ItemKind::Tool(tool) => { let power = tool.base_power().to_string(); - let poise_power = tool.base_poise_power().to_string(); + let poise_strength = tool.base_poise_strength().to_string(); let speed = tool.base_speed().to_string(); let equip_time = tool.equip_time().subsec_millis().to_string(); let kind = get_tool_kind(&tool.kind); @@ -96,7 +96,7 @@ fn weapon_stats() -> Result<(), Box> { item.name(), &format!("{:?}", item.quality()), &power, - &poise_power, + &poise_strength, &speed, &equip_time, item.description(), diff --git a/common/src/bin/csv_import/main.rs b/common/src/bin/csv_import/main.rs index b65fd882b7..c3f2f3707b 100644 --- a/common/src/bin/csv_import/main.rs +++ b/common/src/bin/csv_import/main.rs @@ -70,12 +70,12 @@ fn armor_stats() -> Result<(), Box> { Protection::Normal(0.0) }; - let poise_protection = if let Some(poise_protection_raw) = record.get(5) + let poise_resilience = if let Some(poise_resilience_raw) = record.get(5) { - if poise_protection_raw == "Invincible" { + if poise_resilience_raw == "Invincible" { Protection::Invincible } else { - let value: f32 = poise_protection_raw.parse().unwrap(); + let value: f32 = poise_resilience_raw.parse().unwrap(); Protection::Normal(value) } } else { @@ -88,7 +88,7 @@ fn armor_stats() -> Result<(), Box> { let kind = armor.kind.clone(); let armor = - comp::item::armor::Armor::new(kind, protection, poise_protection); + comp::item::armor::Armor::new(kind, protection, poise_resilience); let quality = if let Some(quality_raw) = record.get(3) { match quality_raw { "Low" => comp::item::Quality::Low, @@ -186,7 +186,7 @@ fn weapon_stats() -> Result<(), Box> { )) .parse() .expect(&format!("Not a f32? {:?}", item.item_definition_id())); - let poise_power: f32 = record + let poise_strength: f32 = record .get(5) .expect(&format!( "Error unwrapping poise power for {:?}", @@ -208,7 +208,7 @@ fn weapon_stats() -> Result<(), Box> { kind, equip_time_millis, power, - poise_power, + poise_strength, speed, ); diff --git a/common/src/comp/ability.rs b/common/src/comp/ability.rs index f1ace67cf8..8dea5f3373 100644 --- a/common/src/comp/ability.rs +++ b/common/src/comp/ability.rs @@ -184,8 +184,6 @@ pub enum CharacterAbility { energy_drain: u32, initial_damage: u32, scaled_damage: u32, - initial_poise_damage: u32, - scaled_poise_damage: u32, initial_knockback: f32, scaled_knockback: f32, speed: f32, @@ -324,7 +322,7 @@ impl CharacterAbility { } } - pub fn adjusted_by_stats(mut self, power: f32, poise_power: f32, speed: f32) -> Self { + pub fn adjusted_by_stats(mut self, power: f32, poise_strength: f32, speed: f32) -> Self { use CharacterAbility::*; match self { BasicMelee { @@ -339,7 +337,7 @@ impl CharacterAbility { *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; *base_damage = (*base_damage as f32 * power) as u32; - *base_poise_damage = (*base_poise_damage as f32 * poise_power) as u32; + *base_poise_damage = (*base_poise_damage as f32 * poise_strength) as u32; }, BasicRanged { ref mut buildup_duration, @@ -383,8 +381,8 @@ impl CharacterAbility { } => { *base_damage = (*base_damage as f32 * power) as u32; *scaled_damage = (*scaled_damage as f32 * power) as u32; - *base_poise_damage = (*base_damage as f32 * poise_power) as u32; - *scaled_poise_damage = (*scaled_poise_damage as f32 * poise_power) as u32; + *base_poise_damage = (*base_damage as f32 * poise_strength) as u32; + *scaled_poise_damage = (*scaled_poise_damage as f32 * poise_strength) as u32; *buildup_duration = (*buildup_duration as f32 / speed) as u64; *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; @@ -405,7 +403,7 @@ impl CharacterAbility { } => { *stage_data = stage_data .iter_mut() - .map(|s| s.adjusted_by_stats(power, poise_power, speed)) + .map(|s| s.adjusted_by_stats(power, poise_strength, speed)) .collect(); }, LeapMelee { @@ -422,7 +420,7 @@ impl CharacterAbility { *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; *base_damage = (*base_damage as f32 * power) as u32; - *base_poise_damage = (*base_poise_damage as f32 * poise_power) as u32; + *base_poise_damage = (*base_poise_damage as f32 * poise_strength) as u32; }, SpinMelee { ref mut buildup_duration, @@ -436,7 +434,7 @@ impl CharacterAbility { *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; *base_damage = (*base_damage as f32 * power) as u32; - *base_poise_damage = (*base_poise_damage as f32 * poise_power) as u32; + *base_poise_damage = (*base_poise_damage as f32 * poise_strength) as u32; }, ChargedMelee { ref mut initial_damage, @@ -451,8 +449,8 @@ impl CharacterAbility { } => { *initial_damage = (*initial_damage as f32 * power) as u32; *scaled_damage = (*scaled_damage as f32 * power) as u32; - *initial_poise_damage = (*initial_poise_damage as f32 * poise_power) as u32; - *scaled_poise_damage = (*scaled_poise_damage as f32 * poise_power) as u32; + *initial_poise_damage = (*initial_poise_damage as f32 * poise_strength) as u32; + *scaled_poise_damage = (*scaled_poise_damage as f32 * poise_strength) as u32; *ability_speed *= speed; *charge_duration = (*charge_duration as f32 / speed) as u64; *swing_duration = (*swing_duration as f32 / speed) as u64; @@ -473,7 +471,6 @@ impl CharacterAbility { *buildup_duration = (*buildup_duration as f32 / speed) as u64; *charge_duration = (*charge_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; - // TODO do projectile poise }, Shockwave { ref mut buildup_duration, @@ -487,7 +484,7 @@ impl CharacterAbility { *swing_duration = (*swing_duration as f32 / speed) as u64; *recover_duration = (*recover_duration as f32 / speed) as u64; *damage = (*damage as f32 * power) as u32; - *poise_damage = (*poise_damage as f32 * poise_power) as u32; + *poise_damage = (*poise_damage as f32 * poise_strength) as u32; }, BasicBeam { ref mut buildup_duration, @@ -1364,8 +1361,6 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { energy_drain, initial_damage, scaled_damage, - initial_poise_damage, - scaled_poise_damage, initial_knockback, scaled_knockback, speed, @@ -1386,8 +1381,6 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { energy_drain: *energy_drain, initial_damage: *initial_damage, scaled_damage: *scaled_damage, - initial_poise_damage: *initial_poise_damage, - scaled_poise_damage: *scaled_poise_damage, speed: *speed, initial_knockback: *initial_knockback, scaled_knockback: *scaled_knockback, diff --git a/common/src/comp/beam.rs b/common/src/comp/beam.rs index a9cce8b74d..7aafcedffd 100644 --- a/common/src/comp/beam.rs +++ b/common/src/comp/beam.rs @@ -1,4 +1,4 @@ -use crate::{comp::PoiseChange, uid::Uid, Damage, GroupTarget}; +use crate::{uid::Uid, Damage, GroupTarget}; use serde::{Deserialize, Serialize}; use specs::{Component, DerefFlaggedStorage}; use specs_idvs::IdvStorage; @@ -8,7 +8,7 @@ use std::time::Duration; pub struct Properties { pub angle: f32, pub speed: f32, - pub effects: Vec<(Option, Damage, PoiseChange)>, + pub damages: Vec<(Option, Damage)>, pub lifesteal_eff: f32, pub energy_regen: u32, pub energy_cost: u32, diff --git a/common/src/comp/character_state.rs b/common/src/comp/character_state.rs index f8cd0fd244..66fad330a1 100644 --- a/common/src/comp/character_state.rs +++ b/common/src/comp/character_state.rs @@ -46,8 +46,6 @@ pub enum CharacterState { GlideWield, /// A stunned state Stunned(stunned::Data), - /// A stagger state similar to a stun but knocked to the ground - Staggered(staggered::Data), /// A basic blocking state BasicBlock, /// Player is busy equipping or unequipping weapons @@ -140,7 +138,6 @@ impl CharacterState { | CharacterState::Shockwave(_) | CharacterState::BasicBeam(_) | CharacterState::Stunned(_) - | CharacterState::Staggered(_) | CharacterState::Wielding ) } @@ -153,12 +150,7 @@ impl CharacterState { matches!(self, CharacterState::Roll(d) if d.static_data.immune_melee) } - pub fn is_stunned(&self) -> bool { - matches!( - self, - CharacterState::Stunned(_) | CharacterState::Staggered(_) - ) - } + pub fn is_stunned(&self) -> bool { matches!(self, CharacterState::Stunned(_)) } /// Compares for shallow equality (does not check internal struct equality) pub fn same_variant(&self, other: &Self) -> bool { diff --git a/common/src/comp/inventory/item/armor.rs b/common/src/comp/inventory/item/armor.rs index e8882ef5a5..d19e129ee2 100644 --- a/common/src/comp/inventory/item/armor.rs +++ b/common/src/comp/inventory/item/armor.rs @@ -28,14 +28,16 @@ impl Armor { #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] pub struct Stats { protection: Protection, - poise_protection: Protection, + poise_resilience: Protection, } impl Stats { - pub fn new(protection: Protection, poise_protection: Protection) -> Self { + // DO NOT USE UNLESS YOU KNOW WHAT YOU ARE DOING + // Added for csv import of stats + pub fn new(protection: Protection, poise_resilience: Protection) -> Self { Self { protection, - poise_protection, + poise_resilience, } } } @@ -53,31 +55,31 @@ pub struct Armor { } impl Armor { - pub fn new(kind: ArmorKind, protection: Protection, poise_protection: Protection) -> Self { + pub fn new(kind: ArmorKind, protection: Protection, poise_resilience: Protection) -> Self { Self { kind, stats: Stats { protection, - poise_protection, + poise_resilience, }, } } pub fn get_protection(&self) -> Protection { self.stats.protection } - pub fn get_poise_protection(&self) -> Protection { self.stats.poise_protection } + pub fn get_poise_resilience(&self) -> Protection { self.stats.poise_resilience } #[cfg(test)] pub fn test_armor( kind: ArmorKind, protection: Protection, - poise_protection: Protection, + poise_resilience: Protection, ) -> Armor { Armor { kind, stats: Stats { protection, - poise_protection, + poise_resilience, }, } } diff --git a/common/src/comp/inventory/item/tool.rs b/common/src/comp/inventory/item/tool.rs index 55f0b277aa..1a9512b454 100644 --- a/common/src/comp/inventory/item/tool.rs +++ b/common/src/comp/inventory/item/tool.rs @@ -55,7 +55,7 @@ pub enum Hands { pub struct Stats { equip_time_millis: u32, power: f32, - poise_power: f32, + poise_strength: f32, speed: f32, } @@ -67,11 +67,13 @@ pub struct Tool { } impl Tool { + // DO NOT USE UNLESS YOU KNOW WHAT YOU ARE DOING + // Added for CSV import of stats pub fn new( kind: ToolKind, equip_time_millis: u32, power: f32, - poise_power: f32, + poise_strength: f32, speed: f32, ) -> Self { Self { @@ -79,7 +81,7 @@ impl Tool { stats: Stats { equip_time_millis, power, - poise_power, + poise_strength, speed, }, } @@ -91,7 +93,7 @@ impl Tool { stats: Stats { equip_time_millis: 0, power: 1.00, - poise_power: 1.00, + poise_strength: 1.00, speed: 1.00, }, } @@ -100,7 +102,7 @@ impl Tool { // Keep power between 0.5 and 2.00 pub fn base_power(&self) -> f32 { self.stats.power } - pub fn base_poise_power(&self) -> f32 { self.stats.poise_power } + pub fn base_poise_strength(&self) -> f32 { self.stats.poise_strength } pub fn base_speed(&self) -> f32 { self.stats.speed } @@ -133,7 +135,7 @@ impl AbilitySet { self.map(|a| { a.adjusted_by_stats( tool.base_power(), - tool.base_poise_power(), + tool.base_poise_strength(), tool.base_speed(), ) }) diff --git a/common/src/comp/inventory/loadout_builder.rs b/common/src/comp/inventory/loadout_builder.rs index 11c7bc7b74..7ea301dd78 100644 --- a/common/src/comp/inventory/loadout_builder.rs +++ b/common/src/comp/inventory/loadout_builder.rs @@ -51,10 +51,10 @@ impl LoadoutBuilder { /// updates, but should be safe defaults for a new character. pub fn defaults(self) -> Self { self.chest(Some(Item::new_from_asset_expect( - "common.items.armor.chest.rugged_chest", + "common.items.armor.chest.rugged", ))) .pants(Some(Item::new_from_asset_expect( - "common.items.armor.pants.rugged_pants", + "common.items.armor.pants.rugged", ))) .feet(Some(Item::new_from_asset_expect( "common.items.armor.foot.sandals_0", diff --git a/common/src/comp/poise.rs b/common/src/comp/poise.rs index fe513c4210..3641dba5f8 100644 --- a/common/src/comp/poise.rs +++ b/common/src/comp/poise.rs @@ -3,7 +3,7 @@ use crate::comp::{ Body, Inventory, }; use serde::{Deserialize, Serialize}; -use specs::{Component, FlaggedStorage}; +use specs::{Component, DerefFlaggedStorage}; use specs_idvs::IdvStorage; use vek::*; @@ -21,55 +21,14 @@ pub struct PoiseChange { impl PoiseChange { /// Alters poise damage as a result of armor poise damage reduction pub fn modify_poise_damage(self, inventory: Option<&Inventory>) -> PoiseChange { - let mut poise_damage = self.amount as f32; let poise_damage_reduction = inventory.map_or(0.0, |inv| Poise::compute_poise_damage_reduction(inv)); - match self.source { - PoiseSource::Melee => { - // Armor - poise_damage *= 1.0 - poise_damage_reduction; - PoiseChange { - amount: poise_damage as i32, - source: PoiseSource::Melee, - } - }, - PoiseSource::Projectile => { - // Armor - poise_damage *= 1.0 - poise_damage_reduction; - PoiseChange { - amount: poise_damage as i32, - source: PoiseSource::Projectile, - } - }, - PoiseSource::Shockwave => { - // Armor - poise_damage *= 1.0 - poise_damage_reduction; - PoiseChange { - amount: poise_damage as i32, - source: PoiseSource::Shockwave, - } - }, - PoiseSource::Explosion => { - // Armor - poise_damage *= 1.0 - poise_damage_reduction; - PoiseChange { - amount: poise_damage as i32, - source: PoiseSource::Explosion, - } - }, - PoiseSource::Falling => { - if (poise_damage_reduction - 1.0).abs() < f32::EPSILON { - poise_damage = 0.0; - } - PoiseChange { - amount: poise_damage as i32, - source: PoiseSource::Falling, - } - }, - _ => PoiseChange { - amount: self.amount, - source: PoiseSource::Other, - }, + let poise_damage = self.amount as f32 * (1.0 - poise_damage_reduction); + // Add match on poise source when different calculations per source + // are needed/wanted + PoiseChange { + amount: poise_damage as i32, + source: self.source, } } } @@ -78,11 +37,8 @@ impl PoiseChange { #[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize, Deserialize)] pub enum PoiseSource { LevelUp, - Melee, - Projectile, + Attack, Explosion, - Beam, - Shockwave, Falling, Revive, Regen, @@ -98,10 +54,9 @@ pub struct Poise { current: u32, /// Maximum poise of entity at a given time maximum: u32, - /// Knockback direction of last change, for use as an effect in sys/stats.rs - knockback: Vec3, - /// Last poise change, storing time since last change - pub last_change: (f64, PoiseChange), + /// Last poise change, storing time since last change, the change itself, + /// and the knockback direction vector + pub last_change: (f64, PoiseChange, Vec3), /// Rate of poise regeneration per tick. Starts at zero and accelerates. pub regen_rate: f32, } @@ -112,18 +67,21 @@ impl Default for Poise { current: 0, maximum: 0, base_max: 0, - knockback: Vec3::zero(), - last_change: (0.0, PoiseChange { - amount: 0, - source: PoiseSource::Revive, - }), + last_change: ( + 0.0, + PoiseChange { + amount: 0, + source: PoiseSource::Revive, + }, + Vec3::zero(), + ), regen_rate: 0.0, } } } /// States to define effects of a poise change -#[derive(Clone, Copy, Debug, Serialize, Deserialize)] +#[derive(Clone, Copy, PartialEq, Debug, Serialize, Deserialize)] pub enum PoiseState { /// No effect applied Normal, @@ -149,7 +107,7 @@ impl Poise { } /// Returns knockback as a Vec3 - pub fn knockback(&self) -> Vec3 { self.knockback } + pub fn knockback(&self) -> Vec3 { self.last_change.2 } /// Defines the poise states based on fraction of maximum poise pub fn poise_state(&self) -> PoiseState { @@ -179,21 +137,28 @@ impl Poise { /// at the maximum. In most cases change_by() should be used. pub fn set_to(&mut self, amount: u32, cause: PoiseSource) { let amount = amount.min(self.maximum); - self.last_change = (0.0, PoiseChange { - amount: amount as i32 - self.current as i32, - source: cause, - }); + self.last_change = ( + 0.0, + PoiseChange { + amount: amount as i32 - self.current as i32, + source: cause, + }, + Vec3::zero(), + ); self.current = amount; } /// Changes the current poise due to an in-game effect. pub fn change_by(&mut self, change: PoiseChange, impulse: Vec3) { self.current = ((self.current as i32 + change.amount).max(0) as u32).min(self.maximum); - self.knockback = impulse; - self.last_change = (0.0, PoiseChange { - amount: change.amount, - source: change.source, - }); + self.last_change = ( + 0.0, + PoiseChange { + amount: change.amount, + source: change.source, + }, + impulse, + ); } /// Resets current value to maximum @@ -229,7 +194,7 @@ impl Poise { .equipped_items() .filter_map(|item| { if let ItemKind::Armor(armor) = &item.kind() { - Some(armor.get_poise_protection()) + Some(armor.get_poise_resilience()) } else { None } @@ -247,5 +212,5 @@ impl Poise { } impl Component for Poise { - type Storage = FlaggedStorage>; + type Storage = DerefFlaggedStorage>; } diff --git a/common/src/comp/projectile.rs b/common/src/comp/projectile.rs index 7378141a5b..60c9a2b463 100644 --- a/common/src/comp/projectile.rs +++ b/common/src/comp/projectile.rs @@ -1,8 +1,5 @@ use crate::{ - comp::{ - buff::{BuffCategory, BuffData, BuffKind}, - PoiseChange, PoiseSource, - }, + comp::buff::{BuffCategory, BuffData, BuffKind}, effect::{self, BuffEffect}, uid::Uid, Damage, DamageSource, Explosion, GroupTarget, Knockback, RadiusEffect, @@ -15,7 +12,6 @@ use std::time::Duration; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] pub enum Effect { Damage(Option, Damage), - PoiseChange(Option, PoiseChange), Knockback(Knockback), RewardEnergy(u32), Explode(Explosion), @@ -49,13 +45,11 @@ impl Component for Projectile { pub enum ProjectileConstructor { Arrow { damage: f32, - poise_damage: i32, knockback: f32, energy_regen: u32, }, Fireball { damage: f32, - poise_damage: i32, radius: f32, energy_regen: u32, }, @@ -65,7 +59,6 @@ pub enum ProjectileConstructor { }, Heal { heal: f32, - poise_damage: i32, damage: f32, radius: f32, }, @@ -78,7 +71,6 @@ impl ProjectileConstructor { match self { Arrow { damage, - poise_damage, knockback, energy_regen, } => { @@ -97,10 +89,6 @@ impl ProjectileConstructor { source: DamageSource::Projectile, value: damage, }), - Effect::PoiseChange(Some(GroupTarget::OutOfGroup), PoiseChange { - source: PoiseSource::Projectile, - amount: -poise_damage, - }), Effect::Knockback(Knockback::Away(knockback)), Effect::RewardEnergy(energy_regen), Effect::Vanish, @@ -116,7 +104,6 @@ impl ProjectileConstructor { }, Fireball { damage, - poise_damage, radius, energy_regen, } => Projectile { @@ -130,13 +117,6 @@ impl ProjectileConstructor { value: damage, }), ), - RadiusEffect::Entity( - Some(GroupTarget::OutOfGroup), - effect::Effect::PoiseChange(PoiseChange { - amount: -poise_damage, - source: PoiseSource::Explosion, - }), - ), RadiusEffect::TerrainDestruction(2.0), ], radius, @@ -146,22 +126,13 @@ impl ProjectileConstructor { ], hit_entity: vec![ Effect::Explode(Explosion { - effects: vec![ - RadiusEffect::Entity( - Some(GroupTarget::OutOfGroup), - effect::Effect::Damage(Damage { - source: DamageSource::Explosion, - value: damage, - }), - ), - RadiusEffect::Entity( - Some(GroupTarget::OutOfGroup), - effect::Effect::PoiseChange(PoiseChange { - amount: -poise_damage, - source: PoiseSource::Explosion, - }), - ), - ], + effects: vec![RadiusEffect::Entity( + Some(GroupTarget::OutOfGroup), + effect::Effect::Damage(Damage { + source: DamageSource::Explosion, + value: damage, + }), + )], radius, energy_regen, }), @@ -191,7 +162,6 @@ impl ProjectileConstructor { Heal { heal, damage, - poise_damage, radius, } => Projectile { hit_solid: vec![ @@ -211,13 +181,6 @@ impl ProjectileConstructor { value: heal, }), ), - RadiusEffect::Entity( - Some(GroupTarget::OutOfGroup), - effect::Effect::PoiseChange(PoiseChange { - amount: -poise_damage, - source: PoiseSource::Explosion, - }), - ), ], radius, energy_regen: 0, @@ -241,13 +204,6 @@ impl ProjectileConstructor { value: heal, }), ), - RadiusEffect::Entity( - Some(GroupTarget::OutOfGroup), - effect::Effect::PoiseChange(PoiseChange { - amount: -poise_damage, - source: PoiseSource::Explosion, - }), - ), ], radius, energy_regen: 0, diff --git a/common/src/states/basic_beam.rs b/common/src/states/basic_beam.rs index 0d08a2725a..07bac71c76 100644 --- a/common/src/states/basic_beam.rs +++ b/common/src/states/basic_beam.rs @@ -1,8 +1,5 @@ use crate::{ - comp::{ - beam, Body, CharacterState, EnergyChange, EnergySource, Ori, PoiseChange, PoiseSource, Pos, - StateUpdate, - }, + comp::{beam, Body, CharacterState, EnergyChange, EnergySource, Ori, Pos, StateUpdate}, event::ServerEvent, states::{ behavior::{CharacterBehavior, JoinData}, @@ -126,26 +123,18 @@ impl CharacterBehavior for Data { source: DamageSource::Energy, value: self.static_data.base_dps as f32 / self.static_data.tick_rate, }; - let poise_damage = PoiseChange { - amount: 0, - source: PoiseSource::Beam, - }; let heal = Damage { source: DamageSource::Healing, value: self.static_data.base_hps as f32 / self.static_data.tick_rate, }; - let reverse_poise = PoiseChange { - amount: 0, - source: PoiseSource::Beam, - }; let speed = self.static_data.range / self.static_data.beam_duration.as_secs_f32(); let properties = beam::Properties { angle: self.static_data.max_angle.to_radians(), speed, - effects: vec![ - (Some(GroupTarget::OutOfGroup), damage, poise_damage), - (Some(GroupTarget::InGroup), heal, reverse_poise), + damages: vec![ + (Some(GroupTarget::OutOfGroup), damage), + (Some(GroupTarget::InGroup), heal), ], lifesteal_eff: self.static_data.lifesteal_eff, energy_regen: self.static_data.energy_regen, diff --git a/common/src/states/basic_melee.rs b/common/src/states/basic_melee.rs index 29c5ea2215..42cb659afa 100644 --- a/common/src/states/basic_melee.rs +++ b/common/src/states/basic_melee.rs @@ -102,7 +102,7 @@ impl CharacterBehavior for Data { }, PoiseChange { amount: -(self.static_data.base_poise_damage as i32), - source: PoiseSource::Melee, + source: PoiseSource::Attack, }, )], range: self.static_data.range, diff --git a/common/src/states/behavior.rs b/common/src/states/behavior.rs index 775b494b3b..f2b6f1ed7c 100644 --- a/common/src/states/behavior.rs +++ b/common/src/states/behavior.rs @@ -1,7 +1,7 @@ use crate::{ comp::{ Attacking, Beam, Body, CharacterState, ControlAction, Controller, ControllerInputs, Energy, - Health, Inventory, Ori, PhysicsState, Poise, Pos, StateUpdate, Stats, Vel, + Health, Inventory, Ori, PhysicsState, Pos, StateUpdate, Stats, Vel, }, resources::DeltaTime, uid::Uid, @@ -51,7 +51,6 @@ pub struct JoinData<'a> { pub controller: &'a Controller, pub inputs: &'a ControllerInputs, pub health: &'a Health, - pub poise: &'a Poise, pub energy: &'a Energy, pub inventory: &'a Inventory, pub body: &'a Body, @@ -81,7 +80,6 @@ pub type JoinTuple<'a> = ( RestrictedMut<'a, Inventory>, &'a mut Controller, &'a Health, - &'a Poise, &'a Body, &'a PhysicsState, Option<&'a Attacking>, @@ -103,11 +101,10 @@ impl<'a> JoinData<'a> { controller: j.8, inputs: &j.8.inputs, health: j.9, - poise: j.10, - body: j.11, - physics: j.12, - attacking: j.13, - stats: j.15, + body: j.10, + physics: j.11, + attacking: j.12, + stats: j.14, updater, dt, } diff --git a/common/src/states/charged_melee.rs b/common/src/states/charged_melee.rs index 23205f1b72..23648ea051 100644 --- a/common/src/states/charged_melee.rs +++ b/common/src/states/charged_melee.rs @@ -164,7 +164,7 @@ impl CharacterBehavior for Data { amount: -(self.static_data.initial_poise_damage as f32 + self.charge_amount * self.static_data.scaled_poise_damage as f32) as i32, - source: PoiseSource::Melee, + source: PoiseSource::Attack, }; let knockback = self.static_data.initial_knockback + self.charge_amount * self.static_data.scaled_knockback; diff --git a/common/src/states/charged_ranged.rs b/common/src/states/charged_ranged.rs index d6694ed9c6..90c0ec468b 100644 --- a/common/src/states/charged_ranged.rs +++ b/common/src/states/charged_ranged.rs @@ -2,7 +2,7 @@ use crate::{ comp::{ buff::{BuffCategory, BuffData, BuffKind}, projectile, Body, CharacterState, EnergyChange, EnergySource, Gravity, LightEmitter, - PoiseChange, PoiseSource, Projectile, StateUpdate, + Projectile, StateUpdate, }, effect::BuffEffect, event::ServerEvent, @@ -30,10 +30,6 @@ pub struct StaticData { pub initial_damage: u32, /// How much the damage scales as it is charged pub scaled_damage: u32, - /// How much poise damage is dealt with no charge - pub initial_poise_damage: u32, - /// How much the poise damage scales as it is charged - pub scaled_poise_damage: u32, /// How much knockback there is with no charge pub initial_knockback: f32, /// How much the knockback scales as it is charged @@ -111,12 +107,6 @@ impl CharacterBehavior for Data { value: self.static_data.initial_damage as f32 + charge_frac * self.static_data.scaled_damage as f32, }; - let poise_damage = PoiseChange { - amount: -(self.static_data.initial_poise_damage as f32 - + charge_frac * self.static_data.scaled_poise_damage as f32) - as i32, - source: PoiseSource::Projectile, - }; let knockback = self.static_data.initial_knockback + charge_frac * self.static_data.scaled_knockback; // Fire @@ -124,10 +114,6 @@ impl CharacterBehavior for Data { hit_solid: vec![projectile::Effect::Stick], hit_entity: vec![ projectile::Effect::Damage(Some(GroupTarget::OutOfGroup), damage), - projectile::Effect::PoiseChange( - Some(GroupTarget::OutOfGroup), - poise_damage, - ), projectile::Effect::Knockback(Knockback::Away(knockback)), projectile::Effect::Vanish, projectile::Effect::Buff { diff --git a/common/src/states/combo_melee.rs b/common/src/states/combo_melee.rs index 5af102ceac..da4f080fcf 100644 --- a/common/src/states/combo_melee.rs +++ b/common/src/states/combo_melee.rs @@ -59,11 +59,11 @@ impl Stage { } } - pub fn adjusted_by_stats(mut self, power: f32, poise_power: f32, speed: f32) -> Self { + pub fn adjusted_by_stats(mut self, power: f32, poise_strength: f32, speed: f32) -> Self { self.base_damage = (self.base_damage as f32 * power) as u32; self.damage_increase = (self.damage_increase as f32 * power) as u32; - self.base_poise_damage = (self.base_poise_damage as f32 * poise_power) as u32; - self.poise_damage_increase = (self.poise_damage_increase as f32 * poise_power) as u32; + self.base_poise_damage = (self.base_poise_damage as f32 * poise_strength) as u32; + self.poise_damage_increase = (self.poise_damage_increase as f32 * poise_strength) as u32; self.base_buildup_duration = (self.base_buildup_duration as f32 / speed) as u64; self.base_swing_duration = (self.base_swing_duration as f32 / speed) as u64; self.base_recover_duration = (self.base_recover_duration as f32 / speed) as u64; @@ -190,7 +190,7 @@ impl CharacterBehavior for Data { }, PoiseChange { amount: -(poise_damage as i32), - source: PoiseSource::Melee, + source: PoiseSource::Attack, }, )], range: self.static_data.stage_data[stage_index].range, diff --git a/common/src/states/dash_melee.rs b/common/src/states/dash_melee.rs index 3c71ba8fbc..46fa3c1011 100644 --- a/common/src/states/dash_melee.rs +++ b/common/src/states/dash_melee.rs @@ -141,7 +141,7 @@ impl CharacterBehavior for Data { amount: -(self.static_data.base_poise_damage as f32 + charge_frac * self.static_data.scaled_poise_damage as f32) as i32, - source: PoiseSource::Melee, + source: PoiseSource::Attack, }; let knockback = self.static_data.base_knockback + charge_frac * self.static_data.scaled_knockback; diff --git a/common/src/states/leap_melee.rs b/common/src/states/leap_melee.rs index 84abe45801..6afabfb583 100644 --- a/common/src/states/leap_melee.rs +++ b/common/src/states/leap_melee.rs @@ -157,7 +157,7 @@ impl CharacterBehavior for Data { }, PoiseChange { amount: -(self.static_data.base_poise_damage as i32), - source: PoiseSource::Melee, + source: PoiseSource::Attack, }, )], range: self.static_data.range, diff --git a/common/src/states/mod.rs b/common/src/states/mod.rs index e451032719..6d8ac0ab11 100644 --- a/common/src/states/mod.rs +++ b/common/src/states/mod.rs @@ -21,7 +21,6 @@ pub mod shockwave; pub mod sit; pub mod sneak; pub mod spin_melee; -pub mod staggered; pub mod stunned; pub mod utils; pub mod wielding; diff --git a/common/src/states/shockwave.rs b/common/src/states/shockwave.rs index 3261dc380b..f166ad5444 100644 --- a/common/src/states/shockwave.rs +++ b/common/src/states/shockwave.rs @@ -93,7 +93,7 @@ impl CharacterBehavior for Data { }, PoiseChange { amount: -(self.static_data.poise_damage as i32), - source: PoiseSource::Shockwave, + source: PoiseSource::Attack, }, )], knockback: self.static_data.knockback, diff --git a/common/src/states/spin_melee.rs b/common/src/states/spin_melee.rs index 98af7965f3..12072b3484 100644 --- a/common/src/states/spin_melee.rs +++ b/common/src/states/spin_melee.rs @@ -124,7 +124,7 @@ impl CharacterBehavior for Data { }, PoiseChange { amount: -(self.static_data.base_poise_damage as i32), - source: PoiseSource::Melee, + source: PoiseSource::Attack, }, )], range: self.static_data.range, diff --git a/common/src/states/staggered.rs b/common/src/states/staggered.rs deleted file mode 100644 index 34dec76b76..0000000000 --- a/common/src/states/staggered.rs +++ /dev/null @@ -1,86 +0,0 @@ -use super::utils::*; -use crate::{ - comp::{CharacterState, StateUpdate}, - states::behavior::{CharacterBehavior, JoinData}, -}; -use serde::{Deserialize, Serialize}; -use std::time::Duration; - -/// Separated out to condense update portions of character state -#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] -pub struct StaticData { - /// How long until state begins to exit - pub buildup_duration: Duration, - /// How long the state has until exiting - pub recover_duration: Duration, -} - -#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] -pub struct Data { - /// Struct containing data that does not change over the course of the - /// character state - pub static_data: StaticData, - /// Timer for each stage - pub timer: Duration, - /// What section the character stage is in - pub stage_section: StageSection, - /// Whether the character was wielding or not - pub was_wielded: bool, -} - -impl CharacterBehavior for Data { - fn behavior(&self, data: &JoinData) -> StateUpdate { - //println!("staggered"); - let mut update = StateUpdate::from(data); - match self.stage_section { - StageSection::Buildup => { - if self.timer < self.static_data.buildup_duration { - // Build up - update.character = CharacterState::Staggered(Data { - timer: self - .timer - .checked_add(Duration::from_secs_f32(data.dt.0)) - .unwrap_or_default(), - ..*self - }); - } else { - // Transitions to recovery section of stage - update.character = CharacterState::Staggered(Data { - timer: Duration::default(), - stage_section: StageSection::Recover, - ..*self - }); - } - }, - StageSection::Recover => { - if self.timer < self.static_data.recover_duration { - // Recovery - update.character = CharacterState::Staggered(Data { - timer: self - .timer - .checked_add(Duration::from_secs_f32(data.dt.0)) - .unwrap_or_default(), - ..*self - }); - } else { - // Done - if self.was_wielded { - update.character = CharacterState::Wielding; - } else { - update.character = CharacterState::Idle; - } - } - }, - _ => { - // If it somehow ends up in an incorrect stage section - if self.was_wielded { - update.character = CharacterState::Wielding; - } else { - update.character = CharacterState::Idle; - } - }, - } - - update - } -} diff --git a/common/src/states/stunned.rs b/common/src/states/stunned.rs index 2e07dcd8f4..64bd813515 100644 --- a/common/src/states/stunned.rs +++ b/common/src/states/stunned.rs @@ -1,6 +1,6 @@ use super::utils::*; use crate::{ - comp::{CharacterState, StateUpdate}, + comp::{CharacterState, PoiseState, StateUpdate}, states::behavior::{CharacterBehavior, JoinData}, }; use serde::{Deserialize, Serialize}; @@ -15,6 +15,8 @@ pub struct StaticData { pub recover_duration: Duration, /// Fraction of normal movement speed allowed during the state pub movement_speed: f32, + /// Poise state (used for determining animation in the client) + pub poise_state: PoiseState, } #[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] diff --git a/common/sys/src/beam.rs b/common/sys/src/beam.rs index 54900d5461..d38699d7b9 100644 --- a/common/sys/src/beam.rs +++ b/common/sys/src/beam.rs @@ -6,7 +6,6 @@ use common::{ event::{EventBus, ServerEvent}, resources::{DeltaTime, Time}, uid::{Uid, UidAllocator}, - util::Dir, GroupTarget, }; use specs::{saveload::MarkerAllocator, Entities, Join, Read, ReadStorage, System, WriteStorage}; @@ -159,7 +158,7 @@ impl<'a> System<'a> for Sys { continue; } - for (target, damage, poise_damage) in beam_segment.effects.iter() { + for (target, damage) in beam_segment.damages.iter() { if let Some(target) = target { if *target != target_group { continue; @@ -168,9 +167,6 @@ impl<'a> System<'a> for Sys { // Modify damage let change = damage.modify_damage(inventories.get(b), beam_segment.owner); - let poise_change = poise_damage.modify_poise_damage(inventories.get(b)); - - let kb_dir = Dir::new((pos_b.0 - pos.0).try_normalized().unwrap_or(*ori.0)); match target { Some(GroupTarget::OutOfGroup) => { server_emitter.emit(ServerEvent::Damage { entity: b, change }); @@ -186,11 +182,6 @@ impl<'a> System<'a> for Sys { }, }, }); - server_emitter.emit(ServerEvent::PoiseChange { - entity, - change: poise_change, - kb_dir: *kb_dir, - }); server_emitter.emit(ServerEvent::EnergyChange { entity, change: EnergyChange { diff --git a/common/sys/src/character_behavior.rs b/common/sys/src/character_behavior.rs index b5c17d1fac..2b6b793c82 100644 --- a/common/sys/src/character_behavior.rs +++ b/common/sys/src/character_behavior.rs @@ -4,7 +4,7 @@ use common::{ comp::{ inventory::slot::{EquipSlot, Slot}, Attacking, Beam, Body, CharacterState, Controller, Energy, Health, Inventory, Mounting, - Ori, PhysicsState, Poise, Pos, StateUpdate, Stats, Vel, + Ori, PhysicsState, Poise, PoiseState, Pos, StateUpdate, Stats, Vel, }, event::{EventBus, LocalEvent, ServerEvent}, metrics::SysMetrics, @@ -16,6 +16,7 @@ use common::{ }, uid::{Uid, UidAllocator}, }; +use std::time::Duration; fn incorporate_update(tuple: &mut JoinTuple, state_update: StateUpdate) { // TODO: if checking equality is expensive use optional field in StateUpdate @@ -65,7 +66,7 @@ impl<'a> System<'a> for Sys { WriteStorage<'a, Inventory>, WriteStorage<'a, Controller>, ReadStorage<'a, Health>, - ReadStorage<'a, Poise>, + WriteStorage<'a, Poise>, ReadStorage<'a, Body>, ReadStorage<'a, PhysicsState>, ReadStorage<'a, Attacking>, @@ -94,7 +95,7 @@ impl<'a> System<'a> for Sys { mut inventories, mut controllers, healths, - poises, + mut poises, bodies, physics_states, attacking_storage, @@ -120,7 +121,6 @@ impl<'a> System<'a> for Sys { &mut inventories.restrict_mut(), &mut controllers, &healths, - &poises, &bodies, &physics_states, attacking_storage.maybe(), @@ -144,6 +144,88 @@ impl<'a> System<'a> for Sys { continue; } + // Enter stunned state if poise damage is enough + if let Some(mut poise) = poises.get_mut(tuple.0) { + let was_wielded = tuple.2.get_unchecked().is_wield(); + let poise_state = poise.poise_state(); + match poise_state { + PoiseState::Normal => {}, + PoiseState::Interrupted => { + poise.reset(); + *tuple.2.get_mut_unchecked() = + CharacterState::Stunned(common::states::stunned::Data { + static_data: common::states::stunned::StaticData { + buildup_duration: Duration::from_millis(150), + recover_duration: Duration::from_millis(150), + movement_speed: 0.4, + poise_state, + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }); + }, + PoiseState::Stunned => { + poise.reset(); + *tuple.2.get_mut_unchecked() = + CharacterState::Stunned(common::states::stunned::Data { + static_data: common::states::stunned::StaticData { + buildup_duration: Duration::from_millis(500), + recover_duration: Duration::from_millis(500), + movement_speed: 0.1, + poise_state, + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }); + server_emitter.emit(ServerEvent::Knockback { + entity: tuple.0, + impulse: 5.0 * poise.knockback(), + }); + }, + PoiseState::Dazed => { + poise.reset(); + *tuple.2.get_mut_unchecked() = + CharacterState::Stunned(common::states::stunned::Data { + static_data: common::states::stunned::StaticData { + buildup_duration: Duration::from_millis(1000), + recover_duration: Duration::from_millis(1000), + movement_speed: 0.0, + poise_state, + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }); + server_emitter.emit(ServerEvent::Knockback { + entity: tuple.0, + impulse: 10.0 * poise.knockback(), + }); + }, + PoiseState::KnockedDown => { + poise.reset(); + *tuple.2.get_mut_unchecked() = + CharacterState::Stunned(common::states::stunned::Data { + static_data: common::states::stunned::StaticData { + buildup_duration: Duration::from_millis(3000), + recover_duration: Duration::from_millis(500), + movement_speed: 0.0, + poise_state, + }, + timer: Duration::default(), + stage_section: common::states::utils::StageSection::Buildup, + was_wielded, + }); + server_emitter.emit(ServerEvent::Knockback { + entity: tuple.0, + impulse: 10.0 * poise.knockback(), + }); + }, + } + } + + // Controller actions let actions = std::mem::replace(&mut tuple.8.actions, Vec::new()); for action in actions { let j = JoinData::new(&tuple, &updater, &dt); @@ -155,7 +237,6 @@ impl<'a> System<'a> for Sys { states::glide_wield::Data.handle_event(&j, action) }, CharacterState::Stunned(data) => data.handle_event(&j, action), - CharacterState::Staggered(data) => data.handle_event(&j, action), CharacterState::Sit => { states::sit::Data::handle_event(&states::sit::Data, &j, action) }, @@ -197,7 +278,6 @@ impl<'a> System<'a> for Sys { CharacterState::Glide => states::glide::Data.behavior(&j), CharacterState::GlideWield => states::glide_wield::Data.behavior(&j), CharacterState::Stunned(data) => data.behavior(&j), - CharacterState::Staggered(data) => data.behavior(&j), CharacterState::Sit => states::sit::Data::behavior(&states::sit::Data, &j), CharacterState::Dance => states::dance::Data::behavior(&states::dance::Data, &j), CharacterState::Sneak => states::sneak::Data::behavior(&states::sneak::Data, &j), diff --git a/common/sys/src/melee.rs b/common/sys/src/melee.rs index 2b939cbfdb..f1c2810c0a 100644 --- a/common/sys/src/melee.rs +++ b/common/sys/src/melee.rs @@ -128,9 +128,9 @@ impl<'a> System<'a> for Sys { } let change = damage.modify_damage(inventories.get(b), Some(*uid)); - let poise_change = poise_change.modify_poise_damage(inventories.get(b)); server_emitter.emit(ServerEvent::Damage { entity: b, change }); + // Apply bleeding buff on melee hits with 10% chance // TODO: Don't have buff uniformly applied on all melee attacks if change.amount < 0 && thread_rng().gen::() < 0.1 { @@ -148,17 +148,21 @@ impl<'a> System<'a> for Sys { )), }); } + let kb_dir = Dir::new((pos_b.0 - pos.0).try_normalized().unwrap_or(*ori.0)); let impulse = attack.knockback.calculate_impulse(kb_dir); if !impulse.is_approx_zero() { server_emitter.emit(ServerEvent::Knockback { entity: b, impulse }); } - server_emitter.emit(ServerEvent::PoiseChange { - entity: b, - change: poise_change, - kb_dir: *kb_dir, - }); + let poise_change = poise_change.modify_poise_damage(inventories.get(b)); + if poise_change.amount.abs() > 0 { + server_emitter.emit(ServerEvent::PoiseChange { + entity: b, + change: poise_change, + kb_dir: *kb_dir, + }); + } attack.hit_count += 1; } diff --git a/common/sys/src/projectile.rs b/common/sys/src/projectile.rs index 291f4a3dc7..7ff5a2e670 100644 --- a/common/sys/src/projectile.rs +++ b/common/sys/src/projectile.rs @@ -125,30 +125,6 @@ impl<'a> System<'a> for Sys { }); } }, - projectile::Effect::PoiseChange(target, poise_damage) => { - if Some(other) == projectile.owner { - continue; - } - - if let Some(target) = target { - if target != target_group { - continue; - } - } - - if let Some(other_entity) = - uid_allocator.retrieve_entity_internal(other.into()) - { - let other_entity_inventory = inventories.get(other_entity); - let poise_change = - poise_damage.modify_poise_damage(other_entity_inventory); - server_emitter.emit(ServerEvent::PoiseChange { - entity: other_entity, - change: poise_change, - kb_dir: *ori.0, - }); - } - }, projectile::Effect::Knockback(knockback) => { if let Some(other_entity) = uid_allocator.retrieve_entity_internal(other.into()) diff --git a/common/sys/src/stats.rs b/common/sys/src/stats.rs index f49bce1c83..111a93089d 100644 --- a/common/sys/src/stats.rs +++ b/common/sys/src/stats.rs @@ -2,7 +2,7 @@ use common::{ comp::{ skills::{GeneralSkill, Skill}, Body, CharacterState, Energy, EnergyChange, EnergySource, Health, Poise, PoiseChange, - PoiseSource, PoiseState, Pos, Stats, + PoiseSource, Pos, Stats, }, event::{EventBus, ServerEvent}, metrics::SysMetrics, @@ -13,7 +13,6 @@ use common::{ }; use hashbrown::HashSet; use specs::{Entities, Join, Read, ReadExpect, ReadStorage, System, Write, WriteStorage}; -use std::time::Duration; use vek::Vec3; const ENERGY_REGEN_ACCEL: f32 = 10.0; @@ -46,7 +45,7 @@ impl<'a> System<'a> for Sys { dt, server_event_bus, sys_metrics, - mut character_states, + character_states, mut stats, mut healths, mut poises, @@ -67,7 +66,7 @@ impl<'a> System<'a> for Sys { for mut health in (&mut healths).join() { health.last_change.0 += f64::from(dt.0); } - for poise in (&mut poises).join() { + for mut poise in (&mut poises).join() { poise.last_change.0 += f64::from(dt.0); } healths.set_event_emission(true); @@ -202,6 +201,7 @@ impl<'a> System<'a> for Sys { if res_poise { let mut poise = poise.get_mut_unchecked(); + let poise = &mut *poise; poise.change_by( PoiseChange { amount: (poise.regen_rate * dt.0 @@ -230,9 +230,6 @@ impl<'a> System<'a> for Sys { if energy.get_unchecked().regen_rate != 0.0 { energy.get_mut_unchecked().regen_rate = 0.0 } - if poise.get_unchecked().regen_rate != 0.0 { - poise.get_mut_unchecked().regen_rate = 0.0 - } }, // recover small amount of passive energy from blocking, and bonus energy from // blocking attacks? @@ -253,83 +250,10 @@ impl<'a> System<'a> for Sys { // temporarily stall energy gain, but preserve regen_rate. CharacterState::Roll { .. } | CharacterState::Climb { .. } - | CharacterState::Stunned { .. } - | CharacterState::Staggered { .. } => {}, + | CharacterState::Stunned { .. } => {}, } } - // Assign poise states - for (entity, mut character_state, mut poise) in - (&entities, &mut character_states, &mut poises.restrict_mut()).join() - { - let was_wielded = character_state.is_wield(); - let poise = poise.get_mut_unchecked(); - match poise.poise_state() { - PoiseState::Normal => {}, - PoiseState::Interrupted => { - poise.reset(); - *character_state = CharacterState::Stunned(common::states::stunned::Data { - static_data: common::states::stunned::StaticData { - buildup_duration: Duration::from_millis(150), - recover_duration: Duration::from_millis(150), - movement_speed: 0.3, - }, - timer: Duration::default(), - stage_section: common::states::utils::StageSection::Buildup, - was_wielded, - }); - }, - PoiseState::Stunned => { - poise.reset(); - *character_state = CharacterState::Stunned(common::states::stunned::Data { - static_data: common::states::stunned::StaticData { - buildup_duration: Duration::from_millis(500), - recover_duration: Duration::from_millis(500), - movement_speed: 0.1, - }, - timer: Duration::default(), - stage_section: common::states::utils::StageSection::Buildup, - was_wielded, - }); - server_event_emitter.emit(ServerEvent::Knockback { - entity, - impulse: 5.0 * poise.knockback(), - }); - }, - PoiseState::Dazed => { - poise.reset(); - *character_state = CharacterState::Staggered(common::states::staggered::Data { - static_data: common::states::staggered::StaticData { - buildup_duration: Duration::from_millis(1000), - recover_duration: Duration::from_millis(1000), - }, - timer: Duration::default(), - stage_section: common::states::utils::StageSection::Buildup, - was_wielded, - }); - server_event_emitter.emit(ServerEvent::Knockback { - entity, - impulse: 10.0 * poise.knockback(), - }); - }, - PoiseState::KnockedDown => { - poise.reset(); - *character_state = CharacterState::Staggered(common::states::staggered::Data { - static_data: common::states::staggered::StaticData { - buildup_duration: Duration::from_millis(3000), - recover_duration: Duration::from_millis(500), - }, - timer: Duration::default(), - stage_section: common::states::utils::StageSection::Buildup, - was_wielded, - }); - server_event_emitter.emit(ServerEvent::Knockback { - entity, - impulse: 10.0 * poise.knockback(), - }); - }, - } - } sys_metrics.stats_ns.store( start_time.elapsed().as_nanos() as u64, std::sync::atomic::Ordering::Relaxed, diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index b073126de6..7c8e31ca2d 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -44,7 +44,7 @@ pub fn handle_poise( if let Some(character_state) = ecs.read_storage::().get(entity) { // Entity is invincible to poise change during stunned/staggered character state if !character_state.is_stunned() { - if let Some(poise) = ecs.write_storage::().get_mut(entity) { + if let Some(mut poise) = ecs.write_storage::().get_mut(entity) { poise.change_by(change, knockback_dir); } } @@ -438,24 +438,17 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc let pos = state.ecs().read_storage::().get(entity).cloned(); let vel = state.ecs().read_storage::().get(entity).cloned(); if let Some(pos) = pos { - if let Some(vel) = vel { - let _ = state - .create_object(comp::Pos(pos.0 + Vec3::unit_z() * 0.25), match old_body { - Some(common::comp::Body::Humanoid(_)) => object::Body::Pouch, - Some(common::comp::Body::Golem(_)) => object::Body::Chest, - Some(common::comp::Body::BipedLarge(_)) - | Some(common::comp::Body::QuadrupedLow(_)) => object::Body::MeatDrop, - _ => object::Body::Steak, - }) - .with(vel) - .with(item) - .build(); - } else { - error!( - ?entity, - "Entity doesn't have a velocity, no bag is being dropped" - ) - } + let _ = state + .create_object(comp::Pos(pos.0 + Vec3::unit_z() * 0.25), match old_body { + Some(common::comp::Body::Humanoid(_)) => object::Body::Pouch, + Some(common::comp::Body::Golem(_)) => object::Body::Chest, + Some(common::comp::Body::BipedLarge(_)) + | Some(common::comp::Body::QuadrupedLow(_)) => object::Body::MeatDrop, + _ => object::Body::Steak, + }) + .maybe_with(vel) + .with(item) + .build(); } else { error!( ?entity, @@ -508,23 +501,25 @@ pub fn handle_delete(server: &mut Server, entity: EcsEntity) { pub fn handle_land_on_ground(server: &Server, entity: EcsEntity, vel: Vec3) { let state = &server.state; if vel.z <= -30.0 { + let falldmg = (vel.z.powi(2) / 20.0 - 40.0) * 10.0; + let inventories = state.ecs().read_storage::(); + // Handle health change if let Some(mut health) = state.ecs().write_storage::().get_mut(entity) { - if let Some(poise) = state.ecs().write_storage::().get_mut(entity) { - let falldmg = (vel.z.powi(2) / 20.0 - 40.0) * 10.0; - let damage = Damage { - source: DamageSource::Falling, - value: falldmg, - }; - let poise_damage = PoiseChange { - amount: -(falldmg / 2.0) as i32, - source: PoiseSource::Falling, - }; - let inventories = state.ecs().read_storage::(); - let change = damage.modify_damage(inventories.get(entity), None); - let poise_change = poise_damage.modify_poise_damage(inventories.get(entity)); - health.change_by(change); - poise.change_by(poise_change, Vec3::unit_z()); - } + let damage = Damage { + source: DamageSource::Falling, + value: falldmg, + }; + let change = damage.modify_damage(inventories.get(entity), None); + health.change_by(change); + } + // Handle poise change + if let Some(mut poise) = state.ecs().write_storage::().get_mut(entity) { + let poise_damage = PoiseChange { + amount: -(falldmg / 2.0) as i32, + source: PoiseSource::Falling, + }; + let poise_change = poise_damage.modify_poise_damage(inventories.get(entity)); + poise.change_by(poise_change, Vec3::unit_z()); } } } diff --git a/server/src/migrations/2021-01-25-202618_starter_gear/down.sql b/server/src/migrations/2021-01-25-202618_starter_gear/down.sql index ca16a2e052..c65a41ea9c 100644 --- a/server/src/migrations/2021-01-25-202618_starter_gear/down.sql +++ b/server/src/migrations/2021-01-25-202618_starter_gear/down.sql @@ -3,8 +3,8 @@ SET item_definition_id = 'common.items.armor.starter.glider' WHERE item_definiti UPDATE item SET item_definition_id = 'common.items.armor.starter.lantern' WHERE item_definition_id = 'common.items.lantern.black_0'; UPDATE item -SET item_definition_id = 'common.items.armor.starter.rugged_chest' WHERE item_definition_id = 'common.items.armor.chest.rugged_chest'; +SET item_definition_id = 'common.items.armor.starter.rugged_chest' WHERE item_definition_id = 'common.items.armor.chest.rugged'; UPDATE item -SET item_definition_id = 'common.items.armor.starter.rugged_pants' WHERE item_definition_id = 'common.items.armor.pants.rugged_pants'; +SET item_definition_id = 'common.items.armor.starter.rugged_pants' WHERE item_definition_id = 'common.items.armor.pants.rugged'; UPDATE item SET item_definition_id = 'common.items.armor.starter.sandals_0' WHERE item_definition_id = 'common.items.armor.foot.sandals_0'; diff --git a/server/src/migrations/2021-01-25-202618_starter_gear/up.sql b/server/src/migrations/2021-01-25-202618_starter_gear/up.sql index 05e0fae4c9..90daadce5b 100644 --- a/server/src/migrations/2021-01-25-202618_starter_gear/up.sql +++ b/server/src/migrations/2021-01-25-202618_starter_gear/up.sql @@ -3,8 +3,8 @@ SET item_definition_id = 'common.items.glider.glider_cloverleaf' WHERE item_defi UPDATE item SET item_definition_id = 'common.items.lantern.black_0' WHERE item_definition_id = 'common.items.armor.starter.lantern'; UPDATE item -SET item_definition_id = 'common.items.armor.chest.rugged_chest' WHERE item_definition_id = 'common.items.armor.starter.rugged_chest'; +SET item_definition_id = 'common.items.armor.chest.rugged' WHERE item_definition_id = 'common.items.armor.starter.rugged_chest'; UPDATE item -SET item_definition_id = 'common.items.armor.pants.rugged_pants' WHERE item_definition_id = 'common.items.armor.starter.rugged_pants'; +SET item_definition_id = 'common.items.armor.pants.rugged' WHERE item_definition_id = 'common.items.armor.starter.rugged_pants'; UPDATE item SET item_definition_id = 'common.items.armor.foot.sandals_0' WHERE item_definition_id = 'common.items.armor.starter.sandals_0'; diff --git a/server/src/state_ext.rs b/server/src/state_ext.rs index 96fadc0209..aed6f77790 100644 --- a/server/src/state_ext.rs +++ b/server/src/state_ext.rs @@ -109,7 +109,7 @@ impl StateExt for State { self.ecs() .write_storage::() .get_mut(entity) - .map(|poise| poise.change_by(change, Vec3::zero())); + .map(|mut poise| poise.change_by(change, Vec3::zero())); } } }, diff --git a/voxygen/anim/src/character/staggered.rs b/voxygen/anim/src/character/staggered.rs index b054abf480..6d0295411d 100644 --- a/voxygen/anim/src/character/staggered.rs +++ b/voxygen/anim/src/character/staggered.rs @@ -151,59 +151,57 @@ impl Animation for StaggeredAnimation { }, _ => {}, } - } else { - if mirror > 0.0 { - next.hand_r.position = Vec3::new( - s_a.hand.0 + movement1abs * -9.0, - s_a.hand.1 + movement1 * 9.0, - s_a.hand.2 + movement1 * 5.0, - ); - next.hand_r.orientation = Quaternion::rotation_x(movement1 * 1.2) - * Quaternion::rotation_y(movement1 * 1.5); - next.hand_l.position = Vec3::new( - -s_a.hand.0, - s_a.hand.1 + movement1abs * 3.0, - s_a.hand.2 + movement1abs * -1.0, - ); - next.hand_l.orientation = Quaternion::rotation_x(movement1abs * 0.5) - * Quaternion::rotation_y(movement1 * 0.3); - next.foot_l.position = - Vec3::new(-s_a.foot.0, s_a.foot.1 + movement1abs * -7.0, s_a.foot.2); - next.foot_l.orientation = Quaternion::rotation_x(movement1abs * -1.2) - * Quaternion::rotation_z(movement1 * 0.8); + } else if mirror > 0.0 { + next.hand_r.position = Vec3::new( + s_a.hand.0 + movement1abs * -9.0, + s_a.hand.1 + movement1 * 9.0, + s_a.hand.2 + movement1 * 5.0, + ); + next.hand_r.orientation = + Quaternion::rotation_x(movement1 * 1.2) * Quaternion::rotation_y(movement1 * 1.5); + next.hand_l.position = Vec3::new( + -s_a.hand.0, + s_a.hand.1 + movement1abs * 3.0, + s_a.hand.2 + movement1abs * -1.0, + ); + next.hand_l.orientation = Quaternion::rotation_x(movement1abs * 0.5) + * Quaternion::rotation_y(movement1 * 0.3); + next.foot_l.position = + Vec3::new(-s_a.foot.0, s_a.foot.1 + movement1abs * -7.0, s_a.foot.2); + next.foot_l.orientation = Quaternion::rotation_x(movement1abs * -1.2) + * Quaternion::rotation_z(movement1 * 0.8); - next.foot_r.position = Vec3::new( - s_a.foot.0 + movement1 * -5.0, - s_a.foot.1 + movement1abs * 3.0, - s_a.foot.2, - ); - next.foot_r.orientation = Quaternion::rotation_z(movement1 * 0.6); - } else { - next.hand_l.position = Vec3::new( - -s_a.hand.0 + movement1abs * 9.0, - s_a.hand.1 + movement1abs * 9.0, - s_a.hand.2 + movement1abs * 5.0, - ); - next.hand_l.orientation = Quaternion::rotation_x(movement1abs * 1.2) - * Quaternion::rotation_y(movement1 * 1.5); - next.hand_r.position = Vec3::new( - s_a.hand.0, - s_a.hand.1 + movement1abs * 3.0, - s_a.hand.2 + movement1abs * -1.0, - ); - next.hand_r.orientation = Quaternion::rotation_x(movement1abs * 0.5) - * Quaternion::rotation_y(movement1 * 0.3); - next.foot_r.position = - Vec3::new(s_a.foot.0, s_a.foot.1 + movement1abs * -7.0, s_a.foot.2); - next.foot_r.orientation = Quaternion::rotation_x(movement1abs * -1.2) - * Quaternion::rotation_z(movement1 * 0.8); - next.foot_l.position = Vec3::new( - -s_a.foot.0 + movement1 * -5.0, - s_a.foot.1 + movement1abs * 3.0, - s_a.foot.2, - ); - next.foot_l.orientation = Quaternion::rotation_z(movement1 * 0.6); - }; + next.foot_r.position = Vec3::new( + s_a.foot.0 + movement1 * -5.0, + s_a.foot.1 + movement1abs * 3.0, + s_a.foot.2, + ); + next.foot_r.orientation = Quaternion::rotation_z(movement1 * 0.6); + } else { + next.hand_l.position = Vec3::new( + -s_a.hand.0 + movement1abs * 9.0, + s_a.hand.1 + movement1abs * 9.0, + s_a.hand.2 + movement1abs * 5.0, + ); + next.hand_l.orientation = Quaternion::rotation_x(movement1abs * 1.2) + * Quaternion::rotation_y(movement1 * 1.5); + next.hand_r.position = Vec3::new( + s_a.hand.0, + s_a.hand.1 + movement1abs * 3.0, + s_a.hand.2 + movement1abs * -1.0, + ); + next.hand_r.orientation = Quaternion::rotation_x(movement1abs * 0.5) + * Quaternion::rotation_y(movement1 * 0.3); + next.foot_r.position = + Vec3::new(s_a.foot.0, s_a.foot.1 + movement1abs * -7.0, s_a.foot.2); + next.foot_r.orientation = Quaternion::rotation_x(movement1abs * -1.2) + * Quaternion::rotation_z(movement1 * 0.8); + next.foot_l.position = Vec3::new( + -s_a.foot.0 + movement1 * -5.0, + s_a.foot.1 + movement1abs * 3.0, + s_a.foot.2, + ); + next.foot_l.orientation = Quaternion::rotation_z(movement1 * 0.6); }; next.torso.position = Vec3::new(0.0, 0.0, 0.0) * s_a.scaler; next.torso.orientation = Quaternion::rotation_z(0.0); diff --git a/voxygen/anim/src/character/stunned.rs b/voxygen/anim/src/character/stunned.rs index 0d260410c0..3bafc78c13 100644 --- a/voxygen/anim/src/character/stunned.rs +++ b/voxygen/anim/src/character/stunned.rs @@ -149,24 +149,22 @@ impl Animation for StunnedAnimation { }, _ => {}, } + } else if mirror > 0.0 { + next.hand_r.position = Vec3::new( + s_a.hand.0 + movement1abs * -4.0, + s_a.hand.1 + movement1 * 7.0, + s_a.hand.2 + movement1 * 6.0, + ); + next.hand_r.orientation = + Quaternion::rotation_x(movement1 * 1.2) * Quaternion::rotation_y(movement1 * 1.2); } else { - if mirror > 0.0 { - next.hand_r.position = Vec3::new( - s_a.hand.0 + movement1abs * -4.0, - s_a.hand.1 + movement1 * 7.0, - s_a.hand.2 + movement1 * 6.0, - ); - next.hand_r.orientation = Quaternion::rotation_x(movement1 * 1.2) - * Quaternion::rotation_y(movement1 * 1.2); - } else { - next.hand_l.position = Vec3::new( - -s_a.hand.0 + movement1abs * 4.0, - s_a.hand.1 + movement1abs * 7.0, - s_a.hand.2 + movement1abs * 6.0, - ); - next.hand_l.orientation = Quaternion::rotation_x(movement1abs * 1.2) - * Quaternion::rotation_y(movement1 * 1.2); - }; + next.hand_l.position = Vec3::new( + -s_a.hand.0 + movement1abs * 4.0, + s_a.hand.1 + movement1abs * 7.0, + s_a.hand.2 + movement1abs * 6.0, + ); + next.hand_l.orientation = Quaternion::rotation_x(movement1abs * 1.2) + * Quaternion::rotation_y(movement1 * 1.2); }; next.torso.position = Vec3::new(0.0, 0.0, 0.0) * s_a.scaler; next.torso.orientation = Quaternion::rotation_z(0.0); diff --git a/voxygen/anim/src/dyn_lib.rs b/voxygen/anim/src/dyn_lib.rs index 372053fa27..0e3343bd55 100644 --- a/voxygen/anim/src/dyn_lib.rs +++ b/voxygen/anim/src/dyn_lib.rs @@ -9,7 +9,6 @@ use std::{ }; use find_folder::Search; -use hashbrown::HashSet; use std::{env, path::PathBuf}; use tracing::{debug, error, info}; diff --git a/voxygen/src/hud/util.rs b/voxygen/src/hud/util.rs index 084ef8d8a7..3f9408a843 100644 --- a/voxygen/src/hud/util.rs +++ b/voxygen/src/hud/util.rs @@ -73,16 +73,16 @@ fn armor_desc(armor: &Armor, desc: &str, slots: u16) -> String { Protection::Normal(a) => a.to_string(), Protection::Invincible => "Inf".to_string(), }; - //let armor_poise_protection = match armor.get_poise_protection() { + //let armor_poise_resilience = match armor.get_poise_resilience() { // Protection::Normal(a) => a.to_string(), // Protection::Invincible => "Inf".to_string(), //}; let mut description = format!( "{}\n\nArmor: {}", - //"{}\n\nArmor: {}\n\nPoise Protection: {}", + //"{}\n\nArmor: {}\n\nPoise Resilience: {}", kind, - armor_protection, /* armor_poise_protection // Add back when we are ready for poise */ + armor_protection, /* armor_poise_resilience // Add back when we are ready for poise */ ); if !desc.is_empty() { @@ -115,19 +115,19 @@ fn tool_desc(tool: &Tool, desc: &str) -> String { // Get tool stats let power = tool.base_power(); - //let poise_power = tool.base_poise_power(); + //let poise_strength = tool.base_poise_strength(); let speed = tool.base_speed(); if !desc.is_empty() { format!( "{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nSpeed: {:0.1}\n\n{}\n\n", // add back when ready for poise - //"{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nPoise Power: {:0.1}\n\nSpeed: \ + //"{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nPoise Strength: {:0.1}\n\nSpeed: \ // {:0.1}\n\n{}\n\n", kind, speed * power * 10.0, // Damage per second power * 10.0, - //poise_power * 10.0, + //poise_strength * 10.0, speed, desc ) @@ -135,12 +135,12 @@ fn tool_desc(tool: &Tool, desc: &str) -> String { format!( "{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nSpeed: {:0.1}\n\n", // add back when ready for poise - //"{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nPoise Power: {:0.1}\n\nSpeed: \ + //"{}\n\nDPS: {:0.1}\n\nPower: {:0.1}\n\nPoise Strength: {:0.1}\n\nSpeed: \ // {:0.1}\n\n", kind, speed * power * 10.0, // Damage per second power * 10.0, - //poise_power * 10.0, + //poise_strength * 10.0, speed ) } diff --git a/voxygen/src/scene/figure/mod.rs b/voxygen/src/scene/figure/mod.rs index 0224175c4e..d98f29bad7 100644 --- a/voxygen/src/scene/figure/mod.rs +++ b/voxygen/src/scene/figure/mod.rs @@ -30,7 +30,7 @@ use common::{ inventory::slot::EquipSlot, item::{ItemKind, ToolKind}, Body, CharacterState, Health, Inventory, Item, Last, LightAnimation, LightEmitter, Ori, - PhysicsState, Pos, Scale, Vel, + PhysicsState, PoiseState, Pos, Scale, Vel, }, resources::DeltaTime, span, @@ -1134,49 +1134,44 @@ impl FigureMgr { }, _ => 0.0, }; - anim::character::StunnedAnimation::update_skeleton( - &target_base, - ( - active_tool_kind, - second_tool_kind, - vel.0.magnitude(), - time, - Some(s.stage_section), - state.state_time, - wield_status, - ), - stage_progress, - &mut state_animation_rate, - skeleton_attr, - ) - }, - CharacterState::Staggered(s) => { - let stage_time = s.timer.as_secs_f64(); - let wield_status = s.was_wielded; - let stage_progress = match s.stage_section { - StageSection::Buildup => { - stage_time / s.static_data.buildup_duration.as_secs_f64() + match s.static_data.poise_state { + PoiseState::Normal + | PoiseState::Stunned + | PoiseState::Interrupted => { + anim::character::StunnedAnimation::update_skeleton( + &target_base, + ( + active_tool_kind, + second_tool_kind, + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + wield_status, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) }, - StageSection::Recover => { - stage_time / s.static_data.recover_duration.as_secs_f64() + PoiseState::Dazed | PoiseState::KnockedDown => { + anim::character::StaggeredAnimation::update_skeleton( + &target_base, + ( + active_tool_kind, + second_tool_kind, + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + wield_status, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) }, - _ => 0.0, - }; - anim::character::StaggeredAnimation::update_skeleton( - &target_base, - ( - active_tool_kind, - second_tool_kind, - vel.0.magnitude(), - time, - Some(s.stage_section), - state.state_time, - wield_status, - ), - stage_progress, - &mut state_animation_rate, - skeleton_attr, - ) + } }, CharacterState::BasicBeam(s) => { let stage_time = s.timer.as_secs_f64(); @@ -1534,42 +1529,38 @@ impl FigureMgr { }, _ => 0.0, }; - anim::quadruped_small::StunnedAnimation::update_skeleton( - &target_base, - ( - vel.0.magnitude(), - time, - Some(s.stage_section), - state.state_time, - ), - stage_progress, - &mut state_animation_rate, - skeleton_attr, - ) - }, - CharacterState::Staggered(s) => { - let stage_time = s.timer.as_secs_f64(); - let stage_progress = match s.stage_section { - StageSection::Buildup => { - stage_time / s.static_data.buildup_duration.as_secs_f64() + match s.static_data.poise_state { + PoiseState::Normal + | PoiseState::Interrupted + | PoiseState::Stunned => { + anim::quadruped_small::StunnedAnimation::update_skeleton( + &target_base, + ( + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) }, - StageSection::Recover => { - stage_time / s.static_data.recover_duration.as_secs_f64() + PoiseState::Dazed | PoiseState::KnockedDown => { + anim::quadruped_small::StunnedAnimation::update_skeleton( + &target_base, + ( + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) }, - _ => 0.0, - }; - anim::quadruped_small::StunnedAnimation::update_skeleton( - &target_base, - ( - vel.0.magnitude(), - time, - Some(s.stage_section), - state.state_time, - ), - stage_progress, - &mut state_animation_rate, - skeleton_attr, - ) + } }, CharacterState::Sit { .. } => { anim::quadruped_small::FeedAnimation::update_skeleton( @@ -1859,42 +1850,38 @@ impl FigureMgr { }, _ => 0.0, }; - anim::quadruped_medium::StunnedAnimation::update_skeleton( - &target_base, - ( - vel.0.magnitude(), - time, - Some(s.stage_section), - state.state_time, - ), - stage_progress, - &mut state_animation_rate, - skeleton_attr, - ) - }, - CharacterState::Staggered(s) => { - let stage_time = s.timer.as_secs_f64(); - let stage_progress = match s.stage_section { - StageSection::Buildup => { - stage_time / s.static_data.buildup_duration.as_secs_f64() + match s.static_data.poise_state { + PoiseState::Normal + | PoiseState::Stunned + | PoiseState::Interrupted => { + anim::quadruped_medium::StunnedAnimation::update_skeleton( + &target_base, + ( + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) }, - StageSection::Recover => { - stage_time / s.static_data.recover_duration.as_secs_f64() + PoiseState::Dazed | PoiseState::KnockedDown => { + anim::quadruped_medium::StunnedAnimation::update_skeleton( + &target_base, + ( + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) }, - _ => 0.0, - }; - anim::quadruped_medium::StunnedAnimation::update_skeleton( - &target_base, - ( - vel.0.magnitude(), - time, - Some(s.stage_section), - state.state_time, - ), - stage_progress, - &mut state_animation_rate, - skeleton_attr, - ) + } }, CharacterState::Sit { .. } => { anim::quadruped_medium::FeedAnimation::update_skeleton( @@ -2096,42 +2083,38 @@ impl FigureMgr { }, _ => 0.0, }; - anim::quadruped_low::StunnedAnimation::update_skeleton( - &target_base, - ( - vel.0.magnitude(), - time, - Some(s.stage_section), - state.state_time, - ), - stage_progress, - &mut state_animation_rate, - skeleton_attr, - ) - }, - CharacterState::Staggered(s) => { - let stage_time = s.timer.as_secs_f64(); - let stage_progress = match s.stage_section { - StageSection::Buildup => { - stage_time / s.static_data.buildup_duration.as_secs_f64() + match s.static_data.poise_state { + PoiseState::Normal + | PoiseState::Stunned + | PoiseState::Interrupted => { + anim::quadruped_low::StunnedAnimation::update_skeleton( + &target_base, + ( + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) }, - StageSection::Recover => { - stage_time / s.static_data.recover_duration.as_secs_f64() + PoiseState::Dazed | PoiseState::KnockedDown => { + anim::quadruped_low::StunnedAnimation::update_skeleton( + &target_base, + ( + vel.0.magnitude(), + time, + Some(s.stage_section), + state.state_time, + ), + stage_progress, + &mut state_animation_rate, + skeleton_attr, + ) }, - _ => 0.0, - }; - anim::quadruped_low::StunnedAnimation::update_skeleton( - &target_base, - ( - vel.0.magnitude(), - time, - Some(s.stage_section), - state.state_time, - ), - stage_progress, - &mut state_animation_rate, - skeleton_attr, - ) + } }, CharacterState::ComboMelee(s) => { let stage_index = (s.stage - 1) as usize;