|
|
@@ -22,6 +22,7 @@ use Illuminate\Support\Facades\DB;
|
|
|
use Illuminate\Support\Facades\Log;
|
|
|
use UCore\Dto\Res;
|
|
|
use UCore\Exception\LogicException;
|
|
|
+use UCore\Helper\Logger;
|
|
|
use Uraus\Kku\Common\DataPetSimple;
|
|
|
|
|
|
/**
|
|
|
@@ -154,6 +155,7 @@ class PetLogic
|
|
|
$change = false;
|
|
|
// 记录旧等级
|
|
|
$oldLevel = $pet->level;
|
|
|
+ $nextLevelConfigOld = null;
|
|
|
foreach (range(1, 20) as $level) {
|
|
|
|
|
|
// 获取当前等级配置
|
|
|
@@ -165,6 +167,7 @@ class PetLogic
|
|
|
// 获取下一级配置
|
|
|
$nextLevelConfig = PetLevelConfig::where('level', $pet->level + 1)->first();
|
|
|
if (!$nextLevelConfig) {
|
|
|
+
|
|
|
break;
|
|
|
}
|
|
|
if($pet->experience < $nextLevelConfig->exp_required){
|
|
|
@@ -182,6 +185,8 @@ class PetLogic
|
|
|
$pet->max_experience = 0;
|
|
|
}
|
|
|
$change = true;
|
|
|
+ $nextLevelConfigOld = $nextLevelConfig;
|
|
|
+
|
|
|
|
|
|
}
|
|
|
if ($change) {
|
|
|
@@ -191,9 +196,18 @@ class PetLogic
|
|
|
|
|
|
// 获取新解锁的技能
|
|
|
$unlockedSkills = [];
|
|
|
- if ($nextLevelConfig->unlock_skills) {
|
|
|
- $unlockedSkills = json_decode($nextLevelConfig->unlock_skills, true);
|
|
|
+
|
|
|
+ if($nextLevelConfig){
|
|
|
+ if ($nextLevelConfig->unlock_skills) {
|
|
|
+ $unlockedSkills = json_decode($nextLevelConfig->unlock_skills, true);
|
|
|
+ }
|
|
|
}
|
|
|
+ if($nextLevelConfigOld){
|
|
|
+ if ($nextLevelConfigOld->unlock_skills) {
|
|
|
+ $unlockedSkills = json_decode($nextLevelConfigOld->unlock_skills, true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
// 触发宠物升级事件
|
|
|
event(new PetLevelUpEvent(
|