# Initializes arrows, (sets owners, damage, etc.)
execute as @e[type=arrow,tag=!initialized] at @s unless dimension ss:zombies run function ss:main/initialize_arrow
execute as @e[type=arrow,tag=!initialized] at @s if dimension ss:zombies run function ss:zomb/initialize_arrow

# Runs right click
execute as @a[scores={rightClick=1..}] at @s run function ss:right_click

# Runs game if game is running
execute if score run ssData matches 1 run function ss:main/run
execute if score run zombData matches 1 run function ss:zomb/run
scoreboard players set @a tempDeaths 0


# Runs interaction entities
execute as @e[type=interaction] on attacker at @s run function ss:interact
execute as @e[type=interaction] on target at @s run function ss:interact

# Runs balloon pop as player who pops a balloon
execute as @a[scores={killedSniffer=1..}] run function ss:main/balloon/shoot

# Runs lobby
function ss:lobby/run

# Normal set player inventory
execute as @a[tag=!admin,scores={location=0..2},nbt=!{Inventory:[{id:"minecraft:potato"},{id:"minecraft:wooden_sword"},{id:"minecraft:bow"},{id:"minecraft:stick",Slot:103b}]}] unless score @s kit matches 5 run function ss:inv/main/set
execute as @a[tag=!admin,scores={location=0..2},nbt=!{Inventory:[{id:"minecraft:potato"},{id:"minecraft:crossbow"},{id:"minecraft:bow"},{id:"minecraft:stick",Slot:103b}]}] if score @s kit matches 5 run function ss:inv/main/set_2
# Zombies player inventory
execute as @a[tag=!admin,scores={location=3},nbt=!{Inventory:[{id:"minecraft:potato"},{id:"minecraft:wooden_sword"},{id:"minecraft:bow"},{id:"minecraft:stick",Slot:103b}]}] run function ss:inv/zomb/set
# Arrow set
execute as @a[tag=!admin,scores={location=0..2},nbt=!{Inventory:[{id:"minecraft:arrow",count:64}]}] run function ss:inv/main/set_arrow

# Detects coin pickups
execute as @a[nbt={Inventory:[{id:"minecraft:carrot"}]}] at @s run function ss:inv/detect_coin

# Runs balloon drops
execute as @e[tag=present_stand] at @s run function ss:main/balloon/run

# As all players awaiting an npc response, run functions
execute as @a[scores={response=1..}] at @s run function ss:response
execute as @a[scores={leave=1..}] at @s run function ss:leave


# TEMPORARY - REMOVE BEFORE PROD
#execute as @e[type=marker,tag=powerup_spawn] at @s run particle minecraft:firework ~ ~ ~ 0 1 0 0.5 0 force

# Kills all experience
kill @e[type=experience_orb]