Our Mechanics Designer, Ayse, programmed and developed a Health Potion item that would randomly populate different rooms in the dungeon. However, during testing I noticed bugs with this item that needed to be fixed.

The way the health potion worked initially is that it would check for any collisions, if so, it would increase the player’s currentHealth by 2HP, unless the player was at max HP, and then the health potion gameobject would destroy itself.
Bug Fixing

However, the first issue was that the health potion always increased the players health by exactly 2HP if it were used. Therefore, if the player was only missing 1HP and used the health potion, their health would then increase to be higher then the player’s maxHealth.

To fix this, before the health potion item increased the player’s currentHealth by 2HP, it checks to see if the player was only missing 1HP from its maxHealth (which would be 4HP as the player’s maxHealth was always 5). If this was the case, the health potion would only increase the player’s currentHealth by 1 to get it to max HP. Otherwise, the potion would work as normal.
Bug Fixing – Pt 2

However, there was also another bug, as in the health potions OnTriggerEnter2D() method, it wasn’t checking if the other collider was the player specifically. Therefore, it would heal the player as long as anything was colliding with the health potion, even enemies.
To fix this, I added an if statement to check whether it was the player specifically that was colliding with the health potion before the rest of the code was executed.
