1
This commit is contained in:
parent
25137de75f
commit
c6bf86be27
@ -490,36 +490,39 @@ class OutAppNftController extends BaseController {
|
|||||||
$info['detail']['chip_slots'] = 0;
|
$info['detail']['chip_slots'] = 0;
|
||||||
$info['detail']['combat_ability_1'] = '';
|
$info['detail']['combat_ability_1'] = '';
|
||||||
$info['detail']['combat_ability_2'] = '';
|
$info['detail']['combat_ability_2'] = '';
|
||||||
$chipPageDb = ChipPage::find($heroDb['idx']);
|
$randAttr = emptyReplace(json_decode($heroDb['rand_attr'], true), array());
|
||||||
if ($heroDb['quality'] > 1 && $chipPageDb){
|
$i = 1;
|
||||||
$data = emptyReplace(json_decode($chipPageDb['data'], true), array());
|
foreach ($randAttr as $attr) {
|
||||||
$info['detail']['chip_slots'] = count($data);
|
if (!isset($attr['new_attr']) ||
|
||||||
foreach ($data as $value) {
|
!$attr['new_attr']) {
|
||||||
$chipDb = Chip::findEx($value['chip_id']);
|
|
||||||
if (!empty($chipDb)) {
|
|
||||||
self::mergeAttr($attr, emptyReplace(json_decode($chipDb['rand_attr'], true), array()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function mergeAttr(&$tarAttrs, $srcAttrs)
|
|
||||||
{
|
|
||||||
foreach ($srcAttrs as $srcAttr) {
|
|
||||||
if (!isset($srcAttr['new_attr']) ||
|
|
||||||
!$srcAttr['new_attr']) {
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$found = false;
|
$attrMeta = myself()->_callMtStatic('AttributeList', 'get', $attr['attr_id']);
|
||||||
foreach ($tarAttrs as &$tarAttr) {
|
if ($attrMeta) {
|
||||||
if ($tarAttr['attr_id'] == $srcAttr['attr_id']) {
|
$langMeta = myself()->_callMtStatic('Language', 'get', $attrMeta['language']);
|
||||||
$tarAttr['val'] += $srcAttr['val'];
|
if ($langMeta) {
|
||||||
$found = true;
|
switch ($attrMeta['dispType']) {
|
||||||
|
case 1:
|
||||||
|
{
|
||||||
|
$info['detail']['combat_ability_' . $i] = $langMeta['en'] . sprintf('%d', $attr['val']);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
{
|
||||||
|
$info['detail']['combat_ability_' . $i] = $langMeta['en'] . sprintf('%.2f', $attr['val']);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
{
|
||||||
|
$info['detail']['combat_ability_' . $i] = $langMeta['en'] . sprintf('%.4f', $attr['val']);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}//end for tarAttrs
|
++$i;
|
||||||
if (!$found) {
|
if ($i >= 2) {
|
||||||
array_push($tarAttrs, $srcAttr);
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user