Human: do not modify totalXp unless setting XP succeeds

This commit is contained in:
Dylan K. Taylor 2020-10-16 20:43:03 +01:00
parent 42171f6e06
commit 52f734799e

View File

@ -400,14 +400,14 @@ class Human extends Creature implements ProjectileSource, InventoryHolder{
* @param bool $playSound Whether to play level-up and XP gained sounds.
*/
public function addXp(int $amount, bool $playSound = true) : bool{
if($amount > 0){
$this->totalXp += $amount;
}
$oldLevel = $this->getXpLevel();
$oldTotal = $this->getCurrentTotalXp();
if($this->setCurrentTotalXp($oldTotal + $amount)){
if($amount > 0){
$this->totalXp += $amount;
}
if($playSound){
$newLevel = $this->getXpLevel();
if((int) ($newLevel / 5) > (int) ($oldLevel / 5)){