Some more fixing of processing leveling correctly and challenge processing adding the progress to the wrong user.

This commit is contained in:
Vari
2024-03-06 21:16:34 +01:00
parent 34f40d6dbc
commit 80e736d878
5 changed files with 48 additions and 9 deletions

View File

@@ -142,6 +142,28 @@ public function getCumulativeExperience(): int
return $experience;
}
public function addFactionExperience(Faction $faction): PlayerData
{
if($faction === Faction::Runner) {
++$this->runner_faction_experience;
if($this->runner_faction_level >= static::getRemainingFactionExperience($this->runner_faction_level)) {
++$this->runner_faction_level;
$this->runner_faction_experience = 0;
}
}
else if($faction === Faction::Hunter) {
++$this->hunter_faction_level;
if($this->hunter_faction_level >= static::getRemainingFactionExperience($this->hunter_faction_level)) {
++$this->hunter_faction_level;
$this->hunter_faction_experience = 0;
}
}
return $this;
}
public static function getRemainingFactionExperience(int $level): int
{
if($level <= 26)