1
This commit is contained in:
parent
d4b5f02603
commit
c38e9d3cb1
@ -3,6 +3,8 @@
|
|||||||
require_once('mt/Shop.php');
|
require_once('mt/Shop.php');
|
||||||
require_once('mt/Hero.php');
|
require_once('mt/Hero.php');
|
||||||
require_once('mt/Item.php');
|
require_once('mt/Item.php');
|
||||||
|
require_once('mt/HeroLevel.php');
|
||||||
|
require_once('mt/HeroQuality.php');
|
||||||
|
|
||||||
require_once('models/Hero.php');
|
require_once('models/Hero.php');
|
||||||
require_once('models/HeroSkin.php');
|
require_once('models/HeroSkin.php');
|
||||||
@ -86,6 +88,7 @@ class HeroController extends BaseAuthedController {
|
|||||||
|
|
||||||
public function upgradeLevel()
|
public function upgradeLevel()
|
||||||
{
|
{
|
||||||
|
$costItemId = getReqVal('cost_item_id', 0);
|
||||||
$heroUniId = getReqVal('hero_uniid', 0);
|
$heroUniId = getReqVal('hero_uniid', 0);
|
||||||
$heroDb = Hero::find($heroUniId);
|
$heroDb = Hero::find($heroUniId);
|
||||||
if (!$heroDb) {
|
if (!$heroDb) {
|
||||||
@ -104,11 +107,64 @@ class HeroController extends BaseAuthedController {
|
|||||||
$this->_rspErr(2, '锁定期间不能操作');
|
$this->_rspErr(2, '锁定期间不能操作');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$heroMeta = mt\Hero::get($heroDb['hero_id']);
|
$initLevelMeta = mt\HeroLevel::get(1, 1);
|
||||||
if (!$heroMeta) {
|
if (!$initLevelMeta) {
|
||||||
$this->_rspErr(100, '服务器内部错误');
|
$this->_rspErr(100, '服务器内部错误');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
$currLevelMeta = mt\HeroLevel::get($heroDb['quality'], $heroDb['hero_lv']);
|
||||||
|
if (!$currLevelMeta) {
|
||||||
|
$this->_rspErr(100, '服务器内部错误');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$nextLevelMeta = mt\HeroLevel::get($heroDb['quality'], $heroDb['hero_lv'] + 1);
|
||||||
|
if (!$nextLevelMeta) {
|
||||||
|
$this->_rspErr(5, '已满级');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$costItems = array();
|
||||||
|
switch ($costItemId) {
|
||||||
|
case V_ITEM_GOLD:
|
||||||
|
{
|
||||||
|
$costItems = array(
|
||||||
|
array(
|
||||||
|
'item_id' => $costItemId,
|
||||||
|
'item_num' => $currLevelMeta['gold']
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case V_ITEM_DIAMOND:
|
||||||
|
{
|
||||||
|
$costItems = array(
|
||||||
|
array(
|
||||||
|
'item_id' => $costItemId,
|
||||||
|
'item_num' => $currLevelMeta['diamond']
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
$this->_rspErr(2, '支付方式不支持');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$lackItem = null;
|
||||||
|
if (!$this->_hasEnoughItems($costItems, $lackItem)) {
|
||||||
|
$this->_rspErr(3, $this->_getLackItemErrMsg($lackItem));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$randAttr = array();
|
||||||
|
$this->_decItems($costItems);
|
||||||
|
Hero::update($heroUniId,
|
||||||
|
array(
|
||||||
|
'level' => $heroDb['level'] + 1,
|
||||||
|
'rand_attr' => json_encode($randAttr)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function upgradeQuality()
|
public function upgradeQuality()
|
||||||
|
@ -17,6 +17,11 @@ class HeroLevel {
|
|||||||
return getXVal(self::$qualityLevelHash, $quality . '_' . $level, null);
|
return getXVal(self::$qualityLevelHash, $quality . '_' . $level, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function getRandAttr($initMeta, $currMeta)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
protected static function getMetaList()
|
protected static function getMetaList()
|
||||||
{
|
{
|
||||||
if (!self::$metaList) {
|
if (!self::$metaList) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user