Пример #1
0
function finalize300(&$pa, $data)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    if ($data == '') {
        $x = 0;
    } else {
        $x = base64_decode_number($data);
    }
    $ox = $x;
    $x += \skillbase\skill_getvalue(300, 'cnt', $pa);
    $x = min($x, (1 << 30) - 1);
    if ($ox < 32767 && $x >= 32767) {
        \cardbase\get_qiegao(200, $pa);
    }
    if ($ox < 142857 && $x >= 142857) {
        \cardbase\get_qiegao(300, $pa);
    }
    if ($ox < 999983 && $x >= 999983) {
        \cardbase\get_qiegao(500, $pa);
        \cardbase\get_card(86, $pa);
    }
    return base64_encode_number($x, 5);
}
Пример #2
0
function finalize302(&$pa, $data)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    if ($data == '') {
        $x = 0;
    } else {
        $x = base64_decode_number($data);
    }
    $ox = $x;
    $x += \skillbase\skill_getvalue(302, 'cnt', $pa);
    $x = min($x, (1 << 30) - 1);
    if ($ox < 1 && $x >= 1) {
        \cardbase\get_qiegao(50, $pa);
    }
    if ($ox < 5 && $x >= 5) {
        \cardbase\get_qiegao(300, $pa);
    }
    if ($ox < 30 && $x >= 30) {
        \cardbase\get_qiegao(1000, $pa);
        \cardbase\get_card(66, $pa);
    }
    return base64_encode_number($x, 5);
}
Пример #3
0
function finalize313(&$pa, $data)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    if ($data == '') {
        $x = 0;
    } else {
        $x = base64_decode_number($data);
    }
    $ox = $x;
    $x = $pa['money'];
    $x = max($x, $ox);
    if ($ox < 30000 && $x >= 30000) {
        \cardbase\get_qiegao(300, $pa);
    }
    if ($ox < 60000 && $x >= 60000) {
        \cardbase\get_qiegao(800, $pa);
    }
    if ($ox < 100000 && $x >= 100000) {
        \cardbase\get_qiegao(2400, $pa);
        \cardbase\get_card(89, $pa);
    }
    return base64_encode_number($x, 5);
}
Пример #4
0
function finalize323(&$pa, $data)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    if ($data == '') {
        $x = 0;
    } else {
        $x = base64_decode_number($data);
    }
    $ox = $x;
    $x = \skillbase\skill_getvalue(323, 'cnt', $pa);
    if ($x == 0) {
        $x = $ox;
    }
    if ($ox != 0) {
        $x = min($x, $ox);
    }
    eval(import_module('cardbase'));
    $arr = $cardindex['S'];
    $c = count($arr) - 1;
    $cr = $arr[rand(0, $c)];
    if ($x != 0 && $x <= 2700 && ($ox > 2700 || $ox == 0)) {
        \cardbase\get_qiegao(666, $pa);
        \cardbase\get_card($cr, $pa);
    }
    return base64_encode_number($x, 5);
}
Пример #5
0
function finalize310(&$pa, $data)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    if ($data == '') {
        $x = 0;
    } else {
        $x = base64_decode_number($data);
    }
    $ox = $x;
    $x += \skillbase\skill_getvalue(310, 'cnt', $pa);
    $x = min($x, (1 << 30) - 1);
    if ($ox < 100 && $x >= 100) {
        \cardbase\get_qiegao(100, $pa);
    }
    eval(import_module('cardbase'));
    $arr = $cardindex['A'];
    $c = count($arr) - 1;
    $cr = $arr[rand(0, $c)];
    if ($ox < 2500 && $x >= 2500) {
        \cardbase\get_qiegao(400, $pa);
        \cardbase\get_card($cr, $pa);
    }
    $cr = $arr[rand(0, $c)];
    if ($ox < 10000 && $x >= 10000) {
        \cardbase\get_qiegao(1500, $pa);
        \cardbase\get_card($cr, $pa);
    }
    return base64_encode_number($x, 5);
}
Пример #6
0
function finalize300(&$pa, $data)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    if ($data == '') {
        $x = 0;
    } else {
        $x = base64_decode_number($data);
    }
    $x += \skillbase\skill_getvalue(300, 'cnt', $pa);
    $x = min($x, (1 << 30) - 1);
    return base64_encode_number($x, 5);
}
Пример #7
0
function finalize324(&$pa, $data)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    if ($data == '') {
        $x = 0;
    } else {
        $x = base64_decode_number($data);
    }
    $ox = $x;
    $x = $pa['lvl'];
    $x = max($x, $ox);
    if ($ox < 21 && $x >= 21) {
        \cardbase\get_qiegao(140, $pa);
    }
    return base64_encode_number($x, 5);
}
Пример #8
0
function finalize321(&$pa, $data)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    if ($data == '') {
        $x = 0;
    } else {
        $x = base64_decode_number($data);
    }
    $ox = $x;
    $x += \skillbase\skill_getvalue(321, 'cnt', $pa);
    $x = min($x, (1 << 30) - 1);
    if ($ox < 2 && $x >= 2) {
        \cardbase\get_qiegao(110, $pa);
    }
    return base64_encode_number($x, 5);
}
Пример #9
0
function finalize326(&$pa, $data)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    $flag = 0;
    foreach (array(301, 305, 306, 307) as $sk) {
        if (\skillbase\skill_query($sk, $pa) && (int) \skillbase\skill_getvalue($sk, 'cnt', $pa) == 1) {
            $flag = 1;
        }
    }
    if (!$flag) {
        return $data;
    }
    $c = (int) $pa['card'];
    for ($i = 0; $i < strlen($data); $i += 3) {
        $x = base64_decode_number(substr($data, $i, 3));
        if ($x == $c) {
            return $data;
        }
    }
    $data .= base64_encode_number($c, 3);
    $o = ceil(strlen($data) / 3);
    if ($o == 10) {
        \cardbase\get_qiegao(888, $pa);
    }
    if ($o == 25) {
        \cardbase\get_card(81, $pa);
        \cardbase\get_qiegao(1200, $pa);
    }
    if ($o == 50) {
        \cardbase\get_qiegao(1600, $pa);
    }
    if ($o == 75) {
        \cardbase\get_qiegao(2000, $pa);
    }
    if ($o == 100) {
        \cardbase\get_qiegao(2500, $pa);
    }
    return $data;
}
Пример #10
0
function finalize325(&$pa, $data)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    if ($data == '') {
        $x = 0;
    } else {
        $x = base64_decode_number($data);
    }
    $z = (int) \skillbase\skill_getvalue(325, 'cnt', $pa);
    $ox = $x;
    $x = $ox + $z;
    if ($ox < 1 && $x >= 1) {
        \cardbase\get_qiegao(233, $pa);
    }
    if ($ox < 100 && $x >= 100) {
        \cardbase\get_qiegao(2333, $pa);
        \cardbase\get_card(119, $pa);
    }
    return base64_encode_number($x, 5);
}
Пример #11
0
function finalize308(&$pa, $data)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    if ($data == '') {
        $x = 0;
    } else {
        $x = base64_decode_number($data);
    }
    $ox = $x;
    $x = \skillbase\skill_getvalue(308, 'cnt', $pa);
    if ($x == 0) {
        $x = $ox;
    }
    if ($ox != 0) {
        $x = min($x, $ox);
    }
    if ($x != 0 && $x <= 300 && ($ox > 300 || $ox == 0)) {
        \cardbase\get_qiegao(666, $pa);
    }
    return base64_encode_number($x, 5);
}
Пример #12
0
function elorating_update()
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys'));
    if ($room_prefix[0] == 's' && in_array($gametype, array(10, 11, 12, 13, 14))) {
        $tlist = array();
        $result = $db->query("SELECT name,hp,state,teamID,killnum FROM {$tablepre}players WHERE type = 0");
        while ($data = $db->fetch_array($result)) {
            $result2 = $db->query("SELECT elo_rating,elo_volatility,elo_playedtimes,elo_history FROM {$gtablepre}users WHERE username = '******'name']}'");
            if (!$db->num_rows($result2)) {
                continue;
            }
            $z = $db->fetch_array($result2);
            $data['rating'] = $z['elo_rating'];
            $data['vol'] = $z['elo_volatility'];
            $data['timesPlayed'] = $z['elo_playedtimes'];
            $data['elo_history'] = $z['elo_history'];
            if ($data['state'] == 5) {
                $data['winner'] = 1;
                if ($data['hp'] > 0) {
                    $data['alive'] = 1;
                } else {
                    $data['alive'] = 0;
                }
            } else {
                $data['winner'] = 0;
                $data['alive'] = 0;
            }
            array_push($tlist, $data);
        }
        elorating_calculate_update($tlist);
        foreach ($tlist as $data) {
            //游戏历史描述
            //1字符:游戏区域前缀
            //4字符:游戏局号
            //1字符:游戏类型
            //1字符:结果
            //3字符:rating(-131072后为真实值,虽然理论上rating不会有负数……)
            if ($room_prefix == '') {
                $xr = ' ';
            } else {
                $xr = $room_prefix[0];
            }
            $eh = $data['elo_history'] . $xr . base64_encode_number($gamenum, 4) . base64_encode_number($gametype, 1) . base64_encode_number($data['winner'] ? 1 : 0, 1) . base64_encode_number($data['rating'] + 131072, 3);
            //考虑了一下还是不拼成一个大query了,毕竟有个text…… 爆了mysql最大query长度限制就囧了
            $db->query("UPDATE {$gtablepre}users SET elo_rating='{$data['rating']}', elo_volatility='{$data['vol']}', elo_playedtimes='{$data['timesPlayed']}', elo_history='{$eh}' WHERE username = '******'name']}'");
        }
    }
}