From 509461763b58359274fe2aaac9e05fc90d6062b9 Mon Sep 17 00:00:00 2001
From: Sam <samuelkeiffer@gmail.com>
Date: Tue, 6 Jul 2021 22:51:30 -0500
Subject: [PATCH] Added energy efficiency stat to weapons. Made ability
 modification by tool stats exhaustive.

---
 assets/common/abilities/bow/charged.ron       |   1 -
 .../custom/husk_brute/chargedmelee.ron        |   1 -
 .../abilities/custom/minotaur/cleave.ron      |   1 -
 .../abilities/custom/quadlowtail/charged.ron  |   1 -
 assets/common/abilities/hammer/charged.ron    |   1 -
 .../modular/damage/sword/metal_blade.ron      |   3 +-
 assets/common/items/debug/admin_stick.ron     |   3 +-
 assets/common/items/debug/admin_sword.ron     |   1 +
 .../common/items/debug/velorite_bow_debug.ron |   1 +
 .../items/npc_weapons/axe/minotaur_axe.ron    |   1 +
 .../items/npc_weapons/axe/oni_blue_axe.ron    |   1 +
 .../biped_small/adlet/adlet_bow.ron           |   1 +
 .../biped_small/adlet/gnoll_staff.ron         |   1 +
 .../biped_small/adlet/wooden_spear.ron        |   1 +
 .../biped_small/gnarling/adlet_bow.ron        |   1 +
 .../biped_small/gnarling/gnoll_staff.ron      |   1 +
 .../biped_small/gnarling/wooden_spear.ron     |   1 +
 .../biped_small/haniwa/adlet_bow.ron          |   1 +
 .../biped_small/haniwa/gnoll_staff.ron        |   1 +
 .../biped_small/haniwa/wooden_spear.ron       |   1 +
 .../biped_small/myrmidon/adlet_bow.ron        |   1 +
 .../biped_small/myrmidon/gnoll_staff.ron      |   1 +
 .../biped_small/myrmidon/wooden_spear.ron     |   1 +
 .../biped_small/sahagin/adlet_bow.ron         |   1 +
 .../biped_small/sahagin/gnoll_staff.ron       |   1 +
 .../biped_small/sahagin/wooden_spear.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/bipedlarge-cultist.ron  |   1 +
 .../npc_weapons/sword/dullahan_sword.ron      |   1 +
 .../items/npc_weapons/sword/saurok_sword.ron  |   1 +
 .../common/items/npc_weapons/unique/asp.ron   |   1 +
 .../items/npc_weapons/unique/basilisk.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/clay_golem_fist.ron    |   1 +
 .../npc_weapons/unique/haniwa_sentry.ron      |   1 +
 .../common/items/npc_weapons/unique/husk.ron  |   1 +
 .../items/npc_weapons/unique/husk_brute.ron   |   1 +
 .../items/npc_weapons/unique/maneater.ron     |   1 +
 .../items/npc_weapons/unique/quadlowbasic.ron |   1 +
 .../items/npc_weapons/unique/quadlowbeam.ron  |   1 +
 .../npc_weapons/unique/quadlowbreathe.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/quadmedhoof.ron  |   1 +
 .../items/npc_weapons/unique/quadmedjump.ron  |   1 +
 .../items/npc_weapons/unique/quadmedquick.ron |   1 +
 .../npc_weapons/unique/quadsmallbasic.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 +
 .../items/npc_weapons/unique/tidal_claws.ron  |   1 +
 .../items/npc_weapons/unique/tidal_totem.ron  |   1 +
 .../items/npc_weapons/unique/tornado.ron      |   1 +
 .../items/npc_weapons/unique/turret.ron       |   1 +
 .../npc_weapons/unique/wendigo_magic.ron      |   1 +
 assets/common/items/tool/craftsman_hammer.ron |   1 +
 assets/common/items/tool/pickaxe_steel.ron    |   1 +
 assets/common/items/tool/pickaxe_stone.ron    |   1 +
 .../items/weapons/axe/bloodsteel_axe-0.ron    |   1 +
 .../items/weapons/axe/bloodsteel_axe-1.ron    |   1 +
 .../items/weapons/axe/bloodsteel_axe-2.ron    |   1 +
 .../common/items/weapons/axe/bronze_axe-0.ron |   1 +
 .../common/items/weapons/axe/bronze_axe-1.ron |   1 +
 .../common/items/weapons/axe/bronze_axe-2.ron |   1 +
 .../common/items/weapons/axe/cobalt_axe-0.ron |   1 +
 .../common/items/weapons/axe/cobalt_axe-1.ron |   1 +
 .../common/items/weapons/axe/iron_axe-0.ron   |   1 +
 .../common/items/weapons/axe/iron_axe-1.ron   |   1 +
 .../common/items/weapons/axe/iron_axe-2.ron   |   1 +
 .../common/items/weapons/axe/iron_axe-3.ron   |   1 +
 .../common/items/weapons/axe/iron_axe-4.ron   |   1 +
 .../common/items/weapons/axe/iron_axe-5.ron   |   1 +
 .../common/items/weapons/axe/iron_axe-6.ron   |   1 +
 .../common/items/weapons/axe/iron_axe-7.ron   |   1 +
 .../common/items/weapons/axe/iron_axe-8.ron   |   1 +
 .../common/items/weapons/axe/iron_axe-9.ron   |   1 +
 .../items/weapons/axe/malachite_axe-0.ron     |   1 +
 assets/common/items/weapons/axe/orc_axe-0.ron |   1 +
 assets/common/items/weapons/axe/parashu.ron   |   1 +
 .../common/items/weapons/axe/starter_axe.ron  |   1 +
 .../common/items/weapons/axe/steel_axe-0.ron  |   1 +
 .../common/items/weapons/axe/steel_axe-1.ron  |   1 +
 .../common/items/weapons/axe/steel_axe-2.ron  |   1 +
 .../common/items/weapons/axe/steel_axe-3.ron  |   1 +
 .../common/items/weapons/axe/steel_axe-4.ron  |   1 +
 .../common/items/weapons/axe/steel_axe-5.ron  |   1 +
 .../common/items/weapons/axe/steel_axe-6.ron  |   1 +
 .../items/weapons/axe_1h/bloodsteel-0.ron     |   1 +
 .../items/weapons/axe_1h/bloodsteel-1.ron     |   1 +
 .../common/items/weapons/axe_1h/bronze-0.ron  |   1 +
 .../common/items/weapons/axe_1h/bronze-1.ron  |   1 +
 .../common/items/weapons/axe_1h/cobalt-0.ron  |   1 +
 .../common/items/weapons/axe_1h/cobalt-1.ron  |   1 +
 assets/common/items/weapons/axe_1h/iron-0.ron |   1 +
 assets/common/items/weapons/axe_1h/iron-1.ron |   1 +
 assets/common/items/weapons/axe_1h/iron-2.ron |   1 +
 assets/common/items/weapons/axe_1h/iron-3.ron |   1 +
 .../items/weapons/axe_1h/orichalcum-0.ron     |   1 +
 .../common/items/weapons/axe_1h/steel-0.ron   |   1 +
 .../common/items/weapons/axe_1h/steel-1.ron   |   1 +
 .../common/items/weapons/axe_1h/steel-2.ron   |   1 +
 .../common/items/weapons/axe_1h/stone-0.ron   |   1 +
 .../common/items/weapons/axe_1h/stone-1.ron   |   1 +
 assets/common/items/weapons/axe_1h/wood-0.ron |   1 +
 assets/common/items/weapons/axe_1h/wood-1.ron |   1 +
 assets/common/items/weapons/bow/bone-0.ron    |   1 +
 assets/common/items/weapons/bow/bone-1.ron    |   1 +
 assets/common/items/weapons/bow/bone-2.ron    |   1 +
 assets/common/items/weapons/bow/bone-3.ron    |   1 +
 assets/common/items/weapons/bow/eldwood-0.ron |   1 +
 assets/common/items/weapons/bow/eldwood-1.ron |   1 +
 assets/common/items/weapons/bow/eldwood-2.ron |   1 +
 .../common/items/weapons/bow/frostwood-0.ron  |   1 +
 .../common/items/weapons/bow/frostwood-1.ron  |   1 +
 .../common/items/weapons/bow/frostwood-2.ron  |   1 +
 .../common/items/weapons/bow/hardwood-0.ron   |   1 +
 .../common/items/weapons/bow/hardwood-1.ron   |   1 +
 .../common/items/weapons/bow/hardwood-2.ron   |   1 +
 .../common/items/weapons/bow/hardwood-3.ron   |   1 +
 .../common/items/weapons/bow/hardwood-4.ron   |   1 +
 .../common/items/weapons/bow/hardwood-5.ron   |   1 +
 assets/common/items/weapons/bow/metal-0.ron   |   1 +
 assets/common/items/weapons/bow/metal-1.ron   |   1 +
 assets/common/items/weapons/bow/metal-2.ron   |   1 +
 assets/common/items/weapons/bow/metal-3.ron   |   1 +
 assets/common/items/weapons/bow/metal-4.ron   |   1 +
 assets/common/items/weapons/bow/rawwood-0.ron |   1 +
 assets/common/items/weapons/bow/rawwood-1.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 +
 assets/common/items/weapons/bow/wood-0.ron    |   1 +
 assets/common/items/weapons/bow/wood-1.ron    |   1 +
 assets/common/items/weapons/bow/wood-2.ron    |   1 +
 assets/common/items/weapons/bow/wood-3.ron    |   1 +
 assets/common/items/weapons/bow/wood-4.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/bronze_hammer-0.ron  |   1 +
 .../items/weapons/hammer/bronze_hammer-1.ron  |   1 +
 .../items/weapons/hammer/burnt_drumstick.ron  |   1 +
 .../items/weapons/hammer/cobalt_hammer-0.ron  |   1 +
 .../items/weapons/hammer/cobalt_hammer-1.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 +
 .../items/weapons/hammer/iron_hammer-0.ron    |   1 +
 .../items/weapons/hammer/iron_hammer-1.ron    |   1 +
 .../items/weapons/hammer/iron_hammer-2.ron    |   1 +
 .../items/weapons/hammer/iron_hammer-3.ron    |   1 +
 .../items/weapons/hammer/iron_hammer-4.ron    |   1 +
 .../items/weapons/hammer/iron_hammer-5.ron    |   1 +
 .../items/weapons/hammer/iron_hammer-6.ron    |   1 +
 .../items/weapons/hammer/iron_hammer-7.ron    |   1 +
 .../items/weapons/hammer/iron_hammer-8.ron    |   1 +
 .../common/items/weapons/hammer/mjolnir.ron   |   1 +
 .../items/weapons/hammer/ramshead_hammer.ron  |   1 +
 .../items/weapons/hammer/runic_hammer.ron     |   1 +
 .../items/weapons/hammer/starter_hammer.ron   |   1 +
 .../items/weapons/hammer/steel_hammer-0.ron   |   1 +
 .../items/weapons/hammer/steel_hammer-1.ron   |   1 +
 .../items/weapons/hammer/steel_hammer-2.ron   |   1 +
 .../items/weapons/hammer/steel_hammer-3.ron   |   1 +
 .../items/weapons/hammer/steel_hammer-4.ron   |   1 +
 .../items/weapons/hammer/steel_hammer-5.ron   |   1 +
 .../items/weapons/hammer/stone_hammer-0.ron   |   1 +
 .../items/weapons/hammer/stone_hammer-1.ron   |   1 +
 .../items/weapons/hammer/stone_hammer-2.ron   |   1 +
 .../items/weapons/hammer/stone_hammer-3.ron   |   1 +
 .../items/weapons/hammer/wood_hammer-0.ron    |   1 +
 .../items/weapons/hammer_1h/bloodsteel-0.ron  |   1 +
 .../items/weapons/hammer_1h/bloodsteel-1.ron  |   1 +
 .../items/weapons/hammer_1h/bronze-0.ron      |   1 +
 .../items/weapons/hammer_1h/bronze-1.ron      |   1 +
 .../items/weapons/hammer_1h/cobalt-0.ron      |   1 +
 .../items/weapons/hammer_1h/cobalt-1.ron      |   1 +
 .../common/items/weapons/hammer_1h/iron-0.ron |   1 +
 .../common/items/weapons/hammer_1h/iron-1.ron |   1 +
 .../common/items/weapons/hammer_1h/iron-2.ron |   1 +
 .../items/weapons/hammer_1h/orichalcum-0.ron  |   1 +
 .../items/weapons/hammer_1h/steel-0.ron       |   1 +
 .../items/weapons/hammer_1h/steel-1.ron       |   1 +
 .../items/weapons/hammer_1h/steel-2.ron       |   1 +
 .../items/weapons/hammer_1h/stone-0.ron       |   1 +
 .../items/weapons/hammer_1h/stone-1.ron       |   1 +
 .../common/items/weapons/hammer_1h/wood-0.ron |   1 +
 .../common/items/weapons/hammer_1h/wood-1.ron |   1 +
 .../common/items/weapons/sceptre/amethyst.ron |   1 +
 .../common/items/weapons/sceptre/caduceus.ron |   1 +
 .../items/weapons/sceptre/coralline_cane.ron  |   1 +
 .../items/weapons/sceptre/divine_gohei.ron    |   1 +
 .../items/weapons/sceptre/druids_arbor.ron    |   1 +
 .../common/items/weapons/sceptre/emerald.ron  |   1 +
 assets/common/items/weapons/sceptre/fork0.ron |   1 +
 .../common/items/weapons/sceptre/loops0.ron   |   1 +
 assets/common/items/weapons/sceptre/moon0.ron |   1 +
 .../items/weapons/sceptre/root_evil.ron       |   1 +
 .../items/weapons/sceptre/root_green0.ron     |   1 +
 .../weapons/sceptre/sceptre_velorite_0.ron    |   1 +
 .../items/weapons/sceptre/staff_nature.ron    |   1 +
 .../items/weapons/sceptre/starter_sceptre.ron |   1 +
 .../items/weapons/sceptre/totem_green.ron     |   1 +
 .../common/items/weapons/shield/shield_1.ron  |   1 +
 assets/common/items/weapons/staff/aurora.ron  |   1 +
 .../common/items/weapons/staff/bent_fuse.ron  |   1 +
 .../common/items/weapons/staff/bone_staff.ron |   1 +
 .../items/weapons/staff/crimson_eye.ron       |   1 +
 .../items/weapons/staff/cultist_staff.ron     |   1 +
 .../items/weapons/staff/dragon_tongue.ron     |   1 +
 .../items/weapons/staff/fiery_wishing_rod.ron |   1 +
 .../items/weapons/staff/flamethrower_0.ron    |   1 +
 .../items/weapons/staff/frostwood_torch.ron   |   1 +
 .../items/weapons/staff/golden_khakkara.ron   |   1 +
 .../common/items/weapons/staff/heated_arm.ron |   1 +
 .../items/weapons/staff/infused_tower.ron     |   1 +
 .../common/items/weapons/staff/laevateinn.ron |   1 +
 .../common/items/weapons/staff/lava_rod.ron   |   1 +
 .../common/items/weapons/staff/ley_seeker.ron |   1 +
 .../common/items/weapons/staff/orc_iron.ron   |   1 +
 assets/common/items/weapons/staff/phoenix.ron |   1 +
 .../common/items/weapons/staff/ruby_rod.ron   |   1 +
 assets/common/items/weapons/staff/solar.ron   |   1 +
 assets/common/items/weapons/staff/staff_1.ron |   1 +
 .../items/weapons/staff/starter_staff.ron     |   1 +
 .../items/weapons/sword/bloodsteel-0.ron      |   1 +
 .../items/weapons/sword/bloodsteel-1.ron      |   1 +
 .../items/weapons/sword/bloodsteel-2.ron      |   1 +
 .../common/items/weapons/sword/bronze-0.ron   |   1 +
 .../common/items/weapons/sword/bronze-1.ron   |   1 +
 .../common/items/weapons/sword/bronze-2.ron   |   1 +
 .../common/items/weapons/sword/caladbolg.ron  |   1 +
 .../common/items/weapons/sword/cobalt-0.ron   |   1 +
 .../common/items/weapons/sword/cobalt-1.ron   |   1 +
 .../common/items/weapons/sword/cobalt-2.ron   |   1 +
 .../common/items/weapons/sword/cobalt-3.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/iron-0.ron  |   1 +
 assets/common/items/weapons/sword/iron-1.ron  |   1 +
 assets/common/items/weapons/sword/iron-10.ron |   1 +
 assets/common/items/weapons/sword/iron-2.ron  |   1 +
 assets/common/items/weapons/sword/iron-3.ron  |   1 +
 assets/common/items/weapons/sword/iron-4.ron  |   1 +
 assets/common/items/weapons/sword/iron-5.ron  |   1 +
 assets/common/items/weapons/sword/iron-6.ron  |   1 +
 assets/common/items/weapons/sword/iron-7.ron  |   1 +
 assets/common/items/weapons/sword/iron-8.ron  |   1 +
 assets/common/items/weapons/sword/iron-9.ron  |   1 +
 assets/common/items/weapons/sword/starter.ron |   1 +
 assets/common/items/weapons/sword/steel-0.ron |   1 +
 assets/common/items/weapons/sword/steel-1.ron |   1 +
 assets/common/items/weapons/sword/steel-2.ron |   1 +
 assets/common/items/weapons/sword/steel-3.ron |   1 +
 assets/common/items/weapons/sword/steel-4.ron |   1 +
 assets/common/items/weapons/sword/steel-5.ron |   1 +
 assets/common/items/weapons/sword/steel-6.ron |   1 +
 assets/common/items/weapons/sword/steel-7.ron |   1 +
 assets/common/items/weapons/sword/steel-8.ron |   1 +
 assets/common/items/weapons/sword/stone-0.ron |   1 +
 assets/common/items/weapons/sword/stone-1.ron |   1 +
 assets/common/items/weapons/sword/stone-2.ron |   1 +
 assets/common/items/weapons/sword/wood-0.ron  |   1 +
 assets/common/items/weapons/sword/wood-1.ron  |   1 +
 assets/common/items/weapons/sword/wood-2.ron  |   1 +
 .../items/weapons/sword_1h/bloodsteel-0.ron   |   1 +
 .../items/weapons/sword_1h/bloodsteel-1.ron   |   1 +
 .../items/weapons/sword_1h/bloodsteel-2.ron   |   1 +
 .../items/weapons/sword_1h/bronze-0.ron       |   1 +
 .../items/weapons/sword_1h/bronze-1.ron       |   1 +
 .../items/weapons/sword_1h/bronze-2.ron       |   1 +
 .../items/weapons/sword_1h/cobalt-0.ron       |   1 +
 .../items/weapons/sword_1h/cobalt-1.ron       |   1 +
 .../items/weapons/sword_1h/cobalt-2.ron       |   1 +
 .../items/weapons/sword_1h/cobalt-3.ron       |   1 +
 .../common/items/weapons/sword_1h/iron-0.ron  |   1 +
 .../common/items/weapons/sword_1h/iron-1.ron  |   1 +
 .../common/items/weapons/sword_1h/iron-2.ron  |   1 +
 .../common/items/weapons/sword_1h/iron-3.ron  |   1 +
 .../common/items/weapons/sword_1h/iron-4.ron  |   1 +
 .../items/weapons/sword_1h/obsidian-0.ron     |   1 +
 .../items/weapons/sword_1h/orichalcum-0.ron   |   1 +
 .../items/weapons/sword_1h/orichalcum-1.ron   |   1 +
 .../common/items/weapons/sword_1h/steel-0.ron |   1 +
 .../common/items/weapons/sword_1h/steel-1.ron |   1 +
 .../common/items/weapons/sword_1h/steel-2.ron |   1 +
 .../common/items/weapons/sword_1h/steel-3.ron |   1 +
 assets/common/items/weapons/tool/broom.ron    |   1 +
 .../common/items/weapons/tool/fishing_rod.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/material_stats_manifest.ron     |   7 +
 common/src/bin/csv_export/main.rs             |   3 +
 common/src/bin/csv_import/main.rs             |  10 +
 common/src/comp/ability.rs                    | 208 +++++++++++++-----
 common/src/comp/inventory/item/modular.rs     |   1 +
 common/src/comp/inventory/item/tool.rs        |  11 +
 common/src/states/charged_melee.rs            |  23 +-
 common/src/states/charged_ranged.rs           |  23 +-
 common/src/states/combo_melee.rs              |  27 ++-
 326 files changed, 526 insertions(+), 108 deletions(-)

