Merge remote-tracking branch 'origin/hjb' into yd

This commit is contained in:
yangduo 2024-10-12 14:53:22 +08:00
commit 61f63ce4e7
5 changed files with 74 additions and 6 deletions

View File

@ -966,6 +966,17 @@ class BattleController extends BaseAuthedController {
$info['match_mode'] = 1;
}
}
{
$info['items'] = array();
array_push($info['items'], array(
'item_id' => 900007,
'item_num' => 10,
));
array_push($info['items'], array(
'item_id' => 902101,
'item_num' => 10,
));
}
}
array_push($teamInfo['members'], $info);
}

View File

@ -164,10 +164,33 @@ class HeroController extends BaseAuthedController {
$this->_rspErr(1, "Error operation");
return;
}
if ($itemId != $heroMeta['heroPiece'] || $itemNum < $manufactureMeta['needItem']){
if ($heroDb['quality'] > 1 && ($itemId != $heroMeta['heroPiece'] || $itemNum != $manufactureMeta['needItem'])){
$this->_rspErr(100, 'Insufficient material');
return;
}
if ($heroDb['quality'] == 1){
$alternative = explode(":",$manufactureMeta['alternative']);
switch ($itemId){
case $heroMeta['heroPiece'] :{
if ($itemNum != $manufactureMeta['needItem']){
$this->_rspErr(100, 'Insufficient material');
return;
}
}
break;
case $alternative[0] :{
if ($itemNum != $alternative[1]){
$this->_rspErr(100, 'Insufficient material');
return;
}
}
break;
default:{
$this->_rspErr(100, 'item error');
return;
}
}
}
$extraItem = explode("|",$manufactureMeta['extraItem']);
$chanceKey = 0;
if ($extraItemId == $extraItem[0]){
@ -186,7 +209,7 @@ class HeroController extends BaseAuthedController {
),
array(
'item_id' => $itemId,
'item_num' => $manufactureMeta['needItem']
'item_num' => $itemNum
),
);
$lackItem = null;
@ -200,6 +223,7 @@ class HeroController extends BaseAuthedController {
$this->_rspErr(3, $this->_getLackItemErrMsg($lackItem));
return;
}
//消耗材料
$this->_decItems($costItems);
// $this->_incPeriodV(TN_HASH_RATE_UP_HERO_TIMES, 0, 1);

View File

@ -479,6 +479,33 @@ class UserController extends BaseAuthedController {
));
}
public function getBattleItem()
{
$itemId = getReqVal("item_id", "");
$itemMeta = mt\Item::get($itemId);
if (empty($itemMeta)) {
myself()->_rspErr(1, 'item_id not found');
return;
}
if ($itemMeta['type'] == mt\Item::FUNC_TYPE &&
in_array($itemMeta['sub_type'],
array(
mt\Item::LUCKY_SYMBOL_SUBTYPE,
mt\Item::BATTLE_POTION_SUBTYPE
)
)) {
$itemNum = myself()->_callModelStatic('Bag', 'getItemCount', $itemId);
myself()->_rspData(array(
'item_id' => $itemId,
'item_type' => $itemMeta['type'],
'item_sub_type' => $itemMeta['sub_type']
));
} else {
myself()->_rspErr(1, 'item_id not found');
return;
}
}
public function query()
{
$name = getReqVal('name', '');

View File

@ -65,6 +65,10 @@ class Item {
3.战队改名卡
4.体力药剂
5.耐久药剂
6.赏金门票
7.英雄升阶道具
8.幸运符
9.战斗内药剂
type类型为10时配置一下子类id
1.角色材料
@ -132,6 +136,8 @@ class Item {
const APPOINT_CHIP_SUBTYPE = 2;
const APPOINT_SKIN_SUBTYPE = 3;
const LUCKY_SYMBOL_SUBTYPE = 8;
const BATTLE_POTION_SUBTYPE = 9;
public static function get($id)
{

View File

@ -22,6 +22,10 @@ class RookieTaskService extends BaseService
'target' => getXVal($taskMeta, 'target', 1),
'state' => self::NOT_FINISHED_STATE,
);
if ($taskDto['current'] >= $taskDto['target']) {
$taskDto['current'] = $taskDto['target'];
$taskDto['state'] = self::FINISHED_STATE;
}
$starTime = RookieTask::getMyStarTime();
if ($taskMeta['task_day'] > 0){
$time = ($taskMeta['task_day']-1) * 86400;
@ -29,10 +33,6 @@ class RookieTaskService extends BaseService
$taskDto['state'] = self::UNARRIVED_TIME_STATE;
}
}
if ($taskDto['current'] >= $taskDto['target']) {
$taskDto['current'] = $taskDto['target'];
$taskDto['state'] = self::FINISHED_STATE;
}
$taskDb = RookieTask::find($taskMeta['id']);
if ($taskDb){
$taskDto['state'] = self::RECEIVED_STATE;