In Scratch I have a variable that is supposed to change by one every time a broadcast is recieved, however in testing it changes by three per broadcast and I can't find why. The button used to send the broadcast has 3 clones of it but each have a different function and sending the broadcast depends on the "button selected" variable being set to "fight" so don't think that would effect the outcome.
I looked through all my code and it's not duplicated, theres nothing else changing the variable, and the broadcast is only being sent once at a time. It even works perfectly fine if I click the blocks to run them myself, but when it does it as the function in-game it changes it by three and I can't understand why.
The code for changing the variable is:
When I recieve "attack"
Change "attacktimes" by 1
The code for sending the broadcast is this:
When key "z" pressed
if "enemy turn" = "0"
if "button type" = "fight"
broadcast "fight"
Does anybody know a solution?
Also here is the shared project, it is incomplete though.
My project
Steps for recreating the bug are listed in the instructions