diff --git a/assets/common/abilities/bow/charged.ron b/assets/common/abilities/bow/charged.ron
index 5f13546486..7cf43a1524 100644
--- a/assets/common/abilities/bow/charged.ron
+++ b/assets/common/abilities/bow/charged.ron
@@ -7,7 +7,6 @@ ChargedRanged(
     scaled_damage: 120,
     initial_knockback: 0.0,
     scaled_knockback: 10.0,
-    speed: 1.0,
     buildup_duration: 0.2,
     charge_duration: 1.0,
     recover_duration: 0.3,
diff --git a/assets/common/abilities/custom/husk_brute/chargedmelee.ron b/assets/common/abilities/custom/husk_brute/chargedmelee.ron
index 9b778e9af8..6225afafa4 100644
--- a/assets/common/abilities/custom/husk_brute/chargedmelee.ron
+++ b/assets/common/abilities/custom/husk_brute/chargedmelee.ron
@@ -9,7 +9,6 @@ ChargedMelee(
     scaled_knockback: 0.0,
     range: 3.5,
     max_angle: 45.0,
-    speed: 1.0,
     charge_duration: 1.5,
     swing_duration: 0.1,
     hit_timing: 0.8,
diff --git a/assets/common/abilities/custom/minotaur/cleave.ron b/assets/common/abilities/custom/minotaur/cleave.ron
index 3aa9a1b690..8627f80ea0 100644
--- a/assets/common/abilities/custom/minotaur/cleave.ron
+++ b/assets/common/abilities/custom/minotaur/cleave.ron
@@ -9,7 +9,6 @@ ChargedMelee(
     scaled_knockback: 0.0,
     range: 5.0,
     max_angle: 45.0,
-    speed: 1.0,
     charge_duration: 1.5,
     swing_duration: 0.1,
     hit_timing: 0.8,
diff --git a/assets/common/abilities/custom/quadlowtail/charged.ron b/assets/common/abilities/custom/quadlowtail/charged.ron
index d2c563f69c..b4111c7f4c 100644
--- a/assets/common/abilities/custom/quadlowtail/charged.ron
+++ b/assets/common/abilities/custom/quadlowtail/charged.ron
@@ -9,7 +9,6 @@ ChargedMelee(
     scaled_knockback: 20.0,
     range: 6.0,
     max_angle: 90.0,
-    speed: 1.0,
     charge_duration: 0.8,
     swing_duration: 0.7,
     hit_timing: 0.9,
diff --git a/assets/common/abilities/hammer/charged.ron b/assets/common/abilities/hammer/charged.ron
index 9890a9a464..73871798a8 100644
--- a/assets/common/abilities/hammer/charged.ron
+++ b/assets/common/abilities/hammer/charged.ron
@@ -9,7 +9,6 @@ ChargedMelee(
     scaled_knockback: 20.0,
     range: 3.5,
     max_angle: 30.0,
-    speed: 1.0,
     charge_duration: 1.2,
     swing_duration: 0.12,
     hit_timing: 0.2,
diff --git a/assets/common/items/crafting_ing/modular/damage/sword/metal_blade.ron b/assets/common/items/crafting_ing/modular/damage/sword/metal_blade.ron
index 39432269a3..1a64a7e9de 100644
--- a/assets/common/items/crafting_ing/modular/damage/sword/metal_blade.ron
+++ b/assets/common/items/crafting_ing/modular/damage/sword/metal_blade.ron
@@ -10,7 +10,8 @@ ItemDef(
             poise_strength: 0.75,
             speed: 0.0,
             crit_chance: 0.1,
-            range: 1.0
+            range: 1.0,
+            energy_efficiency: 1.0,
         ),
     )),
     quality: Common,
diff --git a/assets/common/items/debug/admin_stick.ron b/assets/common/items/debug/admin_stick.ron
index 27505de90f..31c340d6bf 100644
--- a/assets/common/items/debug/admin_stick.ron
+++ b/assets/common/items/debug/admin_stick.ron
@@ -12,7 +12,8 @@ ItemDef(
                 speed: 1.0,
                 crit_chance: 0.0,
                 range: 1.0,
-            )),            
+                energy_efficiency: 1.0,
+            )),
         )
     ),
     quality: Debug,
diff --git a/assets/common/items/debug/admin_sword.ron b/assets/common/items/debug/admin_sword.ron
index 08154c6bb1..75f8f50ca1 100644
--- a/assets/common/items/debug/admin_sword.ron
+++ b/assets/common/items/debug/admin_sword.ron
@@ -12,6 +12,7 @@ ItemDef(
                 speed: 1.0,
                 crit_chance: 0.5,
                 range: 1.0,
+                energy_efficiency: 1.0,
             )),
         )
     ),
diff --git a/assets/common/items/debug/velorite_bow_debug.ron b/assets/common/items/debug/velorite_bow_debug.ron
index 3de18e7469..83ed19eead 100644
--- a/assets/common/items/debug/velorite_bow_debug.ron
+++ b/assets/common/items/debug/velorite_bow_debug.ron
@@ -11,6 +11,7 @@ ItemDef(
                 speed: 100.0,
                 crit_chance: 0.5,
                 range: 1.0,
+                energy_efficiency: 1.0,
             )),
     )),
     quality: Debug,
diff --git a/assets/common/items/npc_weapons/axe/minotaur_axe.ron b/assets/common/items/npc_weapons/axe/minotaur_axe.ron
index 9cf7aec622..70c0999c84 100644
--- a/assets/common/items/npc_weapons/axe/minotaur_axe.ron
+++ b/assets/common/items/npc_weapons/axe/minotaur_axe.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1,
             range: 1.0,
+            energy_efficiency: 1.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 5d3d9ad435..37f29a7401 100644
--- a/assets/common/items/npc_weapons/axe/oni_blue_axe.ron
+++ b/assets/common/items/npc_weapons/axe/oni_blue_axe.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.18,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/biped_small/adlet/adlet_bow.ron b/assets/common/items/npc_weapons/biped_small/adlet/adlet_bow.ron
index 1cdaa8e41a..9e288d8aba 100644
--- a/assets/common/items/npc_weapons/biped_small/adlet/adlet_bow.ron
+++ b/assets/common/items/npc_weapons/biped_small/adlet/adlet_bow.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.3,
             crit_chance: 0.08406594,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/npc_weapons/biped_small/adlet/gnoll_staff.ron b/assets/common/items/npc_weapons/biped_small/adlet/gnoll_staff.ron
index e15d76d515..34239a24da 100644
--- a/assets/common/items/npc_weapons/biped_small/adlet/gnoll_staff.ron
+++ b/assets/common/items/npc_weapons/biped_small/adlet/gnoll_staff.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.5,
             crit_chance: 0.05059524,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/biped_small/adlet/wooden_spear.ron b/assets/common/items/npc_weapons/biped_small/adlet/wooden_spear.ron
index db203efe61..f742d94dc5 100644
--- a/assets/common/items/npc_weapons/biped_small/adlet/wooden_spear.ron
+++ b/assets/common/items/npc_weapons/biped_small/adlet/wooden_spear.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.07589286,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/biped_small/gnarling/adlet_bow.ron b/assets/common/items/npc_weapons/biped_small/gnarling/adlet_bow.ron
index 93037519c8..b88d096edd 100644
--- a/assets/common/items/npc_weapons/biped_small/gnarling/adlet_bow.ron
+++ b/assets/common/items/npc_weapons/biped_small/gnarling/adlet_bow.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.7,
             crit_chance: 0.26764706,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/npc_weapons/biped_small/gnarling/gnoll_staff.ron b/assets/common/items/npc_weapons/biped_small/gnarling/gnoll_staff.ron
index 62473d7df9..af7a29ed36 100644
--- a/assets/common/items/npc_weapons/biped_small/gnarling/gnoll_staff.ron
+++ b/assets/common/items/npc_weapons/biped_small/gnarling/gnoll_staff.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.12037037,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/biped_small/gnarling/wooden_spear.ron b/assets/common/items/npc_weapons/biped_small/gnarling/wooden_spear.ron
index 521f9174c4..690b085854 100644
--- a/assets/common/items/npc_weapons/biped_small/gnarling/wooden_spear.ron
+++ b/assets/common/items/npc_weapons/biped_small/gnarling/wooden_spear.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.13541667,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/biped_small/haniwa/adlet_bow.ron b/assets/common/items/npc_weapons/biped_small/haniwa/adlet_bow.ron
index d296d14998..15e4923cee 100644
--- a/assets/common/items/npc_weapons/biped_small/haniwa/adlet_bow.ron
+++ b/assets/common/items/npc_weapons/biped_small/haniwa/adlet_bow.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.3,
             crit_chance: 0.05625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/npc_weapons/biped_small/haniwa/gnoll_staff.ron b/assets/common/items/npc_weapons/biped_small/haniwa/gnoll_staff.ron
index 4033a48fe3..bbb15305ec 100644
--- a/assets/common/items/npc_weapons/biped_small/haniwa/gnoll_staff.ron
+++ b/assets/common/items/npc_weapons/biped_small/haniwa/gnoll_staff.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.6,
             crit_chance: 0.036458332,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/biped_small/haniwa/wooden_spear.ron b/assets/common/items/npc_weapons/biped_small/haniwa/wooden_spear.ron
index 89e83f6777..a30ba787f1 100644
--- a/assets/common/items/npc_weapons/biped_small/haniwa/wooden_spear.ron
+++ b/assets/common/items/npc_weapons/biped_small/haniwa/wooden_spear.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.05357143,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/biped_small/myrmidon/adlet_bow.ron b/assets/common/items/npc_weapons/biped_small/myrmidon/adlet_bow.ron
index 4439b3cf06..bbe3f1ed62 100644
--- a/assets/common/items/npc_weapons/biped_small/myrmidon/adlet_bow.ron
+++ b/assets/common/items/npc_weapons/biped_small/myrmidon/adlet_bow.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.5,
             crit_chance: 0.095454544,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/npc_weapons/biped_small/myrmidon/gnoll_staff.ron b/assets/common/items/npc_weapons/biped_small/myrmidon/gnoll_staff.ron
index 2913e0f5f9..ef4ff638a3 100644
--- a/assets/common/items/npc_weapons/biped_small/myrmidon/gnoll_staff.ron
+++ b/assets/common/items/npc_weapons/biped_small/myrmidon/gnoll_staff.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.7,
             crit_chance: 0.040873703,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/biped_small/myrmidon/wooden_spear.ron b/assets/common/items/npc_weapons/biped_small/myrmidon/wooden_spear.ron
index 02f3219aee..caaf2d47d8 100644
--- a/assets/common/items/npc_weapons/biped_small/myrmidon/wooden_spear.ron
+++ b/assets/common/items/npc_weapons/biped_small/myrmidon/wooden_spear.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.04963235,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/biped_small/sahagin/adlet_bow.ron b/assets/common/items/npc_weapons/biped_small/sahagin/adlet_bow.ron
index 521f55e258..2037a0b246 100644
--- a/assets/common/items/npc_weapons/biped_small/sahagin/adlet_bow.ron
+++ b/assets/common/items/npc_weapons/biped_small/sahagin/adlet_bow.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.3,
             crit_chance: 0.066083916,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/npc_weapons/biped_small/sahagin/gnoll_staff.ron b/assets/common/items/npc_weapons/biped_small/sahagin/gnoll_staff.ron
index 0e6df5ee65..5aceec965c 100644
--- a/assets/common/items/npc_weapons/biped_small/sahagin/gnoll_staff.ron
+++ b/assets/common/items/npc_weapons/biped_small/sahagin/gnoll_staff.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.053030305,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/biped_small/sahagin/wooden_spear.ron b/assets/common/items/npc_weapons/biped_small/sahagin/wooden_spear.ron
index a075f836f8..9f96e7b5df 100644
--- a/assets/common/items/npc_weapons/biped_small/sahagin/wooden_spear.ron
+++ b/assets/common/items/npc_weapons/biped_small/sahagin/wooden_spear.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.05965909,
             range: 1.0,
+            energy_efficiency: 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 543d70de14..726d0bb617 100644
--- a/assets/common/items/npc_weapons/bow/bipedlarge-velorite.ron
+++ b/assets/common/items/npc_weapons/bow/bipedlarge-velorite.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.140625,
             range: 1.0,
+            energy_efficiency: 1.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 1d078066d7..bcf53de2bc 100644
--- a/assets/common/items/npc_weapons/bow/saurok_bow.ron
+++ b/assets/common/items/npc_weapons/bow/saurok_bow.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.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 38a0ef3b01..b9948570d4 100644
--- a/assets/common/items/npc_weapons/hammer/bipedlarge-cultist.ron
+++ b/assets/common/items/npc_weapons/hammer/bipedlarge-cultist.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.140625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     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 284204aaa9..55dd657b43 100644
--- a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron
+++ b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 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 167a675e93..89f38be30f 100644
--- a/assets/common/items/npc_weapons/hammer/harvester_scythe.ron
+++ b/assets/common/items/npc_weapons/hammer/harvester_scythe.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.05078125,
             range: 1.0,
+            energy_efficiency: 1.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 38b79ee1d7..4a3bd15c6f 100644
--- a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron
+++ b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 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 a32235010f..4fb54961e0 100644
--- a/assets/common/items/npc_weapons/hammer/oni_red_hammer.ron
+++ b/assets/common/items/npc_weapons/hammer/oni_red_hammer.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1,
             range: 1.0,
+            energy_efficiency: 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 b0daa04882..7fe6bc9f8f 100644
--- a/assets/common/items/npc_weapons/hammer/troll_hammer.ron
+++ b/assets/common/items/npc_weapons/hammer/troll_hammer.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 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 9f670cc931..bf30331ad0 100644
--- a/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron
+++ b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 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 96f6028a90..0fe1644a68 100644
--- a/assets/common/items/npc_weapons/hammer/yeti_hammer.ron
+++ b/assets/common/items/npc_weapons/hammer/yeti_hammer.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.046875,
             range: 1.0,
+            energy_efficiency: 1.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 c0d4c6196d..4d5f53ffe4 100644
--- a/assets/common/items/npc_weapons/staff/bipedlarge-cultist.ron
+++ b/assets/common/items/npc_weapons/staff/bipedlarge-cultist.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.140625,
             range: 1.0,
+            energy_efficiency: 1.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 a30da33a72..533f2d1f4d 100644
--- a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron
+++ b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0,
             range: 1.0,
+            energy_efficiency: 1.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 364af04691..1627db708d 100644
--- a/assets/common/items/npc_weapons/staff/ogre_staff.ron
+++ b/assets/common/items/npc_weapons/staff/ogre_staff.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.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 a60be3fc30..f537b1d641 100644
--- a/assets/common/items/npc_weapons/staff/saurok_staff.ron
+++ b/assets/common/items/npc_weapons/staff/saurok_staff.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     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 41a36f0ed6..d7309b57e9 100644
--- a/assets/common/items/npc_weapons/sword/bipedlarge-cultist.ron
+++ b/assets/common/items/npc_weapons/sword/bipedlarge-cultist.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.140625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     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 71c2b3611d..b6317e26fd 100644
--- a/assets/common/items/npc_weapons/sword/dullahan_sword.ron
+++ b/assets/common/items/npc_weapons/sword/dullahan_sword.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/sword/saurok_sword.ron b/assets/common/items/npc_weapons/sword/saurok_sword.ron
index b5c8430855..ae8557b792 100644
--- a/assets/common/items/npc_weapons/sword/saurok_sword.ron
+++ b/assets/common/items/npc_weapons/sword/saurok_sword.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/asp.ron b/assets/common/items/npc_weapons/unique/asp.ron
index 4a23490799..69a57fa128 100644
--- a/assets/common/items/npc_weapons/unique/asp.ron
+++ b/assets/common/items/npc_weapons/unique/asp.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/basilisk.ron b/assets/common/items/npc_weapons/unique/basilisk.ron
index 966e8be6b2..ffc0c4d718 100644
--- a/assets/common/items/npc_weapons/unique/basilisk.ron
+++ b/assets/common/items/npc_weapons/unique/basilisk.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/beast_claws.ron b/assets/common/items/npc_weapons/unique/beast_claws.ron
index a80dc9cc5b..927c5b2805 100644
--- a/assets/common/items/npc_weapons/unique/beast_claws.ron
+++ b/assets/common/items/npc_weapons/unique/beast_claws.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/birdlargebasic.ron b/assets/common/items/npc_weapons/unique/birdlargebasic.ron
index bb4fae3d8c..8192966a8d 100644
--- a/assets/common/items/npc_weapons/unique/birdlargebasic.ron
+++ b/assets/common/items/npc_weapons/unique/birdlargebasic.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/birdlargebreathe.ron b/assets/common/items/npc_weapons/unique/birdlargebreathe.ron
index 1209fbbdcd..0c6bb6f319 100644
--- a/assets/common/items/npc_weapons/unique/birdlargebreathe.ron
+++ b/assets/common/items/npc_weapons/unique/birdlargebreathe.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/birdlargefire.ron b/assets/common/items/npc_weapons/unique/birdlargefire.ron
index ee92735e5d..df76eaae5c 100644
--- a/assets/common/items/npc_weapons/unique/birdlargefire.ron
+++ b/assets/common/items/npc_weapons/unique/birdlargefire.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
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 14c76adff9..592bc2a6c0 100644
--- a/assets/common/items/npc_weapons/unique/clay_golem_fist.ron
+++ b/assets/common/items/npc_weapons/unique/clay_golem_fist.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1,
             range: 1.0,
