diff --git a/server/gameserver/killmgr.cc b/server/gameserver/killmgr.cc index ef32a4c..70221a3 100644 --- a/server/gameserver/killmgr.cc +++ b/server/gameserver/killmgr.cc @@ -24,6 +24,7 @@ void KillMgr::UnInit() dead.name weapon.name weapon.text_icon + image.id: */ void KillMgr::OnHumanDead(Human* dead_hum, KillInfo* info) { @@ -49,15 +50,21 @@ void KillMgr::FillHintInfo(Human* dead_hum, KillInfo* info, RollMsgHintInfo& hin case VP_Buff: { hint_info.killer_name = ""; - hint_info.template_name = "battle_server_dead_text_gas"; - hint_info.template_defval = "%s 被${weapon_text_icon}干掉"; + hint_info.template_name = a8::Format("battle_server_dead_text_buff_%d", {1}); + if (!MetaMgr::Instance()->HasText(hint_info.template_name)) { + hint_info.template_name = "battle_server_dead_text_buff_default"; + } + hint_info.template_defval = "%s 被"; } break; case VP_Explosion: { hint_info.killer_name = ""; - hint_info.template_name = "battle_server_dead_text_gas"; - hint_info.template_defval = "%s 被${weapon_text_icon}干掉"; + hint_info.template_name = a8::Format("battle_server_dead_text_explosion_%d", {1}); + if (!MetaMgr::Instance()->HasText(hint_info.template_name)) { + hint_info.template_name = "battle_server_dead_text_explosion_default"; + } + hint_info.template_defval = "%s 被"; } break; default: diff --git a/server/gameserver/metamgr.cc b/server/gameserver/metamgr.cc index 71f6e0d..8d22083 100644 --- a/server/gameserver/metamgr.cc +++ b/server/gameserver/metamgr.cc @@ -1025,3 +1025,14 @@ std::string MetaMgr::GetText(const std::string& textid, const std::string& def_t auto itr = loader_->text_hash.find(textid); return itr != loader_->text_hash.end() ? itr->second : def_text; } + +bool MetaMgr::HasText(const std::string& textid) +{ + auto itr = loader_->text_hash.find(textid); + return itr != loader_->text_hash.end(); +} + +std::vector>* MetaMgr::GetTextElements(const std::string& textid) +{ + return nullptr; +} diff --git a/server/gameserver/metamgr.h b/server/gameserver/metamgr.h index 1010ddf..ba5a6da 100644 --- a/server/gameserver/metamgr.h +++ b/server/gameserver/metamgr.h @@ -60,6 +60,8 @@ class MetaMgr : public a8::Singleton MetaData::AI* GetAndroidAI(int ai_level, int ai_mode); MetaData::AI* GetHeroAI(int id); std::string GetText(const std::string& textid, const std::string& def_text=""); + bool HasText(const std::string& textid); + std::vector>* GetTextElements(const std::string& textid); int gas_inactive_time = 10; int newbie_gas_inactive_time = 5;