1
This commit is contained in:
parent
f1f346e0ed
commit
2b325c5b65
@ -137,13 +137,14 @@ class HeroController extends BaseAuthedController {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$newHeroDb = $heroDb;
|
|
||||||
$newHeroDb['hero_lv'] += 1;
|
|
||||||
$attrs = Hero::LvUpAddAttr($heroDb,0);
|
|
||||||
$newHeroDb['rand_attr'] = json_encode($attrs);
|
|
||||||
|
|
||||||
$heroDto = Hero::toDto($heroDb);
|
$heroDto = Hero::toDto($heroDb);
|
||||||
$newHeroDto = Hero::toDto($newHeroDb);
|
|
||||||
|
$newHeroDto = $heroDto;
|
||||||
|
$newHeroDto['hero_lv'] += 1;
|
||||||
|
$attrs_min = Hero::LvUpAddAttr($heroDb,\mt\HeroLevelAttr::MIN_RAND_ATTR);
|
||||||
|
$attrs_max = Hero::LvUpAddAttr($heroDb,\mt\HeroLevelAttr::MAX_RAND_ATTR);
|
||||||
|
$newHeroDto['rand_attr_min'] = $attrs_min;
|
||||||
|
$newHeroDto['rand_attr_max'] = $attrs_max;
|
||||||
$this->_rspData(array(
|
$this->_rspData(array(
|
||||||
|
|
||||||
'old_hero' => $heroDto,
|
'old_hero' => $heroDto,
|
||||||
@ -151,6 +152,11 @@ class HeroController extends BaseAuthedController {
|
|||||||
'cost' => $costItems
|
'cost' => $costItems
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
public function test(){
|
||||||
|
$levelAttrMeta= \mt\HeroLevelAttr::find(30100);
|
||||||
|
$attr= \mt\HeroLevelAttr::addRandAttr($levelAttrMeta,2);
|
||||||
|
print_r($attr);
|
||||||
|
}
|
||||||
|
|
||||||
public function upgradeLv()
|
public function upgradeLv()
|
||||||
{
|
{
|
||||||
@ -228,7 +234,7 @@ class HeroController extends BaseAuthedController {
|
|||||||
}
|
}
|
||||||
$this->_decItems($costItems);
|
$this->_decItems($costItems);
|
||||||
|
|
||||||
$attrs = Hero::LvUpAddAttr($heroDb,1);
|
$attrs = Hero::LvUpAddAttr($heroDb,\mt\HeroLevelAttr::FINAL_RAND_ATTR);
|
||||||
Hero::update($heroUniId, array(
|
Hero::update($heroUniId, array(
|
||||||
'hero_lv' => $heroDb['hero_lv'] + 1,
|
'hero_lv' => $heroDb['hero_lv'] + 1,
|
||||||
'rand_attr' => json_encode($attrs),
|
'rand_attr' => json_encode($attrs),
|
||||||
|
@ -10,6 +10,9 @@ use phpcommon;
|
|||||||
|
|
||||||
class HeroLevelAttr {
|
class HeroLevelAttr {
|
||||||
private static $BASE_ATTR = [kHAT_Hp,kHAT_Atk,kHAT_Def,kHAT_Critical,kHAT_CriDamage];
|
private static $BASE_ATTR = [kHAT_Hp,kHAT_Atk,kHAT_Def,kHAT_Critical,kHAT_CriDamage];
|
||||||
|
const MIN_RAND_ATTR = 0;
|
||||||
|
const MAX_RAND_ATTR = 1;
|
||||||
|
const FINAL_RAND_ATTR = 2;
|
||||||
|
|
||||||
public static function find($id)
|
public static function find($id)
|
||||||
{
|
{
|
||||||
@ -17,22 +20,9 @@ class HeroLevelAttr {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static function addRandAttr($meta,$type){
|
public static function addRandAttr($meta,$type){
|
||||||
if ($type == 1){
|
switch ($type){
|
||||||
$attr = array(
|
//随机属性最小值
|
||||||
array(
|
case self::MIN_RAND_ATTR :{
|
||||||
'attr_id' => kHAT_Hp,
|
|
||||||
'val' => self::getAttrValue($meta)
|
|
||||||
),
|
|
||||||
array(
|
|
||||||
'attr_id' => kHAT_Atk,
|
|
||||||
'val' => self::getAttrValue($meta)
|
|
||||||
),
|
|
||||||
array(
|
|
||||||
'attr_id' => kHAT_Def,
|
|
||||||
'val' => self::getAttrValue($meta)
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}else{
|
|
||||||
$attr = array(
|
$attr = array(
|
||||||
array(
|
array(
|
||||||
'attr_id' => kHAT_Hp,
|
'attr_id' => kHAT_Hp,
|
||||||
@ -47,7 +37,45 @@ class HeroLevelAttr {
|
|||||||
'val' => self::getAttrValueMin($meta)
|
'val' => self::getAttrValueMin($meta)
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case self::FINAL_RAND_ATTR:{
|
||||||
|
$attr = array(
|
||||||
|
array(
|
||||||
|
'attr_id' => kHAT_Hp,
|
||||||
|
'val' => self::getAttrValue($meta)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'attr_id' => kHAT_Atk,
|
||||||
|
'val' => self::getAttrValue($meta)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'attr_id' => kHAT_Def,
|
||||||
|
'val' => self::getAttrValue($meta)
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case self::MAX_RAND_ATTR:{
|
||||||
|
$attr = array(
|
||||||
|
array(
|
||||||
|
'attr_id' => kHAT_Hp,
|
||||||
|
'val' => self::getAttrValueMax($meta)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'attr_id' => kHAT_Atk,
|
||||||
|
'val' => self::getAttrValueMax($meta)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'attr_id' => kHAT_Def,
|
||||||
|
'val' => self::getAttrValueMax($meta)
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:{
|
||||||
|
$attr = array();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $attr;
|
return $attr;
|
||||||
}
|
}
|
||||||
@ -91,6 +119,13 @@ class HeroLevelAttr {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected static function getAttrValueMax($meta)
|
||||||
|
{
|
||||||
|
$strs = explode('|', $meta['attr_weight']);
|
||||||
|
$strs2 = explode(':', $strs[count($strs)-1]);
|
||||||
|
return $strs2[0];
|
||||||
|
}
|
||||||
|
|
||||||
protected static function getMetaList()
|
protected static function getMetaList()
|
||||||
{
|
{
|
||||||
if (!self::$metaList) {
|
if (!self::$metaList) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user