Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XP system and bar #107

Merged
merged 24 commits into from
Jun 10, 2024
Merged

XP system and bar #107

merged 24 commits into from
Jun 10, 2024

Conversation

Turtyo
Copy link
Collaborator

@Turtyo Turtyo commented Jun 5, 2024

Description

This PR adds the XP system in the game, allowing the player to gain buffs at the start of each combat depending on the amount of XP they have. They gain this XP by soothing enemies.

Related issue(s)

Closes #55

List of changes

  • Add a manager to check player XP
  • Add a list of buffs to be applied to the player at the start of combat
  • Add a bar to show current XP and XP to next level
  • Fix an issue with buff with infinite duration being incorrectly removed from the list of status of entities on combat turn start

Tests

  • Xp increase
  • Buff list
  • Next and previous xp level update

Additional notes

Might add some more tests. There is also a slight visual problem when entering a new combat, the XP bar will "jump" to its correct value. This is because the tween will put it there with a time value of 0, but it's still visible.

A solution would be to calculate the correct value to assign it directly in the ready function.

Another solution is to keep the value stored in the XP manager when the XP bar gets killed, so it can pull the correct value from the XP manager next time it's recreated.

Solution one might imply some code duplication but I could make a function. Solution two feels unnecessary because the XP manager should not have to store something related to the visual state of another object imo. I'm open to suggestions on this.

Turtyo added 24 commits May 28, 2024 23:22
Should a new class be created for the pair (xp_level, Buff) ?
This caused a bug in which we loaded the previous stats after applying
the XP buff (thus reverting the changes applied by those buffs)
There is a visual bug left to fix where the XP bar jumps around on the
third level (possibly because we don't level up immediately)
@Paper-2 Paper-2 merged commit 679d4c9 into Saplings-Projects:main Jun 10, 2024
1 check passed
@Turtyo Turtyo deleted the 55-XP_bar branch June 12, 2024 08:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Stress bar mechanic
3 participants