+            energy_efficiency: 1.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 56ff2188e6..382f106efd 100644
--- a/assets/common/items/npc_weapons/unique/haniwa_sentry.ron
+++ b/assets/common/items/npc_weapons/unique/haniwa_sentry.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/husk.ron b/assets/common/items/npc_weapons/unique/husk.ron
index 808c6f443b..3c086f7985 100644
--- a/assets/common/items/npc_weapons/unique/husk.ron
+++ b/assets/common/items/npc_weapons/unique/husk.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.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 2f71fc365c..8840d77528 100644
--- a/assets/common/items/npc_weapons/unique/husk_brute.ron
+++ b/assets/common/items/npc_weapons/unique/husk_brute.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/maneater.ron b/assets/common/items/npc_weapons/unique/maneater.ron
index f3386f7563..434fbec767 100644
--- a/assets/common/items/npc_weapons/unique/maneater.ron
+++ b/assets/common/items/npc_weapons/unique/maneater.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/quadlowbasic.ron b/assets/common/items/npc_weapons/unique/quadlowbasic.ron
index d2d6c08fed..8778555dd5 100644
--- a/assets/common/items/npc_weapons/unique/quadlowbasic.ron
+++ b/assets/common/items/npc_weapons/unique/quadlowbasic.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/quadlowbeam.ron b/assets/common/items/npc_weapons/unique/quadlowbeam.ron
index 5829c71bce..d4dba90e60 100644
--- a/assets/common/items/npc_weapons/unique/quadlowbeam.ron
+++ b/assets/common/items/npc_weapons/unique/quadlowbeam.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/quadlowbreathe.ron b/assets/common/items/npc_weapons/unique/quadlowbreathe.ron
index 99692b53cd..a33dcd340f 100644
--- a/assets/common/items/npc_weapons/unique/quadlowbreathe.ron
+++ b/assets/common/items/npc_weapons/unique/quadlowbreathe.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/quadlowquick.ron b/assets/common/items/npc_weapons/unique/quadlowquick.ron
index 45e9caaa0b..c3325f4f64 100644
--- a/assets/common/items/npc_weapons/unique/quadlowquick.ron
+++ b/assets/common/items/npc_weapons/unique/quadlowquick.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/quadlowtail.ron b/assets/common/items/npc_weapons/unique/quadlowtail.ron
index 667afb264f..5ba8b33491 100644
--- a/assets/common/items/npc_weapons/unique/quadlowtail.ron
+++ b/assets/common/items/npc_weapons/unique/quadlowtail.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/quadmedbasic.ron b/assets/common/items/npc_weapons/unique/quadmedbasic.ron
index 8a224d9601..d49ed1bdbc 100644
--- a/assets/common/items/npc_weapons/unique/quadmedbasic.ron
+++ b/assets/common/items/npc_weapons/unique/quadmedbasic.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/quadmedbasicgentle.ron b/assets/common/items/npc_weapons/unique/quadmedbasicgentle.ron
index edaf31a1c3..3c7f1ac343 100644
--- a/assets/common/items/npc_weapons/unique/quadmedbasicgentle.ron
+++ b/assets/common/items/npc_weapons/unique/quadmedbasicgentle.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.09375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/quadmedcharge.ron b/assets/common/items/npc_weapons/unique/quadmedcharge.ron
index ada156c488..52d0436d4f 100644
--- a/assets/common/items/npc_weapons/unique/quadmedcharge.ron
+++ b/assets/common/items/npc_weapons/unique/quadmedcharge.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/quadmedhoof.ron b/assets/common/items/npc_weapons/unique/quadmedhoof.ron
index ccad8ff490..71b89ba656 100644
--- a/assets/common/items/npc_weapons/unique/quadmedhoof.ron
+++ b/assets/common/items/npc_weapons/unique/quadmedhoof.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/quadmedjump.ron b/assets/common/items/npc_weapons/unique/quadmedjump.ron
index a99b27c65c..51181f6581 100644
--- a/assets/common/items/npc_weapons/unique/quadmedjump.ron
+++ b/assets/common/items/npc_weapons/unique/quadmedjump.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/quadmedquick.ron b/assets/common/items/npc_weapons/unique/quadmedquick.ron
index 4787f72a61..0c5615b435 100644
--- a/assets/common/items/npc_weapons/unique/quadmedquick.ron
+++ b/assets/common/items/npc_weapons/unique/quadmedquick.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/quadsmallbasic.ron b/assets/common/items/npc_weapons/unique/quadsmallbasic.ron
index af38dc43ad..b57a348a8a 100644
--- a/assets/common/items/npc_weapons/unique/quadsmallbasic.ron
+++ b/assets/common/items/npc_weapons/unique/quadsmallbasic.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.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 4a7400b9b6..b5471dc6d7 100644
--- a/assets/common/items/npc_weapons/unique/stone_golems_fist.ron
+++ b/assets/common/items/npc_weapons/unique/stone_golems_fist.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/theropodbasic.ron b/assets/common/items/npc_weapons/unique/theropodbasic.ron
index 8fab7892c3..d86a14aa7a 100644
--- a/assets/common/items/npc_weapons/unique/theropodbasic.ron
+++ b/assets/common/items/npc_weapons/unique/theropodbasic.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/theropodbird.ron b/assets/common/items/npc_weapons/unique/theropodbird.ron
index 313d3bd878..9384b80bec 100644
--- a/assets/common/items/npc_weapons/unique/theropodbird.ron
+++ b/assets/common/items/npc_weapons/unique/theropodbird.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/theropodcharge.ron b/assets/common/items/npc_weapons/unique/theropodcharge.ron
index aa132f971f..67a33825fe 100644
--- a/assets/common/items/npc_weapons/unique/theropodcharge.ron
+++ b/assets/common/items/npc_weapons/unique/theropodcharge.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1,
             range: 1.0,
+            energy_efficiency: 1.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 6c399af6d2..d75bbab82a 100644
--- a/assets/common/items/npc_weapons/unique/tidal_claws.ron
+++ b/assets/common/items/npc_weapons/unique/tidal_claws.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.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 919c0e1bb6..1c572a2ec9 100644
--- a/assets/common/items/npc_weapons/unique/tidal_totem.ron
+++ b/assets/common/items/npc_weapons/unique/tidal_totem.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/tornado.ron b/assets/common/items/npc_weapons/unique/tornado.ron
index 7ffe67832e..e3b2159843 100644
--- a/assets/common/items/npc_weapons/unique/tornado.ron
+++ b/assets/common/items/npc_weapons/unique/tornado.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/npc_weapons/unique/turret.ron b/assets/common/items/npc_weapons/unique/turret.ron
index 88fbb64d65..cf31c079f2 100644
--- a/assets/common/items/npc_weapons/unique/turret.ron
+++ b/assets/common/items/npc_weapons/unique/turret.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.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 8fc2b4f097..76d0dae3ee 100644
--- a/assets/common/items/npc_weapons/unique/wendigo_magic.ron
+++ b/assets/common/items/npc_weapons/unique/wendigo_magic.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/tool/craftsman_hammer.ron b/assets/common/items/tool/craftsman_hammer.ron
index 1bcb1a505e..c28777db4d 100644
--- a/assets/common/items/tool/craftsman_hammer.ron
+++ b/assets/common/items/tool/craftsman_hammer.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.5,
             crit_chance: 0.0,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/tool/pickaxe_steel.ron b/assets/common/items/tool/pickaxe_steel.ron
index 560fa4d3c3..b8da0a6f75 100644
--- a/assets/common/items/tool/pickaxe_steel.ron
+++ b/assets/common/items/tool/pickaxe_steel.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.3,
             crit_chance: 0.0,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/tool/pickaxe_stone.ron b/assets/common/items/tool/pickaxe_stone.ron
index c53c7438f9..ff1b5464fd 100644
--- a/assets/common/items/tool/pickaxe_stone.ron
+++ b/assets/common/items/tool/pickaxe_stone.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.5,
             crit_chance: 0.0,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-0.ron b/assets/common/items/weapons/axe/bloodsteel_axe-0.ron
index 8412dc170a..0b7c16850d 100644
--- a/assets/common/items/weapons/axe/bloodsteel_axe-0.ron
+++ b/assets/common/items/weapons/axe/bloodsteel_axe-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1421875,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-1.ron b/assets/common/items/weapons/axe/bloodsteel_axe-1.ron
index e1997c46b4..1a8e8d02d8 100644
--- a/assets/common/items/weapons/axe/bloodsteel_axe-1.ron
+++ b/assets/common/items/weapons/axe/bloodsteel_axe-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1421875,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-2.ron b/assets/common/items/weapons/axe/bloodsteel_axe-2.ron
index 2e5d0ad304..cef16014b3 100644
--- a/assets/common/items/weapons/axe/bloodsteel_axe-2.ron
+++ b/assets/common/items/weapons/axe/bloodsteel_axe-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1421875,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/axe/bronze_axe-0.ron b/assets/common/items/weapons/axe/bronze_axe-0.ron
index 610e600b33..c354847b72 100644
--- a/assets/common/items/weapons/axe/bronze_axe-0.ron
+++ b/assets/common/items/weapons/axe/bronze_axe-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/bronze_axe-1.ron b/assets/common/items/weapons/axe/bronze_axe-1.ron
index c76c951e6f..f04b220a2c 100644
--- a/assets/common/items/weapons/axe/bronze_axe-1.ron
+++ b/assets/common/items/weapons/axe/bronze_axe-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/bronze_axe-2.ron b/assets/common/items/weapons/axe/bronze_axe-2.ron
index fd1c7ade7a..cca444b8da 100644
--- a/assets/common/items/weapons/axe/bronze_axe-2.ron
+++ b/assets/common/items/weapons/axe/bronze_axe-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/cobalt_axe-0.ron b/assets/common/items/weapons/axe/cobalt_axe-0.ron
index 5142ccac98..effa2147ee 100644
--- a/assets/common/items/weapons/axe/cobalt_axe-0.ron
+++ b/assets/common/items/weapons/axe/cobalt_axe-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.13611111,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/axe/cobalt_axe-1.ron b/assets/common/items/weapons/axe/cobalt_axe-1.ron
index 2479147b13..d7eea702f8 100644
--- a/assets/common/items/weapons/axe/cobalt_axe-1.ron
+++ b/assets/common/items/weapons/axe/cobalt_axe-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.13611111,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/axe/iron_axe-0.ron b/assets/common/items/weapons/axe/iron_axe-0.ron
index 37a8ef810f..652d20d3b1 100644
--- a/assets/common/items/weapons/axe/iron_axe-0.ron
+++ b/assets/common/items/weapons/axe/iron_axe-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/iron_axe-1.ron b/assets/common/items/weapons/axe/iron_axe-1.ron
index e8292e548c..7170a3fbbd 100644
--- a/assets/common/items/weapons/axe/iron_axe-1.ron
+++ b/assets/common/items/weapons/axe/iron_axe-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/iron_axe-2.ron b/assets/common/items/weapons/axe/iron_axe-2.ron
index 8441d3a172..1b488090c8 100644
--- a/assets/common/items/weapons/axe/iron_axe-2.ron
+++ b/assets/common/items/weapons/axe/iron_axe-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/iron_axe-3.ron b/assets/common/items/weapons/axe/iron_axe-3.ron
index fc81f184b0..48e6814f16 100644
--- a/assets/common/items/weapons/axe/iron_axe-3.ron
+++ b/assets/common/items/weapons/axe/iron_axe-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/iron_axe-4.ron b/assets/common/items/weapons/axe/iron_axe-4.ron
index b176de507a..7ab57a00a3 100644
--- a/assets/common/items/weapons/axe/iron_axe-4.ron
+++ b/assets/common/items/weapons/axe/iron_axe-4.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/iron_axe-5.ron b/assets/common/items/weapons/axe/iron_axe-5.ron
index 817e648d11..09be024052 100644
--- a/assets/common/items/weapons/axe/iron_axe-5.ron
+++ b/assets/common/items/weapons/axe/iron_axe-5.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/iron_axe-6.ron b/assets/common/items/weapons/axe/iron_axe-6.ron
index 8f3166ab0e..56d536ff56 100644
--- a/assets/common/items/weapons/axe/iron_axe-6.ron
+++ b/assets/common/items/weapons/axe/iron_axe-6.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/iron_axe-7.ron b/assets/common/items/weapons/axe/iron_axe-7.ron
index d21e92dff2..8e4e7f5fb4 100644
--- a/assets/common/items/weapons/axe/iron_axe-7.ron
+++ b/assets/common/items/weapons/axe/iron_axe-7.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/iron_axe-8.ron b/assets/common/items/weapons/axe/iron_axe-8.ron
index 1bab40b308..a54c1c1d29 100644
--- a/assets/common/items/weapons/axe/iron_axe-8.ron
+++ b/assets/common/items/weapons/axe/iron_axe-8.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/iron_axe-9.ron b/assets/common/items/weapons/axe/iron_axe-9.ron
index e780a57d52..4e30ab49b5 100644
--- a/assets/common/items/weapons/axe/iron_axe-9.ron
+++ b/assets/common/items/weapons/axe/iron_axe-9.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1375,
             range: 1.0,
+            energy_efficiency: 1.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 6e362c2384..5feb2c21ca 100644
--- a/assets/common/items/weapons/axe/malachite_axe-0.ron
+++ b/assets/common/items/weapons/axe/malachite_axe-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.140625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Epic,
diff --git a/assets/common/items/weapons/axe/orc_axe-0.ron b/assets/common/items/weapons/axe/orc_axe-0.ron
index 93b7e741a8..1be20ccbc7 100644
--- a/assets/common/items/weapons/axe/orc_axe-0.ron
+++ b/assets/common/items/weapons/axe/orc_axe-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.083333336,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/axe/parashu.ron b/assets/common/items/weapons/axe/parashu.ron
index e32fd60d53..ea423f9d73 100644
--- a/assets/common/items/weapons/axe/parashu.ron
+++ b/assets/common/items/weapons/axe/parashu.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.11666667,
             range: 1.0,
+            energy_efficiency: 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 f2d93262ca..7405e2f67e 100644
--- a/assets/common/items/weapons/axe/starter_axe.ron
+++ b/assets/common/items/weapons/axe/starter_axe.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.09375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/axe/steel_axe-0.ron b/assets/common/items/weapons/axe/steel_axe-0.ron
index 01e4a4653d..ceda344b86 100644
--- a/assets/common/items/weapons/axe/steel_axe-0.ron
+++ b/assets/common/items/weapons/axe/steel_axe-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/steel_axe-1.ron b/assets/common/items/weapons/axe/steel_axe-1.ron
index aab8d85401..93cbeee097 100644
--- a/assets/common/items/weapons/axe/steel_axe-1.ron
+++ b/assets/common/items/weapons/axe/steel_axe-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/steel_axe-2.ron b/assets/common/items/weapons/axe/steel_axe-2.ron
index 4bcc91dee1..cbeab6ffa9 100644
--- a/assets/common/items/weapons/axe/steel_axe-2.ron
+++ b/assets/common/items/weapons/axe/steel_axe-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/steel_axe-3.ron b/assets/common/items/weapons/axe/steel_axe-3.ron
index 8a16ac1af4..e257f1df88 100644
--- a/assets/common/items/weapons/axe/steel_axe-3.ron
+++ b/assets/common/items/weapons/axe/steel_axe-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/steel_axe-4.ron b/assets/common/items/weapons/axe/steel_axe-4.ron
index 519c25145e..60b8c07fe2 100644
--- a/assets/common/items/weapons/axe/steel_axe-4.ron
+++ b/assets/common/items/weapons/axe/steel_axe-4.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/steel_axe-5.ron b/assets/common/items/weapons/axe/steel_axe-5.ron
index 11fa79ac05..506fe0a603 100644
--- a/assets/common/items/weapons/axe/steel_axe-5.ron
+++ b/assets/common/items/weapons/axe/steel_axe-5.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe/steel_axe-6.ron b/assets/common/items/weapons/axe/steel_axe-6.ron
index 5b520a90e2..df286ee5e8 100644
--- a/assets/common/items/weapons/axe/steel_axe-6.ron
+++ b/assets/common/items/weapons/axe/steel_axe-6.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe_1h/bloodsteel-0.ron b/assets/common/items/weapons/axe_1h/bloodsteel-0.ron
index eae29cf1d4..0ca8159e0e 100644
--- a/assets/common/items/weapons/axe_1h/bloodsteel-0.ron
+++ b/assets/common/items/weapons/axe_1h/bloodsteel-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.3,
             crit_chance: 0.16485508,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/axe_1h/bloodsteel-1.ron b/assets/common/items/weapons/axe_1h/bloodsteel-1.ron
