From 7aac2662bde18ea400bd78d16cc78f98d6356efe Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 1 Aug 2019 16:46:53 +0800 Subject: [PATCH] 1 --- server/gameserver/android.ai.cc | 2 ++ server/gameserver/frameevent.cc | 4 ++-- server/gameserver/human.cc | 13 ++++++++++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/server/gameserver/android.ai.cc b/server/gameserver/android.ai.cc index 5d7be35..33f91bb 100644 --- a/server/gameserver/android.ai.cc +++ b/server/gameserver/android.ai.cc @@ -198,7 +198,9 @@ void AndroidAI::DoAttack() ) { if (HumMaster()->CanUseSkill() && HumMaster()->pos.Distance(enemy->pos) < HumMaster()->tank_meta_->i->atk_range()) { + #if 0 UseSkill(enemy); + #endif } else { Shot(enemy); } diff --git a/server/gameserver/frameevent.cc b/server/gameserver/frameevent.cc index 5703cf7..57373b7 100644 --- a/server/gameserver/frameevent.cc +++ b/server/gameserver/frameevent.cc @@ -228,14 +228,14 @@ void FrameEvent::AddHpChg(Human* hum) void FrameEvent::AddInventoryChg(Human* hum) { chged_inventorys_.push_back(hum); - int idx = chged_inventorys_.size(); + int idx = chged_inventorys_.size() - 1; hum->chged_inventorys_.push_back(idx); } void FrameEvent::AddSkillCdChg(Human* hum) { chged_skillcds_.push_back(hum); - int idx = chged_skillcds_.size(); + int idx = chged_skillcds_.size() - 1; hum->chged_skillcds_.push_back(idx); } diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 221c4fc..db7ff05 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -546,7 +546,11 @@ void Human::DecHP(float dec_hp, int killer_id, const std::string& killer_name, i android->ai->LockEnemy(last_attacker_id); } } + #if 1 + room->frame_event.AddHpChg(this); + #else SyncAroundPlayers(); + #endif } void Human::AddToNewObjects(Entity* entity) @@ -633,9 +637,13 @@ void Human::DoSkill() } ++stats.use_skill_times; OnAttack(); +#if 1 + room->frame_event.AddSkillCdChg(this); +#else + need_sync_active_player = true; +#endif } use_skill = false; - need_sync_active_player = true; } void Human::FindLocation() @@ -854,6 +862,9 @@ void Human::DecInventory(int slot_id, int num) abort(); } inventory_[slot_id] -= num; + if (slot_id == kWEAPON_SLOT) { + room->frame_event.AddInventoryChg(this); + } } int Human::GetVolume(int slot_id)