From c5bfc2d2060120c1d0090df2c8c9b6ca1f617374 Mon Sep 17 00:00:00 2001 From: hecht Date: Mon, 1 Dec 2014 20:37:21 +0000 Subject: [PATCH] extended the check --- ag/include/erstellfunctions.inc.php | 43 ++++++++++------------------- 1 file changed, 15 insertions(+), 28 deletions(-) diff --git a/ag/include/erstellfunctions.inc.php b/ag/include/erstellfunctions.inc.php index 3ed67b7..52751f7 100644 --- a/ag/include/erstellfunctions.inc.php +++ b/ag/include/erstellfunctions.inc.php @@ -22,7 +22,7 @@ function erstelleUser(){ } -function hasUserFreeCharSlot($user) { +function hasUserFreeCharSlot($user, $special = false) { $chars = getCharsOfUser($user['id']); $special_chars = 0; $normal_chars = 0; @@ -33,15 +33,19 @@ function hasUserFreeCharSlot($user) { $normal_chars++; } } - // The first special char is always on its special slot! - if($special_chars > 0) - $special_chars--; - - $chars_avail = $normal_chars + $special_chars; - $slots_avail = $user['char_max']; - if($chars_avail < $slots_avail) { - return true; + + if(!$special) { + if($special_chars > 0) + $special_chars--; + + $chars_avail = $normal_chars + $special_chars; + $slots_avail = $user['char_max']; + return $chars_avail < $slots_avail; + } else { + return $special_chars < 2; } + + return false; } // Muss aus einem sicheren Kontext gestartet werden @@ -77,25 +81,8 @@ function erstelleChar($user, $rassen_id, $newname = '', $picture = '', $lvl = 1, if($race['name'] != 'NPC') { //Ueberprüfe ob ein Slot frei ist - $chars = getCharsOfUser($user['id']); - $normal = 0; - $special = 0; - foreach($chars as $row){ - if($row['rasse'] == 'Kaioshin' || $row['fusion_rasse'] == 'Kaioshin' || $row['rasse'] == 'Shichibukai' || $row['fusion_rasse'] == 'Shichibukai'){ - $special++; - } else{ - $normal++; - } - } - $slots_avail = $user['char_max']; - if(!$special_char && $special <= 0){ - $slots_used = $normal; - } else{ - $slots_used = $normal + $special - 1; - } - // echo 'Slots used: '.$slots_used.'
Slots available: '.$slots_avail.'
'; - - if($slots_used >= $user['char_max']){ + $check = hasUserFreeCharSlot($user, $special_char); + if(!$check){ displayErrorMessage(NULL,'Alle Slots sind schon belegt!!',displayHistoryBackLink()); return false; }