From 5c401215cf407bd89ab65efa6386054f48e5b531 Mon Sep 17 00:00:00 2001 From: danielkenji83 Date: Sat, 17 Feb 2024 00:50:23 -0300 Subject: [PATCH] Rebase commit --- CHANGELOG.md | 2 + .../common/abilities/ability_set_manifest.ron | 5 +- .../common/abilities/haniwa/soldier/guard.ron | 1 - .../shield/{block.ron => basic_guard.ron} | 8 +- .../common/abilities/shield/singlestrike.ron | 32 +++ assets/common/abilities/shield/tempbasic.ron | 18 -- .../abilities/sword/defensive_cascade.ron | 2 +- .../sword/defensive_crescent_slash.ron | 2 +- .../abilities/sword/defensive_cross_cut.ron | 2 +- .../abilities/sword/defensive_deflect.ron | 1 - .../sword/defensive_dual_cross_cut.ron | 2 +- .../abilities/sword/defensive_fell_strike.ron | 2 +- .../abilities/sword/defensive_skewer.ron | 2 +- assets/common/item_i18n_manifest.ron | 3 + assets/common/items/debug/admin_stick.ron | 1 + assets/common/items/debug/admin_sword.ron | 1 + .../common/items/debug/velorite_bow_debug.ron | 1 + .../items/modular/weapon/primary/axe/axe.ron | 1 + .../modular/weapon/primary/axe/battleaxe.ron | 1 + .../modular/weapon/primary/axe/greataxe.ron | 1 + .../modular/weapon/primary/axe/jagged.ron | 1 + .../modular/weapon/primary/axe/labrys.ron | 1 + .../modular/weapon/primary/axe/ornate.ron | 1 + .../modular/weapon/primary/axe/poleaxe.ron | 1 + .../items/modular/weapon/primary/bow/bow.ron | 1 + .../modular/weapon/primary/bow/composite.ron | 1 + .../modular/weapon/primary/bow/greatbow.ron | 1 + .../modular/weapon/primary/bow/longbow.ron | 1 + .../modular/weapon/primary/bow/ornate.ron | 1 + .../modular/weapon/primary/bow/shortbow.ron | 1 + .../modular/weapon/primary/bow/warbow.ron | 1 + .../weapon/primary/hammer/greathammer.ron | 1 + .../weapon/primary/hammer/greatmace.ron | 1 + .../modular/weapon/primary/hammer/hammer.ron | 1 + .../modular/weapon/primary/hammer/maul.ron | 1 + .../modular/weapon/primary/hammer/ornate.ron | 1 + .../weapon/primary/hammer/spikedmace.ron | 1 + .../weapon/primary/hammer/warhammer.ron | 1 + .../modular/weapon/primary/sceptre/arbor.ron | 1 + .../modular/weapon/primary/sceptre/cane.ron | 1 + .../modular/weapon/primary/sceptre/crook.ron | 1 + .../weapon/primary/sceptre/crozier.ron | 1 + .../weapon/primary/sceptre/grandsceptre.ron | 1 + .../modular/weapon/primary/sceptre/ornate.ron | 1 + .../weapon/primary/sceptre/sceptre.ron | 1 + .../modular/weapon/primary/staff/brand.ron | 1 + .../weapon/primary/staff/grandstaff.ron | 1 + .../modular/weapon/primary/staff/longpole.ron | 1 + .../modular/weapon/primary/staff/ornate.ron | 1 + .../modular/weapon/primary/staff/pole.ron | 1 + .../modular/weapon/primary/staff/rod.ron | 1 + .../modular/weapon/primary/staff/staff.ron | 1 + .../weapon/primary/sword/greatsword.ron | 1 + .../modular/weapon/primary/sword/katana.ron | 1 + .../weapon/primary/sword/longsword.ron | 1 + .../modular/weapon/primary/sword/ornate.ron | 1 + .../modular/weapon/primary/sword/sabre.ron | 1 + .../modular/weapon/primary/sword/sawblade.ron | 1 + .../weapon/primary/sword/zweihander.ron | 1 + .../modular/weapon/secondary/axe/long.ron | 1 + .../modular/weapon/secondary/axe/medium.ron | 1 + .../modular/weapon/secondary/axe/short.ron | 1 + .../modular/weapon/secondary/bow/long.ron | 1 + .../modular/weapon/secondary/bow/medium.ron | 1 + .../modular/weapon/secondary/bow/short.ron | 1 + .../modular/weapon/secondary/hammer/long.ron | 1 + .../weapon/secondary/hammer/medium.ron | 1 + .../modular/weapon/secondary/hammer/short.ron | 1 + .../weapon/secondary/sceptre/heavy.ron | 1 + .../weapon/secondary/sceptre/light.ron | 1 + .../weapon/secondary/sceptre/medium.ron | 1 + .../modular/weapon/secondary/staff/heavy.ron | 1 + .../modular/weapon/secondary/staff/light.ron | 1 + .../modular/weapon/secondary/staff/medium.ron | 1 + .../modular/weapon/secondary/sword/long.ron | 1 + .../modular/weapon/secondary/sword/medium.ron | 1 + .../modular/weapon/secondary/sword/short.ron | 1 + .../items/npc_weapons/axe/gigas_frost_axe.ron | 1 + .../items/npc_weapons/axe/minotaur_axe.ron | 1 + .../items/npc_weapons/axe/oni_blue_axe.ron | 1 + .../npc_weapons/biped_small/adlet/hunter.ron | 1 + .../biped_small/adlet/icepicker.ron | 1 + .../npc_weapons/biped_small/adlet/tracker.ron | 1 + .../npc_weapons/biped_small/boreal/bow.ron | 1 + .../npc_weapons/biped_small/boreal/hammer.ron | 1 + .../biped_small/gnarling/chieftain.ron | 1 + .../biped_small/gnarling/greentotem.ron | 1 + .../biped_small/gnarling/logger.ron | 1 + .../biped_small/gnarling/mugger.ron | 1 + .../biped_small/gnarling/redtotem.ron | 1 + .../biped_small/gnarling/stalker.ron | 1 + .../biped_small/gnarling/whitetotem.ron | 1 + .../npc_weapons/biped_small/haniwa/archer.ron | 1 + .../npc_weapons/biped_small/haniwa/guard.ron | 1 + .../biped_small/haniwa/soldier.ron | 1 + .../npc_weapons/biped_small/mandragora.ron | 1 + .../biped_small/myrmidon/hoplite.ron | 1 + .../biped_small/myrmidon/marksman.ron | 1 + .../biped_small/myrmidon/strategian.ron | 1 + .../biped_small/sahagin/sniper.ron | 1 + .../biped_small/sahagin/sorcerer.ron | 1 + .../biped_small/sahagin/spearman.ron | 1 + .../npc_weapons/bow/bipedlarge-velorite.ron | 1 + .../items/npc_weapons/bow/saurok_bow.ron | 1 + .../npc_weapons/hammer/bipedlarge-cultist.ron | 1 + .../npc_weapons/hammer/cyclops_hammer.ron | 1 + .../npc_weapons/hammer/harvester_scythe.ron | 1 + .../items/npc_weapons/hammer/ogre_hammer.ron | 1 + .../npc_weapons/hammer/oni_red_hammer.ron | 1 + .../items/npc_weapons/hammer/troll_hammer.ron | 1 + .../npc_weapons/hammer/wendigo_hammer.ron | 1 + .../items/npc_weapons/hammer/yeti_hammer.ron | 1 + .../npc_weapons/staff/bipedlarge-cultist.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/adlet_elder_sword.ron | 1 + .../npc_weapons/sword/bipedlarge-cultist.ron | 1 + .../npc_weapons/sword/dullahan_sword.ron | 1 + .../sword/haniwa_general_sword.ron | 1 + .../sword/pickaxe_velorite_sword.ron | 1 + .../items/npc_weapons/sword/saurok_sword.ron | 1 + .../items/npc_weapons/unique/akhlut.ron | 1 + .../unique/ancient_effigy_eyes.ron | 1 + .../npc_weapons/unique/arthropods/antlion.ron | 1 + .../unique/arthropods/blackwidow.ron | 1 + .../unique/arthropods/cavespider.ron | 1 + .../unique/arthropods/dagonite.ron | 1 + .../unique/arthropods/hornbeetle.ron | 1 + .../unique/arthropods/tarantula.ron | 1 + .../npc_weapons/unique/arthropods/weevil.ron | 1 + .../items/npc_weapons/unique/beast_claws.ron | 1 + .../npc_weapons/unique/birdlargebasic.ron | 1 + .../npc_weapons/unique/birdlargebreathe.ron | 1 + .../npc_weapons/unique/birdlargefire.ron | 1 + .../npc_weapons/unique/birdmediumbasic.ron | 1 + .../items/npc_weapons/unique/bushly.ron | 1 + .../items/npc_weapons/unique/cardinal.ron | 1 + .../npc_weapons/unique/clay_golem_fist.ron | 1 + .../items/npc_weapons/unique/claysteed.ron | 1 + .../items/npc_weapons/unique/clockwork.ron | 1 + .../items/npc_weapons/unique/cloudwyvern.ron | 1 + .../npc_weapons/unique/coral_golem_fist.ron | 1 + .../items/npc_weapons/unique/crab_pincer.ron | 1 + .../common/items/npc_weapons/unique/dagon.ron | 1 + .../items/npc_weapons/unique/driggle.ron | 1 + .../items/npc_weapons/unique/emberfly.ron | 1 + .../npc_weapons/unique/fiery_tornado.ron | 1 + .../npc_weapons/unique/flamekeeper_staff.ron | 1 + .../items/npc_weapons/unique/flamethrower.ron | 1 + .../items/npc_weapons/unique/flamewyvern.ron | 1 + .../items/npc_weapons/unique/frostfang.ron | 1 + .../items/npc_weapons/unique/frostwyvern.ron | 1 + .../npc_weapons/unique/gravewarden_fist.ron | 1 + .../npc_weapons/unique/haniwa_sentry.ron | 1 + .../npc_weapons/unique/hermit_alligator.ron | 1 + .../common/items/npc_weapons/unique/husk.ron | 1 + .../items/npc_weapons/unique/husk_brute.ron | 1 + .../items/npc_weapons/unique/irrwurz.ron | 1 + .../items/npc_weapons/unique/mossysnail.ron | 1 + .../common/items/npc_weapons/unique/organ.ron | 1 + .../items/npc_weapons/unique/quadlowbasic.ron | 1 + .../items/npc_weapons/unique/quadlowbeam.ron | 1 + .../items/npc_weapons/unique/quadlowquick.ron | 1 + .../items/npc_weapons/unique/quadlowtail.ron | 1 + .../items/npc_weapons/unique/quadmedbasic.ron | 1 + .../npc_weapons/unique/quadmedbasicgentle.ron | 1 + .../npc_weapons/unique/quadmedcharge.ron | 1 + .../items/npc_weapons/unique/quadmedjump.ron | 1 + .../items/npc_weapons/unique/quadmedquick.ron | 1 + .../npc_weapons/unique/quadruped_low/asp.ron | 1 + .../unique/quadruped_low/basilisk.ron | 1 + .../unique/quadruped_low/deadwood.ron | 1 + .../unique/quadruped_low/icedrake.ron | 1 + .../unique/quadruped_low/lavadrake.ron | 1 + .../unique/quadruped_low/maneater.ron | 1 + .../unique/quadruped_medium/horse.ron | 1 + .../npc_weapons/unique/quadsmallbasic.ron | 1 + .../items/npc_weapons/unique/roshwalr.ron | 1 + .../npc_weapons/unique/sea_bishop_sceptre.ron | 1 + .../items/npc_weapons/unique/seawyvern.ron | 1 + .../npc_weapons/unique/simpleflyingbasic.ron | 1 + .../npc_weapons/unique/stone_golems_fist.ron | 1 + .../npc_weapons/unique/theropodbasic.ron | 1 + .../items/npc_weapons/unique/theropodbird.ron | 1 + .../npc_weapons/unique/theropodcharge.ron | 1 + .../npc_weapons/unique/theropodsmall.ron | 1 + .../items/npc_weapons/unique/tidal_claws.ron | 1 + .../items/npc_weapons/unique/tidal_totem.ron | 1 + .../items/npc_weapons/unique/tornado.ron | 1 + .../npc_weapons/unique/treantsapling.ron | 1 + .../items/npc_weapons/unique/turret.ron | 1 + .../items/npc_weapons/unique/tursus_claws.ron | 1 + .../items/npc_weapons/unique/wealdwyvern.ron | 1 + .../npc_weapons/unique/wendigo_magic.ron | 1 + .../npc_weapons/unique/wood_golem_fist.ron | 1 + assets/common/items/tool/craftsman_hammer.ron | 1 + .../items/tool/instruments/double_bass.ron | 1 + .../common/items/tool/instruments/flute.ron | 1 + .../items/tool/instruments/glass_flute.ron | 1 + .../common/items/tool/instruments/guitar.ron | 1 + .../items/tool/instruments/guitar_dark.ron | 1 + .../items/tool/instruments/icy_talharpa.ron | 1 + .../common/items/tool/instruments/kalimba.ron | 1 + assets/common/items/tool/instruments/lute.ron | 1 + assets/common/items/tool/instruments/lyre.ron | 1 + .../items/tool/instruments/melodica.ron | 1 + .../items/tool/instruments/shamisen.ron | 1 + .../common/items/tool/instruments/sitar.ron | 1 + .../tool/instruments/steeltonguedrum.ron | 1 + .../items/tool/instruments/washboard.ron | 1 + .../items/tool/instruments/wildskin_drum.ron | 1 + assets/common/items/tool/pickaxe_steel.ron | 1 + assets/common/items/tool/pickaxe_stone.ron | 1 + assets/common/items/tool/pickaxe_velorite.ron | 1 + .../items/weapons/axe/malachite_axe-0.ron | 1 + assets/common/items/weapons/axe/parashu.ron | 1 + .../common/items/weapons/axe/starter_axe.ron | 1 + assets/common/items/weapons/bow/sagitta.ron | 1 + assets/common/items/weapons/bow/starter.ron | 1 + assets/common/items/weapons/bow/velorite.ron | 1 + .../common/items/weapons/dagger/basic_0.ron | 1 + .../common/items/weapons/dagger/cultist_0.ron | 1 + .../items/weapons/dagger/starter_dagger.ron | 1 + assets/common/items/weapons/empty/empty.ron | 1 + .../items/weapons/hammer/burnt_drumstick.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 + .../common/items/weapons/hammer/mjolnir.ron | 1 + .../items/weapons/hammer/starter_hammer.ron | 1 + .../common/items/weapons/sceptre/amethyst.ron | 1 + .../items/weapons/sceptre/belzeshrub.ron | 1 + .../common/items/weapons/sceptre/caduceus.ron | 1 + .../items/weapons/sceptre/root_evil.ron | 1 + .../weapons/sceptre/sceptre_velorite_0.ron | 1 + .../items/weapons/sceptre/starter_sceptre.ron | 1 + .../common/items/weapons/shield/shield_1.ron | 3 +- .../items/weapons/shield/starter_shield.ron | 21 ++ .../items/weapons/staff/cultist_staff.ron | 1 + .../common/items/weapons/staff/laevateinn.ron | 1 + assets/common/items/weapons/staff/staff_1.ron | 1 + .../items/weapons/staff/starter_staff.ron | 1 + .../common/items/weapons/sword/caladbolg.ron | 1 + assets/common/items/weapons/sword/cultist.ron | 1 + assets/common/items/weapons/sword/frost-0.ron | 1 + assets/common/items/weapons/sword/frost-1.ron | 1 + assets/common/items/weapons/sword/starter.ron | 1 + .../common/items/weapons/sword_1h/starter.ron | 1 + assets/common/items/weapons/tool/broom.ron | 1 + .../common/items/weapons/tool/fishing_rod.ron | 1 + .../common/items/weapons/tool/golf_club.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 + assets/common/loot_tables/weapons/starter.ron | 1 + assets/common/material_stats_manifest.ron | 16 +- assets/common/recipe_book.ron | 8 + assets/common/repair_recipe_book.ron | 1 + assets/voxygen/audio/sfx.ron | 2 +- assets/voxygen/i18n/en/common.ftl | 1 + assets/voxygen/i18n/en/item/weapon/weapon.ftl | 3 + assets/voxygen/item_image_manifest.ron | 6 +- .../voxygen/voxel/biped_weapon_manifest.ron | 6 +- assets/voxygen/voxel/item_drop_manifest.ron | 1 + assets/voxygen/voxel/weapon/shield/wood-1.vox | 3 + common/src/bin/csv_import/main.rs | 10 + common/src/combat.rs | 215 ++++++++++++++---- common/src/comp/ability.rs | 61 +++-- common/src/comp/character_state.rs | 76 ++++--- common/src/comp/inventory/item/tool.rs | 9 + server/src/events/entity_manipulation.rs | 15 +- server/src/state_ext.rs | 1 + voxygen/anim/src/character/block.rs | 129 +++++++---- voxygen/anim/src/character/combomelee.rs | 77 ++++++- voxygen/anim/src/character/mod.rs | 9 +- voxygen/anim/src/character/roll.rs | 12 + voxygen/anim/src/character/wield.rs | 12 + .../src/audio/sfx/event_mapper/combat/mod.rs | 12 +- voxygen/src/hud/crafting.rs | 1 + voxygen/src/hud/diary.rs | 16 +- voxygen/src/hud/util.rs | 7 +- voxygen/src/ui/widgets/item_tooltip.rs | 47 +++- 286 files changed, 897 insertions(+), 208 deletions(-) rename assets/common/abilities/shield/{block.ron => basic_guard.ron} (77%) create mode 100644 assets/common/abilities/shield/singlestrike.ron delete mode 100644 assets/common/abilities/shield/tempbasic.ron create mode 100644 assets/common/items/weapons/shield/starter_shield.ron create mode 100644 assets/voxygen/voxel/weapon/shield/wood-1.vox diff --git a/CHANGELOG.md b/CHANGELOG.md index 1dab89493d..1bd53e433b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -90,6 +90,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Balance changes; Smoother entity progression consisting of larger variety in (effective) health pools, dps, entity flee_health alterations, and minor weight distribution changes for entity spawns. - Made power of weapon tiers scale non-linearly. - Sword Changes; Pommel Strike has been nerfed -> increased energy cost, increased _durations, and decreased poise damage. Heavy Sweep has been nerfed -> decreased poise damage and stun vulnerability damage. Pillar Thrust has been altered -> decreased maximum base damage with an increase in stun vulnerability damage. +- Weapons block are based on poise +- Wooden Shield recipe ### Removed - Medium and large potions from all loot tables diff --git a/assets/common/abilities/ability_set_manifest.ron b/assets/common/abilities/ability_set_manifest.ron index f7b907f25b..61f9a74939 100644 --- a/assets/common/abilities/ability_set_manifest.ron +++ b/assets/common/abilities/ability_set_manifest.ron @@ -351,8 +351,9 @@ abilities: [], ), Tool(Shield): ( - primary: Simple(None, "common.abilities.shield.tempbasic"), - secondary: Simple(None, "common.abilities.shield.block"), + guard: Some(Simple(None, "common.abilities.shield.basic_guard")), + primary: Simple(None, "common.abilities.shield.singlestrike"), + secondary: Simple(None, "common.abilities.shield.singlestrike"), abilities: [], ), Custom("Stone Golem"): ( diff --git a/assets/common/abilities/haniwa/soldier/guard.ron b/assets/common/abilities/haniwa/soldier/guard.ron index 91c4e5ad61..f901161e5a 100644 --- a/assets/common/abilities/haniwa/soldier/guard.ron +++ b/assets/common/abilities/haniwa/soldier/guard.ron @@ -2,7 +2,6 @@ BasicBlock( buildup_duration: 0.25, recover_duration: 0.25, max_angle: 90.0, - block_strength: 0.5, parry_window: ( buildup: false, recover: false, diff --git a/assets/common/abilities/shield/block.ron b/assets/common/abilities/shield/basic_guard.ron similarity index 77% rename from assets/common/abilities/shield/block.ron rename to assets/common/abilities/shield/basic_guard.ron index 3fb5439393..a8f2a4372c 100644 --- a/assets/common/abilities/shield/block.ron +++ b/assets/common/abilities/shield/basic_guard.ron @@ -1,14 +1,14 @@ BasicBlock( - buildup_duration: 0.1, - recover_duration: 0.1, + buildup_duration: 0.45, + recover_duration: 0.2, max_angle: 90.0, block_strength: 0.8, parry_window: ( buildup: true, recover: false, ), - energy_cost: 0.0, - energy_regen: 0.0, + energy_cost: 5.0, + energy_regen: 5.0, can_hold: true, blocked_attacks: ( melee: true, diff --git a/assets/common/abilities/shield/singlestrike.ron b/assets/common/abilities/shield/singlestrike.ron new file mode 100644 index 0000000000..4cc22bfbfe --- /dev/null +++ b/assets/common/abilities/shield/singlestrike.ron @@ -0,0 +1,32 @@ +ComboMelee2( + strikes: [ + ( + melee_constructor: ( + kind: Bash( + damage: 6, + poise: 5, + knockback: 0, + energy_regen: 5, + ), + range: 1.5, + angle: 45.0, + damage_effect: Some(BuffsVulnerable(0.5, Parried)), + ), + buildup_duration: 0.15, + swing_duration: 0.2, + hit_timing: 0.1, + recover_duration: 0.15, + ori_modifier: 0.1, + movement: ( + buildup: Some(Forward(0.1)), + swing: None, + recover: None, + ), + ), + ], + energy_cost_per_strike: 0, + meta: ( + // // The ability will parry all blockable attacks in the buildup portion + capabilities: ("PARRIES"), + ), +) \ No newline at end of file diff --git a/assets/common/abilities/shield/tempbasic.ron b/assets/common/abilities/shield/tempbasic.ron deleted file mode 100644 index bb79339a46..0000000000 --- a/assets/common/abilities/shield/tempbasic.ron +++ /dev/null @@ -1,18 +0,0 @@ -BasicMelee( - energy_cost: 0, - buildup_duration: 0.1, - swing_duration: 0.1, - hit_timing: 0.0, - recover_duration: 0.3, - melee_constructor: ( - kind: Bash( - damage: 4.0, - poise: 0.0, - knockback: 0.0, - energy_regen: 0.0, - ), - range: 3.0, - angle: 90.0, - ), - ori_modifier: 1.0, -) diff --git a/assets/common/abilities/sword/defensive_cascade.ron b/assets/common/abilities/sword/defensive_cascade.ron index 37fc225cbc..2394dcb05a 100644 --- a/assets/common/abilities/sword/defensive_cascade.ron +++ b/assets/common/abilities/sword/defensive_cascade.ron @@ -22,6 +22,6 @@ ComboMelee2( energy_cost_per_strike: 5, meta: ( // The ability will parry melee attacks in the buildup & swing portion - capabilities: ("PARRIES"), + capabilities: ("PARRIES_MELEE"), ), ) \ No newline at end of file diff --git a/assets/common/abilities/sword/defensive_crescent_slash.ron b/assets/common/abilities/sword/defensive_crescent_slash.ron index 53fb375a65..24ee90e179 100644 --- a/assets/common/abilities/sword/defensive_crescent_slash.ron +++ b/assets/common/abilities/sword/defensive_crescent_slash.ron @@ -22,6 +22,6 @@ ComboMelee2( energy_cost_per_strike: 5, meta: ( // The ability will parry melee attacks in the buildup & swing portion - capabilities: ("PARRIES"), + capabilities: ("PARRIES_MELEE"), ), ) \ No newline at end of file diff --git a/assets/common/abilities/sword/defensive_cross_cut.ron b/assets/common/abilities/sword/defensive_cross_cut.ron index 5a18563bf5..66660945d9 100644 --- a/assets/common/abilities/sword/defensive_cross_cut.ron +++ b/assets/common/abilities/sword/defensive_cross_cut.ron @@ -41,6 +41,6 @@ ComboMelee2( auto_progress: true, meta: ( // The ability will parry melee attacks in the buildup & swing portion - capabilities: ("PARRIES"), + capabilities: ("PARRIES_MELEE"), ), ) \ No newline at end of file diff --git a/assets/common/abilities/sword/defensive_deflect.ron b/assets/common/abilities/sword/defensive_deflect.ron index 7c0fe8398f..9705b00922 100644 --- a/assets/common/abilities/sword/defensive_deflect.ron +++ b/assets/common/abilities/sword/defensive_deflect.ron @@ -2,7 +2,6 @@ BasicBlock( buildup_duration: 0.4, recover_duration: 0.2, max_angle: 45.0, - block_strength: 0.75, parry_window: ( buildup: true, recover: false, diff --git a/assets/common/abilities/sword/defensive_dual_cross_cut.ron b/assets/common/abilities/sword/defensive_dual_cross_cut.ron index 50803ab50c..f633edf259 100644 --- a/assets/common/abilities/sword/defensive_dual_cross_cut.ron +++ b/assets/common/abilities/sword/defensive_dual_cross_cut.ron @@ -23,6 +23,6 @@ ComboMelee2( energy_cost_per_strike: 5, meta: ( // The ability will parry melee attacks in the buildup & swing portion - capabilities: ("PARRIES"), + capabilities: ("PARRIES_MELEE"), ), ) \ No newline at end of file diff --git a/assets/common/abilities/sword/defensive_fell_strike.ron b/assets/common/abilities/sword/defensive_fell_strike.ron index a5ecbdc8c9..7342f8f188 100644 --- a/assets/common/abilities/sword/defensive_fell_strike.ron +++ b/assets/common/abilities/sword/defensive_fell_strike.ron @@ -22,6 +22,6 @@ ComboMelee2( energy_cost_per_strike: 5, meta: ( // The ability will parry melee attacks in the buildup & swing portion - capabilities: ("PARRIES"), + capabilities: ("PARRIES_MELEE"), ), ) \ No newline at end of file diff --git a/assets/common/abilities/sword/defensive_skewer.ron b/assets/common/abilities/sword/defensive_skewer.ron index dd8ad2ab29..8cdfd7f73b 100644 --- a/assets/common/abilities/sword/defensive_skewer.ron +++ b/assets/common/abilities/sword/defensive_skewer.ron @@ -27,6 +27,6 @@ ComboMelee2( energy_cost_per_strike: 5, meta: ( // The ability will parry melee attacks in the buildup & swing portion - capabilities: ("PARRIES"), + capabilities: ("PARRIES_MELEE"), ), ) \ No newline at end of file diff --git a/assets/common/item_i18n_manifest.ron b/assets/common/item_i18n_manifest.ron index 9d03840cdb..113d9ea8a1 100644 --- a/assets/common/item_i18n_manifest.ron +++ b/assets/common/item_i18n_manifest.ron @@ -705,6 +705,9 @@ Simple( "common.items.weapons.shield.shield_1", ): "weapon-shield-wood-0", + Simple( + "common.items.weapons.shield.starter_shield", + ): "weapon-shield-starter", Simple( "common.items.weapons.dagger.basic_0", ): "weapon-dagger-dagger_basic-0", diff --git a/assets/common/items/debug/admin_stick.ron b/assets/common/items/debug/admin_stick.ron index 24f81c6c65..3fef273440 100644 --- a/assets/common/items/debug/admin_stick.ron +++ b/assets/common/items/debug/admin_stick.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Debug, diff --git a/assets/common/items/debug/admin_sword.ron b/assets/common/items/debug/admin_sword.ron index 0a947db683..c15c214fb1 100644 --- a/assets/common/items/debug/admin_sword.ron +++ b/assets/common/items/debug/admin_sword.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 999.9 ), )), quality: Debug, diff --git a/assets/common/items/debug/velorite_bow_debug.ron b/assets/common/items/debug/velorite_bow_debug.ron index 3ff3836782..927bb685e5 100644 --- a/assets/common/items/debug/velorite_bow_debug.ron +++ b/assets/common/items/debug/velorite_bow_debug.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Debug, diff --git a/assets/common/items/modular/weapon/primary/axe/axe.ron b/assets/common/items/modular/weapon/primary/axe/axe.ron index ad2c654260..31f6d35c32 100644 --- a/assets/common/items/modular/weapon/primary/axe/axe.ron +++ b/assets/common/items/modular/weapon/primary/axe/axe.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.9, ), hand_restriction: None, weapon_name: HandednessDependent( diff --git a/assets/common/items/modular/weapon/primary/axe/battleaxe.ron b/assets/common/items/modular/weapon/primary/axe/battleaxe.ron index c970a82e30..e341ba03dc 100644 --- a/assets/common/items/modular/weapon/primary/axe/battleaxe.ron +++ b/assets/common/items/modular/weapon/primary/axe/battleaxe.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 1.2, + block_strength: 0.6, ), hand_restriction: None, weapon_name: HandednessDependent( diff --git a/assets/common/items/modular/weapon/primary/axe/greataxe.ron b/assets/common/items/modular/weapon/primary/axe/greataxe.ron index 3ec1edbfa6..1e0811882a 100644 --- a/assets/common/items/modular/weapon/primary/axe/greataxe.ron +++ b/assets/common/items/modular/weapon/primary/axe/greataxe.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.9, energy_efficiency: 0.9, buff_strength: 1.2, + block_strength: 1.2, ), hand_restriction: Some(Two), weapon_name: Universal("Greataxe"), diff --git a/assets/common/items/modular/weapon/primary/axe/jagged.ron b/assets/common/items/modular/weapon/primary/axe/jagged.ron index 97b0f7cdd8..4e361fd9d6 100644 --- a/assets/common/items/modular/weapon/primary/axe/jagged.ron +++ b/assets/common/items/modular/weapon/primary/axe/jagged.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 1.4, + block_strength: 0.8, ), hand_restriction: None, weapon_name: HandednessDependent( diff --git a/assets/common/items/modular/weapon/primary/axe/labrys.ron b/assets/common/items/modular/weapon/primary/axe/labrys.ron index dc26377570..35fd0d80ce 100644 --- a/assets/common/items/modular/weapon/primary/axe/labrys.ron +++ b/assets/common/items/modular/weapon/primary/axe/labrys.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.9, buff_strength: 0.8, + block_strength: 1.0, ), hand_restriction: Some(Two), weapon_name: Universal("Labrys"), diff --git a/assets/common/items/modular/weapon/primary/axe/ornate.ron b/assets/common/items/modular/weapon/primary/axe/ornate.ron index 10f33de489..2869ea3b39 100644 --- a/assets/common/items/modular/weapon/primary/axe/ornate.ron +++ b/assets/common/items/modular/weapon/primary/axe/ornate.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.1, energy_efficiency: 1.3, buff_strength: 1.0, + block_strength: 0.7, ), hand_restriction: None, weapon_name: HandednessDependent( diff --git a/assets/common/items/modular/weapon/primary/axe/poleaxe.ron b/assets/common/items/modular/weapon/primary/axe/poleaxe.ron index d3807f6f66..4e75b2c53c 100644 --- a/assets/common/items/modular/weapon/primary/axe/poleaxe.ron +++ b/assets/common/items/modular/weapon/primary/axe/poleaxe.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.3, energy_efficiency: 0.9, buff_strength: 0.9, + block_strength: 1.1, ), hand_restriction: Some(Two), weapon_name: Universal("Poleaxe"), diff --git a/assets/common/items/modular/weapon/primary/bow/bow.ron b/assets/common/items/modular/weapon/primary/bow/bow.ron index e63e3c9bb4..dc88c26fd3 100644 --- a/assets/common/items/modular/weapon/primary/bow/bow.ron +++ b/assets/common/items/modular/weapon/primary/bow/bow.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.9, energy_efficiency: 0.9, buff_strength: 0.9, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Bow"), diff --git a/assets/common/items/modular/weapon/primary/bow/composite.ron b/assets/common/items/modular/weapon/primary/bow/composite.ron index f3d4c92ef3..e94aed7498 100644 --- a/assets/common/items/modular/weapon/primary/bow/composite.ron +++ b/assets/common/items/modular/weapon/primary/bow/composite.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 1.5, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Composite Bow"), diff --git a/assets/common/items/modular/weapon/primary/bow/greatbow.ron b/assets/common/items/modular/weapon/primary/bow/greatbow.ron index 0145f90b60..e898961fa7 100644 --- a/assets/common/items/modular/weapon/primary/bow/greatbow.ron +++ b/assets/common/items/modular/weapon/primary/bow/greatbow.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Greatbow"), diff --git a/assets/common/items/modular/weapon/primary/bow/longbow.ron b/assets/common/items/modular/weapon/primary/bow/longbow.ron index 16938cd0e9..80694558a8 100644 --- a/assets/common/items/modular/weapon/primary/bow/longbow.ron +++ b/assets/common/items/modular/weapon/primary/bow/longbow.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.3, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Longbow"), diff --git a/assets/common/items/modular/weapon/primary/bow/ornate.ron b/assets/common/items/modular/weapon/primary/bow/ornate.ron index 03ea5a0031..6f51d03605 100644 --- a/assets/common/items/modular/weapon/primary/bow/ornate.ron +++ b/assets/common/items/modular/weapon/primary/bow/ornate.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.5, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Ornate Bow"), diff --git a/assets/common/items/modular/weapon/primary/bow/shortbow.ron b/assets/common/items/modular/weapon/primary/bow/shortbow.ron index 1dac9623c5..a7d8deb5a9 100644 --- a/assets/common/items/modular/weapon/primary/bow/shortbow.ron +++ b/assets/common/items/modular/weapon/primary/bow/shortbow.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Shortbow"), diff --git a/assets/common/items/modular/weapon/primary/bow/warbow.ron b/assets/common/items/modular/weapon/primary/bow/warbow.ron index 339b9b721f..865cf422fe 100644 --- a/assets/common/items/modular/weapon/primary/bow/warbow.ron +++ b/assets/common/items/modular/weapon/primary/bow/warbow.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Warbow"), diff --git a/assets/common/items/modular/weapon/primary/hammer/greathammer.ron b/assets/common/items/modular/weapon/primary/hammer/greathammer.ron index bc1c01d523..116b56a5de 100644 --- a/assets/common/items/modular/weapon/primary/hammer/greathammer.ron +++ b/assets/common/items/modular/weapon/primary/hammer/greathammer.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 1.3, ), hand_restriction: Some(Two), weapon_name: Universal("Greathammer"), diff --git a/assets/common/items/modular/weapon/primary/hammer/greatmace.ron b/assets/common/items/modular/weapon/primary/hammer/greatmace.ron index 2d2c626337..ca995c6128 100644 --- a/assets/common/items/modular/weapon/primary/hammer/greatmace.ron +++ b/assets/common/items/modular/weapon/primary/hammer/greatmace.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 1.1, ), hand_restriction: Some(Two), weapon_name: Universal("Greatmace"), diff --git a/assets/common/items/modular/weapon/primary/hammer/hammer.ron b/assets/common/items/modular/weapon/primary/hammer/hammer.ron index 36565a5335..8f8f06df96 100644 --- a/assets/common/items/modular/weapon/primary/hammer/hammer.ron +++ b/assets/common/items/modular/weapon/primary/hammer/hammer.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.9, energy_efficiency: 0.9, buff_strength: 0.9, + block_strength: 1.0, ), hand_restriction: None, weapon_name: HandednessDependent( diff --git a/assets/common/items/modular/weapon/primary/hammer/maul.ron b/assets/common/items/modular/weapon/primary/hammer/maul.ron index ade4001ff2..56c12a7a35 100644 --- a/assets/common/items/modular/weapon/primary/hammer/maul.ron +++ b/assets/common/items/modular/weapon/primary/hammer/maul.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.3, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 1.2, ), hand_restriction: Some(Two), weapon_name: Universal("Maul"), diff --git a/assets/common/items/modular/weapon/primary/hammer/ornate.ron b/assets/common/items/modular/weapon/primary/hammer/ornate.ron index 64c98e3e69..2ad91f3863 100644 --- a/assets/common/items/modular/weapon/primary/hammer/ornate.ron +++ b/assets/common/items/modular/weapon/primary/hammer/ornate.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.5, buff_strength: 0.8, + block_strength: 0.8, ), hand_restriction: None, weapon_name: HandednessDependent( diff --git a/assets/common/items/modular/weapon/primary/hammer/spikedmace.ron b/assets/common/items/modular/weapon/primary/hammer/spikedmace.ron index 431968edcc..ed1cc4975a 100644 --- a/assets/common/items/modular/weapon/primary/hammer/spikedmace.ron +++ b/assets/common/items/modular/weapon/primary/hammer/spikedmace.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 1.5, + block_strength: 0.9, ), hand_restriction: None, weapon_name: HandednessDependent( diff --git a/assets/common/items/modular/weapon/primary/hammer/warhammer.ron b/assets/common/items/modular/weapon/primary/hammer/warhammer.ron index 7844e84f55..58510d1770 100644 --- a/assets/common/items/modular/weapon/primary/hammer/warhammer.ron +++ b/assets/common/items/modular/weapon/primary/hammer/warhammer.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 0.7, ), hand_restriction: None, weapon_name: HandednessDependent( diff --git a/assets/common/items/modular/weapon/primary/sceptre/arbor.ron b/assets/common/items/modular/weapon/primary/sceptre/arbor.ron index 5d7e76f43b..4b258ec1e2 100644 --- a/assets/common/items/modular/weapon/primary/sceptre/arbor.ron +++ b/assets/common/items/modular/weapon/primary/sceptre/arbor.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.3, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Arbor"), diff --git a/assets/common/items/modular/weapon/primary/sceptre/cane.ron b/assets/common/items/modular/weapon/primary/sceptre/cane.ron index cbd2001002..04d5539e34 100644 --- a/assets/common/items/modular/weapon/primary/sceptre/cane.ron +++ b/assets/common/items/modular/weapon/primary/sceptre/cane.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Cane"), diff --git a/assets/common/items/modular/weapon/primary/sceptre/crook.ron b/assets/common/items/modular/weapon/primary/sceptre/crook.ron index 7e15ed35c8..f650f8fd5e 100644 --- a/assets/common/items/modular/weapon/primary/sceptre/crook.ron +++ b/assets/common/items/modular/weapon/primary/sceptre/crook.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 1.5, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Crook"), diff --git a/assets/common/items/modular/weapon/primary/sceptre/crozier.ron b/assets/common/items/modular/weapon/primary/sceptre/crozier.ron index 37f6c7f342..1750c2cc05 100644 --- a/assets/common/items/modular/weapon/primary/sceptre/crozier.ron +++ b/assets/common/items/modular/weapon/primary/sceptre/crozier.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Crozier"), diff --git a/assets/common/items/modular/weapon/primary/sceptre/grandsceptre.ron b/assets/common/items/modular/weapon/primary/sceptre/grandsceptre.ron index 47f159cac6..8d31b5a8e7 100644 --- a/assets/common/items/modular/weapon/primary/sceptre/grandsceptre.ron +++ b/assets/common/items/modular/weapon/primary/sceptre/grandsceptre.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Grandsceptre"), diff --git a/assets/common/items/modular/weapon/primary/sceptre/ornate.ron b/assets/common/items/modular/weapon/primary/sceptre/ornate.ron index 17d1af8705..4b5bb5622f 100644 --- a/assets/common/items/modular/weapon/primary/sceptre/ornate.ron +++ b/assets/common/items/modular/weapon/primary/sceptre/ornate.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.5, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Ornate Sceptre"), diff --git a/assets/common/items/modular/weapon/primary/sceptre/sceptre.ron b/assets/common/items/modular/weapon/primary/sceptre/sceptre.ron index afa34e414e..a10f940ab6 100644 --- a/assets/common/items/modular/weapon/primary/sceptre/sceptre.ron +++ b/assets/common/items/modular/weapon/primary/sceptre/sceptre.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.9, energy_efficiency: 0.9, buff_strength: 0.9, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Sceptre"), diff --git a/assets/common/items/modular/weapon/primary/staff/brand.ron b/assets/common/items/modular/weapon/primary/staff/brand.ron index c25245769f..8a6f45b789 100644 --- a/assets/common/items/modular/weapon/primary/staff/brand.ron +++ b/assets/common/items/modular/weapon/primary/staff/brand.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Brand"), diff --git a/assets/common/items/modular/weapon/primary/staff/grandstaff.ron b/assets/common/items/modular/weapon/primary/staff/grandstaff.ron index d8079424c8..41193fb131 100644 --- a/assets/common/items/modular/weapon/primary/staff/grandstaff.ron +++ b/assets/common/items/modular/weapon/primary/staff/grandstaff.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Grandstaff"), diff --git a/assets/common/items/modular/weapon/primary/staff/longpole.ron b/assets/common/items/modular/weapon/primary/staff/longpole.ron index d29da84303..32354ddf0b 100644 --- a/assets/common/items/modular/weapon/primary/staff/longpole.ron +++ b/assets/common/items/modular/weapon/primary/staff/longpole.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.3, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Longpole"), diff --git a/assets/common/items/modular/weapon/primary/staff/ornate.ron b/assets/common/items/modular/weapon/primary/staff/ornate.ron index 0d76468a67..0bff8fe14a 100644 --- a/assets/common/items/modular/weapon/primary/staff/ornate.ron +++ b/assets/common/items/modular/weapon/primary/staff/ornate.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.5, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Ornate Staff"), diff --git a/assets/common/items/modular/weapon/primary/staff/pole.ron b/assets/common/items/modular/weapon/primary/staff/pole.ron index 45fd89e1eb..f143b2618b 100644 --- a/assets/common/items/modular/weapon/primary/staff/pole.ron +++ b/assets/common/items/modular/weapon/primary/staff/pole.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 1.5, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Pole"), diff --git a/assets/common/items/modular/weapon/primary/staff/rod.ron b/assets/common/items/modular/weapon/primary/staff/rod.ron index 085ec02063..4f1464945f 100644 --- a/assets/common/items/modular/weapon/primary/staff/rod.ron +++ b/assets/common/items/modular/weapon/primary/staff/rod.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 0.8, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Rod"), diff --git a/assets/common/items/modular/weapon/primary/staff/staff.ron b/assets/common/items/modular/weapon/primary/staff/staff.ron index a11cfaeb7a..836f45513d 100644 --- a/assets/common/items/modular/weapon/primary/staff/staff.ron +++ b/assets/common/items/modular/weapon/primary/staff/staff.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.9, energy_efficiency: 0.9, buff_strength: 0.9, + block_strength: 0.0, ), hand_restriction: Some(Two), weapon_name: Universal("Staff"), diff --git a/assets/common/items/modular/weapon/primary/sword/greatsword.ron b/assets/common/items/modular/weapon/primary/sword/greatsword.ron index 5f9144e2f1..4ffde88493 100644 --- a/assets/common/items/modular/weapon/primary/sword/greatsword.ron +++ b/assets/common/items/modular/weapon/primary/sword/greatsword.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.7, buff_strength: 1.0, + block_strength: 1.3, ), hand_restriction: Some(Two), weapon_name: Universal("Greatsword"), diff --git a/assets/common/items/modular/weapon/primary/sword/katana.ron b/assets/common/items/modular/weapon/primary/sword/katana.ron index 8ed874dab7..9d6ff532ef 100644 --- a/assets/common/items/modular/weapon/primary/sword/katana.ron +++ b/assets/common/items/modular/weapon/primary/sword/katana.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.3, buff_strength: 0.9, + block_strength: 0.7, ), hand_restriction: None, weapon_name: HandednessDependent( diff --git a/assets/common/items/modular/weapon/primary/sword/longsword.ron b/assets/common/items/modular/weapon/primary/sword/longsword.ron index e8ec39b07c..defe33d149 100644 --- a/assets/common/items/modular/weapon/primary/sword/longsword.ron +++ b/assets/common/items/modular/weapon/primary/sword/longsword.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), hand_restriction: None, weapon_name: HandednessDependent( diff --git a/assets/common/items/modular/weapon/primary/sword/ornate.ron b/assets/common/items/modular/weapon/primary/sword/ornate.ron index f97feed8ce..9ebb00afa2 100644 --- a/assets/common/items/modular/weapon/primary/sword/ornate.ron +++ b/assets/common/items/modular/weapon/primary/sword/ornate.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.5, buff_strength: 0.8, + block_strength: 0.8, ), hand_restriction: None, weapon_name: HandednessDependent( diff --git a/assets/common/items/modular/weapon/primary/sword/sabre.ron b/assets/common/items/modular/weapon/primary/sword/sabre.ron index 19a4f38ab6..0d5bab12ba 100644 --- a/assets/common/items/modular/weapon/primary/sword/sabre.ron +++ b/assets/common/items/modular/weapon/primary/sword/sabre.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.1, buff_strength: 0.8, + block_strength: 1.1, ), hand_restriction: None, weapon_name: HandednessDependent( diff --git a/assets/common/items/modular/weapon/primary/sword/sawblade.ron b/assets/common/items/modular/weapon/primary/sword/sawblade.ron index 0937b54237..c10d5845f9 100644 --- a/assets/common/items/modular/weapon/primary/sword/sawblade.ron +++ b/assets/common/items/modular/weapon/primary/sword/sawblade.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.9, energy_efficiency: 0.8, buff_strength: 1.4, + block_strength: 0.9, ), hand_restriction: None, weapon_name: HandednessDependent( diff --git a/assets/common/items/modular/weapon/primary/sword/zweihander.ron b/assets/common/items/modular/weapon/primary/sword/zweihander.ron index 87323a2df6..544d86be68 100644 --- a/assets/common/items/modular/weapon/primary/sword/zweihander.ron +++ b/assets/common/items/modular/weapon/primary/sword/zweihander.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.3, energy_efficiency: 0.9, buff_strength: 0.8, + block_strength: 1.2, ), hand_restriction: Some(Two), weapon_name: Universal("Zweihander"), diff --git a/assets/common/items/modular/weapon/secondary/axe/long.ron b/assets/common/items/modular/weapon/secondary/axe/long.ron index e3fdb6e641..69e4a777ca 100644 --- a/assets/common/items/modular/weapon/secondary/axe/long.ron +++ b/assets/common/items/modular/weapon/secondary/axe/long.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.1, energy_efficiency: 0.9, buff_strength: 1.1, + block_strength: 1.2, ), hand_restriction: Some(Two), ) diff --git a/assets/common/items/modular/weapon/secondary/axe/medium.ron b/assets/common/items/modular/weapon/secondary/axe/medium.ron index 74fdd285cc..587aa54fac 100644 --- a/assets/common/items/modular/weapon/secondary/axe/medium.ron +++ b/assets/common/items/modular/weapon/secondary/axe/medium.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.9, buff_strength: 1.0, + block_strength: 1.0, ), hand_restriction: None, ) diff --git a/assets/common/items/modular/weapon/secondary/axe/short.ron b/assets/common/items/modular/weapon/secondary/axe/short.ron index 68dbbb9a81..4f858dc79f 100644 --- a/assets/common/items/modular/weapon/secondary/axe/short.ron +++ b/assets/common/items/modular/weapon/secondary/axe/short.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.9, energy_efficiency: 1.1, buff_strength: 0.9, + block_strength: 0.8, ), hand_restriction: Some(One), ) diff --git a/assets/common/items/modular/weapon/secondary/bow/long.ron b/assets/common/items/modular/weapon/secondary/bow/long.ron index 2b79a72cd3..d2acac9903 100644 --- a/assets/common/items/modular/weapon/secondary/bow/long.ron +++ b/assets/common/items/modular/weapon/secondary/bow/long.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.2, energy_efficiency: 0.9, buff_strength: 1.1, + block_strength: 0.0, ), hand_restriction: Some(Two), ) diff --git a/assets/common/items/modular/weapon/secondary/bow/medium.ron b/assets/common/items/modular/weapon/secondary/bow/medium.ron index 57658a038a..e1f79a16f0 100644 --- a/assets/common/items/modular/weapon/secondary/bow/medium.ron +++ b/assets/common/items/modular/weapon/secondary/bow/medium.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), hand_restriction: Some(Two), ) diff --git a/assets/common/items/modular/weapon/secondary/bow/short.ron b/assets/common/items/modular/weapon/secondary/bow/short.ron index 43b0016a82..2242475ef1 100644 --- a/assets/common/items/modular/weapon/secondary/bow/short.ron +++ b/assets/common/items/modular/weapon/secondary/bow/short.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.85, energy_efficiency: 1.1, buff_strength: 0.9, + block_strength: 0.0, ), hand_restriction: Some(Two), ) diff --git a/assets/common/items/modular/weapon/secondary/hammer/long.ron b/assets/common/items/modular/weapon/secondary/hammer/long.ron index 217f9d930a..beacd1248f 100644 --- a/assets/common/items/modular/weapon/secondary/hammer/long.ron +++ b/assets/common/items/modular/weapon/secondary/hammer/long.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.2, energy_efficiency: 0.9, buff_strength: 1.1, + block_strength: 1.2, ), hand_restriction: Some(Two), ) diff --git a/assets/common/items/modular/weapon/secondary/hammer/medium.ron b/assets/common/items/modular/weapon/secondary/hammer/medium.ron index 45f6f855db..e5888b6168 100644 --- a/assets/common/items/modular/weapon/secondary/hammer/medium.ron +++ b/assets/common/items/modular/weapon/secondary/hammer/medium.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.9, buff_strength: 1.0, + block_strength: 1.0, ), hand_restriction: None, ) diff --git a/assets/common/items/modular/weapon/secondary/hammer/short.ron b/assets/common/items/modular/weapon/secondary/hammer/short.ron index 45ed7e8fa8..1f705dc43f 100644 --- a/assets/common/items/modular/weapon/secondary/hammer/short.ron +++ b/assets/common/items/modular/weapon/secondary/hammer/short.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.85, energy_efficiency: 1.1, buff_strength: 0.9, + block_strength: 0.8, ), hand_restriction: Some(One), ) diff --git a/assets/common/items/modular/weapon/secondary/sceptre/heavy.ron b/assets/common/items/modular/weapon/secondary/sceptre/heavy.ron index 14f77c137d..a449e0dd25 100644 --- a/assets/common/items/modular/weapon/secondary/sceptre/heavy.ron +++ b/assets/common/items/modular/weapon/secondary/sceptre/heavy.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.2, energy_efficiency: 0.9, buff_strength: 1.1, + block_strength: 0.0, ), hand_restriction: Some(Two), ) diff --git a/assets/common/items/modular/weapon/secondary/sceptre/light.ron b/assets/common/items/modular/weapon/secondary/sceptre/light.ron index b1b4f15f68..3fac34d6b8 100644 --- a/assets/common/items/modular/weapon/secondary/sceptre/light.ron +++ b/assets/common/items/modular/weapon/secondary/sceptre/light.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.85, energy_efficiency: 1.1, buff_strength: 0.9, + block_strength: 0.0, ), hand_restriction: Some(Two), ) diff --git a/assets/common/items/modular/weapon/secondary/sceptre/medium.ron b/assets/common/items/modular/weapon/secondary/sceptre/medium.ron index a51767f3a4..123f947193 100644 --- a/assets/common/items/modular/weapon/secondary/sceptre/medium.ron +++ b/assets/common/items/modular/weapon/secondary/sceptre/medium.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), hand_restriction: Some(Two), ) diff --git a/assets/common/items/modular/weapon/secondary/staff/heavy.ron b/assets/common/items/modular/weapon/secondary/staff/heavy.ron index afe5f86f3a..e2a254bd4e 100644 --- a/assets/common/items/modular/weapon/secondary/staff/heavy.ron +++ b/assets/common/items/modular/weapon/secondary/staff/heavy.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.2, energy_efficiency: 0.9, buff_strength: 1.1, + block_strength: 0.0, ), hand_restriction: Some(Two), ) diff --git a/assets/common/items/modular/weapon/secondary/staff/light.ron b/assets/common/items/modular/weapon/secondary/staff/light.ron index 5a7bc5eb0a..4beeb760f7 100644 --- a/assets/common/items/modular/weapon/secondary/staff/light.ron +++ b/assets/common/items/modular/weapon/secondary/staff/light.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.85, energy_efficiency: 1.1, buff_strength: 0.9, + block_strength: 0.0, ), hand_restriction: Some(Two), ) diff --git a/assets/common/items/modular/weapon/secondary/staff/medium.ron b/assets/common/items/modular/weapon/secondary/staff/medium.ron index 5c6f49e20c..5dfdbc9fb9 100644 --- a/assets/common/items/modular/weapon/secondary/staff/medium.ron +++ b/assets/common/items/modular/weapon/secondary/staff/medium.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), hand_restriction: Some(Two), ) diff --git a/assets/common/items/modular/weapon/secondary/sword/long.ron b/assets/common/items/modular/weapon/secondary/sword/long.ron index 071baf2263..a47a51c6ca 100644 --- a/assets/common/items/modular/weapon/secondary/sword/long.ron +++ b/assets/common/items/modular/weapon/secondary/sword/long.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.1, energy_efficiency: 0.9, buff_strength: 1.1, + block_strength: 1.2, ), hand_restriction: Some(Two), ) diff --git a/assets/common/items/modular/weapon/secondary/sword/medium.ron b/assets/common/items/modular/weapon/secondary/sword/medium.ron index 30f1d98537..862311a99e 100644 --- a/assets/common/items/modular/weapon/secondary/sword/medium.ron +++ b/assets/common/items/modular/weapon/secondary/sword/medium.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.2, ), hand_restriction: None, ) diff --git a/assets/common/items/modular/weapon/secondary/sword/short.ron b/assets/common/items/modular/weapon/secondary/sword/short.ron index 6711a6d7af..9cfba09ad7 100644 --- a/assets/common/items/modular/weapon/secondary/sword/short.ron +++ b/assets/common/items/modular/weapon/secondary/sword/short.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.9, energy_efficiency: 1.1, buff_strength: 0.9, + block_strength: 1.2, ), hand_restriction: Some(One), ) diff --git a/assets/common/items/npc_weapons/axe/gigas_frost_axe.ron b/assets/common/items/npc_weapons/axe/gigas_frost_axe.ron index 06479f69de..6dcd3453f5 100644 --- a/assets/common/items/npc_weapons/axe/gigas_frost_axe.ron +++ b/assets/common/items/npc_weapons/axe/gigas_frost_axe.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Legendary, diff --git a/assets/common/items/npc_weapons/axe/minotaur_axe.ron b/assets/common/items/npc_weapons/axe/minotaur_axe.ron index 252048fa43..f8917bc3f8 100644 --- a/assets/common/items/npc_weapons/axe/minotaur_axe.ron +++ b/assets/common/items/npc_weapons/axe/minotaur_axe.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/npc_weapons/axe/oni_blue_axe.ron b/assets/common/items/npc_weapons/axe/oni_blue_axe.ron index 25972c3adc..83d466106a 100644 --- a/assets/common/items/npc_weapons/axe/oni_blue_axe.ron +++ b/assets/common/items/npc_weapons/axe/oni_blue_axe.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.8, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/adlet/hunter.ron b/assets/common/items/npc_weapons/biped_small/adlet/hunter.ron index f22a5c732f..2a17c74d11 100644 --- a/assets/common/items/npc_weapons/biped_small/adlet/hunter.ron +++ b/assets/common/items/npc_weapons/biped_small/adlet/hunter.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/adlet/icepicker.ron b/assets/common/items/npc_weapons/biped_small/adlet/icepicker.ron index 3d6b697c74..40895ea0fa 100644 --- a/assets/common/items/npc_weapons/biped_small/adlet/icepicker.ron +++ b/assets/common/items/npc_weapons/biped_small/adlet/icepicker.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/adlet/tracker.ron b/assets/common/items/npc_weapons/biped_small/adlet/tracker.ron index 6cc065d475..f415326e85 100644 --- a/assets/common/items/npc_weapons/biped_small/adlet/tracker.ron +++ b/assets/common/items/npc_weapons/biped_small/adlet/tracker.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/boreal/bow.ron b/assets/common/items/npc_weapons/biped_small/boreal/bow.ron index b0972a4a45..ba04df3ea0 100644 --- a/assets/common/items/npc_weapons/biped_small/boreal/bow.ron +++ b/assets/common/items/npc_weapons/biped_small/boreal/bow.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Epic, diff --git a/assets/common/items/npc_weapons/biped_small/boreal/hammer.ron b/assets/common/items/npc_weapons/biped_small/boreal/hammer.ron index f276cb6090..8648da8507 100644 --- a/assets/common/items/npc_weapons/biped_small/boreal/hammer.ron +++ b/assets/common/items/npc_weapons/biped_small/boreal/hammer.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Epic, diff --git a/assets/common/items/npc_weapons/biped_small/gnarling/chieftain.ron b/assets/common/items/npc_weapons/biped_small/gnarling/chieftain.ron index 5d3e931f67..7b469acc28 100644 --- a/assets/common/items/npc_weapons/biped_small/gnarling/chieftain.ron +++ b/assets/common/items/npc_weapons/biped_small/gnarling/chieftain.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/gnarling/greentotem.ron b/assets/common/items/npc_weapons/biped_small/gnarling/greentotem.ron index a7f45afa12..a65e9a7d1f 100644 --- a/assets/common/items/npc_weapons/biped_small/gnarling/greentotem.ron +++ b/assets/common/items/npc_weapons/biped_small/gnarling/greentotem.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/gnarling/logger.ron b/assets/common/items/npc_weapons/biped_small/gnarling/logger.ron index 80df7d474a..31fb26acbb 100644 --- a/assets/common/items/npc_weapons/biped_small/gnarling/logger.ron +++ b/assets/common/items/npc_weapons/biped_small/gnarling/logger.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/gnarling/mugger.ron b/assets/common/items/npc_weapons/biped_small/gnarling/mugger.ron index 0b83e2d846..3ac0c804ba 100644 --- a/assets/common/items/npc_weapons/biped_small/gnarling/mugger.ron +++ b/assets/common/items/npc_weapons/biped_small/gnarling/mugger.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.5, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/gnarling/redtotem.ron b/assets/common/items/npc_weapons/biped_small/gnarling/redtotem.ron index cdfe703bf0..e15f0fd010 100644 --- a/assets/common/items/npc_weapons/biped_small/gnarling/redtotem.ron +++ b/assets/common/items/npc_weapons/biped_small/gnarling/redtotem.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/gnarling/stalker.ron b/assets/common/items/npc_weapons/biped_small/gnarling/stalker.ron index 87962c4b77..f3293d00ad 100644 --- a/assets/common/items/npc_weapons/biped_small/gnarling/stalker.ron +++ b/assets/common/items/npc_weapons/biped_small/gnarling/stalker.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/gnarling/whitetotem.ron b/assets/common/items/npc_weapons/biped_small/gnarling/whitetotem.ron index e05ef5d599..7e093f97b9 100644 --- a/assets/common/items/npc_weapons/biped_small/gnarling/whitetotem.ron +++ b/assets/common/items/npc_weapons/biped_small/gnarling/whitetotem.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/haniwa/archer.ron b/assets/common/items/npc_weapons/biped_small/haniwa/archer.ron index 6c5b178d32..1e61e23447 100644 --- a/assets/common/items/npc_weapons/biped_small/haniwa/archer.ron +++ b/assets/common/items/npc_weapons/biped_small/haniwa/archer.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/npc_weapons/biped_small/haniwa/guard.ron b/assets/common/items/npc_weapons/biped_small/haniwa/guard.ron index 2bb16ff326..763b4991e1 100644 --- a/assets/common/items/npc_weapons/biped_small/haniwa/guard.ron +++ b/assets/common/items/npc_weapons/biped_small/haniwa/guard.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/haniwa/soldier.ron b/assets/common/items/npc_weapons/biped_small/haniwa/soldier.ron index 6994a1c999..aa785f7b09 100644 --- a/assets/common/items/npc_weapons/biped_small/haniwa/soldier.ron +++ b/assets/common/items/npc_weapons/biped_small/haniwa/soldier.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/mandragora.ron b/assets/common/items/npc_weapons/biped_small/mandragora.ron index 3221aa12e7..e378abde66 100644 --- a/assets/common/items/npc_weapons/biped_small/mandragora.ron +++ b/assets/common/items/npc_weapons/biped_small/mandragora.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/myrmidon/hoplite.ron b/assets/common/items/npc_weapons/biped_small/myrmidon/hoplite.ron index f97f48fc8a..94555240e0 100644 --- a/assets/common/items/npc_weapons/biped_small/myrmidon/hoplite.ron +++ b/assets/common/items/npc_weapons/biped_small/myrmidon/hoplite.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 3.2, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/myrmidon/marksman.ron b/assets/common/items/npc_weapons/biped_small/myrmidon/marksman.ron index e383ece9ff..3e2b488e13 100644 --- a/assets/common/items/npc_weapons/biped_small/myrmidon/marksman.ron +++ b/assets/common/items/npc_weapons/biped_small/myrmidon/marksman.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/npc_weapons/biped_small/myrmidon/strategian.ron b/assets/common/items/npc_weapons/biped_small/myrmidon/strategian.ron index ada61fae67..5d780af37e 100644 --- a/assets/common/items/npc_weapons/biped_small/myrmidon/strategian.ron +++ b/assets/common/items/npc_weapons/biped_small/myrmidon/strategian.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 3.2, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/sahagin/sniper.ron b/assets/common/items/npc_weapons/biped_small/sahagin/sniper.ron index 22850de9b1..f3bc33408c 100644 --- a/assets/common/items/npc_weapons/biped_small/sahagin/sniper.ron +++ b/assets/common/items/npc_weapons/biped_small/sahagin/sniper.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/npc_weapons/biped_small/sahagin/sorcerer.ron b/assets/common/items/npc_weapons/biped_small/sahagin/sorcerer.ron index aa8ba23754..62ebcdfdf1 100644 --- a/assets/common/items/npc_weapons/biped_small/sahagin/sorcerer.ron +++ b/assets/common/items/npc_weapons/biped_small/sahagin/sorcerer.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/sahagin/spearman.ron b/assets/common/items/npc_weapons/biped_small/sahagin/spearman.ron index eccfa36326..4e413170d1 100644 --- a/assets/common/items/npc_weapons/biped_small/sahagin/spearman.ron +++ b/assets/common/items/npc_weapons/biped_small/sahagin/spearman.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/bow/bipedlarge-velorite.ron b/assets/common/items/npc_weapons/bow/bipedlarge-velorite.ron index 428a2dd7d6..6ba8b5d276 100644 --- a/assets/common/items/npc_weapons/bow/bipedlarge-velorite.ron +++ b/assets/common/items/npc_weapons/bow/bipedlarge-velorite.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Epic, diff --git a/assets/common/items/npc_weapons/bow/saurok_bow.ron b/assets/common/items/npc_weapons/bow/saurok_bow.ron index c0dec88fee..9b1ded7c24 100644 --- a/assets/common/items/npc_weapons/bow/saurok_bow.ron +++ b/assets/common/items/npc_weapons/bow/saurok_bow.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/hammer/bipedlarge-cultist.ron b/assets/common/items/npc_weapons/hammer/bipedlarge-cultist.ron index 68145757f8..d82c033368 100644 --- a/assets/common/items/npc_weapons/hammer/bipedlarge-cultist.ron +++ b/assets/common/items/npc_weapons/hammer/bipedlarge-cultist.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 2.6, ), )), quality: Epic, diff --git a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron index 3db8cdc22d..4128899075 100644 --- a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/hammer/harvester_scythe.ron b/assets/common/items/npc_weapons/hammer/harvester_scythe.ron index bc6ad15763..3997042815 100644 --- a/assets/common/items/npc_weapons/hammer/harvester_scythe.ron +++ b/assets/common/items/npc_weapons/hammer/harvester_scythe.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron index 4c3da32f55..a4caac44f2 100644 --- a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/hammer/oni_red_hammer.ron b/assets/common/items/npc_weapons/hammer/oni_red_hammer.ron index 3281a8733e..085b8ae106 100644 --- a/assets/common/items/npc_weapons/hammer/oni_red_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/oni_red_hammer.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/hammer/troll_hammer.ron b/assets/common/items/npc_weapons/hammer/troll_hammer.ron index f4acc68f9b..e19e6d6be0 100644 --- a/assets/common/items/npc_weapons/hammer/troll_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/troll_hammer.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron index 6663a32f6e..68cc41a764 100644 --- a/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/hammer/yeti_hammer.ron b/assets/common/items/npc_weapons/hammer/yeti_hammer.ron index 4538a60927..14743d534e 100644 --- a/assets/common/items/npc_weapons/hammer/yeti_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/yeti_hammer.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/staff/bipedlarge-cultist.ron b/assets/common/items/npc_weapons/staff/bipedlarge-cultist.ron index 1f8d6aefff..8bb5ca0944 100644 --- a/assets/common/items/npc_weapons/staff/bipedlarge-cultist.ron +++ b/assets/common/items/npc_weapons/staff/bipedlarge-cultist.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Epic, diff --git a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron index d01f54172c..09e45e150f 100644 --- a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron +++ b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/npc_weapons/staff/ogre_staff.ron b/assets/common/items/npc_weapons/staff/ogre_staff.ron index 5049d03eeb..042753e634 100644 --- a/assets/common/items/npc_weapons/staff/ogre_staff.ron +++ b/assets/common/items/npc_weapons/staff/ogre_staff.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/staff/saurok_staff.ron b/assets/common/items/npc_weapons/staff/saurok_staff.ron index b3e82a8480..0609a18294 100644 --- a/assets/common/items/npc_weapons/staff/saurok_staff.ron +++ b/assets/common/items/npc_weapons/staff/saurok_staff.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/sword/adlet_elder_sword.ron b/assets/common/items/npc_weapons/sword/adlet_elder_sword.ron index fc24a48650..931d8b91b3 100644 --- a/assets/common/items/npc_weapons/sword/adlet_elder_sword.ron +++ b/assets/common/items/npc_weapons/sword/adlet_elder_sword.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.7, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/sword/bipedlarge-cultist.ron b/assets/common/items/npc_weapons/sword/bipedlarge-cultist.ron index 87e1183979..930f9d0da6 100644 --- a/assets/common/items/npc_weapons/sword/bipedlarge-cultist.ron +++ b/assets/common/items/npc_weapons/sword/bipedlarge-cultist.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 3.8, ), )), quality: Epic, diff --git a/assets/common/items/npc_weapons/sword/dullahan_sword.ron b/assets/common/items/npc_weapons/sword/dullahan_sword.ron index c2e84d28f0..c61dd8e847 100644 --- a/assets/common/items/npc_weapons/sword/dullahan_sword.ron +++ b/assets/common/items/npc_weapons/sword/dullahan_sword.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/sword/haniwa_general_sword.ron b/assets/common/items/npc_weapons/sword/haniwa_general_sword.ron index a677728338..2550b3621a 100644 --- a/assets/common/items/npc_weapons/sword/haniwa_general_sword.ron +++ b/assets/common/items/npc_weapons/sword/haniwa_general_sword.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.7, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/sword/pickaxe_velorite_sword.ron b/assets/common/items/npc_weapons/sword/pickaxe_velorite_sword.ron index 8b18130bfc..554d94eed3 100644 --- a/assets/common/items/npc_weapons/sword/pickaxe_velorite_sword.ron +++ b/assets/common/items/npc_weapons/sword/pickaxe_velorite_sword.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 1.2, + block_strength: 2.2, ), )), quality: Epic, diff --git a/assets/common/items/npc_weapons/sword/saurok_sword.ron b/assets/common/items/npc_weapons/sword/saurok_sword.ron index 0137729b8d..c498c8bffc 100644 --- a/assets/common/items/npc_weapons/sword/saurok_sword.ron +++ b/assets/common/items/npc_weapons/sword/saurok_sword.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.7, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/akhlut.ron b/assets/common/items/npc_weapons/unique/akhlut.ron index 497a15edf0..59e6293952 100644 --- a/assets/common/items/npc_weapons/unique/akhlut.ron +++ b/assets/common/items/npc_weapons/unique/akhlut.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/ancient_effigy_eyes.ron b/assets/common/items/npc_weapons/unique/ancient_effigy_eyes.ron index 0135b1fb2d..924dad4eb4 100644 --- a/assets/common/items/npc_weapons/unique/ancient_effigy_eyes.ron +++ b/assets/common/items/npc_weapons/unique/ancient_effigy_eyes.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/arthropods/antlion.ron b/assets/common/items/npc_weapons/unique/arthropods/antlion.ron index 82323ad711..af99cd4b60 100644 --- a/assets/common/items/npc_weapons/unique/arthropods/antlion.ron +++ b/assets/common/items/npc_weapons/unique/arthropods/antlion.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: High, diff --git a/assets/common/items/npc_weapons/unique/arthropods/blackwidow.ron b/assets/common/items/npc_weapons/unique/arthropods/blackwidow.ron index 2d87b289a7..4cb2c56f4c 100644 --- a/assets/common/items/npc_weapons/unique/arthropods/blackwidow.ron +++ b/assets/common/items/npc_weapons/unique/arthropods/blackwidow.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: High, diff --git a/assets/common/items/npc_weapons/unique/arthropods/cavespider.ron b/assets/common/items/npc_weapons/unique/arthropods/cavespider.ron index 2fed3acdbc..f74235d2bc 100644 --- a/assets/common/items/npc_weapons/unique/arthropods/cavespider.ron +++ b/assets/common/items/npc_weapons/unique/arthropods/cavespider.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.9, energy_efficiency: 1.0, buff_strength: 0.9, + block_strength: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/npc_weapons/unique/arthropods/dagonite.ron b/assets/common/items/npc_weapons/unique/arthropods/dagonite.ron index 1d8bfe04b6..be6c6d7200 100644 --- a/assets/common/items/npc_weapons/unique/arthropods/dagonite.ron +++ b/assets/common/items/npc_weapons/unique/arthropods/dagonite.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: High, diff --git a/assets/common/items/npc_weapons/unique/arthropods/hornbeetle.ron b/assets/common/items/npc_weapons/unique/arthropods/hornbeetle.ron index a40c89dcd1..675d96cff3 100644 --- a/assets/common/items/npc_weapons/unique/arthropods/hornbeetle.ron +++ b/assets/common/items/npc_weapons/unique/arthropods/hornbeetle.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: High, diff --git a/assets/common/items/npc_weapons/unique/arthropods/tarantula.ron b/assets/common/items/npc_weapons/unique/arthropods/tarantula.ron index 07ed8e17aa..1ce7bd899f 100644 --- a/assets/common/items/npc_weapons/unique/arthropods/tarantula.ron +++ b/assets/common/items/npc_weapons/unique/arthropods/tarantula.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/npc_weapons/unique/arthropods/weevil.ron b/assets/common/items/npc_weapons/unique/arthropods/weevil.ron index 04e4b99845..071395bd19 100644 --- a/assets/common/items/npc_weapons/unique/arthropods/weevil.ron +++ b/assets/common/items/npc_weapons/unique/arthropods/weevil.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/npc_weapons/unique/beast_claws.ron b/assets/common/items/npc_weapons/unique/beast_claws.ron index fd0a6f646f..0eaaa25756 100644 --- a/assets/common/items/npc_weapons/unique/beast_claws.ron +++ b/assets/common/items/npc_weapons/unique/beast_claws.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/birdlargebasic.ron b/assets/common/items/npc_weapons/unique/birdlargebasic.ron index e94d48df75..37eed5f4a2 100644 --- a/assets/common/items/npc_weapons/unique/birdlargebasic.ron +++ b/assets/common/items/npc_weapons/unique/birdlargebasic.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/birdlargebreathe.ron b/assets/common/items/npc_weapons/unique/birdlargebreathe.ron index 8a5fabe2de..bdef0a198d 100644 --- a/assets/common/items/npc_weapons/unique/birdlargebreathe.ron +++ b/assets/common/items/npc_weapons/unique/birdlargebreathe.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/birdlargefire.ron b/assets/common/items/npc_weapons/unique/birdlargefire.ron index db3ee75dd4..2f0e13d81e 100644 --- a/assets/common/items/npc_weapons/unique/birdlargefire.ron +++ b/assets/common/items/npc_weapons/unique/birdlargefire.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Epic, diff --git a/assets/common/items/npc_weapons/unique/birdmediumbasic.ron b/assets/common/items/npc_weapons/unique/birdmediumbasic.ron index b5b487bf4c..d26307b2f7 100644 --- a/assets/common/items/npc_weapons/unique/birdmediumbasic.ron +++ b/assets/common/items/npc_weapons/unique/birdmediumbasic.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/bushly.ron b/assets/common/items/npc_weapons/unique/bushly.ron index ed847558b1..31f5e5b033 100644 --- a/assets/common/items/npc_weapons/unique/bushly.ron +++ b/assets/common/items/npc_weapons/unique/bushly.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/cardinal.ron b/assets/common/items/npc_weapons/unique/cardinal.ron index 2c0dfa6e45..5191ed7811 100644 --- a/assets/common/items/npc_weapons/unique/cardinal.ron +++ b/assets/common/items/npc_weapons/unique/cardinal.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/npc_weapons/unique/clay_golem_fist.ron b/assets/common/items/npc_weapons/unique/clay_golem_fist.ron index 2497ccdc36..c69cd4ca4e 100644 --- a/assets/common/items/npc_weapons/unique/clay_golem_fist.ron +++ b/assets/common/items/npc_weapons/unique/clay_golem_fist.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/claysteed.ron b/assets/common/items/npc_weapons/unique/claysteed.ron index 8e8e3c0b79..9f7d47d6bd 100644 --- a/assets/common/items/npc_weapons/unique/claysteed.ron +++ b/assets/common/items/npc_weapons/unique/claysteed.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/clockwork.ron b/assets/common/items/npc_weapons/unique/clockwork.ron index a8c18ef05f..0df7a01d1c 100644 --- a/assets/common/items/npc_weapons/unique/clockwork.ron +++ b/assets/common/items/npc_weapons/unique/clockwork.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/cloudwyvern.ron b/assets/common/items/npc_weapons/unique/cloudwyvern.ron index 04c0c72f23..47ee58d5f8 100644 --- a/assets/common/items/npc_weapons/unique/cloudwyvern.ron +++ b/assets/common/items/npc_weapons/unique/cloudwyvern.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/coral_golem_fist.ron b/assets/common/items/npc_weapons/unique/coral_golem_fist.ron index d457ab0de1..804527dbc6 100644 --- a/assets/common/items/npc_weapons/unique/coral_golem_fist.ron +++ b/assets/common/items/npc_weapons/unique/coral_golem_fist.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/crab_pincer.ron b/assets/common/items/npc_weapons/unique/crab_pincer.ron index 160b75ef83..b17647a839 100644 --- a/assets/common/items/npc_weapons/unique/crab_pincer.ron +++ b/assets/common/items/npc_weapons/unique/crab_pincer.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/dagon.ron b/assets/common/items/npc_weapons/unique/dagon.ron index 8c53c43697..09aace09f0 100644 --- a/assets/common/items/npc_weapons/unique/dagon.ron +++ b/assets/common/items/npc_weapons/unique/dagon.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/driggle.ron b/assets/common/items/npc_weapons/unique/driggle.ron index 9d07bc34f1..539a21f3e2 100644 --- a/assets/common/items/npc_weapons/unique/driggle.ron +++ b/assets/common/items/npc_weapons/unique/driggle.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/emberfly.ron b/assets/common/items/npc_weapons/unique/emberfly.ron index 6547384de4..918962f7db 100644 --- a/assets/common/items/npc_weapons/unique/emberfly.ron +++ b/assets/common/items/npc_weapons/unique/emberfly.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/fiery_tornado.ron b/assets/common/items/npc_weapons/unique/fiery_tornado.ron index 15fc3fc4e7..8eb186a7c8 100644 --- a/assets/common/items/npc_weapons/unique/fiery_tornado.ron +++ b/assets/common/items/npc_weapons/unique/fiery_tornado.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/flamekeeper_staff.ron b/assets/common/items/npc_weapons/unique/flamekeeper_staff.ron index 1108077005..7e9ae79ce6 100644 --- a/assets/common/items/npc_weapons/unique/flamekeeper_staff.ron +++ b/assets/common/items/npc_weapons/unique/flamekeeper_staff.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Epic, diff --git a/assets/common/items/npc_weapons/unique/flamethrower.ron b/assets/common/items/npc_weapons/unique/flamethrower.ron index e38b6f9ca6..250ef77cde 100644 --- a/assets/common/items/npc_weapons/unique/flamethrower.ron +++ b/assets/common/items/npc_weapons/unique/flamethrower.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.5, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/flamewyvern.ron b/assets/common/items/npc_weapons/unique/flamewyvern.ron index 121805e4a4..4940f0ced0 100644 --- a/assets/common/items/npc_weapons/unique/flamewyvern.ron +++ b/assets/common/items/npc_weapons/unique/flamewyvern.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/frostfang.ron b/assets/common/items/npc_weapons/unique/frostfang.ron index fab3c9bc89..cca9e54e26 100644 --- a/assets/common/items/npc_weapons/unique/frostfang.ron +++ b/assets/common/items/npc_weapons/unique/frostfang.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/frostwyvern.ron b/assets/common/items/npc_weapons/unique/frostwyvern.ron index fb6ddc3d2f..fc2bea3921 100644 --- a/assets/common/items/npc_weapons/unique/frostwyvern.ron +++ b/assets/common/items/npc_weapons/unique/frostwyvern.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/gravewarden_fist.ron b/assets/common/items/npc_weapons/unique/gravewarden_fist.ron index c60fe9a9a8..2d8d7aa01b 100644 --- a/assets/common/items/npc_weapons/unique/gravewarden_fist.ron +++ b/assets/common/items/npc_weapons/unique/gravewarden_fist.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/haniwa_sentry.ron b/assets/common/items/npc_weapons/unique/haniwa_sentry.ron index 69955ec568..62087476eb 100644 --- a/assets/common/items/npc_weapons/unique/haniwa_sentry.ron +++ b/assets/common/items/npc_weapons/unique/haniwa_sentry.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/hermit_alligator.ron b/assets/common/items/npc_weapons/unique/hermit_alligator.ron index 584d5f9085..cf5adac7c4 100644 --- a/assets/common/items/npc_weapons/unique/hermit_alligator.ron +++ b/assets/common/items/npc_weapons/unique/hermit_alligator.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: High, diff --git a/assets/common/items/npc_weapons/unique/husk.ron b/assets/common/items/npc_weapons/unique/husk.ron index 8de3d046f4..e3cf79afe0 100644 --- a/assets/common/items/npc_weapons/unique/husk.ron +++ b/assets/common/items/npc_weapons/unique/husk.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/husk_brute.ron b/assets/common/items/npc_weapons/unique/husk_brute.ron index 7ed05973b8..736d27f0b4 100644 --- a/assets/common/items/npc_weapons/unique/husk_brute.ron +++ b/assets/common/items/npc_weapons/unique/husk_brute.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/irrwurz.ron b/assets/common/items/npc_weapons/unique/irrwurz.ron index 147b965660..eb776be3f3 100644 --- a/assets/common/items/npc_weapons/unique/irrwurz.ron +++ b/assets/common/items/npc_weapons/unique/irrwurz.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/mossysnail.ron b/assets/common/items/npc_weapons/unique/mossysnail.ron index 6980dad168..f273dec2a0 100644 --- a/assets/common/items/npc_weapons/unique/mossysnail.ron +++ b/assets/common/items/npc_weapons/unique/mossysnail.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/organ.ron b/assets/common/items/npc_weapons/unique/organ.ron index 62526c081d..f42a351906 100644 --- a/assets/common/items/npc_weapons/unique/organ.ron +++ b/assets/common/items/npc_weapons/unique/organ.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/npc_weapons/unique/quadlowbasic.ron b/assets/common/items/npc_weapons/unique/quadlowbasic.ron index 881ddea4c9..1ff21e74d9 100644 --- a/assets/common/items/npc_weapons/unique/quadlowbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadlowbasic.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadlowbeam.ron b/assets/common/items/npc_weapons/unique/quadlowbeam.ron index 7de891448f..2aa42d77d3 100644 --- a/assets/common/items/npc_weapons/unique/quadlowbeam.ron +++ b/assets/common/items/npc_weapons/unique/quadlowbeam.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadlowquick.ron b/assets/common/items/npc_weapons/unique/quadlowquick.ron index 58a3c95752..a75f95eab3 100644 --- a/assets/common/items/npc_weapons/unique/quadlowquick.ron +++ b/assets/common/items/npc_weapons/unique/quadlowquick.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadlowtail.ron b/assets/common/items/npc_weapons/unique/quadlowtail.ron index bbe2642eea..e7b5a8dded 100644 --- a/assets/common/items/npc_weapons/unique/quadlowtail.ron +++ b/assets/common/items/npc_weapons/unique/quadlowtail.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadmedbasic.ron b/assets/common/items/npc_weapons/unique/quadmedbasic.ron index 56f3cf3c8a..8960f1f5a1 100644 --- a/assets/common/items/npc_weapons/unique/quadmedbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadmedbasic.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadmedbasicgentle.ron b/assets/common/items/npc_weapons/unique/quadmedbasicgentle.ron index fa889c4b51..9b517df009 100644 --- a/assets/common/items/npc_weapons/unique/quadmedbasicgentle.ron +++ b/assets/common/items/npc_weapons/unique/quadmedbasicgentle.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadmedcharge.ron b/assets/common/items/npc_weapons/unique/quadmedcharge.ron index 108125ec39..6af526f455 100644 --- a/assets/common/items/npc_weapons/unique/quadmedcharge.ron +++ b/assets/common/items/npc_weapons/unique/quadmedcharge.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadmedjump.ron b/assets/common/items/npc_weapons/unique/quadmedjump.ron index 8d44003988..cc24b5e6d7 100644 --- a/assets/common/items/npc_weapons/unique/quadmedjump.ron +++ b/assets/common/items/npc_weapons/unique/quadmedjump.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadmedquick.ron b/assets/common/items/npc_weapons/unique/quadmedquick.ron index 37e25021f8..c1aecc7de2 100644 --- a/assets/common/items/npc_weapons/unique/quadmedquick.ron +++ b/assets/common/items/npc_weapons/unique/quadmedquick.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadruped_low/asp.ron b/assets/common/items/npc_weapons/unique/quadruped_low/asp.ron index f4cd75a79a..0e2c55c43b 100644 --- a/assets/common/items/npc_weapons/unique/quadruped_low/asp.ron +++ b/assets/common/items/npc_weapons/unique/quadruped_low/asp.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/npc_weapons/unique/quadruped_low/basilisk.ron b/assets/common/items/npc_weapons/unique/quadruped_low/basilisk.ron index 2667a87168..bf4a1759f8 100644 --- a/assets/common/items/npc_weapons/unique/quadruped_low/basilisk.ron +++ b/assets/common/items/npc_weapons/unique/quadruped_low/basilisk.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Epic, diff --git a/assets/common/items/npc_weapons/unique/quadruped_low/deadwood.ron b/assets/common/items/npc_weapons/unique/quadruped_low/deadwood.ron index dfa8e2b49c..acd8d87773 100644 --- a/assets/common/items/npc_weapons/unique/quadruped_low/deadwood.ron +++ b/assets/common/items/npc_weapons/unique/quadruped_low/deadwood.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/npc_weapons/unique/quadruped_low/icedrake.ron b/assets/common/items/npc_weapons/unique/quadruped_low/icedrake.ron index b8eba04a58..62114a0943 100644 --- a/assets/common/items/npc_weapons/unique/quadruped_low/icedrake.ron +++ b/assets/common/items/npc_weapons/unique/quadruped_low/icedrake.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: High, diff --git a/assets/common/items/npc_weapons/unique/quadruped_low/lavadrake.ron b/assets/common/items/npc_weapons/unique/quadruped_low/lavadrake.ron index dd16c913ab..07f9f8a46d 100644 --- a/assets/common/items/npc_weapons/unique/quadruped_low/lavadrake.ron +++ b/assets/common/items/npc_weapons/unique/quadruped_low/lavadrake.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: High, diff --git a/assets/common/items/npc_weapons/unique/quadruped_low/maneater.ron b/assets/common/items/npc_weapons/unique/quadruped_low/maneater.ron index 2013cf9e2b..a9406744c7 100644 --- a/assets/common/items/npc_weapons/unique/quadruped_low/maneater.ron +++ b/assets/common/items/npc_weapons/unique/quadruped_low/maneater.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: High, diff --git a/assets/common/items/npc_weapons/unique/quadruped_medium/horse.ron b/assets/common/items/npc_weapons/unique/quadruped_medium/horse.ron index 7c2df36d76..eb074d3566 100644 --- a/assets/common/items/npc_weapons/unique/quadruped_medium/horse.ron +++ b/assets/common/items/npc_weapons/unique/quadruped_medium/horse.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/npc_weapons/unique/quadsmallbasic.ron b/assets/common/items/npc_weapons/unique/quadsmallbasic.ron index c77ee05d1c..53bb558840 100644 --- a/assets/common/items/npc_weapons/unique/quadsmallbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadsmallbasic.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/npc_weapons/unique/roshwalr.ron b/assets/common/items/npc_weapons/unique/roshwalr.ron index e1e57309e3..6431991b89 100644 --- a/assets/common/items/npc_weapons/unique/roshwalr.ron +++ b/assets/common/items/npc_weapons/unique/roshwalr.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/sea_bishop_sceptre.ron b/assets/common/items/npc_weapons/unique/sea_bishop_sceptre.ron index 0cd96a85a5..7e0a725c3b 100644 --- a/assets/common/items/npc_weapons/unique/sea_bishop_sceptre.ron +++ b/assets/common/items/npc_weapons/unique/sea_bishop_sceptre.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Epic, diff --git a/assets/common/items/npc_weapons/unique/seawyvern.ron b/assets/common/items/npc_weapons/unique/seawyvern.ron index ac87d9227f..c4d6564a5c 100644 --- a/assets/common/items/npc_weapons/unique/seawyvern.ron +++ b/assets/common/items/npc_weapons/unique/seawyvern.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/simpleflyingbasic.ron b/assets/common/items/npc_weapons/unique/simpleflyingbasic.ron index ddf9042336..f33b35903c 100644 --- a/assets/common/items/npc_weapons/unique/simpleflyingbasic.ron +++ b/assets/common/items/npc_weapons/unique/simpleflyingbasic.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, 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 1834a3b4d5..b2d47f42b9 100644 --- a/assets/common/items/npc_weapons/unique/stone_golems_fist.ron +++ b/assets/common/items/npc_weapons/unique/stone_golems_fist.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/theropodbasic.ron b/assets/common/items/npc_weapons/unique/theropodbasic.ron index 7061742e10..6f47d1ba00 100644 --- a/assets/common/items/npc_weapons/unique/theropodbasic.ron +++ b/assets/common/items/npc_weapons/unique/theropodbasic.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/theropodbird.ron b/assets/common/items/npc_weapons/unique/theropodbird.ron index 82ffcd4abc..f9abd21bc5 100644 --- a/assets/common/items/npc_weapons/unique/theropodbird.ron +++ b/assets/common/items/npc_weapons/unique/theropodbird.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/theropodcharge.ron b/assets/common/items/npc_weapons/unique/theropodcharge.ron index dd53e92c0e..43759c51d1 100644 --- a/assets/common/items/npc_weapons/unique/theropodcharge.ron +++ b/assets/common/items/npc_weapons/unique/theropodcharge.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/theropodsmall.ron b/assets/common/items/npc_weapons/unique/theropodsmall.ron index ee7cad2faf..37317144ad 100644 --- a/assets/common/items/npc_weapons/unique/theropodsmall.ron +++ b/assets/common/items/npc_weapons/unique/theropodsmall.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/tidal_claws.ron b/assets/common/items/npc_weapons/unique/tidal_claws.ron index ecba1a2ec0..4aa138fbd7 100644 --- a/assets/common/items/npc_weapons/unique/tidal_claws.ron +++ b/assets/common/items/npc_weapons/unique/tidal_claws.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/tidal_totem.ron b/assets/common/items/npc_weapons/unique/tidal_totem.ron index 032b829c7b..6780c81a23 100644 --- a/assets/common/items/npc_weapons/unique/tidal_totem.ron +++ b/assets/common/items/npc_weapons/unique/tidal_totem.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/tornado.ron b/assets/common/items/npc_weapons/unique/tornado.ron index 1d3c97eafe..fe9feec51e 100644 --- a/assets/common/items/npc_weapons/unique/tornado.ron +++ b/assets/common/items/npc_weapons/unique/tornado.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/treantsapling.ron b/assets/common/items/npc_weapons/unique/treantsapling.ron index 9accfd6096..e809e265fa 100644 --- a/assets/common/items/npc_weapons/unique/treantsapling.ron +++ b/assets/common/items/npc_weapons/unique/treantsapling.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/turret.ron b/assets/common/items/npc_weapons/unique/turret.ron index 02abe1edb5..cb42bf4855 100644 --- a/assets/common/items/npc_weapons/unique/turret.ron +++ b/assets/common/items/npc_weapons/unique/turret.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/tursus_claws.ron b/assets/common/items/npc_weapons/unique/tursus_claws.ron index c5798669f4..f9eb458074 100644 --- a/assets/common/items/npc_weapons/unique/tursus_claws.ron +++ b/assets/common/items/npc_weapons/unique/tursus_claws.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/wealdwyvern.ron b/assets/common/items/npc_weapons/unique/wealdwyvern.ron index c95badbce4..d910af3a0d 100644 --- a/assets/common/items/npc_weapons/unique/wealdwyvern.ron +++ b/assets/common/items/npc_weapons/unique/wealdwyvern.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/wendigo_magic.ron b/assets/common/items/npc_weapons/unique/wendigo_magic.ron index 753242d4e0..dd769cab05 100644 --- a/assets/common/items/npc_weapons/unique/wendigo_magic.ron +++ b/assets/common/items/npc_weapons/unique/wendigo_magic.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/wood_golem_fist.ron b/assets/common/items/npc_weapons/unique/wood_golem_fist.ron index 198143e5cf..843ab92f7b 100644 --- a/assets/common/items/npc_weapons/unique/wood_golem_fist.ron +++ b/assets/common/items/npc_weapons/unique/wood_golem_fist.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/tool/craftsman_hammer.ron b/assets/common/items/tool/craftsman_hammer.ron index 609eeb9434..627982a810 100644 --- a/assets/common/items/tool/craftsman_hammer.ron +++ b/assets/common/items/tool/craftsman_hammer.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.4, ), )), quality: Common, diff --git a/assets/common/items/tool/instruments/double_bass.ron b/assets/common/items/tool/instruments/double_bass.ron index dad0a27100..2b6a8cac9c 100644 --- a/assets/common/items/tool/instruments/double_bass.ron +++ b/assets/common/items/tool/instruments/double_bass.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/tool/instruments/flute.ron b/assets/common/items/tool/instruments/flute.ron index 8bc58532f1..dd04b0647d 100644 --- a/assets/common/items/tool/instruments/flute.ron +++ b/assets/common/items/tool/instruments/flute.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/tool/instruments/glass_flute.ron b/assets/common/items/tool/instruments/glass_flute.ron index 9eaefed1c8..6f7cc347b5 100644 --- a/assets/common/items/tool/instruments/glass_flute.ron +++ b/assets/common/items/tool/instruments/glass_flute.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/tool/instruments/guitar.ron b/assets/common/items/tool/instruments/guitar.ron index a51eecaf6a..1246233b8c 100644 --- a/assets/common/items/tool/instruments/guitar.ron +++ b/assets/common/items/tool/instruments/guitar.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/tool/instruments/guitar_dark.ron b/assets/common/items/tool/instruments/guitar_dark.ron index e0a35a2f47..a4bfd09009 100644 --- a/assets/common/items/tool/instruments/guitar_dark.ron +++ b/assets/common/items/tool/instruments/guitar_dark.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/tool/instruments/icy_talharpa.ron b/assets/common/items/tool/instruments/icy_talharpa.ron index ba6c01a092..b34189f114 100644 --- a/assets/common/items/tool/instruments/icy_talharpa.ron +++ b/assets/common/items/tool/instruments/icy_talharpa.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/tool/instruments/kalimba.ron b/assets/common/items/tool/instruments/kalimba.ron index 29f66061bf..5e9e41d5f4 100644 --- a/assets/common/items/tool/instruments/kalimba.ron +++ b/assets/common/items/tool/instruments/kalimba.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/tool/instruments/lute.ron b/assets/common/items/tool/instruments/lute.ron index 9de216cbbc..7d5a54ef39 100644 --- a/assets/common/items/tool/instruments/lute.ron +++ b/assets/common/items/tool/instruments/lute.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/tool/instruments/lyre.ron b/assets/common/items/tool/instruments/lyre.ron index c9cc7a14f7..e91311a251 100644 --- a/assets/common/items/tool/instruments/lyre.ron +++ b/assets/common/items/tool/instruments/lyre.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/tool/instruments/melodica.ron b/assets/common/items/tool/instruments/melodica.ron index 84cf081475..5b71b5c6eb 100644 --- a/assets/common/items/tool/instruments/melodica.ron +++ b/assets/common/items/tool/instruments/melodica.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/tool/instruments/shamisen.ron b/assets/common/items/tool/instruments/shamisen.ron index 05f2c42366..fd7e613884 100644 --- a/assets/common/items/tool/instruments/shamisen.ron +++ b/assets/common/items/tool/instruments/shamisen.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/tool/instruments/sitar.ron b/assets/common/items/tool/instruments/sitar.ron index 338a6c7889..dacf7ade2a 100644 --- a/assets/common/items/tool/instruments/sitar.ron +++ b/assets/common/items/tool/instruments/sitar.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/tool/instruments/steeltonguedrum.ron b/assets/common/items/tool/instruments/steeltonguedrum.ron index 2fd5bfd5c6..f9e30a27b5 100644 --- a/assets/common/items/tool/instruments/steeltonguedrum.ron +++ b/assets/common/items/tool/instruments/steeltonguedrum.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/tool/instruments/washboard.ron b/assets/common/items/tool/instruments/washboard.ron index 1607cdc7e8..dbfb1a713e 100644 --- a/assets/common/items/tool/instruments/washboard.ron +++ b/assets/common/items/tool/instruments/washboard.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/tool/instruments/wildskin_drum.ron b/assets/common/items/tool/instruments/wildskin_drum.ron index 5418b5c9a8..40fe1b32bc 100644 --- a/assets/common/items/tool/instruments/wildskin_drum.ron +++ b/assets/common/items/tool/instruments/wildskin_drum.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/tool/pickaxe_steel.ron b/assets/common/items/tool/pickaxe_steel.ron index ce027ff25f..f2c869150a 100644 --- a/assets/common/items/tool/pickaxe_steel.ron +++ b/assets/common/items/tool/pickaxe_steel.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/tool/pickaxe_stone.ron b/assets/common/items/tool/pickaxe_stone.ron index f80d70a039..03c2f75fa1 100644 --- a/assets/common/items/tool/pickaxe_stone.ron +++ b/assets/common/items/tool/pickaxe_stone.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/tool/pickaxe_velorite.ron b/assets/common/items/tool/pickaxe_velorite.ron index 303f2d2fca..e9c27d8e4a 100644 --- a/assets/common/items/tool/pickaxe_velorite.ron +++ b/assets/common/items/tool/pickaxe_velorite.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/malachite_axe-0.ron b/assets/common/items/weapons/axe/malachite_axe-0.ron index c6817414ba..f3f363de9b 100644 --- a/assets/common/items/weapons/axe/malachite_axe-0.ron +++ b/assets/common/items/weapons/axe/malachite_axe-0.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.3, buff_strength: 1.2, + block_strength: 1.0, ), )), quality: Epic, diff --git a/assets/common/items/weapons/axe/parashu.ron b/assets/common/items/weapons/axe/parashu.ron index d7a72fddfd..b64f84dc4f 100644 --- a/assets/common/items/weapons/axe/parashu.ron +++ b/assets/common/items/weapons/axe/parashu.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 1.2, + block_strength: 1.0, ), )), quality: Legendary, diff --git a/assets/common/items/weapons/axe/starter_axe.ron b/assets/common/items/weapons/axe/starter_axe.ron index 7bb1665639..e06a39aeed 100644 --- a/assets/common/items/weapons/axe/starter_axe.ron +++ b/assets/common/items/weapons/axe/starter_axe.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Low, diff --git a/assets/common/items/weapons/bow/sagitta.ron b/assets/common/items/weapons/bow/sagitta.ron index 9f82f8588f..90f718a403 100644 --- a/assets/common/items/weapons/bow/sagitta.ron +++ b/assets/common/items/weapons/bow/sagitta.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/weapons/bow/starter.ron b/assets/common/items/weapons/bow/starter.ron index 1f8d3dee6a..9dedf1616d 100644 --- a/assets/common/items/weapons/bow/starter.ron +++ b/assets/common/items/weapons/bow/starter.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 0.9, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/weapons/bow/velorite.ron b/assets/common/items/weapons/bow/velorite.ron index 1f244104fa..f53492f291 100644 --- a/assets/common/items/weapons/bow/velorite.ron +++ b/assets/common/items/weapons/bow/velorite.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Epic, diff --git a/assets/common/items/weapons/dagger/basic_0.ron b/assets/common/items/weapons/dagger/basic_0.ron index 2a5b0f7cb3..7dcfaf98ba 100644 --- a/assets/common/items/weapons/dagger/basic_0.ron +++ b/assets/common/items/weapons/dagger/basic_0.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: High, diff --git a/assets/common/items/weapons/dagger/cultist_0.ron b/assets/common/items/weapons/dagger/cultist_0.ron index 3cf353373b..e6dbc7a9bf 100644 --- a/assets/common/items/weapons/dagger/cultist_0.ron +++ b/assets/common/items/weapons/dagger/cultist_0.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Epic, diff --git a/assets/common/items/weapons/dagger/starter_dagger.ron b/assets/common/items/weapons/dagger/starter_dagger.ron index 031bf7b1a0..5a2038db7e 100644 --- a/assets/common/items/weapons/dagger/starter_dagger.ron +++ b/assets/common/items/weapons/dagger/starter_dagger.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Moderate, diff --git a/assets/common/items/weapons/empty/empty.ron b/assets/common/items/weapons/empty/empty.ron index 104aadc3cb..06d0b61718 100644 --- a/assets/common/items/weapons/empty/empty.ron +++ b/assets/common/items/weapons/empty/empty.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), )), quality: Low, diff --git a/assets/common/items/weapons/hammer/burnt_drumstick.ron b/assets/common/items/weapons/hammer/burnt_drumstick.ron index cd58f31881..b8aca30884 100644 --- a/assets/common/items/weapons/hammer/burnt_drumstick.ron +++ b/assets/common/items/weapons/hammer/burnt_drumstick.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.6, ), )), quality: Low, 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 8676ced138..897c7dffd2 100644 --- a/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron +++ b/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.9, ), )), quality: Epic, diff --git a/assets/common/items/weapons/hammer/flimsy_hammer.ron b/assets/common/items/weapons/hammer/flimsy_hammer.ron index f074fa3ba9..cac2bd10ff 100644 --- a/assets/common/items/weapons/hammer/flimsy_hammer.ron +++ b/assets/common/items/weapons/hammer/flimsy_hammer.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.7, ), )), quality: Low, diff --git a/assets/common/items/weapons/hammer/hammer_1.ron b/assets/common/items/weapons/hammer/hammer_1.ron index dbf8e866a3..734ff3af53 100644 --- a/assets/common/items/weapons/hammer/hammer_1.ron +++ b/assets/common/items/weapons/hammer/hammer_1.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.7, ), )), quality: Low, diff --git a/assets/common/items/weapons/hammer/mjolnir.ron b/assets/common/items/weapons/hammer/mjolnir.ron index 32dfac09aa..b453bfdeca 100644 --- a/assets/common/items/weapons/hammer/mjolnir.ron +++ b/assets/common/items/weapons/hammer/mjolnir.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 3.2, ), )), quality: Legendary, diff --git a/assets/common/items/weapons/hammer/starter_hammer.ron b/assets/common/items/weapons/hammer/starter_hammer.ron index 55e89008ed..f6d6932008 100644 --- a/assets/common/items/weapons/hammer/starter_hammer.ron +++ b/assets/common/items/weapons/hammer/starter_hammer.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.95, energy_efficiency: 1.0, buff_strength: 0.9, + block_strength: 0.6, ), )), quality: Low, diff --git a/assets/common/items/weapons/sceptre/amethyst.ron b/assets/common/items/weapons/sceptre/amethyst.ron index c3132e5d81..0d4078abe9 100644 --- a/assets/common/items/weapons/sceptre/amethyst.ron +++ b/assets/common/items/weapons/sceptre/amethyst.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Epic, diff --git a/assets/common/items/weapons/sceptre/belzeshrub.ron b/assets/common/items/weapons/sceptre/belzeshrub.ron index 44c19f5191..0eaf6dacae 100644 --- a/assets/common/items/weapons/sceptre/belzeshrub.ron +++ b/assets/common/items/weapons/sceptre/belzeshrub.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Artifact, diff --git a/assets/common/items/weapons/sceptre/caduceus.ron b/assets/common/items/weapons/sceptre/caduceus.ron index 17c6a767e3..ed43aaab10 100644 --- a/assets/common/items/weapons/sceptre/caduceus.ron +++ b/assets/common/items/weapons/sceptre/caduceus.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/weapons/sceptre/root_evil.ron b/assets/common/items/weapons/sceptre/root_evil.ron index 9e8d651b7f..fa544af57e 100644 --- a/assets/common/items/weapons/sceptre/root_evil.ron +++ b/assets/common/items/weapons/sceptre/root_evil.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Epic, diff --git a/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron b/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron index b3ae7ff9cf..86a9b5d584 100644 --- a/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron +++ b/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Epic, diff --git a/assets/common/items/weapons/sceptre/starter_sceptre.ron b/assets/common/items/weapons/sceptre/starter_sceptre.ron index f8d9f3a4ba..aa56e3cd83 100644 --- a/assets/common/items/weapons/sceptre/starter_sceptre.ron +++ b/assets/common/items/weapons/sceptre/starter_sceptre.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.95, energy_efficiency: 1.0, buff_strength: 0.9, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/weapons/shield/shield_1.ron b/assets/common/items/weapons/shield/shield_1.ron index 414ce995cc..7e0454771f 100644 --- a/assets/common/items/weapons/shield/shield_1.ron +++ b/assets/common/items/weapons/shield/shield_1.ron @@ -8,10 +8,11 @@ ItemDef( equip_time_secs: 0.4, power: 1.0, effect_power: 1.0, - speed: 1.0, + speed: 0.8, range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.5, ), )), quality: Common, diff --git a/assets/common/items/weapons/shield/starter_shield.ron b/assets/common/items/weapons/shield/starter_shield.ron new file mode 100644 index 0000000000..9e600c9a8c --- /dev/null +++ b/assets/common/items/weapons/shield/starter_shield.ron @@ -0,0 +1,21 @@ +ItemDef( + legacy_name: "Wooden Shield", + legacy_description: "May not withstand fire", + kind: Tool(( + kind: Shield, + hands: One, + stats: ( + equip_time_secs: 0.3, + power: 0.4, + effect_power: 1.0, + speed: 0.8, + range: 1.0, + energy_efficiency: 1.0, + buff_strength: 1.0, + block_strength: 1.2, + ), + )), + quality: Common, + tags: [], + ability_spec: None, +) \ 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 ca70a427c1..3c1f0cd808 100644 --- a/assets/common/items/weapons/staff/cultist_staff.ron +++ b/assets/common/items/weapons/staff/cultist_staff.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Epic, diff --git a/assets/common/items/weapons/staff/laevateinn.ron b/assets/common/items/weapons/staff/laevateinn.ron index a7fdb45803..b35759fb3d 100644 --- a/assets/common/items/weapons/staff/laevateinn.ron +++ b/assets/common/items/weapons/staff/laevateinn.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/weapons/staff/staff_1.ron b/assets/common/items/weapons/staff/staff_1.ron index 7ef8188d6f..6c9fab0372 100644 --- a/assets/common/items/weapons/staff/staff_1.ron +++ b/assets/common/items/weapons/staff/staff_1.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/weapons/staff/starter_staff.ron b/assets/common/items/weapons/staff/starter_staff.ron index 32782cbec4..e818eda937 100644 --- a/assets/common/items/weapons/staff/starter_staff.ron +++ b/assets/common/items/weapons/staff/starter_staff.ron @@ -12,6 +12,7 @@ ItemDef( range: 0.95, energy_efficiency: 1.0, buff_strength: 0.95, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/weapons/sword/caladbolg.ron b/assets/common/items/weapons/sword/caladbolg.ron index 3f2c0f2e4f..15054f00bf 100644 --- a/assets/common/items/weapons/sword/caladbolg.ron +++ b/assets/common/items/weapons/sword/caladbolg.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.8, buff_strength: 1.2, + block_strength: 3.2, ), )), quality: Legendary, diff --git a/assets/common/items/weapons/sword/cultist.ron b/assets/common/items/weapons/sword/cultist.ron index 6d872b4466..e94a95377e 100644 --- a/assets/common/items/weapons/sword/cultist.ron +++ b/assets/common/items/weapons/sword/cultist.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.3, buff_strength: 1.2, + block_strength: 1.9, ), )), quality: Epic, diff --git a/assets/common/items/weapons/sword/frost-0.ron b/assets/common/items/weapons/sword/frost-0.ron index b63bcb0416..ed96ee5b3d 100644 --- a/assets/common/items/weapons/sword/frost-0.ron +++ b/assets/common/items/weapons/sword/frost-0.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.9, ), )), quality: High, diff --git a/assets/common/items/weapons/sword/frost-1.ron b/assets/common/items/weapons/sword/frost-1.ron index 4a5e0bfe8c..0ba8f959a0 100644 --- a/assets/common/items/weapons/sword/frost-1.ron +++ b/assets/common/items/weapons/sword/frost-1.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 2.2, ), )), quality: Epic, diff --git a/assets/common/items/weapons/sword/starter.ron b/assets/common/items/weapons/sword/starter.ron index 23bda7b705..fe2eb035f3 100644 --- a/assets/common/items/weapons/sword/starter.ron +++ b/assets/common/items/weapons/sword/starter.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 0.9, buff_strength: 1.1, + block_strength: 0.8, ), )), quality: Low, diff --git a/assets/common/items/weapons/sword_1h/starter.ron b/assets/common/items/weapons/sword_1h/starter.ron index 0970886c6d..c88304975b 100644 --- a/assets/common/items/weapons/sword_1h/starter.ron +++ b/assets/common/items/weapons/sword_1h/starter.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.1, buff_strength: 0.9, + block_strength: 0.6, ), )), quality: Low, diff --git a/assets/common/items/weapons/tool/broom.ron b/assets/common/items/weapons/tool/broom.ron index d8ed48f70f..8daf391593 100644 --- a/assets/common/items/weapons/tool/broom.ron +++ b/assets/common/items/weapons/tool/broom.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/weapons/tool/fishing_rod.ron b/assets/common/items/weapons/tool/fishing_rod.ron index b3fc0f7175..cd913d9d08 100644 --- a/assets/common/items/weapons/tool/fishing_rod.ron +++ b/assets/common/items/weapons/tool/fishing_rod.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/weapons/tool/golf_club.ron b/assets/common/items/weapons/tool/golf_club.ron index 59a0ae0c1e..ed955f283a 100644 --- a/assets/common/items/weapons/tool/golf_club.ron +++ b/assets/common/items/weapons/tool/golf_club.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Low, diff --git a/assets/common/items/weapons/tool/hoe.ron b/assets/common/items/weapons/tool/hoe.ron index c70fcdf0d7..6858ef6c59 100644 --- a/assets/common/items/weapons/tool/hoe.ron +++ b/assets/common/items/weapons/tool/hoe.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/weapons/tool/pickaxe.ron b/assets/common/items/weapons/tool/pickaxe.ron index 4756a5a3a9..aec03c98d5 100644 --- a/assets/common/items/weapons/tool/pickaxe.ron +++ b/assets/common/items/weapons/tool/pickaxe.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/weapons/tool/pitchfork.ron b/assets/common/items/weapons/tool/pitchfork.ron index 08629a7d11..beffaef506 100644 --- a/assets/common/items/weapons/tool/pitchfork.ron +++ b/assets/common/items/weapons/tool/pitchfork.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/weapons/tool/rake.ron b/assets/common/items/weapons/tool/rake.ron index 4f9e23d777..1e5ac613e1 100644 --- a/assets/common/items/weapons/tool/rake.ron +++ b/assets/common/items/weapons/tool/rake.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/items/weapons/tool/shovel-0.ron b/assets/common/items/weapons/tool/shovel-0.ron index 19cb7556dc..e8ad1025cf 100644 --- a/assets/common/items/weapons/tool/shovel-0.ron +++ b/assets/common/items/weapons/tool/shovel-0.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/weapons/tool/shovel-1.ron b/assets/common/items/weapons/tool/shovel-1.ron index efeaaf0201..38e1ef1ac2 100644 --- a/assets/common/items/weapons/tool/shovel-1.ron +++ b/assets/common/items/weapons/tool/shovel-1.ron @@ -12,6 +12,7 @@ ItemDef( range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), )), quality: Common, diff --git a/assets/common/loot_tables/weapons/starter.ron b/assets/common/loot_tables/weapons/starter.ron index 6cd133e0aa..4acef796e8 100644 --- a/assets/common/loot_tables/weapons/starter.ron +++ b/assets/common/loot_tables/weapons/starter.ron @@ -5,4 +5,5 @@ (1.0, Item("common.items.weapons.axe.starter_axe")), (1.0, Item("common.items.weapons.staff.starter_staff")), (1.0, Item("common.items.weapons.sceptre.starter_sceptre")), + (1.0, Item("common.items.weapons.shield.starter_shield")), ] \ No newline at end of file diff --git a/assets/common/material_stats_manifest.ron b/assets/common/material_stats_manifest.ron index fe750b4074..67c7c51bb2 100644 --- a/assets/common/material_stats_manifest.ron +++ b/assets/common/material_stats_manifest.ron @@ -9,8 +9,9 @@ speed: 1.0, range: 1.0, energy_efficiency: 1.0, - buff_strength: 1.0, - ), + buff_strength: 0.75, + block_strength: 1.0, + ), "common.items.mineral.ingot.iron": ( equip_time_secs: 1.0, power: 1.0, @@ -19,6 +20,7 @@ range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, ), "common.items.mineral.ingot.steel": ( equip_time_secs: 1.0, @@ -28,6 +30,7 @@ range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.25, ), "common.items.mineral.ingot.cobalt": ( equip_time_secs: 1.0, @@ -37,6 +40,7 @@ range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.5, ), "common.items.mineral.ingot.bloodsteel": ( equip_time_secs: 1.0, @@ -46,6 +50,7 @@ range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.75, ), "common.items.mineral.ingot.orichalcum": ( equip_time_secs: 1.0, @@ -55,6 +60,7 @@ range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 2.0, ), // Woods "common.items.log.wood": ( @@ -65,6 +71,7 @@ range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), "common.items.log.bamboo": ( equip_time_secs: 1.0, @@ -74,6 +81,7 @@ range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), "common.items.log.hardwood": ( equip_time_secs: 1.0, @@ -83,6 +91,7 @@ range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), "common.items.log.ironwood": ( equip_time_secs: 1.0, @@ -92,6 +101,7 @@ range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), "common.items.log.frostwood": ( equip_time_secs: 1.0, @@ -101,6 +111,7 @@ range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), "common.items.log.eldwood": ( equip_time_secs: 1.0, @@ -110,6 +121,7 @@ range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, ), }, armor_stats: { diff --git a/assets/common/recipe_book.ron b/assets/common/recipe_book.ron index 6c7e9510ae..c34543cde3 100644 --- a/assets/common/recipe_book.ron +++ b/assets/common/recipe_book.ron @@ -2357,4 +2357,12 @@ ], craft_sprite: Some(Cauldron), ), + "shield": ( + output: ("common.items.weapons.shield.starter_shield", 1), + inputs: [ + (Item("common.items.log.wood"), 5, false), + (Item("common.items.crafting_ing.leather.leather_strips"), 2, false) + ], + craft_sprite: Some(CraftingBench), + ), } diff --git a/assets/common/repair_recipe_book.ron b/assets/common/repair_recipe_book.ron index 21e11ba9ff..c2b1416385 100644 --- a/assets/common/repair_recipe_book.ron +++ b/assets/common/repair_recipe_book.ron @@ -8,6 +8,7 @@ recipes: { ItemDefId("common.items.weapons.staff.starter_staff"): ( inputs: [], ), ItemDefId("common.items.weapons.sceptre.starter_sceptre"): ( inputs: [], ), ItemDefId("common.items.weapons.sword_1h.starter"): ( inputs: [], ), + ItemDefId("common.items.weapons.shield.starter_shield"): ( inputs: [], ), ModularWeapon(material: "common.items.mineral.ingot.bronze"): ( inputs: [ (Item("common.items.mineral.ingot.bronze"), 1), diff --git a/assets/voxygen/audio/sfx.ron b/assets/voxygen/audio/sfx.ron index 9e97651176..1f4ec0f08f 100644 --- a/assets/voxygen/audio/sfx.ron +++ b/assets/voxygen/audio/sfx.ron @@ -954,7 +954,7 @@ threshold: 0.5, subtitle: "subtitle-unwield_shield", ), - Attack(BasicMelee(Action), Shield): ( + Attack(ComboMelee2(Action), Shield): ( files: [ "voxygen.audio.sfx.abilities.swing", ], diff --git a/assets/voxygen/i18n/en/common.ftl b/assets/voxygen/i18n/en/common.ftl index f2ef0f7350..0d7b5cc61d 100644 --- a/assets/voxygen/i18n/en/common.ftl +++ b/assets/voxygen/i18n/en/common.ftl @@ -97,6 +97,7 @@ common-stats-effect-power = Effect Power common-stats-range = Range common-stats-energy_efficiency = Energy Efficiency common-stats-buff_strength = Buff/Debuff Strength +common-stats-block_strength = Block Strength common-stats-precision_mult = Crit Mult common-stats-armor = Armor common-stats-poise_res = Stun Res diff --git a/assets/voxygen/i18n/en/item/weapon/weapon.ftl b/assets/voxygen/i18n/en/item/weapon/weapon.ftl index 62ce2f98e1..55f9aee027 100644 --- a/assets/voxygen/i18n/en/item/weapon/weapon.ftl +++ b/assets/voxygen/i18n/en/item/weapon/weapon.ftl @@ -1,6 +1,9 @@ weapon-shield-wood-0 = A Tattered Targe .desc = Should withstand a few more hits, hopefully... +weapon-shield-starter = Wooden Shield + .desc = May not withstand fire + weapon-dagger-dagger_basic-0 = Suspicious Paper Knife .desc = Opens letters quickly. diff --git a/assets/voxygen/item_image_manifest.ron b/assets/voxygen/item_image_manifest.ron index aa31dcece6..a2eca4b5d2 100644 --- a/assets/voxygen/item_image_manifest.ron +++ b/assets/voxygen/item_image_manifest.ron @@ -1554,7 +1554,11 @@ // Shields Simple("common.items.weapons.shield.shield_1"): VoxTrans( "voxel.weapon.shield.wood-0", - (0.0, 0.0, 0.0), (-90.0, 90.0, 0.0), 2.4, + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.0, + ), + Simple("common.items.weapons.shield.starter_shield"): VoxTrans( + "voxel.weapon.shield.wood-1", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.0, ), // Lanterns Simple("common.items.lantern.black_0"): VoxTrans( diff --git a/assets/voxygen/voxel/biped_weapon_manifest.ron b/assets/voxygen/voxel/biped_weapon_manifest.ron index d5a69c5045..322f2d14bb 100644 --- a/assets/voxygen/voxel/biped_weapon_manifest.ron +++ b/assets/voxygen/voxel/biped_weapon_manifest.ron @@ -899,7 +899,11 @@ ), // Shields Tool("common.items.weapons.shield.shield_1"): ( - vox_spec: ("weapon.shield.wood-0", (-2.5, -5.5, -5.5)), + vox_spec: ("weapon.shield.wood-0", (-2.5, -7.5, -5.5)), + color: None + ), + Tool("common.items.weapons.shield.starter_shield"): ( + vox_spec: ("weapon.shield.wood-1", (-3.5, -7.5, -5.5)), color: None ), // Bows diff --git a/assets/voxygen/voxel/item_drop_manifest.ron b/assets/voxygen/voxel/item_drop_manifest.ron index 50a619428d..83e8f1b225 100644 --- a/assets/voxygen/voxel/item_drop_manifest.ron +++ b/assets/voxygen/voxel/item_drop_manifest.ron @@ -376,6 +376,7 @@ Simple("common.items.weapons.dagger.cultist_0"): "voxel.weapon.dagger.dagger_cult-0", // Shields Simple("common.items.weapons.shield.shield_1"): "voxel.weapon.shield.wood-0", + Simple("common.items.weapons.shield.starter_shield"): "voxel.weapon.shield.wood-1", // Lanterns Simple("common.items.lantern.black_0"): "voxel.lantern.black-0", Simple("common.items.lantern.green_0"): "voxel.lantern.green-0", diff --git a/assets/voxygen/voxel/weapon/shield/wood-1.vox b/assets/voxygen/voxel/weapon/shield/wood-1.vox new file mode 100644 index 0000000000..f46ecc6d62 --- /dev/null +++ b/assets/voxygen/voxel/weapon/shield/wood-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e84ac8c3d9ed4198bec57342fc5f82cfbbe5a5b3ba59702bfb1280732804c34 +size 26086 diff --git a/common/src/bin/csv_import/main.rs b/common/src/bin/csv_import/main.rs index 83be0d513c..03fd502084 100644 --- a/common/src/bin/csv_import/main.rs +++ b/common/src/bin/csv_import/main.rs @@ -370,6 +370,15 @@ fn weapon_stats() -> Result<(), Box> { .parse() .expect(&format!("Not a f32? {:?}", item.item_definition_id())); + let block_strength: f32 = record + .get(headers["Block Strength"]) + .expect(&format!( + "Error unwrapping block strength for {:?}", + item.item_definition_id() + )) + .parse() + .expect(&format!("Not a f32? {:?}", item.item_definition_id())); + let tool = comp::item::tool::Tool::new(kind, hands, Stats { equip_time_secs, power, @@ -378,6 +387,7 @@ fn weapon_stats() -> Result<(), Box> { range, energy_efficiency, buff_strength, + block_strength, }); let quality = if let Some(quality_raw) = record.get(headers["Quality"]) { diff --git a/common/src/combat.rs b/common/src/combat.rs index fbc9e589ff..8d55ceb5ae 100644 --- a/common/src/combat.rs +++ b/common/src/combat.rs @@ -20,7 +20,7 @@ use crate::{ }, outcome::Outcome, resources::{Secs, Time}, - states::utils::StageSection, + states::utils::{HandInfo, StageSection}, uid::{IdMaps, Uid}, util::Dir, }; @@ -140,15 +140,122 @@ impl Attack { pub fn effects(&self) -> impl Iterator { self.effects.iter() } - pub fn compute_damage_reduction( + pub fn compute_block_damage_reduction( attacker: Option<&AttackerInfo>, target: &TargetInfo, source: AttackSource, dir: Dir, damage: Damage, msm: &MaterialStatManifest, + time: Time, emitters: &mut impl EmitExt, mut emit_outcome: impl FnMut(Outcome), + ) -> f32 { + if damage.value > 0.0 { + let poise_reduction = 1.0 + - (Poise::compute_poise_damage_reduction( + target.inventory, + msm, + target.char_state, + target.stats, + )); + if let (Some(char_state), Some(ori), Some(inventory), Some(stats)) = ( + target.char_state, + target.ori, + target.inventory, + target.stats, + ) { + if ori.look_vec().angle_between(-dir.with_z(0.0)) < char_state.block_angle() { + let poise = stats.original_body.base_poise() as f32 / 4.0; + if char_state.is_parry(source) { + let block_strength = + f32::max(1.0, block_strength(inventory, char_state) * 2.0); + let poise_cost = + (damage.value.min(block_strength) * poise * poise_reduction) + / block_strength; + emit_outcome(Outcome::Block { + parry: true, + pos: target.pos, + uid: target.uid, + }); + emitters.emit(ParryHookEvent { + defender: target.entity, + attacker: attacker.map(|a| a.entity), + source, + }); + emit(ServerEvent::PoiseChange { + entity: target.entity, + change: PoiseChange { + amount: -poise_cost, + impulse: *dir, + by: attacker.map(|x| (*x).into()), + cause: Some(damage.source), + time, + }, + }); + damage.value.min(block_strength) + } else if char_state.is_block(source) { + let block_strength = f32::max(1.0, block_strength(inventory, char_state)); + let poise_cost = + (damage.value.min(block_strength) * poise * poise_reduction) + / block_strength; + emit_outcome(Outcome::Block { + parry: false, + pos: target.pos, + uid: target.uid, + }); + emit(ServerEvent::PoiseChange { + entity: target.entity, + change: PoiseChange { + amount: -poise_cost, + impulse: *dir, + by: attacker.map(|x| (*x).into()), + cause: Some(damage.source), + time, + }, + }); + damage.value.min(block_strength) + } else if char_state.is_half_block(source) { + let block_strength = + f32::max(1.0, block_strength(inventory, char_state) / 2.0); + let poise_cost = + (damage.value.min(block_strength) * poise * poise_reduction) + / block_strength; + emit_outcome(Outcome::Block { + parry: false, + pos: target.pos, + uid: target.uid, + }); + emit(ServerEvent::PoiseChange { + entity: target.entity, + change: PoiseChange { + amount: -poise_cost, + impulse: *dir, + by: attacker.map(|x| (*x).into()), + cause: Some(damage.source), + time, + }, + }); + damage.value.min(block_strength) + } else { + 0.0 + } + } else { + 0.0 + } + } else { + 0.0 + } + } else { + 0.0 + } + } + + pub fn compute_armor_damage_reduction( + attacker: Option<&AttackerInfo>, + target: &TargetInfo, + damage: Damage, + msm: &MaterialStatManifest, ) -> f32 { if damage.value > 0.0 { let attacker_penetration = attacker @@ -158,38 +265,7 @@ impl Attack { let raw_damage_reduction = Damage::compute_damage_reduction(Some(damage), target.inventory, target.stats, msm); let damage_reduction = (1.0 - attacker_penetration) * raw_damage_reduction; - let block_reduction = - if let (Some(char_state), Some(ori)) = (target.char_state, target.ori) { - if ori.look_vec().angle_between(-dir.with_z(0.0)) < char_state.block_angle() { - if char_state.is_parry(source) { - emit_outcome(Outcome::Block { - parry: true, - pos: target.pos, - uid: target.uid, - }); - emitters.emit(ParryHookEvent { - defender: target.entity, - attacker: attacker.map(|a| a.entity), - source, - }); - 1.0 - } else if let Some(block_strength) = char_state.block_strength(source) { - emit_outcome(Outcome::Block { - parry: false, - pos: target.pos, - uid: target.uid, - }); - block_strength - } else { - 0.0 - } - } else { - 0.0 - } - } else { - 0.0 - }; - 1.0 - (1.0 - damage_reduction) * (1.0 - block_reduction) + 1.0 - (1.0 - damage_reduction) } else { 0.0 } @@ -260,18 +336,29 @@ impl Attack { { let damage_instance = damage.instance + damage_instance_offset; is_applied = true; - let damage_reduction = Attack::compute_damage_reduction( + + let armor_damage_reduction = Attack::compute_armor_damage_reduction( + attacker.as_ref(), + target, + damage.damage, + msm, + ); + + let block_damage_reduction = Attack::compute_block_damage_reduction( attacker.as_ref(), target, attack_source, dir, damage.damage, msm, + time, emitters, &mut emit_outcome, ); + let change = damage.damage.calculate_health_change( - damage_reduction, + armor_damage_reduction, + block_damage_reduction, attacker.map(|x| x.into()), precision_mult, self.precision_multiplier, @@ -321,8 +408,8 @@ impl Attack { // of damage that was reduced by target's protection // Damage reduction should never equal 1 here as otherwise the check above // that health change amount is greater than 0 would fail. - let reduced_damage = - applied_damage * damage_reduction / (1.0 - damage_reduction); + let reduced_damage = applied_damage * armor_damage_reduction + / (1.0 - armor_damage_reduction); let poise = reduced_damage * CRUSHING_POISE_FRACTION * attacker @@ -1040,7 +1127,8 @@ impl Damage { pub fn calculate_health_change( self, - damage_reduction: f32, + armor_damage_reduction: f32, + block_damage_reduction: f32, damage_contributor: Option, precision_mult: Option, precision_power: f32, @@ -1058,8 +1146,10 @@ impl Damage { | DamageSource::Energy => { // Precise hit damage += precise_damage; + // Block + damage -= block_damage_reduction; // Armor - damage *= 1.0 - damage_reduction; + damage *= 1.0 - armor_damage_reduction; HealthChange { amount: -damage, @@ -1072,7 +1162,7 @@ impl Damage { }, DamageSource::Falling => { // Armor - if (damage_reduction - 1.0).abs() < f32::EPSILON { + if (armor_damage_reduction - 1.0).abs() < f32::EPSILON { damage = 0.0; } HealthChange { @@ -1241,6 +1331,7 @@ fn weapon_rating(item: &T, _msm: &MaterialStatManifest) -> f32 { const EQUIP_TIME_WEIGHT: f32 = 0.0; const ENERGY_EFFICIENCY_WEIGHT: f32 = 1.5; const BUFF_STRENGTH_WEIGHT: f32 = 1.5; + const BLOCK_STRENGTH_WEIGHT: f32 = 0.0; let rating = if let ItemKind::Tool(tool) = &*item.kind() { let stats = tool.stats(item.stats_durability_multiplier()); @@ -1256,6 +1347,7 @@ fn weapon_rating(item: &T, _msm: &MaterialStatManifest) -> f32 { let equip_time_rating = 0.5 - stats.equip_time_secs; let energy_efficiency_rating = stats.energy_efficiency - 1.0; let buff_strength_rating = stats.buff_strength - 1.0; + let block_strength_rating = stats.block_strength; power_rating * POWER_WEIGHT + speed_rating * SPEED_WEIGHT @@ -1264,6 +1356,7 @@ fn weapon_rating(item: &T, _msm: &MaterialStatManifest) -> f32 { + equip_time_rating * EQUIP_TIME_WEIGHT + energy_efficiency_rating * ENERGY_EFFICIENCY_WEIGHT + buff_strength_rating * BUFF_STRENGTH_WEIGHT + + block_strength_rating * BLOCK_STRENGTH_WEIGHT } else { 0.0 }; @@ -1491,3 +1584,43 @@ pub fn precision_mult_from_flank(attack_dir: Vec3, target_ori: Option<&Ori> Some(_) | None => None, } } + +pub fn block_strength(inventory: &Inventory, char_state: &CharacterState) -> f32 { + fn get_equip_slot(hand: Option) -> EquipSlot { + match hand { + Some(HandInfo::OffHand) => EquipSlot::ActiveOffhand, + _ => EquipSlot::ActiveMainhand, + } + } + + let equip_slot = match char_state { + CharacterState::BasicBlock(data) => get_equip_slot(data.static_data.ability_info.hand), + CharacterState::RiposteMelee(data) => get_equip_slot(data.static_data.ability_info.hand), + CharacterState::ComboMelee2(data) => get_equip_slot(data.static_data.ability_info.hand), + _ => EquipSlot::ActiveMainhand, + }; + + inventory + .equipped(equip_slot) + .map_or(0.0, |item| match &*item.kind() { + ItemKind::Tool(tool) => { + tool.stats(item.stats_durability_multiplier()) + .block_strength + * 10.0 + }, + _ => 0.0, + }) +} + +pub fn get_block_equip_slot(inventory: Option<&Inventory>) -> EquipSlot { + inventory + .and_then(|inv| inv.equipped(EquipSlot::ActiveOffhand)) + .and_then(|item| match &*item.kind() { + ItemKind::Tool(tool) => Some(tool.kind), + _ => None, + }) + .map_or(EquipSlot::ActiveMainhand, |item| match item { + ToolKind::Shield => EquipSlot::ActiveOffhand, + _ => EquipSlot::ActiveMainhand, + }) +} diff --git a/common/src/comp/ability.rs b/common/src/comp/ability.rs index 48291a545f..c8b33bf879 100644 --- a/common/src/comp/ability.rs +++ b/common/src/comp/ability.rs @@ -195,34 +195,31 @@ impl ActiveAbilities { }; match ability { - Ability::ToolGuard => ability_set(EquipSlot::ActiveMainhand) - .and_then(|abilities| { - abilities - .guard(Some(skill_set), context) - .map(|(a, i)| (a.ability.clone(), i)) - }) - .map(|(ability, i)| { - ( - scale_ability(ability, EquipSlot::ActiveMainhand), - true, - spec_ability(i), - ) - }) - .or_else(|| { - ability_set(EquipSlot::ActiveOffhand) - .and_then(|abilities| { - abilities - .guard(Some(skill_set), context) - .map(|(a, i)| (a.ability.clone(), i)) - }) - .map(|(ability, i)| { - ( - scale_ability(ability, EquipSlot::ActiveOffhand), - false, - spec_ability(i), - ) - }) - }), + Ability::ToolGuard => { + let equip_slot = combat::get_block_equip_slot(inv); + ability_set(equip_slot) + .and_then(|abilities| { + abilities + .guard(Some(skill_set), context) + .map(|(a, i)| (a.ability.clone(), i)) + }) + .map(|(ability, i)| (scale_ability(ability, equip_slot), true, spec_ability(i))) + .or_else(|| { + ability_set(EquipSlot::ActiveOffhand) + .and_then(|abilities| { + abilities + .guard(Some(skill_set), context) + .map(|(a, i)| (a.ability.clone(), i)) + }) + .map(|(ability, i)| { + ( + scale_ability(ability, EquipSlot::ActiveOffhand), + false, + spec_ability(i), + ) + }) + }) + }, Ability::ToolPrimary => ability_set(EquipSlot::ActiveMainhand) .and_then(|abilities| { abilities @@ -396,7 +393,7 @@ impl Ability { }; match self { - Ability::ToolGuard => ability_set(EquipSlot::ActiveMainhand) + Ability::ToolGuard => ability_set(combat::get_block_equip_slot(inv)) .and_then(|abilities| { abilities .guard(skillset, context) @@ -524,7 +521,7 @@ impl SpecifiedAbility { ability_set(EquipSlot::ActiveMainhand) .map(|abilities| ability_id(self, &abilities.secondary)) }), - Ability::ToolGuard => ability_set(EquipSlot::ActiveMainhand) + Ability::ToolGuard => ability_set(combat::get_block_equip_slot(inv)) .and_then(|abilities| abilities.guard.as_ref().map(|a| ability_id(self, a))) .or_else(|| { ability_set(EquipSlot::ActiveOffhand) @@ -3014,7 +3011,9 @@ bitflags::bitflags! { // WHen in the ability, an entity only receives half as much knockback const KNOCKBACK_RESISTANT = 0b00010000; // The ability will parry melee attacks in the buildup portion - const PARRIES = 0b00100000; + const PARRIES_MELEE = 0b00100000; + // The ability will parry all blockable attacks in the buildup portion + const PARRIES = 0b01000000; } } diff --git a/common/src/comp/character_state.rs b/common/src/comp/character_state.rs index ee7fc1092c..87e8dc4b2d 100644 --- a/common/src/comp/character_state.rs +++ b/common/src/comp/character_state.rs @@ -308,53 +308,32 @@ impl CharacterState { ) } - pub fn block_strength(&self, attack_source: AttackSource) -> Option { - let from_capability = if let AttackSource::Melee = attack_source { - if let Some(capabilities) = self - .ability_info() - .map(|a| a.ability_meta) - .map(|m| m.capabilities) - { - (capabilities.contains(Capability::BLOCKS) - && matches!( - self.stage_section(), - Some(StageSection::Buildup | StageSection::Action) - )) - .then_some(0.5) - } else { - None - } - } else { - None - }; - let from_state = match self { - CharacterState::BasicBlock(c) => c - .static_data - .blocked_attacks - .applies(attack_source) - .then_some(c.static_data.block_strength), - _ => None, - }; - match (from_capability, from_state) { - (Some(a), Some(b)) => Some(a.max(b)), - (Some(a), None) | (None, Some(a)) => Some(a), - (None, None) => None, - } - } - pub fn is_parry(&self, attack_source: AttackSource) -> bool { let melee = matches!(attack_source, AttackSource::Melee); - let from_capability = melee + let from_capability_melee = melee && self .ability_info() .map(|a| a.ability_meta.capabilities) .map_or(false, |c| { - c.contains(Capability::PARRIES) + c.contains(Capability::PARRIES_MELEE) && matches!( self.stage_section(), Some(StageSection::Buildup | StageSection::Action) ) }); + let from_capability = !matches!( + attack_source, + AttackSource::GroundShockwave | AttackSource::UndodgeableShockwave + ) && self + .ability_info() + .map(|a| a.ability_meta.capabilities) + .map_or(false, |c| { + c.contains(Capability::PARRIES) + && matches!( + self.stage_section(), + Some(StageSection::Buildup | StageSection::Action) + ) + }); let from_state = match self { CharacterState::BasicBlock(c) => c.is_parry(attack_source), CharacterState::RiposteMelee(c) => { @@ -366,7 +345,30 @@ impl CharacterState { }, _ => false, }; - from_capability || from_state + from_capability_melee || from_capability || from_state + } + + pub fn is_block(&self, attack_source: AttackSource) -> bool { + match self { + CharacterState::BasicBlock(data) => { + data.static_data.blocked_attacks.applies(attack_source) + }, + _ => false, + } + } + + pub fn is_half_block(&self, attack_source: AttackSource) -> bool { + matches!(attack_source, AttackSource::Melee) + && self + .ability_info() + .map(|a| a.ability_meta.capabilities) + .map_or(false, |c| { + c.contains(Capability::BLOCKS) + && matches!( + self.stage_section(), + Some(StageSection::Buildup | StageSection::Action) + ) + }) } /// In radians diff --git a/common/src/comp/inventory/item/tool.rs b/common/src/comp/inventory/item/tool.rs index d52bdc74ed..bee581557b 100644 --- a/common/src/comp/inventory/item/tool.rs +++ b/common/src/comp/inventory/item/tool.rs @@ -114,6 +114,7 @@ pub struct Stats { pub range: f32, pub energy_efficiency: f32, pub buff_strength: f32, + pub block_strength: f32, } impl Stats { @@ -126,6 +127,7 @@ impl Stats { range: 0.0, energy_efficiency: 0.0, buff_strength: 0.0, + block_strength: 0.0, } } @@ -138,6 +140,7 @@ impl Stats { range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 1.0, } } @@ -163,6 +166,7 @@ impl Stats { range: self.range * less_scaled, energy_efficiency: self.energy_efficiency * less_scaled, buff_strength: self.buff_strength * dur_mult.0, + block_strength: self.block_strength * dur_mult.0, } } } @@ -185,6 +189,7 @@ impl Add for Stats { range: self.range + other.range, energy_efficiency: self.energy_efficiency + other.energy_efficiency, buff_strength: self.buff_strength + other.buff_strength, + block_strength: self.block_strength + other.block_strength, } } } @@ -205,6 +210,7 @@ impl Sub for Stats { range: self.range - other.range, energy_efficiency: self.energy_efficiency - other.energy_efficiency, buff_strength: self.buff_strength - other.buff_strength, + block_strength: self.block_strength - other.block_strength, } } } @@ -221,6 +227,7 @@ impl Mul for Stats { range: self.range * other.range, energy_efficiency: self.energy_efficiency * other.energy_efficiency, buff_strength: self.buff_strength * other.buff_strength, + block_strength: self.block_strength * other.block_strength, } } } @@ -241,6 +248,7 @@ impl Div for Stats { range: self.range / scalar, energy_efficiency: self.energy_efficiency / scalar, buff_strength: self.buff_strength / scalar, + block_strength: self.block_strength / scalar, } } } @@ -276,6 +284,7 @@ impl Tool { range: 1.0, energy_efficiency: 1.0, buff_strength: 1.0, + block_strength: 0.0, }, } } diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index 0e004e07bd..1aea74eba1 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -819,13 +819,14 @@ impl ServerEvent for LandOnGroundEvent { ); let change = damage.calculate_health_change( damage_reduction, - None, - None, 0.0, - 1.0, - *time, - rand::random(), - ); + None, + None, + 0.0, + 1.0, + *time, + rand::random(), + ); health_change_emitter.emit(HealthChangeEvent { entity: ev.entity, @@ -1677,7 +1678,7 @@ impl ServerEvent for ParryHookEvent { entity: ev.defender, change: c.static_data.energy_regen, }); - true + false }, _ => false, }; diff --git a/server/src/state_ext.rs b/server/src/state_ext.rs index 1419123eaa..405bd2e2e8 100644 --- a/server/src/state_ext.rs +++ b/server/src/state_ext.rs @@ -202,6 +202,7 @@ impl StateExt for State { stats.get(entity), &msm, ), + 0.0, damage_contributor, None, 0.0, diff --git a/voxygen/anim/src/character/block.rs b/voxygen/anim/src/character/block.rs index 256661a7dd..0e3c75f484 100644 --- a/voxygen/anim/src/character/block.rs +++ b/voxygen/anim/src/character/block.rs @@ -55,7 +55,8 @@ impl Animation for BlockAnimation { | Some("common.abilities.sword.basic_guard") | Some("common.abilities.axe.basic_guard") | Some("common.abilities.hammer.basic_guard") - | Some("common.abilities.sword.defensive_guard") => { + | Some("common.abilities.sword.defensive_guard") + | Some("common.abilities.shield.basic_guard") => { let speed = Vec2::::from(velocity).magnitude(); let (movement1base, move2, movement3) = match stage_section { @@ -215,53 +216,95 @@ impl Animation for BlockAnimation { * Quaternion::rotation_y(0.6) * Quaternion::rotation_z(0.0); }, + Some(ToolKind::Shield) => { + next.control.position = Vec3::new(2.0, 9.0, 8.0); + next.control.orientation = + Quaternion::rotation_x(0.25) * Quaternion::rotation_z(-1.5); + + next.hand_l.position = Vec3::new(0.0, -2.0, 0.0); + next.hand_l.orientation = Quaternion::rotation_x(PI / 2.0); + + next.hand_r.position = Vec3::new(0.0, 0.0, 0.0); + next.hand_r.orientation = Quaternion::rotation_x(PI / 2.0) + * Quaternion::rotation_y(PI / 2.0); + }, _ => {}, } }, + ((Some(Hands::One), Some(Hands::One)), _, Some(ToolKind::Shield)) => { + next.control_r.position = Vec3::new(-1.5, 8.0, 4.0 + move1 * 3.0); + next.control_r.orientation = Quaternion::rotation_x(0.25) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(1.5); + next.hand_r.position = Vec3::new(0.0, -2.0, 0.0); + next.hand_r.orientation = Quaternion::rotation_x(PI / 2.0); + + next.control_l.position = Vec3::new(-9.0, -5.0, 0.0); + next.control_l.orientation = + Quaternion::rotation_x(-1.75) * Quaternion::rotation_y(-0.3); + next.hand_l.position = Vec3::new(0.0, -0.5, 0.0); + next.hand_l.orientation = Quaternion::rotation_x(PI / 2.0); + }, + ((Some(Hands::One), _), Some(ToolKind::Shield), _) => { + next.control_l.position = Vec3::new(1.5, 8.0, 4.0 + move1 * 3.0); + next.control_l.orientation = Quaternion::rotation_x(0.25) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(-1.5); + next.hand_l.position = Vec3::new(0.0, -2.0, 0.0); + next.hand_l.orientation = Quaternion::rotation_x(PI / 2.0); + + next.control_r.position = Vec3::new(9.0, -5.0, 0.0); + next.control_r.orientation = + Quaternion::rotation_x(-1.75) * Quaternion::rotation_y(0.3); + next.hand_r.position = Vec3::new(0.0, -0.5, 0.0); + next.hand_r.orientation = Quaternion::rotation_x(PI / 2.0); + }, + ((Some(Hands::One), _), _, _) => { + match hands { + (Some(Hands::One), _) => { + next.control_l.position = + Vec3::new(-7.0, 8.0 + move1 * 3.0, 2.0 + move1 * 3.0); + next.control_l.orientation = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(move1 * 1.0); + next.hand_l.position = Vec3::new(0.0, -0.5, 0.0); + next.hand_l.orientation = Quaternion::rotation_x(PI / 2.0) + }, + (_, _) => {}, + }; + match hands { + (None | Some(Hands::One), Some(Hands::One)) => { + next.control_r.position = + Vec3::new(7.0, 8.0 + move1 * 3.0, 2.0 + move1 * 3.0); + next.control_r.orientation = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(move1 * -1.0); + next.hand_r.position = Vec3::new(0.0, -0.5, 0.0); + next.hand_r.orientation = Quaternion::rotation_x(PI / 2.0) + }, + (_, _) => {}, + }; + match hands { + (None, None) | (None, Some(Hands::One)) => { + next.hand_l.position = Vec3::new(-4.5, 8.0, 5.0); + next.hand_l.orientation = + Quaternion::rotation_x(1.9) * Quaternion::rotation_y(-0.5) + }, + (_, _) => {}, + }; + match hands { + (None, None) | (Some(Hands::One), None) => { + next.hand_r.position = Vec3::new(4.5, 8.0, 5.0); + next.hand_r.orientation = + Quaternion::rotation_x(1.9) * Quaternion::rotation_y(0.5) + }, + (_, _) => {}, + }; + + if let (None, Some(Hands::Two)) = hands { + next.second = next.main; + } + }, ((_, _), _, _) => {}, }; - match hands { - (Some(Hands::One), _) => { - next.control_l.position = - Vec3::new(-7.0, 8.0 + move1 * 3.0, 2.0 + move1 * 3.0); - next.control_l.orientation = - Quaternion::rotation_x(-0.3) * Quaternion::rotation_y(move1 * 1.0); - next.hand_l.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_l.orientation = Quaternion::rotation_x(PI / 2.0) - }, - (_, _) => {}, - }; - match hands { - (None | Some(Hands::One), Some(Hands::One)) => { - next.control_r.position = - Vec3::new(7.0, 8.0 + move1 * 3.0, 2.0 + move1 * 3.0); - next.control_r.orientation = - Quaternion::rotation_x(-0.3) * Quaternion::rotation_y(move1 * -1.0); - next.hand_r.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_r.orientation = Quaternion::rotation_x(PI / 2.0) - }, - (_, _) => {}, - }; - match hands { - (None, None) | (None, Some(Hands::One)) => { - next.hand_l.position = Vec3::new(-4.5, 8.0, 5.0); - next.hand_l.orientation = - Quaternion::rotation_x(1.9) * Quaternion::rotation_y(-0.5) - }, - (_, _) => {}, - }; - match hands { - (None, None) | (Some(Hands::One), None) => { - next.hand_r.position = Vec3::new(4.5, 8.0, 5.0); - next.hand_r.orientation = - Quaternion::rotation_x(1.9) * Quaternion::rotation_y(0.5) - }, - (_, _) => {}, - }; - - if let (None, Some(Hands::Two)) = hands { - next.second = next.main; - } }, Some("common.abilities.sword.defensive_deflect") => { let (move1, move2, move3) = match stage_section { diff --git a/voxygen/anim/src/character/combomelee.rs b/voxygen/anim/src/character/combomelee.rs index d4fb7be588..af4dbcfbd8 100644 --- a/voxygen/anim/src/character/combomelee.rs +++ b/voxygen/anim/src/character/combomelee.rs @@ -2,7 +2,7 @@ use super::{ super::{vek::*, Animation}, CharacterSkeleton, SkeletonAttr, }; -use common::states::utils::{AbilityInfo, StageSection}; +use common::states::utils::{AbilityInfo, HandInfo, StageSection}; use core::f32::consts::{PI, TAU}; pub struct ComboAnimation; @@ -1133,6 +1133,81 @@ impl Animation for ComboAnimation { next.control.orientation.rotate_x(move2 * -1.2); next.control.position += Vec3::new(move2 * 8.0, 0.0, 0.0); }, + Some("common.abilities.shield.singlestrike") => { + let move1 = if strike == current_strike { + match stage_section { + Some(StageSection::Buildup) => anim_time, + Some(StageSection::Action) => 1.0, + Some(StageSection::Recover) => 1.0, + _ => 0.0, + } + } else { + 1.0 + }; + let move1 = move1 * multi_strike_pullback; + + if let Some(ability_info) = _ability_info { + match ability_info.hand { + Some(HandInfo::TwoHanded) => { + next.main.orientation = Quaternion::rotation_x(0.0); + next.chest.orientation = Quaternion::rotation_z(move1 * -0.3); + next.torso.orientation = Quaternion::rotation_z(move1 * -1.0); + next.head.orientation = Quaternion::rotation_z(move1 * 0.75); + next.head.position = Vec3::new(0.5, s_a.head.0 + 0.5, s_a.head.1); + + next.control.position = Vec3::new(move1 * -10.0, 6.0, move1 * 6.0); + next.control.orientation = Quaternion::rotation_z(-0.25); + + next.hand_l.position = Vec3::new(0.0, -2.0, 0.0); + next.hand_l.orientation = Quaternion::rotation_x(PI / 2.0); + + next.hand_r.position = Vec3::new(0.0, 0.0, 0.0); + next.hand_r.orientation = Quaternion::rotation_x(PI / 2.0) + * Quaternion::rotation_y(PI / 2.0); + }, + Some(HandInfo::MainHand) => { + next.main.orientation = Quaternion::rotation_x(0.0); + next.chest.orientation = Quaternion::rotation_z(move1 * -0.3); + next.torso.orientation = Quaternion::rotation_z(move1 * -1.2); + next.head.orientation = Quaternion::rotation_z(move1 * 0.75); + next.head.position = Vec3::new(0.5, s_a.head.0 + 0.5, s_a.head.1); + + next.control_l.position = + Vec3::new(move1 * -12.0, 4.0, move1 * 6.0); + next.control_l.orientation = Quaternion::rotation_x(move1 * 0.0) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(-0.25); + next.hand_l.position = Vec3::new(0.0, -1.5, 0.0); + next.hand_l.orientation = Quaternion::rotation_x(PI / 2.0); + + next.control_r.position = Vec3::new(9.0, -1.0, 0.0); + next.control_r.orientation = Quaternion::rotation_x(-1.75); + next.hand_r.position = Vec3::new(0.0, 0.5, 0.0); + next.hand_r.orientation = Quaternion::rotation_x(PI / 2.0); + }, + Some(HandInfo::OffHand) => { + next.main.orientation = Quaternion::rotation_x(0.0); + next.chest.orientation = Quaternion::rotation_z(move1 * 0.3); + next.torso.orientation = Quaternion::rotation_z(move1 * 1.2); + next.head.orientation = Quaternion::rotation_z(move1 * -0.75); + next.head.position = Vec3::new(-0.5, s_a.head.0 + -0.5, s_a.head.1); + + next.control_r.position = Vec3::new(move1 * 12.0, 4.0, move1 * 6.0); + next.control_r.orientation = Quaternion::rotation_x(move1 * 0.0) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.25); + next.hand_r.position = Vec3::new(0.0, -1.5, 0.0); + next.hand_r.orientation = Quaternion::rotation_x(PI / 2.0); + + next.control_l.position = Vec3::new(-9.0, -1.0, 0.0); + next.control_l.orientation = Quaternion::rotation_x(-1.75); + next.hand_l.position = Vec3::new(0.0, 0.5, 0.0); + next.hand_l.orientation = Quaternion::rotation_x(PI / 2.0); + }, + _ => {}, + } + } + }, _ => {}, } } diff --git a/voxygen/anim/src/character/mod.rs b/voxygen/anim/src/character/mod.rs index 661b6e97c4..22e448671a 100644 --- a/voxygen/anim/src/character/mod.rs +++ b/voxygen/anim/src/character/mod.rs @@ -360,6 +360,11 @@ impl CharacterSkeleton { self.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(PI / 2.0); }, + Some(ToolKind::Shield) => { + self.main.position = Vec3::new(-2.0, -3.0 - self.back_carry_offset, 1.0); + self.main.orientation = + Quaternion::rotation_y(-0.75) * Quaternion::rotation_z(PI / 2.0); + }, _ => { self.main.position = Vec3::new(-7.0, -5.0 - self.back_carry_offset, 15.0); self.main.orientation = @@ -382,7 +387,7 @@ impl CharacterSkeleton { Quaternion::rotation_y(2.5) * Quaternion::rotation_z(PI / 2.0); }, Some(ToolKind::Shield) => { - self.main.position = Vec3::new(-0.0, -4.0 - self.back_carry_offset, 3.0); + self.main.position = Vec3::new(-2.0, -4.0 - self.back_carry_offset, 3.0); self.main.orientation = Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(-1.5 * PI); }, @@ -403,7 +408,7 @@ impl CharacterSkeleton { Quaternion::rotation_y(-2.5) * Quaternion::rotation_z(-PI / 2.0); }, Some(ToolKind::Shield) => { - self.second.position = Vec3::new(0.0, -4.0 - self.back_carry_offset, 3.0); + self.second.position = Vec3::new(1.5, -4.0 - self.back_carry_offset, 3.0); self.second.orientation = Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(1.5 * PI); }, diff --git a/voxygen/anim/src/character/roll.rs b/voxygen/anim/src/character/roll.rs index a9e09b7b16..c1dea9080b 100644 --- a/voxygen/anim/src/character/roll.rs +++ b/voxygen/anim/src/character/roll.rs @@ -167,6 +167,18 @@ impl Animation for RollAnimation { next.control.position = Vec3::new(-11.0, 1.8, 4.0); }, + Some(ToolKind::Shield) => { + next.hand_l.position = Vec3::new(0.0, -1.5, 0.0); + next.hand_l.orientation = Quaternion::rotation_x(PI / 2.0); + + next.hand_r.position = Vec3::new(0.0, 0.0, 0.0); + next.hand_r.orientation = + Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(2.0); + + next.control.position = Vec3::new(0.0, 7.0, 4.0); + next.control.orientation = + Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(-1.25); + }, _ => {}, }, (_, _) => {}, diff --git a/voxygen/anim/src/character/wield.rs b/voxygen/anim/src/character/wield.rs index 899da75366..2a1e28b98b 100644 --- a/voxygen/anim/src/character/wield.rs +++ b/voxygen/anim/src/character/wield.rs @@ -497,6 +497,18 @@ impl Animation for WieldAnimation { } } }, + Some(ToolKind::Shield) => { + next.hand_l.position = Vec3::new(0.0, -2.0, 0.0); + next.hand_l.orientation = Quaternion::rotation_x(PI / 2.0); + + next.hand_r.position = Vec3::new(0.0, 0.0, 0.0); + next.hand_r.orientation = + Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(2.0); + + next.control.position = Vec3::new(0.0, 7.0, 4.0); + next.control.orientation = + Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(-1.25); + }, _ => {}, }, ((_, _), _, _) => {}, diff --git a/voxygen/src/audio/sfx/event_mapper/combat/mod.rs b/voxygen/src/audio/sfx/event_mapper/combat/mod.rs index 0494a51781..32fd2098c1 100644 --- a/voxygen/src/audio/sfx/event_mapper/combat/mod.rs +++ b/voxygen/src/audio/sfx/event_mapper/combat/mod.rs @@ -14,6 +14,7 @@ use common::{ inventory::slot::EquipSlot, item::ItemKind, CharacterAbilityType, CharacterState, Inventory, Pos, }, + states::utils::HandInfo, terrain::TerrainChunk, vol::ReadVol, }; @@ -145,7 +146,16 @@ impl CombatEventMapper { previous_state: &PreviousEntityState, inventory: &Inventory, ) -> SfxEvent { - if let Some(item) = inventory.equipped(EquipSlot::ActiveMainhand) { + let hand_info = character_state.ability_info().and_then(|a| a.hand); + + let equip_slot = match hand_info { + Some(HandInfo::TwoHanded) => EquipSlot::ActiveMainhand, + Some(HandInfo::MainHand) => EquipSlot::ActiveMainhand, + Some(HandInfo::OffHand) => EquipSlot::ActiveOffhand, + None => EquipSlot::ActiveMainhand, + }; + + if let Some(item) = inventory.equipped(equip_slot) { if let ItemKind::Tool(data) = &*item.kind() { if character_state.is_attack() { return SfxEvent::Attack( diff --git a/voxygen/src/hud/crafting.rs b/voxygen/src/hud/crafting.rs index 6f81791c84..dad5fc506f 100644 --- a/voxygen/src/hud/crafting.rs +++ b/voxygen/src/hud/crafting.rs @@ -1131,6 +1131,7 @@ impl<'a> Widget for Crafting<'a> { RecipeKind::Component(ToolKind::Bow) => self.imgs.icon_log, RecipeKind::Component(ToolKind::Staff) => self.imgs.icon_log, RecipeKind::Component(ToolKind::Sceptre) => self.imgs.icon_log, + RecipeKind::Component(ToolKind::Shield) => self.imgs.icon_ingot, _ => self.imgs.not_found, }; diff --git a/voxygen/src/hud/diary.rs b/voxygen/src/hud/diary.rs index 54d981003f..e7158d453e 100644 --- a/voxygen/src/hud/diary.rs +++ b/voxygen/src/hud/diary.rs @@ -1145,7 +1145,7 @@ impl<'a> Widget for Diary<'a> { events }, DiarySection::Stats => { - const STATS: [&str; 12] = [ + const STATS: [&str; 13] = [ "Hitpoints", "Energy", "Poise", @@ -1158,6 +1158,7 @@ impl<'a> Widget for Diary<'a> { "Weapon Power", "Weapon Speed", "Weapon Effect Power", + "Weapon Block Strength", ]; // Background Art @@ -1302,6 +1303,19 @@ impl<'a> Widget for Diary<'a> { }, (None, None) => String::new(), }, + "Weapon Block Strength" => match (main_weap_stats, off_weap_stats) { + (Some(m_stats), Some(o_stats)) => { + format!( + "{} {}", + m_stats.block_strength * 10.0, + o_stats.block_strength * 10.0 + ) + }, + (Some(stats), None) | (None, Some(stats)) => { + format!("{}", stats.block_strength * 10.0) + }, + (None, None) => String::new(), + }, unknown => unreachable!("{}", unknown), }; diff --git a/voxygen/src/hud/util.rs b/voxygen/src/hud/util.rs index 90a8ec52b3..149d76bf92 100644 --- a/voxygen/src/hud/util.rs +++ b/voxygen/src/hud/util.rs @@ -138,12 +138,12 @@ pub fn stats_count(item: &dyn ItemDesc, msm: &MaterialStatManifest) -> usize { + armor_stats.protection.is_some() as usize + (item.num_slots() > 0) as usize }, - ItemKind::Tool(_) => 6, + ItemKind::Tool(_) => 7, ItemKind::Consumable { effects, .. } => match effects { Effects::Any(_) | Effects::One(_) => 1, Effects::All(effects) => effects.len(), }, - ItemKind::ModularComponent { .. } => 6, + ItemKind::ModularComponent { .. } => 7, _ => 0, }; if item.has_durability() { @@ -563,8 +563,7 @@ pub fn ability_image(imgs: &img_ids::Imgs, ability_id: &str) -> image::Id { "common.abilities.sceptre.healingaura" => imgs.skill_sceptre_heal, "common.abilities.sceptre.wardingaura" => imgs.skill_sceptre_aura, // Shield - "common.abilities.shield.tempbasic" => imgs.onehshield_m1, - "common.abilities.shield.block" => imgs.onehshield_m2, + "common.abilities.shield.singlestrike" => imgs.onehshield_m1, // Dagger "common.abilities.dagger.tempbasic" => imgs.onehdagger_m1, // Pickaxe diff --git a/voxygen/src/ui/widgets/item_tooltip.rs b/voxygen/src/ui/widgets/item_tooltip.rs index ac640d3553..e1fbd324d5 100644 --- a/voxygen/src/ui/widgets/item_tooltip.rs +++ b/voxygen/src/ui/widgets/item_tooltip.rs @@ -682,6 +682,15 @@ impl<'a> Widget for ItemTooltip<'a> { 5, ); + // Block Strength + stat_text( + format!( + "{} : {:+.0}", + i18n.get_msg("common-stats-block_strength"), + stats.block_strength * 10.0 + ), + 6, + ); if item.has_durability() { let durability = Item::MAX_DURABILITY - item.durability_lost().unwrap_or(0); stat_text( @@ -691,7 +700,7 @@ impl<'a> Widget for ItemTooltip<'a> { durability, Item::MAX_DURABILITY ), - 6, + 7, ) } @@ -719,6 +728,10 @@ impl<'a> Widget for ItemTooltip<'a> { tool_stats.buff_strength, equipped_tool_stats.buff_strength, ); + let block_strength_diff = util::comparison( + tool_stats.block_strength, + equipped_tool_stats.block_strength, + ); let tool_durability = util::item_durability(item).unwrap_or(Item::MAX_DURABILITY); @@ -774,13 +787,21 @@ impl<'a> Widget for ItemTooltip<'a> { ); diff_text(text, buff_strength_diff.1, 5) } + if diff.block_strength.abs() > f32::EPSILON { + let text = format!( + "{} {:.1}", + &block_strength_diff.0, + &diff.block_strength * 10.0 + ); + diff_text(text, block_strength_diff.1, 6) + } if tool_durability != equipped_durability && item.has_durability() { let text = format!( "{} {}", &durability_diff.0, tool_durability as i32 - equipped_durability as i32 ); - diff_text(text, durability_diff.1, 6) + diff_text(text, durability_diff.1, 7) } } } @@ -1190,6 +1211,28 @@ impl<'a> Widget for ItemTooltip<'a> { .color(text_color) .down_from(state.ids.stats[4], V_PAD_STATS) .set(state.ids.stats[5], ui); + + // Block Strength + let block_str_text = if is_primary { + format!( + "{} : {:.0}", + i18n.get_msg("common-stats-block_strength"), + stats.block_strength * 10.0 + ) + } else { + format!( + "{} : x{:.2}", + i18n.get_msg("common-stats-block_strength"), + stats.block_strength + ) + }; + widget::Text::new(&block_str_text) + .graphics_for(id) + .parent(id) + .with_style(self.style.desc) + .color(text_color) + .down_from(state.ids.stats[5], V_PAD_STATS) + .set(state.ids.stats[6], ui); } }, _ => (),