function tribe_processLeave($playerID, $tag, $db, $FORCE = 0) { if (!$FORCE && !relation_leaveTribeAllowed($tag, $db)) { return -10; } if (!$FORCE && !tribe_changeTribeAllowedForPlayerID($playerID, $db)) { return -11; } if (tribe_isLeaderOrJuniorLeader($playerID, $tag, $db)) { if (tribe_isLeader($playerID, $tag, $db)) { if (!$FORCE && !tribe_unmakeLeader($playerID, $tag, $db)) { return -8; } } else { if (!$FORCE && !tribe_unmakeJuniorLeader($playerID, $tag, $db)) { return -8; } } } if (!($player = getPlayerByID($playerID))) { return -4; } if (!tribe_leaveTribe($playerID, $tag, $db)) { return -4; } Player::addHistoryEntry($db, $playerID, sprintf(_('verläßt den Stamm \'%s\''), $tag)); tribe_setBlockingPeriodPlayerID($playerID, $db); tribe_sendTribeMessage($tag, TRIBE_MESSAGE_MEMBER, "Spieleraustritt", "Der Spieler {$player['name']} ist soeben aus dem " . "Stamm ausgetreten."); if (tribe_getNumberOfMembers($tag, $db) == 0) { // tribe has to be deleted tribe_deleteTribe($tag, $db, $FORCE); return 4; } return 2; }
function tribe_processLeave($playerID, $tag, $db, $FORCE = 0) { if (!$FORCE && !relation_leaveTribeAllowed($tag, $db)) { return -10; } if (!$FORCE && !tribe_changeTribeAllowedForPlayerID($playerID, $db)) { return -11; } if (tribe_isLeader($playerID, $tag, $db)) { if (!$FORCE && !tribe_unmakeLeader($playerID, $tag, $db)) { return -8; } } if (!($player = getPlayerFromID($playerID))) { return -4; } if (!tribe_leaveTribe($playerID, $tag, $db)) { return -4; } tribe_setBlockingPeriodPlayerID($playerID, $db); tribe_sendTribeMessage($tag, TRIBE_MESSAGE_MEMBER, "Spieleraustritt", "Der Spieler {$player['name']} ist soeben aus dem " . "Clan ausgetreten."); if (tribe_getNumberOfMembers($tag, $db) == 0) { // tribe has to be deleted tribe_deleteTribe($tag, $db, $FORCE); return 4; } return 2; }