shoot() is called every N frames, determined by Player.shootInterval
player.shootInterval = player.shootNormalData.interval
by default, this is every 23 frames
https://evil-invaders-default-rtdb.firebaseio.com/game/playerData/shootNormal.json
{
"damage": 1,
"hp": 1,
"interval": 23,
"name": "normal",
"texture": [
"hadoken0.png",
"hadoken1.png"
]
}
if player gets rapid-fire powerup, player.shootSpeed = 15, which lowers interval by 15
(shootNormal for example, would fire every 8 frames)
player.bulletFrameCnt % (player.shootInterval - player.shootSpeed) == 0 &&
player.shoot()