index 1bcedcc73e..f6d94e409d 100644
--- a/assets/common/items/weapons/axe_1h/bloodsteel-1.ron
+++ b/assets/common/items/weapons/axe_1h/bloodsteel-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.11666667,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/axe_1h/bronze-0.ron b/assets/common/items/weapons/axe_1h/bronze-0.ron
index 34bf5845aa..fe6507e239 100644
--- a/assets/common/items/weapons/axe_1h/bronze-0.ron
+++ b/assets/common/items/weapons/axe_1h/bronze-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.15714286,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe_1h/bronze-1.ron b/assets/common/items/weapons/axe_1h/bronze-1.ron
index cfe6117a47..e31b4477d4 100644
--- a/assets/common/items/weapons/axe_1h/bronze-1.ron
+++ b/assets/common/items/weapons/axe_1h/bronze-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.14318182,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe_1h/cobalt-0.ron b/assets/common/items/weapons/axe_1h/cobalt-0.ron
index 9cbd73a24d..1738442905 100644
--- a/assets/common/items/weapons/axe_1h/cobalt-0.ron
+++ b/assets/common/items/weapons/axe_1h/cobalt-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1421875,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/axe_1h/cobalt-1.ron b/assets/common/items/weapons/axe_1h/cobalt-1.ron
index de85890a49..d77673c8e4 100644
--- a/assets/common/items/weapons/axe_1h/cobalt-1.ron
+++ b/assets/common/items/weapons/axe_1h/cobalt-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.85,
             crit_chance: 0.12635136,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/axe_1h/iron-0.ron b/assets/common/items/weapons/axe_1h/iron-0.ron
index 0cda58c99d..412dad1171 100644
--- a/assets/common/items/weapons/axe_1h/iron-0.ron
+++ b/assets/common/items/weapons/axe_1h/iron-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe_1h/iron-1.ron b/assets/common/items/weapons/axe_1h/iron-1.ron
index d5a0ec73b0..6b67a32ace 100644
--- a/assets/common/items/weapons/axe_1h/iron-1.ron
+++ b/assets/common/items/weapons/axe_1h/iron-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.1257085,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe_1h/iron-2.ron b/assets/common/items/weapons/axe_1h/iron-2.ron
index 360feca3b1..3dcf48c66f 100644
--- a/assets/common/items/weapons/axe_1h/iron-2.ron
+++ b/assets/common/items/weapons/axe_1h/iron-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.16363636,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe_1h/iron-3.ron b/assets/common/items/weapons/axe_1h/iron-3.ron
index 4b00e49810..dccfdf45b5 100644
--- a/assets/common/items/weapons/axe_1h/iron-3.ron
+++ b/assets/common/items/weapons/axe_1h/iron-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe_1h/orichalcum-0.ron b/assets/common/items/weapons/axe_1h/orichalcum-0.ron
index 82bd3fbfc4..5dd1483803 100644
--- a/assets/common/items/weapons/axe_1h/orichalcum-0.ron
+++ b/assets/common/items/weapons/axe_1h/orichalcum-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.140625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Epic,
diff --git a/assets/common/items/weapons/axe_1h/steel-0.ron b/assets/common/items/weapons/axe_1h/steel-0.ron
index 2359c80537..b8ab0921ab 100644
--- a/assets/common/items/weapons/axe_1h/steel-0.ron
+++ b/assets/common/items/weapons/axe_1h/steel-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.118421055,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe_1h/steel-1.ron b/assets/common/items/weapons/axe_1h/steel-1.ron
index 184c2c853e..3a5ac79120 100644
--- a/assets/common/items/weapons/axe_1h/steel-1.ron
+++ b/assets/common/items/weapons/axe_1h/steel-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe_1h/steel-2.ron b/assets/common/items/weapons/axe_1h/steel-2.ron
index a349f22286..f8a7140387 100644
--- a/assets/common/items/weapons/axe_1h/steel-2.ron
+++ b/assets/common/items/weapons/axe_1h/steel-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.139011,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/axe_1h/stone-0.ron b/assets/common/items/weapons/axe_1h/stone-0.ron
index f9ab76500c..ffe1aec3b4 100644
--- a/assets/common/items/weapons/axe_1h/stone-0.ron
+++ b/assets/common/items/weapons/axe_1h/stone-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1265625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/axe_1h/stone-1.ron b/assets/common/items/weapons/axe_1h/stone-1.ron
index c728825393..b32b6bc1a1 100644
--- a/assets/common/items/weapons/axe_1h/stone-1.ron
+++ b/assets/common/items/weapons/axe_1h/stone-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.14311224,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/axe_1h/wood-0.ron b/assets/common/items/weapons/axe_1h/wood-0.ron
index 725707d74d..530194840b 100644
--- a/assets/common/items/weapons/axe_1h/wood-0.ron
+++ b/assets/common/items/weapons/axe_1h/wood-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/axe_1h/wood-1.ron b/assets/common/items/weapons/axe_1h/wood-1.ron
index 2ab5467409..4ab30cffd8 100644
--- a/assets/common/items/weapons/axe_1h/wood-1.ron
+++ b/assets/common/items/weapons/axe_1h/wood-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.09821428,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/bow/bone-0.ron b/assets/common/items/weapons/bow/bone-0.ron
index dc7f49c8d4..efb12e9a43 100644
--- a/assets/common/items/weapons/bow/bone-0.ron
+++ b/assets/common/items/weapons/bow/bone-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.16587302,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/bone-1.ron b/assets/common/items/weapons/bow/bone-1.ron
index fc4ece1206..e25c2d761a 100644
--- a/assets/common/items/weapons/bow/bone-1.ron
+++ b/assets/common/items/weapons/bow/bone-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.12222222,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/bone-2.ron b/assets/common/items/weapons/bow/bone-2.ron
index 30223ebd97..5d9d979b55 100644
--- a/assets/common/items/weapons/bow/bone-2.ron
+++ b/assets/common/items/weapons/bow/bone-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/bone-3.ron b/assets/common/items/weapons/bow/bone-3.ron
index 2aef4bdbd8..1737238da0 100644
--- a/assets/common/items/weapons/bow/bone-3.ron
+++ b/assets/common/items/weapons/bow/bone-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.13564593,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/eldwood-0.ron b/assets/common/items/weapons/bow/eldwood-0.ron
index 2b8650d7b6..5abd317382 100644
--- a/assets/common/items/weapons/bow/eldwood-0.ron
+++ b/assets/common/items/weapons/bow/eldwood-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.13611111,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/bow/eldwood-1.ron b/assets/common/items/weapons/bow/eldwood-1.ron
index b988dfdb0f..f09ed8305d 100644
--- a/assets/common/items/weapons/bow/eldwood-1.ron
+++ b/assets/common/items/weapons/bow/eldwood-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.15511364,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/bow/eldwood-2.ron b/assets/common/items/weapons/bow/eldwood-2.ron
index d9eccc3b5f..e3ddb5945c 100644
--- a/assets/common/items/weapons/bow/eldwood-2.ron
+++ b/assets/common/items/weapons/bow/eldwood-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.11666667,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/bow/frostwood-0.ron b/assets/common/items/weapons/bow/frostwood-0.ron
index 359197e56e..e898324fde 100644
--- a/assets/common/items/weapons/bow/frostwood-0.ron
+++ b/assets/common/items/weapons/bow/frostwood-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.16363636,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/bow/frostwood-1.ron b/assets/common/items/weapons/bow/frostwood-1.ron
index e46e17f115..b0d8234de8 100644
--- a/assets/common/items/weapons/bow/frostwood-1.ron
+++ b/assets/common/items/weapons/bow/frostwood-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1421875,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/bow/frostwood-2.ron b/assets/common/items/weapons/bow/frostwood-2.ron
index 1a4577e25d..1127e70ee3 100644
--- a/assets/common/items/weapons/bow/frostwood-2.ron
+++ b/assets/common/items/weapons/bow/frostwood-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.13165635,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/bow/hardwood-0.ron b/assets/common/items/weapons/bow/hardwood-0.ron
index 4de86a68e5..e7432919e6 100644
--- a/assets/common/items/weapons/bow/hardwood-0.ron
+++ b/assets/common/items/weapons/bow/hardwood-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/hardwood-1.ron b/assets/common/items/weapons/bow/hardwood-1.ron
index 6e0d4f06bb..5dc974078f 100644
--- a/assets/common/items/weapons/bow/hardwood-1.ron
+++ b/assets/common/items/weapons/bow/hardwood-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.114285715,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/hardwood-2.ron b/assets/common/items/weapons/bow/hardwood-2.ron
index e7643e8828..2faf5aaf32 100644
--- a/assets/common/items/weapons/bow/hardwood-2.ron
+++ b/assets/common/items/weapons/bow/hardwood-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/hardwood-3.ron b/assets/common/items/weapons/bow/hardwood-3.ron
index d0df6d8772..6c06801e13 100644
--- a/assets/common/items/weapons/bow/hardwood-3.ron
+++ b/assets/common/items/weapons/bow/hardwood-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.3,
             crit_chance: 0.1789855,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/hardwood-4.ron b/assets/common/items/weapons/bow/hardwood-4.ron
index fcd84b3fe4..fba97c5a1c 100644
--- a/assets/common/items/weapons/bow/hardwood-4.ron
+++ b/assets/common/items/weapons/bow/hardwood-4.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.16363636,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/hardwood-5.ron b/assets/common/items/weapons/bow/hardwood-5.ron
index 70fd8e5b67..9f3853fb34 100644
--- a/assets/common/items/weapons/bow/hardwood-5.ron
+++ b/assets/common/items/weapons/bow/hardwood-5.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.1257085,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/metal-0.ron b/assets/common/items/weapons/bow/metal-0.ron
index 0f7d5af4b2..52ad2522a5 100644
--- a/assets/common/items/weapons/bow/metal-0.ron
+++ b/assets/common/items/weapons/bow/metal-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/metal-1.ron b/assets/common/items/weapons/bow/metal-1.ron
index 494db7641d..9f650a5781 100644
--- a/assets/common/items/weapons/bow/metal-1.ron
+++ b/assets/common/items/weapons/bow/metal-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/metal-2.ron b/assets/common/items/weapons/bow/metal-2.ron
index 639f14e5d7..b0073018b0 100644
--- a/assets/common/items/weapons/bow/metal-2.ron
+++ b/assets/common/items/weapons/bow/metal-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.139011,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/metal-3.ron b/assets/common/items/weapons/bow/metal-3.ron
index 87efbafab6..fe1a010936 100644
--- a/assets/common/items/weapons/bow/metal-3.ron
+++ b/assets/common/items/weapons/bow/metal-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.118421055,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/metal-4.ron b/assets/common/items/weapons/bow/metal-4.ron
index 01380e7709..f1e70746cb 100644
--- a/assets/common/items/weapons/bow/metal-4.ron
+++ b/assets/common/items/weapons/bow/metal-4.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.108333334,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/bow/rawwood-0.ron b/assets/common/items/weapons/bow/rawwood-0.ron
index 3bae698af6..089aa13f59 100644
--- a/assets/common/items/weapons/bow/rawwood-0.ron
+++ b/assets/common/items/weapons/bow/rawwood-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.0718985,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/bow/rawwood-1.ron b/assets/common/items/weapons/bow/rawwood-1.ron
index 1f19897584..71df053dc4 100644
--- a/assets/common/items/weapons/bow/rawwood-1.ron
+++ b/assets/common/items/weapons/bow/rawwood-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.083333336,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/bow/sagitta.ron b/assets/common/items/weapons/bow/sagitta.ron
index 3c8d721ddd..565a0dbf1e 100644
--- a/assets/common/items/weapons/bow/sagitta.ron
+++ b/assets/common/items/weapons/bow/sagitta.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.11666667,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Legendary,
diff --git a/assets/common/items/weapons/bow/starter.ron b/assets/common/items/weapons/bow/starter.ron
index 1ec9213bb1..1e77550e02 100644
--- a/assets/common/items/weapons/bow/starter.ron
+++ b/assets/common/items/weapons/bow/starter.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.09375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/bow/velorite.ron b/assets/common/items/weapons/bow/velorite.ron
index 7ccb8aa45c..ebfbb021cc 100644
--- a/assets/common/items/weapons/bow/velorite.ron
+++ b/assets/common/items/weapons/bow/velorite.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.140625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Epic,
diff --git a/assets/common/items/weapons/bow/wood-0.ron b/assets/common/items/weapons/bow/wood-0.ron
index 5f0e0c1c41..b763a984e8 100644
--- a/assets/common/items/weapons/bow/wood-0.ron
+++ b/assets/common/items/weapons/bow/wood-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/bow/wood-1.ron b/assets/common/items/weapons/bow/wood-1.ron
index 6d2778b925..92ba52167b 100644
--- a/assets/common/items/weapons/bow/wood-1.ron
+++ b/assets/common/items/weapons/bow/wood-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.0795068,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/bow/wood-2.ron b/assets/common/items/weapons/bow/wood-2.ron
index b7ce7ad5be..f92af2a4fd 100644
--- a/assets/common/items/weapons/bow/wood-2.ron
+++ b/assets/common/items/weapons/bow/wood-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0703125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/bow/wood-3.ron b/assets/common/items/weapons/bow/wood-3.ron
index 101d6c183b..bbd3743f2d 100644
--- a/assets/common/items/weapons/bow/wood-3.ron
+++ b/assets/common/items/weapons/bow/wood-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.055555556,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/bow/wood-4.ron b/assets/common/items/weapons/bow/wood-4.ron
index 6c710aae33..476999fc9e 100644
--- a/assets/common/items/weapons/bow/wood-4.ron
+++ b/assets/common/items/weapons/bow/wood-4.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.09090909,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/dagger/basic_0.ron b/assets/common/items/weapons/dagger/basic_0.ron
index ed353ac086..dcb9f5cff6 100644
--- a/assets/common/items/weapons/dagger/basic_0.ron
+++ b/assets/common/items/weapons/dagger/basic_0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.13611111,
             range: 1.0,
+            energy_efficiency: 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 05a33b3efd..1522029166 100644
--- a/assets/common/items/weapons/dagger/cultist_0.ron
+++ b/assets/common/items/weapons/dagger/cultist_0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.140625,
             range: 1.0,
