From e1c8d1379d595331dae7630134617e00b9829219 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 28 Apr 2021 11:50:55 +0800 Subject: [PATCH] 1 --- server/gameserver/buff.cc | 13 +++++++++++-- server/gameserver/human.cc | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/server/gameserver/buff.cc b/server/gameserver/buff.cc index 1231846..52039db 100644 --- a/server/gameserver/buff.cc +++ b/server/gameserver/buff.cc @@ -171,7 +171,16 @@ bool Buff::NeedSync(Human* hum) void Buff::ProcBecome(Creature* caster) { - if (caster->IsHuman()) { - + caster->second_weapon = Weapon(); + if (caster->IsHuman() && meta->param2 > 0.01) { + MetaData::Equip* second_weapon_meta = MetaMgr::Instance()->GetEquip(meta->param2); + if (second_weapon_meta) { + caster->second_weapon.weapon_idx = 100; + caster->second_weapon.weapon_id = second_weapon_meta->i->id(); + caster->second_weapon.weapon_lv = 1; + caster->second_weapon.meta = second_weapon_meta; + caster->second_weapon.Recalc(); + caster->second_weapon.ammo = caster->second_weapon.GetClipVolume(); + } } } diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 896aed3..7039589 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -3232,7 +3232,7 @@ void Human::OnBuffRemove(const Buff& buff) break; case kBET_Become: { - + second_weapon = Weapon(); } break; default: