Файл: monst/core/pag/coliseum.php
Строк: 187
<?
upd_loc('coliseum');
if ( count($user['coliseum_log']) == 15 ) {
$_users -> update(
[
'id' => $user['id']
],
[
'$set' => [
'coliseum_num' => 0,
'coliseum_log' => 0,
'coliseum_enemyId' => 0,
'next_coliseum_time' => 0,
]
]
);
g('/coliseum');
}
$C_num = 30;
//if ( $user['vip_time'] > time() ) {
// $C_num = 30;
//}
$gold = 1;
$silver = 50;
$exp = 20;
if ( $user['part'] == 2 ) {
$gold = 1;
$silver = 100;
$exp = 30;
}
if ( $user['part'] == 3 ) {
$gold = 2;
$silver = 150;
$exp = 40;
}
if ( $user['vip_time'] > time() ) {
$gold = $gold * 2;
$silver = $silver * 2;
$exp = $exp * 2;
}
//if ( $user['level'] >= 10 ) {
// $gold = 4;
// $silver = 300;
// $exp = 50;
//}
?>
<div class='op_top_im'>
<img src='/core/i/pic/coliseum.jpg?2' alt='' class='title_img' />
</div>
<div style='position: relative; top: -100px; color: #756861; height: 0;'>
<span style='background: #000; font-size: 20px;'><?=$lang['coliseum.php']['title']?></span><br/>
<span style='background: #000; font-size: 11px;'><?=$lang['coliseum.php']['title_text']?></span><br/>
</div>
<!--<div class='padding'>-->
<!-- <div style='text-align: center; color: #756861; border-top: 1px solid #756861;'>-->
<!-- --><?//=$lang['coliseum.php']['desc']?><!--<br/>-->
<!-- </div>-->
<!--</div>-->
<!--<br/>-->
<div style='text-align: center;'>
<?
//$_users -> update(
// [
// 'id' => $user['id']
// ],
//
// [
// '$set' => [
// 'next_coliseum_time' => time() + 60 * 2,
// ]
// ]
//);
if ( $user['next_coliseum_time'] > 0 AND $user['next_coliseum_time'] < time() ) {
$_users -> update(
[
'id' => $user['id']
],
[
'$set' => [
'coliseum_log' => 0,
'coliseum_num' => 0,
'coliseum_enemyId' => 0,
'next_coliseum_time' => 0,
]
]
);
g('/coliseum');
}
if ( $user['coliseum_log'] == 0 ) {
$log = [];
for ( $i = 1; $i <= $C_num; $i++ ) {
$log[$i] = 0;
}
$_users -> update(
[
'id' => $user['id']
],
[
'$set' => [
'coliseum_log' => $log
]
]
);
g('/coliseum');
}
if ( $user['coliseum_log'][$C_num] > 1 ) {
if (empty($user['next_coliseum_time'])) {
$_users->update(
[
'id' => $user['id']
],
[
'$set' => [
'next_coliseum_time' => time() + 60 * 60 * 2
]
]
);
g('/coliseum');
}
if ($user['next_coliseum_time'] > time()) {
$time = $user['next_coliseum_time'] - time();
?>
<!-- <div style='height: 0;'>-->
<!-- <div style='position: relative; top: 20px; opacity: 0.8;'>-->
<div style='backg2round: #000; padding: 20px; color: #999;'>
<?= $lang['coliseum.php']['time_to_unlock'] ?> <span
style='color: indianred;'><?= hm($time, 0, 1, 1, 0) ?></span><br/>
</div>
<!-- </div>-->
<!-- </div>-->
<br/>
<?
}
}
// else {
if (!$user['coliseum_enemyId']) {
new_enemy();
g('/coliseum');
}
$enemyId = $user['coliseum_enemyId'];
$enemy = $_users->findOne(
[
'id' => $enemyId
]
);
if ( $user['coliseum_log'][$C_num] < 2 ) {
if (isset($_GET['attack'])) {
$user_param_sum = $user['st'] + $user['hp'] + $user['armor'];
$enemy_param_sum = $enemy['st'] + $enemy['hp'] + $enemy['armor'];
$win = 0;
if ($user_param_sum > $enemy_param_sum) {
$win = 1;
} elseif ($user_param_sum == $enemy_param_sum) {
if (mt_rand(1, 100) <= 50) {
$win = 1;
}
}
// else {
// $percent = 50;
//
// if ( mt_rand(1, 100) <= $percent ) {
// $win = 1;
// }
// }
$num = $user['coliseum_num'];
$user['coliseum_log'][$num + 1] = 1;
new_enemy();
if ($win) {
// quest
foreach ($quest as $q) {
if ($q['type'] == 'coliseum_count') {
$quest_db[$q['id']]['count'] += 1;
}
}
//
foreach ($quest as $q) {
if ($q['type'] == 'coliseum_win') {
$quest_db[$q['id']]['count'] += 1;
}
}
foreach ($daily as $q) {
if ($q['type'] == 'coliseum_count') {
$daily_db[$q['id']]['count'] += 1;
}
}
//
foreach ($daily as $q) {
if ($q['type'] == 'coliseum_win') {
$daily_db[$q['id']]['count'] += 1;
}
}
$user['coliseum_log'][$num] = 2;
$_users->update(
[
'id' => $user['id']
],
[
'$set' => [
'gold' => $user['gold'] + $gold,
'silver' => $user['silver'] + $silver,
'exp' => $user['exp'] + $exp,
'coliseum_log' => $user['coliseum_log'],
'coliseum_num' => $num + 1,
'quest' => $quest_db,
'daily' => $daily_db,
]
]
);
g('/coliseum?win');
} else {
// quest
foreach ($quest as $q) {
if ($q['type'] == 'coliseum_count') {
$quest_db[$q['id']]['count'] += 1;
}
}
//
foreach ($daily as $q) {
if ($q['type'] == 'coliseum_count') {
$daily_db[$q['id']]['count'] += 1;
}
}
$user['coliseum_log'][$num] = 3;
$_users->update(
[
'id' => $user['id']
],
[
'$set' => [
'gold' => $user['gold'] + floor($gold / 2),
'silver' => $user['silver'] + floor($silver / 2),
'exp' => $user['exp'] + floor($exp / 2),
'coliseum_log' => $user['coliseum_log'],
'coliseum_num' => $num + 1,
'quest' => $quest_db,
'daily' => $daily_db,
]
]
);
g('/coliseum?lose');
}
}
}
if ( isset($_GET['win']) ) {
?>
<!-- <div style='height: 0;'>-->
<!-- <div style='position: relative; top: 20px; background: #000; opacity: 0.8;'>-->
<span style='color: yellowgreen; font-size: 30px;'><?=$lang['coliseum.php']['win']?></span><br/>
<img src='<?=$gold_icon?>' alt='' width='50'/><span class='gold_color'><?=num($gold)?></span>
<img src='<?=$silver_icon?>' alt='' width='50'/><span class='silver_color'><?=num($silver)?></span>
<img src='<?=$exp_icon?>' alt='' width='50'/><span class='exp_color'><?=num($exp)?></span>
<br/><br/>
<!-- </div>-->
<!---->
<!-- </div>-->
<?
}
if ( isset($_GET['lose']) ) {
?>
<!-- <div style='height: 0;'>-->
<!-- <div style='position: relative; top: 20px; background: #000; opacity: 0.8;'>-->
<span style='color: indianred; font-size: 30px;'><?=$lang['coliseum.php']['lose']?></span><br/>
<img src='<?=$gold_icon?>' alt='' width='50'/><span class='gold_color'><?=num($gold / 2)?></span>
<img src='<?=$silver_icon?>' alt='' width='50'/><span class='silver_color'><?=num(round($silver / 2))?></span>
<img src='<?=$exp_icon?>' alt='' width='50'/><span class='exp_color'><?=num(round($exp / 2))?></span>
<!-- </div>-->
<!-- </div>-->
<br/> <br/>
<?
}
if ( $user['coliseum_log'][$C_num] < 2 ) {
?>
<a href='/coliseum?attack'>
<?
}
?>
<div class='opacity_monster_im'>
<img src='<?=av($enemyId)?>' alt='' width='200'/><br/>
</div>
<div><?=Name($enemy['id'])?></div>
<img src='/core/i/user/hp.png?3' alt='' width='15'/><span class='hp_color'><?=num($enemy['hp'])?></span>
<img src='/core/i/user/st.png?2' alt='' width='15'/><span class='st_color'><?=num($enemy['st'])?></span>
<img src='/core/i/user/armor.png?2' alt='' width='15'/><span class='armor_color'><?=num($enemy['armor'])?></span>
<?
if ( $user['coliseum_log'][$C_num] < 2 ) {
?>
</a>
<?
}
?>
<br/>
<br/>
<?
//}
$log = $user['coliseum_log'];
//print_r($log);
for ( $i = 1; $i <= $C_num; $i++ ) {
$n = $log[$i];
if ( $n == 0 ) $color = '#777';
if ( $n == 1 ) $color = '#999';
if ( $n == 2 ) $color = 'yellowgreen';
if ( $n == 3 ) $color = 'indianred';
?>
<span style='color: <?=$color?>; font-size: 18px;'>•</span>
<?
// if ( $i == 15 ) print '<br/>';
}
?>
</div>
<?
function new_enemy() {
global $user, $_users;
$find = $_users -> aggregate(
[
[
'$match' => [
'level' => [
'$gte' => $user['level'] - 5,
'$lte' => $user['level'] + 5
],
'id' => [
'$ne' => $user['id']
]
],
],
[
'$sample' => [
'size' => 1
]
]
]
);
$enemy = $find['result'][0];
$num = $user['coliseum_num'] + 1;
$user['coliseum_log'][$num] = 1;
if ( $find ) {
$_users -> update(
[
'id' => $user['id']
],
[
'$set' => [
'coliseum_enemyId' => $enemy['id'],
'coliseum_log' => $user['coliseum_log'],
'coliseum_num' => $num
]
]
);
}
}