1
This commit is contained in:
parent
18245e0463
commit
ba5fcca7ad
@ -158,7 +158,11 @@ class HeroController extends BaseAuthedController {
|
|||||||
}
|
}
|
||||||
$oldAttr = json_decode($heroDb['rand_attr'], true);
|
$oldAttr = json_decode($heroDb['rand_attr'], true);
|
||||||
$randAttr = $oldAttr;
|
$randAttr = $oldAttr;
|
||||||
mt\HeroLevel::getRandAttr($initLevelMeta, $nextLevelMeta, $oldAttr, $randAttr);
|
$ret = mt\HeroLevel::getRandAttr($initLevelMeta, $nextLevelMeta, $oldAttr, $randAttr);
|
||||||
|
if (!$ret) {
|
||||||
|
$this->_rspErr(2, '服务器内部错误');
|
||||||
|
return;
|
||||||
|
}
|
||||||
$this->_decItems($costItems);
|
$this->_decItems($costItems);
|
||||||
Hero::update($heroUniId,
|
Hero::update($heroUniId,
|
||||||
array(
|
array(
|
||||||
@ -250,12 +254,21 @@ class HeroController extends BaseAuthedController {
|
|||||||
}
|
}
|
||||||
$oldAttr = json_decode($heroDb['rand_attr'], true);
|
$oldAttr = json_decode($heroDb['rand_attr'], true);
|
||||||
$randAttr = $oldAttr;
|
$randAttr = $oldAttr;
|
||||||
|
$ret = false;
|
||||||
{
|
{
|
||||||
mt\HeroQuality::getNextAttr($initQualityMeta, $nextQualityMeta, $oldAttr, $randAttr);
|
$ret = mt\HeroQuality::getNextAttr($initQualityMeta, $nextQualityMeta, $oldAttr, $randAttr);
|
||||||
|
if (!$ret) {
|
||||||
|
$this->_rspErr(2, '服务器内部错误');
|
||||||
|
return;
|
||||||
|
}
|
||||||
$oldAttr = $randAttr;
|
$oldAttr = $randAttr;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mt\HeroLevel::getNextAttr($initLevelMeta, $nextLevelMeta, $oldAttr, $randAttr);
|
$ret = mt\HeroLevel::getNextAttr($initLevelMeta, $nextLevelMeta, $oldAttr, $randAttr);
|
||||||
|
if (!$ret) {
|
||||||
|
$this->_rspErr(2, '服务器内部错误');
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$this->_decItems($costItems);
|
$this->_decItems($costItems);
|
||||||
Hero::update($heroUniId,
|
Hero::update($heroUniId,
|
||||||
|
28
webapp/mt/AttrHelper.php
Normal file
28
webapp/mt/AttrHelper.php
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace mt;
|
||||||
|
|
||||||
|
use phpcommon;
|
||||||
|
|
||||||
|
class AttrHelper {
|
||||||
|
|
||||||
|
public static function parseAttr($attrStr)
|
||||||
|
{
|
||||||
|
$attrs = array();
|
||||||
|
$strs = explode('|', $attrStr);
|
||||||
|
foreach ($strs as $str) {
|
||||||
|
}
|
||||||
|
return $attrs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function mergeAttr($aAttr, $bAttr)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function canMerge($aAttr, $bAttr)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
namespace mt;
|
namespace mt;
|
||||||
|
|
||||||
|
require('mt/AttrHelper.sql');
|
||||||
|
|
||||||
use phpcommon;
|
use phpcommon;
|
||||||
|
|
||||||
class HeroLevel {
|
class HeroLevel {
|
||||||
@ -19,7 +21,13 @@ class HeroLevel {
|
|||||||
|
|
||||||
public static function getRandAttr($initMeta, $nextMeta, $oldAttr, &$newAttr)
|
public static function getRandAttr($initMeta, $nextMeta, $oldAttr, &$newAttr)
|
||||||
{
|
{
|
||||||
|
$initAttr = mt\AttrHelper::parseAttr($initMeta['rand_attrs']);
|
||||||
|
$nextAttr = mt\AttrHelper::parseAttr($next['rand_attrs']);
|
||||||
|
if (!mt\AttrHelper::canMerge($initAttr, $nextAttr)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
mt\AttrHelper::mergeAttr($oldAttr, $newAttr);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static function getMetaList()
|
protected static function getMetaList()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user