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);
|
||||
$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(
|
||||
|
||||
'old_hero' => $heroDto,
|
||||
@ -151,6 +152,11 @@ class HeroController extends BaseAuthedController {
|
||||
'cost' => $costItems
|
||||
));
|
||||
}
|
||||
public function test(){
|
||||
$levelAttrMeta= \mt\HeroLevelAttr::find(30100);
|
||||
$attr= \mt\HeroLevelAttr::addRandAttr($levelAttrMeta,2);
|
||||
print_r($attr);
|
||||
}
|
||||
|
||||
public function upgradeLv()
|
||||
{
|
||||
@ -228,7 +234,7 @@ class HeroController extends BaseAuthedController {
|
||||
}
|
||||
$this->_decItems($costItems);
|
||||
|
||||
$attrs = Hero::LvUpAddAttr($heroDb,1);
|
||||
$attrs = Hero::LvUpAddAttr($heroDb,\mt\HeroLevelAttr::FINAL_RAND_ATTR);
|
||||
Hero::update($heroUniId, array(
|
||||
'hero_lv' => $heroDb['hero_lv'] + 1,
|
||||
'rand_attr' => json_encode($attrs),
|
||||
|
@ -10,6 +10,9 @@ use phpcommon;
|
||||
|
||||
class HeroLevelAttr {
|
||||
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)
|
||||
{
|
||||
@ -17,37 +20,62 @@ class HeroLevelAttr {
|
||||
}
|
||||
|
||||
public static function addRandAttr($meta,$type){
|
||||
if ($type == 1){
|
||||
$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)
|
||||
),
|
||||
);
|
||||
}else{
|
||||
$attr = array(
|
||||
array(
|
||||
'attr_id' => kHAT_Hp,
|
||||
'val' => self::getAttrValueMin($meta)
|
||||
),
|
||||
array(
|
||||
'attr_id' => kHAT_Atk,
|
||||
'val' => self::getAttrValueMin($meta)
|
||||
),
|
||||
array(
|
||||
'attr_id' => kHAT_Def,
|
||||
'val' => self::getAttrValueMin($meta)
|
||||
),
|
||||
);
|
||||
|
||||
switch ($type){
|
||||
//随机属性最小值
|
||||
case self::MIN_RAND_ATTR :{
|
||||
$attr = array(
|
||||
array(
|
||||
'attr_id' => kHAT_Hp,
|
||||
'val' => self::getAttrValueMin($meta)
|
||||
),
|
||||
array(
|
||||
'attr_id' => kHAT_Atk,
|
||||
'val' => self::getAttrValueMin($meta)
|
||||
),
|
||||
array(
|
||||
'attr_id' => kHAT_Def,
|
||||
'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;
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
if (!self::$metaList) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user