From 4979413751b4f6df4455960612e58a897ad14e33 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 14 Apr 2021 10:52:00 +0800 Subject: [PATCH 1/2] 1 --- server/gameserver/human.cc | 1 + server/tools/protobuild/cs_proto.proto | 1 + 2 files changed, 2 insertions(+) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 6a5f124..b0d688d 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -248,6 +248,7 @@ void Human::FillMFPlayerStats(cs::MFPlayerStats* stats_pb) stats_pb->set_player_avatar_url(avatar_url); stats_pb->set_charid(meta->i->id()); stats_pb->set_team_id(team_id); + stats_pb->set_nickname(name); if (!dead) { stats_pb->set_time_alive(room->GetFrameNo() * 1000.0f / SERVER_FRAME_RATE); diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index 9fbfd35..59ad856 100755 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -669,6 +669,7 @@ message MFPlayerStats optional int32 sex = 37 [default = 0]; //性别 optional int32 charid = 38; //人物id optional int32 team_id = 39; //tamid + optional string nickname = 43; //昵称 } //空投 From d8bceb939870b39201b442dd0c2188fc51eea449 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 14 Apr 2021 11:24:09 +0800 Subject: [PATCH 2/2] 1 --- server/gameserver/creature.cc | 7 +++++++ server/gameserver/creature.h | 1 + server/gameserver/room.cc | 1 + server/gameserver/skill.cc | 8 ++++++++ server/gameserver/skill.h | 1 + 5 files changed, 18 insertions(+) diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 04ef185..6d8ba0d 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -1466,3 +1466,10 @@ void Creature::SetCurrWeapon(Weapon* weapon) #endif curr_weapon_ = weapon; } + +void Creature::ResetAllSkillCd() +{ + for (auto& pair : skill_hash_) { + pair.second->ResetSkillCd(); + } +} diff --git a/server/gameserver/creature.h b/server/gameserver/creature.h index 1c4d5c3..f947c9e 100644 --- a/server/gameserver/creature.h +++ b/server/gameserver/creature.h @@ -139,6 +139,7 @@ class Creature : public MoveableEntity Weapon* ChooseNextWeapon(int curr_weapon_slot_id, int begin_slot_id, int end_slot_id); Weapon* GetCurrWeapon() { return curr_weapon_; }; void SetCurrWeapon(Weapon* weapon); + void ResetAllSkillCd(); private: diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index d872b61..ceb0197 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -1706,6 +1706,7 @@ void Room::ShuaPlane() for (auto& pair : human_hash_) { pair.second->MustBeAddBuff(pair.second, FLY_BUFFID); + pair.second->ResetAllSkillCd(); pair.second->SetPos(plane.curr_pos); pair.second->attack_dir = plane.dir; pair.second->SetMoveDir(plane.dir); diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index 971770f..4a59ad8 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -132,3 +132,11 @@ void Skill::NotifySkillState() owner->room->frame_event.AddSkillCurrTimesChg(owner->AllocWeakPtr(), meta->i->skill_id(), GetCurrTimes()); } } + +void Skill::ResetSkillCd() +{ + curr_times_ = 0; + if (inc_times_timer_) { + owner->room->xtimer.ModifyTimer(inc_times_timer_, GetCd() / FRAME_RATE_MS); + } +} diff --git a/server/gameserver/skill.h b/server/gameserver/skill.h index 117f8b7..56949d9 100644 --- a/server/gameserver/skill.h +++ b/server/gameserver/skill.h @@ -34,6 +34,7 @@ class Skill int GetMaxTimes(); void DecTimes(); void FillMFSkill(cs::MFSkill* skill_pb); + void ResetSkillCd(); void ClearPassiveSkillBuff(); void AddPassiveSkillBuff();