+            energy_efficiency: 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 e881275e7e..d9d3b28c28 100644
--- a/assets/common/items/weapons/dagger/starter_dagger.ron
+++ b/assets/common/items/weapons/dagger/starter_dagger.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/empty/empty.ron b/assets/common/items/weapons/empty/empty.ron
index d37a2f98c9..8f0c308ea1 100644
--- a/assets/common/items/weapons/empty/empty.ron
+++ b/assets/common/items/weapons/empty/empty.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/hammer/bronze_hammer-0.ron b/assets/common/items/weapons/hammer/bronze_hammer-0.ron
index fae8849063..08998f1737 100644
--- a/assets/common/items/weapons/hammer/bronze_hammer-0.ron
+++ b/assets/common/items/weapons/hammer/bronze_hammer-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/hammer/bronze_hammer-1.ron b/assets/common/items/weapons/hammer/bronze_hammer-1.ron
index 015b5b36ec..aebcd77eab 100644
--- a/assets/common/items/weapons/hammer/bronze_hammer-1.ron
+++ b/assets/common/items/weapons/hammer/bronze_hammer-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/hammer/burnt_drumstick.ron b/assets/common/items/weapons/hammer/burnt_drumstick.ron
index 7fd42af9c5..285df9d2cf 100644
--- a/assets/common/items/weapons/hammer/burnt_drumstick.ron
+++ b/assets/common/items/weapons/hammer/burnt_drumstick.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.09375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/hammer/cobalt_hammer-0.ron b/assets/common/items/weapons/hammer/cobalt_hammer-0.ron
index 0b6a5ffaf9..7d4d477e58 100644
--- a/assets/common/items/weapons/hammer/cobalt_hammer-0.ron
+++ b/assets/common/items/weapons/hammer/cobalt_hammer-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.121875,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer/cobalt_hammer-1.ron b/assets/common/items/weapons/hammer/cobalt_hammer-1.ron
index 4a56a6bbce..b61b6ac29e 100644
--- a/assets/common/items/weapons/hammer/cobalt_hammer-1.ron
+++ b/assets/common/items/weapons/hammer/cobalt_hammer-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.121875,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
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 cc3934e374..f1dd26e341 100644
--- a/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron
+++ b/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.140625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Epic,
diff --git a/assets/common/items/weapons/hammer/flimsy_hammer.ron b/assets/common/items/weapons/hammer/flimsy_hammer.ron
index 9ef5f6906a..db3480a905 100644
--- a/assets/common/items/weapons/hammer/flimsy_hammer.ron
+++ b/assets/common/items/weapons/hammer/flimsy_hammer.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.09375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/hammer/hammer_1.ron b/assets/common/items/weapons/hammer/hammer_1.ron
index e92a049420..ac796a22e3 100644
--- a/assets/common/items/weapons/hammer/hammer_1.ron
+++ b/assets/common/items/weapons/hammer/hammer_1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.09375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/hammer/iron_hammer-0.ron b/assets/common/items/weapons/hammer/iron_hammer-0.ron
index 10a27f14ea..6b1dc57931 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-0.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.103125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/hammer/iron_hammer-1.ron b/assets/common/items/weapons/hammer/iron_hammer-1.ron
index 1b6432f051..090e3eb47c 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-1.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.103125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/hammer/iron_hammer-2.ron b/assets/common/items/weapons/hammer/iron_hammer-2.ron
index d584541efc..81dce6836c 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-2.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.103125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/hammer/iron_hammer-3.ron b/assets/common/items/weapons/hammer/iron_hammer-3.ron
index 89f07af2f1..4f7a4fb523 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-3.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.103125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/hammer/iron_hammer-4.ron b/assets/common/items/weapons/hammer/iron_hammer-4.ron
index 00e063a1d8..c421153d2b 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-4.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-4.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.103125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/hammer/iron_hammer-5.ron b/assets/common/items/weapons/hammer/iron_hammer-5.ron
index 6b981d6640..ef1c0d2c24 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-5.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-5.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.103125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/hammer/iron_hammer-6.ron b/assets/common/items/weapons/hammer/iron_hammer-6.ron
index cc1ffb41e7..f0f5ddca82 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-6.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-6.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.103125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/hammer/iron_hammer-7.ron b/assets/common/items/weapons/hammer/iron_hammer-7.ron
index ff7d6b9b13..d0a182a97a 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-7.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-7.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.103125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/hammer/iron_hammer-8.ron b/assets/common/items/weapons/hammer/iron_hammer-8.ron
index 90712eb09b..d22ba1c0be 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-8.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-8.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.103125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/hammer/mjolnir.ron b/assets/common/items/weapons/hammer/mjolnir.ron
index f234551e46..8ee03fe59e 100644
--- a/assets/common/items/weapons/hammer/mjolnir.ron
+++ b/assets/common/items/weapons/hammer/mjolnir.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.078125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Legendary,
diff --git a/assets/common/items/weapons/hammer/ramshead_hammer.ron b/assets/common/items/weapons/hammer/ramshead_hammer.ron
index 1dbd75a250..3587d420d6 100644
--- a/assets/common/items/weapons/hammer/ramshead_hammer.ron
+++ b/assets/common/items/weapons/hammer/ramshead_hammer.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.13611111,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/hammer/runic_hammer.ron b/assets/common/items/weapons/hammer/runic_hammer.ron
index 1f0e559243..cf7a9530b3 100644
--- a/assets/common/items/weapons/hammer/runic_hammer.ron
+++ b/assets/common/items/weapons/hammer/runic_hammer.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.13611111,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/hammer/starter_hammer.ron b/assets/common/items/weapons/hammer/starter_hammer.ron
index 8d57f19894..9a122f002b 100644
--- a/assets/common/items/weapons/hammer/starter_hammer.ron
+++ b/assets/common/items/weapons/hammer/starter_hammer.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.09375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/hammer/steel_hammer-0.ron b/assets/common/items/weapons/hammer/steel_hammer-0.ron
index e8be8793e5..a2ebdb87ed 100644
--- a/assets/common/items/weapons/hammer/steel_hammer-0.ron
+++ b/assets/common/items/weapons/hammer/steel_hammer-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer/steel_hammer-1.ron b/assets/common/items/weapons/hammer/steel_hammer-1.ron
index b62bd67bbe..7a5c7be54a 100644
--- a/assets/common/items/weapons/hammer/steel_hammer-1.ron
+++ b/assets/common/items/weapons/hammer/steel_hammer-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer/steel_hammer-2.ron b/assets/common/items/weapons/hammer/steel_hammer-2.ron
index a4767bd39c..5207a28c6c 100644
--- a/assets/common/items/weapons/hammer/steel_hammer-2.ron
+++ b/assets/common/items/weapons/hammer/steel_hammer-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer/steel_hammer-3.ron b/assets/common/items/weapons/hammer/steel_hammer-3.ron
index f0ede26440..c04711b343 100644
--- a/assets/common/items/weapons/hammer/steel_hammer-3.ron
+++ b/assets/common/items/weapons/hammer/steel_hammer-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer/steel_hammer-4.ron b/assets/common/items/weapons/hammer/steel_hammer-4.ron
index 93aa58470b..81b7d92a7e 100644
--- a/assets/common/items/weapons/hammer/steel_hammer-4.ron
+++ b/assets/common/items/weapons/hammer/steel_hammer-4.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer/steel_hammer-5.ron b/assets/common/items/weapons/hammer/steel_hammer-5.ron
index 53b04bd812..c6e32845dc 100644
--- a/assets/common/items/weapons/hammer/steel_hammer-5.ron
+++ b/assets/common/items/weapons/hammer/steel_hammer-5.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer/stone_hammer-0.ron b/assets/common/items/weapons/hammer/stone_hammer-0.ron
index 97a12675c1..875b79fd6c 100644
--- a/assets/common/items/weapons/hammer/stone_hammer-0.ron
+++ b/assets/common/items/weapons/hammer/stone_hammer-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.07589286,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/hammer/stone_hammer-1.ron b/assets/common/items/weapons/hammer/stone_hammer-1.ron
index 1d53f2a772..e588e1a155 100644
--- a/assets/common/items/weapons/hammer/stone_hammer-1.ron
+++ b/assets/common/items/weapons/hammer/stone_hammer-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.07589286,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/hammer/stone_hammer-2.ron b/assets/common/items/weapons/hammer/stone_hammer-2.ron
index 32c959652e..63edb2476e 100644
--- a/assets/common/items/weapons/hammer/stone_hammer-2.ron
+++ b/assets/common/items/weapons/hammer/stone_hammer-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.07589286,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/hammer/stone_hammer-3.ron b/assets/common/items/weapons/hammer/stone_hammer-3.ron
index 693c1d59c2..83e68dba24 100644
--- a/assets/common/items/weapons/hammer/stone_hammer-3.ron
+++ b/assets/common/items/weapons/hammer/stone_hammer-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.07589286,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/hammer/wood_hammer-0.ron b/assets/common/items/weapons/hammer/wood_hammer-0.ron
index d44107412f..e67bf46597 100644
--- a/assets/common/items/weapons/hammer/wood_hammer-0.ron
+++ b/assets/common/items/weapons/hammer/wood_hammer-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.083333336,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/hammer_1h/bloodsteel-0.ron b/assets/common/items/weapons/hammer_1h/bloodsteel-0.ron
index 5ad4da3043..a2658d2381 100644
--- a/assets/common/items/weapons/hammer_1h/bloodsteel-0.ron
+++ b/assets/common/items/weapons/hammer_1h/bloodsteel-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.15511364,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/hammer_1h/bloodsteel-1.ron b/assets/common/items/weapons/hammer_1h/bloodsteel-1.ron
index b920879daf..0e25fc152b 100644
--- a/assets/common/items/weapons/hammer_1h/bloodsteel-1.ron
+++ b/assets/common/items/weapons/hammer_1h/bloodsteel-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.13611111,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/hammer_1h/bronze-0.ron b/assets/common/items/weapons/hammer_1h/bronze-0.ron
index 53f168a9fa..6e61348e53 100644
--- a/assets/common/items/weapons/hammer_1h/bronze-0.ron
+++ b/assets/common/items/weapons/hammer_1h/bronze-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.12222222,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer_1h/bronze-1.ron b/assets/common/items/weapons/hammer_1h/bronze-1.ron
index 3f2bda24c2..25adbeb91f 100644
--- a/assets/common/items/weapons/hammer_1h/bronze-1.ron
+++ b/assets/common/items/weapons/hammer_1h/bronze-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer_1h/cobalt-0.ron b/assets/common/items/weapons/hammer_1h/cobalt-0.ron
index c923b8cb03..edc8f3618a 100644
--- a/assets/common/items/weapons/hammer_1h/cobalt-0.ron
+++ b/assets/common/items/weapons/hammer_1h/cobalt-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1421875,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/hammer_1h/cobalt-1.ron b/assets/common/items/weapons/hammer_1h/cobalt-1.ron
index d6ca1ac213..0b6514204c 100644
--- a/assets/common/items/weapons/hammer_1h/cobalt-1.ron
+++ b/assets/common/items/weapons/hammer_1h/cobalt-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.15277778,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/hammer_1h/iron-0.ron b/assets/common/items/weapons/hammer_1h/iron-0.ron
index ff01d47a33..998b1d11f5 100644
--- a/assets/common/items/weapons/hammer_1h/iron-0.ron
+++ b/assets/common/items/weapons/hammer_1h/iron-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.114285715,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer_1h/iron-1.ron b/assets/common/items/weapons/hammer_1h/iron-1.ron
index 82473f5df6..73d64a1a8d 100644
--- a/assets/common/items/weapons/hammer_1h/iron-1.ron
+++ b/assets/common/items/weapons/hammer_1h/iron-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.1257085,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer_1h/iron-2.ron b/assets/common/items/weapons/hammer_1h/iron-2.ron
index 9e820ff332..b665b5c565 100644
--- a/assets/common/items/weapons/hammer_1h/iron-2.ron
+++ b/assets/common/items/weapons/hammer_1h/iron-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer_1h/orichalcum-0.ron b/assets/common/items/weapons/hammer_1h/orichalcum-0.ron
index da9285dcb0..8cd123e14b 100644
--- a/assets/common/items/weapons/hammer_1h/orichalcum-0.ron
+++ b/assets/common/items/weapons/hammer_1h/orichalcum-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.140625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Epic,
diff --git a/assets/common/items/weapons/hammer_1h/steel-0.ron b/assets/common/items/weapons/hammer_1h/steel-0.ron
index af86793cf9..1bf927d38e 100644
--- a/assets/common/items/weapons/hammer_1h/steel-0.ron
+++ b/assets/common/items/weapons/hammer_1h/steel-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.118421055,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer_1h/steel-1.ron b/assets/common/items/weapons/hammer_1h/steel-1.ron
index 09f390c9a0..4735cf14e5 100644
--- a/assets/common/items/weapons/hammer_1h/steel-1.ron
+++ b/assets/common/items/weapons/hammer_1h/steel-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer_1h/steel-2.ron b/assets/common/items/weapons/hammer_1h/steel-2.ron
index 6ae623be32..7ee8b08dca 100644
--- a/assets/common/items/weapons/hammer_1h/steel-2.ron
+++ b/assets/common/items/weapons/hammer_1h/steel-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/hammer_1h/stone-0.ron b/assets/common/items/weapons/hammer_1h/stone-0.ron
index c2ffb220ff..0560a1c0ff 100644
--- a/assets/common/items/weapons/hammer_1h/stone-0.ron
+++ b/assets/common/items/weapons/hammer_1h/stone-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.14311224,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/hammer_1h/stone-1.ron b/assets/common/items/weapons/hammer_1h/stone-1.ron
index 392539cffe..37b2ae363f 100644
--- a/assets/common/items/weapons/hammer_1h/stone-1.ron
+++ b/assets/common/items/weapons/hammer_1h/stone-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.1,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/hammer_1h/wood-0.ron b/assets/common/items/weapons/hammer_1h/wood-0.ron
index 319ddceebd..62ec077935 100644
--- a/assets/common/items/weapons/hammer_1h/wood-0.ron
+++ b/assets/common/items/weapons/hammer_1h/wood-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/hammer_1h/wood-1.ron b/assets/common/items/weapons/hammer_1h/wood-1.ron
index b198c5c477..7636078356 100644
--- a/assets/common/items/weapons/hammer_1h/wood-1.ron
+++ b/assets/common/items/weapons/hammer_1h/wood-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.09821428,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/sceptre/amethyst.ron b/assets/common/items/weapons/sceptre/amethyst.ron
index 0db8dfdbad..c8cc1d1dc1 100644
--- a/assets/common/items/weapons/sceptre/amethyst.ron
+++ b/assets/common/items/weapons/sceptre/amethyst.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.088125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Epic,
diff --git a/assets/common/items/weapons/sceptre/caduceus.ron b/assets/common/items/weapons/sceptre/caduceus.ron
index a20365691e..54786e45f2 100644
--- a/assets/common/items/weapons/sceptre/caduceus.ron
+++ b/assets/common/items/weapons/sceptre/caduceus.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.078125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Legendary,
diff --git a/assets/common/items/weapons/sceptre/coralline_cane.ron b/assets/common/items/weapons/sceptre/coralline_cane.ron
index c711fc5f64..3c40203ad1 100644
--- a/assets/common/items/weapons/sceptre/coralline_cane.ron
+++ b/assets/common/items/weapons/sceptre/coralline_cane.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.14666668,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sceptre/divine_gohei.ron b/assets/common/items/weapons/sceptre/divine_gohei.ron
index abf672348b..0e48828c94 100644
--- a/assets/common/items/weapons/sceptre/divine_gohei.ron
+++ b/assets/common/items/weapons/sceptre/divine_gohei.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.0809375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/sceptre/druids_arbor.ron b/assets/common/items/weapons/sceptre/druids_arbor.ron
index 47076aee8f..04dbfc5edb 100644
--- a/assets/common/items/weapons/sceptre/druids_arbor.ron
+++ b/assets/common/items/weapons/sceptre/druids_arbor.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.055102043,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sceptre/emerald.ron b/assets/common/items/weapons/sceptre/emerald.ron
index 66da372e91..1d8556f51d 100644
--- a/assets/common/items/weapons/sceptre/emerald.ron
+++ b/assets/common/items/weapons/sceptre/emerald.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.140625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Epic,
diff --git a/assets/common/items/weapons/sceptre/fork0.ron b/assets/common/items/weapons/sceptre/fork0.ron
index 77210e47f1..907804ce39 100644
--- a/assets/common/items/weapons/sceptre/fork0.ron
+++ b/assets/common/items/weapons/sceptre/fork0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.11666667,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sceptre/loops0.ron b/assets/common/items/weapons/sceptre/loops0.ron
index 1aa0f77831..4424285c96 100644
--- a/assets/common/items/weapons/sceptre/loops0.ron
+++ b/assets/common/items/weapons/sceptre/loops0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.3,
             crit_chance: 0.1925,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sceptre/moon0.ron b/assets/common/items/weapons/sceptre/moon0.ron
index 822c703f74..6d93aba415 100644
--- a/assets/common/items/weapons/sceptre/moon0.ron
+++ b/assets/common/items/weapons/sceptre/moon0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.0609375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sceptre/root_evil.ron b/assets/common/items/weapons/sceptre/root_evil.ron
index e58cb1f1d3..9e09fd1a0d 100644
--- a/assets/common/items/weapons/sceptre/root_evil.ron
+++ b/assets/common/items/weapons/sceptre/root_evil.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.078125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Legendary,
diff --git a/assets/common/items/weapons/sceptre/root_green0.ron b/assets/common/items/weapons/sceptre/root_green0.ron
index ec6fb2e384..8585a79831 100644
--- a/assets/common/items/weapons/sceptre/root_green0.ron
+++ b/assets/common/items/weapons/sceptre/root_green0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.055102043,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron b/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron
index 7a87b2cae4..b79d8ea587 100644
--- a/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron
+++ b/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.21153846,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Epic,
diff --git a/assets/common/items/weapons/sceptre/staff_nature.ron b/assets/common/items/weapons/sceptre/staff_nature.ron
index 1497af62eb..c9a05f54f0 100644
--- a/assets/common/items/weapons/sceptre/staff_nature.ron
+++ b/assets/common/items/weapons/sceptre/staff_nature.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.16491365,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sceptre/starter_sceptre.ron b/assets/common/items/weapons/sceptre/starter_sceptre.ron
index d9cf493eed..59333d9ceb 100644
--- a/assets/common/items/weapons/sceptre/starter_sceptre.ron
+++ b/assets/common/items/weapons/sceptre/starter_sceptre.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.09375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/sceptre/totem_green.ron b/assets/common/items/weapons/sceptre/totem_green.ron
index 786449ec58..676b68b2e1 100644
--- a/assets/common/items/weapons/sceptre/totem_green.ron
+++ b/assets/common/items/weapons/sceptre/totem_green.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.16363636,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/shield/shield_1.ron b/assets/common/items/weapons/shield/shield_1.ron
index 1a0f49f9d3..9fa39b2456 100644
--- a/assets/common/items/weapons/shield/shield_1.ron
+++ b/assets/common/items/weapons/shield/shield_1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/staff/aurora.ron b/assets/common/items/weapons/staff/aurora.ron
index bb04c3cc03..8346da5876 100644
--- a/assets/common/items/weapons/staff/aurora.ron
+++ b/assets/common/items/weapons/staff/aurora.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.2625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/staff/bent_fuse.ron b/assets/common/items/weapons/staff/bent_fuse.ron
index 41ceb2aa11..380fa7758f 100644
--- a/assets/common/items/weapons/staff/bent_fuse.ron
+++ b/assets/common/items/weapons/staff/bent_fuse.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.7,
             crit_chance: 0.17045455,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/staff/bone_staff.ron b/assets/common/items/weapons/staff/bone_staff.ron
