diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 51d45e53..ab2dcea0 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -3432,6 +3432,8 @@ void Human::ProcBlueStoneItem(AddItemDTO& dto) ((Loot*)entity)->count -= add_num; } SyncVolume(IS_BLUE_STONE); + MarkSyncActivePlayer(__FILE__, __LINE__, __func__); + SyncAroundPlayers(__FILE__, __LINE__, __func__); dto.handled = true; } diff --git a/server/gameserver/mt/Param.h b/server/gameserver/mt/Param.h index ea3223d5..1bbd1cd3 100644 --- a/server/gameserver/mt/Param.h +++ b/server/gameserver/mt/Param.h @@ -102,6 +102,10 @@ namespace mt float sand_table_move_speed = 500; float wait_cloud_time = 3; + std::vector robot_placement; + int robot_placement_time = 360; + std::vector robot_placement_type; + }; static void StaticPostInit(); static const S& s() { return s_; }; diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index ec0632e9..9d5e7305 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -528,6 +528,7 @@ void Room::DropItemEx(const glm::vec3& born_pos, const glm::vec3& pos, int item_ if (item_id == mt::Equip::YELLOW_STONE_ID && group_num <= 0) { group_num = 1; } + group_num = std::max(group_num, 1); if (equip_meta && group_num > 0 && item_count > 0) { #if 1 if (equip_meta->equip_type() == EQUIP_TYPE_BULLET) { diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index 9a44ff43..72f93078 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -502,7 +502,6 @@ bool Skill::IsMainSkill() void Skill::Active() { actived_ = true; - NotifySkillState(); } void Skill::Clear() @@ -526,7 +525,6 @@ void Skill::LevelUp() meta = mt::Skill::GetById(new_skill_meta->skill_id() + skill_lv); } level_ = skill_lv; - NotifySkillState(); } std::set* buffs = merge_item_meta->GetBuffs(owner->GetInventory(IS_BLUE_STONE)); if (buffs) {