diff --git a/controllers/CharactersController.inc b/controllers/CharactersController.inc index c8487629..d4b6dcf4 100644 --- a/controllers/CharactersController.inc +++ b/controllers/CharactersController.inc @@ -96,13 +96,18 @@ $characters = $this->Characters->getCharactersForSeminarySorted($seminary['id'], $sortorder, $charactername, $limit, $offset); foreach($characters as &$character) { - $character['xplevel'] = $this->Xplevels->getXPLevelById($character['xplevel_id']); $character['user'] = $this->Users->getUserById($character['user_id']); $character['characterroles'] = array_map(function($r) { return $r['name']; }, $this->Characterroles->getCharacterrolesForCharacterById($character['id'])); $character['characterfields'] = array(); foreach($this->Seminarycharacterfields->getFieldsForCharacter($character['id']) as $value) { $character['characterfields'][$value['url']] = $value; } + try { + $character['xplevel'] = $this->Xplevels->getXPLevelById($character['xplevel_id']); + } + catch(\nre\exceptions\IdNotFoundException $e) { + // No XP-level + } try { $character['avatar'] = $this->Avatars->getAvatarByTypeAndLevel($seminary['id'], $character['charactertype_url'], $character['xplevel']['level']); } @@ -146,7 +151,12 @@ // Get Character $character = $this->Characters->getCharacterByUrl($seminary['id'], $characterUrl); - $character['xplevel'] = $this->Xplevels->getXPLevelById($character['xplevel_id']); + try { + $character['xplevel'] = $this->Xplevels->getXPLevelById($character['xplevel_id']); + } + catch(\nre\exceptions\IdNotFoundException $e) { + // No XP-level + } $character['rank'] = $this->Characters->getXPRank($seminary['id'], $character['xps']); // Get User diff --git a/views/html/characters/character.tpl b/views/html/characters/character.tpl index ec68abd1..75a180ec 100644 --- a/views/html/characters/character.tpl +++ b/views/html/characters/character.tpl @@ -33,10 +33,12 @@
=_('Total progress')?>: =round($character['quest_xps']*100/$seminary['achievable_xps'])?>%
+=$character['xplevel']['level']?>
=_('Level')?>
=$character['xps']?>
XP
@@ -61,9 +63,11 @@=$character['rank']-count($ranking['superior'])+$index?>. =$rankCharacter['name']?>
-=_('Level')?> =$rankCharacter['xplevel']?> (=sprintf(_('%d XPs'), $rankCharacter['xps'])?>)
++ + =_('Level')?> =$rankCharacter['xplevel']?> (=sprintf(_('%d XPs'), $rankCharacter['xps'])?>) + + =sprintf(_('%d XPs'), $rankCharacter['xps'])?> + +
=$character['rank']?>. =$character['name']?>
-=_('Level')?> =$character['xplevel']['level']?> (=sprintf(_('%d XPs'), $character['xps'])?>)
++ + =_('Level')?> =$character['xplevel']['level']?> (=sprintf(_('%d XPs'), $character['xps'])?>) + + =sprintf(_('%d XPs'), $character['xps'])?> + +
=$character['rank']+$index+1?>. =$rankCharacter['name']?>
-=_('Level')?> =$rankCharacter['xplevel']?> (=sprintf(_('%d XPs'), $rankCharacter['xps'])?>)
++ + =_('Level')?> =$rankCharacter['xplevel']?> (=sprintf(_('%d XPs'), $rankCharacter['xps'])?>) + + =sprintf(_('%d XPs'), $rankCharacter['xps'])?> + +
=_('Level')?> =$member['xplevel']?> (=sprintf(_('%d XPs'), $member['xps'])?>)
++ + =_('Level')?> =$member['xplevel']?> (=sprintf(_('%d XPs'), $member['xps'])?>) + + =sprintf(_('%d XPs'), $member['xps'])?> + +