From 6dfeb77c1e51e316cc354e272c198ee668abdce0 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 16 May 2019 18:05:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=90=E5=BC=B9=E6=97=A0=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/constant.h | 2 ++ server/gameserver/human.cc | 7 +++++++ server/gameserver/metamgr.cc | 1 + server/gameserver/metamgr.h | 1 + server/gameserver/room.cc | 4 ++++ 5 files changed, 15 insertions(+) diff --git a/server/gameserver/constant.h b/server/gameserver/constant.h index cca524d..670f5d6 100755 --- a/server/gameserver/constant.h +++ b/server/gameserver/constant.h @@ -148,3 +148,5 @@ const int MAP_WIDTH = 8192; const int MAP_CELL_WIDTH = 64 * 8; const int DOOR_THING_ID = 61701; + +const int FIGHTING_MODE_BULLET_NUM = 10000 * 10000; diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 8f376b1..79d4b23 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -36,6 +36,13 @@ Human::Human():Entity() weapons[0] = default_weapon; curr_weapon = &weapons[0]; inventory_[IS_1XSCOPE] = 1; + + if (MetaMgr::Instance()->fighting_mode) { + inventory_[IS_9MM] = FIGHTING_MODE_BULLET_NUM; + inventory_[IS_556MM] = FIGHTING_MODE_BULLET_NUM; + inventory_[IS_762MM] = FIGHTING_MODE_BULLET_NUM; + inventory_[IS_12GAUGE] = FIGHTING_MODE_BULLET_NUM; + } } Human::~Human() diff --git a/server/gameserver/metamgr.cc b/server/gameserver/metamgr.cc index c1445cf..c41b639 100755 --- a/server/gameserver/metamgr.cc +++ b/server/gameserver/metamgr.cc @@ -96,6 +96,7 @@ public: MetaMgr::Instance()->K = MetaMgr::Instance()->GetSysParamAsFloat("K"); MetaMgr::Instance()->kill_param = MetaMgr::Instance()->GetSysParamAsFloat("kill_parameter"); MetaMgr::Instance()->rank_param = MetaMgr::Instance()->GetSysParamAsFloat("rank_parameter"); + MetaMgr::Instance()->fighting_mode = MetaMgr::Instance()->GetSysParamAsInt("fighting_mode", 1); if (MetaMgr::Instance()->K < 0.01f) { abort(); } diff --git a/server/gameserver/metamgr.h b/server/gameserver/metamgr.h index ac0cc37..0f2b3d7 100755 --- a/server/gameserver/metamgr.h +++ b/server/gameserver/metamgr.h @@ -39,6 +39,7 @@ class MetaMgr : public a8::Singleton float K = 100.0f; float kill_param = 0.0f; float rank_param = 0.0f; + int fighting_mode = 0; private: MetaDataLoader* loader_ = nullptr; diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 918ece5..8390e31 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -471,6 +471,10 @@ void Room::CreateLoot(int equip_id, Vector2D pos, int count) { MetaData::Equip* equip_meta = MetaMgr::Instance()->GetEquip(equip_id); if (equip_meta) { + if (equip_meta->i->equip_type() == 2 && + MetaMgr::Instance()->fighting_mode) { + return; + } Loot* entity = new Loot(); entity->room = this; entity->meta = equip_meta;