index 1a0538f271..002914a62c 100644
--- a/assets/common/items/weapons/staff/bone_staff.ron
+++ b/assets/common/items/weapons/staff/bone_staff.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/staff/crimson_eye.ron b/assets/common/items/weapons/staff/crimson_eye.ron
index 966b3da3ea..9c01f8fba2 100644
--- a/assets/common/items/weapons/staff/crimson_eye.ron
+++ b/assets/common/items/weapons/staff/crimson_eye.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/staff/cultist_staff.ron b/assets/common/items/weapons/staff/cultist_staff.ron
index 20c1816a5f..42c2484b3a 100644
--- a/assets/common/items/weapons/staff/cultist_staff.ron
+++ b/assets/common/items/weapons/staff/cultist_staff.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.140625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Epic,
diff --git a/assets/common/items/weapons/staff/dragon_tongue.ron b/assets/common/items/weapons/staff/dragon_tongue.ron
index 34ad4ef9de..3c802dcb60 100644
--- a/assets/common/items/weapons/staff/dragon_tongue.ron
+++ b/assets/common/items/weapons/staff/dragon_tongue.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.2625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Epic,
diff --git a/assets/common/items/weapons/staff/fiery_wishing_rod.ron b/assets/common/items/weapons/staff/fiery_wishing_rod.ron
index 7d58dc8683..8d1282655b 100644
--- a/assets/common/items/weapons/staff/fiery_wishing_rod.ron
+++ b/assets/common/items/weapons/staff/fiery_wishing_rod.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.11111111,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/staff/flamethrower_0.ron b/assets/common/items/weapons/staff/flamethrower_0.ron
index fafc06fb26..b677f8f207 100644
--- a/assets/common/items/weapons/staff/flamethrower_0.ron
+++ b/assets/common/items/weapons/staff/flamethrower_0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.113131315,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/staff/frostwood_torch.ron b/assets/common/items/weapons/staff/frostwood_torch.ron
index 7b0a0ec99c..4d5c92d8a8 100644
--- a/assets/common/items/weapons/staff/frostwood_torch.ron
+++ b/assets/common/items/weapons/staff/frostwood_torch.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.13437909,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/staff/golden_khakkara.ron b/assets/common/items/weapons/staff/golden_khakkara.ron
index a9df3f6fe5..9a85375592 100644
--- a/assets/common/items/weapons/staff/golden_khakkara.ron
+++ b/assets/common/items/weapons/staff/golden_khakkara.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.115,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/staff/heated_arm.ron b/assets/common/items/weapons/staff/heated_arm.ron
index 3a42156753..1e0250c5a7 100644
--- a/assets/common/items/weapons/staff/heated_arm.ron
+++ b/assets/common/items/weapons/staff/heated_arm.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/staff/infused_tower.ron b/assets/common/items/weapons/staff/infused_tower.ron
index 80a086a48b..20b62f9b5d 100644
--- a/assets/common/items/weapons/staff/infused_tower.ron
+++ b/assets/common/items/weapons/staff/infused_tower.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.18715277,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/staff/laevateinn.ron b/assets/common/items/weapons/staff/laevateinn.ron
index c5744b4e59..d5e7641c3a 100644
--- a/assets/common/items/weapons/staff/laevateinn.ron
+++ b/assets/common/items/weapons/staff/laevateinn.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.2002994,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Legendary,
diff --git a/assets/common/items/weapons/staff/lava_rod.ron b/assets/common/items/weapons/staff/lava_rod.ron
index 88fda1f310..0096010a14 100644
--- a/assets/common/items/weapons/staff/lava_rod.ron
+++ b/assets/common/items/weapons/staff/lava_rod.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.114379086,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/staff/ley_seeker.ron b/assets/common/items/weapons/staff/ley_seeker.ron
index a3b0efe1bb..282b1b8cea 100644
--- a/assets/common/items/weapons/staff/ley_seeker.ron
+++ b/assets/common/items/weapons/staff/ley_seeker.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/staff/orc_iron.ron b/assets/common/items/weapons/staff/orc_iron.ron
index 3bdfbd1892..d977ca5840 100644
--- a/assets/common/items/weapons/staff/orc_iron.ron
+++ b/assets/common/items/weapons/staff/orc_iron.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.2638889,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/staff/phoenix.ron b/assets/common/items/weapons/staff/phoenix.ron
index 54da21c2bf..3bc4599f48 100644
--- a/assets/common/items/weapons/staff/phoenix.ron
+++ b/assets/common/items/weapons/staff/phoenix.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.1002994,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Legendary,
diff --git a/assets/common/items/weapons/staff/ruby_rod.ron b/assets/common/items/weapons/staff/ruby_rod.ron
index 030b78cc87..c23d6f8b24 100644
--- a/assets/common/items/weapons/staff/ruby_rod.ron
+++ b/assets/common/items/weapons/staff/ruby_rod.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.2625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/staff/solar.ron b/assets/common/items/weapons/staff/solar.ron
index 222c1c6e5b..c796859e0c 100644
--- a/assets/common/items/weapons/staff/solar.ron
+++ b/assets/common/items/weapons/staff/solar.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/staff/staff_1.ron b/assets/common/items/weapons/staff/staff_1.ron
index a01de03a48..e180874e7b 100644
--- a/assets/common/items/weapons/staff/staff_1.ron
+++ b/assets/common/items/weapons/staff/staff_1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.09375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/staff/starter_staff.ron b/assets/common/items/weapons/staff/starter_staff.ron
index 39ed1fe197..3885153b0e 100644
--- a/assets/common/items/weapons/staff/starter_staff.ron
+++ b/assets/common/items/weapons/staff/starter_staff.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.09375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/sword/bloodsteel-0.ron b/assets/common/items/weapons/sword/bloodsteel-0.ron
index ec30c3c10d..89b26db2b4 100644
--- a/assets/common/items/weapons/sword/bloodsteel-0.ron
+++ b/assets/common/items/weapons/sword/bloodsteel-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.13611111,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sword/bloodsteel-1.ron b/assets/common/items/weapons/sword/bloodsteel-1.ron
index d15b5b55dc..4d8d34af55 100644
--- a/assets/common/items/weapons/sword/bloodsteel-1.ron
+++ b/assets/common/items/weapons/sword/bloodsteel-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.15511364,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sword/bloodsteel-2.ron b/assets/common/items/weapons/sword/bloodsteel-2.ron
index 2a40f0df95..dd26f4a7e3 100644
--- a/assets/common/items/weapons/sword/bloodsteel-2.ron
+++ b/assets/common/items/weapons/sword/bloodsteel-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.11666667,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sword/bronze-0.ron b/assets/common/items/weapons/sword/bronze-0.ron
index 280d764965..08328e8f12 100644
--- a/assets/common/items/weapons/sword/bronze-0.ron
+++ b/assets/common/items/weapons/sword/bronze-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.13564593,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/bronze-1.ron b/assets/common/items/weapons/sword/bronze-1.ron
index 56581dca48..f4ed9efdf0 100644
--- a/assets/common/items/weapons/sword/bronze-1.ron
+++ b/assets/common/items/weapons/sword/bronze-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.16587302,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/bronze-2.ron b/assets/common/items/weapons/sword/bronze-2.ron
index a2d16479e6..32430410e3 100644
--- a/assets/common/items/weapons/sword/bronze-2.ron
+++ b/assets/common/items/weapons/sword/bronze-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/caladbolg.ron b/assets/common/items/weapons/sword/caladbolg.ron
index d0fa1d757f..6ce888d13c 100644
--- a/assets/common/items/weapons/sword/caladbolg.ron
+++ b/assets/common/items/weapons/sword/caladbolg.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.11666667,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Legendary,
diff --git a/assets/common/items/weapons/sword/cobalt-0.ron b/assets/common/items/weapons/sword/cobalt-0.ron
index 9683abf75a..7d73b7922f 100644
--- a/assets/common/items/weapons/sword/cobalt-0.ron
+++ b/assets/common/items/weapons/sword/cobalt-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.15277778,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sword/cobalt-1.ron b/assets/common/items/weapons/sword/cobalt-1.ron
index 9ef91b5718..d57deaecb5 100644
--- a/assets/common/items/weapons/sword/cobalt-1.ron
+++ b/assets/common/items/weapons/sword/cobalt-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.120987654,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sword/cobalt-2.ron b/assets/common/items/weapons/sword/cobalt-2.ron
index 236f2da104..7d8edcc6d8 100644
--- a/assets/common/items/weapons/sword/cobalt-2.ron
+++ b/assets/common/items/weapons/sword/cobalt-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1421875,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sword/cobalt-3.ron b/assets/common/items/weapons/sword/cobalt-3.ron
index 90452953c7..33ad998ad7 100644
--- a/assets/common/items/weapons/sword/cobalt-3.ron
+++ b/assets/common/items/weapons/sword/cobalt-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.13165635,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sword/cultist.ron b/assets/common/items/weapons/sword/cultist.ron
index cb18a42a48..f65a67a96f 100644
--- a/assets/common/items/weapons/sword/cultist.ron
+++ b/assets/common/items/weapons/sword/cultist.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.140625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Epic,
diff --git a/assets/common/items/weapons/sword/frost-0.ron b/assets/common/items/weapons/sword/frost-0.ron
index 6166dce3d2..da28f8917b 100644
--- a/assets/common/items/weapons/sword/frost-0.ron
+++ b/assets/common/items/weapons/sword/frost-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.13897058,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sword/frost-1.ron b/assets/common/items/weapons/sword/frost-1.ron
index 9563f3d286..494d4f8521 100644
--- a/assets/common/items/weapons/sword/frost-1.ron
+++ b/assets/common/items/weapons/sword/frost-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.14182693,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Epic,
diff --git a/assets/common/items/weapons/sword/iron-0.ron b/assets/common/items/weapons/sword/iron-0.ron
index 016c59ac32..367199c0c9 100644
--- a/assets/common/items/weapons/sword/iron-0.ron
+++ b/assets/common/items/weapons/sword/iron-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.95,
             crit_chance: 0.13153847,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/iron-1.ron b/assets/common/items/weapons/sword/iron-1.ron
index 3735639912..4930bcaec4 100644
--- a/assets/common/items/weapons/sword/iron-1.ron
+++ b/assets/common/items/weapons/sword/iron-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.75,
             crit_chance: 0.10862069,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/iron-10.ron b/assets/common/items/weapons/sword/iron-10.ron
index 07e36fec1f..f0f16ee510 100644
--- a/assets/common/items/weapons/sword/iron-10.ron
+++ b/assets/common/items/weapons/sword/iron-10.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.85,
             crit_chance: 0.11996997,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/iron-2.ron b/assets/common/items/weapons/sword/iron-2.ron
index 2fd81b6127..29267c9506 100644
--- a/assets/common/items/weapons/sword/iron-2.ron
+++ b/assets/common/items/weapons/sword/iron-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/iron-3.ron b/assets/common/items/weapons/sword/iron-3.ron
index 74205d1264..8e2be1bbff 100644
--- a/assets/common/items/weapons/sword/iron-3.ron
+++ b/assets/common/items/weapons/sword/iron-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.05,
             crit_chance: 0.14363733,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/iron-4.ron b/assets/common/items/weapons/sword/iron-4.ron
index 7b8c794474..dc9aabd748 100644
--- a/assets/common/items/weapons/sword/iron-4.ron
+++ b/assets/common/items/weapons/sword/iron-4.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.1257085,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/iron-5.ron b/assets/common/items/weapons/sword/iron-5.ron
index 460d7f9f6e..04edb368a3 100644
--- a/assets/common/items/weapons/sword/iron-5.ron
+++ b/assets/common/items/weapons/sword/iron-5.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.15,
             crit_chance: 0.15664452,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/iron-6.ron b/assets/common/items/weapons/sword/iron-6.ron
index 6e9532922d..8c69ba35fd 100644
--- a/assets/common/items/weapons/sword/iron-6.ron
+++ b/assets/common/items/weapons/sword/iron-6.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/iron-7.ron b/assets/common/items/weapons/sword/iron-7.ron
index 01abb06930..f39c713141 100644
--- a/assets/common/items/weapons/sword/iron-7.ron
+++ b/assets/common/items/weapons/sword/iron-7.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.114285715,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/iron-8.ron b/assets/common/items/weapons/sword/iron-8.ron
index 52ed54b367..377978d35f 100644
--- a/assets/common/items/weapons/sword/iron-8.ron
+++ b/assets/common/items/weapons/sword/iron-8.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.16363636,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/iron-9.ron b/assets/common/items/weapons/sword/iron-9.ron
index ece2762196..d5599567f3 100644
--- a/assets/common/items/weapons/sword/iron-9.ron
+++ b/assets/common/items/weapons/sword/iron-9.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.25,
             crit_chance: 0.17105263,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/starter.ron b/assets/common/items/weapons/sword/starter.ron
index e930f12177..16ea1b853d 100644
--- a/assets/common/items/weapons/sword/starter.ron
+++ b/assets/common/items/weapons/sword/starter.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.09375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/sword/steel-0.ron b/assets/common/items/weapons/sword/steel-0.ron
index 77136c035f..2a9b6de564 100644
--- a/assets/common/items/weapons/sword/steel-0.ron
+++ b/assets/common/items/weapons/sword/steel-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.12857144,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/steel-1.ron b/assets/common/items/weapons/sword/steel-1.ron
index 3f2df57192..871d1c6b83 100644
--- a/assets/common/items/weapons/sword/steel-1.ron
+++ b/assets/common/items/weapons/sword/steel-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.95,
             crit_chance: 0.1234748,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/steel-2.ron b/assets/common/items/weapons/sword/steel-2.ron
index 7bbf6f7dc1..86a5b20db0 100644
--- a/assets/common/items/weapons/sword/steel-2.ron
+++ b/assets/common/items/weapons/sword/steel-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.15,
             crit_chance: 0.14441861,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/steel-3.ron b/assets/common/items/weapons/sword/steel-3.ron
index b96928c9d1..598fcb103b 100644
--- a/assets/common/items/weapons/sword/steel-3.ron
+++ b/assets/common/items/weapons/sword/steel-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.118421055,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/steel-4.ron b/assets/common/items/weapons/sword/steel-4.ron
index 6380196285..31c4ebf630 100644
--- a/assets/common/items/weapons/sword/steel-4.ron
+++ b/assets/common/items/weapons/sword/steel-4.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.85,
             crit_chance: 0.113382734,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/steel-5.ron b/assets/common/items/weapons/sword/steel-5.ron
index d61b98a49e..c2b67a8d03 100644
--- a/assets/common/items/weapons/sword/steel-5.ron
+++ b/assets/common/items/weapons/sword/steel-5.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.15,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/steel-6.ron b/assets/common/items/weapons/sword/steel-6.ron
index 4d46e38906..502a933caa 100644
--- a/assets/common/items/weapons/sword/steel-6.ron
+++ b/assets/common/items/weapons/sword/steel-6.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.139011,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/steel-7.ron b/assets/common/items/weapons/sword/steel-7.ron
index 47cf022b7a..31e93de389 100644
--- a/assets/common/items/weapons/sword/steel-7.ron
+++ b/assets/common/items/weapons/sword/steel-7.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.108333334,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/steel-8.ron b/assets/common/items/weapons/sword/steel-8.ron
index 2126b5cad1..c1f30b9db1 100644
--- a/assets/common/items/weapons/sword/steel-8.ron
+++ b/assets/common/items/weapons/sword/steel-8.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.05,
             crit_chance: 0.13373984,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword/stone-0.ron b/assets/common/items/weapons/sword/stone-0.ron
index 5f55ee1a60..ef694064ef 100644
--- a/assets/common/items/weapons/sword/stone-0.ron
+++ b/assets/common/items/weapons/sword/stone-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.055555556,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/sword/stone-1.ron b/assets/common/items/weapons/sword/stone-1.ron
index af507e024d..b68734b409 100644
--- a/assets/common/items/weapons/sword/stone-1.ron
+++ b/assets/common/items/weapons/sword/stone-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.0703125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/sword/stone-2.ron b/assets/common/items/weapons/sword/stone-2.ron
index 584627dca7..7418ca4f05 100644
--- a/assets/common/items/weapons/sword/stone-2.ron
+++ b/assets/common/items/weapons/sword/stone-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/sword/wood-0.ron b/assets/common/items/weapons/sword/wood-0.ron
index 5a79b2cbd0..34090ef8f1 100644
--- a/assets/common/items/weapons/sword/wood-0.ron
+++ b/assets/common/items/weapons/sword/wood-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.083333336,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/sword/wood-1.ron b/assets/common/items/weapons/sword/wood-1.ron
index c5820c36cc..a7b5f63e94 100644
--- a/assets/common/items/weapons/sword/wood-1.ron
+++ b/assets/common/items/weapons/sword/wood-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.0625,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/sword/wood-2.ron b/assets/common/items/weapons/sword/wood-2.ron
index 186dda56a7..c1bc3bbe15 100644
--- a/assets/common/items/weapons/sword/wood-2.ron
+++ b/assets/common/items/weapons/sword/wood-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.09821428,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Low,
diff --git a/assets/common/items/weapons/sword_1h/bloodsteel-0.ron b/assets/common/items/weapons/sword_1h/bloodsteel-0.ron
index f5b0dd7cfa..441aeedaba 100644
--- a/assets/common/items/weapons/sword_1h/bloodsteel-0.ron
+++ b/assets/common/items/weapons/sword_1h/bloodsteel-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.3,
             crit_chance: 0.16712894,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sword_1h/bloodsteel-1.ron b/assets/common/items/weapons/sword_1h/bloodsteel-1.ron
index cd241bc1c5..511f0f0bf8 100644
--- a/assets/common/items/weapons/sword_1h/bloodsteel-1.ron
+++ b/assets/common/items/weapons/sword_1h/bloodsteel-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.75,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sword_1h/bloodsteel-2.ron b/assets/common/items/weapons/sword_1h/bloodsteel-2.ron
index b1af11fbb4..66913cf4c5 100644
--- a/assets/common/items/weapons/sword_1h/bloodsteel-2.ron
+++ b/assets/common/items/weapons/sword_1h/bloodsteel-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1375,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sword_1h/bronze-0.ron b/assets/common/items/weapons/sword_1h/bronze-0.ron
index 7da185cd83..b9d0f38571 100644
--- a/assets/common/items/weapons/sword_1h/bronze-0.ron
+++ b/assets/common/items/weapons/sword_1h/bronze-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.14958791,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/sword_1h/bronze-1.ron b/assets/common/items/weapons/sword_1h/bronze-1.ron
index 0462b3aff3..15e07bb336 100644
--- a/assets/common/items/weapons/sword_1h/bronze-1.ron
+++ b/assets/common/items/weapons/sword_1h/bronze-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.13125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/sword_1h/bronze-2.ron b/assets/common/items/weapons/sword_1h/bronze-2.ron
index 0f7d189e04..3cd081fcfa 100644
--- a/assets/common/items/weapons/sword_1h/bronze-2.ron
+++ b/assets/common/items/weapons/sword_1h/bronze-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.11598297,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/sword_1h/cobalt-0.ron b/assets/common/items/weapons/sword_1h/cobalt-0.ron
index 6be7448d43..05fb327c09 100644
--- a/assets/common/items/weapons/sword_1h/cobalt-0.ron
+++ b/assets/common/items/weapons/sword_1h/cobalt-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.14475524,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword_1h/cobalt-1.ron b/assets/common/items/weapons/sword_1h/cobalt-1.ron
index f0aef5eaa0..509b88c550 100644
--- a/assets/common/items/weapons/sword_1h/cobalt-1.ron
+++ b/assets/common/items/weapons/sword_1h/cobalt-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.105882354,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword_1h/cobalt-2.ron b/assets/common/items/weapons/sword_1h/cobalt-2.ron
index 154584bbdf..7d1dc9b119 100644
--- a/assets/common/items/weapons/sword_1h/cobalt-2.ron
+++ b/assets/common/items/weapons/sword_1h/cobalt-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.13469388,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword_1h/cobalt-3.ron b/assets/common/items/weapons/sword_1h/cobalt-3.ron
index c5d2cf4d71..ebae01d2eb 100644
--- a/assets/common/items/weapons/sword_1h/cobalt-3.ron
+++ b/assets/common/items/weapons/sword_1h/cobalt-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.11546052,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword_1h/iron-0.ron b/assets/common/items/weapons/sword_1h/iron-0.ron
index d094de4946..ec35308149 100644
--- a/assets/common/items/weapons/sword_1h/iron-0.ron
+++ b/assets/common/items/weapons/sword_1h/iron-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/sword_1h/iron-1.ron b/assets/common/items/weapons/sword_1h/iron-1.ron
index 9a5a52fde8..b8afc714ed 100644
--- a/assets/common/items/weapons/sword_1h/iron-1.ron
+++ b/assets/common/items/weapons/sword_1h/iron-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.124404766,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/sword_1h/iron-2.ron b/assets/common/items/weapons/sword_1h/iron-2.ron
index 7a555e63f3..072c7659f7 100644
--- a/assets/common/items/weapons/sword_1h/iron-2.ron
+++ b/assets/common/items/weapons/sword_1h/iron-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.09166667,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/sword_1h/iron-3.ron b/assets/common/items/weapons/sword_1h/iron-3.ron
index 98e0c2c078..981dd08a21 100644
--- a/assets/common/items/weapons/sword_1h/iron-3.ron
+++ b/assets/common/items/weapons/sword_1h/iron-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.13806818,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/sword_1h/iron-4.ron b/assets/common/items/weapons/sword_1h/iron-4.ron
index 4a0b3659d1..ec8ed8a563 100644
--- a/assets/common/items/weapons/sword_1h/iron-4.ron
+++ b/assets/common/items/weapons/sword_1h/iron-4.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.10173445,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/sword_1h/obsidian-0.ron b/assets/common/items/weapons/sword_1h/obsidian-0.ron
index fa3f14c55f..cf77460cf5 100644
--- a/assets/common/items/weapons/sword_1h/obsidian-0.ron
+++ b/assets/common/items/weapons/sword_1h/obsidian-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.8,
             crit_chance: 0.117663816,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: High,
