Example #1
0
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;
}
Example #2
0
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;
}