示例#1
0
function tribe_ChangeLeader($tag, $newLeadership, $oldLeaderID, $oldJuniorLeaderID, $db)
{
    if ($newLeadership[0] == $oldLeaderID && $newLeadership[1] == $oldJuniorLeaderID) {
        return 0;
        //nothing changed
    }
    if ($newLeadership[0] != $oldLeaderID) {
        if ($oldLeaderID && !tribe_unmakeLeader($oldLeaderID, $tag, $db)) {
            return -2;
        }
        if ($newLeadership[0] && !tribe_makeLeader($newLeadership[0], $tag, $db)) {
            return -3;
        }
    }
    if ($newLeadership[1] != $oldJuniorLeaderID) {
        if ($oldJuniorLeaderID && !tribe_unmakeJuniorLeader($oldJuniorLeaderID, $tag, $db)) {
            return -4;
        }
        if ($newLeadership[1] && !tribe_makeJuniorLeader($newLeadership[1], $tag, $db)) {
            return -5;
        }
    }
    tribe_SendMessageLeaderChanged($tag, $newLeadership);
    return $newLeadership;
}
示例#2
0
function tribe_recalcLeader($tag, $oldLeaderID, $db)
{
    global $governmentList;
    // find the new leader
    if (!($government = government_getGovernmentForTribe($tag, $db))) {
        return -1;
    }
    $det = $governmentList[$government[governmentID]][leaderDeterminationID];
    switch ($det) {
        case 1:
            $newLeader = tribe_recalcLeader1($tag, $db);
            break;
        case 2:
            $newLeader = tribe_recalcLeader2($tag, $db);
            break;
    }
    if ($newLeader < 0) {
        return $newLeader;
    }
    // change the leader
    if ($newLeader == $oldLeaderID) {
        return 0;
    }
    if ($oldLeaderID && !tribe_unmakeLeader($oldLeaderID, $tag, $db)) {
        return -1;
    }
    if ($newLeader && !tribe_makeLeader($newLeader, $tag, $db)) {
        return -1;
    }
    if (!$newLeader) {
        tribe_sendTribeMessage($tag, TRIBE_MESSAGE_LEADER, "Anf&uuml;hrerwechsel", "Ihr Clan hat momentan keinen Anf&uuml;hrer " . "mehr");
    } else {
        $player = getPlayerFromID($newLeader);
        $newLeaderName = $player ? $player[name] : $newLeader;
        tribe_sendTribeMessage($tag, TRIBE_MESSAGE_LEADER, "Anf&uuml;hrerwechsel", "Der Spieler {$newLeaderName} ist soeben neuer " . "Anf&uuml;hrer des Clans geworden.");
    }
    return $newLeader;
}