diff --git a/assets/common/items/weapons/sword_1h/orichalcum-0.ron b/assets/common/items/weapons/sword_1h/orichalcum-0.ron
index cf9c2892da..44affe99ac 100644
--- a/assets/common/items/weapons/sword_1h/orichalcum-0.ron
+++ b/assets/common/items/weapons/sword_1h/orichalcum-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.9,
             crit_chance: 0.13110903,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Epic,
diff --git a/assets/common/items/weapons/sword_1h/orichalcum-1.ron b/assets/common/items/weapons/sword_1h/orichalcum-1.ron
index f72086f4c7..cdaf389ccb 100644
--- a/assets/common/items/weapons/sword_1h/orichalcum-1.ron
+++ b/assets/common/items/weapons/sword_1h/orichalcum-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.1,
             crit_chance: 0.14990601,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Epic,
diff --git a/assets/common/items/weapons/sword_1h/steel-0.ron b/assets/common/items/weapons/sword_1h/steel-0.ron
index ef5063f042..8121cd1d57 100644
--- a/assets/common/items/weapons/sword_1h/steel-0.ron
+++ b/assets/common/items/weapons/sword_1h/steel-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.75,
             crit_chance: 0.10714286,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword_1h/steel-1.ron b/assets/common/items/weapons/sword_1h/steel-1.ron
index c111bb15a2..2b48f08880 100644
--- a/assets/common/items/weapons/sword_1h/steel-1.ron
+++ b/assets/common/items/weapons/sword_1h/steel-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 0.95,
             crit_chance: 0.12928994,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword_1h/steel-2.ron b/assets/common/items/weapons/sword_1h/steel-2.ron
index 099ce4ddd5..0cc31c3851 100644
--- a/assets/common/items/weapons/sword_1h/steel-2.ron
+++ b/assets/common/items/weapons/sword_1h/steel-2.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.2,
             crit_chance: 0.15974025,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/sword_1h/steel-3.ron b/assets/common/items/weapons/sword_1h/steel-3.ron
index c9b3e7ebe2..99b856fdf3 100644
--- a/assets/common/items/weapons/sword_1h/steel-3.ron
+++ b/assets/common/items/weapons/sword_1h/steel-3.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.05,
             crit_chance: 0.14085366,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Moderate,
diff --git a/assets/common/items/weapons/tool/broom.ron b/assets/common/items/weapons/tool/broom.ron
index a9b4c6e30d..6e4aeca67b 100644
--- a/assets/common/items/weapons/tool/broom.ron
+++ b/assets/common/items/weapons/tool/broom.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/tool/fishing_rod.ron b/assets/common/items/weapons/tool/fishing_rod.ron
index 37f79d94ea..fa535fdeac 100644
--- a/assets/common/items/weapons/tool/fishing_rod.ron
+++ b/assets/common/items/weapons/tool/fishing_rod.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/tool/hoe.ron b/assets/common/items/weapons/tool/hoe.ron
index a13f118d92..7dab6af3b2 100644
--- a/assets/common/items/weapons/tool/hoe.ron
+++ b/assets/common/items/weapons/tool/hoe.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/tool/pickaxe.ron b/assets/common/items/weapons/tool/pickaxe.ron
index 4c95c4a23b..5cdc1c688a 100644
--- a/assets/common/items/weapons/tool/pickaxe.ron
+++ b/assets/common/items/weapons/tool/pickaxe.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/tool/pitchfork.ron b/assets/common/items/weapons/tool/pitchfork.ron
index 2b13ec561b..be1d1dfce9 100644
--- a/assets/common/items/weapons/tool/pitchfork.ron
+++ b/assets/common/items/weapons/tool/pitchfork.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/tool/rake.ron b/assets/common/items/weapons/tool/rake.ron
index c1f9a250e5..8a1f1f7f5f 100644
--- a/assets/common/items/weapons/tool/rake.ron
+++ b/assets/common/items/weapons/tool/rake.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/tool/shovel-0.ron b/assets/common/items/weapons/tool/shovel-0.ron
index d1c36d841c..c297355f3d 100644
--- a/assets/common/items/weapons/tool/shovel-0.ron
+++ b/assets/common/items/weapons/tool/shovel-0.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/items/weapons/tool/shovel-1.ron b/assets/common/items/weapons/tool/shovel-1.ron
index 2f9c3c3247..a94032db2c 100644
--- a/assets/common/items/weapons/tool/shovel-1.ron
+++ b/assets/common/items/weapons/tool/shovel-1.ron
@@ -11,6 +11,7 @@ ItemDef(
             speed: 1.0,
             crit_chance: 0.1125,
             range: 1.0,
+            energy_efficiency: 1.0,
         )),
     )),
     quality: Common,
diff --git a/assets/common/material_stats_manifest.ron b/assets/common/material_stats_manifest.ron
index 10d046c5a6..10d1d00fbc 100644
--- a/assets/common/material_stats_manifest.ron
+++ b/assets/common/material_stats_manifest.ron
@@ -7,6 +7,7 @@
         speed: 1.75,
         crit_chance: 1.75,
         range: 1.0,
+        energy_efficiency: 1.0,
     ),
     "common.items.mineral.ingot.bronze": (
         equip_time_secs: 1.0,
@@ -15,6 +16,7 @@
         speed: 0.75,
         crit_chance: 0.75,
         range: 1.0,
+        energy_efficiency: 1.0,
     ),
     "common.items.mineral.ingot.cobalt": (
         equip_time_secs: 1.0,
@@ -23,6 +25,7 @@
         speed: 1.5,
         crit_chance: 1.5,
         range: 1.0,
+        energy_efficiency: 1.0,
     ),
     "common.items.mineral.ingot.copper": (
         equip_time_secs: 1.0,
@@ -31,6 +34,7 @@
         speed: 0.4,
         crit_chance: 0.4,
         range: 1.0,
+        energy_efficiency: 1.0,
     ),
     "common.items.mineral.ingot.iron": (
         equip_time_secs: 1.0,
@@ -39,6 +43,7 @@
         speed: 1.0,
         crit_chance: 1.0,
         range: 1.0,
+        energy_efficiency: 1.0,
     ),
     "common.items.mineral.ingot.steel": (
         equip_time_secs: 1.0,
@@ -47,6 +52,7 @@
         speed: 1.25,
         crit_chance: 1.25,
         range: 1.0,
+        energy_efficiency: 1.0,
     ),
     "common.items.mineral.ingot.tin": (
         equip_time_secs: 1.0,
@@ -55,5 +61,6 @@
         speed: 0.25,
         crit_chance: 0.25,
         range: 1.0,
+        energy_efficiency: 1.0,
     ),
 })
diff --git a/common/src/bin/csv_export/main.rs b/common/src/bin/csv_export/main.rs
index 5f24b04b33..8d9996a1ba 100644
--- a/common/src/bin/csv_export/main.rs
+++ b/common/src/bin/csv_export/main.rs
@@ -101,6 +101,7 @@ fn weapon_stats() -> Result<(), Box<dyn Error>> {
         "Speed",
         "Crit Chance",
         "Range",
+        "Energy Efficiency",
         "Equip Time (s)",
         "Description",
     ])?;
@@ -122,6 +123,7 @@ fn weapon_stats() -> Result<(), Box<dyn Error>> {
                 let speed = tool.base_speed(&msm, &[]).to_string();
                 let crit_chance = tool.base_crit_chance(&msm, &[]).to_string();
                 let range = tool.base_range(&msm, &[]).to_string();
+                let energy_efficiency = tool.base_energy_efficiency(&msm, &[]).to_string();
                 let equip_time = tool.equip_time(&msm, &[]).as_secs_f32().to_string();
                 let kind = get_tool_kind(&tool.kind);
                 let hands = get_tool_hands(&tool);
@@ -137,6 +139,7 @@ fn weapon_stats() -> Result<(), Box<dyn Error>> {
                     &speed,
                     &crit_chance,
                     &range,
+                    &energy_efficiency,
                     &equip_time,
                     item.description(),
                 ])?;
