Merge branch 'slipped/oritweak' into 'master'

ori tweaks, animal adjusts

See merge request veloren/veloren!2234
This commit is contained in:
Samuel Keiffer 2021-05-03 18:49:22 +00:00
commit 771a8db2a8
53 changed files with 229 additions and 190 deletions

View File

@ -36,4 +36,5 @@ ComboMelee(
max_speed_increase: 0.6,
scales_from_combo: 2,
is_interruptible: false,
ori_modifier: 1.0,
)

View File

@ -36,4 +36,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.6,
)

View File

@ -3,7 +3,7 @@ BasicRanged(
buildup_duration: 0.5,
recover_duration: 0.3,
projectile: Arrow(
damage: 70.0,
damage: 35.0,
knockback: 5.0,
energy_regen: 40,
),

View File

@ -50,4 +50,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.7,
)

View File

@ -50,4 +50,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.7,
)

View File

@ -22,4 +22,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.6,
)

View File

@ -50,4 +50,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.6,
)

View File

@ -7,7 +7,7 @@ ComboMelee(
base_poise_damage: 28,
poise_damage_increase: 0,
knockback: 3.0,
range: 3.5,
range: 2.0,
angle: 60.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.07,
@ -22,4 +22,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.6,
)

View File

@ -2,12 +2,12 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 120,
base_damage: 80,
damage_increase: 0,
base_poise_damage: 15,
poise_damage_increase: 0,
knockback: 7.0,
range: 3.5,
range: 2.2,
angle: 30.0,
base_buildup_duration: 0.65,
base_swing_duration: 0.07,
@ -21,7 +21,7 @@ ComboMelee(
base_poise_damage: 18,
poise_damage_increase: 0,
knockback: 7.0,
range: 3.5,
range: 2.2,
angle: 30.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.07,
@ -30,12 +30,12 @@ ComboMelee(
),
(
stage: 3,
base_damage: 130,
base_damage: 80,
damage_increase: 0,
base_poise_damage: 20,
poise_damage_increase: 0,
knockback: 7.0,
range: 3.5,
range: 2.2,
angle: 30.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.07,
@ -50,4 +50,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.65,
)

View File

@ -1,12 +1,12 @@
DashMelee(
energy_cost: 0,
base_damage: 150,
scaled_damage: 110,
base_damage: 50,
scaled_damage: 100,
base_poise_damage: 25,
scaled_poise_damage: 0,
base_knockback: 4.0,
scaled_knockback: 17.0,
range: 5.0,
range: 2.5,
angle: 45.0,
energy_drain: 0,
forward_speed: 4.0,

View File

@ -2,7 +2,7 @@ BasicBeam(
buildup_duration: 0.4,
recover_duration: 0.25,
beam_duration: 0.5,
damage: 50,
damage: 40,
tick_rate: 3.0,
range: 15.0,
max_angle: 22.5,

View File

@ -2,12 +2,12 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 100,
base_damage: 75,
damage_increase: 0,
base_poise_damage: 0,
poise_damage_increase: 0,
knockback: 10.0,
range: 4.5,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.65,
base_swing_duration: 0.1,
@ -16,12 +16,12 @@ ComboMelee(
),
(
stage: 2,
base_damage: 80,
base_damage: 75,
damage_increase: 0,
base_poise_damage: 0,
poise_damage_increase: 0,
knockback: 10.0,
range: 3.5,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.1,
@ -30,12 +30,12 @@ ComboMelee(
),
(
stage: 3,
base_damage: 130,
base_damage: 75,
damage_increase: 0,
base_poise_damage: 0,
poise_damage_increase: 0,
knockback: 10.0,
range: 3.5,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.1,
@ -50,4 +50,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.7,
)

View File

@ -1,7 +1,7 @@
DashMelee(
energy_cost: 0,
base_damage: 30,
scaled_damage: 10,
base_damage: 40,
scaled_damage: 80,
base_poise_damage: 30,
scaled_poise_damage: 0,
base_knockback: 2.0,

View File

@ -2,12 +2,12 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 100,
base_damage: 60,
damage_increase: 0,
base_poise_damage: 15,
poise_damage_increase: 0,
knockback: 2.0,
range: 3.5,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.6,
base_swing_duration: 0.1,
@ -16,12 +16,12 @@ ComboMelee(
),
(
stage: 2,
base_damage: 130,
base_damage: 60,
damage_increase: 0,
base_poise_damage: 15,
poise_damage_increase: 0,
knockback: 2.0,
range: 3.5,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.15,
base_swing_duration: 0.07,
@ -30,12 +30,12 @@ ComboMelee(
),
(
stage: 3,
base_damage: 130,
base_damage: 60,
damage_increase: 0,
base_poise_damage: 15,
poise_damage_increase: 0,
knockback: 2.0,
range: 3.5,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.2,
base_swing_duration: 0.07,
@ -44,12 +44,12 @@ ComboMelee(
),
(
stage: 4,
base_damage: 130,
base_damage: 60,
damage_increase: 0,
base_poise_damage: 15,
poise_damage_increase: 0,
knockback: 8.0,
range: 3.5,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.2,
base_swing_duration: 0.07,
@ -64,4 +64,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.8,
)

View File

@ -2,7 +2,7 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 60,
base_damage: 80,
damage_increase: 0,
base_poise_damage: 28,
poise_damage_increase: 0,
@ -22,4 +22,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.65,
)

View File

@ -1,8 +1,8 @@
ChargedMelee(
energy_cost: 0,
energy_drain: 0,
initial_damage: 160,
scaled_damage: 40,
initial_damage: 40,
scaled_damage: 200,
initial_poise_damage: 30,
scaled_poise_damage: 80,
initial_knockback: 10.0,

View File

@ -2,12 +2,12 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 100,
base_damage: 80,
damage_increase: 0,
base_poise_damage: 0,
poise_damage_increase: 22,
knockback: 10.0,
range: 3.5,
range: 2.2,
angle: 30.0,
base_buildup_duration: 0.65,
base_swing_duration: 0.1,
@ -16,12 +16,12 @@ ComboMelee(
),
(
stage: 2,
base_damage: 120,
base_damage: 80,
damage_increase: 0,
base_poise_damage: 22,
poise_damage_increase: 0,
knockback: 10.0,
range: 3.5,
range: 2.2,
angle: 30.0,
base_buildup_duration: 0.2,
base_swing_duration: 0.1,
@ -30,12 +30,12 @@ ComboMelee(
),
(
stage: 3,
base_damage: 130,
base_damage: 80,
damage_increase: 0,
base_poise_damage: 22,
poise_damage_increase: 0,
knockback: 10.0,
range: 3.5,
range: 2.2,
angle: 30.0,
base_buildup_duration: 0.2,
base_swing_duration: 0.1,
@ -50,4 +50,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.7,
)

View File

@ -2,12 +2,12 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 120,
base_damage: 100,
damage_increase: 0,
base_poise_damage: 28,
poise_damage_increase: 0,
knockback: 5.0,
range: 3.5,
range: 2.7,
angle: 60.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.1,
@ -22,4 +22,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.7,
)

View File

@ -2,42 +2,42 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 120,
base_damage: 50,
damage_increase: 0,
base_poise_damage: 15,
poise_damage_increase: 0,
knockback: 5.0,
range: 3.5,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.4,
base_buildup_duration: 0.45,
base_swing_duration: 0.07,
base_recover_duration: 0.4,
base_recover_duration: 0.2,
forward_movement: 1.0,
),
(
stage: 2,
base_damage: 120,
base_damage: 50,
damage_increase: 0,
base_poise_damage: 18,
poise_damage_increase: 0,
knockback: 5.0,
range: 3.5,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.25,
base_buildup_duration: 0.4,
base_swing_duration: 0.07,
base_recover_duration: 0.2,
forward_movement: 0.0,
),
(
stage: 3,
base_damage: 120,
base_damage: 50,
damage_increase: 0,
base_poise_damage: 20,
poise_damage_increase: 0,
knockback: 5.0,
range: 3.5,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.25,
base_buildup_duration: 0.4,
base_swing_duration: 0.07,
base_recover_duration: 0.2,
forward_movement: 1.0,
@ -50,4 +50,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.7,
)

View File

@ -1,12 +1,12 @@
DashMelee(
energy_cost: 0,
base_damage: 150,
scaled_damage: 40,
base_damage: 50,
scaled_damage: 150,
base_poise_damage: 28,
scaled_poise_damage: 40,
base_knockback: 8.0,
scaled_knockback: 17.0,
range: 4.0,
range: 2.5,
angle: 45.0,
energy_drain: 0,
forward_speed: 2.0,

View File

@ -2,12 +2,12 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 100,
base_damage: 75,
damage_increase: 0,
base_poise_damage: 22,
poise_damage_increase: 0,
knockback: 10.0,
range: 3.5,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.65,
base_swing_duration: 0.1,
@ -16,12 +16,12 @@ ComboMelee(
),
(
stage: 2,
base_damage: 80,
base_damage: 75,
damage_increase: 0,
base_poise_damage: 0,
poise_damage_increase: 22,
knockback: 10.0,
range: 3.5,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.1,
@ -36,4 +36,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.7,
)

View File

@ -3,9 +3,9 @@ BasicMelee(
buildup_duration: 0.45,
swing_duration: 0.5,
recover_duration: 0.35,
base_damage: 130,
base_damage: 100,
base_poise_damage: 28,
knockback: 25.0,
range: 3.0,
max_angle: 120.0,
range: 1.2,
max_angle: 50.0,
)

View File

@ -2,12 +2,12 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 100,
base_damage: 80,
damage_increase: 0,
base_poise_damage: 30,
poise_damage_increase: 0,
knockback: 4.0,
range: 3.5,
range: 2.2,
angle: 30.0,
base_buildup_duration: 0.65,
base_swing_duration: 0.1,
@ -21,7 +21,7 @@ ComboMelee(
base_poise_damage: 30,
poise_damage_increase: 0,
knockback: 4.0,
range: 3.5,
range: 2.2,
angle: 30.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.1,
@ -36,4 +36,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.8,
)

View File

@ -4,7 +4,7 @@ LeapMelee(
movement_duration: 0.4,
swing_duration: 0.075,
recover_duration: 0.2,
base_damage: 240,
base_damage: 120,
base_poise_damage: 60,
knockback: 4.0,
range: 4.5,

View File

@ -4,7 +4,7 @@ LeapMelee(
movement_duration: 0.3,
swing_duration: 0.075,
recover_duration: 0.125,
base_damage: 120,
base_damage: 80,
base_poise_damage: 30,
knockback: 2.0,
range: 4.5,

View File

@ -1,6 +1,6 @@
DashMelee(
energy_cost: 0,
base_damage: 130,
base_damage: 75,
scaled_damage: 20,
base_poise_damage: 28,
scaled_poise_damage: 28,

View File

@ -2,13 +2,13 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 150,
base_damage: 100,
damage_increase: 0,
base_poise_damage: 15,
poise_damage_increase: 0,
knockback: 5.0,
range: 3.5,
angle: 60.0,
range: 2.2,
angle: 40.0,
base_buildup_duration: 0.6,
base_swing_duration: 0.15,
base_recover_duration: 0.4,
@ -16,13 +16,13 @@ ComboMelee(
),
(
stage: 2,
base_damage: 150,
base_damage: 100,
damage_increase: 0,
base_poise_damage: 17,
poise_damage_increase: 0,
knockback: 5.0,
range: 3.5,
angle: 60.0,
range: 2.2,
angle: 40.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.15,
base_recover_duration: 0.3,
@ -30,13 +30,13 @@ ComboMelee(
),
(
stage: 3,
base_damage: 150,
base_damage: 100,
damage_increase: 0,
base_poise_damage: 20,
poise_damage_increase: 0,
knockback: 5.0,
range: 3.5,
angle: 60.0,
range: 2.2,
angle: 40.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.15,
base_recover_duration: 0.3,
@ -50,4 +50,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.8,
)

View File

@ -7,8 +7,8 @@ ComboMelee(
base_poise_damage: 10,
poise_damage_increase: 0,
knockback: 3.0,
range: 3.5,
angle: 60.0,
range: 1.5,
angle: 50.0,
base_buildup_duration: 0.3,
base_swing_duration: 0.15,
base_recover_duration: 0.3,
@ -22,4 +22,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.7,
)

View File

@ -22,4 +22,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.7,
)

View File

@ -2,7 +2,7 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 150,
base_damage: 130,
damage_increase: 0,
base_poise_damage: 40,
poise_damage_increase: 0,
@ -22,4 +22,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.7,
)

View File

@ -2,7 +2,7 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 170,
base_damage: 140,
damage_increase: 0,
base_poise_damage: 35,
poise_damage_increase: 0,
@ -16,7 +16,7 @@ ComboMelee(
),
(
stage: 2,
base_damage: 190,
base_damage: 160,
damage_increase: 0,
base_poise_damage: 35,
poise_damage_increase: 0,
@ -30,7 +30,7 @@ ComboMelee(
),
(
stage: 3,
base_damage: 230,
base_damage: 200,
damage_increase: 0,
base_poise_damage: 35,
poise_damage_increase: 0,
@ -50,4 +50,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.7,
)

View File

@ -2,13 +2,13 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 150,
base_damage: 110,
damage_increase: 0,
base_poise_damage: 28,
poise_damage_increase: 0,
knockback: 2.0,
range: 5.5,
angle: 5.0,
range: 3.0,
angle: 15.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.15,
base_recover_duration: 0.4,
@ -22,4 +22,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.7,
)

View File

@ -2,13 +2,13 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 170,
base_damage: 110,
damage_increase: 0,
base_poise_damage: 20,
poise_damage_increase: 0,
knockback: 3.0,
range: 4.5,
angle: 5.0,
range: 3.0,
angle: 15.0,
base_buildup_duration: 0.65,
base_swing_duration: 0.15,
base_recover_duration: 0.3,
@ -16,13 +16,13 @@ ComboMelee(
),
(
stage: 2,
base_damage: 190,
base_damage: 150,
damage_increase: 0,
base_poise_damage: 20,
poise_damage_increase: 0,
knockback: 3.0,
range: 4.0,
angle: 10.0,
range: 3.0,
angle: 15.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.15,
base_recover_duration: 0.15,
@ -30,13 +30,13 @@ ComboMelee(
),
(
stage: 3,
base_damage: 230,
base_damage: 180,
damage_increase: 0,
base_poise_damage: 20,
poise_damage_increase: 0,
knockback: 3.0,
range: 4.0,
angle: 10.0,
range: 3.0,
angle: 15.0,
base_buildup_duration: 0.35,
base_swing_duration: 0.125,
base_recover_duration: 0.9,
@ -50,4 +50,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.6,
)

View File

@ -2,14 +2,14 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 100,
base_damage: 120,
damage_increase: 0,
base_poise_damage: 40,
poise_damage_increase: 0,
knockback: 3.0,
range: 3.5,
angle: 30.0,
base_buildup_duration: 0.5,
base_buildup_duration: 0.6,
base_swing_duration: 0.2,
base_recover_duration: 0.4,
forward_movement: 5.0,
@ -22,4 +22,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.7,
)

View File

@ -20,4 +20,5 @@ ComboMelee(
max_speed_increase: 0.4,
scales_from_combo: 2,
is_interruptible: false,
ori_modifier: 1.0,
)

View File

@ -36,4 +36,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.6,
)

View File

@ -1,7 +1,7 @@
DashMelee(
energy_cost: 100,
base_damage: 80,
scaled_damage: 160,
base_damage: 60,
scaled_damage: 100,
base_poise_damage: 45,
scaled_poise_damage: 0,
base_knockback: 8.0,

View File

@ -2,8 +2,8 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 90,
damage_increase: 10,
base_damage: 65,
damage_increase: 0,
base_poise_damage: 18,
poise_damage_increase: 0,
knockback: 4.0,
@ -16,8 +16,8 @@ ComboMelee(
),
(
stage: 2,
base_damage: 130,
damage_increase: 20,
base_damage: 80,
damage_increase: 0,
base_poise_damage: 18,
poise_damage_increase: 0,
knockback: 7.0,
@ -36,4 +36,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 2,
is_interruptible: false,
ori_modifier: 0.75,
)

View File

@ -3,7 +3,7 @@ BasicRanged(
buildup_duration: 0.5,
recover_duration: 0.35,
projectile: Fireball(
damage: 80.0,
damage: 60.0,
radius: 5.0,
energy_regen: 50,
),

View File

@ -2,7 +2,7 @@ BasicBeam(
buildup_duration: 0.5,
recover_duration: 0.5,
beam_duration: 1.0,
damage: 50,
damage: 35,
tick_rate: 3.0,
range: 20.0,
max_angle: 15.0,

View File

@ -50,4 +50,5 @@ ComboMelee(
max_speed_increase: 0.8,
scales_from_combo: 2,
is_interruptible: true,
ori_modifier: 1.0,
)

View File

@ -1,6 +1,6 @@
DashMelee(
energy_cost: 100,
base_damage: 80,
base_damage: 90,
scaled_damage: 160,
base_poise_damage: 40,
scaled_poise_damage: 0,

View File

@ -2,7 +2,7 @@ ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 90,
base_damage: 80,
damage_increase: 10,
base_poise_damage: 15,
poise_damage_increase: 0,
@ -16,7 +16,7 @@ ComboMelee(
),
(
stage: 2,
base_damage: 130,
base_damage: 100,
damage_increase: 15,
base_poise_damage: 20,
poise_damage_increase: 0,
@ -36,4 +36,5 @@ ComboMelee(
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.7,
)

View File

@ -138,6 +138,7 @@ pub enum CharacterAbility {
max_speed_increase: f32,
scales_from_combo: u32,
is_interruptible: bool,
ori_modifier: f32,
},
LeapMelee {
energy_cost: f32,
@ -1309,6 +1310,7 @@ impl From<(&CharacterAbility, AbilityInfo)> for CharacterState {
max_speed_increase,
scales_from_combo,
is_interruptible,
ori_modifier,
} => CharacterState::ComboMelee(combo_melee::Data {
static_data: combo_melee::StaticData {
num_stages: stage_data.len() as u32,
@ -1320,6 +1322,7 @@ impl From<(&CharacterAbility, AbilityInfo)> for CharacterState {
max_speed_increase: *max_speed_increase,
scales_from_combo: *scales_from_combo,
is_interruptible: *is_interruptible,
ori_modifier: *ori_modifier as f32,
ability_info,
},
stage: 1,

View File

@ -385,79 +385,77 @@ impl Body {
match self {
Body::Humanoid(_) => 500,
Body::QuadrupedSmall(quadruped_small) => match quadruped_small.species {
quadruped_small::Species::Boar => 360,
quadruped_small::Species::Batfox => 200,
quadruped_small::Species::Dodarock => 640,
quadruped_small::Species::Holladon => 500,
quadruped_small::Species::Hyena => 300,
quadruped_small::Species::Truffler => 360,
_ => 200,
quadruped_small::Species::Boar => 700,
quadruped_small::Species::Batfox => 400,
quadruped_small::Species::Dodarock => 1000,
quadruped_small::Species::Holladon => 800,
quadruped_small::Species::Hyena => 450,
quadruped_small::Species::Truffler => 450,
_ => 400,
},
Body::QuadrupedMedium(quadruped_medium) => match quadruped_medium.species {
quadruped_medium::Species::Grolgar => 600,
quadruped_medium::Species::Saber => 400,
quadruped_medium::Species::Tiger => 400,
quadruped_medium::Species::Tuskram => 600,
quadruped_medium::Species::Lion => 800,
quadruped_medium::Species::Tarasque => 1200,
quadruped_medium::Species::Wolf => 400,
quadruped_medium::Species::Grolgar => 900,
quadruped_medium::Species::Saber => 600,
quadruped_medium::Species::Tiger => 700,
quadruped_medium::Species::Lion => 900,
quadruped_medium::Species::Tarasque => 1500,
quadruped_medium::Species::Wolf => 550,
quadruped_medium::Species::Frostfang => 400,
quadruped_medium::Species::Mouflon => 500,
quadruped_medium::Species::Catoblepas => 1000,
quadruped_medium::Species::Bonerattler => 400,
quadruped_medium::Species::Deer => 300,
quadruped_medium::Species::Hirdrasil => 500,
quadruped_medium::Species::Roshwalr => 600,
quadruped_medium::Species::Donkey => 500,
quadruped_medium::Species::Camel => 600,
quadruped_medium::Species::Zebra => 500,
quadruped_medium::Species::Antelope => 300,
quadruped_medium::Species::Bonerattler => 500,
quadruped_medium::Species::Deer => 500,
quadruped_medium::Species::Hirdrasil => 700,
quadruped_medium::Species::Roshwalr => 800,
quadruped_medium::Species::Donkey => 550,
quadruped_medium::Species::Zebra => 550,
quadruped_medium::Species::Antelope => 450,
quadruped_medium::Species::Kelpie => 600,
quadruped_medium::Species::Horse => 600,
quadruped_medium::Species::Barghest => 1700,
quadruped_medium::Species::Cattle => 1000,
quadruped_medium::Species::Highland => 1200,
quadruped_medium::Species::Yak => 1000,
quadruped_medium::Species::Panda => 800,
quadruped_medium::Species::Bear => 800,
quadruped_medium::Species::Moose => 600,
quadruped_medium::Species::Yak => 1100,
quadruped_medium::Species::Panda => 900,
quadruped_medium::Species::Bear => 900,
quadruped_medium::Species::Moose => 800,
quadruped_medium::Species::Dreadhorn => 1100,
_ => 400,
_ => 700,
},
Body::BirdMedium(bird_medium) => match bird_medium.species {
bird_medium::Species::Chicken => 50,
bird_medium::Species::Duck => 50,
bird_medium::Species::Goose => 60,
bird_medium::Species::Parrot => 60,
bird_medium::Species::Peacock => 60,
bird_medium::Species::Eagle => 400,
_ => 100,
bird_medium::Species::Chicken => 300,
bird_medium::Species::Duck => 300,
bird_medium::Species::Goose => 300,
bird_medium::Species::Parrot => 250,
bird_medium::Species::Peacock => 350,
bird_medium::Species::Eagle => 450,
_ => 250,
},
Body::FishMedium(_) => 50,
Body::FishMedium(_) => 250,
Body::Dragon(_) => 5000,
Body::BirdLarge(_) => 3000,
Body::FishSmall(_) => 20,
Body::BipedLarge(biped_large) => match biped_large.species {
biped_large::Species::Ogre => 2500,
biped_large::Species::Cyclops => 2000,
biped_large::Species::Wendigo => 2000,
biped_large::Species::Troll => 1500,
biped_large::Species::Dullahan => 2000,
biped_large::Species::Ogre => 3200,
biped_large::Species::Cyclops => 3200,
biped_large::Species::Wendigo => 2800,
biped_large::Species::Troll => 2400,
biped_large::Species::Dullahan => 3000,
biped_large::Species::Mindflayer => 8000,
biped_large::Species::Tidalwarrior => 2500,
biped_large::Species::Yeti => 2000,
biped_large::Species::Yeti => 4000,
biped_large::Species::Minotaur => 5000,
biped_large::Species::Harvester => 2000,
biped_large::Species::Blueoni => 2300,
biped_large::Species::Redoni => 2300,
_ => 1000,
biped_large::Species::Harvester => 3000,
biped_large::Species::Blueoni => 2400,
biped_large::Species::Redoni => 2400,
_ => 1200,
},
Body::BipedSmall(biped_small) => match biped_small.species {
biped_small::Species::Gnarling => 300,
biped_small::Species::Adlet => 400,
biped_small::Species::Sahagin => 500,
biped_small::Species::Haniwa => 700,
biped_small::Species::Myrmidon => 800,
biped_small::Species::Gnarling => 500,
biped_small::Species::Adlet => 600,
biped_small::Species::Sahagin => 800,
biped_small::Species::Haniwa => 900,
biped_small::Species::Myrmidon => 900,
biped_small::Species::Husk => 200,
_ => 600,
},
@ -468,25 +466,25 @@ impl Body {
},
Body::Golem(_) => 2740,
Body::Theropod(theropod) => match theropod.species {
theropod::Species::Archaeos => 3000,
theropod::Species::Odonto => 2700,
theropod::Species::Archaeos => 3500,
theropod::Species::Odonto => 3000,
_ => 1100,
},
Body::QuadrupedLow(quadruped_low) => match quadruped_low.species {
quadruped_low::Species::Crocodile => 600,
quadruped_low::Species::Alligator => 600,
quadruped_low::Species::Salamander => 400,
quadruped_low::Species::Monitor => 150,
quadruped_low::Species::Asp => 400,
quadruped_low::Species::Tortoise => 600,
quadruped_low::Species::Rocksnapper => 1000,
quadruped_low::Species::Pangolin => 80,
quadruped_low::Species::Maneater => 400,
quadruped_low::Species::Sandshark => 800,
quadruped_low::Species::Hakulaq => 400,
quadruped_low::Species::Lavadrake => 900,
quadruped_low::Species::Deadwood => 600,
_ => 200,
quadruped_low::Species::Crocodile => 800,
quadruped_low::Species::Alligator => 900,
quadruped_low::Species::Monitor => 600,
quadruped_low::Species::Asp => 750,
quadruped_low::Species::Tortoise => 900,
quadruped_low::Species::Rocksnapper => 1200,
quadruped_low::Species::Pangolin => 400,
quadruped_low::Species::Maneater => 700,
quadruped_low::Species::Sandshark => 900,
quadruped_low::Species::Hakulaq => 500,
quadruped_low::Species::Lavadrake => 1000,
quadruped_low::Species::Basilisk => 1000,
quadruped_low::Species::Deadwood => 700,
_ => 700,
},
Body::Ship(_) => 10000,
}

View File

@ -36,6 +36,7 @@ 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.4);
match self.stage_section {

View File

@ -52,6 +52,7 @@ impl CharacterBehavior for Data {
handle_move(data, &mut update, 0.7);
handle_jump(data, &mut update, 1.0);
handle_orientation(data, &mut update, 0.35);
match self.stage_section {
StageSection::Buildup => {

View File

@ -97,6 +97,8 @@ pub struct StaticData {
pub scales_from_combo: u32,
/// Whether the state can be interrupted by other abilities
pub is_interruptible: bool,
/// Adjusts turning rate during the attack
pub ori_modifier: f32,
/// What key is used to press ability
pub ability_info: AbilityInfo,
}
@ -119,8 +121,7 @@ impl CharacterBehavior for Data {
fn behavior(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
handle_move(data, &mut update, 0.6);
handle_orientation(data, &mut update, 0.2);
handle_move(data, &mut update, 0.4);
let stage_index = (self.stage - 1) as usize;
@ -135,6 +136,8 @@ impl CharacterBehavior for Data {
match self.stage_section {
StageSection::Buildup => {
if self.timer < self.static_data.stage_data[stage_index].base_buildup_duration {
handle_orientation(data, &mut update, 0.4 * self.static_data.ori_modifier);
// Build up
update.character = CharacterState::ComboMelee(Data {
static_data: self.static_data.clone(),
@ -228,6 +231,8 @@ impl CharacterBehavior for Data {
},
StageSection::Swing => {
if self.timer < self.static_data.stage_data[stage_index].base_swing_duration {
handle_orientation(data, &mut update, 0.4 * self.static_data.ori_modifier);
// Forward movement
handle_forced_movement(
data,
@ -259,6 +264,7 @@ impl CharacterBehavior for Data {
},
StageSection::Recover => {
if self.timer < self.static_data.stage_data[stage_index].base_recover_duration {
handle_orientation(data, &mut update, 0.8 * self.static_data.ori_modifier);
// Recovers
update.character = CharacterState::ComboMelee(Data {
static_data: self.static_data.clone(),

View File

@ -56,6 +56,7 @@ 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);
handle_jump(data, &mut update, 1.0);

View File

@ -49,7 +49,7 @@ pub struct Data {
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, 1.0);
handle_jump(data, &mut update, 1.0);

View File

@ -47,7 +47,7 @@ impl CharacterBehavior for Data {
let mut update = StateUpdate::from(data);
// Smooth orientation
handle_orientation(data, &mut update, 1.3);
handle_orientation(data, &mut update, 2.5);
match self.stage_section {
StageSection::Buildup => {

View File

@ -129,32 +129,30 @@ impl Body {
/// The turn rate in 180°/s (or (rotations per second)/2)
pub fn base_ori_rate(&self) -> f32 {
match self {
Body::Humanoid(_) => 4.0,
Body::Humanoid(_) => 3.5,
Body::QuadrupedSmall(_) => 3.0,
Body::QuadrupedMedium(_) => 1.6,
Body::QuadrupedMedium(_) => 2.8,
Body::BirdMedium(_) => 6.0,
Body::FishMedium(_) => 6.0,
Body::Dragon(_) => 1.0,
Body::BirdLarge(_) => 7.0,
Body::FishSmall(_) => 7.0,
Body::BipedLarge(_) => 1.6,
Body::BipedSmall(_) => 2.4,
Body::BipedLarge(_) => 2.7,
Body::BipedSmall(_) => 3.5,
Body::Object(_) => 2.0,
Body::Golem(_) => 0.8,
Body::Golem(_) => 2.0,
Body::Theropod(theropod) => match theropod.species {
theropod::Species::Archaeos => 0.5,
theropod::Species::Odonto => 0.5,
theropod::Species::Ntouka => 0.5,
_ => 1.4,
theropod::Species::Archaeos => 2.3,
theropod::Species::Odonto => 2.3,
theropod::Species::Ntouka => 2.3,
_ => 2.5,
},
Body::QuadrupedLow(quadruped_low) => match quadruped_low.species {
quadruped_low::Species::Monitor => 1.8,
quadruped_low::Species::Asp => 1.6,
quadruped_low::Species::Tortoise => 0.6,
quadruped_low::Species::Rocksnapper => 0.8,
quadruped_low::Species::Maneater => 1.0,
quadruped_low::Species::Lavadrake => 0.8,
_ => 1.2,
quadruped_low::Species::Asp => 2.2,
quadruped_low::Species::Tortoise => 1.5,
quadruped_low::Species::Rocksnapper => 1.8,
quadruped_low::Species::Lavadrake => 1.7,
_ => 2.0,
},
Body::Ship(_) => 0.035,
}

View File

@ -132,6 +132,7 @@ fn matches_ability_stage() {
max_speed_increase: 0.8,
scales_from_combo: 2,
is_interruptible: true,
ori_modifier: 1.0,
ability_info: empty_ability_info(),
},
stage: 1,
@ -189,6 +190,7 @@ fn ignores_different_ability_stage() {
max_speed_increase: 0.8,
scales_from_combo: 2,
is_interruptible: true,
ori_modifier: 1.0,
ability_info: empty_ability_info(),
},
stage: 1,