execute if score .archer_mark_duration archer matches 1.. at @e[type=#main:enemies,tag=enemy,tag=archer_mark] run particle cherry_leaves ~ ~1.2 ~ 0.3 0.2 0.3 0 1 force

execute if score .archer_mark_duration archer matches 1 as @e[type=#main:enemies,tag=enemy,tag=archer_mark] run tag @s remove archer_mark

execute if score .archer_mark_duration archer matches 1.. run scoreboard players remove .archer_mark_duration archer 1

execute if score .extra_cooldown archer matches 1.. run scoreboard players remove .extra_cooldown archer 1

execute if score .storm_cooldown_s archer matches 1.. if score .storm_cooldown_t archer matches 20.. run scoreboard players remove .storm_cooldown_s archer 1
execute if score .storm_cooldown_t archer matches 20.. run scoreboard players set .storm_cooldown_t archer 0
execute if score .storm_cooldown_s archer matches 1.. if score .storm_cooldown_t archer matches ..20 run scoreboard players add .storm_cooldown_t archer 1
execute if score .storm_cooldown_s archer matches 1 if score .storm_cooldown_t archer matches 20 run playsound entity.experience_orb.pickup master @a ~ ~ ~ 5 1.2 1

execute if score .gale_cooldown_s archer matches 1.. if score .gale_cooldown_t archer matches 20.. run scoreboard players remove .gale_cooldown_s archer 1
execute if score .gale_cooldown_t archer matches 20.. run scoreboard players set .gale_cooldown_t archer 0
execute if score .gale_cooldown_s archer matches 1.. if score .gale_cooldown_t archer matches ..20 run scoreboard players add .gale_cooldown_t archer 1
execute if score .gale_cooldown_s archer matches 1 if score .gale_cooldown_t archer matches 20 run playsound entity.experience_orb.pickup master @a ~ ~ ~ 5 1.2 1

execute if score .archer_storm_duration archer matches 1.. run scoreboard players remove .archer_storm_duration archer 1
execute if score .archer_storm_duration archer matches 1.. at @e[type=marker,tag=archer_q] positioned ~-4 ~-2 ~-4 as @e[type=#main:enemies,tag=enemy,dx=7,dz=7,dy=7] at @s if block ~ ~ ~ #main:air run function main:characters/archer/q/id1/storm/move {"speed":0.5}

execute if score .archer_storm_duration archer matches 1 run function main:characters/archer/q/id1/storm/end

execute as @e[type=marker,tag=archer_q] at @s run function main:characters/archer/q/id1/storm/particles

# function main:particles/system/emitter_tick {"id":"400","particle":"004","particle_id":"400","life":22,"random_x":"-30..30","random_y":"-20..20","random_z":"-30..30","interpolation_duration":20,"from_translation":"0f,0f,0f","from_scale":"1f,1f,1f","from_rotation":"0f,0f,0f","to_translation":"0f,0f,0f","to_scale":"0f,0f,0f","to_rotation":"0f,0f,0f","billboard":"center","cooldown":"1"}
# function main:particles/system/emitter_tick {"id":"400","particle":"001","particle_id":"400","life":22,"random_x":"-30..30","random_y":"-20..20","random_z":"-30..30","interpolation_duration":20,"from_translation":"0f,0f,0f","from_scale":"1f,1f,1f","from_rotation":"0f,0f,0f","to_translation":"0f,0f,0f","to_scale":"0f,0f,0f","to_rotation":"0f,0f,0f","billboard":"center","cooldown":"1"}