#attack speed
function main:settings/stats/attack_speed/calculation {"max":7}
scoreboard players set @s weapon_combo_reset 30
scoreboard players operation @s attack_speed = @s attack_speed_max
execute at @s run playsound atmos:cannon_2 master @a ~ ~ ~ 10 1.3

scoreboard players set @s recoil 2
function main:mechanics/damage/enemy/calculation {"id":id1,"character":engineer,"type":"weapon","damage":40,"stat":"attack","local_bonus":0,"indicator":12}

function main:mechanics/projectile/projectile {"id":"id1","character":engineer,"type":weapon,"distance":80,"texture":"minecraft:iron_block","size":"0.2f,0.3f,0.2f","translation":"-0.1f,-0.3f,-0.1f","x":"~","y":"~","angle_1":"~","angle_2":"~","pierce":2,"tags":"","position":""}

execute at @s anchored eyes run function main:mechanics/particles/start {"start":"^ ^ ^","id":id1,"character":engineer,"type":weapon,"transformation":",transformation:[-2.0000f,0.0000f,-0.0000f,0.0000f,0.0000f,2.0000f,0.0000f,1.0000f,0.0000f,0.0000f,-0.1000f,0.9375f,0.0000f,0.0000f,0.0000f,1.0000f]","frames":6}
execute at @s positioned ^ ^ ^1 run function main:particles/circle_small {particle:smoke}

function main:mechanics/effects/screenshake/start {duration:3,strength:200}