diff --git a/common/src/bin/csv_import/main.rs b/common/src/bin/csv_import/main.rs
index 2b158652a5..7f4fcae674 100644
--- a/common/src/bin/csv_import/main.rs
+++ b/common/src/bin/csv_import/main.rs
@@ -341,6 +341,15 @@ fn weapon_stats() -> Result<(), Box<dyn Error>> {
                                 .parse()
                                 .expect(&format!("Not a f32? {:?}", item.item_definition_id()));
 
+                            let energy_efficiency: f32 = record
+                                .get(headers["Energy Efficiency"])
+                                .expect(&format!(
+                                    "Error unwrapping energy efficiency for {:?}",
+                                    item.item_definition_id()
+                                ))
+                                .parse()
+                                .expect(&format!("Not a f32? {:?}", item.item_definition_id()));
+
                             let tool = comp::item::tool::Tool::new(
                                 kind,
                                 hands,
@@ -350,6 +359,7 @@ fn weapon_stats() -> Result<(), Box<dyn Error>> {
                                 speed,
                                 crit_chance,
                                 range,
+                                energy_efficiency,
                             );
 
                             let quality = if let Some(quality_raw) = record.get(headers["Quality"])
diff --git a/common/src/comp/ability.rs b/common/src/comp/ability.rs
index ff4b5c5e51..a6efcf8af5 100644
--- a/common/src/comp/ability.rs
+++ b/common/src/comp/ability.rs
@@ -194,7 +194,6 @@ pub enum CharacterAbility {
         scaled_knockback: f32,
         range: f32,
         max_angle: f32,
-        speed: f32,
         charge_duration: f32,
         swing_duration: f32,
         hit_timing: f32,
@@ -211,7 +210,6 @@ pub enum CharacterAbility {
         scaled_damage: f32,
         initial_knockback: f32,
         scaled_knockback: f32,
-        speed: f32,
         buildup_duration: f32,
         charge_duration: f32,
         recover_duration: f32,
@@ -406,13 +404,17 @@ impl CharacterAbility {
         use CharacterAbility::*;
         match self {
             BasicMelee {
+                ref mut energy_cost,
                 ref mut buildup_duration,
                 ref mut swing_duration,
                 ref mut recover_duration,
                 ref mut base_damage,
                 ref mut base_poise_damage,
+                knockback: _,
                 ref mut range,
-                ..
+                max_angle: _,
+                damage_effect: _,
+                damage_kind: _,
             } => {
                 *buildup_duration /= stats.speed;
                 *swing_duration /= stats.speed;
@@ -420,51 +422,72 @@ impl CharacterAbility {
                 *base_damage *= stats.power;
                 *base_poise_damage *= stats.poise_strength;
                 *range *= stats.range;
+                *energy_cost /= stats.energy_efficiency;
             },
             BasicRanged {
+                ref mut energy_cost,
                 ref mut buildup_duration,
                 ref mut recover_duration,
                 ref mut projectile,
+                projectile_body: _,
+                projectile_light: _,
                 ref mut projectile_speed,
-                ..
+                num_projectiles: _,
+                projectile_spread: _,
             } => {
                 *buildup_duration /= stats.speed;
                 *recover_duration /= stats.speed;
                 *projectile = projectile.modified_projectile(stats.power, 1_f32, 1_f32);
                 *projectile_speed *= stats.range;
+                *energy_cost /= stats.energy_efficiency;
             },
             RepeaterRanged {
+                ref mut energy_cost,
                 ref mut buildup_duration,
                 ref mut shoot_duration,
                 ref mut recover_duration,
+                max_speed: _,
+                half_speed_at: _,
                 ref mut projectile,
+                projectile_body: _,
+                projectile_light: _,
                 ref mut projectile_speed,
-                ..
             } => {
                 *buildup_duration /= stats.speed;
                 *shoot_duration /= stats.speed;
                 *recover_duration /= stats.speed;
                 *projectile = projectile.modified_projectile(stats.power, 1_f32, 1_f32);
                 *projectile_speed *= stats.range;
+                *energy_cost /= stats.energy_efficiency;
             },
             Boost {
                 ref mut movement_duration,
+                only_up: _,
                 speed: ref mut boost_speed,
-                ..
+                max_exit_velocity: _,
             } => {
                 *movement_duration /= stats.speed;
                 *boost_speed *= stats.power;
             },
             DashMelee {
+                ref mut energy_cost,
                 ref mut base_damage,
                 ref mut scaled_damage,
                 ref mut base_poise_damage,
                 ref mut scaled_poise_damage,
+                base_knockback: _,
+                scaled_knockback: _,
+                ref mut range,
+                angle: _,
+                ref mut energy_drain,
+                forward_speed: _,
                 ref mut buildup_duration,
+                charge_duration: _,
                 ref mut swing_duration,
                 ref mut recover_duration,
-                ref mut range,
-                ..
+                charge_through: _,
+                is_interruptible: _,
+                damage_kind: _,
             } => {
                 *base_damage *= stats.power;
                 *scaled_damage *= stats.power;
@@ -474,29 +497,45 @@ impl CharacterAbility {
                 *swing_duration /= stats.speed;
                 *recover_duration /= stats.speed;
                 *range *= stats.range;
+                *energy_cost /= stats.energy_efficiency;
+                *energy_drain /= stats.energy_efficiency;
             },
             BasicBlock {
                 ref mut buildup_duration,
                 ref mut recover_duration,
-                /* Block strength explicitly not modified by power, that will be a separate stat
-                 * Do we want angle to be adjusted by range? */
-                ..
+                // Do we want angle to be adjusted by range?
+                max_angle: _,
+                // Block strength explicitly not modified by power, that will be a separate stat
+                block_strength: _,
+                ref mut energy_cost,
             } => {
                 *buildup_duration /= stats.speed;
                 *recover_duration /= stats.speed;
+                *energy_cost /= stats.energy_efficiency;
             },
             Roll {
+                ref mut energy_cost,
                 ref mut buildup_duration,
                 ref mut movement_duration,
                 ref mut recover_duration,
-                ..
+                roll_strength: _,
+                immune_melee: _,
             } => {
                 *buildup_duration /= stats.speed;
                 *movement_duration /= stats.speed;
                 *recover_duration /= stats.speed;
+                *energy_cost /= stats.energy_efficiency;
             },
             ComboMelee {
-                ref mut stage_data, ..
+                ref mut stage_data,
+                initial_energy_gain: _,
+                max_energy_gain: _,
+                energy_increase: _,
+                speed_increase: _,
+                max_speed_increase: _,
+                scales_from_combo: _,
+                is_interruptible: _,
+                ori_modifier: _,
             } => {
                 *stage_data = stage_data
                     .iter_mut()
@@ -504,13 +543,19 @@ impl CharacterAbility {
                     .collect();
             },
             LeapMelee {
+                ref mut energy_cost,
                 ref mut buildup_duration,
+                movement_duration: _,
                 ref mut swing_duration,
                 ref mut recover_duration,
                 ref mut base_damage,
                 ref mut base_poise_damage,
                 ref mut range,
-                ..
+                max_angle: _,
+                knockback: _,
+                forward_leap_strength: _,
+                vertical_leap_strength: _,
+                damage_kind: _,
             } => {
                 *buildup_duration /= stats.speed;
                 *swing_duration /= stats.speed;
@@ -518,6 +563,7 @@ impl CharacterAbility {
                 *base_damage *= stats.power;
                 *base_poise_damage *= stats.poise_strength;
                 *range *= stats.range;
+                *energy_cost /= stats.energy_efficiency;
             },
             SpinMelee {
                 ref mut buildup_duration,
@@ -525,8 +571,18 @@ impl CharacterAbility {
                 ref mut recover_duration,
                 ref mut base_damage,
                 ref mut base_poise_damage,
+                knockback: _,
                 ref mut range,
-                ..
+                damage_effect: _,
+                ref mut energy_cost,
+                is_infinite: _,
+                movement_behavior: _,
+                is_interruptible: _,
+                forward_speed: _,
+                num_spins: _,
+                specifier: _,
+                target: _,
+                damage_kind: _,
             } => {
                 *buildup_duration /= stats.speed;
                 *swing_duration /= stats.speed;
@@ -534,57 +590,79 @@ impl CharacterAbility {
                 *base_damage *= stats.power;
                 *base_poise_damage *= stats.poise_strength;
                 *range *= stats.range;
+                *energy_cost /= stats.energy_efficiency;
             },
             ChargedMelee {
+                ref mut energy_cost,
+                ref mut energy_drain,
                 ref mut initial_damage,
                 ref mut scaled_damage,
                 ref mut initial_poise_damage,
                 ref mut scaled_poise_damage,
-                speed: ref mut ability_speed,
-                ref mut charge_duration,
-                ref mut swing_duration,
-                ref mut recover_duration,
+                initial_knockback: _,
+                scaled_knockback: _,
                 ref mut range,
-                ..
+                max_angle: _,
+                charge_duration: _,
+                ref mut swing_duration,
+                hit_timing: _,
+                ref mut recover_duration,
+                specifier: _,
+                damage_kind: _,
             } => {
                 *initial_damage *= stats.power;
                 *scaled_damage *= stats.power;
                 *initial_poise_damage *= stats.poise_strength;
                 *scaled_poise_damage *= stats.poise_strength;
-                *ability_speed *= stats.speed;
-                *charge_duration /= stats.speed;
                 *swing_duration /= stats.speed;
                 *recover_duration /= stats.speed;
                 *range *= stats.range;
+                *energy_cost /= stats.energy_efficiency;
+                *energy_drain /= stats.energy_efficiency;
             },
             ChargedRanged {
+                ref mut energy_cost,
+                ref mut energy_drain,
+                initial_regen: _,
+                scaled_regen: _,
                 ref mut initial_damage,
                 ref mut scaled_damage,
-                speed: ref mut ability_speed,
+                initial_knockback: _,
+                scaled_knockback: _,
                 ref mut buildup_duration,
-                ref mut charge_duration,
+                charge_duration: _,
                 ref mut recover_duration,
+                projectile_body: _,
+                projectile_light: _,
                 ref mut initial_projectile_speed,
                 ref mut scaled_projectile_speed,
-                ..
+                move_speed: _,
             } => {
                 *initial_damage *= stats.power;
                 *scaled_damage *= stats.power;
-                *ability_speed *= stats.speed;
                 *buildup_duration /= stats.speed;
-                *charge_duration /= stats.speed;
                 *recover_duration /= stats.speed;
                 *initial_projectile_speed *= stats.range;
                 *scaled_projectile_speed *= stats.range;
+                *energy_cost /= stats.energy_efficiency;
+                *energy_drain /= stats.energy_efficiency;
             },
             Shockwave {
+                ref mut energy_cost,
                 ref mut buildup_duration,
                 ref mut swing_duration,
                 ref mut recover_duration,
                 ref mut damage,
                 ref mut poise_damage,
+                knockback: _,
+                shockwave_angle: _,
+                shockwave_vertical_angle: _,
+                shockwave_speed: _,
                 ref mut shockwave_duration,
-                ..
+                requires_ground: _,
+                move_efficiency: _,
+                damage_kind: _,
+                specifier: _,
             } => {
                 *buildup_duration /= stats.speed;
                 *swing_duration /= stats.speed;
@@ -592,15 +670,22 @@ impl CharacterAbility {
                 *damage *= stats.power;
                 *poise_damage *= stats.poise_strength;
                 *shockwave_duration *= stats.range;
+                *energy_cost /= stats.energy_efficiency;
             },
             BasicBeam {
                 ref mut buildup_duration,
                 ref mut recover_duration,
+                ref mut beam_duration,
                 ref mut damage,
                 ref mut tick_rate,
                 ref mut range,
-                ref mut beam_duration,
-                ..
+                max_angle: _,
+                damage_effect: _,
+                energy_regen: _,
+                ref mut energy_drain,
+                orientation_behavior: _,
+                ori_rate: _,
+                specifier: _,
             } => {
                 *buildup_duration /= stats.speed;
                 *recover_duration /= stats.speed;
@@ -609,40 +694,55 @@ impl CharacterAbility {
                 *range *= stats.range;
                 // Duration modified to keep velocity constant
                 *beam_duration *= stats.range;
+                *energy_drain /= stats.energy_efficiency;
             },
             BasicAura {
                 ref mut buildup_duration,
                 ref mut cast_duration,
                 ref mut recover_duration,
-                ref mut aura,
+                targets: _,
+                aura:
+                    aura::AuraBuffConstructor {
+                        kind: _,
+                        ref mut strength,
+                        duration: _,
+                        category: _,
+                    },
+                aura_duration: _,
                 ref mut range,
-                ..
+                ref mut energy_cost,
             } => {
                 *buildup_duration /= stats.speed;
                 *cast_duration /= stats.speed;
                 *recover_duration /= stats.speed;
-                aura.strength *= stats.power;
+                *strength *= stats.power;
                 *range *= stats.range;
+                *energy_cost /= stats.energy_efficiency;
             },
             HealingBeam {
                 ref mut buildup_duration,
                 ref mut recover_duration,
+                ref mut beam_duration,
                 ref mut heal,
                 ref mut tick_rate,
                 ref mut range,
-                ..
+                max_angle: _,
+                ref mut energy_cost,
+                specifier: _,
             } => {
                 *buildup_duration /= stats.speed;
                 *recover_duration /= stats.speed;
                 *heal *= stats.power;
                 *tick_rate *= stats.speed;
                 *range *= stats.range;
+                // Duration modified to keep velocity constant
+                *beam_duration *= stats.range;
+                *energy_cost /= stats.energy_efficiency;
             },
             Blink {
                 ref mut buildup_duration,
                 ref mut recover_duration,
                 ref mut max_range,
-                ..
             } => {
                 *buildup_duration /= stats.speed;
                 *recover_duration /= stats.speed;
@@ -652,41 +752,47 @@ impl CharacterAbility {
                 ref mut buildup_duration,
                 ref mut cast_duration,
                 ref mut recover_duration,
-                ref mut summon_distance,
-                ..
+                summon_amount: _,
+                summon_distance: (ref mut inner_dist, ref mut outer_dist),
+                summon_info: _,
+                duration: _,
             } => {
                 // TODO: Figure out how/if power should affect this
                 *buildup_duration /= stats.speed;
                 *cast_duration /= stats.speed;
                 *recover_duration /= stats.speed;
-                summon_distance.0 *= stats.range;
-                summon_distance.1 *= stats.range;
+                *inner_dist *= stats.range;
+                *outer_dist *= stats.range;
             },
             SelfBuff {
-                ref mut buff_strength,
                 ref mut buildup_duration,
                 ref mut cast_duration,
                 ref mut recover_duration,
-                ..
+                buff_kind: _,
+                ref mut buff_strength,
+                buff_duration: _,
+                ref mut energy_cost,
             } => {
                 *buff_strength *= stats.power;
                 *buildup_duration /= stats.speed;
                 *cast_duration /= stats.speed;
                 *recover_duration /= stats.speed;
+                *energy_cost /= stats.energy_efficiency;
             },
             SpriteSummon {
                 ref mut buildup_duration,
                 ref mut cast_duration,
                 ref mut recover_duration,
-                ref mut summon_distance,
-                ..
+                sprite: _,
+                summon_distance: (ref mut inner_dist, ref mut outer_dist),
+                sparseness: _,
             } => {
                 // TODO: Figure out how/if power should affect this
                 *buildup_duration /= stats.speed;
                 *cast_duration /= stats.speed;
                 *recover_duration /= stats.speed;
-                summon_distance.0 *= stats.range;
-                summon_distance.1 *= stats.range;
+                *inner_dist *= stats.range;
+                *outer_dist *= stats.range;
             },
         }
         self
@@ -963,7 +1069,7 @@ impl CharacterAbility {
                         ref mut scaled_damage,
                         ref mut scaled_knockback,
                         ref mut energy_drain,
-                        ref mut speed,
+                        ref mut charge_duration,
                         ..
                     } => {
                         if let Ok(Some(level)) = skillset.skill_level(Hammer(CDamage)) {
@@ -976,7 +1082,7 @@ impl CharacterAbility {
                             *energy_drain *= 0.75_f32.powi(level.into());
                         }
                         if let Ok(Some(level)) = skillset.skill_level(Hammer(CSpeed)) {
-                            *speed *= 1.25_f32.powi(level.into());
+                            *charge_duration /= 1.25_f32.powi(level.into());
                         }
                     },
                     LeapMelee {
@@ -1018,10 +1124,10 @@ impl CharacterAbility {
                         ref mut scaled_regen,
                         ref mut initial_knockback,
                         ref mut scaled_knockback,
-                        ref mut speed,
                         ref mut move_speed,
                         ref mut initial_projectile_speed,
                         ref mut scaled_projectile_speed,
+                        ref mut charge_duration,
                         ..
                     } => {
                         if let Ok(Some(level)) = skillset.skill_level(Bow(ProjSpeed)) {
@@ -1045,7 +1151,7 @@ impl CharacterAbility {
                             *scaled_knockback *= knockback_scaling;
                         }
                         if let Ok(Some(level)) = skillset.skill_level(Bow(CSpeed)) {
-                            *speed *= 1.1_f32.powi(level.into());
+                            *charge_duration /= 1.1_f32.powi(level.into());
                         }
                         if let Ok(Some(level)) = skillset.skill_level(Bow(CMove)) {
                             *move_speed *= 1.1_f32.powi(level.into());
@@ -1560,7 +1666,6 @@ impl From<(&CharacterAbility, AbilityInfo)> for CharacterState {
                 scaled_poise_damage,
                 initial_knockback,
                 scaled_knockback,
-                speed,
                 charge_duration,
                 swing_duration,
                 hit_timing,
@@ -1579,7 +1684,6 @@ impl From<(&CharacterAbility, AbilityInfo)> for CharacterState {
                     scaled_poise_damage: *scaled_poise_damage,
                     initial_knockback: *initial_knockback,
                     scaled_knockback: *scaled_knockback,
-                    speed: *speed,
                     range: *range,
                     max_angle: *max_angle,
                     charge_duration: Duration::from_secs_f32(*charge_duration),
@@ -1604,7 +1708,6 @@ impl From<(&CharacterAbility, AbilityInfo)> for CharacterState {
                 scaled_damage,
                 initial_knockback,
                 scaled_knockback,
-                speed,
                 buildup_duration,
                 charge_duration,
                 recover_duration,
@@ -1623,7 +1726,6 @@ impl From<(&CharacterAbility, AbilityInfo)> for CharacterState {
                     scaled_regen: *scaled_regen,
                     initial_damage: *initial_damage,
                     scaled_damage: *scaled_damage,
-                    speed: *speed,
                     initial_knockback: *initial_knockback,
                     scaled_knockback: *scaled_knockback,
                     projectile_body: *projectile_body,
diff --git a/common/src/comp/inventory/item/modular.rs b/common/src/comp/inventory/item/modular.rs
index 1c81553ebe..c7d7d9b881 100644
--- a/common/src/comp/inventory/item/modular.rs
+++ b/common/src/comp/inventory/item/modular.rs
@@ -176,6 +176,7 @@ fn make_component_def(
                 0.0
             },
             range: 0.5,
+            energy_efficiency: 0.0,
         },
     };
     let kind = ItemKind::ModularComponent(mc);
diff --git a/common/src/comp/inventory/item/tool.rs b/common/src/comp/inventory/item/tool.rs
index 10aaae97ae..3d383c01c3 100644
--- a/common/src/comp/inventory/item/tool.rs
+++ b/common/src/comp/inventory/item/tool.rs
@@ -81,6 +81,7 @@ pub struct Stats {
     pub speed: f32,
     pub crit_chance: f32,
     pub range: f32,
+    pub energy_efficiency: f32,
 }
 
 impl Stats {
@@ -92,6 +93,7 @@ impl Stats {
             speed: 0.0,
             crit_chance: 0.0,
             range: 0.0,
+            energy_efficiency: 0.0,
         }
     }
 
@@ -154,6 +156,7 @@ impl Sub<Stats> for Stats {
             speed: self.speed - other.speed,
             crit_chance: self.crit_chance - other.crit_chance,
             range: self.range - other.range,
+            energy_efficiency: self.range - other.energy_efficiency,
         }
     }
 }
@@ -232,6 +235,7 @@ impl From<(&MaterialStatManifest, &[Item], &Tool)> for Stats {
             speed: raw_stats.speed * speed,
             crit_chance: raw_stats.crit_chance,
             range: raw_stats.range,
+            energy_efficiency: raw_stats.energy_efficiency,
         }
     }
 }
@@ -257,6 +261,7 @@ impl Tool {
         speed: f32,
         crit_chance: f32,
         range: f32,
+        energy_efficiency: f32,
     ) -> Self {
         Self {
             kind,
@@ -268,6 +273,7 @@ impl Tool {
                 speed,
                 crit_chance,
                 range,
+                energy_efficiency,
             }),
         }
     }
@@ -283,6 +289,7 @@ impl Tool {
                 speed: 1.00,
                 crit_chance: 0.1,
                 range: 1.0,
+                energy_efficiency: 1.0,
             }),
         }
     }
@@ -311,6 +318,10 @@ impl Tool {
         self.stats.resolve_stats(msm, components).range
     }
 
+    pub fn base_energy_efficiency(&self, msm: &MaterialStatManifest, components: &[Item]) -> f32 {
+        self.stats.resolve_stats(msm, components).energy_efficiency
+    }
+
     pub fn equip_time(&self, msm: &MaterialStatManifest, components: &[Item]) -> Duration {
         Duration::from_secs_f32(self.stats.resolve_stats(msm, components).equip_time_secs)
     }
diff --git a/common/src/states/charged_melee.rs b/common/src/states/charged_melee.rs
index 27d5c11896..be4e083dd7 100644
--- a/common/src/states/charged_melee.rs
+++ b/common/src/states/charged_melee.rs
@@ -35,8 +35,6 @@ pub struct StaticData {
     pub range: f32,
     /// Max angle (45.0 will give you a 90.0 angle window)
     pub max_angle: f32,
-    /// Speed stat of the weapon
-    pub speed: f32,
     /// How long it takes to charge the weapon to max damage and knockback
     pub charge_duration: Duration,
     /// How long the weapon is swinging for
@@ -88,20 +86,14 @@ impl CharacterBehavior for Data {
 
                     // Charge the attack
                     update.character = CharacterState::ChargedMelee(Data {
-                        timer: tick_attack_or_default(
-                            data,
-                            self.timer,
-                            Some(self.static_data.speed),
-                        ),
+                        timer: tick_attack_or_default(data, self.timer, None),
                         charge_amount: charge,
                         ..*self
                     });
 
                     // Consumes energy if there's enough left and RMB is held down
                     update.energy.change_by(EnergyChange {
-                        amount: -(self.static_data.energy_drain as f32
-                            * data.dt.0
-                            * self.static_data.speed) as i32,
+                        amount: -(self.static_data.energy_drain as f32 * data.dt.0) as i32,
                         source: EnergySource::Ability,
                     });
                 } else if input_is_pressed(data, self.static_data.ability_info.input)
@@ -109,20 +101,13 @@ impl CharacterBehavior for Data {
                 {
                     // Maintains charge
                     update.character = CharacterState::ChargedMelee(Data {
-                        timer: tick_attack_or_default(
-                            data,
-                            self.timer,
-                            Some(self.static_data.speed),
-                        ),
+                        timer: tick_attack_or_default(data, self.timer, None),
                         ..*self
                     });
 
                     // Consumes energy if there's enough left and RMB is held down
                     update.energy.change_by(EnergyChange {
-                        amount: -(self.static_data.energy_drain as f32
-                            * data.dt.0
-                            * self.static_data.speed
-                            / 5.0) as i32,
+                        amount: -(self.static_data.energy_drain as f32 * data.dt.0 / 5.0) as i32,
                         source: EnergySource::Ability,
                     });
                 } else {
diff --git a/common/src/states/charged_ranged.rs b/common/src/states/charged_ranged.rs
index 9c34121190..42098239ed 100644
--- a/common/src/states/charged_ranged.rs
+++ b/common/src/states/charged_ranged.rs
@@ -35,8 +35,6 @@ pub struct StaticData {
     pub initial_knockback: f32,
     /// How much the knockback scales as it is charged
     pub scaled_knockback: f32,
-    /// Speed stat of the weapon
-    pub speed: f32,
     /// Projectile information
     pub projectile_body: Body,
     pub projectile_light: Option<LightEmitter>,
@@ -135,38 +133,25 @@ impl CharacterBehavior for Data {
                 {
                     // Charges
                     update.character = CharacterState::ChargedRanged(Data {
-                        timer: tick_attack_or_default(
-                            data,
-                            self.timer,
-                            Some(self.static_data.speed),
-                        ),
+                        timer: tick_attack_or_default(data, self.timer, None),
                         ..*self
                     });
 
                     // Consumes energy if there's enough left and input is held down
                     update.energy.change_by(EnergyChange {
-                        amount: -(self.static_data.energy_drain as f32
-                            * data.dt.0
-                            * self.static_data.speed) as i32,
+                        amount: -(self.static_data.energy_drain as f32 * data.dt.0) as i32,
                         source: EnergySource::Ability,
                     });
                 } else if input_is_pressed(data, self.static_data.ability_info.input) {
                     // Holds charge
                     update.character = CharacterState::ChargedRanged(Data {
-                        timer: tick_attack_or_default(
-                            data,
-                            self.timer,
-                            Some(self.static_data.speed),
-                        ),
+                        timer: tick_attack_or_default(data, self.timer, None),
                         ..*self
                     });
 
                     // Consumes energy if there's enough left and RMB is held down
                     update.energy.change_by(EnergyChange {
-                        amount: -(self.static_data.energy_drain as f32
-                            * data.dt.0
-                            * self.static_data.speed
-                            / 5.0) as i32,
+                        amount: -(self.static_data.energy_drain as f32 * data.dt.0 / 5.0) as i32,
                         source: EnergySource::Ability,
                     });
                 }
diff --git a/common/src/states/combo_melee.rs b/common/src/states/combo_melee.rs
index d4fd87a048..abc7cf19ae 100644
--- a/common/src/states/combo_melee.rs
+++ b/common/src/states/combo_melee.rs
@@ -66,16 +66,23 @@ impl Stage<f32> {
         }
     }
 
-    pub fn adjusted_by_stats(mut self, stats: Stats) -> Self {
-        self.base_damage *= stats.power;
-        self.damage_increase *= stats.power;
-        self.base_poise_damage *= stats.poise_strength;
-        self.poise_damage_increase *= stats.poise_strength;
-        self.base_buildup_duration /= stats.speed;
-        self.base_swing_duration /= stats.speed;
-        self.base_recover_duration /= stats.speed;
-        self.range *= stats.range;
-        self
+    pub fn adjusted_by_stats(self, stats: Stats) -> Self {
+        Self {
+            stage: self.stage,
+            base_damage: self.base_damage * stats.power,
+            damage_increase: self.damage_increase * stats.power,
+            base_poise_damage: self.base_poise_damage * stats.poise_strength,
+            poise_damage_increase: self.poise_damage_increase * stats.poise_strength,
+            knockback: self.knockback,
+            range: self.range * stats.range,
+            angle: self.angle,
+            base_buildup_duration: self.base_buildup_duration / stats.speed,
+            base_swing_duration: self.base_swing_duration / stats.speed,
+            hit_timing: self.hit_timing,
+            base_recover_duration: self.base_recover_duration / stats.speed,
+            forward_movement: self.forward_movement,
+            damage_kind: self.damage_kind,
+        }
     }
 
     pub fn modify_strike(mut self, knockback_mult: f32) -> Self {