I managed to fix this using a boolean flag similar to how you restricted the firing speed in the previous tutorial. a "do after 0.05 seconds" block to reset after decrementing the HP was sufficient.
Thanks, yes, I have had that problem in the past (took me a while to fix in Holiday Block Breaker), and that is indeed the fix. I rated up your comment so hopefully others will see it too (unfortunately, my base file for tutorial 4 was damaged so I cannot update it directly).
Hi Abigayl, I want to start off saying I love your tutorials, they're very helpful.
I have a problem with the way you've coded the HP attribute. I have followed your coding exactly, but bullets subtract 1 or 2 health from enemy targets, and very rarely even 3 HP per bullet. ( and I noticed this problem in your demo as well, its just masked by the large number of bullets, and thus hard to notice if one bullet is doing 1 or 2 damage to a 3 HP target.)
Is there any way to code the HP so that this does not occur? any insight into why this is happening at all?
Recap: I set enemy HP to 10. I code so that if HP > 1 to decrement HP by 1. else kill.
I print the HP value rather than a picture bar. about 40% of the time, One bullet takes enemy from 10 HP to 8 HP. Rest of the time, HP from 10 to 9. Halp.
Aye, you are correct and yes the sheer number makes it so I missed that error. The simplest way to correct it is to add an extra code in the "EnemyMotion" behavior. Just before the "if HP > 1", drag in a kill code (from Actor -> Properties) and change it to say "kill last collided actor". That should work.
Thanks, yes, I have had that problem in the past (took me a while to fix in Holiday Block Breaker), and that is indeed the fix. I rated up your comment so hopefully others will see it too (unfortunately, my base file for tutorial 4 was damaged so I cannot update it directly).