mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Modified how most abilites that could scale were scaled.
This commit is contained in:
parent
96b4c67419
commit
490915d384
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 90,
|
||||
max_damage: 110,
|
||||
damage_increase: 10,
|
||||
knockback: 8.0,
|
||||
range: 3.5,
|
||||
@ -16,7 +15,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 130,
|
||||
max_damage: 160,
|
||||
damage_increase: 15,
|
||||
knockback: 12.0,
|
||||
range: 3.5,
|
||||
@ -32,5 +30,6 @@ ComboMelee(
|
||||
energy_increase: 30,
|
||||
speed_increase: 0.075,
|
||||
max_speed_increase: 1.6,
|
||||
scales_from_combo: 2,
|
||||
is_interruptible: false,
|
||||
)
|
@ -1,10 +1,10 @@
|
||||
ChargedRanged(
|
||||
energy_cost: 1,
|
||||
energy_drain: 300,
|
||||
initial_damage: 50,
|
||||
max_damage: 250,
|
||||
initial_damage: 10,
|
||||
scaled_damage: 240,
|
||||
initial_knockback: 10.0,
|
||||
max_knockback: 20.0,
|
||||
scaled_knockback: 10.0,
|
||||
speed: 1.0,
|
||||
buildup_duration: 100,
|
||||
charge_duration: 1500,
|
||||
@ -13,5 +13,5 @@ ChargedRanged(
|
||||
projectile_light: None,
|
||||
projectile_gravity: Some(Gravity(0.2)),
|
||||
initial_projectile_speed: 100.0,
|
||||
max_projectile_speed: 500.0,
|
||||
scaled_projectile_speed: 400.0,
|
||||
)
|
||||
|
@ -2,9 +2,9 @@ ChargedMelee(
|
||||
energy_cost: 1,
|
||||
energy_drain: 300,
|
||||
initial_damage: 10,
|
||||
max_damage: 170,
|
||||
scaled_damage: 160,
|
||||
initial_knockback: 10.0,
|
||||
max_knockback: 60.0,
|
||||
scaled_knockback: 50.0,
|
||||
range: 3.5,
|
||||
max_angle: 30.0,
|
||||
speed: 1.0,
|
||||
|
@ -2,7 +2,6 @@ ComboMelee(
|
||||
stage_data: [(
|
||||
stage: 1,
|
||||
base_damage: 130,
|
||||
max_damage: 150,
|
||||
damage_increase: 10,
|
||||
knockback: 0.0,
|
||||
range: 4.5,
|
||||
@ -17,5 +16,6 @@ ComboMelee(
|
||||
energy_increase: 50,
|
||||
speed_increase: 0.05,
|
||||
max_speed_increase: 1.4,
|
||||
scales_from_combo: 2,
|
||||
is_interruptible: false,
|
||||
)
|
@ -1,9 +1,9 @@
|
||||
DashMelee(
|
||||
energy_cost: 100,
|
||||
base_damage: 80,
|
||||
max_damage: 240,
|
||||
scaled_damage: 160,
|
||||
base_knockback: 8.0,
|
||||
max_knockback: 15.0,
|
||||
scaled_knockback: 7.0,
|
||||
range: 5.0,
|
||||
angle: 45.0,
|
||||
energy_drain: 600,
|
||||
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 100,
|
||||
max_damage: 120,
|
||||
damage_increase: 10,
|
||||
knockback: 10.0,
|
||||
range: 4.0,
|
||||
@ -16,7 +15,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 80,
|
||||
max_damage: 110,
|
||||
damage_increase: 15,
|
||||
knockback: 12.0,
|
||||
range: 3.5,
|
||||
@ -29,7 +27,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 3,
|
||||
base_damage: 130,
|
||||
max_damage: 170,
|
||||
damage_increase: 20,
|
||||
knockback: 14.0,
|
||||
range: 6.0,
|
||||
@ -45,5 +42,6 @@ ComboMelee(
|
||||
energy_increase: 25,
|
||||
speed_increase: 0.1,
|
||||
max_speed_increase: 1.8,
|
||||
scales_from_combo: 2,
|
||||
is_interruptible: true,
|
||||
)
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 100,
|
||||
max_damage: 100,
|
||||
damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 3.5,
|
||||
@ -19,5 +18,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 120,
|
||||
max_damage: 120,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
@ -16,7 +15,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 80,
|
||||
max_damage: 80,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
@ -29,7 +27,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 3,
|
||||
base_damage: 130,
|
||||
max_damage: 130,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
@ -45,5 +42,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
@ -1,9 +1,9 @@
|
||||
DashMelee(
|
||||
energy_cost: 0,
|
||||
base_damage: 150,
|
||||
max_damage: 260,
|
||||
scaled_damage: 110,
|
||||
base_knockback: 8.0,
|
||||
max_knockback: 25.0,
|
||||
scaled_knockback: 17.0,
|
||||
range: 5.0,
|
||||
angle: 45.0,
|
||||
energy_drain: 0,
|
||||
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 100,
|
||||
max_damage: 100,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 4.5,
|
||||
@ -16,7 +15,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 80,
|
||||
max_damage: 80,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
@ -29,7 +27,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 3,
|
||||
base_damage: 130,
|
||||
max_damage: 130,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
@ -45,5 +42,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
||||
|
@ -1,9 +1,9 @@
|
||||
DashMelee(
|
||||
energy_cost: 0,
|
||||
base_damage: 30,
|
||||
max_damage: 40,
|
||||
scaled_damage: 10,
|
||||
base_knockback: 8.0,
|
||||
max_knockback: 15.0,
|
||||
scaled_knockback: 7.0,
|
||||
range: 2.0,
|
||||
angle: 45.0,
|
||||
energy_drain: 0,
|
||||
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 100,
|
||||
max_damage: 100,
|
||||
damage_increase: 0,
|
||||
knockback: 2.0,
|
||||
range: 3.5,
|
||||
@ -16,7 +15,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 130,
|
||||
max_damage: 130,
|
||||
damage_increase: 0,
|
||||
knockback: 2.0,
|
||||
range: 3.5,
|
||||
@ -29,7 +27,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 3,
|
||||
base_damage: 130,
|
||||
max_damage: 130,
|
||||
damage_increase: 0,
|
||||
knockback: 2.0,
|
||||
range: 3.5,
|
||||
@ -42,7 +39,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 4,
|
||||
base_damage: 130,
|
||||
max_damage: 130,
|
||||
damage_increase: 0,
|
||||
knockback: 8.0,
|
||||
range: 3.5,
|
||||
@ -58,5 +54,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 60,
|
||||
max_damage: 60,
|
||||
damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 3.5,
|
||||
@ -19,5 +18,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
@ -2,9 +2,9 @@ ChargedMelee(
|
||||
energy_cost: 0,
|
||||
energy_drain: 0,
|
||||
initial_damage: 160,
|
||||
max_damage: 200,
|
||||
scaled_damage: 40,
|
||||
initial_knockback: 10.0,
|
||||
max_knockback: 30.0,
|
||||
scaled_knockback: 20.0,
|
||||
range: 6.0,
|
||||
max_angle: 90.0,
|
||||
speed: 1.0,
|
||||
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 100,
|
||||
max_damage: 100,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
@ -16,7 +15,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 120,
|
||||
max_damage: 120,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
@ -29,7 +27,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 3,
|
||||
base_damage: 130,
|
||||
max_damage: 130,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
@ -45,5 +42,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 120,
|
||||
max_damage: 120,
|
||||
damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 3.5,
|
||||
@ -19,5 +18,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
||||
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 120,
|
||||
max_damage: 120,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
@ -16,7 +15,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 120,
|
||||
max_damage: 120,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
@ -29,7 +27,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 3,
|
||||
base_damage: 120,
|
||||
max_damage: 120,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
@ -45,5 +42,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
||||
|
@ -1,9 +1,9 @@
|
||||
DashMelee(
|
||||
energy_cost: 0,
|
||||
base_damage: 150,
|
||||
max_damage: 190,
|
||||
scaled_damage: 40,
|
||||
base_knockback: 8.0,
|
||||
max_knockback: 25.0,
|
||||
scaled_knockback: 17.0,
|
||||
range: 4.0,
|
||||
angle: 45.0,
|
||||
energy_drain: 0,
|
||||
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 100,
|
||||
max_damage: 100,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
@ -16,7 +15,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 80,
|
||||
max_damage: 80,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
@ -32,5 +30,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
||||
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 100,
|
||||
max_damage: 100,
|
||||
damage_increase: 0,
|
||||
knockback: 8.0,
|
||||
range: 3.5,
|
||||
@ -16,7 +15,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 80,
|
||||
max_damage: 80,
|
||||
damage_increase: 0,
|
||||
knockback: 8.0,
|
||||
range: 3.5,
|
||||
@ -32,5 +30,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
||||
|
@ -1,9 +1,9 @@
|
||||
DashMelee(
|
||||
energy_cost: 0,
|
||||
base_damage: 130,
|
||||
max_damage: 150,
|
||||
scaled_damage: 20,
|
||||
base_knockback: 8.0,
|
||||
max_knockback: 15.0,
|
||||
scaled_knockback: 7.0,
|
||||
range: 2.0,
|
||||
angle: 45.0,
|
||||
energy_drain: 0,
|
||||
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 150,
|
||||
max_damage: 150,
|
||||
damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 3.5,
|
||||
@ -16,7 +15,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 150,
|
||||
max_damage: 150,
|
||||
damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 3.5,
|
||||
@ -29,7 +27,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 3,
|
||||
base_damage: 150,
|
||||
max_damage: 150,
|
||||
damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 3.5,
|
||||
@ -45,5 +42,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
||||
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 30,
|
||||
max_damage: 30,
|
||||
damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 3.5,
|
||||
@ -19,5 +18,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 150,
|
||||
max_damage: 150,
|
||||
damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 7.5,
|
||||
@ -19,5 +18,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 170,
|
||||
max_damage: 170,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 7.5,
|
||||
@ -16,7 +15,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 190,
|
||||
max_damage: 190,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 5.5,
|
||||
@ -29,7 +27,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 3,
|
||||
base_damage: 230,
|
||||
max_damage: 230,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 5.5,
|
||||
@ -45,5 +42,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
||||
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 150,
|
||||
max_damage: 150,
|
||||
damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 5.5,
|
||||
@ -19,5 +18,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
@ -3,7 +3,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 170,
|
||||
max_damage: 170,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 4.5,
|
||||
@ -16,7 +15,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 190,
|
||||
max_damage: 190,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 4.0,
|
||||
@ -29,7 +27,6 @@ ComboMelee(
|
||||
(
|
||||
stage: 3,
|
||||
base_damage: 230,
|
||||
max_damage: 230,
|
||||
damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 4.0,
|
||||
@ -45,5 +42,6 @@ ComboMelee(
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 1.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
)
|
||||
|
@ -49,7 +49,7 @@ impl From<&CharacterState> for CharacterAbilityType {
|
||||
CharacterState::SpinMelee(data) => Self::SpinMelee(data.stage_section),
|
||||
CharacterState::ChargedMelee(data) => Self::ChargedMelee(data.stage_section),
|
||||
CharacterState::ChargedRanged(_) => Self::ChargedRanged,
|
||||
CharacterState::Shockwave(_) => Self::ChargedRanged,
|
||||
CharacterState::Shockwave(_) => Self::Shockwave,
|
||||
CharacterState::BasicBeam(_) => Self::BasicBeam,
|
||||
CharacterState::RepeaterRanged(_) => Self::RepeaterRanged,
|
||||
_ => Self::BasicMelee,
|
||||
@ -101,9 +101,9 @@ pub enum CharacterAbility {
|
||||
DashMelee {
|
||||
energy_cost: u32,
|
||||
base_damage: u32,
|
||||
max_damage: u32,
|
||||
scaled_damage: u32,
|
||||
base_knockback: f32,
|
||||
max_knockback: f32,
|
||||
scaled_knockback: f32,
|
||||
range: f32,
|
||||
angle: f32,
|
||||
energy_drain: u32,
|
||||
@ -130,6 +130,7 @@ pub enum CharacterAbility {
|
||||
energy_increase: u32,
|
||||
speed_increase: f32,
|
||||
max_speed_increase: f32,
|
||||
scales_from_combo: u32,
|
||||
is_interruptible: bool,
|
||||
},
|
||||
LeapMelee {
|
||||
@ -163,9 +164,9 @@ pub enum CharacterAbility {
|
||||
energy_cost: u32,
|
||||
energy_drain: u32,
|
||||
initial_damage: u32,
|
||||
max_damage: u32,
|
||||
scaled_damage: u32,
|
||||
initial_knockback: f32,
|
||||
max_knockback: f32,
|
||||
scaled_knockback: f32,
|
||||
range: f32,
|
||||
max_angle: f32,
|
||||
speed: f32,
|
||||
@ -178,9 +179,9 @@ pub enum CharacterAbility {
|
||||
energy_cost: u32,
|
||||
energy_drain: u32,
|
||||
initial_damage: u32,
|
||||
max_damage: u32,
|
||||
scaled_damage: u32,
|
||||
initial_knockback: f32,
|
||||
max_knockback: f32,
|
||||
scaled_knockback: f32,
|
||||
speed: f32,
|
||||
buildup_duration: u64,
|
||||
charge_duration: u64,
|
||||
@ -189,7 +190,7 @@ pub enum CharacterAbility {
|
||||
projectile_light: Option<LightEmitter>,
|
||||
projectile_gravity: Option<Gravity>,
|
||||
initial_projectile_speed: f32,
|
||||
max_projectile_speed: f32,
|
||||
scaled_projectile_speed: f32,
|
||||
},
|
||||
Shockwave {
|
||||
energy_cost: u32,
|
||||
@ -362,14 +363,14 @@ impl CharacterAbility {
|
||||
},
|
||||
DashMelee {
|
||||
ref mut base_damage,
|
||||
ref mut max_damage,
|
||||
ref mut scaled_damage,
|
||||
ref mut buildup_duration,
|
||||
ref mut swing_duration,
|
||||
ref mut recover_duration,
|
||||
..
|
||||
} => {
|
||||
*base_damage = (*base_damage as f32 * power) as u32;
|
||||
*max_damage = (*max_damage as f32 * power) as u32;
|
||||
*scaled_damage = (*scaled_damage as f32 * 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;
|
||||
@ -421,7 +422,7 @@ impl CharacterAbility {
|
||||
},
|
||||
ChargedMelee {
|
||||
ref mut initial_damage,
|
||||
ref mut max_damage,
|
||||
ref mut scaled_damage,
|
||||
speed: ref mut ability_speed,
|
||||
ref mut charge_duration,
|
||||
ref mut swing_duration,
|
||||
@ -429,7 +430,7 @@ impl CharacterAbility {
|
||||
..
|
||||
} => {
|
||||
*initial_damage = (*initial_damage as f32 * power) as u32;
|
||||
*max_damage = (*max_damage as f32 * power) as u32;
|
||||
*scaled_damage = (*scaled_damage as f32 * power) as u32;
|
||||
*ability_speed *= speed;
|
||||
*charge_duration = (*charge_duration as f32 / speed) as u64;
|
||||
*swing_duration = (*swing_duration as f32 / speed) as u64;
|
||||
@ -437,7 +438,7 @@ impl CharacterAbility {
|
||||
},
|
||||
ChargedRanged {
|
||||
ref mut initial_damage,
|
||||
ref mut max_damage,
|
||||
ref mut scaled_damage,
|
||||
speed: ref mut ability_speed,
|
||||
ref mut buildup_duration,
|
||||
ref mut charge_duration,
|
||||
@ -445,7 +446,7 @@ impl CharacterAbility {
|
||||
..
|
||||
} => {
|
||||
*initial_damage = (*initial_damage as f32 * power) as u32;
|
||||
*max_damage = (*max_damage as f32 * power) as u32;
|
||||
*scaled_damage = (*scaled_damage as f32 * power) as u32;
|
||||
*ability_speed *= speed;
|
||||
*buildup_duration = (*buildup_duration as f32 / speed) as u64;
|
||||
*charge_duration = (*charge_duration as f32 / speed) as u64;
|
||||
@ -654,9 +655,9 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState {
|
||||
CharacterAbility::DashMelee {
|
||||
energy_cost: _,
|
||||
base_damage,
|
||||
max_damage,
|
||||
scaled_damage,
|
||||
base_knockback,
|
||||
max_knockback,
|
||||
scaled_knockback,
|
||||
range,
|
||||
angle,
|
||||
energy_drain,
|
||||
@ -670,9 +671,9 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState {
|
||||
} => CharacterState::DashMelee(dash_melee::Data {
|
||||
static_data: dash_melee::StaticData {
|
||||
base_damage: *base_damage,
|
||||
max_damage: *max_damage,
|
||||
scaled_damage: *scaled_damage,
|
||||
base_knockback: *base_knockback,
|
||||
max_knockback: *max_knockback,
|
||||
scaled_knockback: *scaled_knockback,
|
||||
range: *range,
|
||||
angle: *angle,
|
||||
energy_drain: *energy_drain,
|
||||
@ -718,6 +719,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState {
|
||||
energy_increase,
|
||||
speed_increase,
|
||||
max_speed_increase,
|
||||
scales_from_combo,
|
||||
is_interruptible,
|
||||
} => CharacterState::ComboMelee(combo_melee::Data {
|
||||
static_data: combo_melee::StaticData {
|
||||
@ -728,6 +730,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState {
|
||||
energy_increase: *energy_increase,
|
||||
speed_increase: 1.0 - *speed_increase,
|
||||
max_speed_increase: *max_speed_increase - 1.0,
|
||||
scales_from_combo: *scales_from_combo,
|
||||
is_interruptible: *is_interruptible,
|
||||
ability_key: key,
|
||||
},
|
||||
@ -805,9 +808,9 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState {
|
||||
energy_cost,
|
||||
energy_drain,
|
||||
initial_damage,
|
||||
max_damage,
|
||||
scaled_damage,
|
||||
initial_knockback,
|
||||
max_knockback,
|
||||
scaled_knockback,
|
||||
speed,
|
||||
charge_duration,
|
||||
swing_duration,
|
||||
@ -820,9 +823,9 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState {
|
||||
energy_cost: *energy_cost,
|
||||
energy_drain: *energy_drain,
|
||||
initial_damage: *initial_damage,
|
||||
max_damage: *max_damage,
|
||||
scaled_damage: *scaled_damage,
|
||||
initial_knockback: *initial_knockback,
|
||||
max_knockback: *max_knockback,
|
||||
scaled_knockback: *scaled_knockback,
|
||||
speed: *speed,
|
||||
range: *range,
|
||||
max_angle: *max_angle,
|
||||
@ -841,9 +844,9 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState {
|
||||
energy_cost: _,
|
||||
energy_drain,
|
||||
initial_damage,
|
||||
max_damage,
|
||||
scaled_damage,
|
||||
initial_knockback,
|
||||
max_knockback,
|
||||
scaled_knockback,
|
||||
speed,
|
||||
buildup_duration,
|
||||
charge_duration,
|
||||
@ -852,7 +855,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState {
|
||||
projectile_light,
|
||||
projectile_gravity,
|
||||
initial_projectile_speed,
|
||||
max_projectile_speed,
|
||||
scaled_projectile_speed,
|
||||
} => CharacterState::ChargedRanged(charged_ranged::Data {
|
||||
static_data: charged_ranged::StaticData {
|
||||
buildup_duration: Duration::from_millis(*buildup_duration),
|
||||
@ -860,15 +863,15 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState {
|
||||
recover_duration: Duration::from_millis(*recover_duration),
|
||||
energy_drain: *energy_drain,
|
||||
initial_damage: *initial_damage,
|
||||
max_damage: *max_damage,
|
||||
scaled_damage: *scaled_damage,
|
||||
speed: *speed,
|
||||
initial_knockback: *initial_knockback,
|
||||
max_knockback: *max_knockback,
|
||||
scaled_knockback: *scaled_knockback,
|
||||
projectile_body: *projectile_body,
|
||||
projectile_light: *projectile_light,
|
||||
projectile_gravity: *projectile_gravity,
|
||||
initial_projectile_speed: *initial_projectile_speed,
|
||||
max_projectile_speed: *max_projectile_speed,
|
||||
scaled_projectile_speed: *scaled_projectile_speed,
|
||||
ability_key: key,
|
||||
},
|
||||
timer: Duration::default(),
|
||||
|
@ -18,12 +18,12 @@ pub struct StaticData {
|
||||
pub energy_cost: u32,
|
||||
/// How much damage is dealt with no charge
|
||||
pub initial_damage: u32,
|
||||
/// How much damage is dealt with max charge
|
||||
pub max_damage: u32,
|
||||
/// How much the damage is scaled by
|
||||
pub scaled_damage: u32,
|
||||
/// How much knockback there is with no charge
|
||||
pub initial_knockback: f32,
|
||||
/// How much knockback there is at max charge
|
||||
pub max_knockback: f32,
|
||||
/// How much the knockback is scaled by
|
||||
pub scaled_knockback: f32,
|
||||
/// Max range
|
||||
pub range: f32,
|
||||
/// Max angle (45.0 will give you a 90.0 angle window)
|
||||
@ -148,17 +148,13 @@ impl CharacterBehavior for Data {
|
||||
exhausted: true,
|
||||
..*self
|
||||
});
|
||||
let mut damage = Damage {
|
||||
let damage = Damage {
|
||||
source: DamageSource::Melee,
|
||||
value: self.static_data.max_damage as f32,
|
||||
value: self.static_data.initial_damage as f32
|
||||
+ self.charge_amount * self.static_data.scaled_damage as f32,
|
||||
};
|
||||
damage.interpolate_damage(
|
||||
self.charge_amount,
|
||||
self.static_data.initial_damage as f32,
|
||||
);
|
||||
let knockback = self.static_data.initial_knockback
|
||||
+ (self.static_data.max_knockback - self.static_data.initial_knockback)
|
||||
* self.charge_amount;
|
||||
+ self.charge_amount * self.static_data.scaled_knockback;
|
||||
|
||||
// Hit attempt
|
||||
data.updater.insert(data.entity, Attacking {
|
||||
|
@ -28,12 +28,12 @@ pub struct StaticData {
|
||||
pub energy_drain: u32,
|
||||
/// How much damage is dealt with no charge
|
||||
pub initial_damage: u32,
|
||||
/// How much damage is dealt with max charge
|
||||
pub max_damage: u32,
|
||||
/// How much the damage scales as it is charged
|
||||
pub scaled_damage: u32,
|
||||
/// How much knockback there is with no charge
|
||||
pub initial_knockback: f32,
|
||||
/// How much knockback there is at max charge
|
||||
pub max_knockback: f32,
|
||||
/// How much the knockback scales as it is charged
|
||||
pub scaled_knockback: f32,
|
||||
/// Speed stat of the weapon
|
||||
pub speed: f32,
|
||||
/// Projectile information
|
||||
@ -41,7 +41,7 @@ pub struct StaticData {
|
||||
pub projectile_light: Option<LightEmitter>,
|
||||
pub projectile_gravity: Option<Gravity>,
|
||||
pub initial_projectile_speed: f32,
|
||||
pub max_projectile_speed: f32,
|
||||
pub scaled_projectile_speed: f32,
|
||||
/// What key is used to press ability
|
||||
pub ability_key: AbilityKey,
|
||||
}
|
||||
@ -100,15 +100,13 @@ impl CharacterBehavior for Data {
|
||||
let charge_frac = (self.timer.as_secs_f32()
|
||||
/ self.static_data.charge_duration.as_secs_f32())
|
||||
.min(1.0);
|
||||
let mut damage = Damage {
|
||||
let damage = Damage {
|
||||
source: DamageSource::Projectile,
|
||||
value: self.static_data.max_damage as f32,
|
||||
value: self.static_data.initial_damage as f32
|
||||
+ charge_frac * self.static_data.scaled_damage as f32,
|
||||
};
|
||||
damage.interpolate_damage(charge_frac, self.static_data.initial_damage as f32);
|
||||
let knockback = self.static_data.initial_knockback as f32
|
||||
+ (charge_frac
|
||||
* (self.static_data.max_knockback - self.static_data.initial_knockback)
|
||||
as f32);
|
||||
let knockback = self.static_data.initial_knockback
|
||||
+ charge_frac * self.static_data.scaled_knockback;
|
||||
// Fire
|
||||
let projectile = Projectile {
|
||||
hit_solid: vec![projectile::Effect::Stick],
|
||||
@ -140,9 +138,7 @@ impl CharacterBehavior for Data {
|
||||
light: self.static_data.projectile_light,
|
||||
gravity: self.static_data.projectile_gravity,
|
||||
speed: self.static_data.initial_projectile_speed
|
||||
+ charge_frac
|
||||
* (self.static_data.max_projectile_speed
|
||||
- self.static_data.initial_projectile_speed),
|
||||
+ charge_frac * self.static_data.scaled_projectile_speed,
|
||||
});
|
||||
|
||||
update.character = CharacterState::ChargedRanged(Data {
|
||||
|
@ -15,8 +15,6 @@ pub struct Stage<T> {
|
||||
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,
|
||||
/// Knockback of stage
|
||||
@ -41,7 +39,6 @@ impl Stage<u64> {
|
||||
Stage::<Duration> {
|
||||
stage: self.stage,
|
||||
base_damage: self.base_damage,
|
||||
max_damage: self.max_damage,
|
||||
damage_increase: self.damage_increase,
|
||||
knockback: self.knockback,
|
||||
range: self.range,
|
||||
@ -55,7 +52,6 @@ impl Stage<u64> {
|
||||
|
||||
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;
|
||||
@ -82,6 +78,8 @@ pub struct StaticData {
|
||||
pub speed_increase: f32,
|
||||
/// (100% + max_speed_increase) is the max attack speed
|
||||
pub max_speed_increase: f32,
|
||||
/// Number of times damage scales with combo
|
||||
pub scales_from_combo: u32,
|
||||
/// Whether the state can be interrupted by other abilities
|
||||
pub is_interruptible: bool,
|
||||
/// What key is used to press ability
|
||||
@ -153,11 +151,12 @@ impl CharacterBehavior for Data {
|
||||
});
|
||||
|
||||
// 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 damage = self.static_data.stage_data[stage_index].base_damage
|
||||
+ self
|
||||
.static_data
|
||||
.scales_from_combo
|
||||
.min(self.combo / self.static_data.num_stages)
|
||||
* self.static_data.stage_data[stage_index].damage_increase;
|
||||
data.updater.insert(data.entity, Attacking {
|
||||
damages: vec![(Some(GroupTarget::OutOfGroup), Damage {
|
||||
source: DamageSource::Melee,
|
||||
|
@ -15,12 +15,12 @@ use vek::Vec3;
|
||||
pub struct StaticData {
|
||||
/// How much damage the attack initially does
|
||||
pub base_damage: u32,
|
||||
/// How much damage the attack does at max charge distance
|
||||
pub max_damage: u32,
|
||||
/// How much the attack scales in damage
|
||||
pub scaled_damage: u32,
|
||||
/// How much the attack knocks the target back initially
|
||||
pub base_knockback: f32,
|
||||
/// How much knockback happens at max charge distance
|
||||
pub max_knockback: f32,
|
||||
/// How much the attack scales in knockback
|
||||
pub scaled_knockback: f32,
|
||||
/// Range of the attack
|
||||
pub range: f32,
|
||||
/// Angle of the attack
|
||||
@ -125,18 +125,13 @@ impl CharacterBehavior for Data {
|
||||
if !self.exhausted {
|
||||
// Hit attempt (also checks if player is moving)
|
||||
if update.vel.0.distance_squared(Vec3::zero()) > 1.0 {
|
||||
let mut damage = Damage {
|
||||
let damage = Damage {
|
||||
source: DamageSource::Melee,
|
||||
value: self.static_data.max_damage as f32,
|
||||
value: self.static_data.base_damage as f32
|
||||
+ charge_frac * self.static_data.scaled_damage as f32,
|
||||
};
|
||||
damage.interpolate_damage(
|
||||
charge_frac,
|
||||
self.static_data.base_damage as f32,
|
||||
);
|
||||
let knockback = (self.static_data.max_knockback
|
||||
- self.static_data.base_knockback)
|
||||
* charge_frac
|
||||
+ self.static_data.base_knockback;
|
||||
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)],
|
||||
range: self.static_data.range,
|
||||
|
@ -126,7 +126,6 @@ fn matches_ability_stage() {
|
||||
stage_data: vec![states::combo_melee::Stage {
|
||||
stage: 1,
|
||||
base_damage: 100,
|
||||
max_damage: 120,
|
||||
damage_increase: 10,
|
||||
knockback: 10.0,
|
||||
range: 4.0,
|
||||
@ -141,6 +140,7 @@ fn matches_ability_stage() {
|
||||
energy_increase: 20,
|
||||
speed_increase: 0.05,
|
||||
max_speed_increase: 1.8,
|
||||
scales_from_combo: 2,
|
||||
is_interruptible: true,
|
||||
ability_key: states::utils::AbilityKey::Mouse1,
|
||||
},
|
||||
@ -187,7 +187,6 @@ fn ignores_different_ability_stage() {
|
||||
stage_data: vec![states::combo_melee::Stage {
|
||||
stage: 1,
|
||||
base_damage: 100,
|
||||
max_damage: 120,
|
||||
damage_increase: 10,
|
||||
knockback: 10.0,
|
||||
range: 4.0,
|
||||
@ -202,6 +201,7 @@ fn ignores_different_ability_stage() {
|
||||
energy_increase: 20,
|
||||
speed_increase: 0.05,
|
||||
max_speed_increase: 1.8,
|
||||
scales_from_combo: 2,
|
||||
is_interruptible: true,
|
||||
ability_key: states::utils::AbilityKey::Mouse1,
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user