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']['combat_ability_1'] = '';
|
||||
$info['detail']['combat_ability_2'] = '';
|
||||
$chipPageDb = ChipPage::find($heroDb['idx']);
|
||||
if ($heroDb['quality'] > 1 && $chipPageDb){
|
||||
$data = emptyReplace(json_decode($chipPageDb['data'], true), array());
|
||||
$info['detail']['chip_slots'] = count($data);
|
||||
foreach ($data as $value) {
|
||||
$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']) {
|
||||
$randAttr = emptyReplace(json_decode($heroDb['rand_attr'], true), array());
|
||||
$i = 1;
|
||||
foreach ($randAttr as $attr) {
|
||||
if (!isset($attr['new_attr']) ||
|
||||
!$attr['new_attr']) {
|
||||
continue;
|
||||
}
|
||||
$found = false;
|
||||
foreach ($tarAttrs as &$tarAttr) {
|
||||
if ($tarAttr['attr_id'] == $srcAttr['attr_id']) {
|
||||
$tarAttr['val'] += $srcAttr['val'];
|
||||
$found = true;
|
||||
$attrMeta = myself()->_callMtStatic('AttributeList', 'get', $attr['attr_id']);
|
||||
if ($attrMeta) {
|
||||
$langMeta = myself()->_callMtStatic('Language', 'get', $attrMeta['language']);
|
||||
if ($langMeta) {
|
||||
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;
|
||||
}
|
||||
++$i;
|
||||
if ($i >= 2) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}//end for tarAttrs
|
||||
if (!$found) {
|
||||
array_push($tarAttrs, $srcAttr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user