diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index d02262c..bd8260a 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -1119,6 +1119,9 @@ void Human::TriggerOneObjectBuff(Entity* target, BuffTriggerType_e trigger_type) if (target->entity_type != kET_Player) { return; } + if (target->dead) { + return; + } Human* hum = (Human*)target; auto itr = skill_meta_->trigger_type_buffs.find(trigger_type); if (itr != skill_meta_->trigger_type_buffs.end()) { @@ -1597,7 +1600,7 @@ void Human::_UpdateMove(int speed) void Human::_UpdateAssaultMove() { Buff* buff = GetBuffByEffectId(kBET_Assault); - if (!buff || (room->frameno - buff->add_frameno) * kFRAME_RATE_MS < buff->meta->param1) { + if (!buff) { return; } bool move_end = false; @@ -1755,6 +1758,8 @@ void Human::Revive() { dead = false; ability.hp = GetMaxHP(); + status = 0; + ClearBuffList(); { MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(1003); if (buff_meta) { diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index f49ce75..ef015b0 100755 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -179,6 +179,7 @@ message MFPlayerFull optional int32 max_energy_shield = 22; //最大能量护盾 repeated MFBuff buff_list = 24; //buff列表 optional MFSkin tankskin = 25; //坦克皮肤 + optional float shot_range = 26; //射程加成(添加到子弹) } //阻挡物-部分