diff --git a/server/gameserver/android.ai.cc b/server/gameserver/android.ai.cc index 428c33d..c9ea3d9 100644 --- a/server/gameserver/android.ai.cc +++ b/server/gameserver/android.ai.cc @@ -109,9 +109,9 @@ void AndroidAI::DoMove() } break; } - hum->room->grid_service.MoveHuman(hum); - hum->CheckGrass(); } + hum->room->grid_service.MoveHuman(hum); + hum->CheckGrass(); } } diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 8cc5101..d9d1bd0 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -1673,7 +1673,18 @@ void Human::RecalcBaseAttr() } } if (driver_meta) { - + for (auto& pair : driver_meta->attr_up) { + float* p_attr = GetAbilityById(pair.first); + if (p_attr) { + *p_attr += (driver.driver_lv / std::get<1>(pair.second)) * std::get<0>(pair.second); + } + } + for (auto& pair : driver_meta->passive_skill_attr) { + float* p_attr = GetAbilityById(pair.first); + if (p_attr && driver.driver_lv >= std::get<1>(pair.second)) { + *p_attr += std::get<0>(pair.second); + } + } } ability.max_hp = ability.hp; }