mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Merge branch 'sam/small-fixes' into 'master'
Poise damage now only conditionally converted to health damage See merge request veloren/veloren!3438
This commit is contained in:
commit
f4d9cca89b
@ -1523,7 +1523,6 @@
|
||||
material: ("common.items.log.wood", 5),
|
||||
modifier: None,
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1535,7 +1534,6 @@
|
||||
material: ("common.items.log.bamboo", 5),
|
||||
modifier: None,
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1547,7 +1545,6 @@
|
||||
material: ("common.items.log.hardwood", 5),
|
||||
modifier: None,
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1559,7 +1556,6 @@
|
||||
material: ("common.items.log.ironwood", 5),
|
||||
modifier: None,
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1571,7 +1567,6 @@
|
||||
material: ("common.items.log.frostwood", 5),
|
||||
modifier: None,
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1583,7 +1578,6 @@
|
||||
material: ("common.items.log.eldwood", 5),
|
||||
modifier: None,
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1595,7 +1589,6 @@
|
||||
material: ("common.items.log.wood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.sharp_fang", 1)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1607,7 +1600,6 @@
|
||||
material: ("common.items.log.bamboo", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.sharp_fang", 2)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1619,7 +1611,6 @@
|
||||
material: ("common.items.log.hardwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.sharp_fang", 5)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1631,7 +1622,6 @@
|
||||
material: ("common.items.log.ironwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.sharp_fang", 10)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1643,7 +1633,6 @@
|
||||
material: ("common.items.log.frostwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.sharp_fang", 15)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1655,7 +1644,6 @@
|
||||
material: ("common.items.log.eldwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.sharp_fang", 25)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1667,7 +1655,6 @@
|
||||
material: ("common.items.log.wood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.large_horn", 1)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1679,7 +1666,6 @@
|
||||
material: ("common.items.log.bamboo", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.large_horn", 2)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1691,7 +1677,6 @@
|
||||
material: ("common.items.log.hardwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.large_horn", 5)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1703,7 +1688,6 @@
|
||||
material: ("common.items.log.ironwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.large_horn", 10)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1715,7 +1699,6 @@
|
||||
material: ("common.items.log.frostwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.large_horn", 15)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1727,7 +1710,6 @@
|
||||
material: ("common.items.log.eldwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.large_horn", 25)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1739,7 +1721,6 @@
|
||||
material: ("common.items.log.wood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.long_tusk", 1)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1751,7 +1732,6 @@
|
||||
material: ("common.items.log.bamboo", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.long_tusk", 2)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1763,7 +1743,6 @@
|
||||
material: ("common.items.log.hardwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.long_tusk", 5)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1775,7 +1754,6 @@
|
||||
material: ("common.items.log.ironwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.long_tusk", 10)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1787,7 +1765,6 @@
|
||||
material: ("common.items.log.frostwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.long_tusk", 15)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1799,7 +1776,6 @@
|
||||
material: ("common.items.log.eldwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.long_tusk", 25)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1811,7 +1787,6 @@
|
||||
material: ("common.items.log.wood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.elegant_crest", 1)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1823,7 +1798,6 @@
|
||||
material: ("common.items.log.bamboo", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.elegant_crest", 2)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1835,7 +1809,6 @@
|
||||
material: ("common.items.log.hardwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.elegant_crest", 5)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1847,7 +1820,6 @@
|
||||
material: ("common.items.log.ironwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.elegant_crest", 10)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1859,7 +1831,6 @@
|
||||
material: ("common.items.log.frostwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.elegant_crest", 15)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1871,7 +1842,6 @@
|
||||
material: ("common.items.log.eldwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.elegant_crest", 25)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1883,7 +1853,6 @@
|
||||
material: ("common.items.log.wood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.claw", 1)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1895,7 +1864,6 @@
|
||||
material: ("common.items.log.bamboo", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.claw", 2)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1907,7 +1875,6 @@
|
||||
material: ("common.items.log.hardwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.claw", 5)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1919,7 +1886,6 @@
|
||||
material: ("common.items.log.ironwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.claw", 10)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1931,7 +1897,6 @@
|
||||
material: ("common.items.log.frostwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.claw", 15)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1943,7 +1908,6 @@
|
||||
material: ("common.items.log.eldwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.claw", 25)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1955,7 +1919,6 @@
|
||||
material: ("common.items.log.wood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.strong_pincer", 1)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1967,7 +1930,6 @@
|
||||
material: ("common.items.log.bamboo", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.strong_pincer", 2)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1979,7 +1941,6 @@
|
||||
material: ("common.items.log.hardwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.strong_pincer", 5)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -1991,7 +1952,6 @@
|
||||
material: ("common.items.log.ironwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.strong_pincer", 10)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -2003,7 +1963,6 @@
|
||||
material: ("common.items.log.frostwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.strong_pincer", 15)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -2015,7 +1974,6 @@
|
||||
material: ("common.items.log.eldwood", 5),
|
||||
modifier: Some(("common.items.crafting_ing.animal_misc.strong_pincer", 25)),
|
||||
additional_inputs: [
|
||||
(Item("common.items.crafting_ing.sticky_thread"), 3),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
|
@ -15,7 +15,7 @@ ItemDef(
|
||||
buff_strength: 0.8,
|
||||
),
|
||||
hand_restriction: Some(Two),
|
||||
weapon_name: Universal("Long Pole"),
|
||||
weapon_name: Universal("Longpole"),
|
||||
)
|
||||
),
|
||||
quality: Low,
|
||||
|
@ -286,10 +286,27 @@ impl Attack {
|
||||
time,
|
||||
};
|
||||
if change.abs() > Poise::POISE_EPSILON {
|
||||
emit(ServerEvent::PoiseChange {
|
||||
entity: target.entity,
|
||||
change: poise_change,
|
||||
});
|
||||
// If target is in a stunned state, apply extra poise damage as health
|
||||
// damage instead
|
||||
if let Some(CharacterState::Stunned(data)) = target.char_state {
|
||||
let health_change =
|
||||
change * data.static_data.poise_state.damage_multiplier();
|
||||
let health_change = HealthChange {
|
||||
amount: health_change,
|
||||
by: attacker.map(|x| x.into()),
|
||||
cause: Some(damage.damage.source),
|
||||
time,
|
||||
};
|
||||
emit(ServerEvent::HealthChange {
|
||||
entity: target.entity,
|
||||
change: health_change,
|
||||
});
|
||||
} else {
|
||||
emit(ServerEvent::PoiseChange {
|
||||
entity: target.entity,
|
||||
change: poise_change,
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
// Piercing damage ignores some penetration, and is handled when damage
|
||||
|
@ -55,24 +55,11 @@ enum DamageContrib {
|
||||
pub fn handle_poise(server: &Server, entity: EcsEntity, change: comp::PoiseChange) {
|
||||
let ecs = &server.state.ecs();
|
||||
if let Some(character_state) = ecs.read_storage::<CharacterState>().get(entity) {
|
||||
// Entity is invincible to poise change during stunned/staggered character
|
||||
// state, but the mitigated poise damage is converted to health damage instead
|
||||
if let CharacterState::Stunned(data) = character_state {
|
||||
let health_change = change.amount * data.static_data.poise_state.damage_multiplier();
|
||||
let time = ecs.read_resource::<Time>();
|
||||
let health_change = HealthChange {
|
||||
amount: health_change,
|
||||
by: None,
|
||||
cause: None,
|
||||
time: *time,
|
||||
};
|
||||
let server_eventbus = ecs.read_resource::<EventBus<ServerEvent>>();
|
||||
server_eventbus.emit_now(ServerEvent::HealthChange {
|
||||
entity,
|
||||
change: health_change,
|
||||
});
|
||||
} else if let Some(mut poise) = ecs.write_storage::<Poise>().get_mut(entity) {
|
||||
poise.change(change);
|
||||
// Entity is invincible to poise change during stunned character state
|
||||
if !matches!(character_state, CharacterState::Stunned(_)) {
|
||||
if let Some(mut poise) = ecs.write_storage::<Poise>().get_mut(entity) {
|
||||
poise.change(change);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user