diff --git a/assets/common/component_recipe_book.ron b/assets/common/component_recipe_book.ron index 08aa8992cc..0ef473e489 100644 --- a/assets/common/component_recipe_book.ron +++ b/assets/common/component_recipe_book.ron @@ -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), ), diff --git a/assets/common/items/modular/weapon/primary/staff/longpole.ron b/assets/common/items/modular/weapon/primary/staff/longpole.ron index 23c4a470bc..6cc9c8fc42 100644 --- a/assets/common/items/modular/weapon/primary/staff/longpole.ron +++ b/assets/common/items/modular/weapon/primary/staff/longpole.ron @@ -15,7 +15,7 @@ ItemDef( buff_strength: 0.8, ), hand_restriction: Some(Two), - weapon_name: Universal("Long Pole"), + weapon_name: Universal("Longpole"), ) ), quality: Low, diff --git a/common/src/combat.rs b/common/src/combat.rs index 6a4ecf9aec..d2330c9c64 100644 --- a/common/src/combat.rs +++ b/common/src/combat.rs @@ -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 diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index 985c7f10ed..7ff49a5e79 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -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::().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::