From f80db8d4400b515d90452c46541270d287aaedd4 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 25 May 2023 14:40:04 +0800 Subject: [PATCH] 1 --- server/gameserver/human.cc | 10 ++++++++-- server/gameserver/mt/MapThingGroup.cc | 14 ++++++++++++++ server/gameserver/mt/MapThingGroup.h | 18 ++++++++++++++++++ server/gameserver/mt/MetaMgr.cc | 2 ++ 4 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 server/gameserver/mt/MapThingGroup.cc create mode 100644 server/gameserver/mt/MapThingGroup.h diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 8de23cd2..49da28b3 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -2686,7 +2686,8 @@ void Human::ProcLootWeapon(AddItemDTO& dto) void Human::ProcLootWeaponNew(AddItemDTO& dto) { - if (GetCurrWeapon()->weapon_idx == GUN_SLOT1 || + if (GetCurrWeapon()->weapon_idx == GUN_SLOT0 || + GetCurrWeapon()->weapon_idx == GUN_SLOT1 || GetCurrWeapon()->weapon_idx == GUN_SLOT2) { if (GetCurrWeapon()->weapon_id == dto.item_meta->id()) { if (!GetCompose()->CanAdd()) { @@ -2698,7 +2699,12 @@ void Human::ProcLootWeaponNew(AddItemDTO& dto) dto.handled = true; } else { int old_weapon_idx = GetCurrWeapon()->weapon_idx; - DropWeapon(GetCurrWeapon()->weapon_idx, 1); + if (GetCurrWeapon()->weapon_idx == GUN_SLOT0) { + old_weapon_idx = GUN_SLOT0; + DropWeapon(old_weapon_idx, 1); + } else { + DropWeapon(GetCurrWeapon()->weapon_idx, 1); + } GetCompose()->Reset(); Weapon* weapon = &weapons[old_weapon_idx]; weapon->weapon_id = dto.item_id; diff --git a/server/gameserver/mt/MapThingGroup.cc b/server/gameserver/mt/MapThingGroup.cc new file mode 100644 index 00000000..50263632 --- /dev/null +++ b/server/gameserver/mt/MapThingGroup.cc @@ -0,0 +1,14 @@ +#include "precompile.h" + +#include "mt/MapThingGroup.h" + +IMPL_TABLE(mt::MapThingGroup) + +namespace mt +{ + + void MapThingGroup::Init1() + { + } + +} diff --git a/server/gameserver/mt/MapThingGroup.h b/server/gameserver/mt/MapThingGroup.h new file mode 100644 index 00000000..09dbdcd5 --- /dev/null +++ b/server/gameserver/mt/MapThingGroup.h @@ -0,0 +1,18 @@ +#pragma once + +#include "mt/macro.h" +#include "mtb/MapThingGroup.h" + +namespace mt +{ + + DECLARE_ID_TABLE(MapThingGroup, mtb::MapThingGroup, + "mapThingGroup@mapThingGroup.json", + "mtGroupId") + public: + + void Init1(); + + }; + +} diff --git a/server/gameserver/mt/MetaMgr.cc b/server/gameserver/mt/MetaMgr.cc index e4777606..8404d8d9 100644 --- a/server/gameserver/mt/MetaMgr.cc +++ b/server/gameserver/mt/MetaMgr.cc @@ -39,6 +39,7 @@ #include "mt/GraspBuff.h" #include "mt/GuideStep.h" #include "mt/MergeItem.h" +#include "mt/MapThingGroup.h" #include "app.h" @@ -107,6 +108,7 @@ namespace mt RegMetaTable(res_path_); RegMetaTable(res_path_); RegMetaTable(res_path_); + //RegMetaTable(res_path_); } void MetaMgr::Load()